summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaindropsSys <raindrops@equestria.dev>2024-05-19 18:38:35 +0200
committerRaindropsSys <raindrops@equestria.dev>2024-05-19 18:38:35 +0200
commit408f8b32419167a112222319909290b99463eb63 (patch)
tree6a141aebdaef128fe948f1c354d7ce00dc77292f
parent8640438fe62ee2e19c7022024ba88c29f1b2b755 (diff)
downloaddelta-408f8b32419167a112222319909290b99463eb63.tar.gz
delta-408f8b32419167a112222319909290b99463eb63.tar.bz2
delta-408f8b32419167a112222319909290b99463eb63.zip
Updated 5 files and deleted 1725 files
-rw-r--r--includes/kiosk/dev.equestria.delta.kiosk.RequestApproval/index.php6
-rw-r--r--includes/navigation.php3
-rwxr-xr-xincludes/search/build/search-linux-x64bin42764973 -> 0 bytes
-rwxr-xr-xincludes/search/build/search-mac-arm64bin42984496 -> 0 bytes
-rw-r--r--includes/search/index.js34
l---------includes/search/node_modules/.bin/jsesc1
l---------includes/search/node_modules/.bin/parser1
l---------includes/search/node_modules/.bin/pkg1
l---------includes/search/node_modules/.bin/pkg-fetch1
l---------includes/search/node_modules/.bin/prebuild-install1
l---------includes/search/node_modules/.bin/rc1
l---------includes/search/node_modules/.bin/resolve1
l---------includes/search/node_modules/.bin/semver1
-rw-r--r--includes/search/node_modules/.package-lock.json1489
-rw-r--r--includes/search/node_modules/@babel/generator/LICENSE22
-rw-r--r--includes/search/node_modules/@babel/generator/README.md19
-rw-r--r--includes/search/node_modules/@babel/generator/lib/buffer.js254
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/base.js96
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/classes.js213
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/expressions.js354
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/flow.js795
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/index.js148
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/jsx.js145
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/methods.js150
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/modules.js244
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/statements.js331
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/template-literals.js33
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/types.js276
-rw-r--r--includes/search/node_modules/@babel/generator/lib/generators/typescript.js833
-rw-r--r--includes/search/node_modules/@babel/generator/lib/index.js97
-rw-r--r--includes/search/node_modules/@babel/generator/lib/node/index.js111
-rw-r--r--includes/search/node_modules/@babel/generator/lib/node/parentheses.js358
-rw-r--r--includes/search/node_modules/@babel/generator/lib/node/whitespace.js214
-rw-r--r--includes/search/node_modules/@babel/generator/lib/printer.js540
-rw-r--r--includes/search/node_modules/@babel/generator/lib/source-map.js62
-rw-r--r--includes/search/node_modules/@babel/generator/package.json36
-rw-r--r--includes/search/node_modules/@babel/helper-string-parser/LICENSE22
-rw-r--r--includes/search/node_modules/@babel/helper-string-parser/README.md19
-rw-r--r--includes/search/node_modules/@babel/helper-string-parser/lib/index.js295
-rw-r--r--includes/search/node_modules/@babel/helper-string-parser/lib/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/helper-string-parser/package.json28
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/LICENSE22
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/README.md19
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/lib/identifier.js86
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map1
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/lib/index.js59
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/lib/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/lib/keyword.js40
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map1
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/package.json28
-rw-r--r--includes/search/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js75
-rw-r--r--includes/search/node_modules/@babel/parser/CHANGELOG.md1073
-rw-r--r--includes/search/node_modules/@babel/parser/LICENSE19
-rw-r--r--includes/search/node_modules/@babel/parser/README.md19
-rwxr-xr-xincludes/search/node_modules/@babel/parser/bin/babel-parser.js15
-rw-r--r--includes/search/node_modules/@babel/parser/lib/index.js16624
-rw-r--r--includes/search/node_modules/@babel/parser/lib/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/parser/package.json43
-rw-r--r--includes/search/node_modules/@babel/parser/typings/babel-parser.d.ts214
-rw-r--r--includes/search/node_modules/@babel/types/LICENSE22
-rw-r--r--includes/search/node_modules/@babel/types/README.md19
-rw-r--r--includes/search/node_modules/@babel/types/lib/asserts/assertNode.js19
-rw-r--r--includes/search/node_modules/@babel/types/lib/asserts/assertNode.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/asserts/generated/index.js1524
-rw-r--r--includes/search/node_modules/@babel/types/lib/asserts/generated/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/ast-types/generated/index.js3
-rw-r--r--includes/search/node_modules/@babel/types/lib/ast-types/generated/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js22
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js43
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/generated/index.js2229
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/generated/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/generated/uppercase.js1521
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/generated/uppercase.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/react/buildChildren.js31
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/react/buildChildren.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js27
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/validateNode.js22
-rw-r--r--includes/search/node_modules/@babel/types/lib/builders/validateNode.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/clone.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/clone.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/cloneDeep.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/cloneDeep.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/cloneNode.js122
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/cloneNode.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/addComment.js17
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/addComment.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/addComments.js25
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/addComments.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/inheritInnerComments.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/inheritLeadingComments.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/inheritTrailingComments.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/inheritsComments.js21
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/inheritsComments.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/removeComments.js18
-rw-r--r--includes/search/node_modules/@babel/types/lib/comments/removeComments.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/constants/generated/index.js109
-rw-r--r--includes/search/node_modules/@babel/types/lib/constants/generated/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/constants/index.js51
-rw-r--r--includes/search/node_modules/@babel/types/lib/constants/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/ensureBlock.js16
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/ensureBlock.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js77
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js16
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toBlock.js36
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toBlock.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toComputedKey.js17
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toComputedKey.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toExpression.js35
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toExpression.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toIdentifier.js32
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toIdentifier.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toKeyAlias.js48
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toKeyAlias.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toSequenceExpression.js23
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toStatement.js49
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/toStatement.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/valueToNode.js101
-rw-r--r--includes/search/node_modules/@babel/types/lib/converters/valueToNode.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/core.js1716
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/core.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/experimental.js135
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/experimental.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/flow.js488
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/flow.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/index.js105
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/jsx.js159
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/jsx.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/misc.js34
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/misc.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/placeholders.js35
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/placeholders.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/typescript.js497
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/typescript.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/utils.js345
-rw-r--r--includes/search/node_modules/@babel/types/lib/definitions/utils.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/index-legacy.d.ts2732
-rw-r--r--includes/search/node_modules/@babel/types/lib/index.d.ts3221
-rw-r--r--includes/search/node_modules/@babel/types/lib/index.d.ts.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/index.js649
-rw-r--r--includes/search/node_modules/@babel/types/lib/index.js.flow2586
-rw-r--r--includes/search/node_modules/@babel/types/lib/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js17
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js80
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/inherits.js35
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/inherits.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js21
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/removeProperties.js31
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/removeProperties.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js17
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js80
-rw-r--r--includes/search/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js107
-rw-r--r--includes/search/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js17
-rw-r--r--includes/search/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/traverse/traverse.js57
-rw-r--r--includes/search/node_modules/@babel/types/lib/traverse/traverse.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/traverse/traverseFast.js30
-rw-r--r--includes/search/node_modules/@babel/types/lib/traverse/traverseFast.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/utils/inherit.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/utils/inherit.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js49
-rw-r--r--includes/search/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/utils/shallowEqual.js20
-rw-r--r--includes/search/node_modules/@babel/types/lib/utils/shallowEqual.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js15
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/generated/index.js4829
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/generated/index.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/is.js35
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/is.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isBinding.js33
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isBinding.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isBlockScoped.js16
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isBlockScoped.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isImmutable.js26
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isImmutable.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isLet.js16
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isLet.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isNode.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isNode.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isNodesEquivalent.js72
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isPlaceholderType.js23
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isReferenced.js130
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isReferenced.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isScope.js22
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isScope.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isSpecifierDefault.js16
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isType.js26
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isType.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isValidES3Identifier.js16
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isValidIdentifier.js22
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isVar.js18
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/isVar.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/matchesPattern.js44
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/matchesPattern.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/react/isCompatTag.js12
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/react/isReactComponent.js14
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/validate.js34
-rw-r--r--includes/search/node_modules/@babel/types/lib/validators/validate.js.map1
-rw-r--r--includes/search/node_modules/@babel/types/package.json41
-rw-r--r--includes/search/node_modules/@babel/types/scripts/generators/asserts.js50
-rw-r--r--includes/search/node_modules/@babel/types/scripts/generators/ast-types.js196
-rw-r--r--includes/search/node_modules/@babel/types/scripts/generators/builders.js192
-rw-r--r--includes/search/node_modules/@babel/types/scripts/generators/constants.js15
-rw-r--r--includes/search/node_modules/@babel/types/scripts/generators/docs.js283
-rw-r--r--includes/search/node_modules/@babel/types/scripts/generators/flow.js260
-rw-r--r--includes/search/node_modules/@babel/types/scripts/generators/typescript-legacy.js369
-rw-r--r--includes/search/node_modules/@babel/types/scripts/generators/validators.js87
-rw-r--r--includes/search/node_modules/@babel/types/scripts/package.json1
-rw-r--r--includes/search/node_modules/@babel/types/scripts/utils/formatBuilderName.js8
-rw-r--r--includes/search/node_modules/@babel/types/scripts/utils/lowerFirst.js3
-rw-r--r--includes/search/node_modules/@babel/types/scripts/utils/stringifyValidator.js69
-rw-r--r--includes/search/node_modules/@babel/types/scripts/utils/toFunctionName.js4
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/LICENSE19
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/README.md227
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs230
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map1
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js236
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map1
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts90
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts12
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts35
-rw-r--r--includes/search/node_modules/@jridgewell/gen-mapping/package.json77
-rw-r--r--includes/search/node_modules/@jridgewell/resolve-uri/LICENSE19
-rw-r--r--includes/search/node_modules/@jridgewell/resolve-uri/README.md40
-rw-r--r--includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs242
-rw-r--r--includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map1
-rw-r--r--includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js250
-rw-r--r--includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map1
-rw-r--r--includes/search/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts4
-rw-r--r--includes/search/node_modules/@jridgewell/resolve-uri/package.json69
-rw-r--r--includes/search/node_modules/@jridgewell/set-array/LICENSE19
-rw-r--r--includes/search/node_modules/@jridgewell/set-array/README.md37
-rw-r--r--includes/search/node_modules/@jridgewell/set-array/dist/set-array.mjs48
-rw-r--r--includes/search/node_modules/@jridgewell/set-array/dist/set-array.mjs.map1
-rw-r--r--includes/search/node_modules/@jridgewell/set-array/dist/set-array.umd.js58
-rw-r--r--includes/search/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map1
-rw-r--r--includes/search/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts26
-rw-r--r--includes/search/node_modules/@jridgewell/set-array/package.json66
-rw-r--r--includes/search/node_modules/@jridgewell/set-array/src/set-array.ts55
-rw-r--r--includes/search/node_modules/@jridgewell/sourcemap-codec/LICENSE21
-rw-r--r--includes/search/node_modules/@jridgewell/sourcemap-codec/README.md200
-rw-r--r--includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs164
-rw-r--r--includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map1
-rw-r--r--includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js175
-rw-r--r--includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map1
-rw-r--r--includes/search/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts6
-rw-r--r--includes/search/node_modules/@jridgewell/sourcemap-codec/package.json74
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/LICENSE19
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/README.md252
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs552
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map1
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js566
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map1
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts8
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts32
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts7
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts1
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts2
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts16
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts4
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts74
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts92
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/LICENSE21
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/README.md200
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs164
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map1
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js175
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map1
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts6
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/package.json75
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts198
-rw-r--r--includes/search/node_modules/@jridgewell/trace-mapping/package.json75
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/LICENSE21
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/README.md171
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts20
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/adapters/fs.js19
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/constants.d.ts4
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/constants.js17
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/index.d.ts12
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/index.js26
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts7
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/providers/async.js104
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts1
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/providers/common.js13
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts5
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/providers/sync.js54
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/settings.d.ts20
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/settings.js24
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/types/index.d.ts20
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/types/index.js2
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts2
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/utils/fs.js19
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts2
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/out/utils/index.js5
-rw-r--r--includes/search/node_modules/@nodelib/fs.scandir/package.json44
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/LICENSE21
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/README.md126
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts13
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/adapters/fs.js17
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/index.d.ts12
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/index.js26
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/providers/async.d.ts4
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/providers/async.js36
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts3
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/providers/sync.js23
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/settings.d.ts16
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/settings.js16
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/types/index.d.ts4
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/out/types/index.js2
-rw-r--r--includes/search/node_modules/@nodelib/fs.stat/package.json37
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/LICENSE21
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/README.md215
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/index.d.ts14
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/index.js34
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/providers/async.d.ts12
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/providers/async.js30
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/providers/index.d.ts4
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/providers/index.js9
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts12
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/providers/stream.js34
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts10
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/providers/sync.js14
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/readers/async.d.ts30
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/readers/async.js97
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/readers/common.d.ts7
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/readers/common.js31
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts6
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/readers/reader.js11
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts15
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/readers/sync.js59
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/settings.d.ts30
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/settings.js26
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/types/index.d.ts8
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/out/types/index.js2
-rw-r--r--includes/search/node_modules/@nodelib/fs.walk/package.json44
-rw-r--r--includes/search/node_modules/agent-base/README.md145
-rw-r--r--includes/search/node_modules/agent-base/dist/src/index.d.ts78
-rw-r--r--includes/search/node_modules/agent-base/dist/src/index.js203
-rw-r--r--includes/search/node_modules/agent-base/dist/src/index.js.map1
-rw-r--r--includes/search/node_modules/agent-base/dist/src/promisify.d.ts4
-rw-r--r--includes/search/node_modules/agent-base/dist/src/promisify.js18
-rw-r--r--includes/search/node_modules/agent-base/dist/src/promisify.js.map1
-rw-r--r--includes/search/node_modules/agent-base/package.json64
-rw-r--r--includes/search/node_modules/agent-base/src/index.ts345
-rw-r--r--includes/search/node_modules/agent-base/src/promisify.ts33
-rw-r--r--includes/search/node_modules/ansi-regex/index.d.ts37
-rw-r--r--includes/search/node_modules/ansi-regex/index.js10
-rw-r--r--includes/search/node_modules/ansi-regex/license9
-rw-r--r--includes/search/node_modules/ansi-regex/package.json55
-rw-r--r--includes/search/node_modules/ansi-regex/readme.md78
-rw-r--r--includes/search/node_modules/ansi-styles/index.d.ts345
-rw-r--r--includes/search/node_modules/ansi-styles/index.js163
-rw-r--r--includes/search/node_modules/ansi-styles/license9
-rw-r--r--includes/search/node_modules/ansi-styles/package.json56
-rw-r--r--includes/search/node_modules/ansi-styles/readme.md152
-rw-r--r--includes/search/node_modules/array-union/index.d.ts25
-rw-r--r--includes/search/node_modules/array-union/index.js5
-rw-r--r--includes/search/node_modules/array-union/license9
-rw-r--r--includes/search/node_modules/array-union/package.json38
-rw-r--r--includes/search/node_modules/array-union/readme.md34
-rw-r--r--includes/search/node_modules/at-least-node/LICENSE6
-rw-r--r--includes/search/node_modules/at-least-node/README.md25
-rw-r--r--includes/search/node_modules/at-least-node/index.js5
-rw-r--r--includes/search/node_modules/at-least-node/package.json32
-rw-r--r--includes/search/node_modules/base64-js/LICENSE21
-rw-r--r--includes/search/node_modules/base64-js/README.md34
-rw-r--r--includes/search/node_modules/base64-js/base64js.min.js1
-rw-r--r--includes/search/node_modules/base64-js/index.d.ts3
-rw-r--r--includes/search/node_modules/base64-js/index.js150
-rw-r--r--includes/search/node_modules/base64-js/package.json47
-rw-r--r--includes/search/node_modules/bl/.travis.yml17
-rw-r--r--includes/search/node_modules/bl/BufferList.js396
-rw-r--r--includes/search/node_modules/bl/LICENSE.md13
-rw-r--r--includes/search/node_modules/bl/README.md247
-rw-r--r--includes/search/node_modules/bl/bl.js84
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/CONTRIBUTING.md38
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/GOVERNANCE.md136
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/LICENSE47
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/README.md106
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/errors-browser.js127
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/errors.js116
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/experimentalWarning.js17
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js126
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js37
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js1027
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js190
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js641
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/async_iterator.js180
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/buffer_list.js183
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js96
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/end-of-stream.js86
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from-browser.js3
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js52
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js86
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js22
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream-browser.js1
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js1
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/package.json68
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/readable-browser.js9
-rw-r--r--includes/search/node_modules/bl/node_modules/readable-stream/readable.js16
-rw-r--r--includes/search/node_modules/bl/package.json37
-rw-r--r--includes/search/node_modules/bl/test/convert.js21
-rw-r--r--includes/search/node_modules/bl/test/indexOf.js492
-rw-r--r--includes/search/node_modules/bl/test/isBufferList.js32
-rw-r--r--includes/search/node_modules/bl/test/test.js869
-rw-r--r--includes/search/node_modules/braces/CHANGELOG.md184
-rw-r--r--includes/search/node_modules/braces/LICENSE21
-rw-r--r--includes/search/node_modules/braces/README.md593
-rw-r--r--includes/search/node_modules/braces/index.js170
-rw-r--r--includes/search/node_modules/braces/lib/compile.js57
-rw-r--r--includes/search/node_modules/braces/lib/constants.js57
-rw-r--r--includes/search/node_modules/braces/lib/expand.js113
-rw-r--r--includes/search/node_modules/braces/lib/parse.js333
-rw-r--r--includes/search/node_modules/braces/lib/stringify.js32
-rw-r--r--includes/search/node_modules/braces/lib/utils.js112
-rw-r--r--includes/search/node_modules/braces/package.json77
-rw-r--r--includes/search/node_modules/buffer/AUTHORS.md70
-rw-r--r--includes/search/node_modules/buffer/LICENSE21
-rw-r--r--includes/search/node_modules/buffer/README.md410
-rw-r--r--includes/search/node_modules/buffer/index.d.ts186
-rw-r--r--includes/search/node_modules/buffer/index.js1817
-rw-r--r--includes/search/node_modules/buffer/package.json96
-rw-r--r--includes/search/node_modules/chalk/index.d.ts415
-rw-r--r--includes/search/node_modules/chalk/license9
-rw-r--r--includes/search/node_modules/chalk/package.json68
-rw-r--r--includes/search/node_modules/chalk/readme.md341
-rw-r--r--includes/search/node_modules/chalk/source/index.js229
-rw-r--r--includes/search/node_modules/chalk/source/templates.js134
-rw-r--r--includes/search/node_modules/chalk/source/util.js39
-rw-r--r--includes/search/node_modules/chownr/LICENSE15
-rw-r--r--includes/search/node_modules/chownr/README.md3
-rw-r--r--includes/search/node_modules/chownr/chownr.js167
-rw-r--r--includes/search/node_modules/chownr/package.json29
-rw-r--r--includes/search/node_modules/cliui/CHANGELOG.md121
-rw-r--r--includes/search/node_modules/cliui/LICENSE.txt14
-rw-r--r--includes/search/node_modules/cliui/README.md141
-rw-r--r--includes/search/node_modules/cliui/build/index.cjs302
-rw-r--r--includes/search/node_modules/cliui/build/lib/index.js287
-rw-r--r--includes/search/node_modules/cliui/build/lib/string-utils.js27
-rw-r--r--includes/search/node_modules/cliui/index.mjs13
-rw-r--r--includes/search/node_modules/cliui/package.json83
-rw-r--r--includes/search/node_modules/color-convert/CHANGELOG.md54
-rw-r--r--includes/search/node_modules/color-convert/LICENSE21
-rw-r--r--includes/search/node_modules/color-convert/README.md68
-rw-r--r--includes/search/node_modules/color-convert/conversions.js839
-rw-r--r--includes/search/node_modules/color-convert/index.js81
-rw-r--r--includes/search/node_modules/color-convert/package.json48
-rw-r--r--includes/search/node_modules/color-convert/route.js97
-rw-r--r--includes/search/node_modules/color-name/LICENSE8
-rw-r--r--includes/search/node_modules/color-name/README.md11
-rw-r--r--includes/search/node_modules/color-name/index.js152
-rw-r--r--includes/search/node_modules/color-name/package.json28
-rw-r--r--includes/search/node_modules/core-util-is/LICENSE19
-rw-r--r--includes/search/node_modules/core-util-is/README.md3
-rw-r--r--includes/search/node_modules/core-util-is/lib/util.js107
-rw-r--r--includes/search/node_modules/core-util-is/package.json38
-rw-r--r--includes/search/node_modules/debug/LICENSE20
-rw-r--r--includes/search/node_modules/debug/README.md481
-rw-r--r--includes/search/node_modules/debug/package.json59
-rw-r--r--includes/search/node_modules/debug/src/browser.js269
-rw-r--r--includes/search/node_modules/debug/src/common.js274
-rw-r--r--includes/search/node_modules/debug/src/index.js10
-rw-r--r--includes/search/node_modules/debug/src/node.js263
-rw-r--r--includes/search/node_modules/decompress-response/index.d.ts22
-rw-r--r--includes/search/node_modules/decompress-response/index.js58
-rw-r--r--includes/search/node_modules/decompress-response/license9
-rw-r--r--includes/search/node_modules/decompress-response/package.json56
-rw-r--r--includes/search/node_modules/decompress-response/readme.md48
-rw-r--r--includes/search/node_modules/deep-extend/CHANGELOG.md46
-rw-r--r--includes/search/node_modules/deep-extend/LICENSE20
-rw-r--r--includes/search/node_modules/deep-extend/README.md91
-rw-r--r--includes/search/node_modules/deep-extend/index.js1
-rw-r--r--includes/search/node_modules/deep-extend/lib/deep-extend.js150
-rw-r--r--includes/search/node_modules/deep-extend/package.json62
-rw-r--r--includes/search/node_modules/detect-libc/LICENSE201
-rw-r--r--includes/search/node_modules/detect-libc/README.md160
-rw-r--r--includes/search/node_modules/detect-libc/index.d.ts11
-rw-r--r--includes/search/node_modules/detect-libc/lib/detect-libc.js178
-rw-r--r--includes/search/node_modules/detect-libc/lib/process.js16
-rw-r--r--includes/search/node_modules/detect-libc/package.json36
-rw-r--r--includes/search/node_modules/dir-glob/index.js75
-rw-r--r--includes/search/node_modules/dir-glob/license9
-rw-r--r--includes/search/node_modules/dir-glob/package.json38
-rw-r--r--includes/search/node_modules/dir-glob/readme.md76
-rw-r--r--includes/search/node_modules/emoji-regex/LICENSE-MIT.txt20
-rw-r--r--includes/search/node_modules/emoji-regex/README.md73
-rw-r--r--includes/search/node_modules/emoji-regex/es2015/index.js6
-rw-r--r--includes/search/node_modules/emoji-regex/es2015/text.js6
-rw-r--r--includes/search/node_modules/emoji-regex/index.d.ts23
-rw-r--r--includes/search/node_modules/emoji-regex/index.js6
-rw-r--r--includes/search/node_modules/emoji-regex/package.json50
-rw-r--r--includes/search/node_modules/emoji-regex/text.js6
-rw-r--r--includes/search/node_modules/end-of-stream/LICENSE21
-rw-r--r--includes/search/node_modules/end-of-stream/README.md54
-rw-r--r--includes/search/node_modules/end-of-stream/index.js94
-rw-r--r--includes/search/node_modules/end-of-stream/package.json37
-rw-r--r--includes/search/node_modules/escalade/dist/index.js22
-rw-r--r--includes/search/node_modules/escalade/dist/index.mjs22
-rw-r--r--includes/search/node_modules/escalade/index.d.ts3
-rw-r--r--includes/search/node_modules/escalade/license9
-rw-r--r--includes/search/node_modules/escalade/package.json61
-rw-r--r--includes/search/node_modules/escalade/readme.md211
-rw-r--r--includes/search/node_modules/escalade/sync/index.d.ts2
-rw-r--r--includes/search/node_modules/escalade/sync/index.js18
-rw-r--r--includes/search/node_modules/escalade/sync/index.mjs18
-rw-r--r--includes/search/node_modules/expand-template/.travis.yml6
-rw-r--r--includes/search/node_modules/expand-template/LICENSE21
-rw-r--r--includes/search/node_modules/expand-template/README.md43
-rw-r--r--includes/search/node_modules/expand-template/index.js26
-rw-r--r--includes/search/node_modules/expand-template/package.json29
-rw-r--r--includes/search/node_modules/expand-template/test.js67
-rw-r--r--includes/search/node_modules/fast-glob/LICENSE21
-rw-r--r--includes/search/node_modules/fast-glob/README.md795
-rw-r--r--includes/search/node_modules/fast-glob/out/index.d.ts27
-rw-r--r--includes/search/node_modules/fast-glob/out/index.js68
-rw-r--r--includes/search/node_modules/fast-glob/out/managers/patterns.d.ts6
-rw-r--r--includes/search/node_modules/fast-glob/out/managers/patterns.js21
-rw-r--r--includes/search/node_modules/fast-glob/out/managers/tasks.d.ts22
-rw-r--r--includes/search/node_modules/fast-glob/out/managers/tasks.js80
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/async.d.ts9
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/async.js23
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/filters/deep.d.ts16
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/filters/deep.js62
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/filters/entry.d.ts16
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/filters/entry.js64
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/filters/error.d.ts8
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/filters/error.js15
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/matchers/matcher.d.ts33
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/matchers/matcher.js50
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/matchers/partial.d.ts4
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/matchers/partial.js38
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/provider.d.ts19
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/provider.js48
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/stream.d.ts11
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/stream.js31
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/sync.d.ts9
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/sync.js23
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/transformers/entry.d.ts8
-rw-r--r--includes/search/node_modules/fast-glob/out/providers/transformers/entry.js26
-rw-r--r--includes/search/node_modules/fast-glob/out/readers/async.d.ts10
-rw-r--r--includes/search/node_modules/fast-glob/out/readers/async.js35
-rw-r--r--includes/search/node_modules/fast-glob/out/readers/reader.d.ts15
-rw-r--r--includes/search/node_modules/fast-glob/out/readers/reader.js33
-rw-r--r--includes/search/node_modules/fast-glob/out/readers/stream.d.ts14
-rw-r--r--includes/search/node_modules/fast-glob/out/readers/stream.js55
-rw-r--r--includes/search/node_modules/fast-glob/out/readers/sync.d.ts12
-rw-r--r--includes/search/node_modules/fast-glob/out/readers/sync.js43
-rw-r--r--includes/search/node_modules/fast-glob/out/settings.d.ts164
-rw-r--r--includes/search/node_modules/fast-glob/out/settings.js57
-rw-r--r--includes/search/node_modules/fast-glob/out/types/index.d.ts31
-rw-r--r--includes/search/node_modules/fast-glob/out/types/index.js2
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/array.d.ts2
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/array.js22
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/errno.d.ts2
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/errno.js7
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/fs.d.ts4
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/fs.js19
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/index.d.ts8
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/index.js17
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/path.d.ts8
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/path.js33
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/pattern.d.ts42
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/pattern.js169
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/stream.d.ts3
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/stream.js17
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/string.d.ts2
-rw-r--r--includes/search/node_modules/fast-glob/out/utils/string.js11
-rw-r--r--includes/search/node_modules/fast-glob/package.json94
-rw-r--r--includes/search/node_modules/fastq/.github/dependabot.yml11
-rw-r--r--includes/search/node_modules/fastq/.github/workflows/ci.yml50
-rw-r--r--includes/search/node_modules/fastq/LICENSE13
-rw-r--r--includes/search/node_modules/fastq/README.md309
-rw-r--r--includes/search/node_modules/fastq/bench.js66
-rw-r--r--includes/search/node_modules/fastq/example.js14
-rw-r--r--includes/search/node_modules/fastq/example.mjs11
-rw-r--r--includes/search/node_modules/fastq/index.d.ts37
-rw-r--r--includes/search/node_modules/fastq/package.json52
-rw-r--r--includes/search/node_modules/fastq/queue.js289
-rw-r--r--includes/search/node_modules/fastq/test/example.ts81
-rw-r--r--includes/search/node_modules/fastq/test/promise.js248
-rw-r--r--includes/search/node_modules/fastq/test/test.js566
-rw-r--r--includes/search/node_modules/fastq/test/tsconfig.json11
-rw-r--r--includes/search/node_modules/fill-range/LICENSE21
-rw-r--r--includes/search/node_modules/fill-range/README.md237
-rw-r--r--includes/search/node_modules/fill-range/index.js249
-rw-r--r--includes/search/node_modules/fill-range/package.json69
-rw-r--r--includes/search/node_modules/from2/.travis.yml8
-rw-r--r--includes/search/node_modules/from2/LICENSE.md21
-rw-r--r--includes/search/node_modules/from2/README.md70
-rw-r--r--includes/search/node_modules/from2/index.js103
-rw-r--r--includes/search/node_modules/from2/package.json37
-rw-r--r--includes/search/node_modules/from2/test.js123
-rw-r--r--includes/search/node_modules/fs-constants/LICENSE21
-rw-r--r--includes/search/node_modules/fs-constants/README.md26
-rw-r--r--includes/search/node_modules/fs-constants/browser.js1
-rw-r--r--includes/search/node_modules/fs-constants/index.js1
-rw-r--r--includes/search/node_modules/fs-constants/package.json19
-rw-r--r--includes/search/node_modules/fs-extra/CHANGELOG.md902
-rw-r--r--includes/search/node_modules/fs-extra/LICENSE15
-rw-r--r--includes/search/node_modules/fs-extra/README.md264
-rw-r--r--includes/search/node_modules/fs-extra/lib/copy-sync/copy-sync.js166
-rw-r--r--includes/search/node_modules/fs-extra/lib/copy-sync/index.js5
-rw-r--r--includes/search/node_modules/fs-extra/lib/copy/copy.js232
-rw-r--r--includes/search/node_modules/fs-extra/lib/copy/index.js6
-rw-r--r--includes/search/node_modules/fs-extra/lib/empty/index.js48
-rw-r--r--includes/search/node_modules/fs-extra/lib/ensure/file.js69
-rw-r--r--includes/search/node_modules/fs-extra/lib/ensure/index.js23
-rw-r--r--includes/search/node_modules/fs-extra/lib/ensure/link.js61
-rw-r--r--includes/search/node_modules/fs-extra/lib/ensure/symlink-paths.js99
-rw-r--r--includes/search/node_modules/fs-extra/lib/ensure/symlink-type.js31
-rw-r--r--includes/search/node_modules/fs-extra/lib/ensure/symlink.js63
-rw-r--r--includes/search/node_modules/fs-extra/lib/fs/index.js130
-rw-r--r--includes/search/node_modules/fs-extra/lib/index.js27
-rw-r--r--includes/search/node_modules/fs-extra/lib/json/index.js16
-rw-r--r--includes/search/node_modules/fs-extra/lib/json/jsonfile.js11
-rw-r--r--includes/search/node_modules/fs-extra/lib/json/output-json-sync.js12
-rw-r--r--includes/search/node_modules/fs-extra/lib/json/output-json.js12
-rw-r--r--includes/search/node_modules/fs-extra/lib/mkdirs/index.js14
-rw-r--r--includes/search/node_modules/fs-extra/lib/mkdirs/make-dir.js141
-rw-r--r--includes/search/node_modules/fs-extra/lib/move-sync/index.js5
-rw-r--r--includes/search/node_modules/fs-extra/lib/move-sync/move-sync.js47
-rw-r--r--includes/search/node_modules/fs-extra/lib/move/index.js6
-rw-r--r--includes/search/node_modules/fs-extra/lib/move/move.js65
-rw-r--r--includes/search/node_modules/fs-extra/lib/output/index.js40
-rw-r--r--includes/search/node_modules/fs-extra/lib/path-exists/index.js12
-rw-r--r--includes/search/node_modules/fs-extra/lib/remove/index.js9
-rw-r--r--includes/search/node_modules/fs-extra/lib/remove/rimraf.js302
-rw-r--r--includes/search/node_modules/fs-extra/lib/util/stat.js139
-rw-r--r--includes/search/node_modules/fs-extra/lib/util/utimes.js26
-rw-r--r--includes/search/node_modules/fs-extra/package.json70
-rw-r--r--includes/search/node_modules/function-bind/.editorconfig20
-rw-r--r--includes/search/node_modules/function-bind/.eslintrc15
-rw-r--r--includes/search/node_modules/function-bind/.jscs.json176
-rw-r--r--includes/search/node_modules/function-bind/.npmignore22
-rw-r--r--includes/search/node_modules/function-bind/.travis.yml168
-rw-r--r--includes/search/node_modules/function-bind/LICENSE20
-rw-r--r--includes/search/node_modules/function-bind/README.md48
-rw-r--r--includes/search/node_modules/function-bind/implementation.js52
-rw-r--r--includes/search/node_modules/function-bind/index.js5
-rw-r--r--includes/search/node_modules/function-bind/package.json63
-rw-r--r--includes/search/node_modules/function-bind/test/.eslintrc9
-rw-r--r--includes/search/node_modules/function-bind/test/index.js252
-rw-r--r--includes/search/node_modules/fuse.js/CHANGELOG.md326
-rw-r--r--includes/search/node_modules/fuse.js/LICENSE201
-rw-r--r--includes/search/node_modules/fuse.js/README.md56
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.basic.common.js1467
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.basic.esm.js1261
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.basic.esm.min.js9
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.basic.js1473
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.basic.min.js9
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.common.js2234
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.d.ts313
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.esm.js1780
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.esm.min.js9
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.js2240
-rw-r--r--includes/search/node_modules/fuse.js/dist/fuse.min.js9
-rw-r--r--includes/search/node_modules/fuse.js/package.json104
-rw-r--r--includes/search/node_modules/get-caller-file/LICENSE.md6
-rw-r--r--includes/search/node_modules/get-caller-file/README.md41
-rw-r--r--includes/search/node_modules/get-caller-file/index.d.ts2
-rw-r--r--includes/search/node_modules/get-caller-file/index.js22
-rw-r--r--includes/search/node_modules/get-caller-file/index.js.map1
-rw-r--r--includes/search/node_modules/get-caller-file/package.json42
-rw-r--r--includes/search/node_modules/github-from-package/.travis.yml4
-rw-r--r--includes/search/node_modules/github-from-package/LICENSE18
-rw-r--r--includes/search/node_modules/github-from-package/example/package.json8
-rw-r--r--includes/search/node_modules/github-from-package/example/url.js3
-rw-r--r--includes/search/node_modules/github-from-package/index.js17
-rw-r--r--includes/search/node_modules/github-from-package/package.json30
-rw-r--r--includes/search/node_modules/github-from-package/readme.markdown53
-rw-r--r--includes/search/node_modules/github-from-package/test/a.json8
-rw-r--r--includes/search/node_modules/github-from-package/test/b.json5
-rw-r--r--includes/search/node_modules/github-from-package/test/c.json5
-rw-r--r--includes/search/node_modules/github-from-package/test/d.json7
-rw-r--r--includes/search/node_modules/github-from-package/test/e.json5
-rw-r--r--includes/search/node_modules/github-from-package/test/url.js19
-rw-r--r--includes/search/node_modules/glob-parent/CHANGELOG.md110
-rw-r--r--includes/search/node_modules/glob-parent/LICENSE15
-rw-r--r--includes/search/node_modules/glob-parent/README.md137
-rw-r--r--includes/search/node_modules/glob-parent/index.js42
-rw-r--r--includes/search/node_modules/glob-parent/package.json48
-rw-r--r--includes/search/node_modules/globby/gitignore.js120
-rw-r--r--includes/search/node_modules/globby/index.d.ts186
-rw-r--r--includes/search/node_modules/globby/index.js181
-rw-r--r--includes/search/node_modules/globby/license9
-rw-r--r--includes/search/node_modules/globby/package.json82
-rw-r--r--includes/search/node_modules/globby/readme.md170
-rw-r--r--includes/search/node_modules/globby/stream-utils.js46
-rw-r--r--includes/search/node_modules/graceful-fs/LICENSE15
-rw-r--r--includes/search/node_modules/graceful-fs/README.md143
-rw-r--r--includes/search/node_modules/graceful-fs/clone.js23
-rw-r--r--includes/search/node_modules/graceful-fs/graceful-fs.js448
-rw-r--r--includes/search/node_modules/graceful-fs/legacy-streams.js118
-rw-r--r--includes/search/node_modules/graceful-fs/package.json53
-rw-r--r--includes/search/node_modules/graceful-fs/polyfills.js355
-rw-r--r--includes/search/node_modules/has-flag/index.d.ts39
-rw-r--r--includes/search/node_modules/has-flag/index.js8
-rw-r--r--includes/search/node_modules/has-flag/license9
-rw-r--r--includes/search/node_modules/has-flag/package.json46
-rw-r--r--includes/search/node_modules/has-flag/readme.md89
-rw-r--r--includes/search/node_modules/has/LICENSE-MIT22
-rw-r--r--includes/search/node_modules/has/README.md18
-rw-r--r--includes/search/node_modules/has/package.json48
-rw-r--r--includes/search/node_modules/has/src/index.js5
-rw-r--r--includes/search/node_modules/has/test/index.js10
-rw-r--r--includes/search/node_modules/https-proxy-agent/README.md137
-rw-r--r--includes/search/node_modules/https-proxy-agent/dist/agent.d.ts30
-rw-r--r--includes/search/node_modules/https-proxy-agent/dist/agent.js177
-rw-r--r--includes/search/node_modules/https-proxy-agent/dist/agent.js.map1
-rw-r--r--includes/search/node_modules/https-proxy-agent/dist/index.d.ts23
-rw-r--r--includes/search/node_modules/https-proxy-agent/dist/index.js14
-rw-r--r--includes/search/node_modules/https-proxy-agent/dist/index.js.map1
-rw-r--r--includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts7
-rw-r--r--includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.js66
-rw-r--r--includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map1
-rw-r--r--includes/search/node_modules/https-proxy-agent/package.json56
-rw-r--r--includes/search/node_modules/ieee754/LICENSE11
-rw-r--r--includes/search/node_modules/ieee754/README.md51
-rw-r--r--includes/search/node_modules/ieee754/index.d.ts10
-rw-r--r--includes/search/node_modules/ieee754/index.js85
-rw-r--r--includes/search/node_modules/ieee754/package.json52
-rw-r--r--includes/search/node_modules/ignore/LICENSE-MIT21
-rw-r--r--includes/search/node_modules/ignore/README.md412
-rw-r--r--includes/search/node_modules/ignore/index.d.ts61
-rw-r--r--includes/search/node_modules/ignore/index.js618
-rw-r--r--includes/search/node_modules/ignore/legacy.js539
-rw-r--r--includes/search/node_modules/ignore/package.json73
-rw-r--r--includes/search/node_modules/inherits/LICENSE16
-rw-r--r--includes/search/node_modules/inherits/README.md42
-rw-r--r--includes/search/node_modules/inherits/inherits.js9
-rw-r--r--includes/search/node_modules/inherits/inherits_browser.js27
-rw-r--r--includes/search/node_modules/inherits/package.json29
-rw-r--r--includes/search/node_modules/ini/LICENSE15
-rw-r--r--includes/search/node_modules/ini/README.md102
-rw-r--r--includes/search/node_modules/ini/ini.js206
-rw-r--r--includes/search/node_modules/ini/package.json33
-rw-r--r--includes/search/node_modules/into-stream/index.d.ts49
-rw-r--r--includes/search/node_modules/into-stream/index.js138
-rw-r--r--includes/search/node_modules/into-stream/license9
-rw-r--r--includes/search/node_modules/into-stream/package.json56
-rw-r--r--includes/search/node_modules/into-stream/readme.md38
-rw-r--r--includes/search/node_modules/is-core-module/.eslintrc18
-rw-r--r--includes/search/node_modules/is-core-module/.nycrc9
-rw-r--r--includes/search/node_modules/is-core-module/CHANGELOG.md136
-rw-r--r--includes/search/node_modules/is-core-module/LICENSE20
-rw-r--r--includes/search/node_modules/is-core-module/README.md40
-rw-r--r--includes/search/node_modules/is-core-module/core.json153
-rw-r--r--includes/search/node_modules/is-core-module/index.js69
-rw-r--r--includes/search/node_modules/is-core-module/package.json65
-rw-r--r--includes/search/node_modules/is-core-module/test/index.js133
-rw-r--r--includes/search/node_modules/is-extglob/LICENSE21
-rw-r--r--includes/search/node_modules/is-extglob/README.md107
-rw-r--r--includes/search/node_modules/is-extglob/index.js20
-rw-r--r--includes/search/node_modules/is-extglob/package.json69
-rw-r--r--includes/search/node_modules/is-fullwidth-code-point/index.d.ts17
-rw-r--r--includes/search/node_modules/is-fullwidth-code-point/index.js50
-rw-r--r--includes/search/node_modules/is-fullwidth-code-point/license9
-rw-r--r--includes/search/node_modules/is-fullwidth-code-point/package.json42
-rw-r--r--includes/search/node_modules/is-fullwidth-code-point/readme.md39
-rw-r--r--includes/search/node_modules/is-glob/LICENSE21
-rw-r--r--includes/search/node_modules/is-glob/README.md206
-rw-r--r--includes/search/node_modules/is-glob/index.js150
-rw-r--r--includes/search/node_modules/is-glob/package.json81
-rw-r--r--includes/search/node_modules/is-number/LICENSE21
-rw-r--r--includes/search/node_modules/is-number/README.md187
-rw-r--r--includes/search/node_modules/is-number/index.js18
-rw-r--r--includes/search/node_modules/is-number/package.json82
-rw-r--r--includes/search/node_modules/isarray/.npmignore1
-rw-r--r--includes/search/node_modules/isarray/.travis.yml4
-rw-r--r--includes/search/node_modules/isarray/Makefile6
-rw-r--r--includes/search/node_modules/isarray/README.md60
-rw-r--r--includes/search/node_modules/isarray/component.json19
-rw-r--r--includes/search/node_modules/isarray/index.js5
-rw-r--r--includes/search/node_modules/isarray/package.json45
-rw-r--r--includes/search/node_modules/isarray/test.js20
-rw-r--r--includes/search/node_modules/jsesc/LICENSE-MIT.txt20
-rw-r--r--includes/search/node_modules/jsesc/README.md421
-rwxr-xr-xincludes/search/node_modules/jsesc/bin/jsesc148
-rw-r--r--includes/search/node_modules/jsesc/jsesc.js329
-rw-r--r--includes/search/node_modules/jsesc/man/jsesc.194
-rw-r--r--includes/search/node_modules/jsesc/package.json54
-rw-r--r--includes/search/node_modules/jsonfile/CHANGELOG.md171
-rw-r--r--includes/search/node_modules/jsonfile/LICENSE15
-rw-r--r--includes/search/node_modules/jsonfile/README.md230
-rw-r--r--includes/search/node_modules/jsonfile/index.js88
-rw-r--r--includes/search/node_modules/jsonfile/package.json40
-rw-r--r--includes/search/node_modules/jsonfile/utils.js14
-rw-r--r--includes/search/node_modules/lru-cache/LICENSE15
-rw-r--r--includes/search/node_modules/lru-cache/README.md166
-rw-r--r--includes/search/node_modules/lru-cache/index.js334
-rw-r--r--includes/search/node_modules/lru-cache/package.json34
-rw-r--r--includes/search/node_modules/merge2/LICENSE21
-rw-r--r--includes/search/node_modules/merge2/README.md144
-rw-r--r--includes/search/node_modules/merge2/index.js144
-rw-r--r--includes/search/node_modules/merge2/package.json43
-rwxr-xr-xincludes/search/node_modules/micromatch/LICENSE21
-rw-r--r--includes/search/node_modules/micromatch/README.md1011
-rw-r--r--includes/search/node_modules/micromatch/index.js467
-rw-r--r--includes/search/node_modules/micromatch/package.json119
-rw-r--r--includes/search/node_modules/mimic-response/index.d.ts17
-rw-r--r--includes/search/node_modules/mimic-response/index.js77
-rw-r--r--includes/search/node_modules/mimic-response/license9
-rw-r--r--includes/search/node_modules/mimic-response/package.json42
-rw-r--r--includes/search/node_modules/mimic-response/readme.md78
-rw-r--r--includes/search/node_modules/minimist/.eslintrc29
-rw-r--r--includes/search/node_modules/minimist/.github/FUNDING.yml12
-rw-r--r--includes/search/node_modules/minimist/.nycrc14
-rw-r--r--includes/search/node_modules/minimist/CHANGELOG.md298
-rw-r--r--includes/search/node_modules/minimist/LICENSE18
-rw-r--r--includes/search/node_modules/minimist/README.md121
-rw-r--r--includes/search/node_modules/minimist/example/parse.js4
-rw-r--r--includes/search/node_modules/minimist/index.js263
-rw-r--r--includes/search/node_modules/minimist/package.json75
-rw-r--r--includes/search/node_modules/minimist/test/all_bool.js34
-rw-r--r--includes/search/node_modules/minimist/test/bool.js177
-rw-r--r--includes/search/node_modules/minimist/test/dash.js43
-rw-r--r--includes/search/node_modules/minimist/test/default_bool.js37
-rw-r--r--includes/search/node_modules/minimist/test/dotted.js24
-rw-r--r--includes/search/node_modules/minimist/test/kv_short.js32
-rw-r--r--includes/search/node_modules/minimist/test/long.js33
-rw-r--r--includes/search/node_modules/minimist/test/num.js38
-rw-r--r--includes/search/node_modules/minimist/test/parse.js209
-rw-r--r--includes/search/node_modules/minimist/test/parse_modified.js11
-rw-r--r--includes/search/node_modules/minimist/test/proto.js64
-rw-r--r--includes/search/node_modules/minimist/test/short.js69
-rw-r--r--includes/search/node_modules/minimist/test/stop_early.js17
-rw-r--r--includes/search/node_modules/minimist/test/unknown.js104
-rw-r--r--includes/search/node_modules/minimist/test/whitespace.js10
-rw-r--r--includes/search/node_modules/mkdirp-classic/LICENSE21
-rw-r--r--includes/search/node_modules/mkdirp-classic/README.md18
-rw-r--r--includes/search/node_modules/mkdirp-classic/index.js98
-rw-r--r--includes/search/node_modules/mkdirp-classic/package.json18
-rw-r--r--includes/search/node_modules/ms/index.js162
-rw-r--r--includes/search/node_modules/ms/license.md21
-rw-r--r--includes/search/node_modules/ms/package.json37
-rw-r--r--includes/search/node_modules/ms/readme.md60
-rw-r--r--includes/search/node_modules/multistream/LICENSE20
-rw-r--r--includes/search/node_modules/multistream/README.md86
-rw-r--r--includes/search/node_modules/multistream/index.js166
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/CONTRIBUTING.md38
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/GOVERNANCE.md136
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/LICENSE47
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/README.md106
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/errors-browser.js127
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/errors.js116
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/experimentalWarning.js17
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_duplex.js126
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_passthrough.js37
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_readable.js1027
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_transform.js190
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_writable.js641
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/async_iterator.js180
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/buffer_list.js183
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/destroy.js96
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js86
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/from-browser.js3
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/from.js52
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/pipeline.js86
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/state.js22
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/stream-browser.js1
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/stream.js1
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/package.json68
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/readable-browser.js9
-rw-r--r--includes/search/node_modules/multistream/node_modules/readable-stream/readable.js16
-rw-r--r--includes/search/node_modules/multistream/package.json68
-rw-r--r--includes/search/node_modules/napi-build-utils/LICENSE21
-rw-r--r--includes/search/node_modules/napi-build-utils/README.md48
-rw-r--r--includes/search/node_modules/napi-build-utils/index.js213
-rw-r--r--includes/search/node_modules/napi-build-utils/index.md81
-rw-r--r--includes/search/node_modules/napi-build-utils/package.json41
-rw-r--r--includes/search/node_modules/node-abi/.circleci/config.yml45
-rw-r--r--includes/search/node_modules/node-abi/.github/CODEOWNERS1
-rw-r--r--includes/search/node_modules/node-abi/.github/workflows/update-abi.yml42
-rw-r--r--includes/search/node_modules/node-abi/.releaserc.json9
-rw-r--r--includes/search/node_modules/node-abi/CODE_OF_CONDUCT.md73
-rw-r--r--includes/search/node_modules/node-abi/CONTRIBUTING.md62
-rw-r--r--includes/search/node_modules/node-abi/LICENSE21
-rw-r--r--includes/search/node_modules/node-abi/README.md52
-rw-r--r--includes/search/node_modules/node-abi/abi_registry.json262
-rw-r--r--includes/search/node_modules/node-abi/index.js179
-rw-r--r--includes/search/node_modules/node-abi/package.json38
-rw-r--r--includes/search/node_modules/node-abi/scripts/update-abi-registry.js119
-rw-r--r--includes/search/node_modules/node-abi/test/index.js166
-rw-r--r--includes/search/node_modules/node-fetch/LICENSE.md22
-rw-r--r--includes/search/node_modules/node-fetch/README.md633
-rw-r--r--includes/search/node_modules/node-fetch/browser.js25
-rw-r--r--includes/search/node_modules/node-fetch/lib/index.es.js1778
-rw-r--r--includes/search/node_modules/node-fetch/lib/index.js1787
-rw-r--r--includes/search/node_modules/node-fetch/lib/index.mjs1776
-rw-r--r--includes/search/node_modules/node-fetch/package.json89
-rw-r--r--includes/search/node_modules/once/LICENSE15
-rw-r--r--includes/search/node_modules/once/README.md79
-rw-r--r--includes/search/node_modules/once/once.js42
-rw-r--r--includes/search/node_modules/once/package.json33
-rw-r--r--includes/search/node_modules/p-is-promise/index.d.ts16
-rw-r--r--includes/search/node_modules/p-is-promise/index.js13
-rw-r--r--includes/search/node_modules/p-is-promise/license9
-rw-r--r--includes/search/node_modules/p-is-promise/package.json47
-rw-r--r--includes/search/node_modules/p-is-promise/readme.md38
-rw-r--r--includes/search/node_modules/path-parse/LICENSE21
-rw-r--r--includes/search/node_modules/path-parse/README.md42
-rw-r--r--includes/search/node_modules/path-parse/index.js75
-rw-r--r--includes/search/node_modules/path-parse/package.json33
-rw-r--r--includes/search/node_modules/path-type/index.d.ts51
-rw-r--r--includes/search/node_modules/path-type/index.js43
-rw-r--r--includes/search/node_modules/path-type/license9
-rw-r--r--includes/search/node_modules/path-type/package.json45
-rw-r--r--includes/search/node_modules/path-type/readme.md72
-rw-r--r--includes/search/node_modules/picomatch/CHANGELOG.md136
-rw-r--r--includes/search/node_modules/picomatch/LICENSE21
-rw-r--r--includes/search/node_modules/picomatch/README.md708
-rw-r--r--includes/search/node_modules/picomatch/index.js3
-rw-r--r--includes/search/node_modules/picomatch/lib/constants.js179
-rw-r--r--includes/search/node_modules/picomatch/lib/parse.js1091
-rw-r--r--includes/search/node_modules/picomatch/lib/picomatch.js342
-rw-r--r--includes/search/node_modules/picomatch/lib/scan.js391
-rw-r--r--includes/search/node_modules/picomatch/lib/utils.js64
-rw-r--r--includes/search/node_modules/picomatch/package.json81
-rw-r--r--includes/search/node_modules/pkg-fetch/README.md49
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/bin.d.ts3
-rwxr-xr-xincludes/search/node_modules/pkg-fetch/lib-es5/bin.js102
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/build.d.ts2
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/build.js394
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/expected.d.ts2
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/expected.js97
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/index.d.ts13
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/index.js244
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/log.d.ts20
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/log.js112
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/places.d.ts19
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/places.js40
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/system.d.ts11
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/system.js121
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/utils.d.ts7
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/utils.js157
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/verify.d.ts2
-rw-r--r--includes/search/node_modules/pkg-fetch/lib-es5/verify.js60
-rw-r--r--includes/search/node_modules/pkg-fetch/license.md21
-rw-r--r--includes/search/node_modules/pkg-fetch/package.json64
-rw-r--r--includes/search/node_modules/pkg-fetch/patches/node.v10.24.1.cpp.patch568
-rw-r--r--includes/search/node_modules/pkg-fetch/patches/node.v12.22.11.cpp.patch679
-rw-r--r--includes/search/node_modules/pkg-fetch/patches/node.v14.20.0.cpp.patch560
-rw-r--r--includes/search/node_modules/pkg-fetch/patches/node.v16.16.0.cpp.patch502
-rw-r--r--includes/search/node_modules/pkg-fetch/patches/node.v18.5.0.cpp.patch521
-rw-r--r--includes/search/node_modules/pkg-fetch/patches/node.v8.17.0.cpp.patch549
-rw-r--r--includes/search/node_modules/pkg-fetch/patches/patches.json8
-rw-r--r--includes/search/node_modules/pkg/LICENSE21
-rw-r--r--includes/search/node_modules/pkg/README.md426
-rw-r--r--includes/search/node_modules/pkg/dictionary/angular-bridge.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/any-promise.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/async.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/aws-sdk.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/babel-core.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/batch.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/bcrypt.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/better-sqlite3.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/bignum.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/bindings.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/blessed.js8
-rw-r--r--includes/search/node_modules/pkg/dictionary/body-parser.js9
-rw-r--r--includes/search/node_modules/pkg/dictionary/browserify.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/bson.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/buffermaker.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/bunyan.js9
-rw-r--r--includes/search/node_modules/pkg/dictionary/busboy.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/bytes.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/callsites.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/chokidar.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/coffee-script.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/colors.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/compression.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/compressjs.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/connect-mongo.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/connect-mongodb.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/connect-redis.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/connect.js10
-rw-r--r--includes/search/node_modules/pkg/dictionary/consolidate.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/cookie-parser.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/cookie.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/cors.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/cron.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/cross-env.js11
-rw-r--r--includes/search/node_modules/pkg/dictionary/cross-spawn-async.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/curve25519.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/data-preflight.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/debug.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/denymount.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/diff.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/drivelist.js22
-rw-r--r--includes/search/node_modules/pkg/dictionary/ed25519.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/ejs.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/elasticsearch.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/electron.js17
-rw-r--r--includes/search/node_modules/pkg/dictionary/emailjs.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/engine.io.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/epoll.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/errorhandler.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/errors.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/eslint.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/etcher-image-write.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/exceljs.js21
-rw-r--r--includes/search/node_modules/pkg/dictionary/exiftool.exe.js13
-rw-r--r--includes/search/node_modules/pkg/dictionary/exiftool.pl.js13
-rw-r--r--includes/search/node_modules/pkg/dictionary/express-load.js12
-rw-r--r--includes/search/node_modules/pkg/dictionary/express-session.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/express.js14
-rw-r--r--includes/search/node_modules/pkg/dictionary/extender.js11
-rw-r--r--includes/search/node_modules/pkg/dictionary/extsprintf.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/faye-websocket.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/feathers.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/findup-sync.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/floordate.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/fmt.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/formidable.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/fs-extra.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/fsevents.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/geoip-lite.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/github.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/gm.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/google-closure-compiler-java.js13
-rw-r--r--includes/search/node_modules/pkg/dictionary/google-closure-compiler.js13
-rw-r--r--includes/search/node_modules/pkg/dictionary/googleapis.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/got.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/graceful-fs.js19
-rw-r--r--includes/search/node_modules/pkg/dictionary/grpc.js11
-rw-r--r--includes/search/node_modules/pkg/dictionary/gulp.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/hap-nodejs.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/heapdump.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/hoek.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/homebridge.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/http-proxy.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/http-server.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/image-size.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/indexof.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/inquirer.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/j.js16
-rw-r--r--includes/search/node_modules/pkg/dictionary/jade.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/jsdom.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/json-stringify-date.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/json-stringify-safe.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/jsonwebtoken.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/kerberos.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/knex.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/later.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/level.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/leveldown.js10
-rw-r--r--includes/search/node_modules/pkg/dictionary/levelup.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/liftoff.js12
-rw-r--r--includes/search/node_modules/pkg/dictionary/lodash.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/log4js.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/logform.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/machinepack-urls.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/markdown.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/mdns.js6
-rw-r--r--includes/search/node_modules/pkg/dictionary/method-override.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/microjob.js16
-rw-r--r--includes/search/node_modules/pkg/dictionary/mime-types.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/mime.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/minimatch.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/minstache.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/module-deps.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/moment-timezone.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/moment.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/mongodb-core.js22
-rw-r--r--includes/search/node_modules/pkg/dictionary/mongodb.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/mongoose.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/mongoskin.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/ms.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/msgpack.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/multer.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/muri.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/native-or-bluebird.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/natives.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/nconf.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/nedb.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/negotiator.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/newrelic.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/nib.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/nightmare.js18
-rw-r--r--includes/search/node_modules/pkg/dictionary/node-forge.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/node-libcurl.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/node-notifier.js30
-rw-r--r--includes/search/node_modules/pkg/dictionary/node-pre-gyp.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/node-redis-pubsub.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/node-sass.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/node-uuid.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/node-xlsx.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/node-zookeeper-client.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/nodegit.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/nodemailer-sendmail-transport.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/nodemailer.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/npm-registry-client.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/npm.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/nssocket.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/oauth2orize.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/octobat.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/open.js13
-rw-r--r--includes/search/node_modules/pkg/dictionary/opn.js4
-rw-r--r--includes/search/node_modules/pkg/dictionary/optimist.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/passport-local.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/passport.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/pg-cursor.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/pg-query-stream.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/pg-types.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/pg.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/pg.js.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/pgpass.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/phantom.js19
-rw-r--r--includes/search/node_modules/pkg/dictionary/phantomjs-prebuilt.js16
-rw-r--r--includes/search/node_modules/pkg/dictionary/pkginfo.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/pm2.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/pmx.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/pouchdb.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/primus-emitter.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/primus-spark-latency.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/primus.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/publicsuffixlist.js15
-rw-r--r--includes/search/node_modules/pkg/dictionary/pug.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/punt.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/puppeteer.js13
-rw-r--r--includes/search/node_modules/pkg/dictionary/pwd.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/q.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/raven.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/rc.js12
-rw-r--r--includes/search/node_modules/pkg/dictionary/readable-stream.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/rechoir.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/redis-parser.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/redis.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/regression.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/reload.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/request.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/require-uncached.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/require_optional.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/s3.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/safe_datejs.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/sails.js33
-rw-r--r--includes/search/node_modules/pkg/dictionary/sax.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/scrypt.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/semver.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/sequelize.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/serialport.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/sha3.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/sharp.js11
-rw-r--r--includes/search/node_modules/pkg/dictionary/shelljs.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/sinon.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/socket.io-client.js13
-rw-r--r--includes/search/node_modules/pkg/dictionary/socket.io.js12
-rw-r--r--includes/search/node_modules/pkg/dictionary/sqip.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/sqlite3.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/steam-crypto.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/steam-resources.js19
-rw-r--r--includes/search/node_modules/pkg/dictionary/steam.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/stripe-webhook-middleware.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/stripe.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/strong-globalize.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/stylus.js14
-rw-r--r--includes/search/node_modules/pkg/dictionary/supervisor.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/svgo.js8
-rw-r--r--includes/search/node_modules/pkg/dictionary/tabtab.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/tesseract.js.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/throng.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/time.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/tinify.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/tiny-worker.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/tmp.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/transformers.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/uglify-js.js9
-rw-r--r--includes/search/node_modules/pkg/dictionary/umd.js19
-rw-r--r--includes/search/node_modules/pkg/dictionary/underscore.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/union.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/update-notifier.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/usage.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/v8flags.js13
-rw-r--r--includes/search/node_modules/pkg/dictionary/verror.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/voc.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/webdriverio.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/winston-uber.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/winston.js7
-rw-r--r--includes/search/node_modules/pkg/dictionary/ws.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/xlsx.js16
-rw-r--r--includes/search/node_modules/pkg/dictionary/xml2js.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/yargs.js3
-rw-r--r--includes/search/node_modules/pkg/dictionary/zeromq.js13
-rwxr-xr-xincludes/search/node_modules/pkg/lib-es5/bin.js19
-rw-r--r--includes/search/node_modules/pkg/lib-es5/chmod.js15
-rw-r--r--includes/search/node_modules/pkg/lib-es5/common.js235
-rw-r--r--includes/search/node_modules/pkg/lib-es5/compress_type.js10
-rw-r--r--includes/search/node_modules/pkg/lib-es5/detector.js420
-rw-r--r--includes/search/node_modules/pkg/lib-es5/fabricator.js141
-rw-r--r--includes/search/node_modules/pkg/lib-es5/follow.js91
-rw-r--r--includes/search/node_modules/pkg/lib-es5/help.js53
-rw-r--r--includes/search/node_modules/pkg/lib-es5/index.d.ts2
-rw-r--r--includes/search/node_modules/pkg/lib-es5/index.js540
-rw-r--r--includes/search/node_modules/pkg/lib-es5/log.js7
-rw-r--r--includes/search/node_modules/pkg/lib-es5/mach-o.js61
-rw-r--r--includes/search/node_modules/pkg/lib-es5/packer.js131
-rw-r--r--includes/search/node_modules/pkg/lib-es5/producer.js344
-rw-r--r--includes/search/node_modules/pkg/lib-es5/refiner.js87
-rw-r--r--includes/search/node_modules/pkg/lib-es5/types.js9
-rw-r--r--includes/search/node_modules/pkg/lib-es5/walker.js853
-rw-r--r--includes/search/node_modules/pkg/package.json93
-rw-r--r--includes/search/node_modules/pkg/prelude/bootstrap.js2252
-rw-r--r--includes/search/node_modules/pkg/prelude/diagnostic.js93
-rw-r--r--includes/search/node_modules/prebuild-install/CHANGELOG.md116
-rw-r--r--includes/search/node_modules/prebuild-install/CONTRIBUTING.md6
-rw-r--r--includes/search/node_modules/prebuild-install/LICENSE21
-rw-r--r--includes/search/node_modules/prebuild-install/README.md163
-rw-r--r--includes/search/node_modules/prebuild-install/asset.js44
-rwxr-xr-xincludes/search/node_modules/prebuild-install/bin.js78
-rw-r--r--includes/search/node_modules/prebuild-install/download.js142
-rw-r--r--includes/search/node_modules/prebuild-install/error.js14
-rw-r--r--includes/search/node_modules/prebuild-install/help.txt16
-rw-r--r--includes/search/node_modules/prebuild-install/index.js1
-rw-r--r--includes/search/node_modules/prebuild-install/log.js33
-rw-r--r--includes/search/node_modules/prebuild-install/package.json67
-rw-r--r--includes/search/node_modules/prebuild-install/proxy.js35
-rw-r--r--includes/search/node_modules/prebuild-install/rc.js64
-rw-r--r--includes/search/node_modules/prebuild-install/util.js143
-rw-r--r--includes/search/node_modules/process-nextick-args/index.js45
-rw-r--r--includes/search/node_modules/process-nextick-args/license.md19
-rw-r--r--includes/search/node_modules/process-nextick-args/package.json25
-rw-r--r--includes/search/node_modules/process-nextick-args/readme.md18
-rw-r--r--includes/search/node_modules/progress/CHANGELOG.md115
-rw-r--r--includes/search/node_modules/progress/LICENSE22
-rw-r--r--includes/search/node_modules/progress/Makefile8
-rw-r--r--includes/search/node_modules/progress/Readme.md146
-rw-r--r--includes/search/node_modules/progress/index.js1
-rw-r--r--includes/search/node_modules/progress/lib/node-progress.js236
-rw-r--r--includes/search/node_modules/progress/package.json26
-rw-r--r--includes/search/node_modules/pump/.travis.yml5
-rw-r--r--includes/search/node_modules/pump/LICENSE21
-rw-r--r--includes/search/node_modules/pump/README.md65
-rw-r--r--includes/search/node_modules/pump/index.js82
-rw-r--r--includes/search/node_modules/pump/package.json24
-rw-r--r--includes/search/node_modules/pump/test-browser.js66
-rw-r--r--includes/search/node_modules/pump/test-node.js53
-rwxr-xr-xincludes/search/node_modules/queue-microtask/LICENSE20
-rw-r--r--includes/search/node_modules/queue-microtask/README.md90
-rw-r--r--includes/search/node_modules/queue-microtask/index.d.ts2
-rw-r--r--includes/search/node_modules/queue-microtask/index.js9
-rw-r--r--includes/search/node_modules/queue-microtask/package.json55
-rw-r--r--includes/search/node_modules/rc/LICENSE.APACHE215
-rw-r--r--includes/search/node_modules/rc/LICENSE.BSD26
-rw-r--r--includes/search/node_modules/rc/LICENSE.MIT24
-rw-r--r--includes/search/node_modules/rc/README.md227
-rw-r--r--includes/search/node_modules/rc/browser.js7
-rwxr-xr-xincludes/search/node_modules/rc/cli.js4
-rwxr-xr-xincludes/search/node_modules/rc/index.js53
-rw-r--r--includes/search/node_modules/rc/lib/utils.js104
-rw-r--r--includes/search/node_modules/rc/package.json29
-rw-r--r--includes/search/node_modules/rc/test/ini.js16
-rw-r--r--includes/search/node_modules/rc/test/nested-env-vars.js50
-rw-r--r--includes/search/node_modules/rc/test/test.js59
-rw-r--r--includes/search/node_modules/readable-stream/.travis.yml34
-rw-r--r--includes/search/node_modules/readable-stream/CONTRIBUTING.md38
-rw-r--r--includes/search/node_modules/readable-stream/GOVERNANCE.md136
-rw-r--r--includes/search/node_modules/readable-stream/LICENSE47
-rw-r--r--includes/search/node_modules/readable-stream/README.md58
-rw-r--r--includes/search/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md60
-rw-r--r--includes/search/node_modules/readable-stream/duplex-browser.js1
-rw-r--r--includes/search/node_modules/readable-stream/duplex.js1
-rw-r--r--includes/search/node_modules/readable-stream/lib/_stream_duplex.js131
-rw-r--r--includes/search/node_modules/readable-stream/lib/_stream_passthrough.js47
-rw-r--r--includes/search/node_modules/readable-stream/lib/_stream_readable.js1019
-rw-r--r--includes/search/node_modules/readable-stream/lib/_stream_transform.js214
-rw-r--r--includes/search/node_modules/readable-stream/lib/_stream_writable.js685
-rw-r--r--includes/search/node_modules/readable-stream/lib/internal/streams/BufferList.js78
-rw-r--r--includes/search/node_modules/readable-stream/lib/internal/streams/destroy.js84
-rw-r--r--includes/search/node_modules/readable-stream/lib/internal/streams/stream-browser.js1
-rw-r--r--includes/search/node_modules/readable-stream/lib/internal/streams/stream.js1
-rw-r--r--includes/search/node_modules/readable-stream/package.json52
-rw-r--r--includes/search/node_modules/readable-stream/passthrough.js1
-rw-r--r--includes/search/node_modules/readable-stream/readable-browser.js7
-rw-r--r--includes/search/node_modules/readable-stream/readable.js19
-rw-r--r--includes/search/node_modules/readable-stream/transform.js1
-rw-r--r--includes/search/node_modules/readable-stream/writable-browser.js1
-rw-r--r--includes/search/node_modules/readable-stream/writable.js8
-rw-r--r--includes/search/node_modules/require-directory/.jshintrc67
-rw-r--r--includes/search/node_modules/require-directory/.npmignore1
-rw-r--r--includes/search/node_modules/require-directory/.travis.yml3
-rw-r--r--includes/search/node_modules/require-directory/LICENSE22
-rw-r--r--includes/search/node_modules/require-directory/README.markdown184
-rw-r--r--includes/search/node_modules/require-directory/index.js86
-rw-r--r--includes/search/node_modules/require-directory/package.json40
-rw-r--r--includes/search/node_modules/resolve/.editorconfig37
-rw-r--r--includes/search/node_modules/resolve/.eslintrc65
-rw-r--r--includes/search/node_modules/resolve/.github/FUNDING.yml12
-rw-r--r--includes/search/node_modules/resolve/LICENSE21
-rw-r--r--includes/search/node_modules/resolve/SECURITY.md3
-rw-r--r--includes/search/node_modules/resolve/async.js3
-rwxr-xr-xincludes/search/node_modules/resolve/bin/resolve50
-rw-r--r--includes/search/node_modules/resolve/example/async.js5
-rw-r--r--includes/search/node_modules/resolve/example/sync.js3
-rw-r--r--includes/search/node_modules/resolve/index.js6
-rw-r--r--includes/search/node_modules/resolve/lib/async.js329
-rw-r--r--includes/search/node_modules/resolve/lib/caller.js8
-rw-r--r--includes/search/node_modules/resolve/lib/core.js12
-rw-r--r--includes/search/node_modules/resolve/lib/core.json155
-rw-r--r--includes/search/node_modules/resolve/lib/homedir.js24
-rw-r--r--includes/search/node_modules/resolve/lib/is-core.js5
-rw-r--r--includes/search/node_modules/resolve/lib/node-modules-paths.js42
-rw-r--r--includes/search/node_modules/resolve/lib/normalize-options.js10
-rw-r--r--includes/search/node_modules/resolve/lib/sync.js208
-rw-r--r--includes/search/node_modules/resolve/node_modules/is-core-module/.eslintrc18
-rw-r--r--includes/search/node_modules/resolve/node_modules/is-core-module/.nycrc9
-rw-r--r--includes/search/node_modules/resolve/node_modules/is-core-module/CHANGELOG.md160
-rw-r--r--includes/search/node_modules/resolve/node_modules/is-core-module/LICENSE20
-rw-r--r--includes/search/node_modules/resolve/node_modules/is-core-module/README.md40
-rw-r--r--includes/search/node_modules/resolve/node_modules/is-core-module/core.json158
-rw-r--r--includes/search/node_modules/resolve/node_modules/is-core-module/index.js69
-rw-r--r--includes/search/node_modules/resolve/node_modules/is-core-module/package.json73
-rw-r--r--includes/search/node_modules/resolve/node_modules/is-core-module/test/index.js133
-rw-r--r--includes/search/node_modules/resolve/package.json71
-rw-r--r--includes/search/node_modules/resolve/readme.markdown301
-rw-r--r--includes/search/node_modules/resolve/sync.js3
-rw-r--r--includes/search/node_modules/resolve/test/core.js88
-rw-r--r--includes/search/node_modules/resolve/test/dotdot.js29
-rw-r--r--includes/search/node_modules/resolve/test/dotdot/abc/index.js2
-rw-r--r--includes/search/node_modules/resolve/test/dotdot/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/faulty_basedir.js29
-rw-r--r--includes/search/node_modules/resolve/test/filter.js34
-rw-r--r--includes/search/node_modules/resolve/test/filter_sync.js33
-rw-r--r--includes/search/node_modules/resolve/test/home_paths.js127
-rw-r--r--includes/search/node_modules/resolve/test/home_paths_sync.js114
-rw-r--r--includes/search/node_modules/resolve/test/mock.js315
-rw-r--r--includes/search/node_modules/resolve/test/mock_sync.js214
-rw-r--r--includes/search/node_modules/resolve/test/module_dir.js56
-rw-r--r--includes/search/node_modules/resolve/test/module_dir/xmodules/aaa/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/module_dir/ymodules/aaa/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/module_dir/zmodules/bbb/main.js1
-rw-r--r--includes/search/node_modules/resolve/test/module_dir/zmodules/bbb/package.json3
-rw-r--r--includes/search/node_modules/resolve/test/node-modules-paths.js143
-rw-r--r--includes/search/node_modules/resolve/test/node_path.js70
-rw-r--r--includes/search/node_modules/resolve/test/node_path/x/aaa/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/node_path/x/ccc/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/node_path/y/bbb/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/node_path/y/ccc/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/nonstring.js9
-rw-r--r--includes/search/node_modules/resolve/test/pathfilter.js75
-rw-r--r--includes/search/node_modules/resolve/test/pathfilter/deep_ref/main.js0
-rw-r--r--includes/search/node_modules/resolve/test/precedence.js23
-rw-r--r--includes/search/node_modules/resolve/test/precedence/aaa.js1
-rw-r--r--includes/search/node_modules/resolve/test/precedence/aaa/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/precedence/aaa/main.js1
-rw-r--r--includes/search/node_modules/resolve/test/precedence/bbb.js1
-rw-r--r--includes/search/node_modules/resolve/test/precedence/bbb/main.js1
-rw-r--r--includes/search/node_modules/resolve/test/resolver.js595
-rw-r--r--includes/search/node_modules/resolve/test/resolver/baz/doom.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/baz/package.json4
-rw-r--r--includes/search/node_modules/resolve/test/resolver/baz/quux.js1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/browser_field/a.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/browser_field/b.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/browser_field/package.json5
-rw-r--r--includes/search/node_modules/resolve/test/resolver/cup.coffee1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/dot_main/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/dot_main/package.json3
-rw-r--r--includes/search/node_modules/resolve/test/resolver/dot_slash_main/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/dot_slash_main/package.json3
-rw-r--r--includes/search/node_modules/resolve/test/resolver/false_main/index.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/false_main/package.json4
-rw-r--r--includes/search/node_modules/resolve/test/resolver/foo.js1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/incorrect_main/index.js2
-rw-r--r--includes/search/node_modules/resolve/test/resolver/incorrect_main/package.json3
-rw-r--r--includes/search/node_modules/resolve/test/resolver/invalid_main/package.json7
-rw-r--r--includes/search/node_modules/resolve/test/resolver/malformed_package_json/index.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/malformed_package_json/package.json1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/mug.coffee0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/mug.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/multirepo/lerna.json6
-rw-r--r--includes/search/node_modules/resolve/test/resolver/multirepo/package.json20
-rw-r--r--includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js35
-rw-r--r--includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json14
-rw-r--r--includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json14
-rw-r--r--includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js26
-rw-r--r--includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json15
-rw-r--r--includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js12
-rw-r--r--includes/search/node_modules/resolve/test/resolver/other_path/lib/other-lib.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/other_path/root.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/quux/foo/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/same_names/foo.js1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/same_names/foo/index.js1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep0
-rw-r--r--includes/search/node_modules/resolve/test/resolver/symlinked/package/bar.js1
-rw-r--r--includes/search/node_modules/resolve/test/resolver/symlinked/package/package.json3
-rw-r--r--includes/search/node_modules/resolve/test/resolver/without_basedir/main.js5
-rw-r--r--includes/search/node_modules/resolve/test/resolver_sync.js726
-rw-r--r--includes/search/node_modules/resolve/test/shadowed_core.js54
-rw-r--r--includes/search/node_modules/resolve/test/shadowed_core/node_modules/util/index.js0
-rw-r--r--includes/search/node_modules/resolve/test/subdirs.js13
-rw-r--r--includes/search/node_modules/resolve/test/symlinks.js176
-rw-r--r--includes/search/node_modules/reusify/.coveralls.yml1
-rw-r--r--includes/search/node_modules/reusify/.travis.yml28
-rw-r--r--includes/search/node_modules/reusify/LICENSE22
-rw-r--r--includes/search/node_modules/reusify/README.md145
-rw-r--r--includes/search/node_modules/reusify/benchmarks/createNoCodeFunction.js30
-rw-r--r--includes/search/node_modules/reusify/benchmarks/fib.js13
-rw-r--r--includes/search/node_modules/reusify/benchmarks/reuseNoCodeFunction.js38
-rw-r--r--includes/search/node_modules/reusify/package.json45
-rw-r--r--includes/search/node_modules/reusify/reusify.js33
-rw-r--r--includes/search/node_modules/reusify/test.js66
-rw-r--r--includes/search/node_modules/run-parallel/LICENSE20
-rw-r--r--includes/search/node_modules/run-parallel/README.md85
-rw-r--r--includes/search/node_modules/run-parallel/index.js51
-rw-r--r--includes/search/node_modules/run-parallel/package.json58
-rw-r--r--includes/search/node_modules/safe-buffer/LICENSE21
-rw-r--r--includes/search/node_modules/safe-buffer/README.md584
-rw-r--r--includes/search/node_modules/safe-buffer/index.d.ts187
-rw-r--r--includes/search/node_modules/safe-buffer/index.js62
-rw-r--r--includes/search/node_modules/safe-buffer/package.json37
-rw-r--r--includes/search/node_modules/semver/LICENSE15
-rw-r--r--includes/search/node_modules/semver/README.md635
-rwxr-xr-xincludes/search/node_modules/semver/bin/semver.js197
-rw-r--r--includes/search/node_modules/semver/classes/comparator.js140
-rw-r--r--includes/search/node_modules/semver/classes/index.js5
-rw-r--r--includes/search/node_modules/semver/classes/range.js526
-rw-r--r--includes/search/node_modules/semver/classes/semver.js300
-rw-r--r--includes/search/node_modules/semver/functions/clean.js6
-rw-r--r--includes/search/node_modules/semver/functions/cmp.js52
-rw-r--r--includes/search/node_modules/semver/functions/coerce.js52
-rw-r--r--includes/search/node_modules/semver/functions/compare-build.js7
-rw-r--r--includes/search/node_modules/semver/functions/compare-loose.js3
-rw-r--r--includes/search/node_modules/semver/functions/compare.js5
-rw-r--r--includes/search/node_modules/semver/functions/diff.js54
-rw-r--r--includes/search/node_modules/semver/functions/eq.js3
-rw-r--r--includes/search/node_modules/semver/functions/gt.js3
-rw-r--r--includes/search/node_modules/semver/functions/gte.js3
-rw-r--r--includes/search/node_modules/semver/functions/inc.js19
-rw-r--r--includes/search/node_modules/semver/functions/lt.js3
-rw-r--r--includes/search/node_modules/semver/functions/lte.js3
-rw-r--r--includes/search/node_modules/semver/functions/major.js3
-rw-r--r--includes/search/node_modules/semver/functions/minor.js3
-rw-r--r--includes/search/node_modules/semver/functions/neq.js3
-rw-r--r--includes/search/node_modules/semver/functions/parse.js16
-rw-r--r--includes/search/node_modules/semver/functions/patch.js3
-rw-r--r--includes/search/node_modules/semver/functions/prerelease.js6
-rw-r--r--includes/search/node_modules/semver/functions/rcompare.js3
-rw-r--r--includes/search/node_modules/semver/functions/rsort.js3
-rw-r--r--includes/search/node_modules/semver/functions/satisfies.js10
-rw-r--r--includes/search/node_modules/semver/functions/sort.js3
-rw-r--r--includes/search/node_modules/semver/functions/valid.js6
-rw-r--r--includes/search/node_modules/semver/index.js89
-rw-r--r--includes/search/node_modules/semver/internal/constants.js30
-rw-r--r--includes/search/node_modules/semver/internal/debug.js9
-rw-r--r--includes/search/node_modules/semver/internal/identifiers.js23
-rw-r--r--includes/search/node_modules/semver/internal/parse-options.js15
-rw-r--r--includes/search/node_modules/semver/internal/re.js182
-rw-r--r--includes/search/node_modules/semver/package.json87
-rw-r--r--includes/search/node_modules/semver/preload.js2
-rw-r--r--includes/search/node_modules/semver/range.bnf16
-rw-r--r--includes/search/node_modules/semver/ranges/gtr.js4
-rw-r--r--includes/search/node_modules/semver/ranges/intersects.js7
-rw-r--r--includes/search/node_modules/semver/ranges/ltr.js4
-rw-r--r--includes/search/node_modules/semver/ranges/max-satisfying.js25
-rw-r--r--includes/search/node_modules/semver/ranges/min-satisfying.js24
-rw-r--r--includes/search/node_modules/semver/ranges/min-version.js61
-rw-r--r--includes/search/node_modules/semver/ranges/outside.js80
-rw-r--r--includes/search/node_modules/semver/ranges/simplify.js47
-rw-r--r--includes/search/node_modules/semver/ranges/subset.js247
-rw-r--r--includes/search/node_modules/semver/ranges/to-comparators.js8
-rw-r--r--includes/search/node_modules/semver/ranges/valid.js11
-rw-r--r--includes/search/node_modules/simple-concat/.travis.yml3
-rw-r--r--includes/search/node_modules/simple-concat/LICENSE20
-rw-r--r--includes/search/node_modules/simple-concat/README.md44
-rw-r--r--includes/search/node_modules/simple-concat/index.js15
-rw-r--r--includes/search/node_modules/simple-concat/package.json47
-rw-r--r--includes/search/node_modules/simple-concat/test/basic.js41
-rw-r--r--includes/search/node_modules/simple-get/.github/dependabot.yml15
-rw-r--r--includes/search/node_modules/simple-get/.github/workflows/ci.yml23
-rw-r--r--includes/search/node_modules/simple-get/LICENSE20
-rw-r--r--includes/search/node_modules/simple-get/README.md333
-rw-r--r--includes/search/node_modules/simple-get/index.js108
-rw-r--r--includes/search/node_modules/simple-get/package.json67
-rw-r--r--includes/search/node_modules/slash/index.d.ts25
-rw-r--r--includes/search/node_modules/slash/index.js11
-rw-r--r--includes/search/node_modules/slash/license9
-rw-r--r--includes/search/node_modules/slash/package.json35
-rw-r--r--includes/search/node_modules/slash/readme.md44
-rw-r--r--includes/search/node_modules/stream-meter/.npmignore2
-rw-r--r--includes/search/node_modules/stream-meter/LICENSE9
-rw-r--r--includes/search/node_modules/stream-meter/README.md102
-rw-r--r--includes/search/node_modules/stream-meter/index.js27
-rw-r--r--includes/search/node_modules/stream-meter/package.json35
-rw-r--r--includes/search/node_modules/stream-meter/test/index.js65
-rw-r--r--includes/search/node_modules/string-width/index.d.ts29
-rw-r--r--includes/search/node_modules/string-width/index.js47
-rw-r--r--includes/search/node_modules/string-width/license9
-rw-r--r--includes/search/node_modules/string-width/package.json56
-rw-r--r--includes/search/node_modules/string-width/readme.md50
-rw-r--r--includes/search/node_modules/string_decoder/.travis.yml50
-rw-r--r--includes/search/node_modules/string_decoder/LICENSE48
-rw-r--r--includes/search/node_modules/string_decoder/README.md47
-rw-r--r--includes/search/node_modules/string_decoder/lib/string_decoder.js296
-rw-r--r--includes/search/node_modules/string_decoder/package.json31
-rw-r--r--includes/search/node_modules/strip-ansi/index.d.ts17
-rw-r--r--includes/search/node_modules/strip-ansi/index.js4
-rw-r--r--includes/search/node_modules/strip-ansi/license9
-rw-r--r--includes/search/node_modules/strip-ansi/package.json54
-rw-r--r--includes/search/node_modules/strip-ansi/readme.md46
-rw-r--r--includes/search/node_modules/strip-json-comments/index.js70
-rw-r--r--includes/search/node_modules/strip-json-comments/license21
-rw-r--r--includes/search/node_modules/strip-json-comments/package.json42
-rw-r--r--includes/search/node_modules/strip-json-comments/readme.md64
-rw-r--r--includes/search/node_modules/supports-color/browser.js5
-rw-r--r--includes/search/node_modules/supports-color/index.js135
-rw-r--r--includes/search/node_modules/supports-color/license9
-rw-r--r--includes/search/node_modules/supports-color/package.json53
-rw-r--r--includes/search/node_modules/supports-color/readme.md76
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/.eslintrc14
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml12
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/.nycrc9
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md22
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/LICENSE21
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/README.md42
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/browser.js3
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/index.js9
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/package.json70
-rw-r--r--includes/search/node_modules/supports-preserve-symlinks-flag/test/index.js29
-rw-r--r--includes/search/node_modules/tar-fs/.travis.yml6
-rw-r--r--includes/search/node_modules/tar-fs/LICENSE21
-rw-r--r--includes/search/node_modules/tar-fs/README.md165
-rw-r--r--includes/search/node_modules/tar-fs/index.js351
-rw-r--r--includes/search/node_modules/tar-fs/package.json41
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/a/hello.txt1
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/b/a/test.txt1
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/d/file10
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/d/file20
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/d/sub-dir/file50
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/d/sub-files/file30
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/d/sub-files/file40
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/e/directory/.ignore0
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/e/file0
-rw-r--r--includes/search/node_modules/tar-fs/test/fixtures/invalid.tarbin2560 -> 0 bytes
-rw-r--r--includes/search/node_modules/tar-fs/test/index.js346
-rw-r--r--includes/search/node_modules/tar-stream/LICENSE21
-rw-r--r--includes/search/node_modules/tar-stream/README.md168
-rw-r--r--includes/search/node_modules/tar-stream/extract.js257
-rw-r--r--includes/search/node_modules/tar-stream/headers.js295
-rw-r--r--includes/search/node_modules/tar-stream/index.js2
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md38
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md136
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/LICENSE47
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/README.md106
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js127
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/errors.js116
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js17
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js126
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js37
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js1027
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js190
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js641
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js180
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js183
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js96
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js86
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js3
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js52
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js86
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js22
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js1
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js1
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/package.json68
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js9
-rw-r--r--includes/search/node_modules/tar-stream/node_modules/readable-stream/readable.js16
-rw-r--r--includes/search/node_modules/tar-stream/pack.js255
-rw-r--r--includes/search/node_modules/tar-stream/package.json58
-rw-r--r--includes/search/node_modules/tar-stream/sandbox.js11
-rw-r--r--includes/search/node_modules/to-fast-properties/index.js27
-rw-r--r--includes/search/node_modules/to-fast-properties/license10
-rw-r--r--includes/search/node_modules/to-fast-properties/package.json35
-rw-r--r--includes/search/node_modules/to-fast-properties/readme.md37
-rw-r--r--includes/search/node_modules/to-regex-range/LICENSE21
-rw-r--r--includes/search/node_modules/to-regex-range/README.md305
-rw-r--r--includes/search/node_modules/to-regex-range/index.js288
-rw-r--r--includes/search/node_modules/to-regex-range/package.json88
-rw-r--r--includes/search/node_modules/tr46/.npmignore4
-rw-r--r--includes/search/node_modules/tr46/index.js193
-rw-r--r--includes/search/node_modules/tr46/lib/.gitkeep0
-rw-r--r--includes/search/node_modules/tr46/lib/mappingTable.json1
-rw-r--r--includes/search/node_modules/tr46/package.json31
-rw-r--r--includes/search/node_modules/tunnel-agent/LICENSE55
-rw-r--r--includes/search/node_modules/tunnel-agent/README.md4
-rw-r--r--includes/search/node_modules/tunnel-agent/index.js244
-rw-r--r--includes/search/node_modules/tunnel-agent/package.json22
-rw-r--r--includes/search/node_modules/universalify/LICENSE20
-rw-r--r--includes/search/node_modules/universalify/README.md76
-rw-r--r--includes/search/node_modules/universalify/index.js24
-rw-r--r--includes/search/node_modules/universalify/package.json34
-rw-r--r--includes/search/node_modules/util-deprecate/History.md16
-rw-r--r--includes/search/node_modules/util-deprecate/LICENSE24
-rw-r--r--includes/search/node_modules/util-deprecate/README.md53
-rw-r--r--includes/search/node_modules/util-deprecate/browser.js67
-rw-r--r--includes/search/node_modules/util-deprecate/node.js6
-rw-r--r--includes/search/node_modules/util-deprecate/package.json27
-rw-r--r--includes/search/node_modules/webidl-conversions/LICENSE.md12
-rw-r--r--includes/search/node_modules/webidl-conversions/README.md53
-rw-r--r--includes/search/node_modules/webidl-conversions/lib/index.js189
-rw-r--r--includes/search/node_modules/webidl-conversions/package.json23
-rw-r--r--includes/search/node_modules/whatwg-url/LICENSE.txt21
-rw-r--r--includes/search/node_modules/whatwg-url/README.md67
-rw-r--r--includes/search/node_modules/whatwg-url/lib/URL-impl.js200
-rw-r--r--includes/search/node_modules/whatwg-url/lib/URL.js196
-rw-r--r--includes/search/node_modules/whatwg-url/lib/public-api.js11
-rw-r--r--includes/search/node_modules/whatwg-url/lib/url-state-machine.js1297
-rw-r--r--includes/search/node_modules/whatwg-url/lib/utils.js20
-rw-r--r--includes/search/node_modules/whatwg-url/package.json32
-rwxr-xr-xincludes/search/node_modules/wrap-ansi/index.js216
-rw-r--r--includes/search/node_modules/wrap-ansi/license9
-rw-r--r--includes/search/node_modules/wrap-ansi/package.json62
-rw-r--r--includes/search/node_modules/wrap-ansi/readme.md91
-rw-r--r--includes/search/node_modules/wrappy/LICENSE15
-rw-r--r--includes/search/node_modules/wrappy/README.md36
-rw-r--r--includes/search/node_modules/wrappy/package.json29
-rw-r--r--includes/search/node_modules/wrappy/wrappy.js33
-rw-r--r--includes/search/node_modules/y18n/CHANGELOG.md100
-rw-r--r--includes/search/node_modules/y18n/LICENSE13
-rw-r--r--includes/search/node_modules/y18n/README.md127
-rw-r--r--includes/search/node_modules/y18n/build/index.cjs203
-rw-r--r--includes/search/node_modules/y18n/build/lib/cjs.js6
-rw-r--r--includes/search/node_modules/y18n/build/lib/index.js174
-rw-r--r--includes/search/node_modules/y18n/build/lib/platform-shims/node.js19
-rw-r--r--includes/search/node_modules/y18n/index.mjs8
-rw-r--r--includes/search/node_modules/y18n/package.json70
-rw-r--r--includes/search/node_modules/yallist/LICENSE15
-rw-r--r--includes/search/node_modules/yallist/README.md204
-rw-r--r--includes/search/node_modules/yallist/iterator.js8
-rw-r--r--includes/search/node_modules/yallist/package.json29
-rw-r--r--includes/search/node_modules/yallist/yallist.js426
-rw-r--r--includes/search/node_modules/yargs-parser/CHANGELOG.md263
-rw-r--r--includes/search/node_modules/yargs-parser/LICENSE.txt14
-rw-r--r--includes/search/node_modules/yargs-parser/README.md518
-rw-r--r--includes/search/node_modules/yargs-parser/browser.js29
-rw-r--r--includes/search/node_modules/yargs-parser/build/index.cjs1042
-rw-r--r--includes/search/node_modules/yargs-parser/build/lib/index.js59
-rw-r--r--includes/search/node_modules/yargs-parser/build/lib/string-utils.js65
-rw-r--r--includes/search/node_modules/yargs-parser/build/lib/tokenize-arg-string.js40
-rw-r--r--includes/search/node_modules/yargs-parser/build/lib/yargs-parser-types.js12
-rw-r--r--includes/search/node_modules/yargs-parser/build/lib/yargs-parser.js1037
-rw-r--r--includes/search/node_modules/yargs-parser/package.json87
-rw-r--r--includes/search/node_modules/yargs/CHANGELOG.md88
-rw-r--r--includes/search/node_modules/yargs/LICENSE21
-rw-r--r--includes/search/node_modules/yargs/README.md202
-rw-r--r--includes/search/node_modules/yargs/browser.mjs7
-rw-r--r--includes/search/node_modules/yargs/build/index.cjs2920
-rw-r--r--includes/search/node_modules/yargs/build/lib/argsert.js62
-rw-r--r--includes/search/node_modules/yargs/build/lib/command.js382
-rw-r--r--includes/search/node_modules/yargs/build/lib/completion-templates.js47
-rw-r--r--includes/search/node_modules/yargs/build/lib/completion.js128
-rw-r--r--includes/search/node_modules/yargs/build/lib/middleware.js53
-rw-r--r--includes/search/node_modules/yargs/build/lib/parse-command.js32
-rw-r--r--includes/search/node_modules/yargs/build/lib/typings/common-types.js9
-rw-r--r--includes/search/node_modules/yargs/build/lib/typings/yargs-parser-types.js1
-rw-r--r--includes/search/node_modules/yargs/build/lib/usage.js548
-rw-r--r--includes/search/node_modules/yargs/build/lib/utils/apply-extends.js59
-rw-r--r--includes/search/node_modules/yargs/build/lib/utils/is-promise.js5
-rw-r--r--includes/search/node_modules/yargs/build/lib/utils/levenshtein.js26
-rw-r--r--includes/search/node_modules/yargs/build/lib/utils/obj-filter.js10
-rw-r--r--includes/search/node_modules/yargs/build/lib/utils/process-argv.js17
-rw-r--r--includes/search/node_modules/yargs/build/lib/utils/set-blocking.js12
-rw-r--r--includes/search/node_modules/yargs/build/lib/utils/which-module.js10
-rw-r--r--includes/search/node_modules/yargs/build/lib/validation.js308
-rw-r--r--includes/search/node_modules/yargs/build/lib/yargs-factory.js1143
-rw-r--r--includes/search/node_modules/yargs/build/lib/yerror.js7
-rw-r--r--includes/search/node_modules/yargs/helpers/helpers.mjs10
-rw-r--r--includes/search/node_modules/yargs/helpers/index.js14
-rw-r--r--includes/search/node_modules/yargs/helpers/package.json3
-rw-r--r--includes/search/node_modules/yargs/index.cjs39
-rw-r--r--includes/search/node_modules/yargs/index.mjs8
-rw-r--r--includes/search/node_modules/yargs/lib/platform-shims/browser.mjs92
-rw-r--r--includes/search/node_modules/yargs/lib/platform-shims/esm.mjs67
-rw-r--r--includes/search/node_modules/yargs/locales/be.json46
-rw-r--r--includes/search/node_modules/yargs/locales/de.json46
-rw-r--r--includes/search/node_modules/yargs/locales/en.json51
-rw-r--r--includes/search/node_modules/yargs/locales/es.json46
-rw-r--r--includes/search/node_modules/yargs/locales/fi.json49
-rw-r--r--includes/search/node_modules/yargs/locales/fr.json53
-rw-r--r--includes/search/node_modules/yargs/locales/hi.json49
-rw-r--r--includes/search/node_modules/yargs/locales/hu.json46
-rw-r--r--includes/search/node_modules/yargs/locales/id.json50
-rw-r--r--includes/search/node_modules/yargs/locales/it.json46
-rw-r--r--includes/search/node_modules/yargs/locales/ja.json51
-rw-r--r--includes/search/node_modules/yargs/locales/ko.json49
-rw-r--r--includes/search/node_modules/yargs/locales/nb.json44
-rw-r--r--includes/search/node_modules/yargs/locales/nl.json49
-rw-r--r--includes/search/node_modules/yargs/locales/nn.json44
-rw-r--r--includes/search/node_modules/yargs/locales/pirate.json13
-rw-r--r--includes/search/node_modules/yargs/locales/pl.json49
-rw-r--r--includes/search/node_modules/yargs/locales/pt.json45
-rw-r--r--includes/search/node_modules/yargs/locales/pt_BR.json48
-rw-r--r--includes/search/node_modules/yargs/locales/ru.json46
-rw-r--r--includes/search/node_modules/yargs/locales/th.json46
-rw-r--r--includes/search/node_modules/yargs/locales/tr.json48
-rw-r--r--includes/search/node_modules/yargs/locales/zh_CN.json48
-rw-r--r--includes/search/node_modules/yargs/locales/zh_TW.json47
-rw-r--r--includes/search/node_modules/yargs/package.json122
-rw-r--r--includes/search/node_modules/yargs/yargs9
-rw-r--r--includes/search/package-lock.json2567
-rw-r--r--includes/search/package.json11
-rw-r--r--index.php4
-rw-r--r--login/index.php2
-rw-r--r--search/index.php52
-rw-r--r--version2
1730 files changed, 7 insertions, 184254 deletions
diff --git a/includes/kiosk/dev.equestria.delta.kiosk.RequestApproval/index.php b/includes/kiosk/dev.equestria.delta.kiosk.RequestApproval/index.php
index f9f7013..fcd7f4c 100644
--- a/includes/kiosk/dev.equestria.delta.kiosk.RequestApproval/index.php
+++ b/includes/kiosk/dev.equestria.delta.kiosk.RequestApproval/index.php
@@ -57,7 +57,7 @@ if (isset($_GET["id"]) && in_array($_GET["id"], $users)) {
"Title: " . formatPonypush("Enable Delta Kiosk?") . "\r\n" .
"Priority: default\r\n" .
"Tags: delta\r\n" .
- "Actions: http, Approve, http://192.168.1.121:8081/dev.equestria.delta.kiosk.ApproveLogin/?id=" . $data["id"] . "&key=" . $key . ", clear=true; http, Reject, http://192.168.1.121:8081/dev.equestria.delta.kiosk.RejectLogin/?id=" . $data["id"] . "&key=" . $key . ", clear=true\r\n" .
+ "Actions: http, Approve, http://192.168.1.106:8081/dev.equestria.delta.kiosk.ApproveLogin/?id=" . $data["id"] . "&key=" . $key . ", clear=true; http, Reject, http://192.168.1.106:8081/dev.equestria.delta.kiosk.RejectLogin/?id=" . $data["id"] . "&key=" . $key . ", clear=true\r\n" .
"Authorization: Basic " . base64_encode($config["ntfyuser"] . ":" . $config["ntfypass"]),
'content' => formatPonypush("Someone is trying to enable a new Delta Kiosk instance, do you want to allow it and enable this kiosk?")
]
@@ -71,7 +71,7 @@ if (isset($_GET["id"]) && in_array($_GET["id"], $users)) {
"Title: " . formatPonypush("Approve log in request?") . "\r\n" .
"Priority: default\r\n" .
"Tags: delta\r\n" .
- "Actions: http, Approve, http://192.168.1.121:8081/dev.equestria.delta.kiosk.ApproveLogin/?id=" . $data["id"] . "&key=" . $key . ", clear=true; http, Reject, http://192.168.1.121:8081/dev.equestria.delta.kiosk.RejectLogin/?id=" . $data["id"] . "&key=" . $key . ", clear=true\r\n" .
+ "Actions: http, Approve, http://192.168.1.106:8081/dev.equestria.delta.kiosk.ApproveLogin/?id=" . $data["id"] . "&key=" . $key . ", clear=true; http, Reject, http://192.168.1.106:8081/dev.equestria.delta.kiosk.RejectLogin/?id=" . $data["id"] . "&key=" . $key . ", clear=true\r\n" .
"Authorization: Basic " . base64_encode($config["ntfyuser"] . ":" . $config["ntfypass"]),
'content' => formatPonypush($userData["first_name"] . " " . $userData["last_name"] . " (" . $_GET["id"] . ") is trying to log in to Delta from a kiosk, do you want to approve it?")
]
@@ -81,4 +81,4 @@ if (isset($_GET["id"]) && in_array($_GET["id"], $users)) {
$data["ok"] = true;
}
-die(json_encode($data, JSON_PRETTY_PRINT)); \ No newline at end of file
+die(json_encode($data, JSON_PRETTY_PRINT));
diff --git a/includes/navigation.php b/includes/navigation.php
index b291d35..1f43b2a 100644
--- a/includes/navigation.php
+++ b/includes/navigation.php
@@ -152,9 +152,6 @@
</ul>
</div>
<div style="display: inline-flex;float: right;height: 57px;margin-top: -10px;align-items: center;margin-right:-10px;">
- <a style="margin-right: 15px;" href="/search" data-bs-placement="bottom" class="newnav-link" title="<?= l("lang_navigation_search") ?>" data-bs-toggle="tooltip">
- <img class="icon" src="/icons/search.svg">
- </a>
<a style="margin-right: 15px;" href="/requests" data-bs-placement="bottom" class="newnav-link" title="<?= l("lang_navigation_user_requests") ?>" data-bs-toggle="tooltip">
<img class="icon" src="/icons/requests.svg">
</a>
diff --git a/includes/search/build/search-linux-x64 b/includes/search/build/search-linux-x64
deleted file mode 100755
index d6dd070..0000000
--- a/includes/search/build/search-linux-x64
+++ /dev/null
Binary files differ
diff --git a/includes/search/build/search-mac-arm64 b/includes/search/build/search-mac-arm64
deleted file mode 100755
index dedf152..0000000
--- a/includes/search/build/search-mac-arm64
+++ /dev/null
Binary files differ
diff --git a/includes/search/index.js b/includes/search/index.js
deleted file mode 100644
index fb75e4e..0000000
--- a/includes/search/index.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const Fuse = require('fuse.js');
-const fs = require('fs');
-
-const entries = JSON.parse(fs.readFileSync(process.argv[2]).toString())["entries"];
-const query = JSON.parse(fs.readFileSync(process.argv[2]).toString())["query"];
-const allowExactMatch = JSON.parse(fs.readFileSync(process.argv[2]).toString())["exact"];
-
-let fuse = new Fuse(entries, {
- includeScore: true,
- findAllMatches: true,
- keys: [
- {
- name: "name",
- weight: 0.7
- },
- {
- name: "alts",
- weight: 0.5
- },
- {
- name: "extract",
- weight: 0.3
- }
- ]
-});
-
-let results = fuse.search(query);
-console.log(JSON.stringify(results.map(i => {
- return {
- score: i.score,
- breakdown: [],
- value: i.item
- }
-}).filter(i => allowExactMatch || (!allowExactMatch && i.value.name.toLowerCase() !== query.toLowerCase())))); \ No newline at end of file
diff --git a/includes/search/node_modules/.bin/jsesc b/includes/search/node_modules/.bin/jsesc
deleted file mode 120000
index 7237604..0000000
--- a/includes/search/node_modules/.bin/jsesc
+++ /dev/null
@@ -1 +0,0 @@
-../jsesc/bin/jsesc \ No newline at end of file
diff --git a/includes/search/node_modules/.bin/parser b/includes/search/node_modules/.bin/parser
deleted file mode 120000
index ce7bf97..0000000
--- a/includes/search/node_modules/.bin/parser
+++ /dev/null
@@ -1 +0,0 @@
-../@babel/parser/bin/babel-parser.js \ No newline at end of file
diff --git a/includes/search/node_modules/.bin/pkg b/includes/search/node_modules/.bin/pkg
deleted file mode 120000
index 3f6f032..0000000
--- a/includes/search/node_modules/.bin/pkg
+++ /dev/null
@@ -1 +0,0 @@
-../pkg/lib-es5/bin.js \ No newline at end of file
diff --git a/includes/search/node_modules/.bin/pkg-fetch b/includes/search/node_modules/.bin/pkg-fetch
deleted file mode 120000
index 6418e5d..0000000
--- a/includes/search/node_modules/.bin/pkg-fetch
+++ /dev/null
@@ -1 +0,0 @@
-../pkg-fetch/lib-es5/bin.js \ No newline at end of file
diff --git a/includes/search/node_modules/.bin/prebuild-install b/includes/search/node_modules/.bin/prebuild-install
deleted file mode 120000
index 12a458d..0000000
--- a/includes/search/node_modules/.bin/prebuild-install
+++ /dev/null
@@ -1 +0,0 @@
-../prebuild-install/bin.js \ No newline at end of file
diff --git a/includes/search/node_modules/.bin/rc b/includes/search/node_modules/.bin/rc
deleted file mode 120000
index 48b3cda..0000000
--- a/includes/search/node_modules/.bin/rc
+++ /dev/null
@@ -1 +0,0 @@
-../rc/cli.js \ No newline at end of file
diff --git a/includes/search/node_modules/.bin/resolve b/includes/search/node_modules/.bin/resolve
deleted file mode 120000
index b6afda6..0000000
--- a/includes/search/node_modules/.bin/resolve
+++ /dev/null
@@ -1 +0,0 @@
-../resolve/bin/resolve \ No newline at end of file
diff --git a/includes/search/node_modules/.bin/semver b/includes/search/node_modules/.bin/semver
deleted file mode 120000
index 5aaadf4..0000000
--- a/includes/search/node_modules/.bin/semver
+++ /dev/null
@@ -1 +0,0 @@
-../semver/bin/semver.js \ No newline at end of file
diff --git a/includes/search/node_modules/.package-lock.json b/includes/search/node_modules/.package-lock.json
deleted file mode 100644
index 53ce0e3..0000000
--- a/includes/search/node_modules/.package-lock.json
+++ /dev/null
@@ -1,1489 +0,0 @@
-{
- "name": "search",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "node_modules/@babel/generator": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz",
- "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.18.2",
- "@jridgewell/gen-mapping": "^0.3.0",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.21.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz",
- "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.18.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz",
- "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz",
- "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-string-parser": "^7.18.10",
- "@babel/helper-validator-identifier": "^7.18.6",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.18",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
- "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
- "dev": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
- },
- "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "dev": true
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dev": true,
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "dev": true,
- "dependencies": {
- "mimic-response": "^3.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true,
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/detect-libc": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
- "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "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"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- }
- },
- "node_modules/fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true
- },
- "node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/fuse.js": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz",
- "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/github-from-package": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
- "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
- "dev": true
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "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"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
- "node_modules/into-stream": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz",
- "integrity": "sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==",
- "dev": true,
- "dependencies": {
- "from2": "^2.3.0",
- "p-is-promise": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
- "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
- "dev": true
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/multistream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/multistream/-/multistream-4.1.0.tgz",
- "integrity": "sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "once": "^1.4.0",
- "readable-stream": "^3.6.0"
- }
- },
- "node_modules/multistream/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
- "dev": true
- },
- "node_modules/node-abi": {
- "version": "3.40.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz",
- "integrity": "sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==",
- "dev": true,
- "dependencies": {
- "semver": "^7.3.5"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/node-fetch": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
- "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
- "dev": true,
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/p-is-promise": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz",
- "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pkg": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.8.1.tgz",
- "integrity": "sha512-CjBWtFStCfIiT4Bde9QpJy0KeH19jCfwZRJqHFDFXfhUklCx8JoFmMj3wgnEYIwGmZVNkhsStPHEOnrtrQhEXA==",
- "dev": true,
- "dependencies": {
- "@babel/generator": "7.18.2",
- "@babel/parser": "7.18.4",
- "@babel/types": "7.19.0",
- "chalk": "^4.1.2",
- "fs-extra": "^9.1.0",
- "globby": "^11.1.0",
- "into-stream": "^6.0.0",
- "is-core-module": "2.9.0",
- "minimist": "^1.2.6",
- "multistream": "^4.1.0",
- "pkg-fetch": "3.4.2",
- "prebuild-install": "7.1.1",
- "resolve": "^1.22.0",
- "stream-meter": "^1.0.4"
- },
- "bin": {
- "pkg": "lib-es5/bin.js"
- },
- "peerDependencies": {
- "node-notifier": ">=9.0.1"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/pkg-fetch": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.4.2.tgz",
- "integrity": "sha512-0+uijmzYcnhC0hStDjm/cl2VYdrmVVBpe7Q8k9YBojxmR5tG8mvR9/nooQq3QSXiQqORDVOTY3XqMEqJVIzkHA==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.2",
- "fs-extra": "^9.1.0",
- "https-proxy-agent": "^5.0.0",
- "node-fetch": "^2.6.6",
- "progress": "^2.0.3",
- "semver": "^7.3.5",
- "tar-fs": "^2.1.1",
- "yargs": "^16.2.0"
- },
- "bin": {
- "pkg-fetch": "lib-es5/bin.js"
- }
- },
- "node_modules/prebuild-install": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
- "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
- "dev": true,
- "dependencies": {
- "detect-libc": "^2.0.0",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^3.3.0",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^4.0.0",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- },
- "bin": {
- "prebuild-install": "bin.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "node_modules/progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dev": true,
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "bin": {
- "rc": "cli.js"
- }
- },
- "node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
- "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"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.2",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
- "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.11.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve/node_modules/is-core-module": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
- "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/semver": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/simple-get": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
- "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "decompress-response": "^6.0.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/stream-meter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz",
- "integrity": "sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==",
- "dev": true,
- "dependencies": {
- "readable-stream": "^2.1.4"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
- "dev": true,
- "dependencies": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dev": true,
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tar-stream/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
- },
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true,
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
- },
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- }
- }
-}
diff --git a/includes/search/node_modules/@babel/generator/LICENSE b/includes/search/node_modules/@babel/generator/LICENSE
deleted file mode 100644
index f31575e..0000000
--- a/includes/search/node_modules/@babel/generator/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/@babel/generator/README.md b/includes/search/node_modules/@babel/generator/README.md
deleted file mode 100644
index b760238..0000000
--- a/includes/search/node_modules/@babel/generator/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/generator
-
-> Turns an AST into code.
-
-See our website [@babel/generator](https://babeljs.io/docs/en/babel-generator) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20generator%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/generator
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/generator --dev
-```
diff --git a/includes/search/node_modules/@babel/generator/lib/buffer.js b/includes/search/node_modules/@babel/generator/lib/buffer.js
deleted file mode 100644
index 99d9afe..0000000
--- a/includes/search/node_modules/@babel/generator/lib/buffer.js
+++ /dev/null
@@ -1,254 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = void 0;
-
-function SourcePos() {
- return {
- identifierName: undefined,
- line: undefined,
- column: undefined,
- filename: undefined
- };
-}
-
-const SPACES_RE = /^[ \t]+$/;
-
-class Buffer {
- constructor(map) {
- this._map = null;
- this._buf = "";
- this._last = 0;
- this._queue = [];
- this._position = {
- line: 1,
- column: 0
- };
- this._sourcePosition = SourcePos();
- this._disallowedPop = null;
- this._map = map;
- }
-
- get() {
- this._flush();
-
- const map = this._map;
- const result = {
- code: this._buf.trimRight(),
- decodedMap: map == null ? void 0 : map.getDecoded(),
-
- get map() {
- return result.map = map ? map.get() : null;
- },
-
- set map(value) {
- Object.defineProperty(result, "map", {
- value,
- writable: true
- });
- },
-
- get rawMappings() {
- return result.rawMappings = map == null ? void 0 : map.getRawMappings();
- },
-
- set rawMappings(value) {
- Object.defineProperty(result, "rawMappings", {
- value,
- writable: true
- });
- }
-
- };
- return result;
- }
-
- append(str) {
- this._flush();
-
- const {
- line,
- column,
- filename,
- identifierName
- } = this._sourcePosition;
-
- this._append(str, line, column, identifierName, filename);
- }
-
- queue(str) {
- if (str === "\n") {
- while (this._queue.length > 0 && SPACES_RE.test(this._queue[0][0])) {
- this._queue.shift();
- }
- }
-
- const {
- line,
- column,
- filename,
- identifierName
- } = this._sourcePosition;
-
- this._queue.unshift([str, line, column, identifierName, filename]);
- }
-
- queueIndentation(str) {
- this._queue.unshift([str, undefined, undefined, undefined, undefined]);
- }
-
- _flush() {
- let item;
-
- while (item = this._queue.pop()) {
- this._append(...item);
- }
- }
-
- _append(str, line, column, identifierName, filename) {
- this._buf += str;
- this._last = str.charCodeAt(str.length - 1);
- let i = str.indexOf("\n");
- let last = 0;
-
- if (i !== 0) {
- this._mark(line, column, identifierName, filename);
- }
-
- while (i !== -1) {
- this._position.line++;
- this._position.column = 0;
- last = i + 1;
-
- if (last < str.length) {
- this._mark(++line, 0, identifierName, filename);
- }
-
- i = str.indexOf("\n", last);
- }
-
- this._position.column += str.length - last;
- }
-
- _mark(line, column, identifierName, filename) {
- var _this$_map;
-
- (_this$_map = this._map) == null ? void 0 : _this$_map.mark(this._position, line, column, identifierName, filename);
- }
-
- removeTrailingNewline() {
- if (this._queue.length > 0 && this._queue[0][0] === "\n") {
- this._queue.shift();
- }
- }
-
- removeLastSemicolon() {
- if (this._queue.length > 0 && this._queue[0][0] === ";") {
- this._queue.shift();
- }
- }
-
- getLastChar() {
- let last;
-
- if (this._queue.length > 0) {
- const str = this._queue[0][0];
- last = str.charCodeAt(0);
- } else {
- last = this._last;
- }
-
- return last;
- }
-
- endsWithCharAndNewline() {
- const queue = this._queue;
-
- if (queue.length > 0) {
- const last = queue[0][0];
- const lastCp = last.charCodeAt(0);
- if (lastCp !== 10) return;
-
- if (queue.length > 1) {
- const secondLast = queue[1][0];
- return secondLast.charCodeAt(0);
- } else {
- return this._last;
- }
- }
- }
-
- hasContent() {
- return this._queue.length > 0 || !!this._last;
- }
-
- exactSource(loc, cb) {
- this.source("start", loc);
- cb();
- this.source("end", loc);
-
- this._disallowPop("start", loc);
- }
-
- source(prop, loc) {
- if (prop && !loc) return;
-
- this._normalizePosition(prop, loc, this._sourcePosition);
- }
-
- withSource(prop, loc, cb) {
- if (!this._map) return cb();
- const originalLine = this._sourcePosition.line;
- const originalColumn = this._sourcePosition.column;
- const originalFilename = this._sourcePosition.filename;
- const originalIdentifierName = this._sourcePosition.identifierName;
- this.source(prop, loc);
- cb();
-
- if (!this._disallowedPop || this._disallowedPop.line !== originalLine || this._disallowedPop.column !== originalColumn || this._disallowedPop.filename !== originalFilename) {
- this._sourcePosition.line = originalLine;
- this._sourcePosition.column = originalColumn;
- this._sourcePosition.filename = originalFilename;
- this._sourcePosition.identifierName = originalIdentifierName;
- this._disallowedPop = null;
- }
- }
-
- _disallowPop(prop, loc) {
- if (prop && !loc) return;
- this._disallowedPop = this._normalizePosition(prop, loc, SourcePos());
- }
-
- _normalizePosition(prop, loc, targetObj) {
- const pos = loc ? loc[prop] : null;
- targetObj.identifierName = prop === "start" && (loc == null ? void 0 : loc.identifierName) || undefined;
- targetObj.line = pos == null ? void 0 : pos.line;
- targetObj.column = pos == null ? void 0 : pos.column;
- targetObj.filename = loc == null ? void 0 : loc.filename;
- return targetObj;
- }
-
- getCurrentColumn() {
- const extra = this._queue.reduce((acc, item) => item[0] + acc, "");
-
- const lastIndex = extra.lastIndexOf("\n");
- return lastIndex === -1 ? this._position.column + extra.length : extra.length - 1 - lastIndex;
- }
-
- getCurrentLine() {
- const extra = this._queue.reduce((acc, item) => item[0] + acc, "");
-
- let count = 0;
-
- for (let i = 0; i < extra.length; i++) {
- if (extra[i] === "\n") count++;
- }
-
- return this._position.line + count;
- }
-
-}
-
-exports.default = Buffer; \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/base.js b/includes/search/node_modules/@babel/generator/lib/generators/base.js
deleted file mode 100644
index be9285c..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/base.js
+++ /dev/null
@@ -1,96 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.BlockStatement = BlockStatement;
-exports.Directive = Directive;
-exports.DirectiveLiteral = DirectiveLiteral;
-exports.File = File;
-exports.InterpreterDirective = InterpreterDirective;
-exports.Placeholder = Placeholder;
-exports.Program = Program;
-
-function File(node) {
- if (node.program) {
- this.print(node.program.interpreter, node);
- }
-
- this.print(node.program, node);
-}
-
-function Program(node) {
- this.printInnerComments(node, false);
- this.printSequence(node.directives, node);
- if (node.directives && node.directives.length) this.newline();
- this.printSequence(node.body, node);
-}
-
-function BlockStatement(node) {
- var _node$directives;
-
- this.token("{");
- this.printInnerComments(node);
- const hasDirectives = (_node$directives = node.directives) == null ? void 0 : _node$directives.length;
-
- if (node.body.length || hasDirectives) {
- this.newline();
- this.printSequence(node.directives, node, {
- indent: true
- });
- if (hasDirectives) this.newline();
- this.printSequence(node.body, node, {
- indent: true
- });
- this.removeTrailingNewline();
- this.source("end", node.loc);
- if (!this.endsWith(10)) this.newline();
- this.rightBrace();
- } else {
- this.source("end", node.loc);
- this.token("}");
- }
-}
-
-function Directive(node) {
- this.print(node.value, node);
- this.semicolon();
-}
-
-const unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/;
-const unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/;
-
-function DirectiveLiteral(node) {
- const raw = this.getPossibleRaw(node);
-
- if (!this.format.minified && raw != null) {
- this.token(raw);
- return;
- }
-
- const {
- value
- } = node;
-
- if (!unescapedDoubleQuoteRE.test(value)) {
- this.token(`"${value}"`);
- } else if (!unescapedSingleQuoteRE.test(value)) {
- this.token(`'${value}'`);
- } else {
- throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes.");
- }
-}
-
-function InterpreterDirective(node) {
- this.token(`#!${node.value}\n`);
-}
-
-function Placeholder(node) {
- this.token("%%");
- this.print(node.name);
- this.token("%%");
-
- if (node.expectedNode === "Statement") {
- this.semicolon();
- }
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/classes.js b/includes/search/node_modules/@babel/generator/lib/generators/classes.js
deleted file mode 100644
index 141dfda..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/classes.js
+++ /dev/null
@@ -1,213 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.ClassAccessorProperty = ClassAccessorProperty;
-exports.ClassBody = ClassBody;
-exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration;
-exports.ClassMethod = ClassMethod;
-exports.ClassPrivateMethod = ClassPrivateMethod;
-exports.ClassPrivateProperty = ClassPrivateProperty;
-exports.ClassProperty = ClassProperty;
-exports.StaticBlock = StaticBlock;
-exports._classMethodHead = _classMethodHead;
-
-var _t = require("@babel/types");
-
-const {
- isExportDefaultDeclaration,
- isExportNamedDeclaration
-} = _t;
-
-function ClassDeclaration(node, parent) {
- if (!this.format.decoratorsBeforeExport || !isExportDefaultDeclaration(parent) && !isExportNamedDeclaration(parent)) {
- this.printJoin(node.decorators, node);
- }
-
- if (node.declare) {
- this.word("declare");
- this.space();
- }
-
- if (node.abstract) {
- this.word("abstract");
- this.space();
- }
-
- this.word("class");
- this.printInnerComments(node);
-
- if (node.id) {
- this.space();
- this.print(node.id, node);
- }
-
- this.print(node.typeParameters, node);
-
- if (node.superClass) {
- this.space();
- this.word("extends");
- this.space();
- this.print(node.superClass, node);
- this.print(node.superTypeParameters, node);
- }
-
- if (node.implements) {
- this.space();
- this.word("implements");
- this.space();
- this.printList(node.implements, node);
- }
-
- this.space();
- this.print(node.body, node);
-}
-
-function ClassBody(node) {
- this.token("{");
- this.printInnerComments(node);
-
- if (node.body.length === 0) {
- this.token("}");
- } else {
- this.newline();
- this.indent();
- this.printSequence(node.body, node);
- this.dedent();
- if (!this.endsWith(10)) this.newline();
- this.rightBrace();
- }
-}
-
-function ClassProperty(node) {
- this.printJoin(node.decorators, node);
- this.source("end", node.key.loc);
- this.tsPrintClassMemberModifiers(node, true);
-
- if (node.computed) {
- this.token("[");
- this.print(node.key, node);
- this.token("]");
- } else {
- this._variance(node);
-
- this.print(node.key, node);
- }
-
- if (node.optional) {
- this.token("?");
- }
-
- if (node.definite) {
- this.token("!");
- }
-
- this.print(node.typeAnnotation, node);
-
- if (node.value) {
- this.space();
- this.token("=");
- this.space();
- this.print(node.value, node);
- }
-
- this.semicolon();
-}
-
-function ClassAccessorProperty(node) {
- this.printJoin(node.decorators, node);
- this.source("end", node.key.loc);
- this.tsPrintClassMemberModifiers(node, true);
- this.word("accessor");
- this.printInnerComments(node);
- this.space();
-
- if (node.computed) {
- this.token("[");
- this.print(node.key, node);
- this.token("]");
- } else {
- this._variance(node);
-
- this.print(node.key, node);
- }
-
- if (node.optional) {
- this.token("?");
- }
-
- if (node.definite) {
- this.token("!");
- }
-
- this.print(node.typeAnnotation, node);
-
- if (node.value) {
- this.space();
- this.token("=");
- this.space();
- this.print(node.value, node);
- }
-
- this.semicolon();
-}
-
-function ClassPrivateProperty(node) {
- this.printJoin(node.decorators, node);
-
- if (node.static) {
- this.word("static");
- this.space();
- }
-
- this.print(node.key, node);
- this.print(node.typeAnnotation, node);
-
- if (node.value) {
- this.space();
- this.token("=");
- this.space();
- this.print(node.value, node);
- }
-
- this.semicolon();
-}
-
-function ClassMethod(node) {
- this._classMethodHead(node);
-
- this.space();
- this.print(node.body, node);
-}
-
-function ClassPrivateMethod(node) {
- this._classMethodHead(node);
-
- this.space();
- this.print(node.body, node);
-}
-
-function _classMethodHead(node) {
- this.printJoin(node.decorators, node);
- this.source("end", node.key.loc);
- this.tsPrintClassMemberModifiers(node, false);
-
- this._methodHead(node);
-}
-
-function StaticBlock(node) {
- this.word("static");
- this.space();
- this.token("{");
-
- if (node.body.length === 0) {
- this.token("}");
- } else {
- this.newline();
- this.printSequence(node.body, node, {
- indent: true
- });
- this.rightBrace();
- }
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/expressions.js b/includes/search/node_modules/@babel/generator/lib/generators/expressions.js
deleted file mode 100644
index c1caf0d..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/expressions.js
+++ /dev/null
@@ -1,354 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression;
-exports.AssignmentPattern = AssignmentPattern;
-exports.AwaitExpression = void 0;
-exports.BindExpression = BindExpression;
-exports.CallExpression = CallExpression;
-exports.ConditionalExpression = ConditionalExpression;
-exports.Decorator = Decorator;
-exports.DoExpression = DoExpression;
-exports.EmptyStatement = EmptyStatement;
-exports.ExpressionStatement = ExpressionStatement;
-exports.Import = Import;
-exports.MemberExpression = MemberExpression;
-exports.MetaProperty = MetaProperty;
-exports.ModuleExpression = ModuleExpression;
-exports.NewExpression = NewExpression;
-exports.OptionalCallExpression = OptionalCallExpression;
-exports.OptionalMemberExpression = OptionalMemberExpression;
-exports.ParenthesizedExpression = ParenthesizedExpression;
-exports.PrivateName = PrivateName;
-exports.SequenceExpression = SequenceExpression;
-exports.Super = Super;
-exports.ThisExpression = ThisExpression;
-exports.UnaryExpression = UnaryExpression;
-exports.UpdateExpression = UpdateExpression;
-exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier;
-exports.YieldExpression = void 0;
-
-var _t = require("@babel/types");
-
-var n = require("../node");
-
-const {
- isCallExpression,
- isLiteral,
- isMemberExpression,
- isNewExpression
-} = _t;
-
-function UnaryExpression(node) {
- if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof" || node.operator === "throw") {
- this.word(node.operator);
- this.space();
- } else {
- this.token(node.operator);
- }
-
- this.print(node.argument, node);
-}
-
-function DoExpression(node) {
- if (node.async) {
- this.word("async");
- this.space();
- }
-
- this.word("do");
- this.space();
- this.print(node.body, node);
-}
-
-function ParenthesizedExpression(node) {
- this.token("(");
- this.print(node.expression, node);
- this.token(")");
-}
-
-function UpdateExpression(node) {
- if (node.prefix) {
- this.token(node.operator);
- this.print(node.argument, node);
- } else {
- this.startTerminatorless(true);
- this.print(node.argument, node);
- this.endTerminatorless();
- this.token(node.operator);
- }
-}
-
-function ConditionalExpression(node) {
- this.print(node.test, node);
- this.space();
- this.token("?");
- this.space();
- this.print(node.consequent, node);
- this.space();
- this.token(":");
- this.space();
- this.print(node.alternate, node);
-}
-
-function NewExpression(node, parent) {
- this.word("new");
- this.space();
- this.print(node.callee, node);
-
- if (this.format.minified && node.arguments.length === 0 && !node.optional && !isCallExpression(parent, {
- callee: node
- }) && !isMemberExpression(parent) && !isNewExpression(parent)) {
- return;
- }
-
- this.print(node.typeArguments, node);
- this.print(node.typeParameters, node);
-
- if (node.optional) {
- this.token("?.");
- }
-
- this.token("(");
- this.printList(node.arguments, node);
- this.token(")");
-}
-
-function SequenceExpression(node) {
- this.printList(node.expressions, node);
-}
-
-function ThisExpression() {
- this.word("this");
-}
-
-function Super() {
- this.word("super");
-}
-
-function isDecoratorMemberExpression(node) {
- switch (node.type) {
- case "Identifier":
- return true;
-
- case "MemberExpression":
- return !node.computed && node.property.type === "Identifier" && isDecoratorMemberExpression(node.object);
-
- default:
- return false;
- }
-}
-
-function shouldParenthesizeDecoratorExpression(node) {
- if (node.type === "CallExpression") {
- node = node.callee;
- }
-
- if (node.type === "ParenthesizedExpression") {
- return false;
- }
-
- return !isDecoratorMemberExpression(node);
-}
-
-function Decorator(node) {
- this.token("@");
- const {
- expression
- } = node;
-
- if (shouldParenthesizeDecoratorExpression(expression)) {
- this.token("(");
- this.print(expression, node);
- this.token(")");
- } else {
- this.print(expression, node);
- }
-
- this.newline();
-}
-
-function OptionalMemberExpression(node) {
- this.print(node.object, node);
-
- if (!node.computed && isMemberExpression(node.property)) {
- throw new TypeError("Got a MemberExpression for MemberExpression property");
- }
-
- let computed = node.computed;
-
- if (isLiteral(node.property) && typeof node.property.value === "number") {
- computed = true;
- }
-
- if (node.optional) {
- this.token("?.");
- }
-
- if (computed) {
- this.token("[");
- this.print(node.property, node);
- this.token("]");
- } else {
- if (!node.optional) {
- this.token(".");
- }
-
- this.print(node.property, node);
- }
-}
-
-function OptionalCallExpression(node) {
- this.print(node.callee, node);
- this.print(node.typeArguments, node);
- this.print(node.typeParameters, node);
-
- if (node.optional) {
- this.token("?.");
- }
-
- this.token("(");
- this.printList(node.arguments, node);
- this.token(")");
-}
-
-function CallExpression(node) {
- this.print(node.callee, node);
- this.print(node.typeArguments, node);
- this.print(node.typeParameters, node);
- this.token("(");
- this.printList(node.arguments, node);
- this.token(")");
-}
-
-function Import() {
- this.word("import");
-}
-
-function buildYieldAwait(keyword) {
- return function (node) {
- this.word(keyword);
-
- if (node.delegate) {
- this.token("*");
- }
-
- if (node.argument) {
- this.space();
- const terminatorState = this.startTerminatorless();
- this.print(node.argument, node);
- this.endTerminatorless(terminatorState);
- }
- };
-}
-
-const YieldExpression = buildYieldAwait("yield");
-exports.YieldExpression = YieldExpression;
-const AwaitExpression = buildYieldAwait("await");
-exports.AwaitExpression = AwaitExpression;
-
-function EmptyStatement() {
- this.semicolon(true);
-}
-
-function ExpressionStatement(node) {
- this.print(node.expression, node);
- this.semicolon();
-}
-
-function AssignmentPattern(node) {
- this.print(node.left, node);
- if (node.left.optional) this.token("?");
- this.print(node.left.typeAnnotation, node);
- this.space();
- this.token("=");
- this.space();
- this.print(node.right, node);
-}
-
-function AssignmentExpression(node, parent) {
- const parens = this.inForStatementInitCounter && node.operator === "in" && !n.needsParens(node, parent);
-
- if (parens) {
- this.token("(");
- }
-
- this.print(node.left, node);
- this.space();
-
- if (node.operator === "in" || node.operator === "instanceof") {
- this.word(node.operator);
- } else {
- this.token(node.operator);
- }
-
- this.space();
- this.print(node.right, node);
-
- if (parens) {
- this.token(")");
- }
-}
-
-function BindExpression(node) {
- this.print(node.object, node);
- this.token("::");
- this.print(node.callee, node);
-}
-
-function MemberExpression(node) {
- this.print(node.object, node);
-
- if (!node.computed && isMemberExpression(node.property)) {
- throw new TypeError("Got a MemberExpression for MemberExpression property");
- }
-
- let computed = node.computed;
-
- if (isLiteral(node.property) && typeof node.property.value === "number") {
- computed = true;
- }
-
- if (computed) {
- this.token("[");
- this.print(node.property, node);
- this.token("]");
- } else {
- this.token(".");
- this.print(node.property, node);
- }
-}
-
-function MetaProperty(node) {
- this.print(node.meta, node);
- this.token(".");
- this.print(node.property, node);
-}
-
-function PrivateName(node) {
- this.token("#");
- this.print(node.id, node);
-}
-
-function V8IntrinsicIdentifier(node) {
- this.token("%");
- this.word(node.name);
-}
-
-function ModuleExpression(node) {
- this.word("module");
- this.space();
- this.token("{");
-
- if (node.body.body.length === 0) {
- this.token("}");
- } else {
- this.newline();
- this.printSequence(node.body.body, node, {
- indent: true
- });
- this.rightBrace();
- }
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/flow.js b/includes/search/node_modules/@babel/generator/lib/generators/flow.js
deleted file mode 100644
index 7c0bc7d..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/flow.js
+++ /dev/null
@@ -1,795 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.AnyTypeAnnotation = AnyTypeAnnotation;
-exports.ArrayTypeAnnotation = ArrayTypeAnnotation;
-exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation;
-exports.BooleanTypeAnnotation = BooleanTypeAnnotation;
-exports.DeclareClass = DeclareClass;
-exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration;
-exports.DeclareExportDeclaration = DeclareExportDeclaration;
-exports.DeclareFunction = DeclareFunction;
-exports.DeclareInterface = DeclareInterface;
-exports.DeclareModule = DeclareModule;
-exports.DeclareModuleExports = DeclareModuleExports;
-exports.DeclareOpaqueType = DeclareOpaqueType;
-exports.DeclareTypeAlias = DeclareTypeAlias;
-exports.DeclareVariable = DeclareVariable;
-exports.DeclaredPredicate = DeclaredPredicate;
-exports.EmptyTypeAnnotation = EmptyTypeAnnotation;
-exports.EnumBooleanBody = EnumBooleanBody;
-exports.EnumBooleanMember = EnumBooleanMember;
-exports.EnumDeclaration = EnumDeclaration;
-exports.EnumDefaultedMember = EnumDefaultedMember;
-exports.EnumNumberBody = EnumNumberBody;
-exports.EnumNumberMember = EnumNumberMember;
-exports.EnumStringBody = EnumStringBody;
-exports.EnumStringMember = EnumStringMember;
-exports.EnumSymbolBody = EnumSymbolBody;
-exports.ExistsTypeAnnotation = ExistsTypeAnnotation;
-exports.FunctionTypeAnnotation = FunctionTypeAnnotation;
-exports.FunctionTypeParam = FunctionTypeParam;
-exports.IndexedAccessType = IndexedAccessType;
-exports.InferredPredicate = InferredPredicate;
-exports.InterfaceDeclaration = InterfaceDeclaration;
-exports.GenericTypeAnnotation = exports.ClassImplements = exports.InterfaceExtends = InterfaceExtends;
-exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation;
-exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation;
-exports.MixedTypeAnnotation = MixedTypeAnnotation;
-exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation;
-exports.NullableTypeAnnotation = NullableTypeAnnotation;
-Object.defineProperty(exports, "NumberLiteralTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _types2.NumericLiteral;
- }
-});
-exports.NumberTypeAnnotation = NumberTypeAnnotation;
-exports.ObjectTypeAnnotation = ObjectTypeAnnotation;
-exports.ObjectTypeCallProperty = ObjectTypeCallProperty;
-exports.ObjectTypeIndexer = ObjectTypeIndexer;
-exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot;
-exports.ObjectTypeProperty = ObjectTypeProperty;
-exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty;
-exports.OpaqueType = OpaqueType;
-exports.OptionalIndexedAccessType = OptionalIndexedAccessType;
-exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier;
-Object.defineProperty(exports, "StringLiteralTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _types2.StringLiteral;
- }
-});
-exports.StringTypeAnnotation = StringTypeAnnotation;
-exports.SymbolTypeAnnotation = SymbolTypeAnnotation;
-exports.ThisTypeAnnotation = ThisTypeAnnotation;
-exports.TupleTypeAnnotation = TupleTypeAnnotation;
-exports.TypeAlias = TypeAlias;
-exports.TypeAnnotation = TypeAnnotation;
-exports.TypeCastExpression = TypeCastExpression;
-exports.TypeParameter = TypeParameter;
-exports.TypeParameterDeclaration = exports.TypeParameterInstantiation = TypeParameterInstantiation;
-exports.TypeofTypeAnnotation = TypeofTypeAnnotation;
-exports.UnionTypeAnnotation = UnionTypeAnnotation;
-exports.Variance = Variance;
-exports.VoidTypeAnnotation = VoidTypeAnnotation;
-exports._interfaceish = _interfaceish;
-exports._variance = _variance;
-
-var _t = require("@babel/types");
-
-var _modules = require("./modules");
-
-var _types2 = require("./types");
-
-const {
- isDeclareExportDeclaration,
- isStatement
-} = _t;
-
-function AnyTypeAnnotation() {
- this.word("any");
-}
-
-function ArrayTypeAnnotation(node) {
- this.print(node.elementType, node);
- this.token("[");
- this.token("]");
-}
-
-function BooleanTypeAnnotation() {
- this.word("boolean");
-}
-
-function BooleanLiteralTypeAnnotation(node) {
- this.word(node.value ? "true" : "false");
-}
-
-function NullLiteralTypeAnnotation() {
- this.word("null");
-}
-
-function DeclareClass(node, parent) {
- if (!isDeclareExportDeclaration(parent)) {
- this.word("declare");
- this.space();
- }
-
- this.word("class");
- this.space();
-
- this._interfaceish(node);
-}
-
-function DeclareFunction(node, parent) {
- if (!isDeclareExportDeclaration(parent)) {
- this.word("declare");
- this.space();
- }
-
- this.word("function");
- this.space();
- this.print(node.id, node);
- this.print(node.id.typeAnnotation.typeAnnotation, node);
-
- if (node.predicate) {
- this.space();
- this.print(node.predicate, node);
- }
-
- this.semicolon();
-}
-
-function InferredPredicate() {
- this.token("%");
- this.word("checks");
-}
-
-function DeclaredPredicate(node) {
- this.token("%");
- this.word("checks");
- this.token("(");
- this.print(node.value, node);
- this.token(")");
-}
-
-function DeclareInterface(node) {
- this.word("declare");
- this.space();
- this.InterfaceDeclaration(node);
-}
-
-function DeclareModule(node) {
- this.word("declare");
- this.space();
- this.word("module");
- this.space();
- this.print(node.id, node);
- this.space();
- this.print(node.body, node);
-}
-
-function DeclareModuleExports(node) {
- this.word("declare");
- this.space();
- this.word("module");
- this.token(".");
- this.word("exports");
- this.print(node.typeAnnotation, node);
-}
-
-function DeclareTypeAlias(node) {
- this.word("declare");
- this.space();
- this.TypeAlias(node);
-}
-
-function DeclareOpaqueType(node, parent) {
- if (!isDeclareExportDeclaration(parent)) {
- this.word("declare");
- this.space();
- }
-
- this.OpaqueType(node);
-}
-
-function DeclareVariable(node, parent) {
- if (!isDeclareExportDeclaration(parent)) {
- this.word("declare");
- this.space();
- }
-
- this.word("var");
- this.space();
- this.print(node.id, node);
- this.print(node.id.typeAnnotation, node);
- this.semicolon();
-}
-
-function DeclareExportDeclaration(node) {
- this.word("declare");
- this.space();
- this.word("export");
- this.space();
-
- if (node.default) {
- this.word("default");
- this.space();
- }
-
- FlowExportDeclaration.apply(this, arguments);
-}
-
-function DeclareExportAllDeclaration() {
- this.word("declare");
- this.space();
-
- _modules.ExportAllDeclaration.apply(this, arguments);
-}
-
-function EnumDeclaration(node) {
- const {
- id,
- body
- } = node;
- this.word("enum");
- this.space();
- this.print(id, node);
- this.print(body, node);
-}
-
-function enumExplicitType(context, name, hasExplicitType) {
- if (hasExplicitType) {
- context.space();
- context.word("of");
- context.space();
- context.word(name);
- }
-
- context.space();
-}
-
-function enumBody(context, node) {
- const {
- members
- } = node;
- context.token("{");
- context.indent();
- context.newline();
-
- for (const member of members) {
- context.print(member, node);
- context.newline();
- }
-
- if (node.hasUnknownMembers) {
- context.token("...");
- context.newline();
- }
-
- context.dedent();
- context.token("}");
-}
-
-function EnumBooleanBody(node) {
- const {
- explicitType
- } = node;
- enumExplicitType(this, "boolean", explicitType);
- enumBody(this, node);
-}
-
-function EnumNumberBody(node) {
- const {
- explicitType
- } = node;
- enumExplicitType(this, "number", explicitType);
- enumBody(this, node);
-}
-
-function EnumStringBody(node) {
- const {
- explicitType
- } = node;
- enumExplicitType(this, "string", explicitType);
- enumBody(this, node);
-}
-
-function EnumSymbolBody(node) {
- enumExplicitType(this, "symbol", true);
- enumBody(this, node);
-}
-
-function EnumDefaultedMember(node) {
- const {
- id
- } = node;
- this.print(id, node);
- this.token(",");
-}
-
-function enumInitializedMember(context, node) {
- const {
- id,
- init
- } = node;
- context.print(id, node);
- context.space();
- context.token("=");
- context.space();
- context.print(init, node);
- context.token(",");
-}
-
-function EnumBooleanMember(node) {
- enumInitializedMember(this, node);
-}
-
-function EnumNumberMember(node) {
- enumInitializedMember(this, node);
-}
-
-function EnumStringMember(node) {
- enumInitializedMember(this, node);
-}
-
-function FlowExportDeclaration(node) {
- if (node.declaration) {
- const declar = node.declaration;
- this.print(declar, node);
- if (!isStatement(declar)) this.semicolon();
- } else {
- this.token("{");
-
- if (node.specifiers.length) {
- this.space();
- this.printList(node.specifiers, node);
- this.space();
- }
-
- this.token("}");
-
- if (node.source) {
- this.space();
- this.word("from");
- this.space();
- this.print(node.source, node);
- }
-
- this.semicolon();
- }
-}
-
-function ExistsTypeAnnotation() {
- this.token("*");
-}
-
-function FunctionTypeAnnotation(node, parent) {
- this.print(node.typeParameters, node);
- this.token("(");
-
- if (node.this) {
- this.word("this");
- this.token(":");
- this.space();
- this.print(node.this.typeAnnotation, node);
-
- if (node.params.length || node.rest) {
- this.token(",");
- this.space();
- }
- }
-
- this.printList(node.params, node);
-
- if (node.rest) {
- if (node.params.length) {
- this.token(",");
- this.space();
- }
-
- this.token("...");
- this.print(node.rest, node);
- }
-
- this.token(")");
-
- if (parent && (parent.type === "ObjectTypeCallProperty" || parent.type === "DeclareFunction" || parent.type === "ObjectTypeProperty" && parent.method)) {
- this.token(":");
- } else {
- this.space();
- this.token("=>");
- }
-
- this.space();
- this.print(node.returnType, node);
-}
-
-function FunctionTypeParam(node) {
- this.print(node.name, node);
- if (node.optional) this.token("?");
-
- if (node.name) {
- this.token(":");
- this.space();
- }
-
- this.print(node.typeAnnotation, node);
-}
-
-function InterfaceExtends(node) {
- this.print(node.id, node);
- this.print(node.typeParameters, node);
-}
-
-function _interfaceish(node) {
- var _node$extends;
-
- this.print(node.id, node);
- this.print(node.typeParameters, node);
-
- if ((_node$extends = node.extends) != null && _node$extends.length) {
- this.space();
- this.word("extends");
- this.space();
- this.printList(node.extends, node);
- }
-
- if (node.mixins && node.mixins.length) {
- this.space();
- this.word("mixins");
- this.space();
- this.printList(node.mixins, node);
- }
-
- if (node.implements && node.implements.length) {
- this.space();
- this.word("implements");
- this.space();
- this.printList(node.implements, node);
- }
-
- this.space();
- this.print(node.body, node);
-}
-
-function _variance(node) {
- if (node.variance) {
- if (node.variance.kind === "plus") {
- this.token("+");
- } else if (node.variance.kind === "minus") {
- this.token("-");
- }
- }
-}
-
-function InterfaceDeclaration(node) {
- this.word("interface");
- this.space();
-
- this._interfaceish(node);
-}
-
-function andSeparator() {
- this.space();
- this.token("&");
- this.space();
-}
-
-function InterfaceTypeAnnotation(node) {
- this.word("interface");
-
- if (node.extends && node.extends.length) {
- this.space();
- this.word("extends");
- this.space();
- this.printList(node.extends, node);
- }
-
- this.space();
- this.print(node.body, node);
-}
-
-function IntersectionTypeAnnotation(node) {
- this.printJoin(node.types, node, {
- separator: andSeparator
- });
-}
-
-function MixedTypeAnnotation() {
- this.word("mixed");
-}
-
-function EmptyTypeAnnotation() {
- this.word("empty");
-}
-
-function NullableTypeAnnotation(node) {
- this.token("?");
- this.print(node.typeAnnotation, node);
-}
-
-function NumberTypeAnnotation() {
- this.word("number");
-}
-
-function StringTypeAnnotation() {
- this.word("string");
-}
-
-function ThisTypeAnnotation() {
- this.word("this");
-}
-
-function TupleTypeAnnotation(node) {
- this.token("[");
- this.printList(node.types, node);
- this.token("]");
-}
-
-function TypeofTypeAnnotation(node) {
- this.word("typeof");
- this.space();
- this.print(node.argument, node);
-}
-
-function TypeAlias(node) {
- this.word("type");
- this.space();
- this.print(node.id, node);
- this.print(node.typeParameters, node);
- this.space();
- this.token("=");
- this.space();
- this.print(node.right, node);
- this.semicolon();
-}
-
-function TypeAnnotation(node) {
- this.token(":");
- this.space();
- if (node.optional) this.token("?");
- this.print(node.typeAnnotation, node);
-}
-
-function TypeParameterInstantiation(node) {
- this.token("<");
- this.printList(node.params, node, {});
- this.token(">");
-}
-
-function TypeParameter(node) {
- this._variance(node);
-
- this.word(node.name);
-
- if (node.bound) {
- this.print(node.bound, node);
- }
-
- if (node.default) {
- this.space();
- this.token("=");
- this.space();
- this.print(node.default, node);
- }
-}
-
-function OpaqueType(node) {
- this.word("opaque");
- this.space();
- this.word("type");
- this.space();
- this.print(node.id, node);
- this.print(node.typeParameters, node);
-
- if (node.supertype) {
- this.token(":");
- this.space();
- this.print(node.supertype, node);
- }
-
- if (node.impltype) {
- this.space();
- this.token("=");
- this.space();
- this.print(node.impltype, node);
- }
-
- this.semicolon();
-}
-
-function ObjectTypeAnnotation(node) {
- if (node.exact) {
- this.token("{|");
- } else {
- this.token("{");
- }
-
- const props = [...node.properties, ...(node.callProperties || []), ...(node.indexers || []), ...(node.internalSlots || [])];
-
- if (props.length) {
- this.space();
- this.printJoin(props, node, {
- addNewlines(leading) {
- if (leading && !props[0]) return 1;
- },
-
- indent: true,
- statement: true,
- iterator: () => {
- if (props.length !== 1 || node.inexact) {
- this.token(",");
- this.space();
- }
- }
- });
- this.space();
- }
-
- if (node.inexact) {
- this.indent();
- this.token("...");
-
- if (props.length) {
- this.newline();
- }
-
- this.dedent();
- }
-
- if (node.exact) {
- this.token("|}");
- } else {
- this.token("}");
- }
-}
-
-function ObjectTypeInternalSlot(node) {
- if (node.static) {
- this.word("static");
- this.space();
- }
-
- this.token("[");
- this.token("[");
- this.print(node.id, node);
- this.token("]");
- this.token("]");
- if (node.optional) this.token("?");
-
- if (!node.method) {
- this.token(":");
- this.space();
- }
-
- this.print(node.value, node);
-}
-
-function ObjectTypeCallProperty(node) {
- if (node.static) {
- this.word("static");
- this.space();
- }
-
- this.print(node.value, node);
-}
-
-function ObjectTypeIndexer(node) {
- if (node.static) {
- this.word("static");
- this.space();
- }
-
- this._variance(node);
-
- this.token("[");
-
- if (node.id) {
- this.print(node.id, node);
- this.token(":");
- this.space();
- }
-
- this.print(node.key, node);
- this.token("]");
- this.token(":");
- this.space();
- this.print(node.value, node);
-}
-
-function ObjectTypeProperty(node) {
- if (node.proto) {
- this.word("proto");
- this.space();
- }
-
- if (node.static) {
- this.word("static");
- this.space();
- }
-
- if (node.kind === "get" || node.kind === "set") {
- this.word(node.kind);
- this.space();
- }
-
- this._variance(node);
-
- this.print(node.key, node);
- if (node.optional) this.token("?");
-
- if (!node.method) {
- this.token(":");
- this.space();
- }
-
- this.print(node.value, node);
-}
-
-function ObjectTypeSpreadProperty(node) {
- this.token("...");
- this.print(node.argument, node);
-}
-
-function QualifiedTypeIdentifier(node) {
- this.print(node.qualification, node);
- this.token(".");
- this.print(node.id, node);
-}
-
-function SymbolTypeAnnotation() {
- this.word("symbol");
-}
-
-function orSeparator() {
- this.space();
- this.token("|");
- this.space();
-}
-
-function UnionTypeAnnotation(node) {
- this.printJoin(node.types, node, {
- separator: orSeparator
- });
-}
-
-function TypeCastExpression(node) {
- this.token("(");
- this.print(node.expression, node);
- this.print(node.typeAnnotation, node);
- this.token(")");
-}
-
-function Variance(node) {
- if (node.kind === "plus") {
- this.token("+");
- } else {
- this.token("-");
- }
-}
-
-function VoidTypeAnnotation() {
- this.word("void");
-}
-
-function IndexedAccessType(node) {
- this.print(node.objectType, node);
- this.token("[");
- this.print(node.indexType, node);
- this.token("]");
-}
-
-function OptionalIndexedAccessType(node) {
- this.print(node.objectType, node);
-
- if (node.optional) {
- this.token("?.");
- }
-
- this.token("[");
- this.print(node.indexType, node);
- this.token("]");
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/index.js b/includes/search/node_modules/@babel/generator/lib/generators/index.js
deleted file mode 100644
index 8820db0..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/index.js
+++ /dev/null
@@ -1,148 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _templateLiterals = require("./template-literals");
-
-Object.keys(_templateLiterals).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _templateLiterals[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _templateLiterals[key];
- }
- });
-});
-
-var _expressions = require("./expressions");
-
-Object.keys(_expressions).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _expressions[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _expressions[key];
- }
- });
-});
-
-var _statements = require("./statements");
-
-Object.keys(_statements).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _statements[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _statements[key];
- }
- });
-});
-
-var _classes = require("./classes");
-
-Object.keys(_classes).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _classes[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _classes[key];
- }
- });
-});
-
-var _methods = require("./methods");
-
-Object.keys(_methods).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _methods[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _methods[key];
- }
- });
-});
-
-var _modules = require("./modules");
-
-Object.keys(_modules).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _modules[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _modules[key];
- }
- });
-});
-
-var _types = require("./types");
-
-Object.keys(_types).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _types[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _types[key];
- }
- });
-});
-
-var _flow = require("./flow");
-
-Object.keys(_flow).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _flow[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _flow[key];
- }
- });
-});
-
-var _base = require("./base");
-
-Object.keys(_base).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _base[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _base[key];
- }
- });
-});
-
-var _jsx = require("./jsx");
-
-Object.keys(_jsx).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _jsx[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _jsx[key];
- }
- });
-});
-
-var _typescript = require("./typescript");
-
-Object.keys(_typescript).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (key in exports && exports[key] === _typescript[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _typescript[key];
- }
- });
-}); \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/jsx.js b/includes/search/node_modules/@babel/generator/lib/generators/jsx.js
deleted file mode 100644
index 3c11f59..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/jsx.js
+++ /dev/null
@@ -1,145 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.JSXAttribute = JSXAttribute;
-exports.JSXClosingElement = JSXClosingElement;
-exports.JSXClosingFragment = JSXClosingFragment;
-exports.JSXElement = JSXElement;
-exports.JSXEmptyExpression = JSXEmptyExpression;
-exports.JSXExpressionContainer = JSXExpressionContainer;
-exports.JSXFragment = JSXFragment;
-exports.JSXIdentifier = JSXIdentifier;
-exports.JSXMemberExpression = JSXMemberExpression;
-exports.JSXNamespacedName = JSXNamespacedName;
-exports.JSXOpeningElement = JSXOpeningElement;
-exports.JSXOpeningFragment = JSXOpeningFragment;
-exports.JSXSpreadAttribute = JSXSpreadAttribute;
-exports.JSXSpreadChild = JSXSpreadChild;
-exports.JSXText = JSXText;
-
-function JSXAttribute(node) {
- this.print(node.name, node);
-
- if (node.value) {
- this.token("=");
- this.print(node.value, node);
- }
-}
-
-function JSXIdentifier(node) {
- this.word(node.name);
-}
-
-function JSXNamespacedName(node) {
- this.print(node.namespace, node);
- this.token(":");
- this.print(node.name, node);
-}
-
-function JSXMemberExpression(node) {
- this.print(node.object, node);
- this.token(".");
- this.print(node.property, node);
-}
-
-function JSXSpreadAttribute(node) {
- this.token("{");
- this.token("...");
- this.print(node.argument, node);
- this.token("}");
-}
-
-function JSXExpressionContainer(node) {
- this.token("{");
- this.print(node.expression, node);
- this.token("}");
-}
-
-function JSXSpreadChild(node) {
- this.token("{");
- this.token("...");
- this.print(node.expression, node);
- this.token("}");
-}
-
-function JSXText(node) {
- const raw = this.getPossibleRaw(node);
-
- if (raw != null) {
- this.token(raw);
- } else {
- this.token(node.value);
- }
-}
-
-function JSXElement(node) {
- const open = node.openingElement;
- this.print(open, node);
- if (open.selfClosing) return;
- this.indent();
-
- for (const child of node.children) {
- this.print(child, node);
- }
-
- this.dedent();
- this.print(node.closingElement, node);
-}
-
-function spaceSeparator() {
- this.space();
-}
-
-function JSXOpeningElement(node) {
- this.token("<");
- this.print(node.name, node);
- this.print(node.typeParameters, node);
-
- if (node.attributes.length > 0) {
- this.space();
- this.printJoin(node.attributes, node, {
- separator: spaceSeparator
- });
- }
-
- if (node.selfClosing) {
- this.space();
- this.token("/>");
- } else {
- this.token(">");
- }
-}
-
-function JSXClosingElement(node) {
- this.token("</");
- this.print(node.name, node);
- this.token(">");
-}
-
-function JSXEmptyExpression(node) {
- this.printInnerComments(node);
-}
-
-function JSXFragment(node) {
- this.print(node.openingFragment, node);
- this.indent();
-
- for (const child of node.children) {
- this.print(child, node);
- }
-
- this.dedent();
- this.print(node.closingFragment, node);
-}
-
-function JSXOpeningFragment() {
- this.token("<");
- this.token(">");
-}
-
-function JSXClosingFragment() {
- this.token("</");
- this.token(">");
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/methods.js b/includes/search/node_modules/@babel/generator/lib/generators/methods.js
deleted file mode 100644
index d31e7fa..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/methods.js
+++ /dev/null
@@ -1,150 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.ArrowFunctionExpression = ArrowFunctionExpression;
-exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression;
-exports._functionHead = _functionHead;
-exports._methodHead = _methodHead;
-exports._param = _param;
-exports._parameters = _parameters;
-exports._params = _params;
-exports._predicate = _predicate;
-
-var _t = require("@babel/types");
-
-const {
- isIdentifier
-} = _t;
-
-function _params(node) {
- this.print(node.typeParameters, node);
- this.token("(");
-
- this._parameters(node.params, node);
-
- this.token(")");
- this.print(node.returnType, node);
-}
-
-function _parameters(parameters, parent) {
- for (let i = 0; i < parameters.length; i++) {
- this._param(parameters[i], parent);
-
- if (i < parameters.length - 1) {
- this.token(",");
- this.space();
- }
- }
-}
-
-function _param(parameter, parent) {
- this.printJoin(parameter.decorators, parameter);
- this.print(parameter, parent);
- if (parameter.optional) this.token("?");
- this.print(parameter.typeAnnotation, parameter);
-}
-
-function _methodHead(node) {
- const kind = node.kind;
- const key = node.key;
-
- if (kind === "get" || kind === "set") {
- this.word(kind);
- this.space();
- }
-
- if (node.async) {
- this._catchUp("start", key.loc);
-
- this.word("async");
- this.space();
- }
-
- if (kind === "method" || kind === "init") {
- if (node.generator) {
- this.token("*");
- }
- }
-
- if (node.computed) {
- this.token("[");
- this.print(key, node);
- this.token("]");
- } else {
- this.print(key, node);
- }
-
- if (node.optional) {
- this.token("?");
- }
-
- this._params(node);
-}
-
-function _predicate(node) {
- if (node.predicate) {
- if (!node.returnType) {
- this.token(":");
- }
-
- this.space();
- this.print(node.predicate, node);
- }
-}
-
-function _functionHead(node) {
- if (node.async) {
- this.word("async");
- this.space();
- }
-
- this.word("function");
- if (node.generator) this.token("*");
- this.printInnerComments(node);
- this.space();
-
- if (node.id) {
- this.print(node.id, node);
- }
-
- this._params(node);
-
- this._predicate(node);
-}
-
-function FunctionExpression(node) {
- this._functionHead(node);
-
- this.space();
- this.print(node.body, node);
-}
-
-function ArrowFunctionExpression(node) {
- if (node.async) {
- this.word("async");
- this.space();
- }
-
- const firstParam = node.params[0];
-
- if (!this.format.retainLines && !this.format.auxiliaryCommentBefore && !this.format.auxiliaryCommentAfter && node.params.length === 1 && isIdentifier(firstParam) && !hasTypesOrComments(node, firstParam)) {
- this.print(firstParam, node);
- } else {
- this._params(node);
- }
-
- this._predicate(node);
-
- this.space();
- this.token("=>");
- this.space();
- this.print(node.body, node);
-}
-
-function hasTypesOrComments(node, param) {
- var _param$leadingComment, _param$trailingCommen;
-
- return !!(node.typeParameters || node.returnType || node.predicate || param.typeAnnotation || param.optional || (_param$leadingComment = param.leadingComments) != null && _param$leadingComment.length || (_param$trailingCommen = param.trailingComments) != null && _param$trailingCommen.length);
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/modules.js b/includes/search/node_modules/@babel/generator/lib/generators/modules.js
deleted file mode 100644
index 3224deb..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/modules.js
+++ /dev/null
@@ -1,244 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.ExportAllDeclaration = ExportAllDeclaration;
-exports.ExportDefaultDeclaration = ExportDefaultDeclaration;
-exports.ExportDefaultSpecifier = ExportDefaultSpecifier;
-exports.ExportNamedDeclaration = ExportNamedDeclaration;
-exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier;
-exports.ExportSpecifier = ExportSpecifier;
-exports.ImportAttribute = ImportAttribute;
-exports.ImportDeclaration = ImportDeclaration;
-exports.ImportDefaultSpecifier = ImportDefaultSpecifier;
-exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier;
-exports.ImportSpecifier = ImportSpecifier;
-
-var _t = require("@babel/types");
-
-const {
- isClassDeclaration,
- isExportDefaultSpecifier,
- isExportNamespaceSpecifier,
- isImportDefaultSpecifier,
- isImportNamespaceSpecifier,
- isStatement
-} = _t;
-
-function ImportSpecifier(node) {
- if (node.importKind === "type" || node.importKind === "typeof") {
- this.word(node.importKind);
- this.space();
- }
-
- this.print(node.imported, node);
-
- if (node.local && node.local.name !== node.imported.name) {
- this.space();
- this.word("as");
- this.space();
- this.print(node.local, node);
- }
-}
-
-function ImportDefaultSpecifier(node) {
- this.print(node.local, node);
-}
-
-function ExportDefaultSpecifier(node) {
- this.print(node.exported, node);
-}
-
-function ExportSpecifier(node) {
- if (node.exportKind === "type") {
- this.word("type");
- this.space();
- }
-
- this.print(node.local, node);
-
- if (node.exported && node.local.name !== node.exported.name) {
- this.space();
- this.word("as");
- this.space();
- this.print(node.exported, node);
- }
-}
-
-function ExportNamespaceSpecifier(node) {
- this.token("*");
- this.space();
- this.word("as");
- this.space();
- this.print(node.exported, node);
-}
-
-function ExportAllDeclaration(node) {
- this.word("export");
- this.space();
-
- if (node.exportKind === "type") {
- this.word("type");
- this.space();
- }
-
- this.token("*");
- this.space();
- this.word("from");
- this.space();
- this.print(node.source, node);
- this.printAssertions(node);
- this.semicolon();
-}
-
-function ExportNamedDeclaration(node) {
- if (this.format.decoratorsBeforeExport && isClassDeclaration(node.declaration)) {
- this.printJoin(node.declaration.decorators, node);
- }
-
- this.word("export");
- this.space();
- ExportDeclaration.apply(this, arguments);
-}
-
-function ExportDefaultDeclaration(node) {
- if (this.format.decoratorsBeforeExport && isClassDeclaration(node.declaration)) {
- this.printJoin(node.declaration.decorators, node);
- }
-
- this.word("export");
- this.space();
- this.word("default");
- this.space();
- ExportDeclaration.apply(this, arguments);
-}
-
-function ExportDeclaration(node) {
- if (node.declaration) {
- const declar = node.declaration;
- this.print(declar, node);
- if (!isStatement(declar)) this.semicolon();
- } else {
- if (node.exportKind === "type") {
- this.word("type");
- this.space();
- }
-
- const specifiers = node.specifiers.slice(0);
- let hasSpecial = false;
-
- for (;;) {
- const first = specifiers[0];
-
- if (isExportDefaultSpecifier(first) || isExportNamespaceSpecifier(first)) {
- hasSpecial = true;
- this.print(specifiers.shift(), node);
-
- if (specifiers.length) {
- this.token(",");
- this.space();
- }
- } else {
- break;
- }
- }
-
- if (specifiers.length || !specifiers.length && !hasSpecial) {
- this.token("{");
-
- if (specifiers.length) {
- this.space();
- this.printList(specifiers, node);
- this.space();
- }
-
- this.token("}");
- }
-
- if (node.source) {
- this.space();
- this.word("from");
- this.space();
- this.print(node.source, node);
- this.printAssertions(node);
- }
-
- this.semicolon();
- }
-}
-
-function ImportDeclaration(node) {
- this.word("import");
- this.space();
- const isTypeKind = node.importKind === "type" || node.importKind === "typeof";
-
- if (isTypeKind) {
- this.word(node.importKind);
- this.space();
- }
-
- const specifiers = node.specifiers.slice(0);
- const hasSpecifiers = !!specifiers.length;
-
- while (hasSpecifiers) {
- const first = specifiers[0];
-
- if (isImportDefaultSpecifier(first) || isImportNamespaceSpecifier(first)) {
- this.print(specifiers.shift(), node);
-
- if (specifiers.length) {
- this.token(",");
- this.space();
- }
- } else {
- break;
- }
- }
-
- if (specifiers.length) {
- this.token("{");
- this.space();
- this.printList(specifiers, node);
- this.space();
- this.token("}");
- } else if (isTypeKind && !hasSpecifiers) {
- this.token("{");
- this.token("}");
- }
-
- if (hasSpecifiers || isTypeKind) {
- this.space();
- this.word("from");
- this.space();
- }
-
- this.print(node.source, node);
- this.printAssertions(node);
- {
- var _node$attributes;
-
- if ((_node$attributes = node.attributes) != null && _node$attributes.length) {
- this.space();
- this.word("with");
- this.space();
- this.printList(node.attributes, node);
- }
- }
- this.semicolon();
-}
-
-function ImportAttribute(node) {
- this.print(node.key);
- this.token(":");
- this.space();
- this.print(node.value);
-}
-
-function ImportNamespaceSpecifier(node) {
- this.token("*");
- this.space();
- this.word("as");
- this.space();
- this.print(node.local, node);
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/statements.js b/includes/search/node_modules/@babel/generator/lib/generators/statements.js
deleted file mode 100644
index 8b7b8fd..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/statements.js
+++ /dev/null
@@ -1,331 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.BreakStatement = void 0;
-exports.CatchClause = CatchClause;
-exports.ContinueStatement = void 0;
-exports.DebuggerStatement = DebuggerStatement;
-exports.DoWhileStatement = DoWhileStatement;
-exports.ForOfStatement = exports.ForInStatement = void 0;
-exports.ForStatement = ForStatement;
-exports.IfStatement = IfStatement;
-exports.LabeledStatement = LabeledStatement;
-exports.ReturnStatement = void 0;
-exports.SwitchCase = SwitchCase;
-exports.SwitchStatement = SwitchStatement;
-exports.ThrowStatement = void 0;
-exports.TryStatement = TryStatement;
-exports.VariableDeclaration = VariableDeclaration;
-exports.VariableDeclarator = VariableDeclarator;
-exports.WhileStatement = WhileStatement;
-exports.WithStatement = WithStatement;
-
-var _t = require("@babel/types");
-
-const {
- isFor,
- isForStatement,
- isIfStatement,
- isStatement
-} = _t;
-
-function WithStatement(node) {
- this.word("with");
- this.space();
- this.token("(");
- this.print(node.object, node);
- this.token(")");
- this.printBlock(node);
-}
-
-function IfStatement(node) {
- this.word("if");
- this.space();
- this.token("(");
- this.print(node.test, node);
- this.token(")");
- this.space();
- const needsBlock = node.alternate && isIfStatement(getLastStatement(node.consequent));
-
- if (needsBlock) {
- this.token("{");
- this.newline();
- this.indent();
- }
-
- this.printAndIndentOnComments(node.consequent, node);
-
- if (needsBlock) {
- this.dedent();
- this.newline();
- this.token("}");
- }
-
- if (node.alternate) {
- if (this.endsWith(125)) this.space();
- this.word("else");
- this.space();
- this.printAndIndentOnComments(node.alternate, node);
- }
-}
-
-function getLastStatement(statement) {
- if (!isStatement(statement.body)) return statement;
- return getLastStatement(statement.body);
-}
-
-function ForStatement(node) {
- this.word("for");
- this.space();
- this.token("(");
- this.inForStatementInitCounter++;
- this.print(node.init, node);
- this.inForStatementInitCounter--;
- this.token(";");
-
- if (node.test) {
- this.space();
- this.print(node.test, node);
- }
-
- this.token(";");
-
- if (node.update) {
- this.space();
- this.print(node.update, node);
- }
-
- this.token(")");
- this.printBlock(node);
-}
-
-function WhileStatement(node) {
- this.word("while");
- this.space();
- this.token("(");
- this.print(node.test, node);
- this.token(")");
- this.printBlock(node);
-}
-
-const buildForXStatement = function (op) {
- return function (node) {
- this.word("for");
- this.space();
-
- if (op === "of" && node.await) {
- this.word("await");
- this.space();
- }
-
- this.token("(");
- this.print(node.left, node);
- this.space();
- this.word(op);
- this.space();
- this.print(node.right, node);
- this.token(")");
- this.printBlock(node);
- };
-};
-
-const ForInStatement = buildForXStatement("in");
-exports.ForInStatement = ForInStatement;
-const ForOfStatement = buildForXStatement("of");
-exports.ForOfStatement = ForOfStatement;
-
-function DoWhileStatement(node) {
- this.word("do");
- this.space();
- this.print(node.body, node);
- this.space();
- this.word("while");
- this.space();
- this.token("(");
- this.print(node.test, node);
- this.token(")");
- this.semicolon();
-}
-
-function buildLabelStatement(prefix, key = "label") {
- return function (node) {
- this.word(prefix);
- const label = node[key];
-
- if (label) {
- this.space();
- const isLabel = key == "label";
- const terminatorState = this.startTerminatorless(isLabel);
- this.print(label, node);
- this.endTerminatorless(terminatorState);
- }
-
- this.semicolon();
- };
-}
-
-const ContinueStatement = buildLabelStatement("continue");
-exports.ContinueStatement = ContinueStatement;
-const ReturnStatement = buildLabelStatement("return", "argument");
-exports.ReturnStatement = ReturnStatement;
-const BreakStatement = buildLabelStatement("break");
-exports.BreakStatement = BreakStatement;
-const ThrowStatement = buildLabelStatement("throw", "argument");
-exports.ThrowStatement = ThrowStatement;
-
-function LabeledStatement(node) {
- this.print(node.label, node);
- this.token(":");
- this.space();
- this.print(node.body, node);
-}
-
-function TryStatement(node) {
- this.word("try");
- this.space();
- this.print(node.block, node);
- this.space();
-
- if (node.handlers) {
- this.print(node.handlers[0], node);
- } else {
- this.print(node.handler, node);
- }
-
- if (node.finalizer) {
- this.space();
- this.word("finally");
- this.space();
- this.print(node.finalizer, node);
- }
-}
-
-function CatchClause(node) {
- this.word("catch");
- this.space();
-
- if (node.param) {
- this.token("(");
- this.print(node.param, node);
- this.print(node.param.typeAnnotation, node);
- this.token(")");
- this.space();
- }
-
- this.print(node.body, node);
-}
-
-function SwitchStatement(node) {
- this.word("switch");
- this.space();
- this.token("(");
- this.print(node.discriminant, node);
- this.token(")");
- this.space();
- this.token("{");
- this.printSequence(node.cases, node, {
- indent: true,
-
- addNewlines(leading, cas) {
- if (!leading && node.cases[node.cases.length - 1] === cas) return -1;
- }
-
- });
- this.token("}");
-}
-
-function SwitchCase(node) {
- if (node.test) {
- this.word("case");
- this.space();
- this.print(node.test, node);
- this.token(":");
- } else {
- this.word("default");
- this.token(":");
- }
-
- if (node.consequent.length) {
- this.newline();
- this.printSequence(node.consequent, node, {
- indent: true
- });
- }
-}
-
-function DebuggerStatement() {
- this.word("debugger");
- this.semicolon();
-}
-
-function variableDeclarationIndent() {
- this.token(",");
- this.newline();
-
- if (this.endsWith(10)) {
- for (let i = 0; i < 4; i++) this.space(true);
- }
-}
-
-function constDeclarationIndent() {
- this.token(",");
- this.newline();
-
- if (this.endsWith(10)) {
- for (let i = 0; i < 6; i++) this.space(true);
- }
-}
-
-function VariableDeclaration(node, parent) {
- if (node.declare) {
- this.word("declare");
- this.space();
- }
-
- this.word(node.kind);
- this.space();
- let hasInits = false;
-
- if (!isFor(parent)) {
- for (const declar of node.declarations) {
- if (declar.init) {
- hasInits = true;
- }
- }
- }
-
- let separator;
-
- if (hasInits) {
- separator = node.kind === "const" ? constDeclarationIndent : variableDeclarationIndent;
- }
-
- this.printList(node.declarations, node, {
- separator
- });
-
- if (isFor(parent)) {
- if (isForStatement(parent)) {
- if (parent.init === node) return;
- } else {
- if (parent.left === node) return;
- }
- }
-
- this.semicolon();
-}
-
-function VariableDeclarator(node) {
- this.print(node.id, node);
- if (node.definite) this.token("!");
- this.print(node.id.typeAnnotation, node);
-
- if (node.init) {
- this.space();
- this.token("=");
- this.space();
- this.print(node.init, node);
- }
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/template-literals.js b/includes/search/node_modules/@babel/generator/lib/generators/template-literals.js
deleted file mode 100644
index 0543303..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/template-literals.js
+++ /dev/null
@@ -1,33 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.TaggedTemplateExpression = TaggedTemplateExpression;
-exports.TemplateElement = TemplateElement;
-exports.TemplateLiteral = TemplateLiteral;
-
-function TaggedTemplateExpression(node) {
- this.print(node.tag, node);
- this.print(node.typeParameters, node);
- this.print(node.quasi, node);
-}
-
-function TemplateElement(node, parent) {
- const isFirst = parent.quasis[0] === node;
- const isLast = parent.quasis[parent.quasis.length - 1] === node;
- const value = (isFirst ? "`" : "}") + node.value.raw + (isLast ? "`" : "${");
- this.token(value);
-}
-
-function TemplateLiteral(node) {
- const quasis = node.quasis;
-
- for (let i = 0; i < quasis.length; i++) {
- this.print(quasis[i], node);
-
- if (i + 1 < quasis.length) {
- this.print(node.expressions[i], node);
- }
- }
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/types.js b/includes/search/node_modules/@babel/generator/lib/generators/types.js
deleted file mode 100644
index a56fb47..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/types.js
+++ /dev/null
@@ -1,276 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.ArgumentPlaceholder = ArgumentPlaceholder;
-exports.ArrayPattern = exports.ArrayExpression = ArrayExpression;
-exports.BigIntLiteral = BigIntLiteral;
-exports.BooleanLiteral = BooleanLiteral;
-exports.DecimalLiteral = DecimalLiteral;
-exports.Identifier = Identifier;
-exports.NullLiteral = NullLiteral;
-exports.NumericLiteral = NumericLiteral;
-exports.ObjectPattern = exports.ObjectExpression = ObjectExpression;
-exports.ObjectMethod = ObjectMethod;
-exports.ObjectProperty = ObjectProperty;
-exports.PipelineBareFunction = PipelineBareFunction;
-exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference;
-exports.PipelineTopicExpression = PipelineTopicExpression;
-exports.RecordExpression = RecordExpression;
-exports.RegExpLiteral = RegExpLiteral;
-exports.SpreadElement = exports.RestElement = RestElement;
-exports.StringLiteral = StringLiteral;
-exports.TopicReference = TopicReference;
-exports.TupleExpression = TupleExpression;
-
-var _t = require("@babel/types");
-
-var _jsesc = require("jsesc");
-
-const {
- isAssignmentPattern,
- isIdentifier
-} = _t;
-
-function Identifier(node) {
- this.exactSource(node.loc, () => {
- this.word(node.name);
- });
-}
-
-function ArgumentPlaceholder() {
- this.token("?");
-}
-
-function RestElement(node) {
- this.token("...");
- this.print(node.argument, node);
-}
-
-function ObjectExpression(node) {
- const props = node.properties;
- this.token("{");
- this.printInnerComments(node);
-
- if (props.length) {
- this.space();
- this.printList(props, node, {
- indent: true,
- statement: true
- });
- this.space();
- }
-
- this.token("}");
-}
-
-function ObjectMethod(node) {
- this.printJoin(node.decorators, node);
-
- this._methodHead(node);
-
- this.space();
- this.print(node.body, node);
-}
-
-function ObjectProperty(node) {
- this.printJoin(node.decorators, node);
-
- if (node.computed) {
- this.token("[");
- this.print(node.key, node);
- this.token("]");
- } else {
- if (isAssignmentPattern(node.value) && isIdentifier(node.key) && node.key.name === node.value.left.name) {
- this.print(node.value, node);
- return;
- }
-
- this.print(node.key, node);
-
- if (node.shorthand && isIdentifier(node.key) && isIdentifier(node.value) && node.key.name === node.value.name) {
- return;
- }
- }
-
- this.token(":");
- this.space();
- this.print(node.value, node);
-}
-
-function ArrayExpression(node) {
- const elems = node.elements;
- const len = elems.length;
- this.token("[");
- this.printInnerComments(node);
-
- for (let i = 0; i < elems.length; i++) {
- const elem = elems[i];
-
- if (elem) {
- if (i > 0) this.space();
- this.print(elem, node);
- if (i < len - 1) this.token(",");
- } else {
- this.token(",");
- }
- }
-
- this.token("]");
-}
-
-function RecordExpression(node) {
- const props = node.properties;
- let startToken;
- let endToken;
-
- if (this.format.recordAndTupleSyntaxType === "bar") {
- startToken = "{|";
- endToken = "|}";
- } else if (this.format.recordAndTupleSyntaxType === "hash") {
- startToken = "#{";
- endToken = "}";
- } else {
- throw new Error(`The "recordAndTupleSyntaxType" generator option must be "bar" or "hash" (${JSON.stringify(this.format.recordAndTupleSyntaxType)} received).`);
- }
-
- this.token(startToken);
- this.printInnerComments(node);
-
- if (props.length) {
- this.space();
- this.printList(props, node, {
- indent: true,
- statement: true
- });
- this.space();
- }
-
- this.token(endToken);
-}
-
-function TupleExpression(node) {
- const elems = node.elements;
- const len = elems.length;
- let startToken;
- let endToken;
-
- if (this.format.recordAndTupleSyntaxType === "bar") {
- startToken = "[|";
- endToken = "|]";
- } else if (this.format.recordAndTupleSyntaxType === "hash") {
- startToken = "#[";
- endToken = "]";
- } else {
- throw new Error(`${this.format.recordAndTupleSyntaxType} is not a valid recordAndTuple syntax type`);
- }
-
- this.token(startToken);
- this.printInnerComments(node);
-
- for (let i = 0; i < elems.length; i++) {
- const elem = elems[i];
-
- if (elem) {
- if (i > 0) this.space();
- this.print(elem, node);
- if (i < len - 1) this.token(",");
- }
- }
-
- this.token(endToken);
-}
-
-function RegExpLiteral(node) {
- this.word(`/${node.pattern}/${node.flags}`);
-}
-
-function BooleanLiteral(node) {
- this.word(node.value ? "true" : "false");
-}
-
-function NullLiteral() {
- this.word("null");
-}
-
-function NumericLiteral(node) {
- const raw = this.getPossibleRaw(node);
- const opts = this.format.jsescOption;
- const value = node.value + "";
-
- if (opts.numbers) {
- this.number(_jsesc(node.value, opts));
- } else if (raw == null) {
- this.number(value);
- } else if (this.format.minified) {
- this.number(raw.length < value.length ? raw : value);
- } else {
- this.number(raw);
- }
-}
-
-function StringLiteral(node) {
- const raw = this.getPossibleRaw(node);
-
- if (!this.format.minified && raw != null) {
- this.token(raw);
- return;
- }
-
- const val = _jsesc(node.value, Object.assign(this.format.jsescOption, this.format.jsonCompatibleStrings && {
- json: true
- }));
-
- return this.token(val);
-}
-
-function BigIntLiteral(node) {
- const raw = this.getPossibleRaw(node);
-
- if (!this.format.minified && raw != null) {
- this.word(raw);
- return;
- }
-
- this.word(node.value + "n");
-}
-
-function DecimalLiteral(node) {
- const raw = this.getPossibleRaw(node);
-
- if (!this.format.minified && raw != null) {
- this.word(raw);
- return;
- }
-
- this.word(node.value + "m");
-}
-
-const validTopicTokenSet = new Set(["^^", "@@", "^", "%", "#"]);
-
-function TopicReference() {
- const {
- topicToken
- } = this.format;
-
- if (validTopicTokenSet.has(topicToken)) {
- this.token(topicToken);
- } else {
- const givenTopicTokenJSON = JSON.stringify(topicToken);
- const validTopics = Array.from(validTopicTokenSet, v => JSON.stringify(v));
- throw new Error(`The "topicToken" generator option must be one of ` + `${validTopics.join(", ")} (${givenTopicTokenJSON} received instead).`);
- }
-}
-
-function PipelineTopicExpression(node) {
- this.print(node.expression, node);
-}
-
-function PipelineBareFunction(node) {
- this.print(node.callee, node);
-}
-
-function PipelinePrimaryTopicReference() {
- this.token("#");
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/generators/typescript.js b/includes/search/node_modules/@babel/generator/lib/generators/typescript.js
deleted file mode 100644
index 1ab6471..0000000
--- a/includes/search/node_modules/@babel/generator/lib/generators/typescript.js
+++ /dev/null
@@ -1,833 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.TSAnyKeyword = TSAnyKeyword;
-exports.TSArrayType = TSArrayType;
-exports.TSAsExpression = TSAsExpression;
-exports.TSBigIntKeyword = TSBigIntKeyword;
-exports.TSBooleanKeyword = TSBooleanKeyword;
-exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration;
-exports.TSConditionalType = TSConditionalType;
-exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration;
-exports.TSConstructorType = TSConstructorType;
-exports.TSDeclareFunction = TSDeclareFunction;
-exports.TSDeclareMethod = TSDeclareMethod;
-exports.TSEnumDeclaration = TSEnumDeclaration;
-exports.TSEnumMember = TSEnumMember;
-exports.TSExportAssignment = TSExportAssignment;
-exports.TSExpressionWithTypeArguments = TSExpressionWithTypeArguments;
-exports.TSExternalModuleReference = TSExternalModuleReference;
-exports.TSFunctionType = TSFunctionType;
-exports.TSImportEqualsDeclaration = TSImportEqualsDeclaration;
-exports.TSImportType = TSImportType;
-exports.TSIndexSignature = TSIndexSignature;
-exports.TSIndexedAccessType = TSIndexedAccessType;
-exports.TSInferType = TSInferType;
-exports.TSInstantiationExpression = TSInstantiationExpression;
-exports.TSInterfaceBody = TSInterfaceBody;
-exports.TSInterfaceDeclaration = TSInterfaceDeclaration;
-exports.TSIntersectionType = TSIntersectionType;
-exports.TSIntrinsicKeyword = TSIntrinsicKeyword;
-exports.TSLiteralType = TSLiteralType;
-exports.TSMappedType = TSMappedType;
-exports.TSMethodSignature = TSMethodSignature;
-exports.TSModuleBlock = TSModuleBlock;
-exports.TSModuleDeclaration = TSModuleDeclaration;
-exports.TSNamedTupleMember = TSNamedTupleMember;
-exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration;
-exports.TSNeverKeyword = TSNeverKeyword;
-exports.TSNonNullExpression = TSNonNullExpression;
-exports.TSNullKeyword = TSNullKeyword;
-exports.TSNumberKeyword = TSNumberKeyword;
-exports.TSObjectKeyword = TSObjectKeyword;
-exports.TSOptionalType = TSOptionalType;
-exports.TSParameterProperty = TSParameterProperty;
-exports.TSParenthesizedType = TSParenthesizedType;
-exports.TSPropertySignature = TSPropertySignature;
-exports.TSQualifiedName = TSQualifiedName;
-exports.TSRestType = TSRestType;
-exports.TSStringKeyword = TSStringKeyword;
-exports.TSSymbolKeyword = TSSymbolKeyword;
-exports.TSThisType = TSThisType;
-exports.TSTupleType = TSTupleType;
-exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration;
-exports.TSTypeAnnotation = TSTypeAnnotation;
-exports.TSTypeAssertion = TSTypeAssertion;
-exports.TSTypeLiteral = TSTypeLiteral;
-exports.TSTypeOperator = TSTypeOperator;
-exports.TSTypeParameter = TSTypeParameter;
-exports.TSTypeParameterDeclaration = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation;
-exports.TSTypePredicate = TSTypePredicate;
-exports.TSTypeQuery = TSTypeQuery;
-exports.TSTypeReference = TSTypeReference;
-exports.TSUndefinedKeyword = TSUndefinedKeyword;
-exports.TSUnionType = TSUnionType;
-exports.TSUnknownKeyword = TSUnknownKeyword;
-exports.TSVoidKeyword = TSVoidKeyword;
-exports.tsPrintBraced = tsPrintBraced;
-exports.tsPrintClassMemberModifiers = tsPrintClassMemberModifiers;
-exports.tsPrintFunctionOrConstructorType = tsPrintFunctionOrConstructorType;
-exports.tsPrintPropertyOrMethodName = tsPrintPropertyOrMethodName;
-exports.tsPrintSignatureDeclarationBase = tsPrintSignatureDeclarationBase;
-exports.tsPrintTypeLiteralOrInterfaceBody = tsPrintTypeLiteralOrInterfaceBody;
-exports.tsPrintUnionOrIntersectionType = tsPrintUnionOrIntersectionType;
-
-function TSTypeAnnotation(node) {
- this.token(":");
- this.space();
- if (node.optional) this.token("?");
- this.print(node.typeAnnotation, node);
-}
-
-function TSTypeParameterInstantiation(node, parent) {
- this.token("<");
- this.printList(node.params, node, {});
-
- if (parent.type === "ArrowFunctionExpression" && node.params.length === 1) {
- this.token(",");
- }
-
- this.token(">");
-}
-
-function TSTypeParameter(node) {
- if (node.in) {
- this.word("in");
- this.space();
- }
-
- if (node.out) {
- this.word("out");
- this.space();
- }
-
- this.word(node.name);
-
- if (node.constraint) {
- this.space();
- this.word("extends");
- this.space();
- this.print(node.constraint, node);
- }
-
- if (node.default) {
- this.space();
- this.token("=");
- this.space();
- this.print(node.default, node);
- }
-}
-
-function TSParameterProperty(node) {
- if (node.accessibility) {
- this.word(node.accessibility);
- this.space();
- }
-
- if (node.readonly) {
- this.word("readonly");
- this.space();
- }
-
- this._param(node.parameter);
-}
-
-function TSDeclareFunction(node) {
- if (node.declare) {
- this.word("declare");
- this.space();
- }
-
- this._functionHead(node);
-
- this.token(";");
-}
-
-function TSDeclareMethod(node) {
- this._classMethodHead(node);
-
- this.token(";");
-}
-
-function TSQualifiedName(node) {
- this.print(node.left, node);
- this.token(".");
- this.print(node.right, node);
-}
-
-function TSCallSignatureDeclaration(node) {
- this.tsPrintSignatureDeclarationBase(node);
- this.token(";");
-}
-
-function TSConstructSignatureDeclaration(node) {
- this.word("new");
- this.space();
- this.tsPrintSignatureDeclarationBase(node);
- this.token(";");
-}
-
-function TSPropertySignature(node) {
- const {
- readonly,
- initializer
- } = node;
-
- if (readonly) {
- this.word("readonly");
- this.space();
- }
-
- this.tsPrintPropertyOrMethodName(node);
- this.print(node.typeAnnotation, node);
-
- if (initializer) {
- this.space();
- this.token("=");
- this.space();
- this.print(initializer, node);
- }
-
- this.token(";");
-}
-
-function tsPrintPropertyOrMethodName(node) {
- if (node.computed) {
- this.token("[");
- }
-
- this.print(node.key, node);
-
- if (node.computed) {
- this.token("]");
- }
-
- if (node.optional) {
- this.token("?");
- }
-}
-
-function TSMethodSignature(node) {
- const {
- kind
- } = node;
-
- if (kind === "set" || kind === "get") {
- this.word(kind);
- this.space();
- }
-
- this.tsPrintPropertyOrMethodName(node);
- this.tsPrintSignatureDeclarationBase(node);
- this.token(";");
-}
-
-function TSIndexSignature(node) {
- const {
- readonly,
- static: isStatic
- } = node;
-
- if (isStatic) {
- this.word("static");
- this.space();
- }
-
- if (readonly) {
- this.word("readonly");
- this.space();
- }
-
- this.token("[");
-
- this._parameters(node.parameters, node);
-
- this.token("]");
- this.print(node.typeAnnotation, node);
- this.token(";");
-}
-
-function TSAnyKeyword() {
- this.word("any");
-}
-
-function TSBigIntKeyword() {
- this.word("bigint");
-}
-
-function TSUnknownKeyword() {
- this.word("unknown");
-}
-
-function TSNumberKeyword() {
- this.word("number");
-}
-
-function TSObjectKeyword() {
- this.word("object");
-}
-
-function TSBooleanKeyword() {
- this.word("boolean");
-}
-
-function TSStringKeyword() {
- this.word("string");
-}
-
-function TSSymbolKeyword() {
- this.word("symbol");
-}
-
-function TSVoidKeyword() {
- this.word("void");
-}
-
-function TSUndefinedKeyword() {
- this.word("undefined");
-}
-
-function TSNullKeyword() {
- this.word("null");
-}
-
-function TSNeverKeyword() {
- this.word("never");
-}
-
-function TSIntrinsicKeyword() {
- this.word("intrinsic");
-}
-
-function TSThisType() {
- this.word("this");
-}
-
-function TSFunctionType(node) {
- this.tsPrintFunctionOrConstructorType(node);
-}
-
-function TSConstructorType(node) {
- if (node.abstract) {
- this.word("abstract");
- this.space();
- }
-
- this.word("new");
- this.space();
- this.tsPrintFunctionOrConstructorType(node);
-}
-
-function tsPrintFunctionOrConstructorType(node) {
- const {
- typeParameters
- } = node;
- const parameters = node.parameters;
- this.print(typeParameters, node);
- this.token("(");
-
- this._parameters(parameters, node);
-
- this.token(")");
- this.space();
- this.token("=>");
- this.space();
- const returnType = node.typeAnnotation;
- this.print(returnType.typeAnnotation, node);
-}
-
-function TSTypeReference(node) {
- this.print(node.typeName, node);
- this.print(node.typeParameters, node);
-}
-
-function TSTypePredicate(node) {
- if (node.asserts) {
- this.word("asserts");
- this.space();
- }
-
- this.print(node.parameterName);
-
- if (node.typeAnnotation) {
- this.space();
- this.word("is");
- this.space();
- this.print(node.typeAnnotation.typeAnnotation);
- }
-}
-
-function TSTypeQuery(node) {
- this.word("typeof");
- this.space();
- this.print(node.exprName);
-
- if (node.typeParameters) {
- this.print(node.typeParameters, node);
- }
-}
-
-function TSTypeLiteral(node) {
- this.tsPrintTypeLiteralOrInterfaceBody(node.members, node);
-}
-
-function tsPrintTypeLiteralOrInterfaceBody(members, node) {
- this.tsPrintBraced(members, node);
-}
-
-function tsPrintBraced(members, node) {
- this.token("{");
-
- if (members.length) {
- this.indent();
- this.newline();
-
- for (const member of members) {
- this.print(member, node);
- this.newline();
- }
-
- this.dedent();
- this.rightBrace();
- } else {
- this.token("}");
- }
-}
-
-function TSArrayType(node) {
- this.print(node.elementType, node);
- this.token("[]");
-}
-
-function TSTupleType(node) {
- this.token("[");
- this.printList(node.elementTypes, node);
- this.token("]");
-}
-
-function TSOptionalType(node) {
- this.print(node.typeAnnotation, node);
- this.token("?");
-}
-
-function TSRestType(node) {
- this.token("...");
- this.print(node.typeAnnotation, node);
-}
-
-function TSNamedTupleMember(node) {
- this.print(node.label, node);
- if (node.optional) this.token("?");
- this.token(":");
- this.space();
- this.print(node.elementType, node);
-}
-
-function TSUnionType(node) {
- this.tsPrintUnionOrIntersectionType(node, "|");
-}
-
-function TSIntersectionType(node) {
- this.tsPrintUnionOrIntersectionType(node, "&");
-}
-
-function tsPrintUnionOrIntersectionType(node, sep) {
- this.printJoin(node.types, node, {
- separator() {
- this.space();
- this.token(sep);
- this.space();
- }
-
- });
-}
-
-function TSConditionalType(node) {
- this.print(node.checkType);
- this.space();
- this.word("extends");
- this.space();
- this.print(node.extendsType);
- this.space();
- this.token("?");
- this.space();
- this.print(node.trueType);
- this.space();
- this.token(":");
- this.space();
- this.print(node.falseType);
-}
-
-function TSInferType(node) {
- this.token("infer");
- this.space();
- this.print(node.typeParameter);
-}
-
-function TSParenthesizedType(node) {
- this.token("(");
- this.print(node.typeAnnotation, node);
- this.token(")");
-}
-
-function TSTypeOperator(node) {
- this.word(node.operator);
- this.space();
- this.print(node.typeAnnotation, node);
-}
-
-function TSIndexedAccessType(node) {
- this.print(node.objectType, node);
- this.token("[");
- this.print(node.indexType, node);
- this.token("]");
-}
-
-function TSMappedType(node) {
- const {
- nameType,
- optional,
- readonly,
- typeParameter
- } = node;
- this.token("{");
- this.space();
-
- if (readonly) {
- tokenIfPlusMinus(this, readonly);
- this.word("readonly");
- this.space();
- }
-
- this.token("[");
- this.word(typeParameter.name);
- this.space();
- this.word("in");
- this.space();
- this.print(typeParameter.constraint, typeParameter);
-
- if (nameType) {
- this.space();
- this.word("as");
- this.space();
- this.print(nameType, node);
- }
-
- this.token("]");
-
- if (optional) {
- tokenIfPlusMinus(this, optional);
- this.token("?");
- }
-
- this.token(":");
- this.space();
- this.print(node.typeAnnotation, node);
- this.space();
- this.token("}");
-}
-
-function tokenIfPlusMinus(self, tok) {
- if (tok !== true) {
- self.token(tok);
- }
-}
-
-function TSLiteralType(node) {
- this.print(node.literal, node);
-}
-
-function TSExpressionWithTypeArguments(node) {
- this.print(node.expression, node);
- this.print(node.typeParameters, node);
-}
-
-function TSInterfaceDeclaration(node) {
- const {
- declare,
- id,
- typeParameters,
- extends: extendz,
- body
- } = node;
-
- if (declare) {
- this.word("declare");
- this.space();
- }
-
- this.word("interface");
- this.space();
- this.print(id, node);
- this.print(typeParameters, node);
-
- if (extendz != null && extendz.length) {
- this.space();
- this.word("extends");
- this.space();
- this.printList(extendz, node);
- }
-
- this.space();
- this.print(body, node);
-}
-
-function TSInterfaceBody(node) {
- this.tsPrintTypeLiteralOrInterfaceBody(node.body, node);
-}
-
-function TSTypeAliasDeclaration(node) {
- const {
- declare,
- id,
- typeParameters,
- typeAnnotation
- } = node;
-
- if (declare) {
- this.word("declare");
- this.space();
- }
-
- this.word("type");
- this.space();
- this.print(id, node);
- this.print(typeParameters, node);
- this.space();
- this.token("=");
- this.space();
- this.print(typeAnnotation, node);
- this.token(";");
-}
-
-function TSAsExpression(node) {
- const {
- expression,
- typeAnnotation
- } = node;
- this.print(expression, node);
- this.space();
- this.word("as");
- this.space();
- this.print(typeAnnotation, node);
-}
-
-function TSTypeAssertion(node) {
- const {
- typeAnnotation,
- expression
- } = node;
- this.token("<");
- this.print(typeAnnotation, node);
- this.token(">");
- this.space();
- this.print(expression, node);
-}
-
-function TSInstantiationExpression(node) {
- this.print(node.expression, node);
- this.print(node.typeParameters, node);
-}
-
-function TSEnumDeclaration(node) {
- const {
- declare,
- const: isConst,
- id,
- members
- } = node;
-
- if (declare) {
- this.word("declare");
- this.space();
- }
-
- if (isConst) {
- this.word("const");
- this.space();
- }
-
- this.word("enum");
- this.space();
- this.print(id, node);
- this.space();
- this.tsPrintBraced(members, node);
-}
-
-function TSEnumMember(node) {
- const {
- id,
- initializer
- } = node;
- this.print(id, node);
-
- if (initializer) {
- this.space();
- this.token("=");
- this.space();
- this.print(initializer, node);
- }
-
- this.token(",");
-}
-
-function TSModuleDeclaration(node) {
- const {
- declare,
- id
- } = node;
-
- if (declare) {
- this.word("declare");
- this.space();
- }
-
- if (!node.global) {
- this.word(id.type === "Identifier" ? "namespace" : "module");
- this.space();
- }
-
- this.print(id, node);
-
- if (!node.body) {
- this.token(";");
- return;
- }
-
- let body = node.body;
-
- while (body.type === "TSModuleDeclaration") {
- this.token(".");
- this.print(body.id, body);
- body = body.body;
- }
-
- this.space();
- this.print(body, node);
-}
-
-function TSModuleBlock(node) {
- this.tsPrintBraced(node.body, node);
-}
-
-function TSImportType(node) {
- const {
- argument,
- qualifier,
- typeParameters
- } = node;
- this.word("import");
- this.token("(");
- this.print(argument, node);
- this.token(")");
-
- if (qualifier) {
- this.token(".");
- this.print(qualifier, node);
- }
-
- if (typeParameters) {
- this.print(typeParameters, node);
- }
-}
-
-function TSImportEqualsDeclaration(node) {
- const {
- isExport,
- id,
- moduleReference
- } = node;
-
- if (isExport) {
- this.word("export");
- this.space();
- }
-
- this.word("import");
- this.space();
- this.print(id, node);
- this.space();
- this.token("=");
- this.space();
- this.print(moduleReference, node);
- this.token(";");
-}
-
-function TSExternalModuleReference(node) {
- this.token("require(");
- this.print(node.expression, node);
- this.token(")");
-}
-
-function TSNonNullExpression(node) {
- this.print(node.expression, node);
- this.token("!");
-}
-
-function TSExportAssignment(node) {
- this.word("export");
- this.space();
- this.token("=");
- this.space();
- this.print(node.expression, node);
- this.token(";");
-}
-
-function TSNamespaceExportDeclaration(node) {
- this.word("export");
- this.space();
- this.word("as");
- this.space();
- this.word("namespace");
- this.space();
- this.print(node.id, node);
-}
-
-function tsPrintSignatureDeclarationBase(node) {
- const {
- typeParameters
- } = node;
- const parameters = node.parameters;
- this.print(typeParameters, node);
- this.token("(");
-
- this._parameters(parameters, node);
-
- this.token(")");
- const returnType = node.typeAnnotation;
- this.print(returnType, node);
-}
-
-function tsPrintClassMemberModifiers(node, isField) {
- if (isField && node.declare) {
- this.word("declare");
- this.space();
- }
-
- if (node.accessibility) {
- this.word(node.accessibility);
- this.space();
- }
-
- if (node.static) {
- this.word("static");
- this.space();
- }
-
- if (node.override) {
- this.word("override");
- this.space();
- }
-
- if (node.abstract) {
- this.word("abstract");
- this.space();
- }
-
- if (isField && node.readonly) {
- this.word("readonly");
- this.space();
- }
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/index.js b/includes/search/node_modules/@babel/generator/lib/index.js
deleted file mode 100644
index ca8a0bd..0000000
--- a/includes/search/node_modules/@babel/generator/lib/index.js
+++ /dev/null
@@ -1,97 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.CodeGenerator = void 0;
-exports.default = generate;
-
-var _sourceMap = require("./source-map");
-
-var _printer = require("./printer");
-
-class Generator extends _printer.default {
- constructor(ast, opts = {}, code) {
- const format = normalizeOptions(code, opts);
- const map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null;
- super(format, map);
- this.ast = void 0;
- this.ast = ast;
- }
-
- generate() {
- return super.generate(this.ast);
- }
-
-}
-
-function normalizeOptions(code, opts) {
- const format = {
- auxiliaryCommentBefore: opts.auxiliaryCommentBefore,
- auxiliaryCommentAfter: opts.auxiliaryCommentAfter,
- shouldPrintComment: opts.shouldPrintComment,
- retainLines: opts.retainLines,
- retainFunctionParens: opts.retainFunctionParens,
- comments: opts.comments == null || opts.comments,
- compact: opts.compact,
- minified: opts.minified,
- concise: opts.concise,
- indent: {
- adjustMultilineComment: true,
- style: " ",
- base: 0
- },
- decoratorsBeforeExport: !!opts.decoratorsBeforeExport,
- jsescOption: Object.assign({
- quotes: "double",
- wrap: true,
- minimal: false
- }, opts.jsescOption),
- recordAndTupleSyntaxType: opts.recordAndTupleSyntaxType,
- topicToken: opts.topicToken
- };
- {
- format.jsonCompatibleStrings = opts.jsonCompatibleStrings;
- }
-
- if (format.minified) {
- format.compact = true;
-
- format.shouldPrintComment = format.shouldPrintComment || (() => format.comments);
- } else {
- format.shouldPrintComment = format.shouldPrintComment || (value => format.comments || value.indexOf("@license") >= 0 || value.indexOf("@preserve") >= 0);
- }
-
- if (format.compact === "auto") {
- format.compact = code.length > 500000;
-
- if (format.compact) {
- console.error("[BABEL] Note: The code generator has deoptimised the styling of " + `${opts.filename} as it exceeds the max of ${"500KB"}.`);
- }
- }
-
- if (format.compact) {
- format.indent.adjustMultilineComment = false;
- }
-
- return format;
-}
-
-class CodeGenerator {
- constructor(ast, opts, code) {
- this._generator = void 0;
- this._generator = new Generator(ast, opts, code);
- }
-
- generate() {
- return this._generator.generate();
- }
-
-}
-
-exports.CodeGenerator = CodeGenerator;
-
-function generate(ast, opts, code) {
- const gen = new Generator(ast, opts, code);
- return gen.generate();
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/node/index.js b/includes/search/node_modules/@babel/generator/lib/node/index.js
deleted file mode 100644
index b594ae4..0000000
--- a/includes/search/node_modules/@babel/generator/lib/node/index.js
+++ /dev/null
@@ -1,111 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.needsParens = needsParens;
-exports.needsWhitespace = needsWhitespace;
-exports.needsWhitespaceAfter = needsWhitespaceAfter;
-exports.needsWhitespaceBefore = needsWhitespaceBefore;
-
-var whitespace = require("./whitespace");
-
-var parens = require("./parentheses");
-
-var _t = require("@babel/types");
-
-const {
- FLIPPED_ALIAS_KEYS,
- isCallExpression,
- isExpressionStatement,
- isMemberExpression,
- isNewExpression
-} = _t;
-
-function expandAliases(obj) {
- const newObj = {};
-
- function add(type, func) {
- const fn = newObj[type];
- newObj[type] = fn ? function (node, parent, stack) {
- const result = fn(node, parent, stack);
- return result == null ? func(node, parent, stack) : result;
- } : func;
- }
-
- for (const type of Object.keys(obj)) {
- const aliases = FLIPPED_ALIAS_KEYS[type];
-
- if (aliases) {
- for (const alias of aliases) {
- add(alias, obj[type]);
- }
- } else {
- add(type, obj[type]);
- }
- }
-
- return newObj;
-}
-
-const expandedParens = expandAliases(parens);
-const expandedWhitespaceNodes = expandAliases(whitespace.nodes);
-const expandedWhitespaceList = expandAliases(whitespace.list);
-
-function find(obj, node, parent, printStack) {
- const fn = obj[node.type];
- return fn ? fn(node, parent, printStack) : null;
-}
-
-function isOrHasCallExpression(node) {
- if (isCallExpression(node)) {
- return true;
- }
-
- return isMemberExpression(node) && isOrHasCallExpression(node.object);
-}
-
-function needsWhitespace(node, parent, type) {
- if (!node) return 0;
-
- if (isExpressionStatement(node)) {
- node = node.expression;
- }
-
- let linesInfo = find(expandedWhitespaceNodes, node, parent);
-
- if (!linesInfo) {
- const items = find(expandedWhitespaceList, node, parent);
-
- if (items) {
- for (let i = 0; i < items.length; i++) {
- linesInfo = needsWhitespace(items[i], node, type);
- if (linesInfo) break;
- }
- }
- }
-
- if (typeof linesInfo === "object" && linesInfo !== null) {
- return linesInfo[type] || 0;
- }
-
- return 0;
-}
-
-function needsWhitespaceBefore(node, parent) {
- return needsWhitespace(node, parent, "before");
-}
-
-function needsWhitespaceAfter(node, parent) {
- return needsWhitespace(node, parent, "after");
-}
-
-function needsParens(node, parent, printStack) {
- if (!parent) return false;
-
- if (isNewExpression(parent) && parent.callee === node) {
- if (isOrHasCallExpression(node)) return true;
- }
-
- return find(expandedParens, node, parent, printStack);
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/node/parentheses.js b/includes/search/node_modules/@babel/generator/lib/node/parentheses.js
deleted file mode 100644
index 8ba2e64..0000000
--- a/includes/search/node_modules/@babel/generator/lib/node/parentheses.js
+++ /dev/null
@@ -1,358 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.ArrowFunctionExpression = ArrowFunctionExpression;
-exports.AssignmentExpression = AssignmentExpression;
-exports.Binary = Binary;
-exports.BinaryExpression = BinaryExpression;
-exports.ClassExpression = ClassExpression;
-exports.ConditionalExpression = ConditionalExpression;
-exports.DoExpression = DoExpression;
-exports.FunctionExpression = FunctionExpression;
-exports.FunctionTypeAnnotation = FunctionTypeAnnotation;
-exports.Identifier = Identifier;
-exports.LogicalExpression = LogicalExpression;
-exports.NullableTypeAnnotation = NullableTypeAnnotation;
-exports.ObjectExpression = ObjectExpression;
-exports.OptionalIndexedAccessType = OptionalIndexedAccessType;
-exports.OptionalCallExpression = exports.OptionalMemberExpression = OptionalMemberExpression;
-exports.SequenceExpression = SequenceExpression;
-exports.TSAsExpression = TSAsExpression;
-exports.TSInferType = TSInferType;
-exports.TSInstantiationExpression = TSInstantiationExpression;
-exports.TSTypeAssertion = TSTypeAssertion;
-exports.TSIntersectionType = exports.TSUnionType = TSUnionType;
-exports.UnaryLike = UnaryLike;
-exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation;
-exports.UpdateExpression = UpdateExpression;
-exports.AwaitExpression = exports.YieldExpression = YieldExpression;
-
-var _t = require("@babel/types");
-
-const {
- isArrayTypeAnnotation,
- isArrowFunctionExpression,
- isAssignmentExpression,
- isAwaitExpression,
- isBinary,
- isBinaryExpression,
- isUpdateExpression,
- isCallExpression,
- isClassDeclaration,
- isClassExpression,
- isConditional,
- isConditionalExpression,
- isExportDeclaration,
- isExportDefaultDeclaration,
- isExpressionStatement,
- isFor,
- isForInStatement,
- isForOfStatement,
- isForStatement,
- isFunctionExpression,
- isIfStatement,
- isIndexedAccessType,
- isIntersectionTypeAnnotation,
- isLogicalExpression,
- isMemberExpression,
- isNewExpression,
- isNullableTypeAnnotation,
- isObjectPattern,
- isOptionalCallExpression,
- isOptionalMemberExpression,
- isReturnStatement,
- isSequenceExpression,
- isSwitchStatement,
- isTSArrayType,
- isTSAsExpression,
- isTSInstantiationExpression,
- isTSIntersectionType,
- isTSNonNullExpression,
- isTSOptionalType,
- isTSRestType,
- isTSTypeAssertion,
- isTSUnionType,
- isTaggedTemplateExpression,
- isThrowStatement,
- isTypeAnnotation,
- isUnaryLike,
- isUnionTypeAnnotation,
- isVariableDeclarator,
- isWhileStatement,
- isYieldExpression
-} = _t;
-const PRECEDENCE = {
- "||": 0,
- "??": 0,
- "&&": 1,
- "|": 2,
- "^": 3,
- "&": 4,
- "==": 5,
- "===": 5,
- "!=": 5,
- "!==": 5,
- "<": 6,
- ">": 6,
- "<=": 6,
- ">=": 6,
- in: 6,
- instanceof: 6,
- ">>": 7,
- "<<": 7,
- ">>>": 7,
- "+": 8,
- "-": 8,
- "*": 9,
- "/": 9,
- "%": 9,
- "**": 10
-};
-
-const isClassExtendsClause = (node, parent) => (isClassDeclaration(parent) || isClassExpression(parent)) && parent.superClass === node;
-
-const hasPostfixPart = (node, parent) => (isMemberExpression(parent) || isOptionalMemberExpression(parent)) && parent.object === node || (isCallExpression(parent) || isOptionalCallExpression(parent) || isNewExpression(parent)) && parent.callee === node || isTaggedTemplateExpression(parent) && parent.tag === node || isTSNonNullExpression(parent);
-
-function NullableTypeAnnotation(node, parent) {
- return isArrayTypeAnnotation(parent);
-}
-
-function FunctionTypeAnnotation(node, parent, printStack) {
- return isUnionTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isArrayTypeAnnotation(parent) || isTypeAnnotation(parent) && isArrowFunctionExpression(printStack[printStack.length - 3]);
-}
-
-function UpdateExpression(node, parent) {
- return hasPostfixPart(node, parent) || isClassExtendsClause(node, parent);
-}
-
-function ObjectExpression(node, parent, printStack) {
- return isFirstInContext(printStack, {
- expressionStatement: true,
- arrowBody: true
- });
-}
-
-function DoExpression(node, parent, printStack) {
- return !node.async && isFirstInContext(printStack, {
- expressionStatement: true
- });
-}
-
-function Binary(node, parent) {
- if (node.operator === "**" && isBinaryExpression(parent, {
- operator: "**"
- })) {
- return parent.left === node;
- }
-
- if (isClassExtendsClause(node, parent)) {
- return true;
- }
-
- if (hasPostfixPart(node, parent) || isUnaryLike(parent) || isAwaitExpression(parent)) {
- return true;
- }
-
- if (isBinary(parent)) {
- const parentOp = parent.operator;
- const parentPos = PRECEDENCE[parentOp];
- const nodeOp = node.operator;
- const nodePos = PRECEDENCE[nodeOp];
-
- if (parentPos === nodePos && parent.right === node && !isLogicalExpression(parent) || parentPos > nodePos) {
- return true;
- }
- }
-}
-
-function UnionTypeAnnotation(node, parent) {
- return isArrayTypeAnnotation(parent) || isNullableTypeAnnotation(parent) || isIntersectionTypeAnnotation(parent) || isUnionTypeAnnotation(parent);
-}
-
-function OptionalIndexedAccessType(node, parent) {
- return isIndexedAccessType(parent, {
- objectType: node
- });
-}
-
-function TSAsExpression() {
- return true;
-}
-
-function TSTypeAssertion() {
- return true;
-}
-
-function TSUnionType(node, parent) {
- return isTSArrayType(parent) || isTSOptionalType(parent) || isTSIntersectionType(parent) || isTSUnionType(parent) || isTSRestType(parent);
-}
-
-function TSInferType(node, parent) {
- return isTSArrayType(parent) || isTSOptionalType(parent);
-}
-
-function TSInstantiationExpression(node, parent) {
- return (isCallExpression(parent) || isOptionalCallExpression(parent) || isNewExpression(parent) || isTSInstantiationExpression(parent)) && !!parent.typeParameters;
-}
-
-function BinaryExpression(node, parent) {
- return node.operator === "in" && (isVariableDeclarator(parent) || isFor(parent));
-}
-
-function SequenceExpression(node, parent) {
- if (isForStatement(parent) || isThrowStatement(parent) || isReturnStatement(parent) || isIfStatement(parent) && parent.test === node || isWhileStatement(parent) && parent.test === node || isForInStatement(parent) && parent.right === node || isSwitchStatement(parent) && parent.discriminant === node || isExpressionStatement(parent) && parent.expression === node) {
- return false;
- }
-
- return true;
-}
-
-function YieldExpression(node, parent) {
- return isBinary(parent) || isUnaryLike(parent) || hasPostfixPart(node, parent) || isAwaitExpression(parent) && isYieldExpression(node) || isConditionalExpression(parent) && node === parent.test || isClassExtendsClause(node, parent);
-}
-
-function ClassExpression(node, parent, printStack) {
- return isFirstInContext(printStack, {
- expressionStatement: true,
- exportDefault: true
- });
-}
-
-function UnaryLike(node, parent) {
- return hasPostfixPart(node, parent) || isBinaryExpression(parent, {
- operator: "**",
- left: node
- }) || isClassExtendsClause(node, parent);
-}
-
-function FunctionExpression(node, parent, printStack) {
- return isFirstInContext(printStack, {
- expressionStatement: true,
- exportDefault: true
- });
-}
-
-function ArrowFunctionExpression(node, parent) {
- return isExportDeclaration(parent) || ConditionalExpression(node, parent);
-}
-
-function ConditionalExpression(node, parent) {
- if (isUnaryLike(parent) || isBinary(parent) || isConditionalExpression(parent, {
- test: node
- }) || isAwaitExpression(parent) || isTSTypeAssertion(parent) || isTSAsExpression(parent)) {
- return true;
- }
-
- return UnaryLike(node, parent);
-}
-
-function OptionalMemberExpression(node, parent) {
- return isCallExpression(parent, {
- callee: node
- }) || isMemberExpression(parent, {
- object: node
- });
-}
-
-function AssignmentExpression(node, parent) {
- if (isObjectPattern(node.left)) {
- return true;
- } else {
- return ConditionalExpression(node, parent);
- }
-}
-
-function LogicalExpression(node, parent) {
- switch (node.operator) {
- case "||":
- if (!isLogicalExpression(parent)) return false;
- return parent.operator === "??" || parent.operator === "&&";
-
- case "&&":
- return isLogicalExpression(parent, {
- operator: "??"
- });
-
- case "??":
- return isLogicalExpression(parent) && parent.operator !== "??";
- }
-}
-
-function Identifier(node, parent, printStack) {
- var _node$extra;
-
- if ((_node$extra = node.extra) != null && _node$extra.parenthesized && isAssignmentExpression(parent, {
- left: node
- }) && (isFunctionExpression(parent.right) || isClassExpression(parent.right)) && parent.right.id == null) {
- return true;
- }
-
- if (node.name === "let") {
- const isFollowedByBracket = isMemberExpression(parent, {
- object: node,
- computed: true
- }) || isOptionalMemberExpression(parent, {
- object: node,
- computed: true,
- optional: false
- });
- return isFirstInContext(printStack, {
- expressionStatement: isFollowedByBracket,
- forHead: isFollowedByBracket,
- forInHead: isFollowedByBracket,
- forOfHead: true
- });
- }
-
- return node.name === "async" && isForOfStatement(parent) && node === parent.left;
-}
-
-function isFirstInContext(printStack, {
- expressionStatement = false,
- arrowBody = false,
- exportDefault = false,
- forHead = false,
- forInHead = false,
- forOfHead = false
-}) {
- let i = printStack.length - 1;
- let node = printStack[i];
- i--;
- let parent = printStack[i];
-
- while (i >= 0) {
- if (expressionStatement && isExpressionStatement(parent, {
- expression: node
- }) || exportDefault && isExportDefaultDeclaration(parent, {
- declaration: node
- }) || arrowBody && isArrowFunctionExpression(parent, {
- body: node
- }) || forHead && isForStatement(parent, {
- init: node
- }) || forInHead && isForInStatement(parent, {
- left: node
- }) || forOfHead && isForOfStatement(parent, {
- left: node
- })) {
- return true;
- }
-
- if (hasPostfixPart(node, parent) && !isNewExpression(parent) || isSequenceExpression(parent) && parent.expressions[0] === node || isUpdateExpression(parent) && !parent.prefix || isConditional(parent, {
- test: node
- }) || isBinary(parent, {
- left: node
- }) || isAssignmentExpression(parent, {
- left: node
- })) {
- node = parent;
- i--;
- parent = printStack[i];
- } else {
- return false;
- }
- }
-
- return false;
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/node/whitespace.js b/includes/search/node_modules/@babel/generator/lib/node/whitespace.js
deleted file mode 100644
index 80e2da9..0000000
--- a/includes/search/node_modules/@babel/generator/lib/node/whitespace.js
+++ /dev/null
@@ -1,214 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.nodes = exports.list = void 0;
-
-var _t = require("@babel/types");
-
-const {
- FLIPPED_ALIAS_KEYS,
- isArrayExpression,
- isAssignmentExpression,
- isBinary,
- isBlockStatement,
- isCallExpression,
- isFunction,
- isIdentifier,
- isLiteral,
- isMemberExpression,
- isObjectExpression,
- isOptionalCallExpression,
- isOptionalMemberExpression,
- isStringLiteral
-} = _t;
-
-function crawl(node, state = {}) {
- if (isMemberExpression(node) || isOptionalMemberExpression(node)) {
- crawl(node.object, state);
- if (node.computed) crawl(node.property, state);
- } else if (isBinary(node) || isAssignmentExpression(node)) {
- crawl(node.left, state);
- crawl(node.right, state);
- } else if (isCallExpression(node) || isOptionalCallExpression(node)) {
- state.hasCall = true;
- crawl(node.callee, state);
- } else if (isFunction(node)) {
- state.hasFunction = true;
- } else if (isIdentifier(node)) {
- state.hasHelper = state.hasHelper || isHelper(node.callee);
- }
-
- return state;
-}
-
-function isHelper(node) {
- if (isMemberExpression(node)) {
- return isHelper(node.object) || isHelper(node.property);
- } else if (isIdentifier(node)) {
- return node.name === "require" || node.name[0] === "_";
- } else if (isCallExpression(node)) {
- return isHelper(node.callee);
- } else if (isBinary(node) || isAssignmentExpression(node)) {
- return isIdentifier(node.left) && isHelper(node.left) || isHelper(node.right);
- } else {
- return false;
- }
-}
-
-function isType(node) {
- return isLiteral(node) || isObjectExpression(node) || isArrayExpression(node) || isIdentifier(node) || isMemberExpression(node);
-}
-
-const nodes = {
- AssignmentExpression(node) {
- const state = crawl(node.right);
-
- if (state.hasCall && state.hasHelper || state.hasFunction) {
- return {
- before: state.hasFunction,
- after: true
- };
- }
- },
-
- SwitchCase(node, parent) {
- return {
- before: !!node.consequent.length || parent.cases[0] === node,
- after: !node.consequent.length && parent.cases[parent.cases.length - 1] === node
- };
- },
-
- LogicalExpression(node) {
- if (isFunction(node.left) || isFunction(node.right)) {
- return {
- after: true
- };
- }
- },
-
- Literal(node) {
- if (isStringLiteral(node) && node.value === "use strict") {
- return {
- after: true
- };
- }
- },
-
- CallExpression(node) {
- if (isFunction(node.callee) || isHelper(node)) {
- return {
- before: true,
- after: true
- };
- }
- },
-
- OptionalCallExpression(node) {
- if (isFunction(node.callee)) {
- return {
- before: true,
- after: true
- };
- }
- },
-
- VariableDeclaration(node) {
- for (let i = 0; i < node.declarations.length; i++) {
- const declar = node.declarations[i];
- let enabled = isHelper(declar.id) && !isType(declar.init);
-
- if (!enabled) {
- const state = crawl(declar.init);
- enabled = isHelper(declar.init) && state.hasCall || state.hasFunction;
- }
-
- if (enabled) {
- return {
- before: true,
- after: true
- };
- }
- }
- },
-
- IfStatement(node) {
- if (isBlockStatement(node.consequent)) {
- return {
- before: true,
- after: true
- };
- }
- }
-
-};
-exports.nodes = nodes;
-
-nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) {
- if (parent.properties[0] === node) {
- return {
- before: true
- };
- }
-};
-
-nodes.ObjectTypeCallProperty = function (node, parent) {
- var _parent$properties;
-
- if (parent.callProperties[0] === node && !((_parent$properties = parent.properties) != null && _parent$properties.length)) {
- return {
- before: true
- };
- }
-};
-
-nodes.ObjectTypeIndexer = function (node, parent) {
- var _parent$properties2, _parent$callPropertie;
-
- if (parent.indexers[0] === node && !((_parent$properties2 = parent.properties) != null && _parent$properties2.length) && !((_parent$callPropertie = parent.callProperties) != null && _parent$callPropertie.length)) {
- return {
- before: true
- };
- }
-};
-
-nodes.ObjectTypeInternalSlot = function (node, parent) {
- var _parent$properties3, _parent$callPropertie2, _parent$indexers;
-
- if (parent.internalSlots[0] === node && !((_parent$properties3 = parent.properties) != null && _parent$properties3.length) && !((_parent$callPropertie2 = parent.callProperties) != null && _parent$callPropertie2.length) && !((_parent$indexers = parent.indexers) != null && _parent$indexers.length)) {
- return {
- before: true
- };
- }
-};
-
-const list = {
- VariableDeclaration(node) {
- return node.declarations.map(decl => decl.init);
- },
-
- ArrayExpression(node) {
- return node.elements;
- },
-
- ObjectExpression(node) {
- return node.properties;
- }
-
-};
-exports.list = list;
-[["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function ([type, amounts]) {
- if (typeof amounts === "boolean") {
- amounts = {
- after: amounts,
- before: amounts
- };
- }
-
- [type].concat(FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) {
- nodes[type] = function () {
- return amounts;
- };
- });
-}); \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/printer.js b/includes/search/node_modules/@babel/generator/lib/printer.js
deleted file mode 100644
index 011460b..0000000
--- a/includes/search/node_modules/@babel/generator/lib/printer.js
+++ /dev/null
@@ -1,540 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = void 0;
-
-var _buffer = require("./buffer");
-
-var n = require("./node");
-
-var _t = require("@babel/types");
-
-var generatorFunctions = require("./generators");
-
-const {
- isProgram,
- isFile,
- isEmptyStatement
-} = _t;
-const SCIENTIFIC_NOTATION = /e/i;
-const ZERO_DECIMAL_INTEGER = /\.0+$/;
-const NON_DECIMAL_LITERAL = /^0[box]/;
-const PURE_ANNOTATION_RE = /^\s*[@#]__PURE__\s*$/;
-const {
- needsParens,
- needsWhitespaceAfter,
- needsWhitespaceBefore
-} = n;
-
-class Printer {
- constructor(format, map) {
- this.inForStatementInitCounter = 0;
- this._printStack = [];
- this._indent = 0;
- this._insideAux = false;
- this._parenPushNewlineState = null;
- this._noLineTerminator = false;
- this._printAuxAfterOnNextUserNode = false;
- this._printedComments = new WeakSet();
- this._endsWithInteger = false;
- this._endsWithWord = false;
- this.format = format;
- this._buf = new _buffer.default(map);
- }
-
- generate(ast) {
- this.print(ast);
-
- this._maybeAddAuxComment();
-
- return this._buf.get();
- }
-
- indent() {
- if (this.format.compact || this.format.concise) return;
- this._indent++;
- }
-
- dedent() {
- if (this.format.compact || this.format.concise) return;
- this._indent--;
- }
-
- semicolon(force = false) {
- this._maybeAddAuxComment();
-
- this._append(";", !force);
- }
-
- rightBrace() {
- if (this.format.minified) {
- this._buf.removeLastSemicolon();
- }
-
- this.token("}");
- }
-
- space(force = false) {
- if (this.format.compact) return;
-
- if (force) {
- this._space();
- } else if (this._buf.hasContent()) {
- const lastCp = this.getLastChar();
-
- if (lastCp !== 32 && lastCp !== 10) {
- this._space();
- }
- }
- }
-
- word(str) {
- if (this._endsWithWord || this.endsWith(47) && str.charCodeAt(0) === 47) {
- this._space();
- }
-
- this._maybeAddAuxComment();
-
- this._append(str);
-
- this._endsWithWord = true;
- }
-
- number(str) {
- this.word(str);
- this._endsWithInteger = Number.isInteger(+str) && !NON_DECIMAL_LITERAL.test(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str.charCodeAt(str.length - 1) !== 46;
- }
-
- token(str) {
- const lastChar = this.getLastChar();
- const strFirst = str.charCodeAt(0);
-
- if (str === "--" && lastChar === 33 || strFirst === 43 && lastChar === 43 || strFirst === 45 && lastChar === 45 || strFirst === 46 && this._endsWithInteger) {
- this._space();
- }
-
- this._maybeAddAuxComment();
-
- this._append(str);
- }
-
- newline(i = 1) {
- if (this.format.retainLines || this.format.compact) return;
-
- if (this.format.concise) {
- this.space();
- return;
- }
-
- const charBeforeNewline = this.endsWithCharAndNewline();
- if (charBeforeNewline === 10) return;
-
- if (charBeforeNewline === 123 || charBeforeNewline === 58) {
- i--;
- }
-
- if (i <= 0) return;
-
- for (let j = 0; j < i; j++) {
- this._newline();
- }
- }
-
- endsWith(char) {
- return this.getLastChar() === char;
- }
-
- getLastChar() {
- return this._buf.getLastChar();
- }
-
- endsWithCharAndNewline() {
- return this._buf.endsWithCharAndNewline();
- }
-
- removeTrailingNewline() {
- this._buf.removeTrailingNewline();
- }
-
- exactSource(loc, cb) {
- this._catchUp("start", loc);
-
- this._buf.exactSource(loc, cb);
- }
-
- source(prop, loc) {
- this._catchUp(prop, loc);
-
- this._buf.source(prop, loc);
- }
-
- withSource(prop, loc, cb) {
- this._catchUp(prop, loc);
-
- this._buf.withSource(prop, loc, cb);
- }
-
- _space() {
- this._append(" ", true);
- }
-
- _newline() {
- this._append("\n", true);
- }
-
- _append(str, queue = false) {
- this._maybeAddParen(str);
-
- this._maybeIndent(str);
-
- if (queue) this._buf.queue(str);else this._buf.append(str);
- this._endsWithWord = false;
- this._endsWithInteger = false;
- }
-
- _maybeIndent(str) {
- if (this._indent && this.endsWith(10) && str.charCodeAt(0) !== 10) {
- this._buf.queueIndentation(this._getIndent());
- }
- }
-
- _maybeAddParen(str) {
- const parenPushNewlineState = this._parenPushNewlineState;
- if (!parenPushNewlineState) return;
- let i;
-
- for (i = 0; i < str.length && str[i] === " "; i++) continue;
-
- if (i === str.length) {
- return;
- }
-
- const cha = str[i];
-
- if (cha !== "\n") {
- if (cha !== "/" || i + 1 === str.length) {
- this._parenPushNewlineState = null;
- return;
- }
-
- const chaPost = str[i + 1];
-
- if (chaPost === "*") {
- if (PURE_ANNOTATION_RE.test(str.slice(i + 2, str.length - 2))) {
- return;
- }
- } else if (chaPost !== "/") {
- this._parenPushNewlineState = null;
- return;
- }
- }
-
- this.token("(");
- this.indent();
- parenPushNewlineState.printed = true;
- }
-
- _catchUp(prop, loc) {
- if (!this.format.retainLines) return;
- const pos = loc ? loc[prop] : null;
-
- if ((pos == null ? void 0 : pos.line) != null) {
- const count = pos.line - this._buf.getCurrentLine();
-
- for (let i = 0; i < count; i++) {
- this._newline();
- }
- }
- }
-
- _getIndent() {
- return this.format.indent.style.repeat(this._indent);
- }
-
- startTerminatorless(isLabel = false) {
- if (isLabel) {
- this._noLineTerminator = true;
- return null;
- } else {
- return this._parenPushNewlineState = {
- printed: false
- };
- }
- }
-
- endTerminatorless(state) {
- this._noLineTerminator = false;
-
- if (state != null && state.printed) {
- this.dedent();
- this.newline();
- this.token(")");
- }
- }
-
- print(node, parent) {
- if (!node) return;
- const oldConcise = this.format.concise;
-
- if (node._compact) {
- this.format.concise = true;
- }
-
- const printMethod = this[node.type];
-
- if (!printMethod) {
- throw new ReferenceError(`unknown node of type ${JSON.stringify(node.type)} with constructor ${JSON.stringify(node == null ? void 0 : node.constructor.name)}`);
- }
-
- this._printStack.push(node);
-
- const oldInAux = this._insideAux;
- this._insideAux = !node.loc;
-
- this._maybeAddAuxComment(this._insideAux && !oldInAux);
-
- let shouldPrintParens = needsParens(node, parent, this._printStack);
-
- if (this.format.retainFunctionParens && node.type === "FunctionExpression" && node.extra && node.extra.parenthesized) {
- shouldPrintParens = true;
- }
-
- if (shouldPrintParens) this.token("(");
-
- this._printLeadingComments(node);
-
- const loc = isProgram(node) || isFile(node) ? null : node.loc;
- this.withSource("start", loc, () => {
- printMethod.call(this, node, parent);
- });
-
- this._printTrailingComments(node);
-
- if (shouldPrintParens) this.token(")");
-
- this._printStack.pop();
-
- this.format.concise = oldConcise;
- this._insideAux = oldInAux;
- }
-
- _maybeAddAuxComment(enteredPositionlessNode) {
- if (enteredPositionlessNode) this._printAuxBeforeComment();
- if (!this._insideAux) this._printAuxAfterComment();
- }
-
- _printAuxBeforeComment() {
- if (this._printAuxAfterOnNextUserNode) return;
- this._printAuxAfterOnNextUserNode = true;
- const comment = this.format.auxiliaryCommentBefore;
-
- if (comment) {
- this._printComment({
- type: "CommentBlock",
- value: comment
- });
- }
- }
-
- _printAuxAfterComment() {
- if (!this._printAuxAfterOnNextUserNode) return;
- this._printAuxAfterOnNextUserNode = false;
- const comment = this.format.auxiliaryCommentAfter;
-
- if (comment) {
- this._printComment({
- type: "CommentBlock",
- value: comment
- });
- }
- }
-
- getPossibleRaw(node) {
- const extra = node.extra;
-
- if (extra && extra.raw != null && extra.rawValue != null && node.value === extra.rawValue) {
- return extra.raw;
- }
- }
-
- printJoin(nodes, parent, opts = {}) {
- if (!(nodes != null && nodes.length)) return;
- if (opts.indent) this.indent();
- const newlineOpts = {
- addNewlines: opts.addNewlines
- };
-
- for (let i = 0; i < nodes.length; i++) {
- const node = nodes[i];
- if (!node) continue;
- if (opts.statement) this._printNewline(true, node, parent, newlineOpts);
- this.print(node, parent);
-
- if (opts.iterator) {
- opts.iterator(node, i);
- }
-
- if (opts.separator && i < nodes.length - 1) {
- opts.separator.call(this);
- }
-
- if (opts.statement) this._printNewline(false, node, parent, newlineOpts);
- }
-
- if (opts.indent) this.dedent();
- }
-
- printAndIndentOnComments(node, parent) {
- const indent = node.leadingComments && node.leadingComments.length > 0;
- if (indent) this.indent();
- this.print(node, parent);
- if (indent) this.dedent();
- }
-
- printBlock(parent) {
- const node = parent.body;
-
- if (!isEmptyStatement(node)) {
- this.space();
- }
-
- this.print(node, parent);
- }
-
- _printTrailingComments(node) {
- this._printComments(this._getComments(false, node));
- }
-
- _printLeadingComments(node) {
- this._printComments(this._getComments(true, node), true);
- }
-
- printInnerComments(node, indent = true) {
- var _node$innerComments;
-
- if (!((_node$innerComments = node.innerComments) != null && _node$innerComments.length)) return;
- if (indent) this.indent();
-
- this._printComments(node.innerComments);
-
- if (indent) this.dedent();
- }
-
- printSequence(nodes, parent, opts = {}) {
- opts.statement = true;
- return this.printJoin(nodes, parent, opts);
- }
-
- printList(items, parent, opts = {}) {
- if (opts.separator == null) {
- opts.separator = commaSeparator;
- }
-
- return this.printJoin(items, parent, opts);
- }
-
- _printNewline(leading, node, parent, opts) {
- if (this.format.retainLines || this.format.compact) return;
-
- if (this.format.concise) {
- this.space();
- return;
- }
-
- let lines = 0;
-
- if (this._buf.hasContent()) {
- if (!leading) lines++;
- if (opts.addNewlines) lines += opts.addNewlines(leading, node) || 0;
- const needs = leading ? needsWhitespaceBefore : needsWhitespaceAfter;
- if (needs(node, parent)) lines++;
- }
-
- this.newline(Math.min(2, lines));
- }
-
- _getComments(leading, node) {
- return node && (leading ? node.leadingComments : node.trailingComments) || [];
- }
-
- _printComment(comment, skipNewLines) {
- if (!this.format.shouldPrintComment(comment.value)) return;
- if (comment.ignore) return;
- if (this._printedComments.has(comment)) return;
-
- this._printedComments.add(comment);
-
- const isBlockComment = comment.type === "CommentBlock";
- const printNewLines = isBlockComment && !skipNewLines && !this._noLineTerminator;
- if (printNewLines && this._buf.hasContent()) this.newline(1);
- const lastCharCode = this.getLastChar();
-
- if (lastCharCode !== 91 && lastCharCode !== 123) {
- this.space();
- }
-
- let val = !isBlockComment && !this._noLineTerminator ? `//${comment.value}\n` : `/*${comment.value}*/`;
-
- if (isBlockComment && this.format.indent.adjustMultilineComment) {
- var _comment$loc;
-
- const offset = (_comment$loc = comment.loc) == null ? void 0 : _comment$loc.start.column;
-
- if (offset) {
- const newlineRegex = new RegExp("\\n\\s{1," + offset + "}", "g");
- val = val.replace(newlineRegex, "\n");
- }
-
- const indentSize = Math.max(this._getIndent().length, this.format.retainLines ? 0 : this._buf.getCurrentColumn());
- val = val.replace(/\n(?!$)/g, `\n${" ".repeat(indentSize)}`);
- }
-
- if (this.endsWith(47)) this._space();
- this.withSource("start", comment.loc, () => {
- this._append(val);
- });
- if (printNewLines) this.newline(1);
- }
-
- _printComments(comments, inlinePureAnnotation) {
- if (!(comments != null && comments.length)) return;
-
- if (inlinePureAnnotation && comments.length === 1 && PURE_ANNOTATION_RE.test(comments[0].value)) {
- this._printComment(comments[0], this._buf.hasContent() && !this.endsWith(10));
- } else {
- for (const comment of comments) {
- this._printComment(comment);
- }
- }
- }
-
- printAssertions(node) {
- var _node$assertions;
-
- if ((_node$assertions = node.assertions) != null && _node$assertions.length) {
- this.space();
- this.word("assert");
- this.space();
- this.token("{");
- this.space();
- this.printList(node.assertions, node);
- this.space();
- this.token("}");
- }
- }
-
-}
-
-Object.assign(Printer.prototype, generatorFunctions);
-{
- Printer.prototype.Noop = function Noop() {};
-}
-var _default = Printer;
-exports.default = _default;
-
-function commaSeparator() {
- this.token(",");
- this.space();
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/lib/source-map.js b/includes/search/node_modules/@babel/generator/lib/source-map.js
deleted file mode 100644
index e611778..0000000
--- a/includes/search/node_modules/@babel/generator/lib/source-map.js
+++ /dev/null
@@ -1,62 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = void 0;
-
-var _genMapping = require("@jridgewell/gen-mapping");
-
-class SourceMap {
- constructor(opts, code) {
- var _opts$sourceFileName;
-
- this._map = void 0;
- this._rawMappings = void 0;
- this._sourceFileName = void 0;
- this._lastGenLine = 0;
- this._lastSourceLine = 0;
- this._lastSourceColumn = 0;
- const map = this._map = new _genMapping.GenMapping({
- sourceRoot: opts.sourceRoot
- });
- this._sourceFileName = (_opts$sourceFileName = opts.sourceFileName) == null ? void 0 : _opts$sourceFileName.replace(/\\/g, "/");
- this._rawMappings = undefined;
-
- if (typeof code === "string") {
- (0, _genMapping.setSourceContent)(map, this._sourceFileName, code);
- } else if (typeof code === "object") {
- Object.keys(code).forEach(sourceFileName => {
- (0, _genMapping.setSourceContent)(map, sourceFileName.replace(/\\/g, "/"), code[sourceFileName]);
- });
- }
- }
-
- get() {
- return (0, _genMapping.toEncodedMap)(this._map);
- }
-
- getDecoded() {
- return (0, _genMapping.toDecodedMap)(this._map);
- }
-
- getRawMappings() {
- return this._rawMappings || (this._rawMappings = (0, _genMapping.allMappings)(this._map));
- }
-
- mark(generated, line, column, identifierName, filename) {
- this._rawMappings = undefined;
- (0, _genMapping.maybeAddMapping)(this._map, {
- name: identifierName,
- generated,
- source: line == null ? undefined : (filename == null ? void 0 : filename.replace(/\\/g, "/")) || this._sourceFileName,
- original: line == null ? undefined : {
- line: line,
- column: column
- }
- });
- }
-
-}
-
-exports.default = SourceMap; \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/generator/package.json b/includes/search/node_modules/@babel/generator/package.json
deleted file mode 100644
index 07f8154..0000000
--- a/includes/search/node_modules/@babel/generator/package.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "@babel/generator",
- "version": "7.18.2",
- "description": "Turns an AST into code.",
- "author": "The Babel Team (https://babel.dev/team)",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/babel/babel.git",
- "directory": "packages/babel-generator"
- },
- "homepage": "https://babel.dev/docs/en/next/babel-generator",
- "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20generator%22+is%3Aopen",
- "main": "./lib/index.js",
- "files": [
- "lib"
- ],
- "dependencies": {
- "@babel/types": "^7.18.2",
- "@jridgewell/gen-mapping": "^0.3.0",
- "jsesc": "^2.5.1"
- },
- "devDependencies": {
- "@babel/helper-fixtures": "^7.17.10",
- "@babel/parser": "^7.18.0",
- "@jridgewell/trace-mapping": "^0.3.8",
- "@types/jsesc": "^2.5.0",
- "charcodes": "^0.2.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/helper-string-parser/LICENSE b/includes/search/node_modules/@babel/helper-string-parser/LICENSE
deleted file mode 100644
index f31575e..0000000
--- a/includes/search/node_modules/@babel/helper-string-parser/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/@babel/helper-string-parser/README.md b/includes/search/node_modules/@babel/helper-string-parser/README.md
deleted file mode 100644
index 5a13b5f..0000000
--- a/includes/search/node_modules/@babel/helper-string-parser/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-string-parser
-
-> A utility package to parse strings
-
-See our website [@babel/helper-string-parser](https://babeljs.io/docs/en/babel-helper-string-parser) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save @babel/helper-string-parser
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-string-parser
-```
diff --git a/includes/search/node_modules/@babel/helper-string-parser/lib/index.js b/includes/search/node_modules/@babel/helper-string-parser/lib/index.js
deleted file mode 100644
index ebb0aa2..0000000
--- a/includes/search/node_modules/@babel/helper-string-parser/lib/index.js
+++ /dev/null
@@ -1,295 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.readCodePoint = readCodePoint;
-exports.readInt = readInt;
-exports.readStringContents = readStringContents;
-var _isDigit = function isDigit(code) {
- return code >= 48 && code <= 57;
-};
-const forbiddenNumericSeparatorSiblings = {
- decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),
- hex: new Set([46, 88, 95, 120])
-};
-const isAllowedNumericSeparatorSibling = {
- bin: ch => ch === 48 || ch === 49,
- oct: ch => ch >= 48 && ch <= 55,
- dec: ch => ch >= 48 && ch <= 57,
- hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102
-};
-function readStringContents(type, input, pos, lineStart, curLine, errors) {
- const initialPos = pos;
- const initialLineStart = lineStart;
- const initialCurLine = curLine;
- let out = "";
- let firstInvalidLoc = null;
- let chunkStart = pos;
- const {
- length
- } = input;
- for (;;) {
- if (pos >= length) {
- errors.unterminated(initialPos, initialLineStart, initialCurLine);
- out += input.slice(chunkStart, pos);
- break;
- }
- const ch = input.charCodeAt(pos);
- if (isStringEnd(type, ch, input, pos)) {
- out += input.slice(chunkStart, pos);
- break;
- }
- if (ch === 92) {
- out += input.slice(chunkStart, pos);
- const res = readEscapedChar(input, pos, lineStart, curLine, type === "template", errors);
- if (res.ch === null && !firstInvalidLoc) {
- firstInvalidLoc = {
- pos,
- lineStart,
- curLine
- };
- } else {
- out += res.ch;
- }
- ({
- pos,
- lineStart,
- curLine
- } = res);
- chunkStart = pos;
- } else if (ch === 8232 || ch === 8233) {
- ++pos;
- ++curLine;
- lineStart = pos;
- } else if (ch === 10 || ch === 13) {
- if (type === "template") {
- out += input.slice(chunkStart, pos) + "\n";
- ++pos;
- if (ch === 13 && input.charCodeAt(pos) === 10) {
- ++pos;
- }
- ++curLine;
- chunkStart = lineStart = pos;
- } else {
- errors.unterminated(initialPos, initialLineStart, initialCurLine);
- }
- } else {
- ++pos;
- }
- }
- return {
- pos,
- str: out,
- firstInvalidLoc,
- lineStart,
- curLine,
- containsInvalid: !!firstInvalidLoc
- };
-}
-function isStringEnd(type, ch, input, pos) {
- if (type === "template") {
- return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;
- }
- return ch === (type === "double" ? 34 : 39);
-}
-function readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {
- const throwOnInvalid = !inTemplate;
- pos++;
- const res = ch => ({
- pos,
- ch,
- lineStart,
- curLine
- });
- const ch = input.charCodeAt(pos++);
- switch (ch) {
- case 110:
- return res("\n");
- case 114:
- return res("\r");
- case 120:
- {
- let code;
- ({
- code,
- pos
- } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors));
- return res(code === null ? null : String.fromCharCode(code));
- }
- case 117:
- {
- let code;
- ({
- code,
- pos
- } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors));
- return res(code === null ? null : String.fromCodePoint(code));
- }
- case 116:
- return res("\t");
- case 98:
- return res("\b");
- case 118:
- return res("\u000b");
- case 102:
- return res("\f");
- case 13:
- if (input.charCodeAt(pos) === 10) {
- ++pos;
- }
- case 10:
- lineStart = pos;
- ++curLine;
- case 8232:
- case 8233:
- return res("");
- case 56:
- case 57:
- if (inTemplate) {
- return res(null);
- } else {
- errors.strictNumericEscape(pos - 1, lineStart, curLine);
- }
- default:
- if (ch >= 48 && ch <= 55) {
- const startPos = pos - 1;
- const match = input.slice(startPos, pos + 2).match(/^[0-7]+/);
- let octalStr = match[0];
- let octal = parseInt(octalStr, 8);
- if (octal > 255) {
- octalStr = octalStr.slice(0, -1);
- octal = parseInt(octalStr, 8);
- }
- pos += octalStr.length - 1;
- const next = input.charCodeAt(pos);
- if (octalStr !== "0" || next === 56 || next === 57) {
- if (inTemplate) {
- return res(null);
- } else {
- errors.strictNumericEscape(startPos, lineStart, curLine);
- }
- }
- return res(String.fromCharCode(octal));
- }
- return res(String.fromCharCode(ch));
- }
-}
-function readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {
- const initialPos = pos;
- let n;
- ({
- n,
- pos
- } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));
- if (n === null) {
- if (throwOnInvalid) {
- errors.invalidEscapeSequence(initialPos, lineStart, curLine);
- } else {
- pos = initialPos - 1;
- }
- }
- return {
- code: n,
- pos
- };
-}
-function readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {
- const start = pos;
- const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
- const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
- let invalid = false;
- let total = 0;
- for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {
- const code = input.charCodeAt(pos);
- let val;
- if (code === 95 && allowNumSeparator !== "bail") {
- const prev = input.charCodeAt(pos - 1);
- const next = input.charCodeAt(pos + 1);
- if (!allowNumSeparator) {
- if (bailOnError) return {
- n: null,
- pos
- };
- errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);
- } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {
- if (bailOnError) return {
- n: null,
- pos
- };
- errors.unexpectedNumericSeparator(pos, lineStart, curLine);
- }
- ++pos;
- continue;
- }
- if (code >= 97) {
- val = code - 97 + 10;
- } else if (code >= 65) {
- val = code - 65 + 10;
- } else if (_isDigit(code)) {
- val = code - 48;
- } else {
- val = Infinity;
- }
- if (val >= radix) {
- if (val <= 9 && bailOnError) {
- return {
- n: null,
- pos
- };
- } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {
- val = 0;
- } else if (forceLen) {
- val = 0;
- invalid = true;
- } else {
- break;
- }
- }
- ++pos;
- total = total * radix + val;
- }
- if (pos === start || len != null && pos - start !== len || invalid) {
- return {
- n: null,
- pos
- };
- }
- return {
- n: total,
- pos
- };
-}
-function readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {
- const ch = input.charCodeAt(pos);
- let code;
- if (ch === 123) {
- ++pos;
- ({
- code,
- pos
- } = readHexChar(input, pos, lineStart, curLine, input.indexOf("}", pos) - pos, true, throwOnInvalid, errors));
- ++pos;
- if (code !== null && code > 0x10ffff) {
- if (throwOnInvalid) {
- errors.invalidCodePoint(pos, lineStart, curLine);
- } else {
- return {
- code: null,
- pos
- };
- }
- }
- } else {
- ({
- code,
- pos
- } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors));
- }
- return {
- code,
- pos
- };
-}
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/helper-string-parser/lib/index.js.map b/includes/search/node_modules/@babel/helper-string-parser/lib/index.js.map
deleted file mode 100644
index c2fa847..0000000
--- a/includes/search/node_modules/@babel/helper-string-parser/lib/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isDigit","code","forbiddenNumericSeparatorSiblings","decBinOct","Set","hex","isAllowedNumericSeparatorSibling","bin","ch","oct","dec","readStringContents","type","input","pos","lineStart","curLine","errors","initialPos","initialLineStart","initialCurLine","out","firstInvalidLoc","chunkStart","length","unterminated","slice","charCodeAt","isStringEnd","res","readEscapedChar","str","containsInvalid","inTemplate","throwOnInvalid","readHexChar","String","fromCharCode","readCodePoint","fromCodePoint","strictNumericEscape","startPos","match","octalStr","octal","parseInt","next","len","forceLen","n","readInt","invalidEscapeSequence","radix","allowNumSeparator","bailOnError","start","forbiddenSiblings","isAllowedSibling","invalid","total","i","e","Infinity","val","prev","numericSeparatorInEscapeSequence","Number","isNaN","has","unexpectedNumericSeparator","_isDigit","invalidDigit","indexOf","invalidCodePoint"],"sources":["../src/index.ts"],"sourcesContent":["import * as charCodes from \"charcodes\";\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ]),\n hex: new Set<number>([\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ]),\n};\n\nconst isAllowedNumericSeparatorSibling = {\n // 0 - 1\n bin: (ch: number) => ch === charCodes.digit0 || ch === charCodes.digit1,\n\n // 0 - 7\n oct: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit7,\n\n // 0 - 9\n dec: (ch: number) => ch >= charCodes.digit0 && ch <= charCodes.digit9,\n\n // 0 - 9, A - F, a - f,\n hex: (ch: number) =>\n (ch >= charCodes.digit0 && ch <= charCodes.digit9) ||\n (ch >= charCodes.uppercaseA && ch <= charCodes.uppercaseF) ||\n (ch >= charCodes.lowercaseA && ch <= charCodes.lowercaseF),\n};\n\nexport type StringContentsErrorHandlers = EscapedCharErrorHandlers & {\n unterminated(\n initialPos: number,\n initialLineStart: number,\n initialCurLine: number,\n ): void;\n};\n\nexport function readStringContents(\n type: \"single\" | \"double\" | \"template\",\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n errors: StringContentsErrorHandlers,\n) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const { length } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === charCodes.backslash) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(\n input,\n pos,\n lineStart,\n curLine,\n type === \"template\",\n errors,\n );\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = { pos, lineStart, curLine };\n } else {\n out += res.ch;\n }\n ({ pos, lineStart, curLine } = res);\n chunkStart = pos;\n } else if (\n ch === charCodes.lineSeparator ||\n ch === charCodes.paragraphSeparator\n ) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === charCodes.lineFeed || ch === charCodes.carriageReturn) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (\n ch === charCodes.carriageReturn &&\n input.charCodeAt(pos) === charCodes.lineFeed\n ) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return process.env.BABEL_8_BREAKING\n ? { pos, str: out, firstInvalidLoc, lineStart, curLine }\n : {\n pos,\n str: out,\n firstInvalidLoc,\n lineStart,\n curLine,\n containsInvalid: !!firstInvalidLoc,\n };\n}\n\nfunction isStringEnd(\n type: \"single\" | \"double\" | \"template\",\n ch: number,\n input: string,\n pos: number,\n) {\n if (type === \"template\") {\n return (\n ch === charCodes.graveAccent ||\n (ch === charCodes.dollarSign &&\n input.charCodeAt(pos + 1) === charCodes.leftCurlyBrace)\n );\n }\n return (\n ch === (type === \"double\" ? charCodes.quotationMark : charCodes.apostrophe)\n );\n}\n\ntype EscapedCharErrorHandlers = HexCharErrorHandlers &\n CodePointErrorHandlers & {\n strictNumericEscape(pos: number, lineStart: number, curLine: number): void;\n };\n\nfunction readEscapedChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n inTemplate: boolean,\n errors: EscapedCharErrorHandlers,\n) {\n const throwOnInvalid = !inTemplate;\n pos++; // skip '\\'\n\n const res = (ch: string | null) => ({ pos, ch, lineStart, curLine });\n\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case charCodes.lowercaseN:\n return res(\"\\n\");\n case charCodes.lowercaseR:\n return res(\"\\r\");\n case charCodes.lowercaseX: {\n let code;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 2,\n false,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case charCodes.lowercaseU: {\n let code;\n ({ code, pos } = readCodePoint(\n input,\n pos,\n lineStart,\n curLine,\n throwOnInvalid,\n errors,\n ));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case charCodes.lowercaseT:\n return res(\"\\t\");\n case charCodes.lowercaseB:\n return res(\"\\b\");\n case charCodes.lowercaseV:\n return res(\"\\u000b\");\n case charCodes.lowercaseF:\n return res(\"\\f\");\n case charCodes.carriageReturn:\n if (input.charCodeAt(pos) === charCodes.lineFeed) {\n ++pos;\n }\n // fall through\n case charCodes.lineFeed:\n lineStart = pos;\n ++curLine;\n // fall through\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return res(\"\");\n case charCodes.digit8:\n case charCodes.digit9:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n // fall through\n default:\n if (ch >= charCodes.digit0 && ch <= charCodes.digit7) {\n const startPos = pos - 1;\n const match = input.slice(startPos, pos + 2).match(/^[0-7]+/)!;\n\n let octalStr = match[0];\n\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (\n octalStr !== \"0\" ||\n next === charCodes.digit8 ||\n next === charCodes.digit9\n ) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n\n return res(String.fromCharCode(octal));\n }\n\n return res(String.fromCharCode(ch));\n }\n}\n\ntype HexCharErrorHandlers = IntErrorHandlers & {\n invalidEscapeSequence(pos: number, lineStart: number, curLine: number): void;\n};\n\n// Used to read character escape sequences ('\\x', '\\u').\nfunction readHexChar(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n len: number,\n forceLen: boolean,\n throwOnInvalid: boolean,\n errors: HexCharErrorHandlers,\n) {\n const initialPos = pos;\n let n;\n ({ n, pos } = readInt(\n input,\n pos,\n lineStart,\n curLine,\n 16,\n len,\n forceLen,\n false,\n errors,\n /* bailOnError */ !throwOnInvalid,\n ));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return { code: n, pos };\n}\n\nexport type IntErrorHandlers = {\n numericSeparatorInEscapeSequence(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n unexpectedNumericSeparator(\n pos: number,\n lineStart: number,\n curLine: number,\n ): void;\n // It can return \"true\" to indicate that the error was handled\n // and the int parsing should continue.\n invalidDigit(\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n ): boolean;\n};\n\nexport function readInt(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n radix: number,\n len: number | undefined,\n forceLen: boolean,\n allowNumSeparator: boolean | \"bail\",\n errors: IntErrorHandlers,\n bailOnError: boolean,\n) {\n const start = pos;\n const forbiddenSiblings =\n radix === 16\n ? forbiddenNumericSeparatorSiblings.hex\n : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling =\n radix === 16\n ? isAllowedNumericSeparatorSibling.hex\n : radix === 10\n ? isAllowedNumericSeparatorSibling.dec\n : radix === 8\n ? isAllowedNumericSeparatorSibling.oct\n : isAllowedNumericSeparatorSibling.bin;\n\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n\n if (code === charCodes.underscore && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n\n if (!allowNumSeparator) {\n if (bailOnError) return { n: null, pos };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (\n Number.isNaN(next) ||\n !isAllowedSibling(next) ||\n forbiddenSiblings.has(prev) ||\n forbiddenSiblings.has(next)\n ) {\n if (bailOnError) return { n: null, pos };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n\n // Ignore this _ character\n ++pos;\n continue;\n }\n\n if (code >= charCodes.lowercaseA) {\n val = code - charCodes.lowercaseA + charCodes.lineFeed;\n } else if (code >= charCodes.uppercaseA) {\n val = code - charCodes.uppercaseA + charCodes.lineFeed;\n } else if (charCodes.isDigit(code)) {\n val = code - charCodes.digit0; // 0-9\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n // If we found a digit which is too big, errors.invalidDigit can return true to avoid\n // breaking the loop (this is used for error recovery).\n if (val <= 9 && bailOnError) {\n return { n: null, pos };\n } else if (\n val <= 9 &&\n errors.invalidDigit(pos, lineStart, curLine, radix)\n ) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || (len != null && pos - start !== len) || invalid) {\n return { n: null, pos };\n }\n\n return { n: total, pos };\n}\n\nexport type CodePointErrorHandlers = HexCharErrorHandlers & {\n invalidCodePoint(pos: number, lineStart: number, curLine: number): void;\n};\n\nexport function readCodePoint(\n input: string,\n pos: number,\n lineStart: number,\n curLine: number,\n throwOnInvalid: boolean,\n errors: CodePointErrorHandlers,\n) {\n const ch = input.charCodeAt(pos);\n let code;\n\n if (ch === charCodes.leftCurlyBrace) {\n ++pos;\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n input.indexOf(\"}\", pos) - pos,\n true,\n throwOnInvalid,\n errors,\n ));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return { code: null, pos };\n }\n }\n } else {\n ({ code, pos } = readHexChar(\n input,\n pos,\n lineStart,\n curLine,\n 4,\n false,\n throwOnInvalid,\n errors,\n ));\n }\n return { code, pos };\n}\n"],"mappings":";;;;;;;;eAAA,SAASA,OAAOA,CAACC,IAAI,EAAE;EACrB,OAAOA,IAAI,MAAU,IAAIA,IAAI,MAAU;AACzC,CAAC;AAED,MAAMC,iCAAiC,GAAG;EACxCC,SAAS,EAAE,IAAIC,GAAG,CAAS,kCAS1B,CAAC;EACFC,GAAG,EAAE,IAAID,GAAG,CAAS,iBAKpB;AACH,CAAC;AAED,MAAME,gCAAgC,GAAG;EAEvCC,GAAG,EAAGC,EAAU,IAAKA,EAAE,OAAqB,IAAIA,EAAE,OAAqB;EAGvEC,GAAG,EAAGD,EAAU,IAAKA,EAAE,MAAoB,IAAIA,EAAE,MAAoB;EAGrEE,GAAG,EAAGF,EAAU,IAAKA,EAAE,MAAoB,IAAIA,EAAE,MAAoB;EAGrEH,GAAG,EAAGG,EAAU,IACbA,EAAE,MAAoB,IAAIA,EAAE,MAAoB,IAChDA,EAAE,MAAwB,IAAIA,EAAE,MAAyB,IACzDA,EAAE,MAAwB,IAAIA,EAAE;AACrC,CAAC;AAUM,SAASG,kBAAkBA,CAChCC,IAAsC,EACtCC,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACfC,MAAmC,EACnC;EACA,MAAMC,UAAU,GAAGJ,GAAG;EACtB,MAAMK,gBAAgB,GAAGJ,SAAS;EAClC,MAAMK,cAAc,GAAGJ,OAAO;EAE9B,IAAIK,GAAG,GAAG,EAAE;EACZ,IAAIC,eAAe,GAAG,IAAI;EAC1B,IAAIC,UAAU,GAAGT,GAAG;EACpB,MAAM;IAAEU;EAAO,CAAC,GAAGX,KAAK;EACxB,SAAS;IACP,IAAIC,GAAG,IAAIU,MAAM,EAAE;MACjBP,MAAM,CAACQ,YAAY,CAACP,UAAU,EAAEC,gBAAgB,EAAEC,cAAc,CAAC;MACjEC,GAAG,IAAIR,KAAK,CAACa,KAAK,CAACH,UAAU,EAAET,GAAG,CAAC;MACnC;IACF;IACA,MAAMN,EAAE,GAAGK,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC;IAChC,IAAIc,WAAW,CAAChB,IAAI,EAAEJ,EAAE,EAAEK,KAAK,EAAEC,GAAG,CAAC,EAAE;MACrCO,GAAG,IAAIR,KAAK,CAACa,KAAK,CAACH,UAAU,EAAET,GAAG,CAAC;MACnC;IACF;IACA,IAAIN,EAAE,OAAwB,EAAE;MAC9Ba,GAAG,IAAIR,KAAK,CAACa,KAAK,CAACH,UAAU,EAAET,GAAG,CAAC;MACnC,MAAMe,GAAG,GAAGC,eAAe,CACzBjB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACPJ,IAAI,KAAK,UAAU,EACnBK,MAAM,CACP;MACD,IAAIY,GAAG,CAACrB,EAAE,KAAK,IAAI,IAAI,CAACc,eAAe,EAAE;QACvCA,eAAe,GAAG;UAAER,GAAG;UAAEC,SAAS;UAAEC;QAAQ,CAAC;MAC/C,CAAC,MAAM;QACLK,GAAG,IAAIQ,GAAG,CAACrB,EAAE;MACf;MACA,CAAC;QAAEM,GAAG;QAAEC,SAAS;QAAEC;MAAQ,CAAC,GAAGa,GAAG;MAClCN,UAAU,GAAGT,GAAG;IAClB,CAAC,MAAM,IACLN,EAAE,SAA4B,IAC9BA,EAAE,SAAiC,EACnC;MACA,EAAEM,GAAG;MACL,EAAEE,OAAO;MACTD,SAAS,GAAGD,GAAG;IACjB,CAAC,MAAM,IAAIN,EAAE,OAAuB,IAAIA,EAAE,OAA6B,EAAE;MACvE,IAAII,IAAI,KAAK,UAAU,EAAE;QACvBS,GAAG,IAAIR,KAAK,CAACa,KAAK,CAACH,UAAU,EAAET,GAAG,CAAC,GAAG,IAAI;QAC1C,EAAEA,GAAG;QACL,IACEN,EAAE,OAA6B,IAC/BK,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC,OAAuB,EAC5C;UACA,EAAEA,GAAG;QACP;QACA,EAAEE,OAAO;QACTO,UAAU,GAAGR,SAAS,GAAGD,GAAG;MAC9B,CAAC,MAAM;QACLG,MAAM,CAACQ,YAAY,CAACP,UAAU,EAAEC,gBAAgB,EAAEC,cAAc,CAAC;MACnE;IACF,CAAC,MAAM;MACL,EAAEN,GAAG;IACP;EACF;EACA,OAEI;IACEA,GAAG;IACHiB,GAAG,EAAEV,GAAG;IACRC,eAAe;IACfP,SAAS;IACTC,OAAO;IACPgB,eAAe,EAAE,CAAC,CAACV;EACrB,CAAC;AACP;AAEA,SAASM,WAAWA,CAClBhB,IAAsC,EACtCJ,EAAU,EACVK,KAAa,EACbC,GAAW,EACX;EACA,IAAIF,IAAI,KAAK,UAAU,EAAE;IACvB,OACEJ,EAAE,OAA0B,IAC3BA,EAAE,OAAyB,IAC1BK,KAAK,CAACc,UAAU,CAACb,GAAG,GAAG,CAAC,CAAC,QAA8B;EAE7D;EACA,OACEN,EAAE,MAAMI,IAAI,KAAK,QAAQ,UAAiD,CAAC;AAE/E;AAOA,SAASkB,eAAeA,CACtBjB,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACfiB,UAAmB,EACnBhB,MAAgC,EAChC;EACA,MAAMiB,cAAc,GAAG,CAACD,UAAU;EAClCnB,GAAG,EAAE;EAEL,MAAMe,GAAG,GAAIrB,EAAiB,KAAM;IAAEM,GAAG;IAAEN,EAAE;IAAEO,SAAS;IAAEC;EAAQ,CAAC,CAAC;EAEpE,MAAMR,EAAE,GAAGK,KAAK,CAACc,UAAU,CAACb,GAAG,EAAE,CAAC;EAClC,QAAQN,EAAE;IACR;MACE,OAAOqB,GAAG,CAAC,IAAI,CAAC;IAClB;MACE,OAAOA,GAAG,CAAC,IAAI,CAAC;IAClB;MAA2B;QACzB,IAAI5B,IAAI;QACR,CAAC;UAAEA,IAAI;UAAEa;QAAI,CAAC,GAAGqB,WAAW,CAC1BtB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACP,CAAC,EACD,KAAK,EACLkB,cAAc,EACdjB,MAAM,CACP;QACD,OAAOY,GAAG,CAAC5B,IAAI,KAAK,IAAI,GAAG,IAAI,GAAGmC,MAAM,CAACC,YAAY,CAACpC,IAAI,CAAC,CAAC;MAC9D;IACA;MAA2B;QACzB,IAAIA,IAAI;QACR,CAAC;UAAEA,IAAI;UAAEa;QAAI,CAAC,GAAGwB,aAAa,CAC5BzB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACPkB,cAAc,EACdjB,MAAM,CACP;QACD,OAAOY,GAAG,CAAC5B,IAAI,KAAK,IAAI,GAAG,IAAI,GAAGmC,MAAM,CAACG,aAAa,CAACtC,IAAI,CAAC,CAAC;MAC/D;IACA;MACE,OAAO4B,GAAG,CAAC,IAAI,CAAC;IAClB;MACE,OAAOA,GAAG,CAAC,IAAI,CAAC;IAClB;MACE,OAAOA,GAAG,CAAC,QAAQ,CAAC;IACtB;MACE,OAAOA,GAAG,CAAC,IAAI,CAAC;IAClB;MACE,IAAIhB,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC,OAAuB,EAAE;QAChD,EAAEA,GAAG;MACP;IAEF;MACEC,SAAS,GAAGD,GAAG;MACf,EAAEE,OAAO;IAEX;IACA;MACE,OAAOa,GAAG,CAAC,EAAE,CAAC;IAChB;IACA;MACE,IAAII,UAAU,EAAE;QACd,OAAOJ,GAAG,CAAC,IAAI,CAAC;MAClB,CAAC,MAAM;QACLZ,MAAM,CAACuB,mBAAmB,CAAC1B,GAAG,GAAG,CAAC,EAAEC,SAAS,EAAEC,OAAO,CAAC;MACzD;IAEF;MACE,IAAIR,EAAE,MAAoB,IAAIA,EAAE,MAAoB,EAAE;QACpD,MAAMiC,QAAQ,GAAG3B,GAAG,GAAG,CAAC;QACxB,MAAM4B,KAAK,GAAG7B,KAAK,CAACa,KAAK,CAACe,QAAQ,EAAE3B,GAAG,GAAG,CAAC,CAAC,CAAC4B,KAAK,CAAC,SAAS,CAAE;QAE9D,IAAIC,QAAQ,GAAGD,KAAK,CAAC,CAAC,CAAC;QAEvB,IAAIE,KAAK,GAAGC,QAAQ,CAACF,QAAQ,EAAE,CAAC,CAAC;QACjC,IAAIC,KAAK,GAAG,GAAG,EAAE;UACfD,QAAQ,GAAGA,QAAQ,CAACjB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;UAChCkB,KAAK,GAAGC,QAAQ,CAACF,QAAQ,EAAE,CAAC,CAAC;QAC/B;QACA7B,GAAG,IAAI6B,QAAQ,CAACnB,MAAM,GAAG,CAAC;QAC1B,MAAMsB,IAAI,GAAGjC,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC;QAClC,IACE6B,QAAQ,KAAK,GAAG,IAChBG,IAAI,OAAqB,IACzBA,IAAI,OAAqB,EACzB;UACA,IAAIb,UAAU,EAAE;YACd,OAAOJ,GAAG,CAAC,IAAI,CAAC;UAClB,CAAC,MAAM;YACLZ,MAAM,CAACuB,mBAAmB,CAACC,QAAQ,EAAE1B,SAAS,EAAEC,OAAO,CAAC;UAC1D;QACF;QAEA,OAAOa,GAAG,CAACO,MAAM,CAACC,YAAY,CAACO,KAAK,CAAC,CAAC;MACxC;MAEA,OAAOf,GAAG,CAACO,MAAM,CAACC,YAAY,CAAC7B,EAAE,CAAC,CAAC;EAAC;AAE1C;AAOA,SAAS2B,WAAWA,CAClBtB,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACf+B,GAAW,EACXC,QAAiB,EACjBd,cAAuB,EACvBjB,MAA4B,EAC5B;EACA,MAAMC,UAAU,GAAGJ,GAAG;EACtB,IAAImC,CAAC;EACL,CAAC;IAAEA,CAAC;IAAEnC;EAAI,CAAC,GAAGoC,OAAO,CACnBrC,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACP,EAAE,EACF+B,GAAG,EACHC,QAAQ,EACR,KAAK,EACL/B,MAAM,EACY,CAACiB,cAAc,CAClC;EACD,IAAIe,CAAC,KAAK,IAAI,EAAE;IACd,IAAIf,cAAc,EAAE;MAClBjB,MAAM,CAACkC,qBAAqB,CAACjC,UAAU,EAAEH,SAAS,EAAEC,OAAO,CAAC;IAC9D,CAAC,MAAM;MACLF,GAAG,GAAGI,UAAU,GAAG,CAAC;IACtB;EACF;EACA,OAAO;IAAEjB,IAAI,EAAEgD,CAAC;IAAEnC;EAAI,CAAC;AACzB;AAuBO,SAASoC,OAAOA,CACrBrC,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACfoC,KAAa,EACbL,GAAuB,EACvBC,QAAiB,EACjBK,iBAAmC,EACnCpC,MAAwB,EACxBqC,WAAoB,EACpB;EACA,MAAMC,KAAK,GAAGzC,GAAG;EACjB,MAAM0C,iBAAiB,GACrBJ,KAAK,KAAK,EAAE,GACRlD,iCAAiC,CAACG,GAAG,GACrCH,iCAAiC,CAACC,SAAS;EACjD,MAAMsD,gBAAgB,GACpBL,KAAK,KAAK,EAAE,GACR9C,gCAAgC,CAACD,GAAG,GACpC+C,KAAK,KAAK,EAAE,GACZ9C,gCAAgC,CAACI,GAAG,GACpC0C,KAAK,KAAK,CAAC,GACX9C,gCAAgC,CAACG,GAAG,GACpCH,gCAAgC,CAACC,GAAG;EAE1C,IAAImD,OAAO,GAAG,KAAK;EACnB,IAAIC,KAAK,GAAG,CAAC;EAEb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGd,GAAG,IAAI,IAAI,GAAGe,QAAQ,GAAGf,GAAG,EAAEa,CAAC,GAAGC,CAAC,EAAE,EAAED,CAAC,EAAE;IAC5D,MAAM3D,IAAI,GAAGY,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC;IAClC,IAAIiD,GAAG;IAEP,IAAI9D,IAAI,OAAyB,IAAIoD,iBAAiB,KAAK,MAAM,EAAE;MACjE,MAAMW,IAAI,GAAGnD,KAAK,CAACc,UAAU,CAACb,GAAG,GAAG,CAAC,CAAC;MACtC,MAAMgC,IAAI,GAAGjC,KAAK,CAACc,UAAU,CAACb,GAAG,GAAG,CAAC,CAAC;MAEtC,IAAI,CAACuC,iBAAiB,EAAE;QACtB,IAAIC,WAAW,EAAE,OAAO;UAAEL,CAAC,EAAE,IAAI;UAAEnC;QAAI,CAAC;QACxCG,MAAM,CAACgD,gCAAgC,CAACnD,GAAG,EAAEC,SAAS,EAAEC,OAAO,CAAC;MAClE,CAAC,MAAM,IACLkD,MAAM,CAACC,KAAK,CAACrB,IAAI,CAAC,IAClB,CAACW,gBAAgB,CAACX,IAAI,CAAC,IACvBU,iBAAiB,CAACY,GAAG,CAACJ,IAAI,CAAC,IAC3BR,iBAAiB,CAACY,GAAG,CAACtB,IAAI,CAAC,EAC3B;QACA,IAAIQ,WAAW,EAAE,OAAO;UAAEL,CAAC,EAAE,IAAI;UAAEnC;QAAI,CAAC;QACxCG,MAAM,CAACoD,0BAA0B,CAACvD,GAAG,EAAEC,SAAS,EAAEC,OAAO,CAAC;MAC5D;MAGA,EAAEF,GAAG;MACL;IACF;IAEA,IAAIb,IAAI,MAAwB,EAAE;MAChC8D,GAAG,GAAG9D,IAAI,KAAuB,KAAqB;IACxD,CAAC,MAAM,IAAIA,IAAI,MAAwB,EAAE;MACvC8D,GAAG,GAAG9D,IAAI,KAAuB,KAAqB;IACxD,CAAC,MAAM,IAAIqE,QAAA,CAAkBrE,IAAI,CAAC,EAAE;MAClC8D,GAAG,GAAG9D,IAAI,KAAmB;IAC/B,CAAC,MAAM;MACL8D,GAAG,GAAGD,QAAQ;IAChB;IACA,IAAIC,GAAG,IAAIX,KAAK,EAAE;MAGhB,IAAIW,GAAG,IAAI,CAAC,IAAIT,WAAW,EAAE;QAC3B,OAAO;UAAEL,CAAC,EAAE,IAAI;UAAEnC;QAAI,CAAC;MACzB,CAAC,MAAM,IACLiD,GAAG,IAAI,CAAC,IACR9C,MAAM,CAACsD,YAAY,CAACzD,GAAG,EAAEC,SAAS,EAAEC,OAAO,EAAEoC,KAAK,CAAC,EACnD;QACAW,GAAG,GAAG,CAAC;MACT,CAAC,MAAM,IAAIf,QAAQ,EAAE;QACnBe,GAAG,GAAG,CAAC;QACPL,OAAO,GAAG,IAAI;MAChB,CAAC,MAAM;QACL;MACF;IACF;IACA,EAAE5C,GAAG;IACL6C,KAAK,GAAGA,KAAK,GAAGP,KAAK,GAAGW,GAAG;EAC7B;EACA,IAAIjD,GAAG,KAAKyC,KAAK,IAAKR,GAAG,IAAI,IAAI,IAAIjC,GAAG,GAAGyC,KAAK,KAAKR,GAAI,IAAIW,OAAO,EAAE;IACpE,OAAO;MAAET,CAAC,EAAE,IAAI;MAAEnC;IAAI,CAAC;EACzB;EAEA,OAAO;IAAEmC,CAAC,EAAEU,KAAK;IAAE7C;EAAI,CAAC;AAC1B;AAMO,SAASwB,aAAaA,CAC3BzB,KAAa,EACbC,GAAW,EACXC,SAAiB,EACjBC,OAAe,EACfkB,cAAuB,EACvBjB,MAA8B,EAC9B;EACA,MAAMT,EAAE,GAAGK,KAAK,CAACc,UAAU,CAACb,GAAG,CAAC;EAChC,IAAIb,IAAI;EAER,IAAIO,EAAE,QAA6B,EAAE;IACnC,EAAEM,GAAG;IACL,CAAC;MAAEb,IAAI;MAAEa;IAAI,CAAC,GAAGqB,WAAW,CAC1BtB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACPH,KAAK,CAAC2D,OAAO,CAAC,GAAG,EAAE1D,GAAG,CAAC,GAAGA,GAAG,EAC7B,IAAI,EACJoB,cAAc,EACdjB,MAAM,CACP;IACD,EAAEH,GAAG;IACL,IAAIb,IAAI,KAAK,IAAI,IAAIA,IAAI,GAAG,QAAQ,EAAE;MACpC,IAAIiC,cAAc,EAAE;QAClBjB,MAAM,CAACwD,gBAAgB,CAAC3D,GAAG,EAAEC,SAAS,EAAEC,OAAO,CAAC;MAClD,CAAC,MAAM;QACL,OAAO;UAAEf,IAAI,EAAE,IAAI;UAAEa;QAAI,CAAC;MAC5B;IACF;EACF,CAAC,MAAM;IACL,CAAC;MAAEb,IAAI;MAAEa;IAAI,CAAC,GAAGqB,WAAW,CAC1BtB,KAAK,EACLC,GAAG,EACHC,SAAS,EACTC,OAAO,EACP,CAAC,EACD,KAAK,EACLkB,cAAc,EACdjB,MAAM,CACP;EACH;EACA,OAAO;IAAEhB,IAAI;IAAEa;EAAI,CAAC;AACtB"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/helper-string-parser/package.json b/includes/search/node_modules/@babel/helper-string-parser/package.json
deleted file mode 100644
index e1e710d..0000000
--- a/includes/search/node_modules/@babel/helper-string-parser/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "@babel/helper-string-parser",
- "version": "7.21.5",
- "description": "A utility package to parse strings",
- "repository": {
- "type": "git",
- "url": "https://github.com/babel/babel.git",
- "directory": "packages/babel-helper-string-parser"
- },
- "homepage": "https://babel.dev/docs/en/next/babel-helper-string-parser",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "./lib/index.js",
- "devDependencies": {
- "charcodes": "^0.2.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "author": "The Babel Team (https://babel.dev/team)",
- "exports": {
- ".": "./lib/index.js",
- "./package.json": "./package.json"
- },
- "type": "commonjs"
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/LICENSE b/includes/search/node_modules/@babel/helper-validator-identifier/LICENSE
deleted file mode 100644
index f31575e..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/README.md b/includes/search/node_modules/@babel/helper-validator-identifier/README.md
deleted file mode 100644
index 4f704c4..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/helper-validator-identifier
-
-> Validate identifier/keywords name
-
-See our website [@babel/helper-validator-identifier](https://babeljs.io/docs/en/babel-helper-validator-identifier) for more information.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save @babel/helper-validator-identifier
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/helper-validator-identifier
-```
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/lib/identifier.js b/includes/search/node_modules/@babel/helper-validator-identifier/lib/identifier.js
deleted file mode 100644
index 3a9e335..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/lib/identifier.js
+++ /dev/null
@@ -1,86 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.isIdentifierChar = isIdentifierChar;
-exports.isIdentifierName = isIdentifierName;
-exports.isIdentifierStart = isIdentifierStart;
-let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
-let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
-const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
-const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
-nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
-const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191];
-const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
-
-function isInAstralSet(code, set) {
- let pos = 0x10000;
-
- for (let i = 0, length = set.length; i < length; i += 2) {
- pos += set[i];
- if (pos > code) return false;
- pos += set[i + 1];
- if (pos >= code) return true;
- }
-
- return false;
-}
-
-function isIdentifierStart(code) {
- if (code < 65) return code === 36;
- if (code <= 90) return true;
- if (code < 97) return code === 95;
- if (code <= 122) return true;
-
- if (code <= 0xffff) {
- return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
- }
-
- return isInAstralSet(code, astralIdentifierStartCodes);
-}
-
-function isIdentifierChar(code) {
- if (code < 48) return code === 36;
- if (code < 58) return true;
- if (code < 65) return false;
- if (code <= 90) return true;
- if (code < 97) return code === 95;
- if (code <= 122) return true;
-
- if (code <= 0xffff) {
- return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
- }
-
- return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
-}
-
-function isIdentifierName(name) {
- let isFirst = true;
-
- for (let i = 0; i < name.length; i++) {
- let cp = name.charCodeAt(i);
-
- if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
- const trail = name.charCodeAt(++i);
-
- if ((trail & 0xfc00) === 0xdc00) {
- cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
- }
- }
-
- if (isFirst) {
- isFirst = false;
-
- if (!isIdentifierStart(cp)) {
- return false;
- }
- } else if (!isIdentifierChar(cp)) {
- return false;
- }
- }
-
- return !isFirst;
-}
-
-//# sourceMappingURL=identifier.js.map
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map b/includes/search/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map
deleted file mode 100644
index 45c94ff..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["nonASCIIidentifierStartChars","nonASCIIidentifierChars","nonASCIIidentifierStart","RegExp","nonASCIIidentifier","astralIdentifierStartCodes","astralIdentifierCodes","isInAstralSet","code","set","pos","i","length","isIdentifierStart","test","String","fromCharCode","isIdentifierChar","isIdentifierName","name","isFirst","cp","charCodeAt","trail"],"sources":["../src/identifier.ts"],"sourcesContent":["import * as charCodes from \"charcodes\";\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point between 0x80 and 0xffff.\n// Generated by `scripts/generate-identifier-regex.js`.\n\n/* prettier-ignore */\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7ca\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7d9\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n/* prettier-ignore */\nlet nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0898-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n\nconst nonASCIIidentifierStart = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + \"]\",\n);\nconst nonASCIIidentifier = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\",\n);\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset-encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by `scripts/generate-identifier-regex.js`.\n/* prettier-ignore */\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191];\n/* prettier-ignore */\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code: number, set: readonly number[]): boolean {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code: number): boolean {\n if (code < charCodes.uppercaseA) return code === charCodes.dollarSign;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return (\n code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n );\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code: number): boolean {\n if (code < charCodes.digit0) return code === charCodes.dollarSign;\n if (code < charCodes.colon) return true;\n if (code < charCodes.uppercaseA) return false;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return (\n isInAstralSet(code, astralIdentifierStartCodes) ||\n isInAstralSet(code, astralIdentifierCodes)\n );\n}\n\n// Test whether a given string is a valid identifier name\n\nexport function isIdentifierName(name: string): boolean {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `name` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/lib/index.js b/includes/search/node_modules/@babel/helper-validator-identifier/lib/index.js
deleted file mode 100644
index 076eafd..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/lib/index.js
+++ /dev/null
@@ -1,59 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-Object.defineProperty(exports, "isIdentifierChar", {
- enumerable: true,
- get: function () {
- return _identifier.isIdentifierChar;
- }
-});
-Object.defineProperty(exports, "isIdentifierName", {
- enumerable: true,
- get: function () {
- return _identifier.isIdentifierName;
- }
-});
-Object.defineProperty(exports, "isIdentifierStart", {
- enumerable: true,
- get: function () {
- return _identifier.isIdentifierStart;
- }
-});
-Object.defineProperty(exports, "isKeyword", {
- enumerable: true,
- get: function () {
- return _keyword.isKeyword;
- }
-});
-Object.defineProperty(exports, "isReservedWord", {
- enumerable: true,
- get: function () {
- return _keyword.isReservedWord;
- }
-});
-Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
- enumerable: true,
- get: function () {
- return _keyword.isStrictBindOnlyReservedWord;
- }
-});
-Object.defineProperty(exports, "isStrictBindReservedWord", {
- enumerable: true,
- get: function () {
- return _keyword.isStrictBindReservedWord;
- }
-});
-Object.defineProperty(exports, "isStrictReservedWord", {
- enumerable: true,
- get: function () {
- return _keyword.isStrictReservedWord;
- }
-});
-
-var _identifier = require("./identifier");
-
-var _keyword = require("./keyword");
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/lib/index.js.map b/includes/search/node_modules/@babel/helper-validator-identifier/lib/index.js.map
deleted file mode 100644
index 13266b9..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/lib/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":[],"sources":["../src/index.ts"],"sourcesContent":["export {\n isIdentifierName,\n isIdentifierChar,\n isIdentifierStart,\n} from \"./identifier\";\nexport {\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"./keyword\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/lib/keyword.js b/includes/search/node_modules/@babel/helper-validator-identifier/lib/keyword.js
deleted file mode 100644
index ff6277b..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/lib/keyword.js
+++ /dev/null
@@ -1,40 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.isKeyword = isKeyword;
-exports.isReservedWord = isReservedWord;
-exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
-exports.isStrictBindReservedWord = isStrictBindReservedWord;
-exports.isStrictReservedWord = isStrictReservedWord;
-const reservedWords = {
- keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
- strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
- strictBind: ["eval", "arguments"]
-};
-const keywords = new Set(reservedWords.keyword);
-const reservedWordsStrictSet = new Set(reservedWords.strict);
-const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
-
-function isReservedWord(word, inModule) {
- return inModule && word === "await" || word === "enum";
-}
-
-function isStrictReservedWord(word, inModule) {
- return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
-}
-
-function isStrictBindOnlyReservedWord(word) {
- return reservedWordsStrictBindSet.has(word);
-}
-
-function isStrictBindReservedWord(word, inModule) {
- return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
-}
-
-function isKeyword(word) {
- return keywords.has(word);
-}
-
-//# sourceMappingURL=keyword.js.map
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map b/includes/search/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map
deleted file mode 100644
index 2de8c3e..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["reservedWords","keyword","strict","strictBind","keywords","Set","reservedWordsStrictSet","reservedWordsStrictBindSet","isReservedWord","word","inModule","isStrictReservedWord","has","isStrictBindOnlyReservedWord","isStrictBindReservedWord","isKeyword"],"sources":["../src/keyword.ts"],"sourcesContent":["const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n"],"mappings":";;;;;;;;;;AAAA,MAAMA,aAAa,GAAG;EACpBC,OAAO,EAAE,CACP,OADO,EAEP,MAFO,EAGP,OAHO,EAIP,UAJO,EAKP,UALO,EAMP,SANO,EAOP,IAPO,EAQP,MARO,EASP,SATO,EAUP,KAVO,EAWP,UAXO,EAYP,IAZO,EAaP,QAbO,EAcP,QAdO,EAeP,OAfO,EAgBP,KAhBO,EAiBP,KAjBO,EAkBP,OAlBO,EAmBP,OAnBO,EAoBP,MApBO,EAqBP,KArBO,EAsBP,MAtBO,EAuBP,OAvBO,EAwBP,OAxBO,EAyBP,SAzBO,EA0BP,QA1BO,EA2BP,QA3BO,EA4BP,MA5BO,EA6BP,MA7BO,EA8BP,OA9BO,EA+BP,IA/BO,EAgCP,YAhCO,EAiCP,QAjCO,EAkCP,MAlCO,EAmCP,QAnCO,CADW;EAsCpBC,MAAM,EAAE,CACN,YADM,EAEN,WAFM,EAGN,KAHM,EAIN,SAJM,EAKN,SALM,EAMN,WANM,EAON,QAPM,EAQN,QARM,EASN,OATM,CAtCY;EAiDpBC,UAAU,EAAE,CAAC,MAAD,EAAS,WAAT;AAjDQ,CAAtB;AAmDA,MAAMC,QAAQ,GAAG,IAAIC,GAAJ,CAAQL,aAAa,CAACC,OAAtB,CAAjB;AACA,MAAMK,sBAAsB,GAAG,IAAID,GAAJ,CAAQL,aAAa,CAACE,MAAtB,CAA/B;AACA,MAAMK,0BAA0B,GAAG,IAAIF,GAAJ,CAAQL,aAAa,CAACG,UAAtB,CAAnC;;AAKO,SAASK,cAAT,CAAwBC,IAAxB,EAAsCC,QAAtC,EAAkE;EACvE,OAAQA,QAAQ,IAAID,IAAI,KAAK,OAAtB,IAAkCA,IAAI,KAAK,MAAlD;AACD;;AAOM,SAASE,oBAAT,CAA8BF,IAA9B,EAA4CC,QAA5C,EAAwE;EAC7E,OAAOF,cAAc,CAACC,IAAD,EAAOC,QAAP,CAAd,IAAkCJ,sBAAsB,CAACM,GAAvB,CAA2BH,IAA3B,CAAzC;AACD;;AAMM,SAASI,4BAAT,CAAsCJ,IAAtC,EAA6D;EAClE,OAAOF,0BAA0B,CAACK,GAA3B,CAA+BH,IAA/B,CAAP;AACD;;AAOM,SAASK,wBAAT,CACLL,IADK,EAELC,QAFK,EAGI;EACT,OACEC,oBAAoB,CAACF,IAAD,EAAOC,QAAP,CAApB,IAAwCG,4BAA4B,CAACJ,IAAD,CADtE;AAGD;;AAEM,SAASM,SAAT,CAAmBN,IAAnB,EAA0C;EAC/C,OAAOL,QAAQ,CAACQ,GAAT,CAAaH,IAAb,CAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/package.json b/includes/search/node_modules/@babel/helper-validator-identifier/package.json
deleted file mode 100644
index 6e7de1e..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "@babel/helper-validator-identifier",
- "version": "7.19.1",
- "description": "Validate identifier/keywords name",
- "repository": {
- "type": "git",
- "url": "https://github.com/babel/babel.git",
- "directory": "packages/babel-helper-validator-identifier"
- },
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "main": "./lib/index.js",
- "exports": {
- ".": "./lib/index.js",
- "./package.json": "./package.json"
- },
- "devDependencies": {
- "@unicode/unicode-15.0.0": "^1.3.1",
- "charcodes": "^0.2.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "author": "The Babel Team (https://babel.dev/team)",
- "type": "commonjs"
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js b/includes/search/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js
deleted file mode 100644
index aca8710..0000000
--- a/includes/search/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js
+++ /dev/null
@@ -1,75 +0,0 @@
-"use strict";
-
-// Always use the latest available version of Unicode!
-// https://tc39.github.io/ecma262/#sec-conformance
-const version = "15.0.0";
-
-const start = require("@unicode/unicode-" +
- version +
- "/Binary_Property/ID_Start/code-points.js").filter(function (ch) {
- return ch > 0x7f;
-});
-let last = -1;
-const cont = [0x200c, 0x200d].concat(
- require("@unicode/unicode-" +
- version +
- "/Binary_Property/ID_Continue/code-points.js").filter(function (ch) {
- return ch > 0x7f && search(start, ch, last + 1) == -1;
- })
-);
-
-function search(arr, ch, starting) {
- for (let i = starting; arr[i] <= ch && i < arr.length; last = i++) {
- if (arr[i] === ch) return i;
- }
- return -1;
-}
-
-function pad(str, width) {
- while (str.length < width) str = "0" + str;
- return str;
-}
-
-function esc(code) {
- const hex = code.toString(16);
- if (hex.length <= 2) return "\\x" + pad(hex, 2);
- else return "\\u" + pad(hex, 4);
-}
-
-function generate(chars) {
- const astral = [];
- let re = "";
- for (let i = 0, at = 0x10000; i < chars.length; i++) {
- const from = chars[i];
- let to = from;
- while (i < chars.length - 1 && chars[i + 1] == to + 1) {
- i++;
- to++;
- }
- if (to <= 0xffff) {
- if (from == to) re += esc(from);
- else if (from + 1 == to) re += esc(from) + esc(to);
- else re += esc(from) + "-" + esc(to);
- } else {
- astral.push(from - at, to - from);
- at = to;
- }
- }
- return { nonASCII: re, astral: astral };
-}
-
-const startData = generate(start);
-const contData = generate(cont);
-
-console.log("/* prettier-ignore */");
-console.log('let nonASCIIidentifierStartChars = "' + startData.nonASCII + '";');
-console.log("/* prettier-ignore */");
-console.log('let nonASCIIidentifierChars = "' + contData.nonASCII + '";');
-console.log("/* prettier-ignore */");
-console.log(
- "const astralIdentifierStartCodes = " + JSON.stringify(startData.astral) + ";"
-);
-console.log("/* prettier-ignore */");
-console.log(
- "const astralIdentifierCodes = " + JSON.stringify(contData.astral) + ";"
-);
diff --git a/includes/search/node_modules/@babel/parser/CHANGELOG.md b/includes/search/node_modules/@babel/parser/CHANGELOG.md
deleted file mode 100644
index b3840ac..0000000
--- a/includes/search/node_modules/@babel/parser/CHANGELOG.md
+++ /dev/null
@@ -1,1073 +0,0 @@
-# Changelog
-
-> **Tags:**
-> - :boom: [Breaking Change]
-> - :eyeglasses: [Spec Compliance]
-> - :rocket: [New Feature]
-> - :bug: [Bug Fix]
-> - :memo: [Documentation]
-> - :house: [Internal]
-> - :nail_care: [Polish]
-
-> Semver Policy: https://github.com/babel/babel/tree/main/packages/babel-parser#semver
-
-_Note: Gaps between patch versions are faulty, broken or test releases._
-
-See the [Babel Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) for the pre-6.8.0 version Changelog.
-
-## 6.17.1 (2017-05-10)
-
-### :bug: Bug Fix
- * Fix typo in flow spread operator error (Brian Ng)
- * Fixed invalid number literal parsing ([#473](https://github.com/babel/babylon/pull/473)) (Alex Kuzmenko)
- * Fix number parser ([#433](https://github.com/babel/babylon/pull/433)) (Alex Kuzmenko)
- * Ensure non pattern shorthand props are checked for reserved words ([#479](https://github.com/babel/babylon/pull/479)) (Brian Ng)
- * Remove jsx context when parsing arrow functions ([#475](https://github.com/babel/babylon/pull/475)) (Brian Ng)
- * Allow super in class properties ([#499](https://github.com/babel/babylon/pull/499)) (Brian Ng)
- * Allow flow class field to be named constructor ([#510](https://github.com/babel/babylon/pull/510)) (Brian Ng)
-
-## 6.17.0 (2017-04-20)
-
-### :bug: Bug Fix
- * Cherry-pick #418 to 6.x ([#476](https://github.com/babel/babylon/pull/476)) (Sebastian McKenzie)
- * Add support for invalid escapes in tagged templates ([#274](https://github.com/babel/babylon/pull/274)) (Kevin Gibbons)
- * Throw error if new.target is used outside of a function ([#402](https://github.com/babel/babylon/pull/402)) (Brian Ng)
- * Fix parsing of class properties ([#351](https://github.com/babel/babylon/pull/351)) (Kevin Gibbons)
- * Fix parsing yield with dynamicImport ([#383](https://github.com/babel/babylon/pull/383)) (Brian Ng)
- * Ensure consistent start args for parseParenItem ([#386](https://github.com/babel/babylon/pull/386)) (Brian Ng)
-
-## 7.0.0-beta.8 (2017-04-04)
-
-### New Feature
-* Add support for flow type spread (#418) (Conrad Buck)
-* Allow statics in flow interfaces (#427) (Brian Ng)
-
-### Bug Fix
-* Fix predicate attachment to match flow parser (#428) (Brian Ng)
-* Add extra.raw back to JSXText and JSXAttribute (#344) (Alex Rattray)
-* Fix rest parameters with array and objects (#424) (Brian Ng)
-* Fix number parser (#433) (Alex Kuzmenko)
-
-### Docs
-* Fix CONTRIBUTING.md [skip ci] (#432) (Alex Kuzmenko)
-
-### Internal
-* Use babel-register script when running babel smoke tests (#442) (Brian Ng)
-
-## 7.0.0-beta.7 (2017-03-22)
-
-### Spec Compliance
-* Remove babylon plugin for template revision since it's stage-4 (#426) (Henry Zhu)
-
-### Bug Fix
-
-* Fix push-pop logic in flow (#405) (Daniel Tschinder)
-
-## 7.0.0-beta.6 (2017-03-21)
-
-### New Feature
-* Add support for invalid escapes in tagged templates (#274) (Kevin Gibbons)
-
-### Polish
-* Improves error message when super is called outside of constructor (#408) (Arshabh Kumar Agarwal)
-
-### Docs
-
-* [7.0] Moved value field in spec from ObjectMember to ObjectProperty as ObjectMethod's don't have it (#415) [skip ci] (James Browning)
-
-## 7.0.0-beta.5 (2017-03-21)
-
-### Bug Fix
-* Throw error if new.target is used outside of a function (#402) (Brian Ng)
-* Fix parsing of class properties (#351) (Kevin Gibbons)
-
-### Other
- * Test runner: Detect extra property in 'actual' but not in 'expected'. (#407) (Andy)
- * Optimize travis builds (#419) (Daniel Tschinder)
- * Update codecov to 2.0 (#412) (Daniel Tschinder)
- * Fix spec for ClassMethod: It doesn't have a function, it *is* a function. (#406) [skip ci] (Andy)
- * Changed Non-existent RestPattern to RestElement which is what is actually parsed (#409) [skip ci] (James Browning)
- * Upgrade flow to 0.41 (Daniel Tschinder)
- * Fix watch command (#403) (Brian Ng)
- * Update yarn lock (Daniel Tschinder)
- * Fix watch command (#403) (Brian Ng)
- * chore(package): update flow-bin to version 0.41.0 (#395) (greenkeeper[bot])
- * Add estree test for correct order of directives (Daniel Tschinder)
- * Add DoExpression to spec (#364) (Alex Kuzmenko)
- * Mention cloning of repository in CONTRIBUTING.md (#391) [skip ci] (Sumedh Nimkarde)
- * Explain how to run only one test (#389) [skip ci] (Aaron Ang)
-
- ## 7.0.0-beta.4 (2017-03-01)
-
-* Don't consume async when checking for async func decl (#377) (Brian Ng)
-* add `ranges` option [skip ci] (Henry Zhu)
-* Don't parse class properties without initializers when classProperties is disabled and Flow is enabled (#300) (Andrew Levine)
-
-## 7.0.0-beta.3 (2017-02-28)
-
-- [7.0] Change RestProperty/SpreadProperty to RestElement/SpreadElement (#384)
-- Merge changes from 6.x
-
-## 7.0.0-beta.2 (2017-02-20)
-
-- estree: correctly change literals in all cases (#368) (Daniel Tschinder)
-
-## 7.0.0-beta.1 (2017-02-20)
-
-- Fix negative number literal typeannotations (#366) (Daniel Tschinder)
-- Update contributing with more test info [skip ci] (#355) (Brian Ng)
-
-## 7.0.0-beta.0 (2017-02-15)
-
-- Reintroduce Variance node (#333) (Daniel Tschinder)
-- Rename NumericLiteralTypeAnnotation to NumberLiteralTypeAnnotation (#332) (Charles Pick)
-- [7.0] Remove ForAwaitStatement, add await flag to ForOfStatement (#349) (Brandon Dail)
-- chore(package): update ava to version 0.18.0 (#345) (greenkeeper[bot])
-- chore(package): update babel-plugin-istanbul to version 4.0.0 (#350) (greenkeeper[bot])
-- Change location of ObjectTypeIndexer to match flow (#228) (Daniel Tschinder)
-- Rename flow AST Type ExistentialTypeParam to ExistsTypeAnnotation (#322) (Toru Kobayashi)
-- Revert "Temporary rollback for erroring on trailing comma with spread (#154)" (#290) (Daniel Tschinder)
-- Remove classConstructorCall plugin (#291) (Brian Ng)
-- Update yarn.lock (Daniel Tschinder)
-- Update cross-env to 3.x (Daniel Tschinder)
-- [7.0] Remove node 0.10, 0.12 and 5 from Travis (#284) (Sergey Rubanov)
-- Remove `String.fromCodePoint` shim (#279) (Mathias Bynens)
-
-## 6.16.1 (2017-02-23)
-
-### :bug: Regression
-
-- Revert "Fix export default async function to be FunctionDeclaration" ([#375](https://github.com/babel/babylon/pull/375))
-
-Need to modify Babel for this AST node change, so moving to 7.0.
-
-- Revert "Don't parse class properties without initializers when classProperties plugin is disabled, and Flow is enabled" ([#376](https://github.com/babel/babylon/pull/376))
-
-[react-native](https://github.com/facebook/react-native/issues/12542) broke with this so we reverted.
-
-## 6.16.0 (2017-02-23)
-
-### :rocket: New Feature
-
-***ESTree*** compatibility as plugin ([#277](https://github.com/babel/babylon/pull/277)) (Daniel Tschinder)
-
-We finally introduce a new compatibility layer for ESTree. To put babylon into ESTree-compatible mode the new plugin `estree` can be enabled. In this mode the parser will output an AST that is compliant to the specs of [ESTree](https://github.com/estree/estree/)
-
-We highly recommend everyone who uses babylon outside of babel to use this plugin. This will make it much easier for users to switch between different ESTree-compatible parsers. We so far tested several projects with different parsers and exchanged their parser to babylon and in nearly all cases it worked out of the box. Some other estree-compatible parsers include `acorn`, `esprima`, `espree`, `flow-parser`, etc.
-
-To enable `estree` mode simply add the plugin in the config:
-```json
-{
- "plugins": [ "estree" ]
-}
-```
-
-If you want to migrate your project from non-ESTree mode to ESTree, have a look at our [Readme](https://github.com/babel/babylon/#output), where all deviations are mentioned.
-
-Add a parseExpression public method ([#213](https://github.com/babel/babylon/pull/213)) (jeromew)
-
-Babylon exports a new function to parse a single expression
-
-```js
-import { parseExpression } from 'babylon';
-
-const ast = parseExpression('x || y && z', options);
-```
-
-The returned AST will only consist of the expression. The options are the same as for `parse()`
-
-Add startLine option ([#346](https://github.com/babel/babylon/pull/346)) (Raphael Mu)
-
-A new option was added to babylon allowing to change the initial linenumber for the first line which is usually `1`.
-Changing this for example to `100` will make line `1` of the input source to be marked as line `100`, line `2` as `101`, line `3` as `102`, ...
-
-Function predicate declaration ([#103](https://github.com/babel/babylon/pull/103)) (Panagiotis Vekris)
-
-Added support for function predicates which flow introduced in version 0.33.0
-
-```js
-declare function is_number(x: mixed): boolean %checks(typeof x === "number");
-```
-
-Allow imports in declare module ([#315](https://github.com/babel/babylon/pull/315)) (Daniel Tschinder)
-
-Added support for imports within module declarations which flow introduced in version 0.37.0
-
-```js
-declare module "C" {
- import type { DT } from "D";
- declare export type CT = { D: DT };
-}
-```
-
-### :eyeglasses: Spec Compliance
-
-Forbid semicolons after decorators in classes ([#352](https://github.com/babel/babylon/pull/352)) (Kevin Gibbons)
-
-This example now correctly throws an error when there is a semicolon after the decorator:
-
-```js
-class A {
-@a;
-foo(){}
-}
-```
-
-Keywords are not allowed as local specifier ([#307](https://github.com/babel/babylon/pull/307)) (Daniel Tschinder)
-
-Using keywords in imports is not allowed anymore:
-
-```js
-import { default } from "foo";
-import { a as debugger } from "foo";
-```
-
-Do not allow overwritting of primitive types ([#314](https://github.com/babel/babylon/pull/314)) (Daniel Tschinder)
-
-In flow it is now forbidden to overwrite the primitive types `"any"`, `"mixed"`, `"empty"`, `"bool"`, `"boolean"`, `"number"`, `"string"`, `"void"` and `"null"` with your own type declaration.
-
-Disallow import type { type a } from … ([#305](https://github.com/babel/babylon/pull/305)) (Daniel Tschinder)
-
-The following code now correctly throws an error
-
-```js
-import type { type a } from "foo";
-```
-
-Don't parse class properties without initializers when classProperties is disabled and Flow is enabled ([#300](https://github.com/babel/babylon/pull/300)) (Andrew Levine)
-
-Ensure that you enable the `classProperties` plugin in order to enable correct parsing of class properties. Prior to this version it was possible to parse them by enabling the `flow` plugin but this was not intended the behaviour.
-
-If you enable the flow plugin you can only define the type of the class properties, but not initialize them.
-
-Fix export default async function to be FunctionDeclaration ([#324](https://github.com/babel/babylon/pull/324)) (Daniel Tschinder)
-
-Parsing the following code now returns a `FunctionDeclaration` AST node instead of `FunctionExpression`.
-
-```js
-export default async function bar() {};
-```
-
-### :nail_care: Polish
-
-Improve error message on attempt to destructure named import ([#288](https://github.com/babel/babylon/pull/288)) (Brian Ng)
-
-### :bug: Bug Fix
-
-Fix negative number literal typeannotations ([#366](https://github.com/babel/babylon/pull/366)) (Daniel Tschinder)
-
-Ensure takeDecorators is called on exported class ([#358](https://github.com/babel/babylon/pull/358)) (Brian Ng)
-
-ESTree: correctly change literals in all cases ([#368](https://github.com/babel/babylon/pull/368)) (Daniel Tschinder)
-
-Correctly convert RestProperty to Assignable ([#339](https://github.com/babel/babylon/pull/339)) (Daniel Tschinder)
-
-Fix #321 by allowing question marks in type params ([#338](https://github.com/babel/babylon/pull/338)) (Daniel Tschinder)
-
-Fix #336 by correctly setting arrow-param ([#337](https://github.com/babel/babylon/pull/337)) (Daniel Tschinder)
-
-Fix parse error when destructuring `set` with default value ([#317](https://github.com/babel/babylon/pull/317)) (Brian Ng)
-
-Fix ObjectTypeCallProperty static ([#298](https://github.com/babel/babylon/pull/298)) (Dan Harper)
-
-
-### :house: Internal
-
-Fix generator-method-with-computed-name spec ([#360](https://github.com/babel/babylon/pull/360)) (Alex Rattray)
-
-Fix flow type-parameter-declaration test with unintended semantic ([#361](https://github.com/babel/babylon/pull/361)) (Alex Rattray)
-
-Cleanup and splitup parser functions ([#295](https://github.com/babel/babylon/pull/295)) (Daniel Tschinder)
-
-chore(package): update flow-bin to version 0.38.0 ([#313](https://github.com/babel/babylon/pull/313)) (greenkeeper[bot])
-
-Call inner function instead of 1:1 copy to plugin ([#294](https://github.com/babel/babylon/pull/294)) (Daniel Tschinder)
-
-Update eslint-config-babel to the latest version 🚀 ([#299](https://github.com/babel/babylon/pull/299)) (greenkeeper[bot])
-
-Update eslint-config-babel to the latest version 🚀 ([#293](https://github.com/babel/babylon/pull/293)) (greenkeeper[bot])
-
-devDeps: remove eslint-plugin-babel ([#292](https://github.com/babel/babylon/pull/292)) (Kai Cataldo)
-
-Correct indent eslint rule config ([#276](https://github.com/babel/babylon/pull/276)) (Daniel Tschinder)
-
-Fail tests that have expected.json and throws-option ([#285](https://github.com/babel/babylon/pull/285)) (Daniel Tschinder)
-
-### :memo: Documentation
-
-Update contributing with more test info [skip ci] ([#355](https://github.com/babel/babylon/pull/355)) (Brian Ng)
-
-Update API documentation ([#330](https://github.com/babel/babylon/pull/330)) (Timothy Gu)
-
-Added keywords to package.json ([#323](https://github.com/babel/babylon/pull/323)) (Dmytro)
-
-AST spec: fix casing of `RegExpLiteral` ([#318](https://github.com/babel/babylon/pull/318)) (Mathias Bynens)
-
-## 6.15.0 (2017-01-10)
-
-### :eyeglasses: Spec Compliance
-
-Add support for Flow shorthand import type ([#267](https://github.com/babel/babylon/pull/267)) (Jeff Morrison)
-
-This change implements flows new shorthand import syntax
-and where previously you had to write this code:
-
-```js
-import {someValue} from "blah";
-import type {someType} from "blah";
-import typeof {someOtherValue} from "blah";
-```
-
-you can now write it like this:
-
-```js
-import {
- someValue,
- type someType,
- typeof someOtherValue,
-} from "blah";
-```
-
-For more information look at [this](https://github.com/facebook/flow/pull/2890) pull request.
-
-flow: allow leading pipes in all positions ([#256](https://github.com/babel/babylon/pull/256)) (Vladimir Kurchatkin)
-
-This change now allows a leading pipe everywhere types can be used:
-```js
-var f = (x): | 1 | 2 => 1;
-```
-
-Throw error when exporting non-declaration ([#241](https://github.com/babel/babylon/pull/241)) (Kai Cataldo)
-
-Previously babylon parsed the following exports, although they are not valid:
-```js
-export typeof foo;
-export new Foo();
-export function() {};
-export for (;;);
-export while(foo);
-```
-
-### :bug: Bug Fix
-
-Don't set inType flag when parsing property names ([#266](https://github.com/babel/babylon/pull/266)) (Vladimir Kurchatkin)
-
-This fixes parsing of this case:
-
-```js
-const map = {
- [age <= 17] : 'Too young'
-};
-```
-
-Fix source location for JSXEmptyExpression nodes (fixes #248) ([#249](https://github.com/babel/babylon/pull/249)) (James Long)
-
-The following case produced an invalid AST
-```js
-<div>{/* foo */}</div>
-```
-
-Use fromCodePoint to convert high value unicode entities ([#243](https://github.com/babel/babylon/pull/243)) (Ryan Duffy)
-
-When high value unicode entities (e.g. 💩) were used in the input source code they are now correctly encoded in the resulting AST.
-
-Rename folder to avoid Windows-illegal characters ([#281](https://github.com/babel/babylon/pull/281)) (Ryan Plant)
-
-Allow this.state.clone() when parsing decorators ([#262](https://github.com/babel/babylon/pull/262)) (Alex Rattray)
-
-### :house: Internal
-
-User external-helpers ([#254](https://github.com/babel/babylon/pull/254)) (Daniel Tschinder)
-
-Add watch script for dev ([#234](https://github.com/babel/babylon/pull/234)) (Kai Cataldo)
-
-Freeze current plugins list for "*" option, and remove from README.md ([#245](https://github.com/babel/babylon/pull/245)) (Andrew Levine)
-
-Prepare tests for multiple fixture runners. ([#240](https://github.com/babel/babylon/pull/240)) (Daniel Tschinder)
-
-Add some test coverage for decorators stage-0 plugin ([#250](https://github.com/babel/babylon/pull/250)) (Andrew Levine)
-
-Refactor tokenizer types file ([#263](https://github.com/babel/babylon/pull/263)) (Sven SAULEAU)
-
-Update eslint-config-babel to the latest version 🚀 ([#273](https://github.com/babel/babylon/pull/273)) (greenkeeper[bot])
-
-chore(package): update rollup to version 0.41.0 ([#272](https://github.com/babel/babylon/pull/272)) (greenkeeper[bot])
-
-chore(package): update flow-bin to version 0.37.0 ([#255](https://github.com/babel/babylon/pull/255)) (greenkeeper[bot])
-
-## 6.14.1 (2016-11-17)
-
-### :bug: Bug Fix
-
-Allow `"plugins": ["*"]` ([#229](https://github.com/babel/babylon/pull/229)) (Daniel Tschinder)
-
-```js
-{
- "plugins": ["*"]
-}
-```
-
-Will include all parser plugins instead of specifying each one individually. Useful for tools like babel-eslint, jscodeshift, and ast-explorer.
-
-## 6.14.0 (2016-11-16)
-
-### :eyeglasses: Spec Compliance
-
-Throw error for reserved words `enum` and `await` ([#195](https://github.com/babel/babylon/pull/195)) (Kai Cataldo)
-
-[11.6.2.2 Future Reserved Words](http://www.ecma-international.org/ecma-262/6.0/#sec-future-reserved-words)
-
-Babylon will throw for more reserved words such as `enum` or `await` (in strict mode).
-
-```
-class enum {} // throws
-class await {} // throws in strict mode (module)
-```
-
-Optional names for function types and object type indexers ([#197](https://github.com/babel/babylon/pull/197)) (Gabe Levi)
-
-So where you used to have to write
-
-```js
-type A = (x: string, y: boolean) => number;
-type B = (z: string) => number;
-type C = { [key: string]: number };
-```
-
-you can now write (with flow 0.34.0)
-
-```js
-type A = (string, boolean) => number;
-type B = string => number;
-type C = { [string]: number };
-```
-
-Parse flow nested array type annotations like `number[][]` ([#219](https://github.com/babel/babylon/pull/219)) (Bernhard Häussner)
-
-Supports these form now of specifying array types:
-
-```js
-var a: number[][][][];
-var b: string[][];
-```
-
-### :bug: Bug Fix
-
-Correctly eat semicolon at the end of `DelcareModuleExports` ([#223](https://github.com/babel/babylon/pull/223)) (Daniel Tschinder)
-
-```
-declare module "foo" { declare module.exports: number }
-declare module "foo" { declare module.exports: number; } // also allowed now
-```
-
-### :house: Internal
-
- * Count Babel tests towards Babylon code coverage ([#182](https://github.com/babel/babylon/pull/182)) (Moti Zilberman)
- * Fix strange line endings ([#214](https://github.com/babel/babylon/pull/214)) (Thomas Grainger)
- * Add node 7 (Daniel Tschinder)
- * chore(package): update flow-bin to version 0.34.0 ([#204](https://github.com/babel/babylon/pull/204)) (Greenkeeper)
-
-## v6.13.1 (2016-10-26)
-
-### :nail_care: Polish
-
-- Use rollup for bundling to speed up startup time ([#190](https://github.com/babel/babylon/pull/190)) ([@drewml](https://github.com/DrewML))
-
-```js
-const babylon = require('babylon');
-const ast = babylon.parse('var foo = "lol";');
-```
-
-With that test case, there was a ~95ms savings by removing the need for node to build/traverse the dependency graph.
-
-**Without bundling**
-![image](https://cloud.githubusercontent.com/assets/5233399/19420264/3133497e-93ad-11e6-9a6a-2da59c4f5c13.png)
-
-**With bundling**
-![image](https://cloud.githubusercontent.com/assets/5233399/19420267/388f556e-93ad-11e6-813e-7c5c396be322.png)
-
-- add clean command [skip ci] ([#201](https://github.com/babel/babylon/pull/201)) (Henry Zhu)
-- add ForAwaitStatement (async generator already added) [skip ci] ([#196](https://github.com/babel/babylon/pull/196)) (Henry Zhu)
-
-## v6.13.0 (2016-10-21)
-
-### :eyeglasses: Spec Compliance
-
-Property variance type annotations for Flow plugin ([#161](https://github.com/babel/babylon/pull/161)) (Sam Goldman)
-
-> See https://flowtype.org/docs/variance.html for more information
-
-```js
-type T = { +p: T };
-interface T { -p: T };
-declare class T { +[k:K]: V };
-class T { -[k:K]: V };
-class C2 { +p: T = e };
-```
-
-Raise error on duplicate definition of __proto__ ([#183](https://github.com/babel/babylon/pull/183)) (Moti Zilberman)
-
-```js
-({ __proto__: 1, __proto__: 2 }) // Throws an error now
-```
-
-### :bug: Bug Fix
-
-Flow: Allow class properties to be named `static` ([#184](https://github.com/babel/babylon/pull/184)) (Moti Zilberman)
-
-```js
-declare class A {
- static: T;
-}
-```
-
-Allow "async" as identifier for object literal property shorthand ([#187](https://github.com/babel/babylon/pull/187)) (Andrew Levine)
-
-```js
-var foo = { async, bar };
-```
-
-### :nail_care: Polish
-
-Fix flowtype and add inType to state ([#189](https://github.com/babel/babylon/pull/189)) (Daniel Tschinder)
-
-> This improves the performance slightly (because of hidden classes)
-
-### :house: Internal
-
-Fix .gitattributes line ending setting ([#191](https://github.com/babel/babylon/pull/191)) (Moti Zilberman)
-
-Increase test coverage ([#175](https://github.com/babel/babylon/pull/175) (Moti Zilberman)
-
-Readd missin .eslinignore for IDEs (Daniel Tschinder)
-
-Error on missing expected.json fixture in CI ([#188](https://github.com/babel/babylon/pull/188)) (Moti Zilberman)
-
-Add .gitattributes and .editorconfig for LF line endings ([#179](https://github.com/babel/babylon/pull/179)) (Moti Zilberman)
-
-Fixes two tests that are failing after the merge of #172 ([#177](https://github.com/babel/babylon/pull/177)) (Moti Zilberman)
-
-## v6.12.0 (2016-10-14)
-
-### :eyeglasses: Spec Compliance
-
-Implement import() syntax ([#163](https://github.com/babel/babylon/pull/163)) (Jordan Gensler)
-
-#### Dynamic Import
-
-- Proposal Repo: https://github.com/domenic/proposal-dynamic-import
-- Championed by [@domenic](https://github.com/domenic)
-- stage-2
-- [sept-28 tc39 notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2016-09/sept-28.md#113a-import)
-
-> This repository contains a proposal for adding a "function-like" import() module loading syntactic form to JavaScript
-
-```js
-import(`./section-modules/${link.dataset.entryModule}.js`)
-.then(module => {
- module.loadPageInto(main);
-})
-```
-
-Add EmptyTypeAnnotation ([#171](https://github.com/babel/babylon/pull/171)) (Sam Goldman)
-
-#### EmptyTypeAnnotation
-
-Just wasn't covered before.
-
-```js
-type T = empty;
-```
-
-### :bug: Bug Fix
-
-Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels)
-
-```js
-// was failing due to sparse array
-export const { foo: [ ,, qux7 ] } = bar;
-```
-
-Allow keyword in Flow object declaration property names with type parameters ([#146](https://github.com/babel/babylon/pull/146)) (Dan Harper)
-
-```js
-declare class X {
- foobar<T>(): void;
- static foobar<T>(): void;
-}
-```
-
-Allow keyword in object/class property names with Flow type parameters ([#145](https://github.com/babel/babylon/pull/145)) (Dan Harper)
-
-```js
-class Foo {
- delete<T>(item: T): T {
- return item;
- }
-}
-```
-
-Allow typeAnnotations for yield expressions ([#174](https://github.com/babel/babylon/pull/174))) (Daniel Tschinder)
-
-```js
-function *foo() {
- const x = (yield 5: any);
-}
-```
-
-### :nail_care: Polish
-
-Annotate more errors with expected token ([#172](https://github.com/babel/babylon/pull/172))) (Moti Zilberman)
-
-```js
-// Unexpected token, expected ; (1:6)
-{ set 1 }
-```
-
-### :house: Internal
-
-Remove kcheck ([#173](https://github.com/babel/babylon/pull/173))) (Daniel Tschinder)
-
-Also run flow, linting, babel tests on separate instances (add back node 0.10)
-
-## v6.11.6 (2016-10-12)
-
-### :bug: Bug Fix/Regression
-
-Fix crash when exporting with destructuring and sparse array ([#170](https://github.com/babel/babylon/pull/170)) (Jeroen Engels)
-
-```js
-// was failing with `Cannot read property 'type' of null` because of null identifiers
-export const { foo: [ ,, qux7 ] } = bar;
-```
-
-## v6.11.5 (2016-10-12)
-
-### :eyeglasses: Spec Compliance
-
-Fix: Check for duplicate named exports in exported destructuring assignments ([#144](https://github.com/babel/babylon/pull/144)) (Kai Cataldo)
-
-```js
-// `foo` has already been exported. Exported identifiers must be unique. (2:20)
-export function foo() {};
-export const { a: [{foo}] } = bar;
-```
-
-Fix: Check for duplicate named exports in exported rest elements/properties ([#164](https://github.com/babel/babylon/pull/164)) (Kai Cataldo)
-
-```js
-// `foo` has already been exported. Exported identifiers must be unique. (2:22)
-export const foo = 1;
-export const [bar, ...foo] = baz;
-```
-
-### :bug: Bug Fix
-
-Fix: Allow identifier `async` for default param in arrow expression ([#165](https://github.com/babel/babylon/pull/165)) (Kai Cataldo)
-
-```js
-// this is ok now
-const test = ({async = true}) => {};
-```
-
-### :nail_care: Polish
-
-Babylon will now print out the token it's expecting if there's a `SyntaxError` ([#150](https://github.com/babel/babylon/pull/150)) (Daniel Tschinder)
-
-```bash
-# So in the case of a missing ending curly (`}`)
-Module build failed: SyntaxError: Unexpected token, expected } (30:0)
- 28 | }
- 29 |
-> 30 |
- | ^
-```
-
-## v6.11.4 (2016-10-03)
-
-Temporary rollback for erroring on trailing comma with spread (#154) (Henry Zhu)
-
-## v6.11.3 (2016-10-01)
-
-### :eyeglasses: Spec Compliance
-
-Add static errors for object rest (#149) ([@danez](https://github.com/danez))
-
-> https://github.com/sebmarkbage/ecmascript-rest-spread
-
-Object rest copies the *rest* of properties from the right hand side `obj` starting from the left to right.
-
-```js
-let { x, y, ...z } = { x: 1, y: 2, z: 3 };
-// x = 1
-// y = 2
-// z = { z: 3 }
-```
-
-#### New Syntax Errors:
-
-**SyntaxError**: The rest element has to be the last element when destructuring (1:10)
-```bash
-> 1 | let { ...x, y, z } = { x: 1, y: 2, z: 3};
- | ^
-# Previous behavior:
-# x = { x: 1, y: 2, z: 3 }
-# y = 2
-# z = 3
-```
-
-Before, this was just a more verbose way of shallow copying `obj` since it doesn't actually do what you think.
-
-**SyntaxError**: Cannot have multiple rest elements when destructuring (1:13)
-
-```bash
-> 1 | let { x, ...y, ...z } = { x: 1, y: 2, z: 3};
- | ^
-# Previous behavior:
-# x = 1
-# y = { y: 2, z: 3 }
-# z = { y: 2, z: 3 }
-```
-
-Before y and z would just be the same value anyway so there is no reason to need to have both.
-
-**SyntaxError**: A trailing comma is not permitted after the rest element (1:16)
-
-```js
-let { x, y, ...z, } = obj;
-```
-
-The rationale for this is that the use case for trailing comma is that you can add something at the end without affecting the line above. Since a RestProperty always has to be the last property it doesn't make sense.
-
----
-
-get / set are valid property names in default assignment (#142) ([@jezell](https://github.com/jezell))
-
-```js
-// valid
-function something({ set = null, get = null }) {}
-```
-
-## v6.11.2 (2016-09-23)
-
-### Bug Fix
-
-- [#139](https://github.com/babel/babylon/issues/139) Don't do the duplicate check if not an identifier (#140) @hzoo
-
-```js
-// regression with duplicate export check
-SyntaxError: ./typography.js: `undefined` has already been exported. Exported identifiers must be unique. (22:13)
- 20 |
- 21 | export const { rhythm } = typography;
-> 22 | export const { TypographyStyle } = typography
-```
-
-Bail out for now, and make a change to account for destructuring in the next release.
-
-## 6.11.1 (2016-09-22)
-
-### Bug Fix
-- [#137](https://github.com/babel/babylon/pull/137) - Fix a regression with duplicate exports - it was erroring on all keys in `Object.prototype`. @danez
-
-```javascript
-export toString from './toString';
-```
-
-```bash
-`toString` has already been exported. Exported identifiers must be unique. (1:7)
-> 1 | export toString from './toString';
- | ^
- 2 |
-```
-
-## 6.11.0 (2016-09-22)
-
-### Spec Compliance (will break CI)
-
-- Disallow duplicate named exports ([#107](https://github.com/babel/babylon/pull/107)) @kaicataldo
-
-```js
-// Only one default export allowed per module. (2:9)
-export default function() {};
-export { foo as default };
-
-// Only one default export allowed per module. (2:0)
-export default {};
-export default function() {};
-
-// `Foo` has already been exported. Exported identifiers must be unique. (2:0)
-export { Foo };
-export class Foo {};
-```
-
-### New Feature (Syntax)
-
-- Add support for computed class property names ([#121](https://github.com/babel/babylon/pull/121)) @motiz88
-
-```js
-// AST
-interface ClassProperty <: Node {
- type: "ClassProperty";
- key: Identifier;
- value: Expression;
- computed: boolean; // added
-}
-```
-
-```js
-// with "plugins": ["classProperties"]
-class Foo {
- [x]
- ['y']
-}
-
-class Bar {
- [p]
- [m] () {}
-}
- ```
-
-### Bug Fix
-
-- Fix `static` property falling through in the declare class Flow AST ([#135](https://github.com/babel/babylon/pull/135)) @danharper
-
-```js
-declare class X {
- a: number;
- static b: number; // static
- c: number; // this was being marked as static in the AST as well
-}
-```
-
-### Polish
-
-- Rephrase "assigning/binding to rvalue" errors to include context ([#119](https://github.com/babel/babylon/pull/119)) @motiz88
-
-```js
-// Used to error with:
-// SyntaxError: Assigning to rvalue (1:0)
-
-// Now:
-// Invalid left-hand side in assignment expression (1:0)
-3 = 4
-
-// Invalid left-hand side in for-in statement (1:5)
-for (+i in {});
-```
-
-### Internal
-
-- Fix call to `this.parseMaybeAssign` with correct arguments ([#133](https://github.com/babel/babylon/pull/133)) @danez
-- Add semver note to changelog ([#131](https://github.com/babel/babylon/pull/131)) @hzoo
-
-## 6.10.0 (2016-09-19)
-
-> We plan to include some spec compliance bugs in patch versions. An example was the multiple default exports issue.
-
-### Spec Compliance
-
-* Implement ES2016 check for simple parameter list in strict mode ([#106](https://github.com/babel/babylon/pull/106)) (Timothy Gu)
-
-> It is a Syntax Error if ContainsUseStrict of FunctionBody is true and IsSimpleParameterList of FormalParameters is false. https://tc39.github.io/ecma262/2016/#sec-function-definitions-static-semantics-early-errors
-
-More Context: [tc39-notes](https://github.com/rwaldron/tc39-notes/blob/master/es7/2015-07/july-29.md#611-the-scope-of-use-strict-with-respect-to-destructuring-in-parameter-lists)
-
-For example:
-
-```js
-// this errors because it uses destructuring and default parameters
-// in a function with a "use strict" directive
-function a([ option1, option2 ] = []) {
- "use strict";
-}
- ```
-
-The solution would be to use a top level "use strict" or to remove the destructuring or default parameters when using a function + "use strict" or to.
-
-### New Feature
-
-* Exact object type annotations for Flow plugin ([#104](https://github.com/babel/babylon/pull/104)) (Basil Hosmer)
-
-Added to flow in https://github.com/facebook/flow/commit/c710c40aa2a115435098d6c0dfeaadb023cd39b8
-
-Looks like:
-
-```js
-var a : {| x: number, y: string |} = { x: 0, y: 'foo' };
-```
-
-### Bug Fixes
-
-* Include `typeParameter` location in `ArrowFunctionExpression` ([#126](https://github.com/babel/babylon/pull/126)) (Daniel Tschinder)
-* Error on invalid flow type annotation with default assignment ([#122](https://github.com/babel/babylon/pull/122)) (Dan Harper)
-* Fix Flow return types on arrow functions ([#124](https://github.com/babel/babylon/pull/124)) (Dan Harper)
-
-### Misc
-
-* Add tests for export extensions ([#127](https://github.com/babel/babylon/pull/127)) (Daniel Tschinder)
-* Fix Contributing guidelines [skip ci] (Daniel Tschinder)
-
-## 6.9.2 (2016-09-09)
-
-The only change is to remove the `babel-runtime` dependency by compiling with Babel's ES2015 loose mode. So using babylon standalone should be smaller.
-
-## 6.9.1 (2016-08-23)
-
-This release contains mainly small bugfixes but also updates babylons default mode to es2017. The features for `exponentiationOperator`, `asyncFunctions` and `trailingFunctionCommas` which previously needed to be activated via plugin are now enabled by default and the plugins are now no-ops.
-
-### Bug Fixes
-
-- Fix issues with default object params in async functions ([#96](https://github.com/babel/babylon/pull/96)) @danez
-- Fix issues with flow-types and async function ([#95](https://github.com/babel/babylon/pull/95)) @danez
-- Fix arrow functions with destructuring, types & default value ([#94](https://github.com/babel/babylon/pull/94)) @danharper
-- Fix declare class with qualified type identifier ([#97](https://github.com/babel/babylon/pull/97)) @danez
-- Remove exponentiationOperator, asyncFunctions, trailingFunctionCommas plugins and enable them by default ([#98](https://github.com/babel/babylon/pull/98)) @danez
-
-## 6.9.0 (2016-08-16)
-
-### New syntax support
-
-- Add JSX spread children ([#42](https://github.com/babel/babylon/pull/42)) @calebmer
-
-(Be aware that React is not going to support this syntax)
-
-```js
-<div>
- {...todos.map(todo => <Todo key={todo.id} todo={todo}/>)}
-</div>
-```
-
-- Add support for declare module.exports ([#72](https://github.com/babel/babylon/pull/72)) @danez
-
-```js
-declare module "foo" {
- declare module.exports: {}
-}
-```
-
-### New Features
-
-- If supplied, attach filename property to comment node loc. ([#80](https://github.com/babel/babylon/pull/80)) @divmain
-- Add identifier name to node loc field ([#90](https://github.com/babel/babylon/pull/90)) @kittens
-
-### Bug Fixes
-
-- Fix exponential operator to behave according to spec ([#75](https://github.com/babel/babylon/pull/75)) @danez
-- Fix lookahead to not add comments to arrays which are not cloned ([#76](https://github.com/babel/babylon/pull/76)) @danez
-- Fix accidental fall-through in Flow type parsing. ([#82](https://github.com/babel/babylon/pull/82)) @xiemaisi
-- Only allow declares inside declare module ([#73](https://github.com/babel/babylon/pull/73)) @danez
-- Small fix for parsing type parameter declarations ([#83](https://github.com/babel/babylon/pull/83)) @gabelevi
-- Fix arrow param locations with flow types ([#57](https://github.com/babel/babylon/pull/57)) @danez
-- Fixes SyntaxError position with flow optional type ([#65](https://github.com/babel/babylon/pull/65)) @danez
-
-### Internal
-
-- Add codecoverage to tests @danez
-- Fix tests to not save expected output if we expect the test to fail @danez
-- Make a shallow clone of babel for testing @danez
-- chore(package): update cross-env to version 2.0.0 ([#77](https://github.com/babel/babylon/pull/77)) @greenkeeperio-bot
-- chore(package): update ava to version 0.16.0 ([#86](https://github.com/babel/babylon/pull/86)) @greenkeeperio-bot
-- chore(package): update babel-plugin-istanbul to version 2.0.0 ([#89](https://github.com/babel/babylon/pull/89)) @greenkeeperio-bot
-- chore(package): update nyc to version 8.0.0 ([#88](https://github.com/babel/babylon/pull/88)) @greenkeeperio-bot
-
-## 6.8.4 (2016-07-06)
-
-### Bug Fixes
-
-- Fix the location of params, when flow and default value used ([#68](https://github.com/babel/babylon/pull/68)) @danez
-
-## 6.8.3 (2016-07-02)
-
-### Bug Fixes
-
-- Fix performance regression introduced in 6.8.2 with conditionals ([#63](https://github.com/babel/babylon/pull/63)) @danez
-
-## 6.8.2 (2016-06-24)
-
-### Bug Fixes
-
-- Fix parse error with yielding jsx elements in generators `function* it() { yield <a></a>; }` ([#31](https://github.com/babel/babylon/pull/31)) @eldereal
-- When cloning nodes do not clone its comments ([#24](https://github.com/babel/babylon/pull/24)) @danez
-- Fix parse errors when using arrow functions with an spread element and return type `(...props): void => {}` ([#10](https://github.com/babel/babylon/pull/10)) @danez
-- Fix leading comments added from previous node ([#23](https://github.com/babel/babylon/pull/23)) @danez
-- Fix parse errors with flow's optional arguments `(arg?) => {}` ([#19](https://github.com/babel/babylon/pull/19)) @danez
-- Support negative numeric type literals @kittens
-- Remove line terminator restriction after await keyword @kittens
-- Remove grouped type arrow restriction as it seems flow no longer has it @kittens
-- Fix parse error with generic methods that have the name `get` or `set` `class foo { get() {} }` ([#55](https://github.com/babel/babylon/pull/55)) @vkurchatkin
-- Fix parse error with arrow functions that have flow type parameter declarations `<T>(x: T): T => x;` ([#54](https://github.com/babel/babylon/pull/54)) @gabelevi
-
-### Documentation
-
-- Document AST differences from ESTree ([#41](https://github.com/babel/babylon/pull/41)) @nene
-- Move ast spec from babel/babel ([#46](https://github.com/babel/babylon/pull/46)) @hzoo
-
-### Internal
-
-- Enable skipped tests ([#16](https://github.com/babel/babylon/pull/16)) @danez
-- Add script to test latest version of babylon with babel ([#21](https://github.com/babel/babylon/pull/21)) @danez
-- Upgrade test runner ava @kittens
-- Add missing generate-identifier-regex script @kittens
-- Rename parser context types @kittens
-- Add node v6 to travis testing @hzoo
-- Update to Unicode v9 ([#45](https://github.com/babel/babylon/pull/45)) @mathiasbynens
-
-## 6.8.1 (2016-06-06)
-
-### New Feature
-
-- Parse type parameter declarations with defaults like `type Foo<T = string> = T`
-
-### Bug Fixes
-- Type parameter declarations need 1 or more type parameters.
-- The existential type `*` is not a valid type parameter.
-- The existential type `*` is a primary type
-
-### Spec Compliance
-- The param list for type parameter declarations now consists of `TypeParameter` nodes
-- New `TypeParameter` AST Node (replaces using the `Identifier` node before)
-
-```
-interface TypeParameter <: Node {
- bound: TypeAnnotation;
- default: TypeAnnotation;
- name: string;
- variance: "plus" | "minus";
-}
-```
-
-## 6.8.0 (2016-05-02)
-
-#### New Feature
-
-##### Parse Method Parameter Decorators ([#12](https://github.com/babel/babylon/pull/12))
-
-> [Method Parameter Decorators](https://goo.gl/8MmCMG) is now a TC39 [stage 0 proposal](https://github.com/tc39/ecma262/blob/master/stage0.md).
-
-Examples:
-
-```js
-class Foo {
- constructor(@foo() x, @bar({ a: 123 }) @baz() y) {}
-}
-
-export default function func(@foo() x, @bar({ a: 123 }) @baz() y) {}
-
-var obj = {
- method(@foo() x, @bar({ a: 123 }) @baz() y) {}
-};
-```
-
-##### Parse for-await statements (w/ `asyncGenerators` plugin) ([#17](https://github.com/babel/babylon/pull/17))
-
-There is also a new node type, `ForAwaitStatement`.
-
-> [Async generators and for-await](https://github.com/tc39/proposal-async-iteration) are now a [stage 2 proposal](https://github.com/tc39/ecma262#current-proposals).
-
-Example:
-
-```js
-async function f() {
- for await (let x of y);
-}
-```
diff --git a/includes/search/node_modules/@babel/parser/LICENSE b/includes/search/node_modules/@babel/parser/LICENSE
deleted file mode 100644
index d4c7fc5..0000000
--- a/includes/search/node_modules/@babel/parser/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (C) 2012-2014 by various contributors (see AUTHORS)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/@babel/parser/README.md b/includes/search/node_modules/@babel/parser/README.md
deleted file mode 100644
index 513748c..0000000
--- a/includes/search/node_modules/@babel/parser/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/parser
-
-> A JavaScript parser
-
-See our website [@babel/parser](https://babeljs.io/docs/en/babel-parser) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20parser%20(babylon)%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/parser
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/parser --dev
-```
diff --git a/includes/search/node_modules/@babel/parser/bin/babel-parser.js b/includes/search/node_modules/@babel/parser/bin/babel-parser.js
deleted file mode 100755
index 3aca314..0000000
--- a/includes/search/node_modules/@babel/parser/bin/babel-parser.js
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env node
-/* eslint no-var: 0 */
-
-var parser = require("..");
-var fs = require("fs");
-
-var filename = process.argv[2];
-if (!filename) {
- console.error("no filename specified");
-} else {
- var file = fs.readFileSync(filename, "utf8");
- var ast = parser.parse(file);
-
- console.log(JSON.stringify(ast, null, " "));
-}
diff --git a/includes/search/node_modules/@babel/parser/lib/index.js b/includes/search/node_modules/@babel/parser/lib/index.js
deleted file mode 100644
index efa309e..0000000
--- a/includes/search/node_modules/@babel/parser/lib/index.js
+++ /dev/null
@@ -1,16624 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, '__esModule', { value: true });
-
-function _objectWithoutPropertiesLoose(source, excluded) {
- if (source == null) return {};
- var target = {};
- var sourceKeys = Object.keys(source);
- var key, i;
-
- for (i = 0; i < sourceKeys.length; i++) {
- key = sourceKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- target[key] = source[key];
- }
-
- return target;
-}
-
-class Position {
- constructor(line, col, index) {
- this.line = void 0;
- this.column = void 0;
- this.index = void 0;
- this.line = line;
- this.column = col;
- this.index = index;
- }
-
-}
-class SourceLocation {
- constructor(start, end) {
- this.start = void 0;
- this.end = void 0;
- this.filename = void 0;
- this.identifierName = void 0;
- this.start = start;
- this.end = end;
- }
-
-}
-function createPositionWithColumnOffset(position, columnOffset) {
- const {
- line,
- column,
- index
- } = position;
- return new Position(line, column + columnOffset, index + columnOffset);
-}
-
-const ParseErrorCodes = Object.freeze({
- SyntaxError: "BABEL_PARSER_SYNTAX_ERROR",
- SourceTypeModuleError: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"
-});
-
-const reflect = (keys, last = keys.length - 1) => ({
- get() {
- return keys.reduce((object, key) => object[key], this);
- },
-
- set(value) {
- keys.reduce((item, key, i) => i === last ? item[key] = value : item[key], this);
- }
-
-});
-
-const instantiate = (constructor, properties, descriptors) => Object.keys(descriptors).map(key => [key, descriptors[key]]).filter(([, descriptor]) => !!descriptor).map(([key, descriptor]) => [key, typeof descriptor === "function" ? {
- value: descriptor,
- enumerable: false
-} : typeof descriptor.reflect === "string" ? Object.assign({}, descriptor, reflect(descriptor.reflect.split("."))) : descriptor]).reduce((instance, [key, descriptor]) => Object.defineProperty(instance, key, Object.assign({
- configurable: true
-}, descriptor)), Object.assign(new constructor(), properties));
-
-var ModuleErrors = (_ => ({
- ImportMetaOutsideModule: _(`import.meta may appear only with 'sourceType: "module"'`, {
- code: ParseErrorCodes.SourceTypeModuleError
- }),
- ImportOutsideModule: _(`'import' and 'export' may appear only with 'sourceType: "module"'`, {
- code: ParseErrorCodes.SourceTypeModuleError
- })
-}));
-
-const NodeDescriptions = {
- ArrayPattern: "array destructuring pattern",
- AssignmentExpression: "assignment expression",
- AssignmentPattern: "assignment expression",
- ArrowFunctionExpression: "arrow function expression",
- ConditionalExpression: "conditional expression",
- ForOfStatement: "for-of statement",
- ForInStatement: "for-in statement",
- ForStatement: "for-loop",
- FormalParameters: "function parameter list",
- Identifier: "identifier",
- ObjectPattern: "object destructuring pattern",
- ParenthesizedExpression: "parenthesized expression",
- RestElement: "rest element",
- UpdateExpression: {
- true: "prefix operation",
- false: "postfix operation"
- },
- VariableDeclarator: "variable declaration",
- YieldExpression: "yield expression"
-};
-
-const toNodeDescription = ({
- type,
- prefix
-}) => type === "UpdateExpression" ? NodeDescriptions.UpdateExpression[String(prefix)] : NodeDescriptions[type];
-
-var StandardErrors = (_ => ({
- AccessorIsGenerator: _(({
- kind
- }) => `A ${kind}ter cannot be a generator.`),
- ArgumentsInClass: _("'arguments' is only allowed in functions and class methods."),
- AsyncFunctionInSingleStatementContext: _("Async functions can only be declared at the top level or inside a block."),
- AwaitBindingIdentifier: _("Can not use 'await' as identifier inside an async function."),
- AwaitBindingIdentifierInStaticBlock: _("Can not use 'await' as identifier inside a static block."),
- AwaitExpressionFormalParameter: _("'await' is not allowed in async function parameters."),
- AwaitNotInAsyncContext: _("'await' is only allowed within async functions and at the top levels of modules."),
- AwaitNotInAsyncFunction: _("'await' is only allowed within async functions."),
- BadGetterArity: _("A 'get' accesor must not have any formal parameters."),
- BadSetterArity: _("A 'set' accesor must have exactly one formal parameter."),
- BadSetterRestParameter: _("A 'set' accesor function argument must not be a rest parameter."),
- ConstructorClassField: _("Classes may not have a field named 'constructor'."),
- ConstructorClassPrivateField: _("Classes may not have a private field named '#constructor'."),
- ConstructorIsAccessor: _("Class constructor may not be an accessor."),
- ConstructorIsAsync: _("Constructor can't be an async function."),
- ConstructorIsGenerator: _("Constructor can't be a generator."),
- DeclarationMissingInitializer: _(({
- kind
- }) => `Missing initializer in ${kind} declaration.`),
- DecoratorBeforeExport: _("Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax."),
- DecoratorConstructor: _("Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?"),
- DecoratorExportClass: _("Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead."),
- DecoratorSemicolon: _("Decorators must not be followed by a semicolon."),
- DecoratorStaticBlock: _("Decorators can't be used with a static block."),
- DeletePrivateField: _("Deleting a private field is not allowed."),
- DestructureNamedImport: _("ES2015 named imports do not destructure. Use another statement for destructuring after the import."),
- DuplicateConstructor: _("Duplicate constructor in the same class."),
- DuplicateDefaultExport: _("Only one default export allowed per module."),
- DuplicateExport: _(({
- exportName
- }) => `\`${exportName}\` has already been exported. Exported identifiers must be unique.`),
- DuplicateProto: _("Redefinition of __proto__ property."),
- DuplicateRegExpFlags: _("Duplicate regular expression flag."),
- ElementAfterRest: _("Rest element must be last element."),
- EscapedCharNotAnIdentifier: _("Invalid Unicode escape."),
- ExportBindingIsString: _(({
- localName,
- exportName
- }) => `A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${localName}' as '${exportName}' } from 'some-module'\`?`),
- ExportDefaultFromAsIdentifier: _("'from' is not allowed as an identifier after 'export default'."),
- ForInOfLoopInitializer: _(({
- type
- }) => `'${type === "ForInStatement" ? "for-in" : "for-of"}' loop variable declaration may not have an initializer.`),
- ForOfAsync: _("The left-hand side of a for-of loop may not be 'async'."),
- ForOfLet: _("The left-hand side of a for-of loop may not start with 'let'."),
- GeneratorInSingleStatementContext: _("Generators can only be declared at the top level or inside a block."),
- IllegalBreakContinue: _(({
- type
- }) => `Unsyntactic ${type === "BreakStatement" ? "break" : "continue"}.`),
- IllegalLanguageModeDirective: _("Illegal 'use strict' directive in function with non-simple parameter list."),
- IllegalReturn: _("'return' outside of function."),
- ImportBindingIsString: _(({
- importName
- }) => `A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${importName}" as foo }\`?`),
- ImportCallArgumentTrailingComma: _("Trailing comma is disallowed inside import(...) arguments."),
- ImportCallArity: _(({
- maxArgumentCount
- }) => `\`import()\` requires exactly ${maxArgumentCount === 1 ? "one argument" : "one or two arguments"}.`),
- ImportCallNotNewExpression: _("Cannot use new with import(...)."),
- ImportCallSpreadArgument: _("`...` is not allowed in `import()`."),
- IncompatibleRegExpUVFlags: _("The 'u' and 'v' regular expression flags cannot be enabled at the same time."),
- InvalidBigIntLiteral: _("Invalid BigIntLiteral."),
- InvalidCodePoint: _("Code point out of bounds."),
- InvalidCoverInitializedName: _("Invalid shorthand property initializer."),
- InvalidDecimal: _("Invalid decimal."),
- InvalidDigit: _(({
- radix
- }) => `Expected number in radix ${radix}.`),
- InvalidEscapeSequence: _("Bad character escape sequence."),
- InvalidEscapeSequenceTemplate: _("Invalid escape sequence in template."),
- InvalidEscapedReservedWord: _(({
- reservedWord
- }) => `Escape sequence in keyword ${reservedWord}.`),
- InvalidIdentifier: _(({
- identifierName
- }) => `Invalid identifier ${identifierName}.`),
- InvalidLhs: _(({
- ancestor
- }) => `Invalid left-hand side in ${toNodeDescription(ancestor)}.`),
- InvalidLhsBinding: _(({
- ancestor
- }) => `Binding invalid left-hand side in ${toNodeDescription(ancestor)}.`),
- InvalidNumber: _("Invalid number."),
- InvalidOrMissingExponent: _("Floating-point numbers require a valid exponent after the 'e'."),
- InvalidOrUnexpectedToken: _(({
- unexpected
- }) => `Unexpected character '${unexpected}'.`),
- InvalidParenthesizedAssignment: _("Invalid parenthesized assignment pattern."),
- InvalidPrivateFieldResolution: _(({
- identifierName
- }) => `Private name #${identifierName} is not defined.`),
- InvalidPropertyBindingPattern: _("Binding member expression."),
- InvalidRecordProperty: _("Only properties and spread elements are allowed in record definitions."),
- InvalidRestAssignmentPattern: _("Invalid rest operator's argument."),
- LabelRedeclaration: _(({
- labelName
- }) => `Label '${labelName}' is already declared.`),
- LetInLexicalBinding: _("'let' is not allowed to be used as a name in 'let' or 'const' declarations."),
- LineTerminatorBeforeArrow: _("No line break is allowed before '=>'."),
- MalformedRegExpFlags: _("Invalid regular expression flag."),
- MissingClassName: _("A class name is required."),
- MissingEqInAssignment: _("Only '=' operator can be used for specifying default value."),
- MissingSemicolon: _("Missing semicolon."),
- MissingPlugin: _(({
- missingPlugin
- }) => `This experimental syntax requires enabling the parser plugin: ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`),
- MissingOneOfPlugins: _(({
- missingPlugin
- }) => `This experimental syntax requires enabling one of the following parser plugin(s): ${missingPlugin.map(name => JSON.stringify(name)).join(", ")}.`),
- MissingUnicodeEscape: _("Expecting Unicode escape sequence \\uXXXX."),
- MixingCoalesceWithLogical: _("Nullish coalescing operator(??) requires parens when mixing with logical operators."),
- ModuleAttributeDifferentFromType: _("The only accepted module attribute is `type`."),
- ModuleAttributeInvalidValue: _("Only string literals are allowed as module attribute values."),
- ModuleAttributesWithDuplicateKeys: _(({
- key
- }) => `Duplicate key "${key}" is not allowed in module attributes.`),
- ModuleExportNameHasLoneSurrogate: _(({
- surrogateCharCode
- }) => `An export name cannot include a lone surrogate, found '\\u${surrogateCharCode.toString(16)}'.`),
- ModuleExportUndefined: _(({
- localName
- }) => `Export '${localName}' is not defined.`),
- MultipleDefaultsInSwitch: _("Multiple default clauses."),
- NewlineAfterThrow: _("Illegal newline after throw."),
- NoCatchOrFinally: _("Missing catch or finally clause."),
- NumberIdentifier: _("Identifier directly after number."),
- NumericSeparatorInEscapeSequence: _("Numeric separators are not allowed inside unicode escape sequences or hex escape sequences."),
- ObsoleteAwaitStar: _("'await*' has been removed from the async functions proposal. Use Promise.all() instead."),
- OptionalChainingNoNew: _("Constructors in/after an Optional Chain are not allowed."),
- OptionalChainingNoTemplate: _("Tagged Template Literals are not allowed in optionalChain."),
- OverrideOnConstructor: _("'override' modifier cannot appear on a constructor declaration."),
- ParamDupe: _("Argument name clash."),
- PatternHasAccessor: _("Object pattern can't contain getter or setter."),
- PatternHasMethod: _("Object pattern can't contain methods."),
- PrivateInExpectedIn: _(({
- identifierName
- }) => `Private names are only allowed in property accesses (\`obj.#${identifierName}\`) or in \`in\` expressions (\`#${identifierName} in obj\`).`),
- PrivateNameRedeclaration: _(({
- identifierName
- }) => `Duplicate private name #${identifierName}.`),
- RecordExpressionBarIncorrectEndSyntaxType: _("Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'."),
- RecordExpressionBarIncorrectStartSyntaxType: _("Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'."),
- RecordExpressionHashIncorrectStartSyntaxType: _("Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'."),
- RecordNoProto: _("'__proto__' is not allowed in Record expressions."),
- RestTrailingComma: _("Unexpected trailing comma after rest element."),
- SloppyFunction: _("In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement."),
- StaticPrototype: _("Classes may not have static property named prototype."),
- SuperNotAllowed: _("`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?"),
- SuperPrivateField: _("Private fields can't be accessed on super."),
- TrailingDecorator: _("Decorators must be attached to a class element."),
- TupleExpressionBarIncorrectEndSyntaxType: _("Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'."),
- TupleExpressionBarIncorrectStartSyntaxType: _("Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'."),
- TupleExpressionHashIncorrectStartSyntaxType: _("Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'."),
- UnexpectedArgumentPlaceholder: _("Unexpected argument placeholder."),
- UnexpectedAwaitAfterPipelineBody: _('Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.'),
- UnexpectedDigitAfterHash: _("Unexpected digit after hash token."),
- UnexpectedImportExport: _("'import' and 'export' may only appear at the top level."),
- UnexpectedKeyword: _(({
- keyword
- }) => `Unexpected keyword '${keyword}'.`),
- UnexpectedLeadingDecorator: _("Leading decorators must be attached to a class declaration."),
- UnexpectedLexicalDeclaration: _("Lexical declaration cannot appear in a single-statement context."),
- UnexpectedNewTarget: _("`new.target` can only be used in functions or class properties."),
- UnexpectedNumericSeparator: _("A numeric separator is only allowed between two digits."),
- UnexpectedPrivateField: _("Unexpected private name."),
- UnexpectedReservedWord: _(({
- reservedWord
- }) => `Unexpected reserved word '${reservedWord}'.`),
- UnexpectedSuper: _("'super' is only allowed in object methods and classes."),
- UnexpectedToken: _(({
- expected,
- unexpected
- }) => `Unexpected token${unexpected ? ` '${unexpected}'.` : ""}${expected ? `, expected "${expected}"` : ""}`),
- UnexpectedTokenUnaryExponentiation: _("Illegal expression. Wrap left hand side or entire exponentiation in parentheses."),
- UnsupportedBind: _("Binding should be performed on object property."),
- UnsupportedDecoratorExport: _("A decorated export must export a class declaration."),
- UnsupportedDefaultExport: _("Only expressions, functions or classes are allowed as the `default` export."),
- UnsupportedImport: _("`import` can only be used in `import()` or `import.meta`."),
- UnsupportedMetaProperty: _(({
- target,
- onlyValidPropertyName
- }) => `The only valid meta property for ${target} is ${target}.${onlyValidPropertyName}.`),
- UnsupportedParameterDecorator: _("Decorators cannot be used to decorate parameters."),
- UnsupportedPropertyDecorator: _("Decorators cannot be used to decorate object literal properties."),
- UnsupportedSuper: _("'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])."),
- UnterminatedComment: _("Unterminated comment."),
- UnterminatedRegExp: _("Unterminated regular expression."),
- UnterminatedString: _("Unterminated string constant."),
- UnterminatedTemplate: _("Unterminated template."),
- VarRedeclaration: _(({
- identifierName
- }) => `Identifier '${identifierName}' has already been declared.`),
- YieldBindingIdentifier: _("Can not use 'yield' as identifier inside a generator."),
- YieldInParameter: _("Yield expression is not allowed in formal parameters."),
- ZeroDigitNumericSeparator: _("Numeric separator can not be used after leading 0.")
-}));
-
-var StrictModeErrors = (_ => ({
- StrictDelete: _("Deleting local variable in strict mode."),
- StrictEvalArguments: _(({
- referenceName
- }) => `Assigning to '${referenceName}' in strict mode.`),
- StrictEvalArgumentsBinding: _(({
- bindingName
- }) => `Binding '${bindingName}' in strict mode.`),
- StrictFunction: _("In strict mode code, functions can only be declared at top level or inside a block."),
- StrictNumericEscape: _("The only valid numeric escape in strict mode is '\\0'."),
- StrictOctalLiteral: _("Legacy octal literals are not allowed in strict mode."),
- StrictWith: _("'with' in strict mode.")
-}));
-
-const UnparenthesizedPipeBodyDescriptions = new Set(["ArrowFunctionExpression", "AssignmentExpression", "ConditionalExpression", "YieldExpression"]);
-var PipelineOperatorErrors = (_ => ({
- PipeBodyIsTighter: _("Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence."),
- PipeTopicRequiresHackPipes: _('Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'),
- PipeTopicUnbound: _("Topic reference is unbound; it must be inside a pipe body."),
- PipeTopicUnconfiguredToken: _(({
- token
- }) => `Invalid topic token ${token}. In order to use ${token} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${token}" }.`),
- PipeTopicUnused: _("Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once."),
- PipeUnparenthesizedBody: _(({
- type
- }) => `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({
- type
- })}; please wrap it in parentheses.`),
- PipelineBodyNoArrow: _('Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.'),
- PipelineBodySequenceExpression: _("Pipeline body may not be a comma-separated sequence expression."),
- PipelineHeadSequenceExpression: _("Pipeline head should not be a comma-separated sequence expression."),
- PipelineTopicUnused: _("Pipeline is in topic style but does not use topic reference."),
- PrimaryTopicNotAllowed: _("Topic reference was used in a lexical context without topic binding."),
- PrimaryTopicRequiresSmartPipeline: _('Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.')
-}));
-
-const _excluded$1 = ["toMessage"];
-
-function toParseErrorConstructor(_ref) {
- let {
- toMessage
- } = _ref,
- properties = _objectWithoutPropertiesLoose(_ref, _excluded$1);
-
- return function constructor({
- loc,
- details
- }) {
- return instantiate(SyntaxError, Object.assign({}, properties, {
- loc
- }), {
- clone(overrides = {}) {
- const loc = overrides.loc || {};
- return constructor({
- loc: new Position("line" in loc ? loc.line : this.loc.line, "column" in loc ? loc.column : this.loc.column, "index" in loc ? loc.index : this.loc.index),
- details: Object.assign({}, this.details, overrides.details)
- });
- },
-
- details: {
- value: details,
- enumerable: false
- },
- message: {
- get() {
- return `${toMessage(this.details)} (${this.loc.line}:${this.loc.column})`;
- },
-
- set(value) {
- Object.defineProperty(this, "message", {
- value
- });
- }
-
- },
- pos: {
- reflect: "loc.index",
- enumerable: true
- },
- missingPlugin: "missingPlugin" in details && {
- reflect: "details.missingPlugin",
- enumerable: true
- }
- });
- };
-}
-
-function toParseErrorCredentials(toMessageOrMessage, credentials) {
- return Object.assign({
- toMessage: typeof toMessageOrMessage === "string" ? () => toMessageOrMessage : toMessageOrMessage
- }, credentials);
-}
-function ParseErrorEnum(argument, syntaxPlugin) {
- if (Array.isArray(argument)) {
- return toParseErrorCredentialsMap => ParseErrorEnum(toParseErrorCredentialsMap, argument[0]);
- }
-
- const partialCredentials = argument(toParseErrorCredentials);
- const ParseErrorConstructors = {};
-
- for (const reasonCode of Object.keys(partialCredentials)) {
- ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({
- code: ParseErrorCodes.SyntaxError,
- reasonCode
- }, syntaxPlugin ? {
- syntaxPlugin
- } : {}, partialCredentials[reasonCode]));
- }
-
- return ParseErrorConstructors;
-}
-const Errors = Object.assign({}, ParseErrorEnum(ModuleErrors), ParseErrorEnum(StandardErrors), ParseErrorEnum(StrictModeErrors), ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors));
-
-const {
- defineProperty
-} = Object;
-
-const toUnenumerable = (object, key) => defineProperty(object, key, {
- enumerable: false,
- value: object[key]
-});
-
-function toESTreeLocation(node) {
- node.loc.start && toUnenumerable(node.loc.start, "index");
- node.loc.end && toUnenumerable(node.loc.end, "index");
- return node;
-}
-
-var estree = (superClass => class extends superClass {
- parse() {
- const file = toESTreeLocation(super.parse());
-
- if (this.options.tokens) {
- file.tokens = file.tokens.map(toESTreeLocation);
- }
-
- return file;
- }
-
- parseRegExpLiteral({
- pattern,
- flags
- }) {
- let regex = null;
-
- try {
- regex = new RegExp(pattern, flags);
- } catch (e) {}
-
- const node = this.estreeParseLiteral(regex);
- node.regex = {
- pattern,
- flags
- };
- return node;
- }
-
- parseBigIntLiteral(value) {
- let bigInt;
-
- try {
- bigInt = BigInt(value);
- } catch (_unused) {
- bigInt = null;
- }
-
- const node = this.estreeParseLiteral(bigInt);
- node.bigint = String(node.value || value);
- return node;
- }
-
- parseDecimalLiteral(value) {
- const decimal = null;
- const node = this.estreeParseLiteral(decimal);
- node.decimal = String(node.value || value);
- return node;
- }
-
- estreeParseLiteral(value) {
- return this.parseLiteral(value, "Literal");
- }
-
- parseStringLiteral(value) {
- return this.estreeParseLiteral(value);
- }
-
- parseNumericLiteral(value) {
- return this.estreeParseLiteral(value);
- }
-
- parseNullLiteral() {
- return this.estreeParseLiteral(null);
- }
-
- parseBooleanLiteral(value) {
- return this.estreeParseLiteral(value);
- }
-
- directiveToStmt(directive) {
- const directiveLiteral = directive.value;
- const stmt = this.startNodeAt(directive.start, directive.loc.start);
- const expression = this.startNodeAt(directiveLiteral.start, directiveLiteral.loc.start);
- expression.value = directiveLiteral.extra.expressionValue;
- expression.raw = directiveLiteral.extra.raw;
- stmt.expression = this.finishNodeAt(expression, "Literal", directiveLiteral.loc.end);
- stmt.directive = directiveLiteral.extra.raw.slice(1, -1);
- return this.finishNodeAt(stmt, "ExpressionStatement", directive.loc.end);
- }
-
- initFunction(node, isAsync) {
- super.initFunction(node, isAsync);
- node.expression = false;
- }
-
- checkDeclaration(node) {
- if (node != null && this.isObjectProperty(node)) {
- this.checkDeclaration(node.value);
- } else {
- super.checkDeclaration(node);
- }
- }
-
- getObjectOrClassMethodParams(method) {
- return method.value.params;
- }
-
- isValidDirective(stmt) {
- var _stmt$expression$extr;
-
- return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && !((_stmt$expression$extr = stmt.expression.extra) != null && _stmt$expression$extr.parenthesized);
- }
-
- parseBlockBody(node, ...args) {
- super.parseBlockBody(node, ...args);
- const directiveStatements = node.directives.map(d => this.directiveToStmt(d));
- node.body = directiveStatements.concat(node.body);
- delete node.directives;
- }
-
- pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
- this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true);
-
- if (method.typeParameters) {
- method.value.typeParameters = method.typeParameters;
- delete method.typeParameters;
- }
-
- classBody.body.push(method);
- }
-
- parsePrivateName() {
- const node = super.parsePrivateName();
- {
- if (!this.getPluginOption("estree", "classFeatures")) {
- return node;
- }
- }
- return this.convertPrivateNameToPrivateIdentifier(node);
- }
-
- convertPrivateNameToPrivateIdentifier(node) {
- const name = super.getPrivateNameSV(node);
- node = node;
- delete node.id;
- node.name = name;
- node.type = "PrivateIdentifier";
- return node;
- }
-
- isPrivateName(node) {
- {
- if (!this.getPluginOption("estree", "classFeatures")) {
- return super.isPrivateName(node);
- }
- }
- return node.type === "PrivateIdentifier";
- }
-
- getPrivateNameSV(node) {
- {
- if (!this.getPluginOption("estree", "classFeatures")) {
- return super.getPrivateNameSV(node);
- }
- }
- return node.name;
- }
-
- parseLiteral(value, type) {
- const node = super.parseLiteral(value, type);
- node.raw = node.extra.raw;
- delete node.extra;
- return node;
- }
-
- parseFunctionBody(node, allowExpression, isMethod = false) {
- super.parseFunctionBody(node, allowExpression, isMethod);
- node.expression = node.body.type !== "BlockStatement";
- }
-
- parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) {
- let funcNode = this.startNode();
- funcNode.kind = node.kind;
- funcNode = super.parseMethod(funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope);
- funcNode.type = "FunctionExpression";
- delete funcNode.kind;
- node.value = funcNode;
-
- if (type === "ClassPrivateMethod") {
- node.computed = false;
- }
-
- type = "MethodDefinition";
- return this.finishNode(node, type);
- }
-
- parseClassProperty(...args) {
- const propertyNode = super.parseClassProperty(...args);
- {
- if (!this.getPluginOption("estree", "classFeatures")) {
- return propertyNode;
- }
- }
- propertyNode.type = "PropertyDefinition";
- return propertyNode;
- }
-
- parseClassPrivateProperty(...args) {
- const propertyNode = super.parseClassPrivateProperty(...args);
- {
- if (!this.getPluginOption("estree", "classFeatures")) {
- return propertyNode;
- }
- }
- propertyNode.type = "PropertyDefinition";
- propertyNode.computed = false;
- return propertyNode;
- }
-
- parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {
- const node = super.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor);
-
- if (node) {
- node.type = "Property";
- if (node.kind === "method") node.kind = "init";
- node.shorthand = false;
- }
-
- return node;
- }
-
- parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) {
- const node = super.parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors);
-
- if (node) {
- node.kind = "init";
- node.type = "Property";
- }
-
- return node;
- }
-
- isValidLVal(type, ...rest) {
- return type === "Property" ? "value" : super.isValidLVal(type, ...rest);
- }
-
- isAssignable(node, isBinding) {
- if (node != null && this.isObjectProperty(node)) {
- return this.isAssignable(node.value, isBinding);
- }
-
- return super.isAssignable(node, isBinding);
- }
-
- toAssignable(node, isLHS = false) {
- if (node != null && this.isObjectProperty(node)) {
- const {
- key,
- value
- } = node;
-
- if (this.isPrivateName(key)) {
- this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start);
- }
-
- this.toAssignable(value, isLHS);
- } else {
- super.toAssignable(node, isLHS);
- }
- }
-
- toAssignableObjectExpressionProp(prop) {
- if (prop.kind === "get" || prop.kind === "set") {
- this.raise(Errors.PatternHasAccessor, {
- at: prop.key
- });
- } else if (prop.method) {
- this.raise(Errors.PatternHasMethod, {
- at: prop.key
- });
- } else {
- super.toAssignableObjectExpressionProp(...arguments);
- }
- }
-
- finishCallExpression(node, optional) {
- super.finishCallExpression(node, optional);
-
- if (node.callee.type === "Import") {
- node.type = "ImportExpression";
- node.source = node.arguments[0];
-
- if (this.hasPlugin("importAssertions")) {
- var _node$arguments$;
-
- node.attributes = (_node$arguments$ = node.arguments[1]) != null ? _node$arguments$ : null;
- }
-
- delete node.arguments;
- delete node.callee;
- }
-
- return node;
- }
-
- toReferencedArguments(node) {
- if (node.type === "ImportExpression") {
- return;
- }
-
- super.toReferencedArguments(node);
- }
-
- parseExport(node) {
- super.parseExport(node);
-
- switch (node.type) {
- case "ExportAllDeclaration":
- node.exported = null;
- break;
-
- case "ExportNamedDeclaration":
- if (node.specifiers.length === 1 && node.specifiers[0].type === "ExportNamespaceSpecifier") {
- node.type = "ExportAllDeclaration";
- node.exported = node.specifiers[0].exported;
- delete node.specifiers;
- }
-
- break;
- }
-
- return node;
- }
-
- parseSubscript(base, startPos, startLoc, noCalls, state) {
- const node = super.parseSubscript(base, startPos, startLoc, noCalls, state);
-
- if (state.optionalChainMember) {
- if (node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression") {
- node.type = node.type.substring(8);
- }
-
- if (state.stop) {
- const chain = this.startNodeAtNode(node);
- chain.expression = node;
- return this.finishNode(chain, "ChainExpression");
- }
- } else if (node.type === "MemberExpression" || node.type === "CallExpression") {
- node.optional = false;
- }
-
- return node;
- }
-
- hasPropertyAsPrivateName(node) {
- if (node.type === "ChainExpression") {
- node = node.expression;
- }
-
- return super.hasPropertyAsPrivateName(node);
- }
-
- isOptionalChain(node) {
- return node.type === "ChainExpression";
- }
-
- isObjectProperty(node) {
- return node.type === "Property" && node.kind === "init" && !node.method;
- }
-
- isObjectMethod(node) {
- return node.method || node.kind === "get" || node.kind === "set";
- }
-
- finishNodeAt(node, type, endLoc) {
- return toESTreeLocation(super.finishNodeAt(node, type, endLoc));
- }
-
- resetStartLocation(node, start, startLoc) {
- super.resetStartLocation(node, start, startLoc);
- toESTreeLocation(node);
- }
-
- resetEndLocation(node, endLoc = this.state.lastTokEndLoc) {
- super.resetEndLocation(node, endLoc);
- toESTreeLocation(node);
- }
-
-});
-
-class TokContext {
- constructor(token, preserveSpace) {
- this.token = void 0;
- this.preserveSpace = void 0;
- this.token = token;
- this.preserveSpace = !!preserveSpace;
- }
-
-}
-const types = {
- brace: new TokContext("{"),
- j_oTag: new TokContext("<tag"),
- j_cTag: new TokContext("</tag"),
- j_expr: new TokContext("<tag>...</tag>", true)
-};
-{
- types.template = new TokContext("`", true);
-}
-
-const beforeExpr = true;
-const startsExpr = true;
-const isLoop = true;
-const isAssign = true;
-const prefix = true;
-const postfix = true;
-class ExportedTokenType {
- constructor(label, conf = {}) {
- this.label = void 0;
- this.keyword = void 0;
- this.beforeExpr = void 0;
- this.startsExpr = void 0;
- this.rightAssociative = void 0;
- this.isLoop = void 0;
- this.isAssign = void 0;
- this.prefix = void 0;
- this.postfix = void 0;
- this.binop = void 0;
- this.label = label;
- this.keyword = conf.keyword;
- this.beforeExpr = !!conf.beforeExpr;
- this.startsExpr = !!conf.startsExpr;
- this.rightAssociative = !!conf.rightAssociative;
- this.isLoop = !!conf.isLoop;
- this.isAssign = !!conf.isAssign;
- this.prefix = !!conf.prefix;
- this.postfix = !!conf.postfix;
- this.binop = conf.binop != null ? conf.binop : null;
- {
- this.updateContext = null;
- }
- }
-
-}
-const keywords$1 = new Map();
-
-function createKeyword(name, options = {}) {
- options.keyword = name;
- const token = createToken(name, options);
- keywords$1.set(name, token);
- return token;
-}
-
-function createBinop(name, binop) {
- return createToken(name, {
- beforeExpr,
- binop
- });
-}
-
-let tokenTypeCounter = -1;
-const tokenTypes = [];
-const tokenLabels = [];
-const tokenBinops = [];
-const tokenBeforeExprs = [];
-const tokenStartsExprs = [];
-const tokenPrefixes = [];
-
-function createToken(name, options = {}) {
- var _options$binop, _options$beforeExpr, _options$startsExpr, _options$prefix;
-
- ++tokenTypeCounter;
- tokenLabels.push(name);
- tokenBinops.push((_options$binop = options.binop) != null ? _options$binop : -1);
- tokenBeforeExprs.push((_options$beforeExpr = options.beforeExpr) != null ? _options$beforeExpr : false);
- tokenStartsExprs.push((_options$startsExpr = options.startsExpr) != null ? _options$startsExpr : false);
- tokenPrefixes.push((_options$prefix = options.prefix) != null ? _options$prefix : false);
- tokenTypes.push(new ExportedTokenType(name, options));
- return tokenTypeCounter;
-}
-
-function createKeywordLike(name, options = {}) {
- var _options$binop2, _options$beforeExpr2, _options$startsExpr2, _options$prefix2;
-
- ++tokenTypeCounter;
- keywords$1.set(name, tokenTypeCounter);
- tokenLabels.push(name);
- tokenBinops.push((_options$binop2 = options.binop) != null ? _options$binop2 : -1);
- tokenBeforeExprs.push((_options$beforeExpr2 = options.beforeExpr) != null ? _options$beforeExpr2 : false);
- tokenStartsExprs.push((_options$startsExpr2 = options.startsExpr) != null ? _options$startsExpr2 : false);
- tokenPrefixes.push((_options$prefix2 = options.prefix) != null ? _options$prefix2 : false);
- tokenTypes.push(new ExportedTokenType("name", options));
- return tokenTypeCounter;
-}
-
-const tt = {
- bracketL: createToken("[", {
- beforeExpr,
- startsExpr
- }),
- bracketHashL: createToken("#[", {
- beforeExpr,
- startsExpr
- }),
- bracketBarL: createToken("[|", {
- beforeExpr,
- startsExpr
- }),
- bracketR: createToken("]"),
- bracketBarR: createToken("|]"),
- braceL: createToken("{", {
- beforeExpr,
- startsExpr
- }),
- braceBarL: createToken("{|", {
- beforeExpr,
- startsExpr
- }),
- braceHashL: createToken("#{", {
- beforeExpr,
- startsExpr
- }),
- braceR: createToken("}"),
- braceBarR: createToken("|}"),
- parenL: createToken("(", {
- beforeExpr,
- startsExpr
- }),
- parenR: createToken(")"),
- comma: createToken(",", {
- beforeExpr
- }),
- semi: createToken(";", {
- beforeExpr
- }),
- colon: createToken(":", {
- beforeExpr
- }),
- doubleColon: createToken("::", {
- beforeExpr
- }),
- dot: createToken("."),
- question: createToken("?", {
- beforeExpr
- }),
- questionDot: createToken("?."),
- arrow: createToken("=>", {
- beforeExpr
- }),
- template: createToken("template"),
- ellipsis: createToken("...", {
- beforeExpr
- }),
- backQuote: createToken("`", {
- startsExpr
- }),
- dollarBraceL: createToken("${", {
- beforeExpr,
- startsExpr
- }),
- templateTail: createToken("...`", {
- startsExpr
- }),
- templateNonTail: createToken("...${", {
- beforeExpr,
- startsExpr
- }),
- at: createToken("@"),
- hash: createToken("#", {
- startsExpr
- }),
- interpreterDirective: createToken("#!..."),
- eq: createToken("=", {
- beforeExpr,
- isAssign
- }),
- assign: createToken("_=", {
- beforeExpr,
- isAssign
- }),
- slashAssign: createToken("_=", {
- beforeExpr,
- isAssign
- }),
- xorAssign: createToken("_=", {
- beforeExpr,
- isAssign
- }),
- moduloAssign: createToken("_=", {
- beforeExpr,
- isAssign
- }),
- incDec: createToken("++/--", {
- prefix,
- postfix,
- startsExpr
- }),
- bang: createToken("!", {
- beforeExpr,
- prefix,
- startsExpr
- }),
- tilde: createToken("~", {
- beforeExpr,
- prefix,
- startsExpr
- }),
- doubleCaret: createToken("^^", {
- startsExpr
- }),
- doubleAt: createToken("@@", {
- startsExpr
- }),
- pipeline: createBinop("|>", 0),
- nullishCoalescing: createBinop("??", 1),
- logicalOR: createBinop("||", 1),
- logicalAND: createBinop("&&", 2),
- bitwiseOR: createBinop("|", 3),
- bitwiseXOR: createBinop("^", 4),
- bitwiseAND: createBinop("&", 5),
- equality: createBinop("==/!=/===/!==", 6),
- lt: createBinop("</>/<=/>=", 7),
- gt: createBinop("</>/<=/>=", 7),
- relational: createBinop("</>/<=/>=", 7),
- bitShift: createBinop("<</>>/>>>", 8),
- bitShiftL: createBinop("<</>>/>>>", 8),
- bitShiftR: createBinop("<</>>/>>>", 8),
- plusMin: createToken("+/-", {
- beforeExpr,
- binop: 9,
- prefix,
- startsExpr
- }),
- modulo: createToken("%", {
- binop: 10,
- startsExpr
- }),
- star: createToken("*", {
- binop: 10
- }),
- slash: createBinop("/", 10),
- exponent: createToken("**", {
- beforeExpr,
- binop: 11,
- rightAssociative: true
- }),
- _in: createKeyword("in", {
- beforeExpr,
- binop: 7
- }),
- _instanceof: createKeyword("instanceof", {
- beforeExpr,
- binop: 7
- }),
- _break: createKeyword("break"),
- _case: createKeyword("case", {
- beforeExpr
- }),
- _catch: createKeyword("catch"),
- _continue: createKeyword("continue"),
- _debugger: createKeyword("debugger"),
- _default: createKeyword("default", {
- beforeExpr
- }),
- _else: createKeyword("else", {
- beforeExpr
- }),
- _finally: createKeyword("finally"),
- _function: createKeyword("function", {
- startsExpr
- }),
- _if: createKeyword("if"),
- _return: createKeyword("return", {
- beforeExpr
- }),
- _switch: createKeyword("switch"),
- _throw: createKeyword("throw", {
- beforeExpr,
- prefix,
- startsExpr
- }),
- _try: createKeyword("try"),
- _var: createKeyword("var"),
- _const: createKeyword("const"),
- _with: createKeyword("with"),
- _new: createKeyword("new", {
- beforeExpr,
- startsExpr
- }),
- _this: createKeyword("this", {
- startsExpr
- }),
- _super: createKeyword("super", {
- startsExpr
- }),
- _class: createKeyword("class", {
- startsExpr
- }),
- _extends: createKeyword("extends", {
- beforeExpr
- }),
- _export: createKeyword("export"),
- _import: createKeyword("import", {
- startsExpr
- }),
- _null: createKeyword("null", {
- startsExpr
- }),
- _true: createKeyword("true", {
- startsExpr
- }),
- _false: createKeyword("false", {
- startsExpr
- }),
- _typeof: createKeyword("typeof", {
- beforeExpr,
- prefix,
- startsExpr
- }),
- _void: createKeyword("void", {
- beforeExpr,
- prefix,
- startsExpr
- }),
- _delete: createKeyword("delete", {
- beforeExpr,
- prefix,
- startsExpr
- }),
- _do: createKeyword("do", {
- isLoop,
- beforeExpr
- }),
- _for: createKeyword("for", {
- isLoop
- }),
- _while: createKeyword("while", {
- isLoop
- }),
- _as: createKeywordLike("as", {
- startsExpr
- }),
- _assert: createKeywordLike("assert", {
- startsExpr
- }),
- _async: createKeywordLike("async", {
- startsExpr
- }),
- _await: createKeywordLike("await", {
- startsExpr
- }),
- _from: createKeywordLike("from", {
- startsExpr
- }),
- _get: createKeywordLike("get", {
- startsExpr
- }),
- _let: createKeywordLike("let", {
- startsExpr
- }),
- _meta: createKeywordLike("meta", {
- startsExpr
- }),
- _of: createKeywordLike("of", {
- startsExpr
- }),
- _sent: createKeywordLike("sent", {
- startsExpr
- }),
- _set: createKeywordLike("set", {
- startsExpr
- }),
- _static: createKeywordLike("static", {
- startsExpr
- }),
- _yield: createKeywordLike("yield", {
- startsExpr
- }),
- _asserts: createKeywordLike("asserts", {
- startsExpr
- }),
- _checks: createKeywordLike("checks", {
- startsExpr
- }),
- _exports: createKeywordLike("exports", {
- startsExpr
- }),
- _global: createKeywordLike("global", {
- startsExpr
- }),
- _implements: createKeywordLike("implements", {
- startsExpr
- }),
- _intrinsic: createKeywordLike("intrinsic", {
- startsExpr
- }),
- _infer: createKeywordLike("infer", {
- startsExpr
- }),
- _is: createKeywordLike("is", {
- startsExpr
- }),
- _mixins: createKeywordLike("mixins", {
- startsExpr
- }),
- _proto: createKeywordLike("proto", {
- startsExpr
- }),
- _require: createKeywordLike("require", {
- startsExpr
- }),
- _keyof: createKeywordLike("keyof", {
- startsExpr
- }),
- _readonly: createKeywordLike("readonly", {
- startsExpr
- }),
- _unique: createKeywordLike("unique", {
- startsExpr
- }),
- _abstract: createKeywordLike("abstract", {
- startsExpr
- }),
- _declare: createKeywordLike("declare", {
- startsExpr
- }),
- _enum: createKeywordLike("enum", {
- startsExpr
- }),
- _module: createKeywordLike("module", {
- startsExpr
- }),
- _namespace: createKeywordLike("namespace", {
- startsExpr
- }),
- _interface: createKeywordLike("interface", {
- startsExpr
- }),
- _type: createKeywordLike("type", {
- startsExpr
- }),
- _opaque: createKeywordLike("opaque", {
- startsExpr
- }),
- name: createToken("name", {
- startsExpr
- }),
- string: createToken("string", {
- startsExpr
- }),
- num: createToken("num", {
- startsExpr
- }),
- bigint: createToken("bigint", {
- startsExpr
- }),
- decimal: createToken("decimal", {
- startsExpr
- }),
- regexp: createToken("regexp", {
- startsExpr
- }),
- privateName: createToken("#name", {
- startsExpr
- }),
- eof: createToken("eof"),
- jsxName: createToken("jsxName"),
- jsxText: createToken("jsxText", {
- beforeExpr: true
- }),
- jsxTagStart: createToken("jsxTagStart", {
- startsExpr: true
- }),
- jsxTagEnd: createToken("jsxTagEnd"),
- placeholder: createToken("%%", {
- startsExpr: true
- })
-};
-function tokenIsIdentifier(token) {
- return token >= 93 && token <= 128;
-}
-function tokenKeywordOrIdentifierIsKeyword(token) {
- return token <= 92;
-}
-function tokenIsKeywordOrIdentifier(token) {
- return token >= 58 && token <= 128;
-}
-function tokenIsLiteralPropertyName(token) {
- return token >= 58 && token <= 132;
-}
-function tokenComesBeforeExpression(token) {
- return tokenBeforeExprs[token];
-}
-function tokenCanStartExpression(token) {
- return tokenStartsExprs[token];
-}
-function tokenIsAssignment(token) {
- return token >= 29 && token <= 33;
-}
-function tokenIsFlowInterfaceOrTypeOrOpaque(token) {
- return token >= 125 && token <= 127;
-}
-function tokenIsLoop(token) {
- return token >= 90 && token <= 92;
-}
-function tokenIsKeyword(token) {
- return token >= 58 && token <= 92;
-}
-function tokenIsOperator(token) {
- return token >= 39 && token <= 59;
-}
-function tokenIsPostfix(token) {
- return token === 34;
-}
-function tokenIsPrefix(token) {
- return tokenPrefixes[token];
-}
-function tokenIsTSTypeOperator(token) {
- return token >= 117 && token <= 119;
-}
-function tokenIsTSDeclarationStart(token) {
- return token >= 120 && token <= 126;
-}
-function tokenLabelName(token) {
- return tokenLabels[token];
-}
-function tokenOperatorPrecedence(token) {
- return tokenBinops[token];
-}
-function tokenIsBinaryOperator(token) {
- return tokenBinops[token] !== -1;
-}
-function tokenIsRightAssociative(token) {
- return token === 57;
-}
-function tokenIsTemplate(token) {
- return token >= 24 && token <= 25;
-}
-function getExportedToken(token) {
- return tokenTypes[token];
-}
-{
- tokenTypes[8].updateContext = context => {
- context.pop();
- };
-
- tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = context => {
- context.push(types.brace);
- };
-
- tokenTypes[22].updateContext = context => {
- if (context[context.length - 1] === types.template) {
- context.pop();
- } else {
- context.push(types.template);
- }
- };
-
- tokenTypes[138].updateContext = context => {
- context.push(types.j_expr, types.j_oTag);
- };
-}
-
-let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
-let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
-const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
-const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
-nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
-const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1070, 4050, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 46, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 482, 44, 11, 6, 17, 0, 322, 29, 19, 43, 1269, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4152, 8, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];
-const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 357, 0, 62, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
-
-function isInAstralSet(code, set) {
- let pos = 0x10000;
-
- for (let i = 0, length = set.length; i < length; i += 2) {
- pos += set[i];
- if (pos > code) return false;
- pos += set[i + 1];
- if (pos >= code) return true;
- }
-
- return false;
-}
-
-function isIdentifierStart(code) {
- if (code < 65) return code === 36;
- if (code <= 90) return true;
- if (code < 97) return code === 95;
- if (code <= 122) return true;
-
- if (code <= 0xffff) {
- return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
- }
-
- return isInAstralSet(code, astralIdentifierStartCodes);
-}
-function isIdentifierChar(code) {
- if (code < 48) return code === 36;
- if (code < 58) return true;
- if (code < 65) return false;
- if (code <= 90) return true;
- if (code < 97) return code === 95;
- if (code <= 122) return true;
-
- if (code <= 0xffff) {
- return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
- }
-
- return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
-}
-
-const reservedWords = {
- keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
- strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
- strictBind: ["eval", "arguments"]
-};
-const keywords = new Set(reservedWords.keyword);
-const reservedWordsStrictSet = new Set(reservedWords.strict);
-const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
-function isReservedWord(word, inModule) {
- return inModule && word === "await" || word === "enum";
-}
-function isStrictReservedWord(word, inModule) {
- return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
-}
-function isStrictBindOnlyReservedWord(word) {
- return reservedWordsStrictBindSet.has(word);
-}
-function isStrictBindReservedWord(word, inModule) {
- return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
-}
-function isKeyword(word) {
- return keywords.has(word);
-}
-
-function isIteratorStart(current, next, next2) {
- return current === 64 && next === 64 && isIdentifierStart(next2);
-}
-const reservedWordLikeSet = new Set(["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "eval", "arguments", "enum", "await"]);
-function canBeReservedWord(word) {
- return reservedWordLikeSet.has(word);
-}
-
-const SCOPE_OTHER = 0b000000000,
- SCOPE_PROGRAM = 0b000000001,
- SCOPE_FUNCTION = 0b000000010,
- SCOPE_ARROW = 0b000000100,
- SCOPE_SIMPLE_CATCH = 0b000001000,
- SCOPE_SUPER = 0b000010000,
- SCOPE_DIRECT_SUPER = 0b000100000,
- SCOPE_CLASS = 0b001000000,
- SCOPE_STATIC_BLOCK = 0b010000000,
- SCOPE_TS_MODULE = 0b100000000,
- SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE;
-const BIND_KIND_VALUE = 0b000000000001,
- BIND_KIND_TYPE = 0b000000000010,
- BIND_SCOPE_VAR = 0b000000000100,
- BIND_SCOPE_LEXICAL = 0b000000001000,
- BIND_SCOPE_FUNCTION = 0b000000010000,
- BIND_FLAGS_NONE = 0b000001000000,
- BIND_FLAGS_CLASS = 0b000010000000,
- BIND_FLAGS_TS_ENUM = 0b000100000000,
- BIND_FLAGS_TS_CONST_ENUM = 0b001000000000,
- BIND_FLAGS_TS_EXPORT_ONLY = 0b010000000000,
- BIND_FLAGS_FLOW_DECLARE_FN = 0b100000000000;
-const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS,
- BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0,
- BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0,
- BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0,
- BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS,
- BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0,
- BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM,
- BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,
- BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE,
- BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE,
- BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM,
- BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,
- BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;
-const CLASS_ELEMENT_FLAG_STATIC = 0b100,
- CLASS_ELEMENT_KIND_GETTER = 0b010,
- CLASS_ELEMENT_KIND_SETTER = 0b001,
- CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER;
-const CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC,
- CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC,
- CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER,
- CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER,
- CLASS_ELEMENT_OTHER = 0;
-
-class BaseParser {
- constructor() {
- this.sawUnambiguousESM = false;
- this.ambiguousScriptDifferentAst = false;
- }
-
- hasPlugin(pluginConfig) {
- if (typeof pluginConfig === "string") {
- return this.plugins.has(pluginConfig);
- } else {
- const [pluginName, pluginOptions] = pluginConfig;
-
- if (!this.hasPlugin(pluginName)) {
- return false;
- }
-
- const actualOptions = this.plugins.get(pluginName);
-
- for (const key of Object.keys(pluginOptions)) {
- if ((actualOptions == null ? void 0 : actualOptions[key]) !== pluginOptions[key]) {
- return false;
- }
- }
-
- return true;
- }
- }
-
- getPluginOption(plugin, name) {
- var _this$plugins$get;
-
- return (_this$plugins$get = this.plugins.get(plugin)) == null ? void 0 : _this$plugins$get[name];
- }
-
-}
-
-function setTrailingComments(node, comments) {
- if (node.trailingComments === undefined) {
- node.trailingComments = comments;
- } else {
- node.trailingComments.unshift(...comments);
- }
-}
-
-function setLeadingComments(node, comments) {
- if (node.leadingComments === undefined) {
- node.leadingComments = comments;
- } else {
- node.leadingComments.unshift(...comments);
- }
-}
-
-function setInnerComments(node, comments) {
- if (node.innerComments === undefined) {
- node.innerComments = comments;
- } else {
- node.innerComments.unshift(...comments);
- }
-}
-
-function adjustInnerComments(node, elements, commentWS) {
- let lastElement = null;
- let i = elements.length;
-
- while (lastElement === null && i > 0) {
- lastElement = elements[--i];
- }
-
- if (lastElement === null || lastElement.start > commentWS.start) {
- setInnerComments(node, commentWS.comments);
- } else {
- setTrailingComments(lastElement, commentWS.comments);
- }
-}
-
-class CommentsParser extends BaseParser {
- addComment(comment) {
- if (this.filename) comment.loc.filename = this.filename;
- this.state.comments.push(comment);
- }
-
- processComment(node) {
- const {
- commentStack
- } = this.state;
- const commentStackLength = commentStack.length;
- if (commentStackLength === 0) return;
- let i = commentStackLength - 1;
- const lastCommentWS = commentStack[i];
-
- if (lastCommentWS.start === node.end) {
- lastCommentWS.leadingNode = node;
- i--;
- }
-
- const {
- start: nodeStart
- } = node;
-
- for (; i >= 0; i--) {
- const commentWS = commentStack[i];
- const commentEnd = commentWS.end;
-
- if (commentEnd > nodeStart) {
- commentWS.containingNode = node;
- this.finalizeComment(commentWS);
- commentStack.splice(i, 1);
- } else {
- if (commentEnd === nodeStart) {
- commentWS.trailingNode = node;
- }
-
- break;
- }
- }
- }
-
- finalizeComment(commentWS) {
- const {
- comments
- } = commentWS;
-
- if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) {
- if (commentWS.leadingNode !== null) {
- setTrailingComments(commentWS.leadingNode, comments);
- }
-
- if (commentWS.trailingNode !== null) {
- setLeadingComments(commentWS.trailingNode, comments);
- }
- } else {
- const {
- containingNode: node,
- start: commentStart
- } = commentWS;
-
- if (this.input.charCodeAt(commentStart - 1) === 44) {
- switch (node.type) {
- case "ObjectExpression":
- case "ObjectPattern":
- case "RecordExpression":
- adjustInnerComments(node, node.properties, commentWS);
- break;
-
- case "CallExpression":
- case "OptionalCallExpression":
- adjustInnerComments(node, node.arguments, commentWS);
- break;
-
- case "FunctionDeclaration":
- case "FunctionExpression":
- case "ArrowFunctionExpression":
- case "ObjectMethod":
- case "ClassMethod":
- case "ClassPrivateMethod":
- adjustInnerComments(node, node.params, commentWS);
- break;
-
- case "ArrayExpression":
- case "ArrayPattern":
- case "TupleExpression":
- adjustInnerComments(node, node.elements, commentWS);
- break;
-
- case "ExportNamedDeclaration":
- case "ImportDeclaration":
- adjustInnerComments(node, node.specifiers, commentWS);
- break;
-
- default:
- {
- setInnerComments(node, comments);
- }
- }
- } else {
- setInnerComments(node, comments);
- }
- }
- }
-
- finalizeRemainingComments() {
- const {
- commentStack
- } = this.state;
-
- for (let i = commentStack.length - 1; i >= 0; i--) {
- this.finalizeComment(commentStack[i]);
- }
-
- this.state.commentStack = [];
- }
-
- resetPreviousNodeTrailingComments(node) {
- const {
- commentStack
- } = this.state;
- const {
- length
- } = commentStack;
- if (length === 0) return;
- const commentWS = commentStack[length - 1];
-
- if (commentWS.leadingNode === node) {
- commentWS.leadingNode = null;
- }
- }
-
- takeSurroundingComments(node, start, end) {
- const {
- commentStack
- } = this.state;
- const commentStackLength = commentStack.length;
- if (commentStackLength === 0) return;
- let i = commentStackLength - 1;
-
- for (; i >= 0; i--) {
- const commentWS = commentStack[i];
- const commentEnd = commentWS.end;
- const commentStart = commentWS.start;
-
- if (commentStart === end) {
- commentWS.leadingNode = node;
- } else if (commentEnd === start) {
- commentWS.trailingNode = node;
- } else if (commentEnd < start) {
- break;
- }
- }
- }
-
-}
-
-const lineBreak = /\r\n?|[\n\u2028\u2029]/;
-const lineBreakG = new RegExp(lineBreak.source, "g");
-function isNewLine(code) {
- switch (code) {
- case 10:
- case 13:
- case 8232:
- case 8233:
- return true;
-
- default:
- return false;
- }
-}
-const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
-const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/y;
-const skipWhiteSpaceToLineBreak = new RegExp("(?=(" + skipWhiteSpaceInLine.source + "))\\1" + /(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source, "y");
-function isWhitespace(code) {
- switch (code) {
- case 0x0009:
- case 0x000b:
- case 0x000c:
- case 32:
- case 160:
- case 5760:
- case 0x2000:
- case 0x2001:
- case 0x2002:
- case 0x2003:
- case 0x2004:
- case 0x2005:
- case 0x2006:
- case 0x2007:
- case 0x2008:
- case 0x2009:
- case 0x200a:
- case 0x202f:
- case 0x205f:
- case 0x3000:
- case 0xfeff:
- return true;
-
- default:
- return false;
- }
-}
-
-class State {
- constructor() {
- this.strict = void 0;
- this.curLine = void 0;
- this.lineStart = void 0;
- this.startLoc = void 0;
- this.endLoc = void 0;
- this.errors = [];
- this.potentialArrowAt = -1;
- this.noArrowAt = [];
- this.noArrowParamsConversionAt = [];
- this.maybeInArrowParameters = false;
- this.inType = false;
- this.noAnonFunctionType = false;
- this.hasFlowComment = false;
- this.isAmbientContext = false;
- this.inAbstractClass = false;
- this.inDisallowConditionalTypesContext = false;
- this.topicContext = {
- maxNumOfResolvableTopics: 0,
- maxTopicIndex: null
- };
- this.soloAwait = false;
- this.inFSharpPipelineDirectBody = false;
- this.labels = [];
- this.decoratorStack = [[]];
- this.comments = [];
- this.commentStack = [];
- this.pos = 0;
- this.type = 135;
- this.value = null;
- this.start = 0;
- this.end = 0;
- this.lastTokEndLoc = null;
- this.lastTokStartLoc = null;
- this.lastTokStart = 0;
- this.context = [types.brace];
- this.canStartJSXElement = true;
- this.containsEsc = false;
- this.strictErrors = new Map();
- this.tokensLength = 0;
- }
-
- init({
- strictMode,
- sourceType,
- startLine,
- startColumn
- }) {
- this.strict = strictMode === false ? false : strictMode === true ? true : sourceType === "module";
- this.curLine = startLine;
- this.lineStart = -startColumn;
- this.startLoc = this.endLoc = new Position(startLine, startColumn, 0);
- }
-
- curPosition() {
- return new Position(this.curLine, this.pos - this.lineStart, this.pos);
- }
-
- clone(skipArrays) {
- const state = new State();
- const keys = Object.keys(this);
-
- for (let i = 0, length = keys.length; i < length; i++) {
- const key = keys[i];
- let val = this[key];
-
- if (!skipArrays && Array.isArray(val)) {
- val = val.slice();
- }
-
- state[key] = val;
- }
-
- return state;
- }
-
-}
-
-const _excluded = ["at"],
- _excluded2 = ["at"];
-
-var _isDigit = function isDigit(code) {
- return code >= 48 && code <= 57;
-};
-const VALID_REGEX_FLAGS = new Set([103, 109, 115, 105, 121, 117, 100, 118]);
-const forbiddenNumericSeparatorSiblings = {
- decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),
- hex: new Set([46, 88, 95, 120])
-};
-const isAllowedNumericSeparatorSibling = {
- bin: ch => ch === 48 || ch === 49,
- oct: ch => ch >= 48 && ch <= 55,
- dec: ch => ch >= 48 && ch <= 57,
- hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102
-};
-class Token {
- constructor(state) {
- this.type = state.type;
- this.value = state.value;
- this.start = state.start;
- this.end = state.end;
- this.loc = new SourceLocation(state.startLoc, state.endLoc);
- }
-
-}
-class Tokenizer extends CommentsParser {
- constructor(options, input) {
- super();
- this.isLookahead = void 0;
- this.tokens = [];
- this.state = new State();
- this.state.init(options);
- this.input = input;
- this.length = input.length;
- this.isLookahead = false;
- }
-
- pushToken(token) {
- this.tokens.length = this.state.tokensLength;
- this.tokens.push(token);
- ++this.state.tokensLength;
- }
-
- next() {
- this.checkKeywordEscapes();
-
- if (this.options.tokens) {
- this.pushToken(new Token(this.state));
- }
-
- this.state.lastTokStart = this.state.start;
- this.state.lastTokEndLoc = this.state.endLoc;
- this.state.lastTokStartLoc = this.state.startLoc;
- this.nextToken();
- }
-
- eat(type) {
- if (this.match(type)) {
- this.next();
- return true;
- } else {
- return false;
- }
- }
-
- match(type) {
- return this.state.type === type;
- }
-
- createLookaheadState(state) {
- return {
- pos: state.pos,
- value: null,
- type: state.type,
- start: state.start,
- end: state.end,
- context: [this.curContext()],
- inType: state.inType,
- startLoc: state.startLoc,
- lastTokEndLoc: state.lastTokEndLoc,
- curLine: state.curLine,
- lineStart: state.lineStart,
- curPosition: state.curPosition
- };
- }
-
- lookahead() {
- const old = this.state;
- this.state = this.createLookaheadState(old);
- this.isLookahead = true;
- this.nextToken();
- this.isLookahead = false;
- const curr = this.state;
- this.state = old;
- return curr;
- }
-
- nextTokenStart() {
- return this.nextTokenStartSince(this.state.pos);
- }
-
- nextTokenStartSince(pos) {
- skipWhiteSpace.lastIndex = pos;
- return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos;
- }
-
- lookaheadCharCode() {
- return this.input.charCodeAt(this.nextTokenStart());
- }
-
- codePointAtPos(pos) {
- let cp = this.input.charCodeAt(pos);
-
- if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) {
- const trail = this.input.charCodeAt(pos);
-
- if ((trail & 0xfc00) === 0xdc00) {
- cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
- }
- }
-
- return cp;
- }
-
- setStrict(strict) {
- this.state.strict = strict;
-
- if (strict) {
- this.state.strictErrors.forEach(([toParseError, at]) => this.raise(toParseError, {
- at
- }));
- this.state.strictErrors.clear();
- }
- }
-
- curContext() {
- return this.state.context[this.state.context.length - 1];
- }
-
- nextToken() {
- this.skipSpace();
- this.state.start = this.state.pos;
- if (!this.isLookahead) this.state.startLoc = this.state.curPosition();
-
- if (this.state.pos >= this.length) {
- this.finishToken(135);
- return;
- }
-
- this.getTokenFromCode(this.codePointAtPos(this.state.pos));
- }
-
- skipBlockComment() {
- let startLoc;
- if (!this.isLookahead) startLoc = this.state.curPosition();
- const start = this.state.pos;
- const end = this.input.indexOf("*/", start + 2);
-
- if (end === -1) {
- throw this.raise(Errors.UnterminatedComment, {
- at: this.state.curPosition()
- });
- }
-
- this.state.pos = end + 2;
- lineBreakG.lastIndex = start + 2;
-
- while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) {
- ++this.state.curLine;
- this.state.lineStart = lineBreakG.lastIndex;
- }
-
- if (this.isLookahead) return;
- const comment = {
- type: "CommentBlock",
- value: this.input.slice(start + 2, end),
- start,
- end: end + 2,
- loc: new SourceLocation(startLoc, this.state.curPosition())
- };
- if (this.options.tokens) this.pushToken(comment);
- return comment;
- }
-
- skipLineComment(startSkip) {
- const start = this.state.pos;
- let startLoc;
- if (!this.isLookahead) startLoc = this.state.curPosition();
- let ch = this.input.charCodeAt(this.state.pos += startSkip);
-
- if (this.state.pos < this.length) {
- while (!isNewLine(ch) && ++this.state.pos < this.length) {
- ch = this.input.charCodeAt(this.state.pos);
- }
- }
-
- if (this.isLookahead) return;
- const end = this.state.pos;
- const value = this.input.slice(start + startSkip, end);
- const comment = {
- type: "CommentLine",
- value,
- start,
- end,
- loc: new SourceLocation(startLoc, this.state.curPosition())
- };
- if (this.options.tokens) this.pushToken(comment);
- return comment;
- }
-
- skipSpace() {
- const spaceStart = this.state.pos;
- const comments = [];
-
- loop: while (this.state.pos < this.length) {
- const ch = this.input.charCodeAt(this.state.pos);
-
- switch (ch) {
- case 32:
- case 160:
- case 9:
- ++this.state.pos;
- break;
-
- case 13:
- if (this.input.charCodeAt(this.state.pos + 1) === 10) {
- ++this.state.pos;
- }
-
- case 10:
- case 8232:
- case 8233:
- ++this.state.pos;
- ++this.state.curLine;
- this.state.lineStart = this.state.pos;
- break;
-
- case 47:
- switch (this.input.charCodeAt(this.state.pos + 1)) {
- case 42:
- {
- const comment = this.skipBlockComment();
-
- if (comment !== undefined) {
- this.addComment(comment);
- if (this.options.attachComment) comments.push(comment);
- }
-
- break;
- }
-
- case 47:
- {
- const comment = this.skipLineComment(2);
-
- if (comment !== undefined) {
- this.addComment(comment);
- if (this.options.attachComment) comments.push(comment);
- }
-
- break;
- }
-
- default:
- break loop;
- }
-
- break;
-
- default:
- if (isWhitespace(ch)) {
- ++this.state.pos;
- } else if (ch === 45 && !this.inModule) {
- const pos = this.state.pos;
-
- if (this.input.charCodeAt(pos + 1) === 45 && this.input.charCodeAt(pos + 2) === 62 && (spaceStart === 0 || this.state.lineStart > spaceStart)) {
- const comment = this.skipLineComment(3);
-
- if (comment !== undefined) {
- this.addComment(comment);
- if (this.options.attachComment) comments.push(comment);
- }
- } else {
- break loop;
- }
- } else if (ch === 60 && !this.inModule) {
- const pos = this.state.pos;
-
- if (this.input.charCodeAt(pos + 1) === 33 && this.input.charCodeAt(pos + 2) === 45 && this.input.charCodeAt(pos + 3) === 45) {
- const comment = this.skipLineComment(4);
-
- if (comment !== undefined) {
- this.addComment(comment);
- if (this.options.attachComment) comments.push(comment);
- }
- } else {
- break loop;
- }
- } else {
- break loop;
- }
-
- }
- }
-
- if (comments.length > 0) {
- const end = this.state.pos;
- const CommentWhitespace = {
- start: spaceStart,
- end,
- comments,
- leadingNode: null,
- trailingNode: null,
- containingNode: null
- };
- this.state.commentStack.push(CommentWhitespace);
- }
- }
-
- finishToken(type, val) {
- this.state.end = this.state.pos;
- this.state.endLoc = this.state.curPosition();
- const prevType = this.state.type;
- this.state.type = type;
- this.state.value = val;
-
- if (!this.isLookahead) {
- this.updateContext(prevType);
- }
- }
-
- replaceToken(type) {
- this.state.type = type;
- this.updateContext();
- }
-
- readToken_numberSign() {
- if (this.state.pos === 0 && this.readToken_interpreter()) {
- return;
- }
-
- const nextPos = this.state.pos + 1;
- const next = this.codePointAtPos(nextPos);
-
- if (next >= 48 && next <= 57) {
- throw this.raise(Errors.UnexpectedDigitAfterHash, {
- at: this.state.curPosition()
- });
- }
-
- if (next === 123 || next === 91 && this.hasPlugin("recordAndTuple")) {
- this.expectPlugin("recordAndTuple");
-
- if (this.getPluginOption("recordAndTuple", "syntaxType") !== "hash") {
- throw this.raise(next === 123 ? Errors.RecordExpressionHashIncorrectStartSyntaxType : Errors.TupleExpressionHashIncorrectStartSyntaxType, {
- at: this.state.curPosition()
- });
- }
-
- this.state.pos += 2;
-
- if (next === 123) {
- this.finishToken(7);
- } else {
- this.finishToken(1);
- }
- } else if (isIdentifierStart(next)) {
- ++this.state.pos;
- this.finishToken(134, this.readWord1(next));
- } else if (next === 92) {
- ++this.state.pos;
- this.finishToken(134, this.readWord1());
- } else {
- this.finishOp(27, 1);
- }
- }
-
- readToken_dot() {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (next >= 48 && next <= 57) {
- this.readNumber(true);
- return;
- }
-
- if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) {
- this.state.pos += 3;
- this.finishToken(21);
- } else {
- ++this.state.pos;
- this.finishToken(16);
- }
- }
-
- readToken_slash() {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (next === 61) {
- this.finishOp(31, 2);
- } else {
- this.finishOp(56, 1);
- }
- }
-
- readToken_interpreter() {
- if (this.state.pos !== 0 || this.length < 2) return false;
- let ch = this.input.charCodeAt(this.state.pos + 1);
- if (ch !== 33) return false;
- const start = this.state.pos;
- this.state.pos += 1;
-
- while (!isNewLine(ch) && ++this.state.pos < this.length) {
- ch = this.input.charCodeAt(this.state.pos);
- }
-
- const value = this.input.slice(start + 2, this.state.pos);
- this.finishToken(28, value);
- return true;
- }
-
- readToken_mult_modulo(code) {
- let type = code === 42 ? 55 : 54;
- let width = 1;
- let next = this.input.charCodeAt(this.state.pos + 1);
-
- if (code === 42 && next === 42) {
- width++;
- next = this.input.charCodeAt(this.state.pos + 2);
- type = 57;
- }
-
- if (next === 61 && !this.state.inType) {
- width++;
- type = code === 37 ? 33 : 30;
- }
-
- this.finishOp(type, width);
- }
-
- readToken_pipe_amp(code) {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (next === code) {
- if (this.input.charCodeAt(this.state.pos + 2) === 61) {
- this.finishOp(30, 3);
- } else {
- this.finishOp(code === 124 ? 41 : 42, 2);
- }
-
- return;
- }
-
- if (code === 124) {
- if (next === 62) {
- this.finishOp(39, 2);
- return;
- }
-
- if (this.hasPlugin("recordAndTuple") && next === 125) {
- if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
- throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType, {
- at: this.state.curPosition()
- });
- }
-
- this.state.pos += 2;
- this.finishToken(9);
- return;
- }
-
- if (this.hasPlugin("recordAndTuple") && next === 93) {
- if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
- throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType, {
- at: this.state.curPosition()
- });
- }
-
- this.state.pos += 2;
- this.finishToken(4);
- return;
- }
- }
-
- if (next === 61) {
- this.finishOp(30, 2);
- return;
- }
-
- this.finishOp(code === 124 ? 43 : 45, 1);
- }
-
- readToken_caret() {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (next === 61 && !this.state.inType) {
- this.finishOp(32, 2);
- } else if (next === 94 && this.hasPlugin(["pipelineOperator", {
- proposal: "hack",
- topicToken: "^^"
- }])) {
- this.finishOp(37, 2);
- const lookaheadCh = this.input.codePointAt(this.state.pos);
-
- if (lookaheadCh === 94) {
- throw this.unexpected();
- }
- } else {
- this.finishOp(44, 1);
- }
- }
-
- readToken_atSign() {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (next === 64 && this.hasPlugin(["pipelineOperator", {
- proposal: "hack",
- topicToken: "@@"
- }])) {
- this.finishOp(38, 2);
- } else {
- this.finishOp(26, 1);
- }
- }
-
- readToken_plus_min(code) {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (next === code) {
- this.finishOp(34, 2);
- return;
- }
-
- if (next === 61) {
- this.finishOp(30, 2);
- } else {
- this.finishOp(53, 1);
- }
- }
-
- readToken_lt() {
- const {
- pos
- } = this.state;
- const next = this.input.charCodeAt(pos + 1);
-
- if (next === 60) {
- if (this.input.charCodeAt(pos + 2) === 61) {
- this.finishOp(30, 3);
- return;
- }
-
- this.finishOp(51, 2);
- return;
- }
-
- if (next === 61) {
- this.finishOp(49, 2);
- return;
- }
-
- this.finishOp(47, 1);
- }
-
- readToken_gt() {
- const {
- pos
- } = this.state;
- const next = this.input.charCodeAt(pos + 1);
-
- if (next === 62) {
- const size = this.input.charCodeAt(pos + 2) === 62 ? 3 : 2;
-
- if (this.input.charCodeAt(pos + size) === 61) {
- this.finishOp(30, size + 1);
- return;
- }
-
- this.finishOp(52, size);
- return;
- }
-
- if (next === 61) {
- this.finishOp(49, 2);
- return;
- }
-
- this.finishOp(48, 1);
- }
-
- readToken_eq_excl(code) {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (next === 61) {
- this.finishOp(46, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2);
- return;
- }
-
- if (code === 61 && next === 62) {
- this.state.pos += 2;
- this.finishToken(19);
- return;
- }
-
- this.finishOp(code === 61 ? 29 : 35, 1);
- }
-
- readToken_question() {
- const next = this.input.charCodeAt(this.state.pos + 1);
- const next2 = this.input.charCodeAt(this.state.pos + 2);
-
- if (next === 63) {
- if (next2 === 61) {
- this.finishOp(30, 3);
- } else {
- this.finishOp(40, 2);
- }
- } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) {
- this.state.pos += 2;
- this.finishToken(18);
- } else {
- ++this.state.pos;
- this.finishToken(17);
- }
- }
-
- getTokenFromCode(code) {
- switch (code) {
- case 46:
- this.readToken_dot();
- return;
-
- case 40:
- ++this.state.pos;
- this.finishToken(10);
- return;
-
- case 41:
- ++this.state.pos;
- this.finishToken(11);
- return;
-
- case 59:
- ++this.state.pos;
- this.finishToken(13);
- return;
-
- case 44:
- ++this.state.pos;
- this.finishToken(12);
- return;
-
- case 91:
- if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
- if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
- throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType, {
- at: this.state.curPosition()
- });
- }
-
- this.state.pos += 2;
- this.finishToken(2);
- } else {
- ++this.state.pos;
- this.finishToken(0);
- }
-
- return;
-
- case 93:
- ++this.state.pos;
- this.finishToken(3);
- return;
-
- case 123:
- if (this.hasPlugin("recordAndTuple") && this.input.charCodeAt(this.state.pos + 1) === 124) {
- if (this.getPluginOption("recordAndTuple", "syntaxType") !== "bar") {
- throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType, {
- at: this.state.curPosition()
- });
- }
-
- this.state.pos += 2;
- this.finishToken(6);
- } else {
- ++this.state.pos;
- this.finishToken(5);
- }
-
- return;
-
- case 125:
- ++this.state.pos;
- this.finishToken(8);
- return;
-
- case 58:
- if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) {
- this.finishOp(15, 2);
- } else {
- ++this.state.pos;
- this.finishToken(14);
- }
-
- return;
-
- case 63:
- this.readToken_question();
- return;
-
- case 96:
- this.readTemplateToken();
- return;
-
- case 48:
- {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (next === 120 || next === 88) {
- this.readRadixNumber(16);
- return;
- }
-
- if (next === 111 || next === 79) {
- this.readRadixNumber(8);
- return;
- }
-
- if (next === 98 || next === 66) {
- this.readRadixNumber(2);
- return;
- }
- }
-
- case 49:
- case 50:
- case 51:
- case 52:
- case 53:
- case 54:
- case 55:
- case 56:
- case 57:
- this.readNumber(false);
- return;
-
- case 34:
- case 39:
- this.readString(code);
- return;
-
- case 47:
- this.readToken_slash();
- return;
-
- case 37:
- case 42:
- this.readToken_mult_modulo(code);
- return;
-
- case 124:
- case 38:
- this.readToken_pipe_amp(code);
- return;
-
- case 94:
- this.readToken_caret();
- return;
-
- case 43:
- case 45:
- this.readToken_plus_min(code);
- return;
-
- case 60:
- this.readToken_lt();
- return;
-
- case 62:
- this.readToken_gt();
- return;
-
- case 61:
- case 33:
- this.readToken_eq_excl(code);
- return;
-
- case 126:
- this.finishOp(36, 1);
- return;
-
- case 64:
- this.readToken_atSign();
- return;
-
- case 35:
- this.readToken_numberSign();
- return;
-
- case 92:
- this.readWord();
- return;
-
- default:
- if (isIdentifierStart(code)) {
- this.readWord(code);
- return;
- }
-
- }
-
- throw this.raise(Errors.InvalidOrUnexpectedToken, {
- at: this.state.curPosition(),
- unexpected: String.fromCodePoint(code)
- });
- }
-
- finishOp(type, size) {
- const str = this.input.slice(this.state.pos, this.state.pos + size);
- this.state.pos += size;
- this.finishToken(type, str);
- }
-
- readRegexp() {
- const startLoc = this.state.startLoc;
- const start = this.state.start + 1;
- let escaped, inClass;
- let {
- pos
- } = this.state;
-
- for (;; ++pos) {
- if (pos >= this.length) {
- throw this.raise(Errors.UnterminatedRegExp, {
- at: createPositionWithColumnOffset(startLoc, 1)
- });
- }
-
- const ch = this.input.charCodeAt(pos);
-
- if (isNewLine(ch)) {
- throw this.raise(Errors.UnterminatedRegExp, {
- at: createPositionWithColumnOffset(startLoc, 1)
- });
- }
-
- if (escaped) {
- escaped = false;
- } else {
- if (ch === 91) {
- inClass = true;
- } else if (ch === 93 && inClass) {
- inClass = false;
- } else if (ch === 47 && !inClass) {
- break;
- }
-
- escaped = ch === 92;
- }
- }
-
- const content = this.input.slice(start, pos);
- ++pos;
- let mods = "";
-
- const nextPos = () => createPositionWithColumnOffset(startLoc, pos + 2 - start);
-
- while (pos < this.length) {
- const cp = this.codePointAtPos(pos);
- const char = String.fromCharCode(cp);
-
- if (VALID_REGEX_FLAGS.has(cp)) {
- if (cp === 118) {
- this.expectPlugin("regexpUnicodeSets", nextPos());
-
- if (mods.includes("u")) {
- this.raise(Errors.IncompatibleRegExpUVFlags, {
- at: nextPos()
- });
- }
- } else if (cp === 117) {
- if (mods.includes("v")) {
- this.raise(Errors.IncompatibleRegExpUVFlags, {
- at: nextPos()
- });
- }
- }
-
- if (mods.includes(char)) {
- this.raise(Errors.DuplicateRegExpFlags, {
- at: nextPos()
- });
- }
- } else if (isIdentifierChar(cp) || cp === 92) {
- this.raise(Errors.MalformedRegExpFlags, {
- at: nextPos()
- });
- } else {
- break;
- }
-
- ++pos;
- mods += char;
- }
-
- this.state.pos = pos;
- this.finishToken(133, {
- pattern: content,
- flags: mods
- });
- }
-
- readInt(radix, len, forceLen, allowNumSeparator = true) {
- const start = this.state.pos;
- const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
- const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
- let invalid = false;
- let total = 0;
-
- for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {
- const code = this.input.charCodeAt(this.state.pos);
- let val;
-
- if (code === 95 && allowNumSeparator !== "bail") {
- const prev = this.input.charCodeAt(this.state.pos - 1);
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (!allowNumSeparator) {
- this.raise(Errors.NumericSeparatorInEscapeSequence, {
- at: this.state.curPosition()
- });
- } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {
- this.raise(Errors.UnexpectedNumericSeparator, {
- at: this.state.curPosition()
- });
- }
-
- ++this.state.pos;
- continue;
- }
-
- if (code >= 97) {
- val = code - 97 + 10;
- } else if (code >= 65) {
- val = code - 65 + 10;
- } else if (_isDigit(code)) {
- val = code - 48;
- } else {
- val = Infinity;
- }
-
- if (val >= radix) {
- if (this.options.errorRecovery && val <= 9) {
- val = 0;
- this.raise(Errors.InvalidDigit, {
- at: this.state.curPosition(),
- radix
- });
- } else if (forceLen) {
- val = 0;
- invalid = true;
- } else {
- break;
- }
- }
-
- ++this.state.pos;
- total = total * radix + val;
- }
-
- if (this.state.pos === start || len != null && this.state.pos - start !== len || invalid) {
- return null;
- }
-
- return total;
- }
-
- readRadixNumber(radix) {
- const startLoc = this.state.curPosition();
- let isBigInt = false;
- this.state.pos += 2;
- const val = this.readInt(radix);
-
- if (val == null) {
- this.raise(Errors.InvalidDigit, {
- at: createPositionWithColumnOffset(startLoc, 2),
- radix
- });
- }
-
- const next = this.input.charCodeAt(this.state.pos);
-
- if (next === 110) {
- ++this.state.pos;
- isBigInt = true;
- } else if (next === 109) {
- throw this.raise(Errors.InvalidDecimal, {
- at: startLoc
- });
- }
-
- if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {
- throw this.raise(Errors.NumberIdentifier, {
- at: this.state.curPosition()
- });
- }
-
- if (isBigInt) {
- const str = this.input.slice(startLoc.index, this.state.pos).replace(/[_n]/g, "");
- this.finishToken(131, str);
- return;
- }
-
- this.finishToken(130, val);
- }
-
- readNumber(startsWithDot) {
- const start = this.state.pos;
- const startLoc = this.state.curPosition();
- let isFloat = false;
- let isBigInt = false;
- let isDecimal = false;
- let hasExponent = false;
- let isOctal = false;
-
- if (!startsWithDot && this.readInt(10) === null) {
- this.raise(Errors.InvalidNumber, {
- at: this.state.curPosition()
- });
- }
-
- const hasLeadingZero = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48;
-
- if (hasLeadingZero) {
- const integer = this.input.slice(start, this.state.pos);
- this.recordStrictModeErrors(Errors.StrictOctalLiteral, {
- at: startLoc
- });
-
- if (!this.state.strict) {
- const underscorePos = integer.indexOf("_");
-
- if (underscorePos > 0) {
- this.raise(Errors.ZeroDigitNumericSeparator, {
- at: createPositionWithColumnOffset(startLoc, underscorePos)
- });
- }
- }
-
- isOctal = hasLeadingZero && !/[89]/.test(integer);
- }
-
- let next = this.input.charCodeAt(this.state.pos);
-
- if (next === 46 && !isOctal) {
- ++this.state.pos;
- this.readInt(10);
- isFloat = true;
- next = this.input.charCodeAt(this.state.pos);
- }
-
- if ((next === 69 || next === 101) && !isOctal) {
- next = this.input.charCodeAt(++this.state.pos);
-
- if (next === 43 || next === 45) {
- ++this.state.pos;
- }
-
- if (this.readInt(10) === null) {
- this.raise(Errors.InvalidOrMissingExponent, {
- at: startLoc
- });
- }
-
- isFloat = true;
- hasExponent = true;
- next = this.input.charCodeAt(this.state.pos);
- }
-
- if (next === 110) {
- if (isFloat || hasLeadingZero) {
- this.raise(Errors.InvalidBigIntLiteral, {
- at: startLoc
- });
- }
-
- ++this.state.pos;
- isBigInt = true;
- }
-
- if (next === 109) {
- this.expectPlugin("decimal", this.state.curPosition());
-
- if (hasExponent || hasLeadingZero) {
- this.raise(Errors.InvalidDecimal, {
- at: startLoc
- });
- }
-
- ++this.state.pos;
- isDecimal = true;
- }
-
- if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {
- throw this.raise(Errors.NumberIdentifier, {
- at: this.state.curPosition()
- });
- }
-
- const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, "");
-
- if (isBigInt) {
- this.finishToken(131, str);
- return;
- }
-
- if (isDecimal) {
- this.finishToken(132, str);
- return;
- }
-
- const val = isOctal ? parseInt(str, 8) : parseFloat(str);
- this.finishToken(130, val);
- }
-
- readCodePoint(throwOnInvalid) {
- const ch = this.input.charCodeAt(this.state.pos);
- let code;
-
- if (ch === 123) {
- ++this.state.pos;
- code = this.readHexChar(this.input.indexOf("}", this.state.pos) - this.state.pos, true, throwOnInvalid);
- ++this.state.pos;
-
- if (code !== null && code > 0x10ffff) {
- if (throwOnInvalid) {
- this.raise(Errors.InvalidCodePoint, {
- at: this.state.curPosition()
- });
- } else {
- return null;
- }
- }
- } else {
- code = this.readHexChar(4, false, throwOnInvalid);
- }
-
- return code;
- }
-
- readString(quote) {
- let out = "",
- chunkStart = ++this.state.pos;
-
- for (;;) {
- if (this.state.pos >= this.length) {
- throw this.raise(Errors.UnterminatedString, {
- at: this.state.startLoc
- });
- }
-
- const ch = this.input.charCodeAt(this.state.pos);
- if (ch === quote) break;
-
- if (ch === 92) {
- out += this.input.slice(chunkStart, this.state.pos);
- out += this.readEscapedChar(false);
- chunkStart = this.state.pos;
- } else if (ch === 8232 || ch === 8233) {
- ++this.state.pos;
- ++this.state.curLine;
- this.state.lineStart = this.state.pos;
- } else if (isNewLine(ch)) {
- throw this.raise(Errors.UnterminatedString, {
- at: this.state.startLoc
- });
- } else {
- ++this.state.pos;
- }
- }
-
- out += this.input.slice(chunkStart, this.state.pos++);
- this.finishToken(129, out);
- }
-
- readTemplateContinuation() {
- if (!this.match(8)) {
- this.unexpected(null, 8);
- }
-
- this.state.pos--;
- this.readTemplateToken();
- }
-
- readTemplateToken() {
- let out = "",
- chunkStart = this.state.pos,
- containsInvalid = false;
- ++this.state.pos;
-
- for (;;) {
- if (this.state.pos >= this.length) {
- throw this.raise(Errors.UnterminatedTemplate, {
- at: createPositionWithColumnOffset(this.state.startLoc, 1)
- });
- }
-
- const ch = this.input.charCodeAt(this.state.pos);
-
- if (ch === 96) {
- ++this.state.pos;
- out += this.input.slice(chunkStart, this.state.pos);
- this.finishToken(24, containsInvalid ? null : out);
- return;
- }
-
- if (ch === 36 && this.input.charCodeAt(this.state.pos + 1) === 123) {
- this.state.pos += 2;
- out += this.input.slice(chunkStart, this.state.pos);
- this.finishToken(25, containsInvalid ? null : out);
- return;
- }
-
- if (ch === 92) {
- out += this.input.slice(chunkStart, this.state.pos);
- const escaped = this.readEscapedChar(true);
-
- if (escaped === null) {
- containsInvalid = true;
- } else {
- out += escaped;
- }
-
- chunkStart = this.state.pos;
- } else if (isNewLine(ch)) {
- out += this.input.slice(chunkStart, this.state.pos);
- ++this.state.pos;
-
- switch (ch) {
- case 13:
- if (this.input.charCodeAt(this.state.pos) === 10) {
- ++this.state.pos;
- }
-
- case 10:
- out += "\n";
- break;
-
- default:
- out += String.fromCharCode(ch);
- break;
- }
-
- ++this.state.curLine;
- this.state.lineStart = this.state.pos;
- chunkStart = this.state.pos;
- } else {
- ++this.state.pos;
- }
- }
- }
-
- recordStrictModeErrors(toParseError, {
- at
- }) {
- const index = at.index;
-
- if (this.state.strict && !this.state.strictErrors.has(index)) {
- this.raise(toParseError, {
- at
- });
- } else {
- this.state.strictErrors.set(index, [toParseError, at]);
- }
- }
-
- readEscapedChar(inTemplate) {
- const throwOnInvalid = !inTemplate;
- const ch = this.input.charCodeAt(++this.state.pos);
- ++this.state.pos;
-
- switch (ch) {
- case 110:
- return "\n";
-
- case 114:
- return "\r";
-
- case 120:
- {
- const code = this.readHexChar(2, false, throwOnInvalid);
- return code === null ? null : String.fromCharCode(code);
- }
-
- case 117:
- {
- const code = this.readCodePoint(throwOnInvalid);
- return code === null ? null : String.fromCodePoint(code);
- }
-
- case 116:
- return "\t";
-
- case 98:
- return "\b";
-
- case 118:
- return "\u000b";
-
- case 102:
- return "\f";
-
- case 13:
- if (this.input.charCodeAt(this.state.pos) === 10) {
- ++this.state.pos;
- }
-
- case 10:
- this.state.lineStart = this.state.pos;
- ++this.state.curLine;
-
- case 8232:
- case 8233:
- return "";
-
- case 56:
- case 57:
- if (inTemplate) {
- return null;
- } else {
- this.recordStrictModeErrors(Errors.StrictNumericEscape, {
- at: createPositionWithColumnOffset(this.state.curPosition(), -1)
- });
- }
-
- default:
- if (ch >= 48 && ch <= 55) {
- const codePos = createPositionWithColumnOffset(this.state.curPosition(), -1);
- const match = this.input.slice(this.state.pos - 1, this.state.pos + 2).match(/^[0-7]+/);
- let octalStr = match[0];
- let octal = parseInt(octalStr, 8);
-
- if (octal > 255) {
- octalStr = octalStr.slice(0, -1);
- octal = parseInt(octalStr, 8);
- }
-
- this.state.pos += octalStr.length - 1;
- const next = this.input.charCodeAt(this.state.pos);
-
- if (octalStr !== "0" || next === 56 || next === 57) {
- if (inTemplate) {
- return null;
- } else {
- this.recordStrictModeErrors(Errors.StrictNumericEscape, {
- at: codePos
- });
- }
- }
-
- return String.fromCharCode(octal);
- }
-
- return String.fromCharCode(ch);
- }
- }
-
- readHexChar(len, forceLen, throwOnInvalid) {
- const codeLoc = this.state.curPosition();
- const n = this.readInt(16, len, forceLen, false);
-
- if (n === null) {
- if (throwOnInvalid) {
- this.raise(Errors.InvalidEscapeSequence, {
- at: codeLoc
- });
- } else {
- this.state.pos = codeLoc.index - 1;
- }
- }
-
- return n;
- }
-
- readWord1(firstCode) {
- this.state.containsEsc = false;
- let word = "";
- const start = this.state.pos;
- let chunkStart = this.state.pos;
-
- if (firstCode !== undefined) {
- this.state.pos += firstCode <= 0xffff ? 1 : 2;
- }
-
- while (this.state.pos < this.length) {
- const ch = this.codePointAtPos(this.state.pos);
-
- if (isIdentifierChar(ch)) {
- this.state.pos += ch <= 0xffff ? 1 : 2;
- } else if (ch === 92) {
- this.state.containsEsc = true;
- word += this.input.slice(chunkStart, this.state.pos);
- const escStart = this.state.curPosition();
- const identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar;
-
- if (this.input.charCodeAt(++this.state.pos) !== 117) {
- this.raise(Errors.MissingUnicodeEscape, {
- at: this.state.curPosition()
- });
- chunkStart = this.state.pos - 1;
- continue;
- }
-
- ++this.state.pos;
- const esc = this.readCodePoint(true);
-
- if (esc !== null) {
- if (!identifierCheck(esc)) {
- this.raise(Errors.EscapedCharNotAnIdentifier, {
- at: escStart
- });
- }
-
- word += String.fromCodePoint(esc);
- }
-
- chunkStart = this.state.pos;
- } else {
- break;
- }
- }
-
- return word + this.input.slice(chunkStart, this.state.pos);
- }
-
- readWord(firstCode) {
- const word = this.readWord1(firstCode);
- const type = keywords$1.get(word);
-
- if (type !== undefined) {
- this.finishToken(type, tokenLabelName(type));
- } else {
- this.finishToken(128, word);
- }
- }
-
- checkKeywordEscapes() {
- const {
- type
- } = this.state;
-
- if (tokenIsKeyword(type) && this.state.containsEsc) {
- this.raise(Errors.InvalidEscapedReservedWord, {
- at: this.state.startLoc,
- reservedWord: tokenLabelName(type)
- });
- }
- }
-
- raise(toParseError, raiseProperties) {
- const {
- at
- } = raiseProperties,
- details = _objectWithoutPropertiesLoose(raiseProperties, _excluded);
-
- const loc = at instanceof Position ? at : at.loc.start;
- const error = toParseError({
- loc,
- details
- });
- if (!this.options.errorRecovery) throw error;
- if (!this.isLookahead) this.state.errors.push(error);
- return error;
- }
-
- raiseOverwrite(toParseError, raiseProperties) {
- const {
- at
- } = raiseProperties,
- details = _objectWithoutPropertiesLoose(raiseProperties, _excluded2);
-
- const loc = at instanceof Position ? at : at.loc.start;
- const pos = loc.index;
- const errors = this.state.errors;
-
- for (let i = errors.length - 1; i >= 0; i--) {
- const error = errors[i];
-
- if (error.loc.index === pos) {
- return errors[i] = toParseError({
- loc,
- details
- });
- }
-
- if (error.loc.index < pos) break;
- }
-
- return this.raise(toParseError, raiseProperties);
- }
-
- updateContext(prevType) {}
-
- unexpected(loc, type) {
- throw this.raise(Errors.UnexpectedToken, {
- expected: type ? tokenLabelName(type) : null,
- at: loc != null ? loc : this.state.startLoc
- });
- }
-
- expectPlugin(pluginName, loc) {
- if (this.hasPlugin(pluginName)) {
- return true;
- }
-
- throw this.raise(Errors.MissingPlugin, {
- at: loc != null ? loc : this.state.startLoc,
- missingPlugin: [pluginName]
- });
- }
-
- expectOnePlugin(pluginNames) {
- if (!pluginNames.some(name => this.hasPlugin(name))) {
- throw this.raise(Errors.MissingOneOfPlugins, {
- at: this.state.startLoc,
- missingPlugin: pluginNames
- });
- }
- }
-
-}
-
-class Scope {
- constructor(flags) {
- this.var = new Set();
- this.lexical = new Set();
- this.functions = new Set();
- this.flags = flags;
- }
-
-}
-class ScopeHandler {
- constructor(parser, inModule) {
- this.parser = void 0;
- this.scopeStack = [];
- this.inModule = void 0;
- this.undefinedExports = new Map();
- this.parser = parser;
- this.inModule = inModule;
- }
-
- get inFunction() {
- return (this.currentVarScopeFlags() & SCOPE_FUNCTION) > 0;
- }
-
- get allowSuper() {
- return (this.currentThisScopeFlags() & SCOPE_SUPER) > 0;
- }
-
- get allowDirectSuper() {
- return (this.currentThisScopeFlags() & SCOPE_DIRECT_SUPER) > 0;
- }
-
- get inClass() {
- return (this.currentThisScopeFlags() & SCOPE_CLASS) > 0;
- }
-
- get inClassAndNotInNonArrowFunction() {
- const flags = this.currentThisScopeFlags();
- return (flags & SCOPE_CLASS) > 0 && (flags & SCOPE_FUNCTION) === 0;
- }
-
- get inStaticBlock() {
- for (let i = this.scopeStack.length - 1;; i--) {
- const {
- flags
- } = this.scopeStack[i];
-
- if (flags & SCOPE_STATIC_BLOCK) {
- return true;
- }
-
- if (flags & (SCOPE_VAR | SCOPE_CLASS)) {
- return false;
- }
- }
- }
-
- get inNonArrowFunction() {
- return (this.currentThisScopeFlags() & SCOPE_FUNCTION) > 0;
- }
-
- get treatFunctionsAsVar() {
- return this.treatFunctionsAsVarInScope(this.currentScope());
- }
-
- createScope(flags) {
- return new Scope(flags);
- }
-
- enter(flags) {
- this.scopeStack.push(this.createScope(flags));
- }
-
- exit() {
- this.scopeStack.pop();
- }
-
- treatFunctionsAsVarInScope(scope) {
- return !!(scope.flags & (SCOPE_FUNCTION | SCOPE_STATIC_BLOCK) || !this.parser.inModule && scope.flags & SCOPE_PROGRAM);
- }
-
- declareName(name, bindingType, loc) {
- let scope = this.currentScope();
-
- if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) {
- this.checkRedeclarationInScope(scope, name, bindingType, loc);
-
- if (bindingType & BIND_SCOPE_FUNCTION) {
- scope.functions.add(name);
- } else {
- scope.lexical.add(name);
- }
-
- if (bindingType & BIND_SCOPE_LEXICAL) {
- this.maybeExportDefined(scope, name);
- }
- } else if (bindingType & BIND_SCOPE_VAR) {
- for (let i = this.scopeStack.length - 1; i >= 0; --i) {
- scope = this.scopeStack[i];
- this.checkRedeclarationInScope(scope, name, bindingType, loc);
- scope.var.add(name);
- this.maybeExportDefined(scope, name);
- if (scope.flags & SCOPE_VAR) break;
- }
- }
-
- if (this.parser.inModule && scope.flags & SCOPE_PROGRAM) {
- this.undefinedExports.delete(name);
- }
- }
-
- maybeExportDefined(scope, name) {
- if (this.parser.inModule && scope.flags & SCOPE_PROGRAM) {
- this.undefinedExports.delete(name);
- }
- }
-
- checkRedeclarationInScope(scope, name, bindingType, loc) {
- if (this.isRedeclaredInScope(scope, name, bindingType)) {
- this.parser.raise(Errors.VarRedeclaration, {
- at: loc,
- identifierName: name
- });
- }
- }
-
- isRedeclaredInScope(scope, name, bindingType) {
- if (!(bindingType & BIND_KIND_VALUE)) return false;
-
- if (bindingType & BIND_SCOPE_LEXICAL) {
- return scope.lexical.has(name) || scope.functions.has(name) || scope.var.has(name);
- }
-
- if (bindingType & BIND_SCOPE_FUNCTION) {
- return scope.lexical.has(name) || !this.treatFunctionsAsVarInScope(scope) && scope.var.has(name);
- }
-
- return scope.lexical.has(name) && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical.values().next().value === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name);
- }
-
- checkLocalExport(id) {
- const {
- name
- } = id;
- const topLevelScope = this.scopeStack[0];
-
- if (!topLevelScope.lexical.has(name) && !topLevelScope.var.has(name) && !topLevelScope.functions.has(name)) {
- this.undefinedExports.set(name, id.loc.start);
- }
- }
-
- currentScope() {
- return this.scopeStack[this.scopeStack.length - 1];
- }
-
- currentVarScopeFlags() {
- for (let i = this.scopeStack.length - 1;; i--) {
- const {
- flags
- } = this.scopeStack[i];
-
- if (flags & SCOPE_VAR) {
- return flags;
- }
- }
- }
-
- currentThisScopeFlags() {
- for (let i = this.scopeStack.length - 1;; i--) {
- const {
- flags
- } = this.scopeStack[i];
-
- if (flags & (SCOPE_VAR | SCOPE_CLASS) && !(flags & SCOPE_ARROW)) {
- return flags;
- }
- }
- }
-
-}
-
-class FlowScope extends Scope {
- constructor(...args) {
- super(...args);
- this.declareFunctions = new Set();
- }
-
-}
-
-class FlowScopeHandler extends ScopeHandler {
- createScope(flags) {
- return new FlowScope(flags);
- }
-
- declareName(name, bindingType, loc) {
- const scope = this.currentScope();
-
- if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {
- this.checkRedeclarationInScope(scope, name, bindingType, loc);
- this.maybeExportDefined(scope, name);
- scope.declareFunctions.add(name);
- return;
- }
-
- super.declareName(...arguments);
- }
-
- isRedeclaredInScope(scope, name, bindingType) {
- if (super.isRedeclaredInScope(...arguments)) return true;
-
- if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {
- return !scope.declareFunctions.has(name) && (scope.lexical.has(name) || scope.functions.has(name));
- }
-
- return false;
- }
-
- checkLocalExport(id) {
- if (!this.scopeStack[0].declareFunctions.has(id.name)) {
- super.checkLocalExport(id);
- }
- }
-
-}
-
-class ClassScope {
- constructor() {
- this.privateNames = new Set();
- this.loneAccessors = new Map();
- this.undefinedPrivateNames = new Map();
- }
-
-}
-class ClassScopeHandler {
- constructor(parser) {
- this.parser = void 0;
- this.stack = [];
- this.undefinedPrivateNames = new Map();
- this.parser = parser;
- }
-
- current() {
- return this.stack[this.stack.length - 1];
- }
-
- enter() {
- this.stack.push(new ClassScope());
- }
-
- exit() {
- const oldClassScope = this.stack.pop();
- const current = this.current();
-
- for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) {
- if (current) {
- if (!current.undefinedPrivateNames.has(name)) {
- current.undefinedPrivateNames.set(name, loc);
- }
- } else {
- this.parser.raise(Errors.InvalidPrivateFieldResolution, {
- at: loc,
- identifierName: name
- });
- }
- }
- }
-
- declarePrivateName(name, elementType, loc) {
- const {
- privateNames,
- loneAccessors,
- undefinedPrivateNames
- } = this.current();
- let redefined = privateNames.has(name);
-
- if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) {
- const accessor = redefined && loneAccessors.get(name);
-
- if (accessor) {
- const oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC;
- const newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC;
- const oldKind = accessor & CLASS_ELEMENT_KIND_ACCESSOR;
- const newKind = elementType & CLASS_ELEMENT_KIND_ACCESSOR;
- redefined = oldKind === newKind || oldStatic !== newStatic;
- if (!redefined) loneAccessors.delete(name);
- } else if (!redefined) {
- loneAccessors.set(name, elementType);
- }
- }
-
- if (redefined) {
- this.parser.raise(Errors.PrivateNameRedeclaration, {
- at: loc,
- identifierName: name
- });
- }
-
- privateNames.add(name);
- undefinedPrivateNames.delete(name);
- }
-
- usePrivateName(name, loc) {
- let classScope;
-
- for (classScope of this.stack) {
- if (classScope.privateNames.has(name)) return;
- }
-
- if (classScope) {
- classScope.undefinedPrivateNames.set(name, loc);
- } else {
- this.parser.raise(Errors.InvalidPrivateFieldResolution, {
- at: loc,
- identifierName: name
- });
- }
- }
-
-}
-
-const kExpression = 0,
- kMaybeArrowParameterDeclaration = 1,
- kMaybeAsyncArrowParameterDeclaration = 2,
- kParameterDeclaration = 3;
-
-class ExpressionScope {
- constructor(type = kExpression) {
- this.type = void 0;
- this.type = type;
- }
-
- canBeArrowParameterDeclaration() {
- return this.type === kMaybeAsyncArrowParameterDeclaration || this.type === kMaybeArrowParameterDeclaration;
- }
-
- isCertainlyParameterDeclaration() {
- return this.type === kParameterDeclaration;
- }
-
-}
-
-class ArrowHeadParsingScope extends ExpressionScope {
- constructor(type) {
- super(type);
- this.declarationErrors = new Map();
- }
-
- recordDeclarationError(ParsingErrorClass, {
- at
- }) {
- const index = at.index;
- this.declarationErrors.set(index, [ParsingErrorClass, at]);
- }
-
- clearDeclarationError(index) {
- this.declarationErrors.delete(index);
- }
-
- iterateErrors(iterator) {
- this.declarationErrors.forEach(iterator);
- }
-
-}
-
-class ExpressionScopeHandler {
- constructor(parser) {
- this.parser = void 0;
- this.stack = [new ExpressionScope()];
- this.parser = parser;
- }
-
- enter(scope) {
- this.stack.push(scope);
- }
-
- exit() {
- this.stack.pop();
- }
-
- recordParameterInitializerError(toParseError, {
- at: node
- }) {
- const origin = {
- at: node.loc.start
- };
- const {
- stack
- } = this;
- let i = stack.length - 1;
- let scope = stack[i];
-
- while (!scope.isCertainlyParameterDeclaration()) {
- if (scope.canBeArrowParameterDeclaration()) {
- scope.recordDeclarationError(toParseError, origin);
- } else {
- return;
- }
-
- scope = stack[--i];
- }
-
- this.parser.raise(toParseError, origin);
- }
-
- recordArrowParemeterBindingError(error, {
- at: node
- }) {
- const {
- stack
- } = this;
- const scope = stack[stack.length - 1];
- const origin = {
- at: node.loc.start
- };
-
- if (scope.isCertainlyParameterDeclaration()) {
- this.parser.raise(error, origin);
- } else if (scope.canBeArrowParameterDeclaration()) {
- scope.recordDeclarationError(error, origin);
- } else {
- return;
- }
- }
-
- recordAsyncArrowParametersError({
- at
- }) {
- const {
- stack
- } = this;
- let i = stack.length - 1;
- let scope = stack[i];
-
- while (scope.canBeArrowParameterDeclaration()) {
- if (scope.type === kMaybeAsyncArrowParameterDeclaration) {
- scope.recordDeclarationError(Errors.AwaitBindingIdentifier, {
- at
- });
- }
-
- scope = stack[--i];
- }
- }
-
- validateAsPattern() {
- const {
- stack
- } = this;
- const currentScope = stack[stack.length - 1];
- if (!currentScope.canBeArrowParameterDeclaration()) return;
- currentScope.iterateErrors(([toParseError, loc]) => {
- this.parser.raise(toParseError, {
- at: loc
- });
- let i = stack.length - 2;
- let scope = stack[i];
-
- while (scope.canBeArrowParameterDeclaration()) {
- scope.clearDeclarationError(loc.index);
- scope = stack[--i];
- }
- });
- }
-
-}
-function newParameterDeclarationScope() {
- return new ExpressionScope(kParameterDeclaration);
-}
-function newArrowHeadScope() {
- return new ArrowHeadParsingScope(kMaybeArrowParameterDeclaration);
-}
-function newAsyncArrowScope() {
- return new ArrowHeadParsingScope(kMaybeAsyncArrowParameterDeclaration);
-}
-function newExpressionScope() {
- return new ExpressionScope();
-}
-
-const PARAM = 0b0000,
- PARAM_YIELD = 0b0001,
- PARAM_AWAIT = 0b0010,
- PARAM_RETURN = 0b0100,
- PARAM_IN = 0b1000;
-class ProductionParameterHandler {
- constructor() {
- this.stacks = [];
- }
-
- enter(flags) {
- this.stacks.push(flags);
- }
-
- exit() {
- this.stacks.pop();
- }
-
- currentFlags() {
- return this.stacks[this.stacks.length - 1];
- }
-
- get hasAwait() {
- return (this.currentFlags() & PARAM_AWAIT) > 0;
- }
-
- get hasYield() {
- return (this.currentFlags() & PARAM_YIELD) > 0;
- }
-
- get hasReturn() {
- return (this.currentFlags() & PARAM_RETURN) > 0;
- }
-
- get hasIn() {
- return (this.currentFlags() & PARAM_IN) > 0;
- }
-
-}
-function functionFlags(isAsync, isGenerator) {
- return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0);
-}
-
-class UtilParser extends Tokenizer {
- addExtra(node, key, value, enumerable = true) {
- if (!node) return;
- const extra = node.extra = node.extra || {};
-
- if (enumerable) {
- extra[key] = value;
- } else {
- Object.defineProperty(extra, key, {
- enumerable,
- value
- });
- }
- }
-
- isContextual(token) {
- return this.state.type === token && !this.state.containsEsc;
- }
-
- isUnparsedContextual(nameStart, name) {
- const nameEnd = nameStart + name.length;
-
- if (this.input.slice(nameStart, nameEnd) === name) {
- const nextCh = this.input.charCodeAt(nameEnd);
- return !(isIdentifierChar(nextCh) || (nextCh & 0xfc00) === 0xd800);
- }
-
- return false;
- }
-
- isLookaheadContextual(name) {
- const next = this.nextTokenStart();
- return this.isUnparsedContextual(next, name);
- }
-
- eatContextual(token) {
- if (this.isContextual(token)) {
- this.next();
- return true;
- }
-
- return false;
- }
-
- expectContextual(token, toParseError) {
- if (!this.eatContextual(token)) {
- if (toParseError != null) {
- throw this.raise(toParseError, {
- at: this.state.startLoc
- });
- }
-
- throw this.unexpected(null, token);
- }
- }
-
- canInsertSemicolon() {
- return this.match(135) || this.match(8) || this.hasPrecedingLineBreak();
- }
-
- hasPrecedingLineBreak() {
- return lineBreak.test(this.input.slice(this.state.lastTokEndLoc.index, this.state.start));
- }
-
- hasFollowingLineBreak() {
- skipWhiteSpaceToLineBreak.lastIndex = this.state.end;
- return skipWhiteSpaceToLineBreak.test(this.input);
- }
-
- isLineTerminator() {
- return this.eat(13) || this.canInsertSemicolon();
- }
-
- semicolon(allowAsi = true) {
- if (allowAsi ? this.isLineTerminator() : this.eat(13)) return;
- this.raise(Errors.MissingSemicolon, {
- at: this.state.lastTokEndLoc
- });
- }
-
- expect(type, loc) {
- this.eat(type) || this.unexpected(loc, type);
- }
-
- tryParse(fn, oldState = this.state.clone()) {
- const abortSignal = {
- node: null
- };
-
- try {
- const node = fn((node = null) => {
- abortSignal.node = node;
- throw abortSignal;
- });
-
- if (this.state.errors.length > oldState.errors.length) {
- const failState = this.state;
- this.state = oldState;
- this.state.tokensLength = failState.tokensLength;
- return {
- node,
- error: failState.errors[oldState.errors.length],
- thrown: false,
- aborted: false,
- failState
- };
- }
-
- return {
- node,
- error: null,
- thrown: false,
- aborted: false,
- failState: null
- };
- } catch (error) {
- const failState = this.state;
- this.state = oldState;
-
- if (error instanceof SyntaxError) {
- return {
- node: null,
- error,
- thrown: true,
- aborted: false,
- failState
- };
- }
-
- if (error === abortSignal) {
- return {
- node: abortSignal.node,
- error: null,
- thrown: false,
- aborted: true,
- failState
- };
- }
-
- throw error;
- }
- }
-
- checkExpressionErrors(refExpressionErrors, andThrow) {
- if (!refExpressionErrors) return false;
- const {
- shorthandAssignLoc,
- doubleProtoLoc,
- privateKeyLoc,
- optionalParametersLoc
- } = refExpressionErrors;
- const hasErrors = !!shorthandAssignLoc || !!doubleProtoLoc || !!optionalParametersLoc || !!privateKeyLoc;
-
- if (!andThrow) {
- return hasErrors;
- }
-
- if (shorthandAssignLoc != null) {
- this.raise(Errors.InvalidCoverInitializedName, {
- at: shorthandAssignLoc
- });
- }
-
- if (doubleProtoLoc != null) {
- this.raise(Errors.DuplicateProto, {
- at: doubleProtoLoc
- });
- }
-
- if (privateKeyLoc != null) {
- this.raise(Errors.UnexpectedPrivateField, {
- at: privateKeyLoc
- });
- }
-
- if (optionalParametersLoc != null) {
- this.unexpected(optionalParametersLoc);
- }
- }
-
- isLiteralPropertyName() {
- return tokenIsLiteralPropertyName(this.state.type);
- }
-
- isPrivateName(node) {
- return node.type === "PrivateName";
- }
-
- getPrivateNameSV(node) {
- return node.id.name;
- }
-
- hasPropertyAsPrivateName(node) {
- return (node.type === "MemberExpression" || node.type === "OptionalMemberExpression") && this.isPrivateName(node.property);
- }
-
- isOptionalChain(node) {
- return node.type === "OptionalMemberExpression" || node.type === "OptionalCallExpression";
- }
-
- isObjectProperty(node) {
- return node.type === "ObjectProperty";
- }
-
- isObjectMethod(node) {
- return node.type === "ObjectMethod";
- }
-
- initializeScopes(inModule = this.options.sourceType === "module") {
- const oldLabels = this.state.labels;
- this.state.labels = [];
- const oldExportedIdentifiers = this.exportedIdentifiers;
- this.exportedIdentifiers = new Set();
- const oldInModule = this.inModule;
- this.inModule = inModule;
- const oldScope = this.scope;
- const ScopeHandler = this.getScopeHandler();
- this.scope = new ScopeHandler(this, inModule);
- const oldProdParam = this.prodParam;
- this.prodParam = new ProductionParameterHandler();
- const oldClassScope = this.classScope;
- this.classScope = new ClassScopeHandler(this);
- const oldExpressionScope = this.expressionScope;
- this.expressionScope = new ExpressionScopeHandler(this);
- return () => {
- this.state.labels = oldLabels;
- this.exportedIdentifiers = oldExportedIdentifiers;
- this.inModule = oldInModule;
- this.scope = oldScope;
- this.prodParam = oldProdParam;
- this.classScope = oldClassScope;
- this.expressionScope = oldExpressionScope;
- };
- }
-
- enterInitialScopes() {
- let paramFlags = PARAM;
-
- if (this.inModule) {
- paramFlags |= PARAM_AWAIT;
- }
-
- this.scope.enter(SCOPE_PROGRAM);
- this.prodParam.enter(paramFlags);
- }
-
- checkDestructuringPrivate(refExpressionErrors) {
- const {
- privateKeyLoc
- } = refExpressionErrors;
-
- if (privateKeyLoc !== null) {
- this.expectPlugin("destructuringPrivate", privateKeyLoc);
- }
- }
-
-}
-class ExpressionErrors {
- constructor() {
- this.shorthandAssignLoc = null;
- this.doubleProtoLoc = null;
- this.privateKeyLoc = null;
- this.optionalParametersLoc = null;
- }
-
-}
-
-class Node {
- constructor(parser, pos, loc) {
- this.type = "";
- this.start = pos;
- this.end = 0;
- this.loc = new SourceLocation(loc);
- if (parser != null && parser.options.ranges) this.range = [pos, 0];
- if (parser != null && parser.filename) this.loc.filename = parser.filename;
- }
-
-}
-
-const NodePrototype = Node.prototype;
-{
- NodePrototype.__clone = function () {
- const newNode = new Node();
- const keys = Object.keys(this);
-
- for (let i = 0, length = keys.length; i < length; i++) {
- const key = keys[i];
-
- if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") {
- newNode[key] = this[key];
- }
- }
-
- return newNode;
- };
-}
-
-function clonePlaceholder(node) {
- return cloneIdentifier(node);
-}
-
-function cloneIdentifier(node) {
- const {
- type,
- start,
- end,
- loc,
- range,
- extra,
- name
- } = node;
- const cloned = Object.create(NodePrototype);
- cloned.type = type;
- cloned.start = start;
- cloned.end = end;
- cloned.loc = loc;
- cloned.range = range;
- cloned.extra = extra;
- cloned.name = name;
-
- if (type === "Placeholder") {
- cloned.expectedNode = node.expectedNode;
- }
-
- return cloned;
-}
-function cloneStringLiteral(node) {
- const {
- type,
- start,
- end,
- loc,
- range,
- extra
- } = node;
-
- if (type === "Placeholder") {
- return clonePlaceholder(node);
- }
-
- const cloned = Object.create(NodePrototype);
- cloned.type = type;
- cloned.start = start;
- cloned.end = end;
- cloned.loc = loc;
- cloned.range = range;
-
- if (node.raw !== undefined) {
- cloned.raw = node.raw;
- } else {
- cloned.extra = extra;
- }
-
- cloned.value = node.value;
- return cloned;
-}
-class NodeUtils extends UtilParser {
- startNode() {
- return new Node(this, this.state.start, this.state.startLoc);
- }
-
- startNodeAt(pos, loc) {
- return new Node(this, pos, loc);
- }
-
- startNodeAtNode(type) {
- return this.startNodeAt(type.start, type.loc.start);
- }
-
- finishNode(node, type) {
- return this.finishNodeAt(node, type, this.state.lastTokEndLoc);
- }
-
- finishNodeAt(node, type, endLoc) {
-
- node.type = type;
- node.end = endLoc.index;
- node.loc.end = endLoc;
- if (this.options.ranges) node.range[1] = endLoc.index;
- if (this.options.attachComment) this.processComment(node);
- return node;
- }
-
- resetStartLocation(node, start, startLoc) {
- node.start = start;
- node.loc.start = startLoc;
- if (this.options.ranges) node.range[0] = start;
- }
-
- resetEndLocation(node, endLoc = this.state.lastTokEndLoc) {
- node.end = endLoc.index;
- node.loc.end = endLoc;
- if (this.options.ranges) node.range[1] = endLoc.index;
- }
-
- resetStartLocationFromNode(node, locationNode) {
- this.resetStartLocation(node, locationNode.start, locationNode.loc.start);
- }
-
-}
-
-const reservedTypes = new Set(["_", "any", "bool", "boolean", "empty", "extends", "false", "interface", "mixed", "null", "number", "static", "string", "true", "typeof", "void"]);
-const FlowErrors = ParseErrorEnum`flow`(_ => ({
- AmbiguousConditionalArrow: _("Ambiguous expression: wrap the arrow functions in parentheses to disambiguate."),
- AmbiguousDeclareModuleKind: _("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module."),
- AssignReservedType: _(({
- reservedType
- }) => `Cannot overwrite reserved type ${reservedType}.`),
- DeclareClassElement: _("The `declare` modifier can only appear on class fields."),
- DeclareClassFieldInitializer: _("Initializers are not allowed in fields with the `declare` modifier."),
- DuplicateDeclareModuleExports: _("Duplicate `declare module.exports` statement."),
- EnumBooleanMemberNotInitialized: _(({
- memberName,
- enumName
- }) => `Boolean enum members need to be initialized. Use either \`${memberName} = true,\` or \`${memberName} = false,\` in enum \`${enumName}\`.`),
- EnumDuplicateMemberName: _(({
- memberName,
- enumName
- }) => `Enum member names need to be unique, but the name \`${memberName}\` has already been used before in enum \`${enumName}\`.`),
- EnumInconsistentMemberValues: _(({
- enumName
- }) => `Enum \`${enumName}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`),
- EnumInvalidExplicitType: _(({
- invalidEnumType,
- enumName
- }) => `Enum type \`${invalidEnumType}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`),
- EnumInvalidExplicitTypeUnknownSupplied: _(({
- enumName
- }) => `Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${enumName}\`.`),
- EnumInvalidMemberInitializerPrimaryType: _(({
- enumName,
- memberName,
- explicitType
- }) => `Enum \`${enumName}\` has type \`${explicitType}\`, so the initializer of \`${memberName}\` needs to be a ${explicitType} literal.`),
- EnumInvalidMemberInitializerSymbolType: _(({
- enumName,
- memberName
- }) => `Symbol enum members cannot be initialized. Use \`${memberName},\` in enum \`${enumName}\`.`),
- EnumInvalidMemberInitializerUnknownType: _(({
- enumName,
- memberName
- }) => `The enum member initializer for \`${memberName}\` needs to be a literal (either a boolean, number, or string) in enum \`${enumName}\`.`),
- EnumInvalidMemberName: _(({
- enumName,
- memberName,
- suggestion
- }) => `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${memberName}\`, consider using \`${suggestion}\`, in enum \`${enumName}\`.`),
- EnumNumberMemberNotInitialized: _(({
- enumName,
- memberName
- }) => `Number enum members need to be initialized, e.g. \`${memberName} = 1\` in enum \`${enumName}\`.`),
- EnumStringMemberInconsistentlyInitailized: _(({
- enumName
- }) => `String enum members need to consistently either all use initializers, or use no initializers, in enum \`${enumName}\`.`),
- GetterMayNotHaveThisParam: _("A getter cannot have a `this` parameter."),
- ImportTypeShorthandOnlyInPureImport: _("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements."),
- InexactInsideExact: _("Explicit inexact syntax cannot appear inside an explicit exact object type."),
- InexactInsideNonObject: _("Explicit inexact syntax cannot appear in class or interface definitions."),
- InexactVariance: _("Explicit inexact syntax cannot have variance."),
- InvalidNonTypeImportInDeclareModule: _("Imports within a `declare module` body must always be `import type` or `import typeof`."),
- MissingTypeParamDefault: _("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),
- NestedDeclareModule: _("`declare module` cannot be used inside another `declare module`."),
- NestedFlowComment: _("Cannot have a flow comment inside another flow comment."),
- PatternIsOptional: _("A binding pattern parameter cannot be optional in an implementation signature.", {
- reasonCode: "OptionalBindingPattern"
- }),
- SetterMayNotHaveThisParam: _("A setter cannot have a `this` parameter."),
- SpreadVariance: _("Spread properties cannot have variance."),
- ThisParamAnnotationRequired: _("A type annotation is required for the `this` parameter."),
- ThisParamBannedInConstructor: _("Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions."),
- ThisParamMayNotBeOptional: _("The `this` parameter cannot be optional."),
- ThisParamMustBeFirst: _("The `this` parameter must be the first function parameter."),
- ThisParamNoDefault: _("The `this` parameter may not have a default value."),
- TypeBeforeInitializer: _("Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`."),
- TypeCastInPattern: _("The type cast expression is expected to be wrapped with parenthesis."),
- UnexpectedExplicitInexactInObject: _("Explicit inexact syntax must appear at the end of an inexact object."),
- UnexpectedReservedType: _(({
- reservedType
- }) => `Unexpected reserved type ${reservedType}.`),
- UnexpectedReservedUnderscore: _("`_` is only allowed as a type argument to call or new."),
- UnexpectedSpaceBetweenModuloChecks: _("Spaces between `%` and `checks` are not allowed here."),
- UnexpectedSpreadType: _("Spread operator cannot appear in class or interface definitions."),
- UnexpectedSubtractionOperand: _('Unexpected token, expected "number" or "bigint".'),
- UnexpectedTokenAfterTypeParameter: _("Expected an arrow function after this type parameter declaration."),
- UnexpectedTypeParameterBeforeAsyncArrowFunction: _("Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`."),
- UnsupportedDeclareExportKind: _(({
- unsupportedExportKind,
- suggestion
- }) => `\`declare export ${unsupportedExportKind}\` is not supported. Use \`${suggestion}\` instead.`),
- UnsupportedStatementInDeclareModule: _("Only declares and type imports are allowed inside declare module."),
- UnterminatedFlowComment: _("Unterminated flow-comment.")
-}));
-
-function isEsModuleType(bodyElement) {
- return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration");
-}
-
-function hasTypeImportKind(node) {
- return node.importKind === "type" || node.importKind === "typeof";
-}
-
-function isMaybeDefaultImport(type) {
- return tokenIsKeywordOrIdentifier(type) && type !== 97;
-}
-
-const exportSuggestions = {
- const: "declare export var",
- let: "declare export var",
- type: "export type",
- interface: "export interface"
-};
-
-function partition(list, test) {
- const list1 = [];
- const list2 = [];
-
- for (let i = 0; i < list.length; i++) {
- (test(list[i], i, list) ? list1 : list2).push(list[i]);
- }
-
- return [list1, list2];
-}
-
-const FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/;
-var flow = (superClass => class extends superClass {
- constructor(...args) {
- super(...args);
- this.flowPragma = undefined;
- }
-
- getScopeHandler() {
- return FlowScopeHandler;
- }
-
- shouldParseTypes() {
- return this.getPluginOption("flow", "all") || this.flowPragma === "flow";
- }
-
- shouldParseEnums() {
- return !!this.getPluginOption("flow", "enums");
- }
-
- finishToken(type, val) {
- if (type !== 129 && type !== 13 && type !== 28) {
- if (this.flowPragma === undefined) {
- this.flowPragma = null;
- }
- }
-
- return super.finishToken(type, val);
- }
-
- addComment(comment) {
- if (this.flowPragma === undefined) {
- const matches = FLOW_PRAGMA_REGEX.exec(comment.value);
-
- if (!matches) ; else if (matches[1] === "flow") {
- this.flowPragma = "flow";
- } else if (matches[1] === "noflow") {
- this.flowPragma = "noflow";
- } else {
- throw new Error("Unexpected flow pragma");
- }
- }
-
- return super.addComment(comment);
- }
-
- flowParseTypeInitialiser(tok) {
- const oldInType = this.state.inType;
- this.state.inType = true;
- this.expect(tok || 14);
- const type = this.flowParseType();
- this.state.inType = oldInType;
- return type;
- }
-
- flowParsePredicate() {
- const node = this.startNode();
- const moduloLoc = this.state.startLoc;
- this.next();
- this.expectContextual(107);
-
- if (this.state.lastTokStart > moduloLoc.index + 1) {
- this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, {
- at: moduloLoc
- });
- }
-
- if (this.eat(10)) {
- node.value = this.parseExpression();
- this.expect(11);
- return this.finishNode(node, "DeclaredPredicate");
- } else {
- return this.finishNode(node, "InferredPredicate");
- }
- }
-
- flowParseTypeAndPredicateInitialiser() {
- const oldInType = this.state.inType;
- this.state.inType = true;
- this.expect(14);
- let type = null;
- let predicate = null;
-
- if (this.match(54)) {
- this.state.inType = oldInType;
- predicate = this.flowParsePredicate();
- } else {
- type = this.flowParseType();
- this.state.inType = oldInType;
-
- if (this.match(54)) {
- predicate = this.flowParsePredicate();
- }
- }
-
- return [type, predicate];
- }
-
- flowParseDeclareClass(node) {
- this.next();
- this.flowParseInterfaceish(node, true);
- return this.finishNode(node, "DeclareClass");
- }
-
- flowParseDeclareFunction(node) {
- this.next();
- const id = node.id = this.parseIdentifier();
- const typeNode = this.startNode();
- const typeContainer = this.startNode();
-
- if (this.match(47)) {
- typeNode.typeParameters = this.flowParseTypeParameterDeclaration();
- } else {
- typeNode.typeParameters = null;
- }
-
- this.expect(10);
- const tmp = this.flowParseFunctionTypeParams();
- typeNode.params = tmp.params;
- typeNode.rest = tmp.rest;
- typeNode.this = tmp._this;
- this.expect(11);
- [typeNode.returnType, node.predicate] = this.flowParseTypeAndPredicateInitialiser();
- typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation");
- id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation");
- this.resetEndLocation(id);
- this.semicolon();
- this.scope.declareName(node.id.name, BIND_FLOW_DECLARE_FN, node.id.loc.start);
- return this.finishNode(node, "DeclareFunction");
- }
-
- flowParseDeclare(node, insideModule) {
- if (this.match(80)) {
- return this.flowParseDeclareClass(node);
- } else if (this.match(68)) {
- return this.flowParseDeclareFunction(node);
- } else if (this.match(74)) {
- return this.flowParseDeclareVariable(node);
- } else if (this.eatContextual(123)) {
- if (this.match(16)) {
- return this.flowParseDeclareModuleExports(node);
- } else {
- if (insideModule) {
- this.raise(FlowErrors.NestedDeclareModule, {
- at: this.state.lastTokStartLoc
- });
- }
-
- return this.flowParseDeclareModule(node);
- }
- } else if (this.isContextual(126)) {
- return this.flowParseDeclareTypeAlias(node);
- } else if (this.isContextual(127)) {
- return this.flowParseDeclareOpaqueType(node);
- } else if (this.isContextual(125)) {
- return this.flowParseDeclareInterface(node);
- } else if (this.match(82)) {
- return this.flowParseDeclareExportDeclaration(node, insideModule);
- } else {
- throw this.unexpected();
- }
- }
-
- flowParseDeclareVariable(node) {
- this.next();
- node.id = this.flowParseTypeAnnotatableIdentifier(true);
- this.scope.declareName(node.id.name, BIND_VAR, node.id.loc.start);
- this.semicolon();
- return this.finishNode(node, "DeclareVariable");
- }
-
- flowParseDeclareModule(node) {
- this.scope.enter(SCOPE_OTHER);
-
- if (this.match(129)) {
- node.id = this.parseExprAtom();
- } else {
- node.id = this.parseIdentifier();
- }
-
- const bodyNode = node.body = this.startNode();
- const body = bodyNode.body = [];
- this.expect(5);
-
- while (!this.match(8)) {
- let bodyNode = this.startNode();
-
- if (this.match(83)) {
- this.next();
-
- if (!this.isContextual(126) && !this.match(87)) {
- this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, {
- at: this.state.lastTokStartLoc
- });
- }
-
- this.parseImport(bodyNode);
- } else {
- this.expectContextual(121, FlowErrors.UnsupportedStatementInDeclareModule);
- bodyNode = this.flowParseDeclare(bodyNode, true);
- }
-
- body.push(bodyNode);
- }
-
- this.scope.exit();
- this.expect(8);
- this.finishNode(bodyNode, "BlockStatement");
- let kind = null;
- let hasModuleExport = false;
- body.forEach(bodyElement => {
- if (isEsModuleType(bodyElement)) {
- if (kind === "CommonJS") {
- this.raise(FlowErrors.AmbiguousDeclareModuleKind, {
- at: bodyElement
- });
- }
-
- kind = "ES";
- } else if (bodyElement.type === "DeclareModuleExports") {
- if (hasModuleExport) {
- this.raise(FlowErrors.DuplicateDeclareModuleExports, {
- at: bodyElement
- });
- }
-
- if (kind === "ES") {
- this.raise(FlowErrors.AmbiguousDeclareModuleKind, {
- at: bodyElement
- });
- }
-
- kind = "CommonJS";
- hasModuleExport = true;
- }
- });
- node.kind = kind || "CommonJS";
- return this.finishNode(node, "DeclareModule");
- }
-
- flowParseDeclareExportDeclaration(node, insideModule) {
- this.expect(82);
-
- if (this.eat(65)) {
- if (this.match(68) || this.match(80)) {
- node.declaration = this.flowParseDeclare(this.startNode());
- } else {
- node.declaration = this.flowParseType();
- this.semicolon();
- }
-
- node.default = true;
- return this.finishNode(node, "DeclareExportDeclaration");
- } else {
- if (this.match(75) || this.isLet() || (this.isContextual(126) || this.isContextual(125)) && !insideModule) {
- const label = this.state.value;
- throw this.raise(FlowErrors.UnsupportedDeclareExportKind, {
- at: this.state.startLoc,
- unsupportedExportKind: label,
- suggestion: exportSuggestions[label]
- });
- }
-
- if (this.match(74) || this.match(68) || this.match(80) || this.isContextual(127)) {
- node.declaration = this.flowParseDeclare(this.startNode());
- node.default = false;
- return this.finishNode(node, "DeclareExportDeclaration");
- } else if (this.match(55) || this.match(5) || this.isContextual(125) || this.isContextual(126) || this.isContextual(127)) {
- node = this.parseExport(node);
-
- if (node.type === "ExportNamedDeclaration") {
- node.type = "ExportDeclaration";
- node.default = false;
- delete node.exportKind;
- }
-
- node.type = "Declare" + node.type;
- return node;
- }
- }
-
- throw this.unexpected();
- }
-
- flowParseDeclareModuleExports(node) {
- this.next();
- this.expectContextual(108);
- node.typeAnnotation = this.flowParseTypeAnnotation();
- this.semicolon();
- return this.finishNode(node, "DeclareModuleExports");
- }
-
- flowParseDeclareTypeAlias(node) {
- this.next();
- this.flowParseTypeAlias(node);
- node.type = "DeclareTypeAlias";
- return node;
- }
-
- flowParseDeclareOpaqueType(node) {
- this.next();
- this.flowParseOpaqueType(node, true);
- node.type = "DeclareOpaqueType";
- return node;
- }
-
- flowParseDeclareInterface(node) {
- this.next();
- this.flowParseInterfaceish(node);
- return this.finishNode(node, "DeclareInterface");
- }
-
- flowParseInterfaceish(node, isClass = false) {
- node.id = this.flowParseRestrictedIdentifier(!isClass, true);
- this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.loc.start);
-
- if (this.match(47)) {
- node.typeParameters = this.flowParseTypeParameterDeclaration();
- } else {
- node.typeParameters = null;
- }
-
- node.extends = [];
- node.implements = [];
- node.mixins = [];
-
- if (this.eat(81)) {
- do {
- node.extends.push(this.flowParseInterfaceExtends());
- } while (!isClass && this.eat(12));
- }
-
- if (this.isContextual(114)) {
- this.next();
-
- do {
- node.mixins.push(this.flowParseInterfaceExtends());
- } while (this.eat(12));
- }
-
- if (this.isContextual(110)) {
- this.next();
-
- do {
- node.implements.push(this.flowParseInterfaceExtends());
- } while (this.eat(12));
- }
-
- node.body = this.flowParseObjectType({
- allowStatic: isClass,
- allowExact: false,
- allowSpread: false,
- allowProto: isClass,
- allowInexact: false
- });
- }
-
- flowParseInterfaceExtends() {
- const node = this.startNode();
- node.id = this.flowParseQualifiedTypeIdentifier();
-
- if (this.match(47)) {
- node.typeParameters = this.flowParseTypeParameterInstantiation();
- } else {
- node.typeParameters = null;
- }
-
- return this.finishNode(node, "InterfaceExtends");
- }
-
- flowParseInterface(node) {
- this.flowParseInterfaceish(node);
- return this.finishNode(node, "InterfaceDeclaration");
- }
-
- checkNotUnderscore(word) {
- if (word === "_") {
- this.raise(FlowErrors.UnexpectedReservedUnderscore, {
- at: this.state.startLoc
- });
- }
- }
-
- checkReservedType(word, startLoc, declaration) {
- if (!reservedTypes.has(word)) return;
- this.raise(declaration ? FlowErrors.AssignReservedType : FlowErrors.UnexpectedReservedType, {
- at: startLoc,
- reservedType: word
- });
- }
-
- flowParseRestrictedIdentifier(liberal, declaration) {
- this.checkReservedType(this.state.value, this.state.startLoc, declaration);
- return this.parseIdentifier(liberal);
- }
-
- flowParseTypeAlias(node) {
- node.id = this.flowParseRestrictedIdentifier(false, true);
- this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start);
-
- if (this.match(47)) {
- node.typeParameters = this.flowParseTypeParameterDeclaration();
- } else {
- node.typeParameters = null;
- }
-
- node.right = this.flowParseTypeInitialiser(29);
- this.semicolon();
- return this.finishNode(node, "TypeAlias");
- }
-
- flowParseOpaqueType(node, declare) {
- this.expectContextual(126);
- node.id = this.flowParseRestrictedIdentifier(true, true);
- this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start);
-
- if (this.match(47)) {
- node.typeParameters = this.flowParseTypeParameterDeclaration();
- } else {
- node.typeParameters = null;
- }
-
- node.supertype = null;
-
- if (this.match(14)) {
- node.supertype = this.flowParseTypeInitialiser(14);
- }
-
- node.impltype = null;
-
- if (!declare) {
- node.impltype = this.flowParseTypeInitialiser(29);
- }
-
- this.semicolon();
- return this.finishNode(node, "OpaqueType");
- }
-
- flowParseTypeParameter(requireDefault = false) {
- const nodeStartLoc = this.state.startLoc;
- const node = this.startNode();
- const variance = this.flowParseVariance();
- const ident = this.flowParseTypeAnnotatableIdentifier();
- node.name = ident.name;
- node.variance = variance;
- node.bound = ident.typeAnnotation;
-
- if (this.match(29)) {
- this.eat(29);
- node.default = this.flowParseType();
- } else {
- if (requireDefault) {
- this.raise(FlowErrors.MissingTypeParamDefault, {
- at: nodeStartLoc
- });
- }
- }
-
- return this.finishNode(node, "TypeParameter");
- }
-
- flowParseTypeParameterDeclaration() {
- const oldInType = this.state.inType;
- const node = this.startNode();
- node.params = [];
- this.state.inType = true;
-
- if (this.match(47) || this.match(138)) {
- this.next();
- } else {
- this.unexpected();
- }
-
- let defaultRequired = false;
-
- do {
- const typeParameter = this.flowParseTypeParameter(defaultRequired);
- node.params.push(typeParameter);
-
- if (typeParameter.default) {
- defaultRequired = true;
- }
-
- if (!this.match(48)) {
- this.expect(12);
- }
- } while (!this.match(48));
-
- this.expect(48);
- this.state.inType = oldInType;
- return this.finishNode(node, "TypeParameterDeclaration");
- }
-
- flowParseTypeParameterInstantiation() {
- const node = this.startNode();
- const oldInType = this.state.inType;
- node.params = [];
- this.state.inType = true;
- this.expect(47);
- const oldNoAnonFunctionType = this.state.noAnonFunctionType;
- this.state.noAnonFunctionType = false;
-
- while (!this.match(48)) {
- node.params.push(this.flowParseType());
-
- if (!this.match(48)) {
- this.expect(12);
- }
- }
-
- this.state.noAnonFunctionType = oldNoAnonFunctionType;
- this.expect(48);
- this.state.inType = oldInType;
- return this.finishNode(node, "TypeParameterInstantiation");
- }
-
- flowParseTypeParameterInstantiationCallOrNew() {
- const node = this.startNode();
- const oldInType = this.state.inType;
- node.params = [];
- this.state.inType = true;
- this.expect(47);
-
- while (!this.match(48)) {
- node.params.push(this.flowParseTypeOrImplicitInstantiation());
-
- if (!this.match(48)) {
- this.expect(12);
- }
- }
-
- this.expect(48);
- this.state.inType = oldInType;
- return this.finishNode(node, "TypeParameterInstantiation");
- }
-
- flowParseInterfaceType() {
- const node = this.startNode();
- this.expectContextual(125);
- node.extends = [];
-
- if (this.eat(81)) {
- do {
- node.extends.push(this.flowParseInterfaceExtends());
- } while (this.eat(12));
- }
-
- node.body = this.flowParseObjectType({
- allowStatic: false,
- allowExact: false,
- allowSpread: false,
- allowProto: false,
- allowInexact: false
- });
- return this.finishNode(node, "InterfaceTypeAnnotation");
- }
-
- flowParseObjectPropertyKey() {
- return this.match(130) || this.match(129) ? this.parseExprAtom() : this.parseIdentifier(true);
- }
-
- flowParseObjectTypeIndexer(node, isStatic, variance) {
- node.static = isStatic;
-
- if (this.lookahead().type === 14) {
- node.id = this.flowParseObjectPropertyKey();
- node.key = this.flowParseTypeInitialiser();
- } else {
- node.id = null;
- node.key = this.flowParseType();
- }
-
- this.expect(3);
- node.value = this.flowParseTypeInitialiser();
- node.variance = variance;
- return this.finishNode(node, "ObjectTypeIndexer");
- }
-
- flowParseObjectTypeInternalSlot(node, isStatic) {
- node.static = isStatic;
- node.id = this.flowParseObjectPropertyKey();
- this.expect(3);
- this.expect(3);
-
- if (this.match(47) || this.match(10)) {
- node.method = true;
- node.optional = false;
- node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start));
- } else {
- node.method = false;
-
- if (this.eat(17)) {
- node.optional = true;
- }
-
- node.value = this.flowParseTypeInitialiser();
- }
-
- return this.finishNode(node, "ObjectTypeInternalSlot");
- }
-
- flowParseObjectTypeMethodish(node) {
- node.params = [];
- node.rest = null;
- node.typeParameters = null;
- node.this = null;
-
- if (this.match(47)) {
- node.typeParameters = this.flowParseTypeParameterDeclaration();
- }
-
- this.expect(10);
-
- if (this.match(78)) {
- node.this = this.flowParseFunctionTypeParam(true);
- node.this.name = null;
-
- if (!this.match(11)) {
- this.expect(12);
- }
- }
-
- while (!this.match(11) && !this.match(21)) {
- node.params.push(this.flowParseFunctionTypeParam(false));
-
- if (!this.match(11)) {
- this.expect(12);
- }
- }
-
- if (this.eat(21)) {
- node.rest = this.flowParseFunctionTypeParam(false);
- }
-
- this.expect(11);
- node.returnType = this.flowParseTypeInitialiser();
- return this.finishNode(node, "FunctionTypeAnnotation");
- }
-
- flowParseObjectTypeCallProperty(node, isStatic) {
- const valueNode = this.startNode();
- node.static = isStatic;
- node.value = this.flowParseObjectTypeMethodish(valueNode);
- return this.finishNode(node, "ObjectTypeCallProperty");
- }
-
- flowParseObjectType({
- allowStatic,
- allowExact,
- allowSpread,
- allowProto,
- allowInexact
- }) {
- const oldInType = this.state.inType;
- this.state.inType = true;
- const nodeStart = this.startNode();
- nodeStart.callProperties = [];
- nodeStart.properties = [];
- nodeStart.indexers = [];
- nodeStart.internalSlots = [];
- let endDelim;
- let exact;
- let inexact = false;
-
- if (allowExact && this.match(6)) {
- this.expect(6);
- endDelim = 9;
- exact = true;
- } else {
- this.expect(5);
- endDelim = 8;
- exact = false;
- }
-
- nodeStart.exact = exact;
-
- while (!this.match(endDelim)) {
- let isStatic = false;
- let protoStartLoc = null;
- let inexactStartLoc = null;
- const node = this.startNode();
-
- if (allowProto && this.isContextual(115)) {
- const lookahead = this.lookahead();
-
- if (lookahead.type !== 14 && lookahead.type !== 17) {
- this.next();
- protoStartLoc = this.state.startLoc;
- allowStatic = false;
- }
- }
-
- if (allowStatic && this.isContextual(104)) {
- const lookahead = this.lookahead();
-
- if (lookahead.type !== 14 && lookahead.type !== 17) {
- this.next();
- isStatic = true;
- }
- }
-
- const variance = this.flowParseVariance();
-
- if (this.eat(0)) {
- if (protoStartLoc != null) {
- this.unexpected(protoStartLoc);
- }
-
- if (this.eat(0)) {
- if (variance) {
- this.unexpected(variance.loc.start);
- }
-
- nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic));
- } else {
- nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance));
- }
- } else if (this.match(10) || this.match(47)) {
- if (protoStartLoc != null) {
- this.unexpected(protoStartLoc);
- }
-
- if (variance) {
- this.unexpected(variance.loc.start);
- }
-
- nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic));
- } else {
- let kind = "init";
-
- if (this.isContextual(98) || this.isContextual(103)) {
- const lookahead = this.lookahead();
-
- if (tokenIsLiteralPropertyName(lookahead.type)) {
- kind = this.state.value;
- this.next();
- }
- }
-
- const propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact != null ? allowInexact : !exact);
-
- if (propOrInexact === null) {
- inexact = true;
- inexactStartLoc = this.state.lastTokStartLoc;
- } else {
- nodeStart.properties.push(propOrInexact);
- }
- }
-
- this.flowObjectTypeSemicolon();
-
- if (inexactStartLoc && !this.match(8) && !this.match(9)) {
- this.raise(FlowErrors.UnexpectedExplicitInexactInObject, {
- at: inexactStartLoc
- });
- }
- }
-
- this.expect(endDelim);
-
- if (allowSpread) {
- nodeStart.inexact = inexact;
- }
-
- const out = this.finishNode(nodeStart, "ObjectTypeAnnotation");
- this.state.inType = oldInType;
- return out;
- }
-
- flowParseObjectTypeProperty(node, isStatic, protoStartLoc, variance, kind, allowSpread, allowInexact) {
- if (this.eat(21)) {
- const isInexactToken = this.match(12) || this.match(13) || this.match(8) || this.match(9);
-
- if (isInexactToken) {
- if (!allowSpread) {
- this.raise(FlowErrors.InexactInsideNonObject, {
- at: this.state.lastTokStartLoc
- });
- } else if (!allowInexact) {
- this.raise(FlowErrors.InexactInsideExact, {
- at: this.state.lastTokStartLoc
- });
- }
-
- if (variance) {
- this.raise(FlowErrors.InexactVariance, {
- at: variance
- });
- }
-
- return null;
- }
-
- if (!allowSpread) {
- this.raise(FlowErrors.UnexpectedSpreadType, {
- at: this.state.lastTokStartLoc
- });
- }
-
- if (protoStartLoc != null) {
- this.unexpected(protoStartLoc);
- }
-
- if (variance) {
- this.raise(FlowErrors.SpreadVariance, {
- at: variance
- });
- }
-
- node.argument = this.flowParseType();
- return this.finishNode(node, "ObjectTypeSpreadProperty");
- } else {
- node.key = this.flowParseObjectPropertyKey();
- node.static = isStatic;
- node.proto = protoStartLoc != null;
- node.kind = kind;
- let optional = false;
-
- if (this.match(47) || this.match(10)) {
- node.method = true;
-
- if (protoStartLoc != null) {
- this.unexpected(protoStartLoc);
- }
-
- if (variance) {
- this.unexpected(variance.loc.start);
- }
-
- node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start));
-
- if (kind === "get" || kind === "set") {
- this.flowCheckGetterSetterParams(node);
- }
-
- if (!allowSpread && node.key.name === "constructor" && node.value.this) {
- this.raise(FlowErrors.ThisParamBannedInConstructor, {
- at: node.value.this
- });
- }
- } else {
- if (kind !== "init") this.unexpected();
- node.method = false;
-
- if (this.eat(17)) {
- optional = true;
- }
-
- node.value = this.flowParseTypeInitialiser();
- node.variance = variance;
- }
-
- node.optional = optional;
- return this.finishNode(node, "ObjectTypeProperty");
- }
- }
-
- flowCheckGetterSetterParams(property) {
- const paramCount = property.kind === "get" ? 0 : 1;
- const length = property.value.params.length + (property.value.rest ? 1 : 0);
-
- if (property.value.this) {
- this.raise(property.kind === "get" ? FlowErrors.GetterMayNotHaveThisParam : FlowErrors.SetterMayNotHaveThisParam, {
- at: property.value.this
- });
- }
-
- if (length !== paramCount) {
- this.raise(property.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, {
- at: property
- });
- }
-
- if (property.kind === "set" && property.value.rest) {
- this.raise(Errors.BadSetterRestParameter, {
- at: property
- });
- }
- }
-
- flowObjectTypeSemicolon() {
- if (!this.eat(13) && !this.eat(12) && !this.match(8) && !this.match(9)) {
- this.unexpected();
- }
- }
-
- flowParseQualifiedTypeIdentifier(startPos, startLoc, id) {
- startPos = startPos || this.state.start;
- startLoc = startLoc || this.state.startLoc;
- let node = id || this.flowParseRestrictedIdentifier(true);
-
- while (this.eat(16)) {
- const node2 = this.startNodeAt(startPos, startLoc);
- node2.qualification = node;
- node2.id = this.flowParseRestrictedIdentifier(true);
- node = this.finishNode(node2, "QualifiedTypeIdentifier");
- }
-
- return node;
- }
-
- flowParseGenericType(startPos, startLoc, id) {
- const node = this.startNodeAt(startPos, startLoc);
- node.typeParameters = null;
- node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id);
-
- if (this.match(47)) {
- node.typeParameters = this.flowParseTypeParameterInstantiation();
- }
-
- return this.finishNode(node, "GenericTypeAnnotation");
- }
-
- flowParseTypeofType() {
- const node = this.startNode();
- this.expect(87);
- node.argument = this.flowParsePrimaryType();
- return this.finishNode(node, "TypeofTypeAnnotation");
- }
-
- flowParseTupleType() {
- const node = this.startNode();
- node.types = [];
- this.expect(0);
-
- while (this.state.pos < this.length && !this.match(3)) {
- node.types.push(this.flowParseType());
- if (this.match(3)) break;
- this.expect(12);
- }
-
- this.expect(3);
- return this.finishNode(node, "TupleTypeAnnotation");
- }
-
- flowParseFunctionTypeParam(first) {
- let name = null;
- let optional = false;
- let typeAnnotation = null;
- const node = this.startNode();
- const lh = this.lookahead();
- const isThis = this.state.type === 78;
-
- if (lh.type === 14 || lh.type === 17) {
- if (isThis && !first) {
- this.raise(FlowErrors.ThisParamMustBeFirst, {
- at: node
- });
- }
-
- name = this.parseIdentifier(isThis);
-
- if (this.eat(17)) {
- optional = true;
-
- if (isThis) {
- this.raise(FlowErrors.ThisParamMayNotBeOptional, {
- at: node
- });
- }
- }
-
- typeAnnotation = this.flowParseTypeInitialiser();
- } else {
- typeAnnotation = this.flowParseType();
- }
-
- node.name = name;
- node.optional = optional;
- node.typeAnnotation = typeAnnotation;
- return this.finishNode(node, "FunctionTypeParam");
- }
-
- reinterpretTypeAsFunctionTypeParam(type) {
- const node = this.startNodeAt(type.start, type.loc.start);
- node.name = null;
- node.optional = false;
- node.typeAnnotation = type;
- return this.finishNode(node, "FunctionTypeParam");
- }
-
- flowParseFunctionTypeParams(params = []) {
- let rest = null;
- let _this = null;
-
- if (this.match(78)) {
- _this = this.flowParseFunctionTypeParam(true);
- _this.name = null;
-
- if (!this.match(11)) {
- this.expect(12);
- }
- }
-
- while (!this.match(11) && !this.match(21)) {
- params.push(this.flowParseFunctionTypeParam(false));
-
- if (!this.match(11)) {
- this.expect(12);
- }
- }
-
- if (this.eat(21)) {
- rest = this.flowParseFunctionTypeParam(false);
- }
-
- return {
- params,
- rest,
- _this
- };
- }
-
- flowIdentToTypeAnnotation(startPos, startLoc, node, id) {
- switch (id.name) {
- case "any":
- return this.finishNode(node, "AnyTypeAnnotation");
-
- case "bool":
- case "boolean":
- return this.finishNode(node, "BooleanTypeAnnotation");
-
- case "mixed":
- return this.finishNode(node, "MixedTypeAnnotation");
-
- case "empty":
- return this.finishNode(node, "EmptyTypeAnnotation");
-
- case "number":
- return this.finishNode(node, "NumberTypeAnnotation");
-
- case "string":
- return this.finishNode(node, "StringTypeAnnotation");
-
- case "symbol":
- return this.finishNode(node, "SymbolTypeAnnotation");
-
- default:
- this.checkNotUnderscore(id.name);
- return this.flowParseGenericType(startPos, startLoc, id);
- }
- }
-
- flowParsePrimaryType() {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- const node = this.startNode();
- let tmp;
- let type;
- let isGroupedType = false;
- const oldNoAnonFunctionType = this.state.noAnonFunctionType;
-
- switch (this.state.type) {
- case 5:
- return this.flowParseObjectType({
- allowStatic: false,
- allowExact: false,
- allowSpread: true,
- allowProto: false,
- allowInexact: true
- });
-
- case 6:
- return this.flowParseObjectType({
- allowStatic: false,
- allowExact: true,
- allowSpread: true,
- allowProto: false,
- allowInexact: false
- });
-
- case 0:
- this.state.noAnonFunctionType = false;
- type = this.flowParseTupleType();
- this.state.noAnonFunctionType = oldNoAnonFunctionType;
- return type;
-
- case 47:
- node.typeParameters = this.flowParseTypeParameterDeclaration();
- this.expect(10);
- tmp = this.flowParseFunctionTypeParams();
- node.params = tmp.params;
- node.rest = tmp.rest;
- node.this = tmp._this;
- this.expect(11);
- this.expect(19);
- node.returnType = this.flowParseType();
- return this.finishNode(node, "FunctionTypeAnnotation");
-
- case 10:
- this.next();
-
- if (!this.match(11) && !this.match(21)) {
- if (tokenIsIdentifier(this.state.type) || this.match(78)) {
- const token = this.lookahead().type;
- isGroupedType = token !== 17 && token !== 14;
- } else {
- isGroupedType = true;
- }
- }
-
- if (isGroupedType) {
- this.state.noAnonFunctionType = false;
- type = this.flowParseType();
- this.state.noAnonFunctionType = oldNoAnonFunctionType;
-
- if (this.state.noAnonFunctionType || !(this.match(12) || this.match(11) && this.lookahead().type === 19)) {
- this.expect(11);
- return type;
- } else {
- this.eat(12);
- }
- }
-
- if (type) {
- tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]);
- } else {
- tmp = this.flowParseFunctionTypeParams();
- }
-
- node.params = tmp.params;
- node.rest = tmp.rest;
- node.this = tmp._this;
- this.expect(11);
- this.expect(19);
- node.returnType = this.flowParseType();
- node.typeParameters = null;
- return this.finishNode(node, "FunctionTypeAnnotation");
-
- case 129:
- return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation");
-
- case 85:
- case 86:
- node.value = this.match(85);
- this.next();
- return this.finishNode(node, "BooleanLiteralTypeAnnotation");
-
- case 53:
- if (this.state.value === "-") {
- this.next();
-
- if (this.match(130)) {
- return this.parseLiteralAtNode(-this.state.value, "NumberLiteralTypeAnnotation", node);
- }
-
- if (this.match(131)) {
- return this.parseLiteralAtNode(-this.state.value, "BigIntLiteralTypeAnnotation", node);
- }
-
- throw this.raise(FlowErrors.UnexpectedSubtractionOperand, {
- at: this.state.startLoc
- });
- }
-
- throw this.unexpected();
-
- case 130:
- return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation");
-
- case 131:
- return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation");
-
- case 88:
- this.next();
- return this.finishNode(node, "VoidTypeAnnotation");
-
- case 84:
- this.next();
- return this.finishNode(node, "NullLiteralTypeAnnotation");
-
- case 78:
- this.next();
- return this.finishNode(node, "ThisTypeAnnotation");
-
- case 55:
- this.next();
- return this.finishNode(node, "ExistsTypeAnnotation");
-
- case 87:
- return this.flowParseTypeofType();
-
- default:
- if (tokenIsKeyword(this.state.type)) {
- const label = tokenLabelName(this.state.type);
- this.next();
- return super.createIdentifier(node, label);
- } else if (tokenIsIdentifier(this.state.type)) {
- if (this.isContextual(125)) {
- return this.flowParseInterfaceType();
- }
-
- return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdentifier());
- }
-
- }
-
- throw this.unexpected();
- }
-
- flowParsePostfixType() {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- let type = this.flowParsePrimaryType();
- let seenOptionalIndexedAccess = false;
-
- while ((this.match(0) || this.match(18)) && !this.canInsertSemicolon()) {
- const node = this.startNodeAt(startPos, startLoc);
- const optional = this.eat(18);
- seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional;
- this.expect(0);
-
- if (!optional && this.match(3)) {
- node.elementType = type;
- this.next();
- type = this.finishNode(node, "ArrayTypeAnnotation");
- } else {
- node.objectType = type;
- node.indexType = this.flowParseType();
- this.expect(3);
-
- if (seenOptionalIndexedAccess) {
- node.optional = optional;
- type = this.finishNode(node, "OptionalIndexedAccessType");
- } else {
- type = this.finishNode(node, "IndexedAccessType");
- }
- }
- }
-
- return type;
- }
-
- flowParsePrefixType() {
- const node = this.startNode();
-
- if (this.eat(17)) {
- node.typeAnnotation = this.flowParsePrefixType();
- return this.finishNode(node, "NullableTypeAnnotation");
- } else {
- return this.flowParsePostfixType();
- }
- }
-
- flowParseAnonFunctionWithoutParens() {
- const param = this.flowParsePrefixType();
-
- if (!this.state.noAnonFunctionType && this.eat(19)) {
- const node = this.startNodeAt(param.start, param.loc.start);
- node.params = [this.reinterpretTypeAsFunctionTypeParam(param)];
- node.rest = null;
- node.this = null;
- node.returnType = this.flowParseType();
- node.typeParameters = null;
- return this.finishNode(node, "FunctionTypeAnnotation");
- }
-
- return param;
- }
-
- flowParseIntersectionType() {
- const node = this.startNode();
- this.eat(45);
- const type = this.flowParseAnonFunctionWithoutParens();
- node.types = [type];
-
- while (this.eat(45)) {
- node.types.push(this.flowParseAnonFunctionWithoutParens());
- }
-
- return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation");
- }
-
- flowParseUnionType() {
- const node = this.startNode();
- this.eat(43);
- const type = this.flowParseIntersectionType();
- node.types = [type];
-
- while (this.eat(43)) {
- node.types.push(this.flowParseIntersectionType());
- }
-
- return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation");
- }
-
- flowParseType() {
- const oldInType = this.state.inType;
- this.state.inType = true;
- const type = this.flowParseUnionType();
- this.state.inType = oldInType;
- return type;
- }
-
- flowParseTypeOrImplicitInstantiation() {
- if (this.state.type === 128 && this.state.value === "_") {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- const node = this.parseIdentifier();
- return this.flowParseGenericType(startPos, startLoc, node);
- } else {
- return this.flowParseType();
- }
- }
-
- flowParseTypeAnnotation() {
- const node = this.startNode();
- node.typeAnnotation = this.flowParseTypeInitialiser();
- return this.finishNode(node, "TypeAnnotation");
- }
-
- flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) {
- const ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier();
-
- if (this.match(14)) {
- ident.typeAnnotation = this.flowParseTypeAnnotation();
- this.resetEndLocation(ident);
- }
-
- return ident;
- }
-
- typeCastToParameter(node) {
- node.expression.typeAnnotation = node.typeAnnotation;
- this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);
- return node.expression;
- }
-
- flowParseVariance() {
- let variance = null;
-
- if (this.match(53)) {
- variance = this.startNode();
-
- if (this.state.value === "+") {
- variance.kind = "plus";
- } else {
- variance.kind = "minus";
- }
-
- this.next();
- this.finishNode(variance, "Variance");
- }
-
- return variance;
- }
-
- parseFunctionBody(node, allowExpressionBody, isMethod = false) {
- if (allowExpressionBody) {
- return this.forwardNoArrowParamsConversionAt(node, () => super.parseFunctionBody(node, true, isMethod));
- }
-
- return super.parseFunctionBody(node, false, isMethod);
- }
-
- parseFunctionBodyAndFinish(node, type, isMethod = false) {
- if (this.match(14)) {
- const typeNode = this.startNode();
- [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser();
- node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null;
- }
-
- super.parseFunctionBodyAndFinish(node, type, isMethod);
- }
-
- parseStatement(context, topLevel) {
- if (this.state.strict && this.isContextual(125)) {
- const lookahead = this.lookahead();
-
- if (tokenIsKeywordOrIdentifier(lookahead.type)) {
- const node = this.startNode();
- this.next();
- return this.flowParseInterface(node);
- }
- } else if (this.shouldParseEnums() && this.isContextual(122)) {
- const node = this.startNode();
- this.next();
- return this.flowParseEnumDeclaration(node);
- }
-
- const stmt = super.parseStatement(context, topLevel);
-
- if (this.flowPragma === undefined && !this.isValidDirective(stmt)) {
- this.flowPragma = null;
- }
-
- return stmt;
- }
-
- parseExpressionStatement(node, expr) {
- if (expr.type === "Identifier") {
- if (expr.name === "declare") {
- if (this.match(80) || tokenIsIdentifier(this.state.type) || this.match(68) || this.match(74) || this.match(82)) {
- return this.flowParseDeclare(node);
- }
- } else if (tokenIsIdentifier(this.state.type)) {
- if (expr.name === "interface") {
- return this.flowParseInterface(node);
- } else if (expr.name === "type") {
- return this.flowParseTypeAlias(node);
- } else if (expr.name === "opaque") {
- return this.flowParseOpaqueType(node, false);
- }
- }
- }
-
- return super.parseExpressionStatement(node, expr);
- }
-
- shouldParseExportDeclaration() {
- const {
- type
- } = this.state;
-
- if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 122) {
- return !this.state.containsEsc;
- }
-
- return super.shouldParseExportDeclaration();
- }
-
- isExportDefaultSpecifier() {
- const {
- type
- } = this.state;
-
- if (tokenIsFlowInterfaceOrTypeOrOpaque(type) || this.shouldParseEnums() && type === 122) {
- return this.state.containsEsc;
- }
-
- return super.isExportDefaultSpecifier();
- }
-
- parseExportDefaultExpression() {
- if (this.shouldParseEnums() && this.isContextual(122)) {
- const node = this.startNode();
- this.next();
- return this.flowParseEnumDeclaration(node);
- }
-
- return super.parseExportDefaultExpression();
- }
-
- parseConditional(expr, startPos, startLoc, refExpressionErrors) {
- if (!this.match(17)) return expr;
-
- if (this.state.maybeInArrowParameters) {
- const nextCh = this.lookaheadCharCode();
-
- if (nextCh === 44 || nextCh === 61 || nextCh === 58 || nextCh === 41) {
- this.setOptionalParametersError(refExpressionErrors);
- return expr;
- }
- }
-
- this.expect(17);
- const state = this.state.clone();
- const originalNoArrowAt = this.state.noArrowAt;
- const node = this.startNodeAt(startPos, startLoc);
- let {
- consequent,
- failed
- } = this.tryParseConditionalConsequent();
- let [valid, invalid] = this.getArrowLikeExpressions(consequent);
-
- if (failed || invalid.length > 0) {
- const noArrowAt = [...originalNoArrowAt];
-
- if (invalid.length > 0) {
- this.state = state;
- this.state.noArrowAt = noArrowAt;
-
- for (let i = 0; i < invalid.length; i++) {
- noArrowAt.push(invalid[i].start);
- }
-
- ({
- consequent,
- failed
- } = this.tryParseConditionalConsequent());
- [valid, invalid] = this.getArrowLikeExpressions(consequent);
- }
-
- if (failed && valid.length > 1) {
- this.raise(FlowErrors.AmbiguousConditionalArrow, {
- at: state.startLoc
- });
- }
-
- if (failed && valid.length === 1) {
- this.state = state;
- noArrowAt.push(valid[0].start);
- this.state.noArrowAt = noArrowAt;
- ({
- consequent,
- failed
- } = this.tryParseConditionalConsequent());
- }
- }
-
- this.getArrowLikeExpressions(consequent, true);
- this.state.noArrowAt = originalNoArrowAt;
- this.expect(14);
- node.test = expr;
- node.consequent = consequent;
- node.alternate = this.forwardNoArrowParamsConversionAt(node, () => this.parseMaybeAssign(undefined, undefined));
- return this.finishNode(node, "ConditionalExpression");
- }
-
- tryParseConditionalConsequent() {
- this.state.noArrowParamsConversionAt.push(this.state.start);
- const consequent = this.parseMaybeAssignAllowIn();
- const failed = !this.match(14);
- this.state.noArrowParamsConversionAt.pop();
- return {
- consequent,
- failed
- };
- }
-
- getArrowLikeExpressions(node, disallowInvalid) {
- const stack = [node];
- const arrows = [];
-
- while (stack.length !== 0) {
- const node = stack.pop();
-
- if (node.type === "ArrowFunctionExpression") {
- if (node.typeParameters || !node.returnType) {
- this.finishArrowValidation(node);
- } else {
- arrows.push(node);
- }
-
- stack.push(node.body);
- } else if (node.type === "ConditionalExpression") {
- stack.push(node.consequent);
- stack.push(node.alternate);
- }
- }
-
- if (disallowInvalid) {
- arrows.forEach(node => this.finishArrowValidation(node));
- return [arrows, []];
- }
-
- return partition(arrows, node => node.params.every(param => this.isAssignable(param, true)));
- }
-
- finishArrowValidation(node) {
- var _node$extra;
-
- this.toAssignableList(node.params, (_node$extra = node.extra) == null ? void 0 : _node$extra.trailingCommaLoc, false);
- this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);
- super.checkParams(node, false, true);
- this.scope.exit();
- }
-
- forwardNoArrowParamsConversionAt(node, parse) {
- let result;
-
- if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {
- this.state.noArrowParamsConversionAt.push(this.state.start);
- result = parse();
- this.state.noArrowParamsConversionAt.pop();
- } else {
- result = parse();
- }
-
- return result;
- }
-
- parseParenItem(node, startPos, startLoc) {
- node = super.parseParenItem(node, startPos, startLoc);
-
- if (this.eat(17)) {
- node.optional = true;
- this.resetEndLocation(node);
- }
-
- if (this.match(14)) {
- const typeCastNode = this.startNodeAt(startPos, startLoc);
- typeCastNode.expression = node;
- typeCastNode.typeAnnotation = this.flowParseTypeAnnotation();
- return this.finishNode(typeCastNode, "TypeCastExpression");
- }
-
- return node;
- }
-
- assertModuleNodeAllowed(node) {
- if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") {
- return;
- }
-
- super.assertModuleNodeAllowed(node);
- }
-
- parseExport(node) {
- const decl = super.parseExport(node);
-
- if (decl.type === "ExportNamedDeclaration" || decl.type === "ExportAllDeclaration") {
- decl.exportKind = decl.exportKind || "value";
- }
-
- return decl;
- }
-
- parseExportDeclaration(node) {
- if (this.isContextual(126)) {
- node.exportKind = "type";
- const declarationNode = this.startNode();
- this.next();
-
- if (this.match(5)) {
- node.specifiers = this.parseExportSpecifiers(true);
- this.parseExportFrom(node);
- return null;
- } else {
- return this.flowParseTypeAlias(declarationNode);
- }
- } else if (this.isContextual(127)) {
- node.exportKind = "type";
- const declarationNode = this.startNode();
- this.next();
- return this.flowParseOpaqueType(declarationNode, false);
- } else if (this.isContextual(125)) {
- node.exportKind = "type";
- const declarationNode = this.startNode();
- this.next();
- return this.flowParseInterface(declarationNode);
- } else if (this.shouldParseEnums() && this.isContextual(122)) {
- node.exportKind = "value";
- const declarationNode = this.startNode();
- this.next();
- return this.flowParseEnumDeclaration(declarationNode);
- } else {
- return super.parseExportDeclaration(node);
- }
- }
-
- eatExportStar(node) {
- if (super.eatExportStar(...arguments)) return true;
-
- if (this.isContextual(126) && this.lookahead().type === 55) {
- node.exportKind = "type";
- this.next();
- this.next();
- return true;
- }
-
- return false;
- }
-
- maybeParseExportNamespaceSpecifier(node) {
- const {
- startLoc
- } = this.state;
- const hasNamespace = super.maybeParseExportNamespaceSpecifier(node);
-
- if (hasNamespace && node.exportKind === "type") {
- this.unexpected(startLoc);
- }
-
- return hasNamespace;
- }
-
- parseClassId(node, isStatement, optionalId) {
- super.parseClassId(node, isStatement, optionalId);
-
- if (this.match(47)) {
- node.typeParameters = this.flowParseTypeParameterDeclaration();
- }
- }
-
- parseClassMember(classBody, member, state) {
- const {
- startLoc
- } = this.state;
-
- if (this.isContextual(121)) {
- if (this.parseClassMemberFromModifier(classBody, member)) {
- return;
- }
-
- member.declare = true;
- }
-
- super.parseClassMember(classBody, member, state);
-
- if (member.declare) {
- if (member.type !== "ClassProperty" && member.type !== "ClassPrivateProperty" && member.type !== "PropertyDefinition") {
- this.raise(FlowErrors.DeclareClassElement, {
- at: startLoc
- });
- } else if (member.value) {
- this.raise(FlowErrors.DeclareClassFieldInitializer, {
- at: member.value
- });
- }
- }
- }
-
- isIterator(word) {
- return word === "iterator" || word === "asyncIterator";
- }
-
- readIterator() {
- const word = super.readWord1();
- const fullWord = "@@" + word;
-
- if (!this.isIterator(word) || !this.state.inType) {
- this.raise(Errors.InvalidIdentifier, {
- at: this.state.curPosition(),
- identifierName: fullWord
- });
- }
-
- this.finishToken(128, fullWord);
- }
-
- getTokenFromCode(code) {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (code === 123 && next === 124) {
- return this.finishOp(6, 2);
- } else if (this.state.inType && (code === 62 || code === 60)) {
- return this.finishOp(code === 62 ? 48 : 47, 1);
- } else if (this.state.inType && code === 63) {
- if (next === 46) {
- return this.finishOp(18, 2);
- }
-
- return this.finishOp(17, 1);
- } else if (isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))) {
- this.state.pos += 2;
- return this.readIterator();
- } else {
- return super.getTokenFromCode(code);
- }
- }
-
- isAssignable(node, isBinding) {
- if (node.type === "TypeCastExpression") {
- return this.isAssignable(node.expression, isBinding);
- } else {
- return super.isAssignable(node, isBinding);
- }
- }
-
- toAssignable(node, isLHS = false) {
- if (!isLHS && node.type === "AssignmentExpression" && node.left.type === "TypeCastExpression") {
- node.left = this.typeCastToParameter(node.left);
- }
-
- super.toAssignable(...arguments);
- }
-
- toAssignableList(exprList, trailingCommaLoc, isLHS) {
- for (let i = 0; i < exprList.length; i++) {
- const expr = exprList[i];
-
- if ((expr == null ? void 0 : expr.type) === "TypeCastExpression") {
- exprList[i] = this.typeCastToParameter(expr);
- }
- }
-
- super.toAssignableList(exprList, trailingCommaLoc, isLHS);
- }
-
- toReferencedList(exprList, isParenthesizedExpr) {
- for (let i = 0; i < exprList.length; i++) {
- var _expr$extra;
-
- const expr = exprList[i];
-
- if (expr && expr.type === "TypeCastExpression" && !((_expr$extra = expr.extra) != null && _expr$extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) {
- this.raise(FlowErrors.TypeCastInPattern, {
- at: expr.typeAnnotation
- });
- }
- }
-
- return exprList;
- }
-
- parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {
- const node = super.parseArrayLike(close, canBePattern, isTuple, refExpressionErrors);
-
- if (canBePattern && !this.state.maybeInArrowParameters) {
- this.toReferencedList(node.elements);
- }
-
- return node;
- }
-
- isValidLVal(type, ...rest) {
- return type === "TypeCastExpression" || super.isValidLVal(type, ...rest);
- }
-
- parseClassProperty(node) {
- if (this.match(14)) {
- node.typeAnnotation = this.flowParseTypeAnnotation();
- }
-
- return super.parseClassProperty(node);
- }
-
- parseClassPrivateProperty(node) {
- if (this.match(14)) {
- node.typeAnnotation = this.flowParseTypeAnnotation();
- }
-
- return super.parseClassPrivateProperty(node);
- }
-
- isClassMethod() {
- return this.match(47) || super.isClassMethod();
- }
-
- isClassProperty() {
- return this.match(14) || super.isClassProperty();
- }
-
- isNonstaticConstructor(method) {
- return !this.match(14) && super.isNonstaticConstructor(method);
- }
-
- pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
- if (method.variance) {
- this.unexpected(method.variance.loc.start);
- }
-
- delete method.variance;
-
- if (this.match(47)) {
- method.typeParameters = this.flowParseTypeParameterDeclaration();
- }
-
- super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);
-
- if (method.params && isConstructor) {
- const params = method.params;
-
- if (params.length > 0 && this.isThisParam(params[0])) {
- this.raise(FlowErrors.ThisParamBannedInConstructor, {
- at: method
- });
- }
- } else if (method.type === "MethodDefinition" && isConstructor && method.value.params) {
- const params = method.value.params;
-
- if (params.length > 0 && this.isThisParam(params[0])) {
- this.raise(FlowErrors.ThisParamBannedInConstructor, {
- at: method
- });
- }
- }
- }
-
- pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {
- if (method.variance) {
- this.unexpected(method.variance.loc.start);
- }
-
- delete method.variance;
-
- if (this.match(47)) {
- method.typeParameters = this.flowParseTypeParameterDeclaration();
- }
-
- super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync);
- }
-
- parseClassSuper(node) {
- super.parseClassSuper(node);
-
- if (node.superClass && this.match(47)) {
- node.superTypeParameters = this.flowParseTypeParameterInstantiation();
- }
-
- if (this.isContextual(110)) {
- this.next();
- const implemented = node.implements = [];
-
- do {
- const node = this.startNode();
- node.id = this.flowParseRestrictedIdentifier(true);
-
- if (this.match(47)) {
- node.typeParameters = this.flowParseTypeParameterInstantiation();
- } else {
- node.typeParameters = null;
- }
-
- implemented.push(this.finishNode(node, "ClassImplements"));
- } while (this.eat(12));
- }
- }
-
- checkGetterSetterParams(method) {
- super.checkGetterSetterParams(method);
- const params = this.getObjectOrClassMethodParams(method);
-
- if (params.length > 0) {
- const param = params[0];
-
- if (this.isThisParam(param) && method.kind === "get") {
- this.raise(FlowErrors.GetterMayNotHaveThisParam, {
- at: param
- });
- } else if (this.isThisParam(param)) {
- this.raise(FlowErrors.SetterMayNotHaveThisParam, {
- at: param
- });
- }
- }
- }
-
- parsePropertyNamePrefixOperator(node) {
- node.variance = this.flowParseVariance();
- }
-
- parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {
- if (prop.variance) {
- this.unexpected(prop.variance.loc.start);
- }
-
- delete prop.variance;
- let typeParameters;
-
- if (this.match(47) && !isAccessor) {
- typeParameters = this.flowParseTypeParameterDeclaration();
- if (!this.match(10)) this.unexpected();
- }
-
- super.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors);
-
- if (typeParameters) {
- (prop.value || prop).typeParameters = typeParameters;
- }
- }
-
- parseAssignableListItemTypes(param) {
- if (this.eat(17)) {
- if (param.type !== "Identifier") {
- this.raise(FlowErrors.PatternIsOptional, {
- at: param
- });
- }
-
- if (this.isThisParam(param)) {
- this.raise(FlowErrors.ThisParamMayNotBeOptional, {
- at: param
- });
- }
-
- param.optional = true;
- }
-
- if (this.match(14)) {
- param.typeAnnotation = this.flowParseTypeAnnotation();
- } else if (this.isThisParam(param)) {
- this.raise(FlowErrors.ThisParamAnnotationRequired, {
- at: param
- });
- }
-
- if (this.match(29) && this.isThisParam(param)) {
- this.raise(FlowErrors.ThisParamNoDefault, {
- at: param
- });
- }
-
- this.resetEndLocation(param);
- return param;
- }
-
- parseMaybeDefault(startPos, startLoc, left) {
- const node = super.parseMaybeDefault(startPos, startLoc, left);
-
- if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {
- this.raise(FlowErrors.TypeBeforeInitializer, {
- at: node.typeAnnotation
- });
- }
-
- return node;
- }
-
- shouldParseDefaultImport(node) {
- if (!hasTypeImportKind(node)) {
- return super.shouldParseDefaultImport(node);
- }
-
- return isMaybeDefaultImport(this.state.type);
- }
-
- parseImportSpecifierLocal(node, specifier, type) {
- specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true, true) : this.parseIdentifier();
- node.specifiers.push(this.finishImportSpecifier(specifier, type));
- }
-
- maybeParseDefaultImportSpecifier(node) {
- node.importKind = "value";
- let kind = null;
-
- if (this.match(87)) {
- kind = "typeof";
- } else if (this.isContextual(126)) {
- kind = "type";
- }
-
- if (kind) {
- const lh = this.lookahead();
- const {
- type
- } = lh;
-
- if (kind === "type" && type === 55) {
- this.unexpected(null, lh.type);
- }
-
- if (isMaybeDefaultImport(type) || type === 5 || type === 55) {
- this.next();
- node.importKind = kind;
- }
- }
-
- return super.maybeParseDefaultImportSpecifier(node);
- }
-
- parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly) {
- const firstIdent = specifier.imported;
- let specifierTypeKind = null;
-
- if (firstIdent.type === "Identifier") {
- if (firstIdent.name === "type") {
- specifierTypeKind = "type";
- } else if (firstIdent.name === "typeof") {
- specifierTypeKind = "typeof";
- }
- }
-
- let isBinding = false;
-
- if (this.isContextual(93) && !this.isLookaheadContextual("as")) {
- const as_ident = this.parseIdentifier(true);
-
- if (specifierTypeKind !== null && !tokenIsKeywordOrIdentifier(this.state.type)) {
- specifier.imported = as_ident;
- specifier.importKind = specifierTypeKind;
- specifier.local = cloneIdentifier(as_ident);
- } else {
- specifier.imported = firstIdent;
- specifier.importKind = null;
- specifier.local = this.parseIdentifier();
- }
- } else {
- if (specifierTypeKind !== null && tokenIsKeywordOrIdentifier(this.state.type)) {
- specifier.imported = this.parseIdentifier(true);
- specifier.importKind = specifierTypeKind;
- } else {
- if (importedIsString) {
- throw this.raise(Errors.ImportBindingIsString, {
- at: specifier,
- importName: firstIdent.value
- });
- }
-
- specifier.imported = firstIdent;
- specifier.importKind = null;
- }
-
- if (this.eatContextual(93)) {
- specifier.local = this.parseIdentifier();
- } else {
- isBinding = true;
- specifier.local = cloneIdentifier(specifier.imported);
- }
- }
-
- const specifierIsTypeImport = hasTypeImportKind(specifier);
-
- if (isInTypeOnlyImport && specifierIsTypeImport) {
- this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, {
- at: specifier
- });
- }
-
- if (isInTypeOnlyImport || specifierIsTypeImport) {
- this.checkReservedType(specifier.local.name, specifier.local.loc.start, true);
- }
-
- if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) {
- this.checkReservedWord(specifier.local.name, specifier.loc.start, true, true);
- }
-
- return this.finishImportSpecifier(specifier, "ImportSpecifier");
- }
-
- parseBindingAtom() {
- switch (this.state.type) {
- case 78:
- return this.parseIdentifier(true);
-
- default:
- return super.parseBindingAtom();
- }
- }
-
- parseFunctionParams(node, allowModifiers) {
- const kind = node.kind;
-
- if (kind !== "get" && kind !== "set" && this.match(47)) {
- node.typeParameters = this.flowParseTypeParameterDeclaration();
- }
-
- super.parseFunctionParams(node, allowModifiers);
- }
-
- parseVarId(decl, kind) {
- super.parseVarId(decl, kind);
-
- if (this.match(14)) {
- decl.id.typeAnnotation = this.flowParseTypeAnnotation();
- this.resetEndLocation(decl.id);
- }
- }
-
- parseAsyncArrowFromCallExpression(node, call) {
- if (this.match(14)) {
- const oldNoAnonFunctionType = this.state.noAnonFunctionType;
- this.state.noAnonFunctionType = true;
- node.returnType = this.flowParseTypeAnnotation();
- this.state.noAnonFunctionType = oldNoAnonFunctionType;
- }
-
- return super.parseAsyncArrowFromCallExpression(node, call);
- }
-
- shouldParseAsyncArrow() {
- return this.match(14) || super.shouldParseAsyncArrow();
- }
-
- parseMaybeAssign(refExpressionErrors, afterLeftParse) {
- var _jsx;
-
- let state = null;
- let jsx;
-
- if (this.hasPlugin("jsx") && (this.match(138) || this.match(47))) {
- state = this.state.clone();
- jsx = this.tryParse(() => super.parseMaybeAssign(refExpressionErrors, afterLeftParse), state);
- if (!jsx.error) return jsx.node;
- const {
- context
- } = this.state;
- const currentContext = context[context.length - 1];
-
- if (currentContext === types.j_oTag || currentContext === types.j_expr) {
- context.pop();
- }
- }
-
- if ((_jsx = jsx) != null && _jsx.error || this.match(47)) {
- var _jsx2, _jsx3;
-
- state = state || this.state.clone();
- let typeParameters;
- const arrow = this.tryParse(abort => {
- var _arrowExpression$extr;
-
- typeParameters = this.flowParseTypeParameterDeclaration();
- const arrowExpression = this.forwardNoArrowParamsConversionAt(typeParameters, () => {
- const result = super.parseMaybeAssign(refExpressionErrors, afterLeftParse);
- this.resetStartLocationFromNode(result, typeParameters);
- return result;
- });
- if ((_arrowExpression$extr = arrowExpression.extra) != null && _arrowExpression$extr.parenthesized) abort();
- const expr = this.maybeUnwrapTypeCastExpression(arrowExpression);
- if (expr.type !== "ArrowFunctionExpression") abort();
- expr.typeParameters = typeParameters;
- this.resetStartLocationFromNode(expr, typeParameters);
- return arrowExpression;
- }, state);
- let arrowExpression = null;
-
- if (arrow.node && this.maybeUnwrapTypeCastExpression(arrow.node).type === "ArrowFunctionExpression") {
- if (!arrow.error && !arrow.aborted) {
- if (arrow.node.async) {
- this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction, {
- at: typeParameters
- });
- }
-
- return arrow.node;
- }
-
- arrowExpression = arrow.node;
- }
-
- if ((_jsx2 = jsx) != null && _jsx2.node) {
- this.state = jsx.failState;
- return jsx.node;
- }
-
- if (arrowExpression) {
- this.state = arrow.failState;
- return arrowExpression;
- }
-
- if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error;
- if (arrow.thrown) throw arrow.error;
- throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, {
- at: typeParameters
- });
- }
-
- return super.parseMaybeAssign(refExpressionErrors, afterLeftParse);
- }
-
- parseArrow(node) {
- if (this.match(14)) {
- const result = this.tryParse(() => {
- const oldNoAnonFunctionType = this.state.noAnonFunctionType;
- this.state.noAnonFunctionType = true;
- const typeNode = this.startNode();
- [typeNode.typeAnnotation, node.predicate] = this.flowParseTypeAndPredicateInitialiser();
- this.state.noAnonFunctionType = oldNoAnonFunctionType;
- if (this.canInsertSemicolon()) this.unexpected();
- if (!this.match(19)) this.unexpected();
- return typeNode;
- });
- if (result.thrown) return null;
- if (result.error) this.state = result.failState;
- node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null;
- }
-
- return super.parseArrow(node);
- }
-
- shouldParseArrow(params) {
- return this.match(14) || super.shouldParseArrow(params);
- }
-
- setArrowFunctionParameters(node, params) {
- if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {
- node.params = params;
- } else {
- super.setArrowFunctionParameters(node, params);
- }
- }
-
- checkParams(node, allowDuplicates, isArrowFunction) {
- if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {
- return;
- }
-
- for (let i = 0; i < node.params.length; i++) {
- if (this.isThisParam(node.params[i]) && i > 0) {
- this.raise(FlowErrors.ThisParamMustBeFirst, {
- at: node.params[i]
- });
- }
- }
-
- return super.checkParams(...arguments);
- }
-
- parseParenAndDistinguishExpression(canBeArrow) {
- return super.parseParenAndDistinguishExpression(canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1);
- }
-
- parseSubscripts(base, startPos, startLoc, noCalls) {
- if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startPos) !== -1) {
- this.next();
- const node = this.startNodeAt(startPos, startLoc);
- node.callee = base;
- node.arguments = this.parseCallExpressionArguments(11, false);
- base = this.finishNode(node, "CallExpression");
- } else if (base.type === "Identifier" && base.name === "async" && this.match(47)) {
- const state = this.state.clone();
- const arrow = this.tryParse(abort => this.parseAsyncArrowWithTypeParameters(startPos, startLoc) || abort(), state);
- if (!arrow.error && !arrow.aborted) return arrow.node;
- const result = this.tryParse(() => super.parseSubscripts(base, startPos, startLoc, noCalls), state);
- if (result.node && !result.error) return result.node;
-
- if (arrow.node) {
- this.state = arrow.failState;
- return arrow.node;
- }
-
- if (result.node) {
- this.state = result.failState;
- return result.node;
- }
-
- throw arrow.error || result.error;
- }
-
- return super.parseSubscripts(base, startPos, startLoc, noCalls);
- }
-
- parseSubscript(base, startPos, startLoc, noCalls, subscriptState) {
- if (this.match(18) && this.isLookaheadToken_lt()) {
- subscriptState.optionalChainMember = true;
-
- if (noCalls) {
- subscriptState.stop = true;
- return base;
- }
-
- this.next();
- const node = this.startNodeAt(startPos, startLoc);
- node.callee = base;
- node.typeArguments = this.flowParseTypeParameterInstantiation();
- this.expect(10);
- node.arguments = this.parseCallExpressionArguments(11, false);
- node.optional = true;
- return this.finishCallExpression(node, true);
- } else if (!noCalls && this.shouldParseTypes() && this.match(47)) {
- const node = this.startNodeAt(startPos, startLoc);
- node.callee = base;
- const result = this.tryParse(() => {
- node.typeArguments = this.flowParseTypeParameterInstantiationCallOrNew();
- this.expect(10);
- node.arguments = this.parseCallExpressionArguments(11, false);
- if (subscriptState.optionalChainMember) node.optional = false;
- return this.finishCallExpression(node, subscriptState.optionalChainMember);
- });
-
- if (result.node) {
- if (result.error) this.state = result.failState;
- return result.node;
- }
- }
-
- return super.parseSubscript(base, startPos, startLoc, noCalls, subscriptState);
- }
-
- parseNewCallee(node) {
- super.parseNewCallee(node);
- let targs = null;
-
- if (this.shouldParseTypes() && this.match(47)) {
- targs = this.tryParse(() => this.flowParseTypeParameterInstantiationCallOrNew()).node;
- }
-
- node.typeArguments = targs;
- }
-
- parseAsyncArrowWithTypeParameters(startPos, startLoc) {
- const node = this.startNodeAt(startPos, startLoc);
- this.parseFunctionParams(node);
- if (!this.parseArrow(node)) return;
- return this.parseArrowExpression(node, undefined, true);
- }
-
- readToken_mult_modulo(code) {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (code === 42 && next === 47 && this.state.hasFlowComment) {
- this.state.hasFlowComment = false;
- this.state.pos += 2;
- this.nextToken();
- return;
- }
-
- super.readToken_mult_modulo(code);
- }
-
- readToken_pipe_amp(code) {
- const next = this.input.charCodeAt(this.state.pos + 1);
-
- if (code === 124 && next === 125) {
- this.finishOp(9, 2);
- return;
- }
-
- super.readToken_pipe_amp(code);
- }
-
- parseTopLevel(file, program) {
- const fileNode = super.parseTopLevel(file, program);
-
- if (this.state.hasFlowComment) {
- this.raise(FlowErrors.UnterminatedFlowComment, {
- at: this.state.curPosition()
- });
- }
-
- return fileNode;
- }
-
- skipBlockComment() {
- if (this.hasPlugin("flowComments") && this.skipFlowComment()) {
- if (this.state.hasFlowComment) {
- throw this.raise(FlowErrors.NestedFlowComment, {
- at: this.state.startLoc
- });
- }
-
- this.hasFlowCommentCompletion();
- this.state.pos += this.skipFlowComment();
- this.state.hasFlowComment = true;
- return;
- }
-
- if (this.state.hasFlowComment) {
- const end = this.input.indexOf("*-/", this.state.pos + 2);
-
- if (end === -1) {
- throw this.raise(Errors.UnterminatedComment, {
- at: this.state.curPosition()
- });
- }
-
- this.state.pos = end + 2 + 3;
- return;
- }
-
- return super.skipBlockComment();
- }
-
- skipFlowComment() {
- const {
- pos
- } = this.state;
- let shiftToFirstNonWhiteSpace = 2;
-
- while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) {
- shiftToFirstNonWhiteSpace++;
- }
-
- const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos);
- const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1);
-
- if (ch2 === 58 && ch3 === 58) {
- return shiftToFirstNonWhiteSpace + 2;
- }
-
- if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") {
- return shiftToFirstNonWhiteSpace + 12;
- }
-
- if (ch2 === 58 && ch3 !== 58) {
- return shiftToFirstNonWhiteSpace;
- }
-
- return false;
- }
-
- hasFlowCommentCompletion() {
- const end = this.input.indexOf("*/", this.state.pos);
-
- if (end === -1) {
- throw this.raise(Errors.UnterminatedComment, {
- at: this.state.curPosition()
- });
- }
- }
-
- flowEnumErrorBooleanMemberNotInitialized(loc, {
- enumName,
- memberName
- }) {
- this.raise(FlowErrors.EnumBooleanMemberNotInitialized, {
- at: loc,
- memberName,
- enumName
- });
- }
-
- flowEnumErrorInvalidMemberInitializer(loc, enumContext) {
- return this.raise(!enumContext.explicitType ? FlowErrors.EnumInvalidMemberInitializerUnknownType : enumContext.explicitType === "symbol" ? FlowErrors.EnumInvalidMemberInitializerSymbolType : FlowErrors.EnumInvalidMemberInitializerPrimaryType, Object.assign({
- at: loc
- }, enumContext));
- }
-
- flowEnumErrorNumberMemberNotInitialized(loc, {
- enumName,
- memberName
- }) {
- this.raise(FlowErrors.EnumNumberMemberNotInitialized, {
- at: loc,
- enumName,
- memberName
- });
- }
-
- flowEnumErrorStringMemberInconsistentlyInitailized(node, {
- enumName
- }) {
- this.raise(FlowErrors.EnumStringMemberInconsistentlyInitailized, {
- at: node,
- enumName
- });
- }
-
- flowEnumMemberInit() {
- const startLoc = this.state.startLoc;
-
- const endOfInit = () => this.match(12) || this.match(8);
-
- switch (this.state.type) {
- case 130:
- {
- const literal = this.parseNumericLiteral(this.state.value);
-
- if (endOfInit()) {
- return {
- type: "number",
- loc: literal.loc.start,
- value: literal
- };
- }
-
- return {
- type: "invalid",
- loc: startLoc
- };
- }
-
- case 129:
- {
- const literal = this.parseStringLiteral(this.state.value);
-
- if (endOfInit()) {
- return {
- type: "string",
- loc: literal.loc.start,
- value: literal
- };
- }
-
- return {
- type: "invalid",
- loc: startLoc
- };
- }
-
- case 85:
- case 86:
- {
- const literal = this.parseBooleanLiteral(this.match(85));
-
- if (endOfInit()) {
- return {
- type: "boolean",
- loc: literal.loc.start,
- value: literal
- };
- }
-
- return {
- type: "invalid",
- loc: startLoc
- };
- }
-
- default:
- return {
- type: "invalid",
- loc: startLoc
- };
- }
- }
-
- flowEnumMemberRaw() {
- const loc = this.state.startLoc;
- const id = this.parseIdentifier(true);
- const init = this.eat(29) ? this.flowEnumMemberInit() : {
- type: "none",
- loc
- };
- return {
- id,
- init
- };
- }
-
- flowEnumCheckExplicitTypeMismatch(loc, context, expectedType) {
- const {
- explicitType
- } = context;
-
- if (explicitType === null) {
- return;
- }
-
- if (explicitType !== expectedType) {
- this.flowEnumErrorInvalidMemberInitializer(loc, context);
- }
- }
-
- flowEnumMembers({
- enumName,
- explicitType
- }) {
- const seenNames = new Set();
- const members = {
- booleanMembers: [],
- numberMembers: [],
- stringMembers: [],
- defaultedMembers: []
- };
- let hasUnknownMembers = false;
-
- while (!this.match(8)) {
- if (this.eat(21)) {
- hasUnknownMembers = true;
- break;
- }
-
- const memberNode = this.startNode();
- const {
- id,
- init
- } = this.flowEnumMemberRaw();
- const memberName = id.name;
-
- if (memberName === "") {
- continue;
- }
-
- if (/^[a-z]/.test(memberName)) {
- this.raise(FlowErrors.EnumInvalidMemberName, {
- at: id,
- memberName,
- suggestion: memberName[0].toUpperCase() + memberName.slice(1),
- enumName
- });
- }
-
- if (seenNames.has(memberName)) {
- this.raise(FlowErrors.EnumDuplicateMemberName, {
- at: id,
- memberName,
- enumName
- });
- }
-
- seenNames.add(memberName);
- const context = {
- enumName,
- explicitType,
- memberName
- };
- memberNode.id = id;
-
- switch (init.type) {
- case "boolean":
- {
- this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "boolean");
- memberNode.init = init.value;
- members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember"));
- break;
- }
-
- case "number":
- {
- this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "number");
- memberNode.init = init.value;
- members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember"));
- break;
- }
-
- case "string":
- {
- this.flowEnumCheckExplicitTypeMismatch(init.loc, context, "string");
- memberNode.init = init.value;
- members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember"));
- break;
- }
-
- case "invalid":
- {
- throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context);
- }
-
- case "none":
- {
- switch (explicitType) {
- case "boolean":
- this.flowEnumErrorBooleanMemberNotInitialized(init.loc, context);
- break;
-
- case "number":
- this.flowEnumErrorNumberMemberNotInitialized(init.loc, context);
- break;
-
- default:
- members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember"));
- }
- }
- }
-
- if (!this.match(8)) {
- this.expect(12);
- }
- }
-
- return {
- members,
- hasUnknownMembers
- };
- }
-
- flowEnumStringMembers(initializedMembers, defaultedMembers, {
- enumName
- }) {
- if (initializedMembers.length === 0) {
- return defaultedMembers;
- } else if (defaultedMembers.length === 0) {
- return initializedMembers;
- } else if (defaultedMembers.length > initializedMembers.length) {
- for (const member of initializedMembers) {
- this.flowEnumErrorStringMemberInconsistentlyInitailized(member, {
- enumName
- });
- }
-
- return defaultedMembers;
- } else {
- for (const member of defaultedMembers) {
- this.flowEnumErrorStringMemberInconsistentlyInitailized(member, {
- enumName
- });
- }
-
- return initializedMembers;
- }
- }
-
- flowEnumParseExplicitType({
- enumName
- }) {
- if (!this.eatContextual(101)) return null;
-
- if (!tokenIsIdentifier(this.state.type)) {
- throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied, {
- at: this.state.startLoc,
- enumName
- });
- }
-
- const {
- value
- } = this.state;
- this.next();
-
- if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") {
- this.raise(FlowErrors.EnumInvalidExplicitType, {
- at: this.state.startLoc,
- enumName,
- invalidEnumType: value
- });
- }
-
- return value;
- }
-
- flowEnumBody(node, id) {
- const enumName = id.name;
- const nameLoc = id.loc.start;
- const explicitType = this.flowEnumParseExplicitType({
- enumName
- });
- this.expect(5);
- const {
- members,
- hasUnknownMembers
- } = this.flowEnumMembers({
- enumName,
- explicitType
- });
- node.hasUnknownMembers = hasUnknownMembers;
-
- switch (explicitType) {
- case "boolean":
- node.explicitType = true;
- node.members = members.booleanMembers;
- this.expect(8);
- return this.finishNode(node, "EnumBooleanBody");
-
- case "number":
- node.explicitType = true;
- node.members = members.numberMembers;
- this.expect(8);
- return this.finishNode(node, "EnumNumberBody");
-
- case "string":
- node.explicitType = true;
- node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {
- enumName
- });
- this.expect(8);
- return this.finishNode(node, "EnumStringBody");
-
- case "symbol":
- node.members = members.defaultedMembers;
- this.expect(8);
- return this.finishNode(node, "EnumSymbolBody");
-
- default:
- {
- const empty = () => {
- node.members = [];
- this.expect(8);
- return this.finishNode(node, "EnumStringBody");
- };
-
- node.explicitType = false;
- const boolsLen = members.booleanMembers.length;
- const numsLen = members.numberMembers.length;
- const strsLen = members.stringMembers.length;
- const defaultedLen = members.defaultedMembers.length;
-
- if (!boolsLen && !numsLen && !strsLen && !defaultedLen) {
- return empty();
- } else if (!boolsLen && !numsLen) {
- node.members = this.flowEnumStringMembers(members.stringMembers, members.defaultedMembers, {
- enumName
- });
- this.expect(8);
- return this.finishNode(node, "EnumStringBody");
- } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) {
- for (const member of members.defaultedMembers) {
- this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, {
- enumName,
- memberName: member.id.name
- });
- }
-
- node.members = members.booleanMembers;
- this.expect(8);
- return this.finishNode(node, "EnumBooleanBody");
- } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) {
- for (const member of members.defaultedMembers) {
- this.flowEnumErrorNumberMemberNotInitialized(member.loc.start, {
- enumName,
- memberName: member.id.name
- });
- }
-
- node.members = members.numberMembers;
- this.expect(8);
- return this.finishNode(node, "EnumNumberBody");
- } else {
- this.raise(FlowErrors.EnumInconsistentMemberValues, {
- at: nameLoc,
- enumName
- });
- return empty();
- }
- }
- }
- }
-
- flowParseEnumDeclaration(node) {
- const id = this.parseIdentifier();
- node.id = id;
- node.body = this.flowEnumBody(this.startNode(), id);
- return this.finishNode(node, "EnumDeclaration");
- }
-
- isLookaheadToken_lt() {
- const next = this.nextTokenStart();
-
- if (this.input.charCodeAt(next) === 60) {
- const afterNext = this.input.charCodeAt(next + 1);
- return afterNext !== 60 && afterNext !== 61;
- }
-
- return false;
- }
-
- maybeUnwrapTypeCastExpression(node) {
- return node.type === "TypeCastExpression" ? node.expression : node;
- }
-
-});
-
-const entities = {
- __proto__: null,
- quot: "\u0022",
- amp: "&",
- apos: "\u0027",
- lt: "<",
- gt: ">",
- nbsp: "\u00A0",
- iexcl: "\u00A1",
- cent: "\u00A2",
- pound: "\u00A3",
- curren: "\u00A4",
- yen: "\u00A5",
- brvbar: "\u00A6",
- sect: "\u00A7",
- uml: "\u00A8",
- copy: "\u00A9",
- ordf: "\u00AA",
- laquo: "\u00AB",
- not: "\u00AC",
- shy: "\u00AD",
- reg: "\u00AE",
- macr: "\u00AF",
- deg: "\u00B0",
- plusmn: "\u00B1",
- sup2: "\u00B2",
- sup3: "\u00B3",
- acute: "\u00B4",
- micro: "\u00B5",
- para: "\u00B6",
- middot: "\u00B7",
- cedil: "\u00B8",
- sup1: "\u00B9",
- ordm: "\u00BA",
- raquo: "\u00BB",
- frac14: "\u00BC",
- frac12: "\u00BD",
- frac34: "\u00BE",
- iquest: "\u00BF",
- Agrave: "\u00C0",
- Aacute: "\u00C1",
- Acirc: "\u00C2",
- Atilde: "\u00C3",
- Auml: "\u00C4",
- Aring: "\u00C5",
- AElig: "\u00C6",
- Ccedil: "\u00C7",
- Egrave: "\u00C8",
- Eacute: "\u00C9",
- Ecirc: "\u00CA",
- Euml: "\u00CB",
- Igrave: "\u00CC",
- Iacute: "\u00CD",
- Icirc: "\u00CE",
- Iuml: "\u00CF",
- ETH: "\u00D0",
- Ntilde: "\u00D1",
- Ograve: "\u00D2",
- Oacute: "\u00D3",
- Ocirc: "\u00D4",
- Otilde: "\u00D5",
- Ouml: "\u00D6",
- times: "\u00D7",
- Oslash: "\u00D8",
- Ugrave: "\u00D9",
- Uacute: "\u00DA",
- Ucirc: "\u00DB",
- Uuml: "\u00DC",
- Yacute: "\u00DD",
- THORN: "\u00DE",
- szlig: "\u00DF",
- agrave: "\u00E0",
- aacute: "\u00E1",
- acirc: "\u00E2",
- atilde: "\u00E3",
- auml: "\u00E4",
- aring: "\u00E5",
- aelig: "\u00E6",
- ccedil: "\u00E7",
- egrave: "\u00E8",
- eacute: "\u00E9",
- ecirc: "\u00EA",
- euml: "\u00EB",
- igrave: "\u00EC",
- iacute: "\u00ED",
- icirc: "\u00EE",
- iuml: "\u00EF",
- eth: "\u00F0",
- ntilde: "\u00F1",
- ograve: "\u00F2",
- oacute: "\u00F3",
- ocirc: "\u00F4",
- otilde: "\u00F5",
- ouml: "\u00F6",
- divide: "\u00F7",
- oslash: "\u00F8",
- ugrave: "\u00F9",
- uacute: "\u00FA",
- ucirc: "\u00FB",
- uuml: "\u00FC",
- yacute: "\u00FD",
- thorn: "\u00FE",
- yuml: "\u00FF",
- OElig: "\u0152",
- oelig: "\u0153",
- Scaron: "\u0160",
- scaron: "\u0161",
- Yuml: "\u0178",
- fnof: "\u0192",
- circ: "\u02C6",
- tilde: "\u02DC",
- Alpha: "\u0391",
- Beta: "\u0392",
- Gamma: "\u0393",
- Delta: "\u0394",
- Epsilon: "\u0395",
- Zeta: "\u0396",
- Eta: "\u0397",
- Theta: "\u0398",
- Iota: "\u0399",
- Kappa: "\u039A",
- Lambda: "\u039B",
- Mu: "\u039C",
- Nu: "\u039D",
- Xi: "\u039E",
- Omicron: "\u039F",
- Pi: "\u03A0",
- Rho: "\u03A1",
- Sigma: "\u03A3",
- Tau: "\u03A4",
- Upsilon: "\u03A5",
- Phi: "\u03A6",
- Chi: "\u03A7",
- Psi: "\u03A8",
- Omega: "\u03A9",
- alpha: "\u03B1",
- beta: "\u03B2",
- gamma: "\u03B3",
- delta: "\u03B4",
- epsilon: "\u03B5",
- zeta: "\u03B6",
- eta: "\u03B7",
- theta: "\u03B8",
- iota: "\u03B9",
- kappa: "\u03BA",
- lambda: "\u03BB",
- mu: "\u03BC",
- nu: "\u03BD",
- xi: "\u03BE",
- omicron: "\u03BF",
- pi: "\u03C0",
- rho: "\u03C1",
- sigmaf: "\u03C2",
- sigma: "\u03C3",
- tau: "\u03C4",
- upsilon: "\u03C5",
- phi: "\u03C6",
- chi: "\u03C7",
- psi: "\u03C8",
- omega: "\u03C9",
- thetasym: "\u03D1",
- upsih: "\u03D2",
- piv: "\u03D6",
- ensp: "\u2002",
- emsp: "\u2003",
- thinsp: "\u2009",
- zwnj: "\u200C",
- zwj: "\u200D",
- lrm: "\u200E",
- rlm: "\u200F",
- ndash: "\u2013",
- mdash: "\u2014",
- lsquo: "\u2018",
- rsquo: "\u2019",
- sbquo: "\u201A",
- ldquo: "\u201C",
- rdquo: "\u201D",
- bdquo: "\u201E",
- dagger: "\u2020",
- Dagger: "\u2021",
- bull: "\u2022",
- hellip: "\u2026",
- permil: "\u2030",
- prime: "\u2032",
- Prime: "\u2033",
- lsaquo: "\u2039",
- rsaquo: "\u203A",
- oline: "\u203E",
- frasl: "\u2044",
- euro: "\u20AC",
- image: "\u2111",
- weierp: "\u2118",
- real: "\u211C",
- trade: "\u2122",
- alefsym: "\u2135",
- larr: "\u2190",
- uarr: "\u2191",
- rarr: "\u2192",
- darr: "\u2193",
- harr: "\u2194",
- crarr: "\u21B5",
- lArr: "\u21D0",
- uArr: "\u21D1",
- rArr: "\u21D2",
- dArr: "\u21D3",
- hArr: "\u21D4",
- forall: "\u2200",
- part: "\u2202",
- exist: "\u2203",
- empty: "\u2205",
- nabla: "\u2207",
- isin: "\u2208",
- notin: "\u2209",
- ni: "\u220B",
- prod: "\u220F",
- sum: "\u2211",
- minus: "\u2212",
- lowast: "\u2217",
- radic: "\u221A",
- prop: "\u221D",
- infin: "\u221E",
- ang: "\u2220",
- and: "\u2227",
- or: "\u2228",
- cap: "\u2229",
- cup: "\u222A",
- int: "\u222B",
- there4: "\u2234",
- sim: "\u223C",
- cong: "\u2245",
- asymp: "\u2248",
- ne: "\u2260",
- equiv: "\u2261",
- le: "\u2264",
- ge: "\u2265",
- sub: "\u2282",
- sup: "\u2283",
- nsub: "\u2284",
- sube: "\u2286",
- supe: "\u2287",
- oplus: "\u2295",
- otimes: "\u2297",
- perp: "\u22A5",
- sdot: "\u22C5",
- lceil: "\u2308",
- rceil: "\u2309",
- lfloor: "\u230A",
- rfloor: "\u230B",
- lang: "\u2329",
- rang: "\u232A",
- loz: "\u25CA",
- spades: "\u2660",
- clubs: "\u2663",
- hearts: "\u2665",
- diams: "\u2666"
-};
-
-const JsxErrors = ParseErrorEnum`jsx`(_ => ({
- AttributeIsEmpty: _("JSX attributes must only be assigned a non-empty expression."),
- MissingClosingTagElement: _(({
- openingTagName
- }) => `Expected corresponding JSX closing tag for <${openingTagName}>.`),
- MissingClosingTagFragment: _("Expected corresponding JSX closing tag for <>."),
- UnexpectedSequenceExpression: _("Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?"),
- UnexpectedToken: _(({
- unexpected,
- HTMLEntity
- }) => `Unexpected token \`${unexpected}\`. Did you mean \`${HTMLEntity}\` or \`{'${unexpected}'}\`?`),
- UnsupportedJsxValue: _("JSX value should be either an expression or a quoted JSX text."),
- UnterminatedJsxContent: _("Unterminated JSX contents."),
- UnwrappedAdjacentJSXElements: _("Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?")
-}));
-
-function isFragment(object) {
- return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false;
-}
-
-function getQualifiedJSXName(object) {
- if (object.type === "JSXIdentifier") {
- return object.name;
- }
-
- if (object.type === "JSXNamespacedName") {
- return object.namespace.name + ":" + object.name.name;
- }
-
- if (object.type === "JSXMemberExpression") {
- return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property);
- }
-
- throw new Error("Node had unexpected type: " + object.type);
-}
-
-var jsx = (superClass => class extends superClass {
- jsxReadToken() {
- let out = "";
- let chunkStart = this.state.pos;
-
- for (;;) {
- if (this.state.pos >= this.length) {
- throw this.raise(JsxErrors.UnterminatedJsxContent, {
- at: this.state.startLoc
- });
- }
-
- const ch = this.input.charCodeAt(this.state.pos);
-
- switch (ch) {
- case 60:
- case 123:
- if (this.state.pos === this.state.start) {
- if (ch === 60 && this.state.canStartJSXElement) {
- ++this.state.pos;
- return this.finishToken(138);
- }
-
- return super.getTokenFromCode(ch);
- }
-
- out += this.input.slice(chunkStart, this.state.pos);
- return this.finishToken(137, out);
-
- case 38:
- out += this.input.slice(chunkStart, this.state.pos);
- out += this.jsxReadEntity();
- chunkStart = this.state.pos;
- break;
-
- case 62:
- case 125:
-
- default:
- if (isNewLine(ch)) {
- out += this.input.slice(chunkStart, this.state.pos);
- out += this.jsxReadNewLine(true);
- chunkStart = this.state.pos;
- } else {
- ++this.state.pos;
- }
-
- }
- }
- }
-
- jsxReadNewLine(normalizeCRLF) {
- const ch = this.input.charCodeAt(this.state.pos);
- let out;
- ++this.state.pos;
-
- if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) {
- ++this.state.pos;
- out = normalizeCRLF ? "\n" : "\r\n";
- } else {
- out = String.fromCharCode(ch);
- }
-
- ++this.state.curLine;
- this.state.lineStart = this.state.pos;
- return out;
- }
-
- jsxReadString(quote) {
- let out = "";
- let chunkStart = ++this.state.pos;
-
- for (;;) {
- if (this.state.pos >= this.length) {
- throw this.raise(Errors.UnterminatedString, {
- at: this.state.startLoc
- });
- }
-
- const ch = this.input.charCodeAt(this.state.pos);
- if (ch === quote) break;
-
- if (ch === 38) {
- out += this.input.slice(chunkStart, this.state.pos);
- out += this.jsxReadEntity();
- chunkStart = this.state.pos;
- } else if (isNewLine(ch)) {
- out += this.input.slice(chunkStart, this.state.pos);
- out += this.jsxReadNewLine(false);
- chunkStart = this.state.pos;
- } else {
- ++this.state.pos;
- }
- }
-
- out += this.input.slice(chunkStart, this.state.pos++);
- return this.finishToken(129, out);
- }
-
- jsxReadEntity() {
- const startPos = ++this.state.pos;
-
- if (this.codePointAtPos(this.state.pos) === 35) {
- ++this.state.pos;
- let radix = 10;
-
- if (this.codePointAtPos(this.state.pos) === 120) {
- radix = 16;
- ++this.state.pos;
- }
-
- const codePoint = this.readInt(radix, undefined, false, "bail");
-
- if (codePoint !== null && this.codePointAtPos(this.state.pos) === 59) {
- ++this.state.pos;
- return String.fromCodePoint(codePoint);
- }
- } else {
- let count = 0;
- let semi = false;
-
- while (count++ < 10 && this.state.pos < this.length && !(semi = this.codePointAtPos(this.state.pos) == 59)) {
- ++this.state.pos;
- }
-
- if (semi) {
- const desc = this.input.slice(startPos, this.state.pos);
- const entity = entities[desc];
- ++this.state.pos;
-
- if (entity) {
- return entity;
- }
- }
- }
-
- this.state.pos = startPos;
- return "&";
- }
-
- jsxReadWord() {
- let ch;
- const start = this.state.pos;
-
- do {
- ch = this.input.charCodeAt(++this.state.pos);
- } while (isIdentifierChar(ch) || ch === 45);
-
- return this.finishToken(136, this.input.slice(start, this.state.pos));
- }
-
- jsxParseIdentifier() {
- const node = this.startNode();
-
- if (this.match(136)) {
- node.name = this.state.value;
- } else if (tokenIsKeyword(this.state.type)) {
- node.name = tokenLabelName(this.state.type);
- } else {
- this.unexpected();
- }
-
- this.next();
- return this.finishNode(node, "JSXIdentifier");
- }
-
- jsxParseNamespacedName() {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- const name = this.jsxParseIdentifier();
- if (!this.eat(14)) return name;
- const node = this.startNodeAt(startPos, startLoc);
- node.namespace = name;
- node.name = this.jsxParseIdentifier();
- return this.finishNode(node, "JSXNamespacedName");
- }
-
- jsxParseElementName() {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- let node = this.jsxParseNamespacedName();
-
- if (node.type === "JSXNamespacedName") {
- return node;
- }
-
- while (this.eat(16)) {
- const newNode = this.startNodeAt(startPos, startLoc);
- newNode.object = node;
- newNode.property = this.jsxParseIdentifier();
- node = this.finishNode(newNode, "JSXMemberExpression");
- }
-
- return node;
- }
-
- jsxParseAttributeValue() {
- let node;
-
- switch (this.state.type) {
- case 5:
- node = this.startNode();
- this.setContext(types.brace);
- this.next();
- node = this.jsxParseExpressionContainer(node, types.j_oTag);
-
- if (node.expression.type === "JSXEmptyExpression") {
- this.raise(JsxErrors.AttributeIsEmpty, {
- at: node
- });
- }
-
- return node;
-
- case 138:
- case 129:
- return this.parseExprAtom();
-
- default:
- throw this.raise(JsxErrors.UnsupportedJsxValue, {
- at: this.state.startLoc
- });
- }
- }
-
- jsxParseEmptyExpression() {
- const node = this.startNodeAt(this.state.lastTokEndLoc.index, this.state.lastTokEndLoc);
- return this.finishNodeAt(node, "JSXEmptyExpression", this.state.startLoc);
- }
-
- jsxParseSpreadChild(node) {
- this.next();
- node.expression = this.parseExpression();
- this.setContext(types.j_oTag);
- this.state.canStartJSXElement = true;
- this.expect(8);
- return this.finishNode(node, "JSXSpreadChild");
- }
-
- jsxParseExpressionContainer(node, previousContext) {
- if (this.match(8)) {
- node.expression = this.jsxParseEmptyExpression();
- } else {
- const expression = this.parseExpression();
- node.expression = expression;
- }
-
- this.setContext(previousContext);
- this.state.canStartJSXElement = true;
- this.expect(8);
- return this.finishNode(node, "JSXExpressionContainer");
- }
-
- jsxParseAttribute() {
- const node = this.startNode();
-
- if (this.match(5)) {
- this.setContext(types.brace);
- this.next();
- this.expect(21);
- node.argument = this.parseMaybeAssignAllowIn();
- this.setContext(types.j_oTag);
- this.state.canStartJSXElement = true;
- this.expect(8);
- return this.finishNode(node, "JSXSpreadAttribute");
- }
-
- node.name = this.jsxParseNamespacedName();
- node.value = this.eat(29) ? this.jsxParseAttributeValue() : null;
- return this.finishNode(node, "JSXAttribute");
- }
-
- jsxParseOpeningElementAt(startPos, startLoc) {
- const node = this.startNodeAt(startPos, startLoc);
-
- if (this.eat(139)) {
- return this.finishNode(node, "JSXOpeningFragment");
- }
-
- node.name = this.jsxParseElementName();
- return this.jsxParseOpeningElementAfterName(node);
- }
-
- jsxParseOpeningElementAfterName(node) {
- const attributes = [];
-
- while (!this.match(56) && !this.match(139)) {
- attributes.push(this.jsxParseAttribute());
- }
-
- node.attributes = attributes;
- node.selfClosing = this.eat(56);
- this.expect(139);
- return this.finishNode(node, "JSXOpeningElement");
- }
-
- jsxParseClosingElementAt(startPos, startLoc) {
- const node = this.startNodeAt(startPos, startLoc);
-
- if (this.eat(139)) {
- return this.finishNode(node, "JSXClosingFragment");
- }
-
- node.name = this.jsxParseElementName();
- this.expect(139);
- return this.finishNode(node, "JSXClosingElement");
- }
-
- jsxParseElementAt(startPos, startLoc) {
- const node = this.startNodeAt(startPos, startLoc);
- const children = [];
- const openingElement = this.jsxParseOpeningElementAt(startPos, startLoc);
- let closingElement = null;
-
- if (!openingElement.selfClosing) {
- contents: for (;;) {
- switch (this.state.type) {
- case 138:
- startPos = this.state.start;
- startLoc = this.state.startLoc;
- this.next();
-
- if (this.eat(56)) {
- closingElement = this.jsxParseClosingElementAt(startPos, startLoc);
- break contents;
- }
-
- children.push(this.jsxParseElementAt(startPos, startLoc));
- break;
-
- case 137:
- children.push(this.parseExprAtom());
- break;
-
- case 5:
- {
- const node = this.startNode();
- this.setContext(types.brace);
- this.next();
-
- if (this.match(21)) {
- children.push(this.jsxParseSpreadChild(node));
- } else {
- children.push(this.jsxParseExpressionContainer(node, types.j_expr));
- }
-
- break;
- }
-
- default:
- throw this.unexpected();
- }
- }
-
- if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) {
- this.raise(JsxErrors.MissingClosingTagFragment, {
- at: closingElement
- });
- } else if (!isFragment(openingElement) && isFragment(closingElement)) {
- this.raise(JsxErrors.MissingClosingTagElement, {
- at: closingElement,
- openingTagName: getQualifiedJSXName(openingElement.name)
- });
- } else if (!isFragment(openingElement) && !isFragment(closingElement)) {
- if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) {
- this.raise(JsxErrors.MissingClosingTagElement, {
- at: closingElement,
- openingTagName: getQualifiedJSXName(openingElement.name)
- });
- }
- }
- }
-
- if (isFragment(openingElement)) {
- node.openingFragment = openingElement;
- node.closingFragment = closingElement;
- } else {
- node.openingElement = openingElement;
- node.closingElement = closingElement;
- }
-
- node.children = children;
-
- if (this.match(47)) {
- throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, {
- at: this.state.startLoc
- });
- }
-
- return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement");
- }
-
- jsxParseElement() {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- this.next();
- return this.jsxParseElementAt(startPos, startLoc);
- }
-
- setContext(newContext) {
- const {
- context
- } = this.state;
- context[context.length - 1] = newContext;
- }
-
- parseExprAtom(refExpressionErrors) {
- if (this.match(137)) {
- return this.parseLiteral(this.state.value, "JSXText");
- } else if (this.match(138)) {
- return this.jsxParseElement();
- } else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) {
- this.replaceToken(138);
- return this.jsxParseElement();
- } else {
- return super.parseExprAtom(refExpressionErrors);
- }
- }
-
- skipSpace() {
- const curContext = this.curContext();
- if (!curContext.preserveSpace) super.skipSpace();
- }
-
- getTokenFromCode(code) {
- const context = this.curContext();
-
- if (context === types.j_expr) {
- return this.jsxReadToken();
- }
-
- if (context === types.j_oTag || context === types.j_cTag) {
- if (isIdentifierStart(code)) {
- return this.jsxReadWord();
- }
-
- if (code === 62) {
- ++this.state.pos;
- return this.finishToken(139);
- }
-
- if ((code === 34 || code === 39) && context === types.j_oTag) {
- return this.jsxReadString(code);
- }
- }
-
- if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
- ++this.state.pos;
- return this.finishToken(138);
- }
-
- return super.getTokenFromCode(code);
- }
-
- updateContext(prevType) {
- const {
- context,
- type
- } = this.state;
-
- if (type === 56 && prevType === 138) {
- context.splice(-2, 2, types.j_cTag);
- this.state.canStartJSXElement = false;
- } else if (type === 138) {
- context.push(types.j_oTag);
- } else if (type === 139) {
- const out = context[context.length - 1];
-
- if (out === types.j_oTag && prevType === 56 || out === types.j_cTag) {
- context.pop();
- this.state.canStartJSXElement = context[context.length - 1] === types.j_expr;
- } else {
- this.setContext(types.j_expr);
- this.state.canStartJSXElement = true;
- }
- } else {
- this.state.canStartJSXElement = tokenComesBeforeExpression(type);
- }
- }
-
-});
-
-class TypeScriptScope extends Scope {
- constructor(...args) {
- super(...args);
- this.types = new Set();
- this.enums = new Set();
- this.constEnums = new Set();
- this.classes = new Set();
- this.exportOnlyBindings = new Set();
- }
-
-}
-
-class TypeScriptScopeHandler extends ScopeHandler {
- createScope(flags) {
- return new TypeScriptScope(flags);
- }
-
- declareName(name, bindingType, loc) {
- const scope = this.currentScope();
-
- if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) {
- this.maybeExportDefined(scope, name);
- scope.exportOnlyBindings.add(name);
- return;
- }
-
- super.declareName(...arguments);
-
- if (bindingType & BIND_KIND_TYPE) {
- if (!(bindingType & BIND_KIND_VALUE)) {
- this.checkRedeclarationInScope(scope, name, bindingType, loc);
- this.maybeExportDefined(scope, name);
- }
-
- scope.types.add(name);
- }
-
- if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.add(name);
- if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.add(name);
- if (bindingType & BIND_FLAGS_CLASS) scope.classes.add(name);
- }
-
- isRedeclaredInScope(scope, name, bindingType) {
- if (scope.enums.has(name)) {
- if (bindingType & BIND_FLAGS_TS_ENUM) {
- const isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM);
- const wasConst = scope.constEnums.has(name);
- return isConst !== wasConst;
- }
-
- return true;
- }
-
- if (bindingType & BIND_FLAGS_CLASS && scope.classes.has(name)) {
- if (scope.lexical.has(name)) {
- return !!(bindingType & BIND_KIND_VALUE);
- } else {
- return false;
- }
- }
-
- if (bindingType & BIND_KIND_TYPE && scope.types.has(name)) {
- return true;
- }
-
- return super.isRedeclaredInScope(...arguments);
- }
-
- checkLocalExport(id) {
- const topLevelScope = this.scopeStack[0];
- const {
- name
- } = id;
-
- if (!topLevelScope.types.has(name) && !topLevelScope.exportOnlyBindings.has(name)) {
- super.checkLocalExport(id);
- }
- }
-
-}
-
-const getOwn$1 = (object, key) => Object.hasOwnProperty.call(object, key) && object[key];
-
-function nonNull(x) {
- if (x == null) {
- throw new Error(`Unexpected ${x} value.`);
- }
-
- return x;
-}
-
-function assert(x) {
- if (!x) {
- throw new Error("Assert fail");
- }
-}
-
-function tsTokenCanStartExpression(token) {
- return tokenCanStartExpression(token) || tokenIsBinaryOperator(token);
-}
-
-const TSErrors = ParseErrorEnum`typescript`(_ => ({
- AbstractMethodHasImplementation: _(({
- methodName
- }) => `Method '${methodName}' cannot have an implementation because it is marked abstract.`),
- AbstractPropertyHasInitializer: _(({
- propertyName
- }) => `Property '${propertyName}' cannot have an initializer because it is marked abstract.`),
- AccesorCannotDeclareThisParameter: _("'get' and 'set' accessors cannot declare 'this' parameters."),
- AccesorCannotHaveTypeParameters: _("An accessor cannot have type parameters."),
- CannotFindName: _(({
- name
- }) => `Cannot find name '${name}'.`),
- ClassMethodHasDeclare: _("Class methods cannot have the 'declare' modifier."),
- ClassMethodHasReadonly: _("Class methods cannot have the 'readonly' modifier."),
- ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference: _("A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),
- ConstructorHasTypeParameters: _("Type parameters cannot appear on a constructor declaration."),
- DeclareAccessor: _(({
- kind
- }) => `'declare' is not allowed in ${kind}ters.`),
- DeclareClassFieldHasInitializer: _("Initializers are not allowed in ambient contexts."),
- DeclareFunctionHasImplementation: _("An implementation cannot be declared in ambient contexts."),
- DuplicateAccessibilityModifier: _(({
- modifier
- }) => `Accessibility modifier already seen.`),
- DuplicateModifier: _(({
- modifier
- }) => `Duplicate modifier: '${modifier}'.`),
- EmptyHeritageClauseType: _(({
- token
- }) => `'${token}' list cannot be empty.`),
- EmptyTypeArguments: _("Type argument list cannot be empty."),
- EmptyTypeParameters: _("Type parameter list cannot be empty."),
- ExpectedAmbientAfterExportDeclare: _("'export declare' must be followed by an ambient declaration."),
- ImportAliasHasImportType: _("An import alias can not use 'import type'."),
- IncompatibleModifiers: _(({
- modifiers
- }) => `'${modifiers[0]}' modifier cannot be used with '${modifiers[1]}' modifier.`),
- IndexSignatureHasAbstract: _("Index signatures cannot have the 'abstract' modifier."),
- IndexSignatureHasAccessibility: _(({
- modifier
- }) => `Index signatures cannot have an accessibility modifier ('${modifier}').`),
- IndexSignatureHasDeclare: _("Index signatures cannot have the 'declare' modifier."),
- IndexSignatureHasOverride: _("'override' modifier cannot appear on an index signature."),
- IndexSignatureHasStatic: _("Index signatures cannot have the 'static' modifier."),
- InitializerNotAllowedInAmbientContext: _("Initializers are not allowed in ambient contexts."),
- InvalidModifierOnTypeMember: _(({
- modifier
- }) => `'${modifier}' modifier cannot appear on a type member.`),
- InvalidModifierOnTypeParameter: _(({
- modifier
- }) => `'${modifier}' modifier cannot appear on a type parameter.`),
- InvalidModifierOnTypeParameterPositions: _(({
- modifier
- }) => `'${modifier}' modifier can only appear on a type parameter of a class, interface or type alias.`),
- InvalidModifiersOrder: _(({
- orderedModifiers
- }) => `'${orderedModifiers[0]}' modifier must precede '${orderedModifiers[1]}' modifier.`),
- InvalidTupleMemberLabel: _("Tuple members must be labeled with a simple identifier."),
- MissingInterfaceName: _("'interface' declarations must be followed by an identifier."),
- MixedLabeledAndUnlabeledElements: _("Tuple members must all have names or all not have names."),
- NonAbstractClassHasAbstractMethod: _("Abstract methods can only appear within an abstract class."),
- NonClassMethodPropertyHasAbstractModifer: _("'abstract' modifier can only appear on a class, method, or property declaration."),
- OptionalTypeBeforeRequired: _("A required element cannot follow an optional element."),
- OverrideNotInSubClass: _("This member cannot have an 'override' modifier because its containing class does not extend another class."),
- PatternIsOptional: _("A binding pattern parameter cannot be optional in an implementation signature."),
- PrivateElementHasAbstract: _("Private elements cannot have the 'abstract' modifier."),
- PrivateElementHasAccessibility: _(({
- modifier
- }) => `Private elements cannot have an accessibility modifier ('${modifier}').`),
- ReadonlyForMethodSignature: _("'readonly' modifier can only appear on a property declaration or index signature."),
- ReservedArrowTypeParam: _("This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`."),
- ReservedTypeAssertion: _("This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),
- SetAccesorCannotHaveOptionalParameter: _("A 'set' accessor cannot have an optional parameter."),
- SetAccesorCannotHaveRestParameter: _("A 'set' accessor cannot have rest parameter."),
- SetAccesorCannotHaveReturnType: _("A 'set' accessor cannot have a return type annotation."),
- SingleTypeParameterWithoutTrailingComma: _(({
- typeParameterName
- }) => `Single type parameter ${typeParameterName} should have a trailing comma. Example usage: <${typeParameterName},>.`),
- StaticBlockCannotHaveModifier: _("Static class blocks cannot have any modifier."),
- TypeAnnotationAfterAssign: _("Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`."),
- TypeImportCannotSpecifyDefaultAndNamed: _("A type-only import can specify a default import or named bindings, but not both."),
- TypeModifierIsUsedInTypeExports: _("The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),
- TypeModifierIsUsedInTypeImports: _("The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),
- UnexpectedParameterModifier: _("A parameter property is only allowed in a constructor implementation."),
- UnexpectedReadonly: _("'readonly' type modifier is only permitted on array and tuple literal types."),
- UnexpectedTypeAnnotation: _("Did not expect a type annotation here."),
- UnexpectedTypeCastInParameter: _("Unexpected type cast in parameter position."),
- UnsupportedImportTypeArgument: _("Argument in a type import must be a string literal."),
- UnsupportedParameterPropertyKind: _("A parameter property may not be declared using a binding pattern."),
- UnsupportedSignatureParameterKind: _(({
- type
- }) => `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${type}.`)
-}));
-
-function keywordTypeFromName(value) {
- switch (value) {
- case "any":
- return "TSAnyKeyword";
-
- case "boolean":
- return "TSBooleanKeyword";
-
- case "bigint":
- return "TSBigIntKeyword";
-
- case "never":
- return "TSNeverKeyword";
-
- case "number":
- return "TSNumberKeyword";
-
- case "object":
- return "TSObjectKeyword";
-
- case "string":
- return "TSStringKeyword";
-
- case "symbol":
- return "TSSymbolKeyword";
-
- case "undefined":
- return "TSUndefinedKeyword";
-
- case "unknown":
- return "TSUnknownKeyword";
-
- default:
- return undefined;
- }
-}
-
-function tsIsAccessModifier(modifier) {
- return modifier === "private" || modifier === "public" || modifier === "protected";
-}
-
-function tsIsVarianceAnnotations(modifier) {
- return modifier === "in" || modifier === "out";
-}
-
-var typescript = (superClass => class extends superClass {
- getScopeHandler() {
- return TypeScriptScopeHandler;
- }
-
- tsIsIdentifier() {
- return tokenIsIdentifier(this.state.type);
- }
-
- tsTokenCanFollowModifier() {
- return (this.match(0) || this.match(5) || this.match(55) || this.match(21) || this.match(134) || this.isLiteralPropertyName()) && !this.hasPrecedingLineBreak();
- }
-
- tsNextTokenCanFollowModifier() {
- this.next();
- return this.tsTokenCanFollowModifier();
- }
-
- tsParseModifier(allowedModifiers, stopOnStartOfClassStaticBlock) {
- if (!tokenIsIdentifier(this.state.type) && this.state.type !== 58) {
- return undefined;
- }
-
- const modifier = this.state.value;
-
- if (allowedModifiers.indexOf(modifier) !== -1) {
- if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) {
- return undefined;
- }
-
- if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) {
- return modifier;
- }
- }
-
- return undefined;
- }
-
- tsParseModifiers({
- modified,
- allowedModifiers,
- disallowedModifiers,
- stopOnStartOfClassStaticBlock,
- errorTemplate = TSErrors.InvalidModifierOnTypeMember
- }) {
- const enforceOrder = (loc, modifier, before, after) => {
- if (modifier === before && modified[after]) {
- this.raise(TSErrors.InvalidModifiersOrder, {
- at: loc,
- orderedModifiers: [before, after]
- });
- }
- };
-
- const incompatible = (loc, modifier, mod1, mod2) => {
- if (modified[mod1] && modifier === mod2 || modified[mod2] && modifier === mod1) {
- this.raise(TSErrors.IncompatibleModifiers, {
- at: loc,
- modifiers: [mod1, mod2]
- });
- }
- };
-
- for (;;) {
- const {
- startLoc
- } = this.state;
- const modifier = this.tsParseModifier(allowedModifiers.concat(disallowedModifiers != null ? disallowedModifiers : []), stopOnStartOfClassStaticBlock);
- if (!modifier) break;
-
- if (tsIsAccessModifier(modifier)) {
- if (modified.accessibility) {
- this.raise(TSErrors.DuplicateAccessibilityModifier, {
- at: startLoc,
- modifier
- });
- } else {
- enforceOrder(startLoc, modifier, modifier, "override");
- enforceOrder(startLoc, modifier, modifier, "static");
- enforceOrder(startLoc, modifier, modifier, "readonly");
- modified.accessibility = modifier;
- }
- } else if (tsIsVarianceAnnotations(modifier)) {
- if (modified[modifier]) {
- this.raise(TSErrors.DuplicateModifier, {
- at: startLoc,
- modifier
- });
- }
-
- modified[modifier] = true;
- enforceOrder(startLoc, modifier, "in", "out");
- } else {
- if (Object.hasOwnProperty.call(modified, modifier)) {
- this.raise(TSErrors.DuplicateModifier, {
- at: startLoc,
- modifier
- });
- } else {
- enforceOrder(startLoc, modifier, "static", "readonly");
- enforceOrder(startLoc, modifier, "static", "override");
- enforceOrder(startLoc, modifier, "override", "readonly");
- enforceOrder(startLoc, modifier, "abstract", "override");
- incompatible(startLoc, modifier, "declare", "override");
- incompatible(startLoc, modifier, "static", "abstract");
- }
-
- modified[modifier] = true;
- }
-
- if (disallowedModifiers != null && disallowedModifiers.includes(modifier)) {
- this.raise(errorTemplate, {
- at: startLoc,
- modifier
- });
- }
- }
- }
-
- tsIsListTerminator(kind) {
- switch (kind) {
- case "EnumMembers":
- case "TypeMembers":
- return this.match(8);
-
- case "HeritageClauseElement":
- return this.match(5);
-
- case "TupleElementTypes":
- return this.match(3);
-
- case "TypeParametersOrArguments":
- return this.match(48);
- }
-
- throw new Error("Unreachable");
- }
-
- tsParseList(kind, parseElement) {
- const result = [];
-
- while (!this.tsIsListTerminator(kind)) {
- result.push(parseElement());
- }
-
- return result;
- }
-
- tsParseDelimitedList(kind, parseElement, refTrailingCommaPos) {
- return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true, refTrailingCommaPos));
- }
-
- tsParseDelimitedListWorker(kind, parseElement, expectSuccess, refTrailingCommaPos) {
- const result = [];
- let trailingCommaPos = -1;
-
- for (;;) {
- if (this.tsIsListTerminator(kind)) {
- break;
- }
-
- trailingCommaPos = -1;
- const element = parseElement();
-
- if (element == null) {
- return undefined;
- }
-
- result.push(element);
-
- if (this.eat(12)) {
- trailingCommaPos = this.state.lastTokStart;
- continue;
- }
-
- if (this.tsIsListTerminator(kind)) {
- break;
- }
-
- if (expectSuccess) {
- this.expect(12);
- }
-
- return undefined;
- }
-
- if (refTrailingCommaPos) {
- refTrailingCommaPos.value = trailingCommaPos;
- }
-
- return result;
- }
-
- tsParseBracketedList(kind, parseElement, bracket, skipFirstToken, refTrailingCommaPos) {
- if (!skipFirstToken) {
- if (bracket) {
- this.expect(0);
- } else {
- this.expect(47);
- }
- }
-
- const result = this.tsParseDelimitedList(kind, parseElement, refTrailingCommaPos);
-
- if (bracket) {
- this.expect(3);
- } else {
- this.expect(48);
- }
-
- return result;
- }
-
- tsParseImportType() {
- const node = this.startNode();
- this.expect(83);
- this.expect(10);
-
- if (!this.match(129)) {
- this.raise(TSErrors.UnsupportedImportTypeArgument, {
- at: this.state.startLoc
- });
- }
-
- node.argument = this.parseExprAtom();
- this.expect(11);
-
- if (this.eat(16)) {
- node.qualifier = this.tsParseEntityName();
- }
-
- if (this.match(47)) {
- node.typeParameters = this.tsParseTypeArguments();
- }
-
- return this.finishNode(node, "TSImportType");
- }
-
- tsParseEntityName(allowReservedWords = true) {
- let entity = this.parseIdentifier(allowReservedWords);
-
- while (this.eat(16)) {
- const node = this.startNodeAtNode(entity);
- node.left = entity;
- node.right = this.parseIdentifier(allowReservedWords);
- entity = this.finishNode(node, "TSQualifiedName");
- }
-
- return entity;
- }
-
- tsParseTypeReference() {
- const node = this.startNode();
- node.typeName = this.tsParseEntityName();
-
- if (!this.hasPrecedingLineBreak() && this.match(47)) {
- node.typeParameters = this.tsParseTypeArguments();
- }
-
- return this.finishNode(node, "TSTypeReference");
- }
-
- tsParseThisTypePredicate(lhs) {
- this.next();
- const node = this.startNodeAtNode(lhs);
- node.parameterName = lhs;
- node.typeAnnotation = this.tsParseTypeAnnotation(false);
- node.asserts = false;
- return this.finishNode(node, "TSTypePredicate");
- }
-
- tsParseThisTypeNode() {
- const node = this.startNode();
- this.next();
- return this.finishNode(node, "TSThisType");
- }
-
- tsParseTypeQuery() {
- const node = this.startNode();
- this.expect(87);
-
- if (this.match(83)) {
- node.exprName = this.tsParseImportType();
- } else {
- node.exprName = this.tsParseEntityName();
- }
-
- if (!this.hasPrecedingLineBreak() && this.match(47)) {
- node.typeParameters = this.tsParseTypeArguments();
- }
-
- return this.finishNode(node, "TSTypeQuery");
- }
-
- tsParseInOutModifiers(node) {
- this.tsParseModifiers({
- modified: node,
- allowedModifiers: ["in", "out"],
- disallowedModifiers: ["public", "private", "protected", "readonly", "declare", "abstract", "override"],
- errorTemplate: TSErrors.InvalidModifierOnTypeParameter
- });
- }
-
- tsParseNoneModifiers(node) {
- this.tsParseModifiers({
- modified: node,
- allowedModifiers: [],
- disallowedModifiers: ["in", "out"],
- errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions
- });
- }
-
- tsParseTypeParameter(parseModifiers = this.tsParseNoneModifiers.bind(this)) {
- const node = this.startNode();
- parseModifiers(node);
- node.name = this.tsParseTypeParameterName();
- node.constraint = this.tsEatThenParseType(81);
- node.default = this.tsEatThenParseType(29);
- return this.finishNode(node, "TSTypeParameter");
- }
-
- tsTryParseTypeParameters(parseModifiers) {
- if (this.match(47)) {
- return this.tsParseTypeParameters(parseModifiers);
- }
- }
-
- tsParseTypeParameters(parseModifiers) {
- const node = this.startNode();
-
- if (this.match(47) || this.match(138)) {
- this.next();
- } else {
- this.unexpected();
- }
-
- const refTrailingCommaPos = {
- value: -1
- };
- node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this, parseModifiers), false, true, refTrailingCommaPos);
-
- if (node.params.length === 0) {
- this.raise(TSErrors.EmptyTypeParameters, {
- at: node
- });
- }
-
- if (refTrailingCommaPos.value !== -1) {
- this.addExtra(node, "trailingComma", refTrailingCommaPos.value);
- }
-
- return this.finishNode(node, "TSTypeParameterDeclaration");
- }
-
- tsTryNextParseConstantContext() {
- if (this.lookahead().type !== 75) return null;
- this.next();
- const typeReference = this.tsParseTypeReference();
-
- if (typeReference.typeParameters) {
- this.raise(TSErrors.CannotFindName, {
- at: typeReference.typeName,
- name: "const"
- });
- }
-
- return typeReference;
- }
-
- tsFillSignature(returnToken, signature) {
- const returnTokenRequired = returnToken === 19;
- const paramsKey = "parameters";
- const returnTypeKey = "typeAnnotation";
- signature.typeParameters = this.tsTryParseTypeParameters();
- this.expect(10);
- signature[paramsKey] = this.tsParseBindingListForSignature();
-
- if (returnTokenRequired) {
- signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken);
- } else if (this.match(returnToken)) {
- signature[returnTypeKey] = this.tsParseTypeOrTypePredicateAnnotation(returnToken);
- }
- }
-
- tsParseBindingListForSignature() {
- return this.parseBindingList(11, 41).map(pattern => {
- if (pattern.type !== "Identifier" && pattern.type !== "RestElement" && pattern.type !== "ObjectPattern" && pattern.type !== "ArrayPattern") {
- this.raise(TSErrors.UnsupportedSignatureParameterKind, {
- at: pattern,
- type: pattern.type
- });
- }
-
- return pattern;
- });
- }
-
- tsParseTypeMemberSemicolon() {
- if (!this.eat(12) && !this.isLineTerminator()) {
- this.expect(13);
- }
- }
-
- tsParseSignatureMember(kind, node) {
- this.tsFillSignature(14, node);
- this.tsParseTypeMemberSemicolon();
- return this.finishNode(node, kind);
- }
-
- tsIsUnambiguouslyIndexSignature() {
- this.next();
-
- if (tokenIsIdentifier(this.state.type)) {
- this.next();
- return this.match(14);
- }
-
- return false;
- }
-
- tsTryParseIndexSignature(node) {
- if (!(this.match(0) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) {
- return undefined;
- }
-
- this.expect(0);
- const id = this.parseIdentifier();
- id.typeAnnotation = this.tsParseTypeAnnotation();
- this.resetEndLocation(id);
- this.expect(3);
- node.parameters = [id];
- const type = this.tsTryParseTypeAnnotation();
- if (type) node.typeAnnotation = type;
- this.tsParseTypeMemberSemicolon();
- return this.finishNode(node, "TSIndexSignature");
- }
-
- tsParsePropertyOrMethodSignature(node, readonly) {
- if (this.eat(17)) node.optional = true;
- const nodeAny = node;
-
- if (this.match(10) || this.match(47)) {
- if (readonly) {
- this.raise(TSErrors.ReadonlyForMethodSignature, {
- at: node
- });
- }
-
- const method = nodeAny;
-
- if (method.kind && this.match(47)) {
- this.raise(TSErrors.AccesorCannotHaveTypeParameters, {
- at: this.state.curPosition()
- });
- }
-
- this.tsFillSignature(14, method);
- this.tsParseTypeMemberSemicolon();
- const paramsKey = "parameters";
- const returnTypeKey = "typeAnnotation";
-
- if (method.kind === "get") {
- if (method[paramsKey].length > 0) {
- this.raise(Errors.BadGetterArity, {
- at: this.state.curPosition()
- });
-
- if (this.isThisParam(method[paramsKey][0])) {
- this.raise(TSErrors.AccesorCannotDeclareThisParameter, {
- at: this.state.curPosition()
- });
- }
- }
- } else if (method.kind === "set") {
- if (method[paramsKey].length !== 1) {
- this.raise(Errors.BadSetterArity, {
- at: this.state.curPosition()
- });
- } else {
- const firstParameter = method[paramsKey][0];
-
- if (this.isThisParam(firstParameter)) {
- this.raise(TSErrors.AccesorCannotDeclareThisParameter, {
- at: this.state.curPosition()
- });
- }
-
- if (firstParameter.type === "Identifier" && firstParameter.optional) {
- this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter, {
- at: this.state.curPosition()
- });
- }
-
- if (firstParameter.type === "RestElement") {
- this.raise(TSErrors.SetAccesorCannotHaveRestParameter, {
- at: this.state.curPosition()
- });
- }
- }
-
- if (method[returnTypeKey]) {
- this.raise(TSErrors.SetAccesorCannotHaveReturnType, {
- at: method[returnTypeKey]
- });
- }
- } else {
- method.kind = "method";
- }
-
- return this.finishNode(method, "TSMethodSignature");
- } else {
- const property = nodeAny;
- if (readonly) property.readonly = true;
- const type = this.tsTryParseTypeAnnotation();
- if (type) property.typeAnnotation = type;
- this.tsParseTypeMemberSemicolon();
- return this.finishNode(property, "TSPropertySignature");
- }
- }
-
- tsParseTypeMember() {
- const node = this.startNode();
-
- if (this.match(10) || this.match(47)) {
- return this.tsParseSignatureMember("TSCallSignatureDeclaration", node);
- }
-
- if (this.match(77)) {
- const id = this.startNode();
- this.next();
-
- if (this.match(10) || this.match(47)) {
- return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node);
- } else {
- node.key = this.createIdentifier(id, "new");
- return this.tsParsePropertyOrMethodSignature(node, false);
- }
- }
-
- this.tsParseModifiers({
- modified: node,
- allowedModifiers: ["readonly"],
- disallowedModifiers: ["declare", "abstract", "private", "protected", "public", "static", "override"]
- });
- const idx = this.tsTryParseIndexSignature(node);
-
- if (idx) {
- return idx;
- }
-
- this.parsePropertyName(node);
-
- if (!node.computed && node.key.type === "Identifier" && (node.key.name === "get" || node.key.name === "set") && this.tsTokenCanFollowModifier()) {
- node.kind = node.key.name;
- this.parsePropertyName(node);
- }
-
- return this.tsParsePropertyOrMethodSignature(node, !!node.readonly);
- }
-
- tsParseTypeLiteral() {
- const node = this.startNode();
- node.members = this.tsParseObjectTypeMembers();
- return this.finishNode(node, "TSTypeLiteral");
- }
-
- tsParseObjectTypeMembers() {
- this.expect(5);
- const members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this));
- this.expect(8);
- return members;
- }
-
- tsIsStartOfMappedType() {
- this.next();
-
- if (this.eat(53)) {
- return this.isContextual(118);
- }
-
- if (this.isContextual(118)) {
- this.next();
- }
-
- if (!this.match(0)) {
- return false;
- }
-
- this.next();
-
- if (!this.tsIsIdentifier()) {
- return false;
- }
-
- this.next();
- return this.match(58);
- }
-
- tsParseMappedTypeParameter() {
- const node = this.startNode();
- node.name = this.tsParseTypeParameterName();
- node.constraint = this.tsExpectThenParseType(58);
- return this.finishNode(node, "TSTypeParameter");
- }
-
- tsParseMappedType() {
- const node = this.startNode();
- this.expect(5);
-
- if (this.match(53)) {
- node.readonly = this.state.value;
- this.next();
- this.expectContextual(118);
- } else if (this.eatContextual(118)) {
- node.readonly = true;
- }
-
- this.expect(0);
- node.typeParameter = this.tsParseMappedTypeParameter();
- node.nameType = this.eatContextual(93) ? this.tsParseType() : null;
- this.expect(3);
-
- if (this.match(53)) {
- node.optional = this.state.value;
- this.next();
- this.expect(17);
- } else if (this.eat(17)) {
- node.optional = true;
- }
-
- node.typeAnnotation = this.tsTryParseType();
- this.semicolon();
- this.expect(8);
- return this.finishNode(node, "TSMappedType");
- }
-
- tsParseTupleType() {
- const node = this.startNode();
- node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false);
- let seenOptionalElement = false;
- let labeledElements = null;
- node.elementTypes.forEach(elementNode => {
- var _labeledElements;
-
- let {
- type
- } = elementNode;
-
- if (seenOptionalElement && type !== "TSRestType" && type !== "TSOptionalType" && !(type === "TSNamedTupleMember" && elementNode.optional)) {
- this.raise(TSErrors.OptionalTypeBeforeRequired, {
- at: elementNode
- });
- }
-
- seenOptionalElement = seenOptionalElement || type === "TSNamedTupleMember" && elementNode.optional || type === "TSOptionalType";
-
- if (type === "TSRestType") {
- elementNode = elementNode.typeAnnotation;
- type = elementNode.type;
- }
-
- const isLabeled = type === "TSNamedTupleMember";
- labeledElements = (_labeledElements = labeledElements) != null ? _labeledElements : isLabeled;
-
- if (labeledElements !== isLabeled) {
- this.raise(TSErrors.MixedLabeledAndUnlabeledElements, {
- at: elementNode
- });
- }
- });
- return this.finishNode(node, "TSTupleType");
- }
-
- tsParseTupleElementType() {
- const {
- start: startPos,
- startLoc
- } = this.state;
- const rest = this.eat(21);
- let type = this.tsParseType();
- const optional = this.eat(17);
- const labeled = this.eat(14);
-
- if (labeled) {
- const labeledNode = this.startNodeAtNode(type);
- labeledNode.optional = optional;
-
- if (type.type === "TSTypeReference" && !type.typeParameters && type.typeName.type === "Identifier") {
- labeledNode.label = type.typeName;
- } else {
- this.raise(TSErrors.InvalidTupleMemberLabel, {
- at: type
- });
- labeledNode.label = type;
- }
-
- labeledNode.elementType = this.tsParseType();
- type = this.finishNode(labeledNode, "TSNamedTupleMember");
- } else if (optional) {
- const optionalTypeNode = this.startNodeAtNode(type);
- optionalTypeNode.typeAnnotation = type;
- type = this.finishNode(optionalTypeNode, "TSOptionalType");
- }
-
- if (rest) {
- const restNode = this.startNodeAt(startPos, startLoc);
- restNode.typeAnnotation = type;
- type = this.finishNode(restNode, "TSRestType");
- }
-
- return type;
- }
-
- tsParseParenthesizedType() {
- const node = this.startNode();
- this.expect(10);
- node.typeAnnotation = this.tsParseType();
- this.expect(11);
- return this.finishNode(node, "TSParenthesizedType");
- }
-
- tsParseFunctionOrConstructorType(type, abstract) {
- const node = this.startNode();
-
- if (type === "TSConstructorType") {
- node.abstract = !!abstract;
- if (abstract) this.next();
- this.next();
- }
-
- this.tsInAllowConditionalTypesContext(() => this.tsFillSignature(19, node));
- return this.finishNode(node, type);
- }
-
- tsParseLiteralTypeNode() {
- const node = this.startNode();
-
- node.literal = (() => {
- switch (this.state.type) {
- case 130:
- case 131:
- case 129:
- case 85:
- case 86:
- return this.parseExprAtom();
-
- default:
- throw this.unexpected();
- }
- })();
-
- return this.finishNode(node, "TSLiteralType");
- }
-
- tsParseTemplateLiteralType() {
- const node = this.startNode();
- node.literal = this.parseTemplate(false);
- return this.finishNode(node, "TSLiteralType");
- }
-
- parseTemplateSubstitution() {
- if (this.state.inType) return this.tsParseType();
- return super.parseTemplateSubstitution();
- }
-
- tsParseThisTypeOrThisTypePredicate() {
- const thisKeyword = this.tsParseThisTypeNode();
-
- if (this.isContextual(113) && !this.hasPrecedingLineBreak()) {
- return this.tsParseThisTypePredicate(thisKeyword);
- } else {
- return thisKeyword;
- }
- }
-
- tsParseNonArrayType() {
- switch (this.state.type) {
- case 129:
- case 130:
- case 131:
- case 85:
- case 86:
- return this.tsParseLiteralTypeNode();
-
- case 53:
- if (this.state.value === "-") {
- const node = this.startNode();
- const nextToken = this.lookahead();
-
- if (nextToken.type !== 130 && nextToken.type !== 131) {
- throw this.unexpected();
- }
-
- node.literal = this.parseMaybeUnary();
- return this.finishNode(node, "TSLiteralType");
- }
-
- break;
-
- case 78:
- return this.tsParseThisTypeOrThisTypePredicate();
-
- case 87:
- return this.tsParseTypeQuery();
-
- case 83:
- return this.tsParseImportType();
-
- case 5:
- return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral();
-
- case 0:
- return this.tsParseTupleType();
-
- case 10:
- return this.tsParseParenthesizedType();
-
- case 25:
- case 24:
- return this.tsParseTemplateLiteralType();
-
- default:
- {
- const {
- type
- } = this.state;
-
- if (tokenIsIdentifier(type) || type === 88 || type === 84) {
- const nodeType = type === 88 ? "TSVoidKeyword" : type === 84 ? "TSNullKeyword" : keywordTypeFromName(this.state.value);
-
- if (nodeType !== undefined && this.lookaheadCharCode() !== 46) {
- const node = this.startNode();
- this.next();
- return this.finishNode(node, nodeType);
- }
-
- return this.tsParseTypeReference();
- }
- }
- }
-
- throw this.unexpected();
- }
-
- tsParseArrayTypeOrHigher() {
- let type = this.tsParseNonArrayType();
-
- while (!this.hasPrecedingLineBreak() && this.eat(0)) {
- if (this.match(3)) {
- const node = this.startNodeAtNode(type);
- node.elementType = type;
- this.expect(3);
- type = this.finishNode(node, "TSArrayType");
- } else {
- const node = this.startNodeAtNode(type);
- node.objectType = type;
- node.indexType = this.tsParseType();
- this.expect(3);
- type = this.finishNode(node, "TSIndexedAccessType");
- }
- }
-
- return type;
- }
-
- tsParseTypeOperator() {
- const node = this.startNode();
- const operator = this.state.value;
- this.next();
- node.operator = operator;
- node.typeAnnotation = this.tsParseTypeOperatorOrHigher();
-
- if (operator === "readonly") {
- this.tsCheckTypeAnnotationForReadOnly(node);
- }
-
- return this.finishNode(node, "TSTypeOperator");
- }
-
- tsCheckTypeAnnotationForReadOnly(node) {
- switch (node.typeAnnotation.type) {
- case "TSTupleType":
- case "TSArrayType":
- return;
-
- default:
- this.raise(TSErrors.UnexpectedReadonly, {
- at: node
- });
- }
- }
-
- tsParseInferType() {
- const node = this.startNode();
- this.expectContextual(112);
- const typeParameter = this.startNode();
- typeParameter.name = this.tsParseTypeParameterName();
- typeParameter.constraint = this.tsTryParse(() => this.tsParseConstraintForInferType());
- node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter");
- return this.finishNode(node, "TSInferType");
- }
-
- tsParseConstraintForInferType() {
- if (this.eat(81)) {
- const constraint = this.tsInDisallowConditionalTypesContext(() => this.tsParseType());
-
- if (this.state.inDisallowConditionalTypesContext || !this.match(17)) {
- return constraint;
- }
- }
- }
-
- tsParseTypeOperatorOrHigher() {
- const isTypeOperator = tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc;
- return isTypeOperator ? this.tsParseTypeOperator() : this.isContextual(112) ? this.tsParseInferType() : this.tsInAllowConditionalTypesContext(() => this.tsParseArrayTypeOrHigher());
- }
-
- tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) {
- const node = this.startNode();
- const hasLeadingOperator = this.eat(operator);
- const types = [];
-
- do {
- types.push(parseConstituentType());
- } while (this.eat(operator));
-
- if (types.length === 1 && !hasLeadingOperator) {
- return types[0];
- }
-
- node.types = types;
- return this.finishNode(node, kind);
- }
-
- tsParseIntersectionTypeOrHigher() {
- return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), 45);
- }
-
- tsParseUnionTypeOrHigher() {
- return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), 43);
- }
-
- tsIsStartOfFunctionType() {
- if (this.match(47)) {
- return true;
- }
-
- return this.match(10) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));
- }
-
- tsSkipParameterStart() {
- if (tokenIsIdentifier(this.state.type) || this.match(78)) {
- this.next();
- return true;
- }
-
- if (this.match(5)) {
- const {
- errors
- } = this.state;
- const previousErrorCount = errors.length;
-
- try {
- this.parseObjectLike(8, true);
- return errors.length === previousErrorCount;
- } catch (_unused) {
- return false;
- }
- }
-
- if (this.match(0)) {
- this.next();
- const {
- errors
- } = this.state;
- const previousErrorCount = errors.length;
-
- try {
- this.parseBindingList(3, 93, true);
- return errors.length === previousErrorCount;
- } catch (_unused2) {
- return false;
- }
- }
-
- return false;
- }
-
- tsIsUnambiguouslyStartOfFunctionType() {
- this.next();
-
- if (this.match(11) || this.match(21)) {
- return true;
- }
-
- if (this.tsSkipParameterStart()) {
- if (this.match(14) || this.match(12) || this.match(17) || this.match(29)) {
- return true;
- }
-
- if (this.match(11)) {
- this.next();
-
- if (this.match(19)) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- tsParseTypeOrTypePredicateAnnotation(returnToken) {
- return this.tsInType(() => {
- const t = this.startNode();
- this.expect(returnToken);
- const node = this.startNode();
- const asserts = !!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));
-
- if (asserts && this.match(78)) {
- let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate();
-
- if (thisTypePredicate.type === "TSThisType") {
- node.parameterName = thisTypePredicate;
- node.asserts = true;
- node.typeAnnotation = null;
- thisTypePredicate = this.finishNode(node, "TSTypePredicate");
- } else {
- this.resetStartLocationFromNode(thisTypePredicate, node);
- thisTypePredicate.asserts = true;
- }
-
- t.typeAnnotation = thisTypePredicate;
- return this.finishNode(t, "TSTypeAnnotation");
- }
-
- const typePredicateVariable = this.tsIsIdentifier() && this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));
-
- if (!typePredicateVariable) {
- if (!asserts) {
- return this.tsParseTypeAnnotation(false, t);
- }
-
- node.parameterName = this.parseIdentifier();
- node.asserts = asserts;
- node.typeAnnotation = null;
- t.typeAnnotation = this.finishNode(node, "TSTypePredicate");
- return this.finishNode(t, "TSTypeAnnotation");
- }
-
- const type = this.tsParseTypeAnnotation(false);
- node.parameterName = typePredicateVariable;
- node.typeAnnotation = type;
- node.asserts = asserts;
- t.typeAnnotation = this.finishNode(node, "TSTypePredicate");
- return this.finishNode(t, "TSTypeAnnotation");
- });
- }
-
- tsTryParseTypeOrTypePredicateAnnotation() {
- return this.match(14) ? this.tsParseTypeOrTypePredicateAnnotation(14) : undefined;
- }
-
- tsTryParseTypeAnnotation() {
- return this.match(14) ? this.tsParseTypeAnnotation() : undefined;
- }
-
- tsTryParseType() {
- return this.tsEatThenParseType(14);
- }
-
- tsParseTypePredicatePrefix() {
- const id = this.parseIdentifier();
-
- if (this.isContextual(113) && !this.hasPrecedingLineBreak()) {
- this.next();
- return id;
- }
- }
-
- tsParseTypePredicateAsserts() {
- if (this.state.type !== 106) {
- return false;
- }
-
- const containsEsc = this.state.containsEsc;
- this.next();
-
- if (!tokenIsIdentifier(this.state.type) && !this.match(78)) {
- return false;
- }
-
- if (containsEsc) {
- this.raise(Errors.InvalidEscapedReservedWord, {
- at: this.state.lastTokStartLoc,
- reservedWord: "asserts"
- });
- }
-
- return true;
- }
-
- tsParseTypeAnnotation(eatColon = true, t = this.startNode()) {
- this.tsInType(() => {
- if (eatColon) this.expect(14);
- t.typeAnnotation = this.tsParseType();
- });
- return this.finishNode(t, "TSTypeAnnotation");
- }
-
- tsParseType() {
- assert(this.state.inType);
- const type = this.tsParseNonConditionalType();
-
- if (this.state.inDisallowConditionalTypesContext || this.hasPrecedingLineBreak() || !this.eat(81)) {
- return type;
- }
-
- const node = this.startNodeAtNode(type);
- node.checkType = type;
- node.extendsType = this.tsInDisallowConditionalTypesContext(() => this.tsParseNonConditionalType());
- this.expect(17);
- node.trueType = this.tsInAllowConditionalTypesContext(() => this.tsParseType());
- this.expect(14);
- node.falseType = this.tsInAllowConditionalTypesContext(() => this.tsParseType());
- return this.finishNode(node, "TSConditionalType");
- }
-
- isAbstractConstructorSignature() {
- return this.isContextual(120) && this.lookahead().type === 77;
- }
-
- tsParseNonConditionalType() {
- if (this.tsIsStartOfFunctionType()) {
- return this.tsParseFunctionOrConstructorType("TSFunctionType");
- }
-
- if (this.match(77)) {
- return this.tsParseFunctionOrConstructorType("TSConstructorType");
- } else if (this.isAbstractConstructorSignature()) {
- return this.tsParseFunctionOrConstructorType("TSConstructorType", true);
- }
-
- return this.tsParseUnionTypeOrHigher();
- }
-
- tsParseTypeAssertion() {
- if (this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) {
- this.raise(TSErrors.ReservedTypeAssertion, {
- at: this.state.startLoc
- });
- }
-
- const node = this.startNode();
-
- const _const = this.tsTryNextParseConstantContext();
-
- node.typeAnnotation = _const || this.tsNextThenParseType();
- this.expect(48);
- node.expression = this.parseMaybeUnary();
- return this.finishNode(node, "TSTypeAssertion");
- }
-
- tsParseHeritageClause(token) {
- const originalStartLoc = this.state.startLoc;
- const delimitedList = this.tsParseDelimitedList("HeritageClauseElement", () => {
- const node = this.startNode();
- node.expression = this.tsParseEntityName();
-
- if (this.match(47)) {
- node.typeParameters = this.tsParseTypeArguments();
- }
-
- return this.finishNode(node, "TSExpressionWithTypeArguments");
- });
-
- if (!delimitedList.length) {
- this.raise(TSErrors.EmptyHeritageClauseType, {
- at: originalStartLoc,
- token
- });
- }
-
- return delimitedList;
- }
-
- tsParseInterfaceDeclaration(node, properties = {}) {
- if (this.hasFollowingLineBreak()) return null;
- this.expectContextual(125);
- if (properties.declare) node.declare = true;
-
- if (tokenIsIdentifier(this.state.type)) {
- node.id = this.parseIdentifier();
- this.checkIdentifier(node.id, BIND_TS_INTERFACE);
- } else {
- node.id = null;
- this.raise(TSErrors.MissingInterfaceName, {
- at: this.state.startLoc
- });
- }
-
- node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers.bind(this));
-
- if (this.eat(81)) {
- node.extends = this.tsParseHeritageClause("extends");
- }
-
- const body = this.startNode();
- body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this));
- node.body = this.finishNode(body, "TSInterfaceBody");
- return this.finishNode(node, "TSInterfaceDeclaration");
- }
-
- tsParseTypeAliasDeclaration(node) {
- node.id = this.parseIdentifier();
- this.checkIdentifier(node.id, BIND_TS_TYPE);
- node.typeAnnotation = this.tsInType(() => {
- node.typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers.bind(this));
- this.expect(29);
-
- if (this.isContextual(111) && this.lookahead().type !== 16) {
- const node = this.startNode();
- this.next();
- return this.finishNode(node, "TSIntrinsicKeyword");
- }
-
- return this.tsParseType();
- });
- this.semicolon();
- return this.finishNode(node, "TSTypeAliasDeclaration");
- }
-
- tsInNoContext(cb) {
- const oldContext = this.state.context;
- this.state.context = [oldContext[0]];
-
- try {
- return cb();
- } finally {
- this.state.context = oldContext;
- }
- }
-
- tsInType(cb) {
- const oldInType = this.state.inType;
- this.state.inType = true;
-
- try {
- return cb();
- } finally {
- this.state.inType = oldInType;
- }
- }
-
- tsInDisallowConditionalTypesContext(cb) {
- const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext;
- this.state.inDisallowConditionalTypesContext = true;
-
- try {
- return cb();
- } finally {
- this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;
- }
- }
-
- tsInAllowConditionalTypesContext(cb) {
- const oldInDisallowConditionalTypesContext = this.state.inDisallowConditionalTypesContext;
- this.state.inDisallowConditionalTypesContext = false;
-
- try {
- return cb();
- } finally {
- this.state.inDisallowConditionalTypesContext = oldInDisallowConditionalTypesContext;
- }
- }
-
- tsEatThenParseType(token) {
- return !this.match(token) ? undefined : this.tsNextThenParseType();
- }
-
- tsExpectThenParseType(token) {
- return this.tsDoThenParseType(() => this.expect(token));
- }
-
- tsNextThenParseType() {
- return this.tsDoThenParseType(() => this.next());
- }
-
- tsDoThenParseType(cb) {
- return this.tsInType(() => {
- cb();
- return this.tsParseType();
- });
- }
-
- tsParseEnumMember() {
- const node = this.startNode();
- node.id = this.match(129) ? this.parseExprAtom() : this.parseIdentifier(true);
-
- if (this.eat(29)) {
- node.initializer = this.parseMaybeAssignAllowIn();
- }
-
- return this.finishNode(node, "TSEnumMember");
- }
-
- tsParseEnumDeclaration(node, properties = {}) {
- if (properties.const) node.const = true;
- if (properties.declare) node.declare = true;
- this.expectContextual(122);
- node.id = this.parseIdentifier();
- this.checkIdentifier(node.id, node.const ? BIND_TS_CONST_ENUM : BIND_TS_ENUM);
- this.expect(5);
- node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this));
- this.expect(8);
- return this.finishNode(node, "TSEnumDeclaration");
- }
-
- tsParseModuleBlock() {
- const node = this.startNode();
- this.scope.enter(SCOPE_OTHER);
- this.expect(5);
- this.parseBlockOrModuleBlockBody(node.body = [], undefined, true, 8);
- this.scope.exit();
- return this.finishNode(node, "TSModuleBlock");
- }
-
- tsParseModuleOrNamespaceDeclaration(node, nested = false) {
- node.id = this.parseIdentifier();
-
- if (!nested) {
- this.checkIdentifier(node.id, BIND_TS_NAMESPACE);
- }
-
- if (this.eat(16)) {
- const inner = this.startNode();
- this.tsParseModuleOrNamespaceDeclaration(inner, true);
- node.body = inner;
- } else {
- this.scope.enter(SCOPE_TS_MODULE);
- this.prodParam.enter(PARAM);
- node.body = this.tsParseModuleBlock();
- this.prodParam.exit();
- this.scope.exit();
- }
-
- return this.finishNode(node, "TSModuleDeclaration");
- }
-
- tsParseAmbientExternalModuleDeclaration(node) {
- if (this.isContextual(109)) {
- node.global = true;
- node.id = this.parseIdentifier();
- } else if (this.match(129)) {
- node.id = this.parseExprAtom();
- } else {
- this.unexpected();
- }
-
- if (this.match(5)) {
- this.scope.enter(SCOPE_TS_MODULE);
- this.prodParam.enter(PARAM);
- node.body = this.tsParseModuleBlock();
- this.prodParam.exit();
- this.scope.exit();
- } else {
- this.semicolon();
- }
-
- return this.finishNode(node, "TSModuleDeclaration");
- }
-
- tsParseImportEqualsDeclaration(node, isExport) {
- node.isExport = isExport || false;
- node.id = this.parseIdentifier();
- this.checkIdentifier(node.id, BIND_LEXICAL);
- this.expect(29);
- const moduleReference = this.tsParseModuleReference();
-
- if (node.importKind === "type" && moduleReference.type !== "TSExternalModuleReference") {
- this.raise(TSErrors.ImportAliasHasImportType, {
- at: moduleReference
- });
- }
-
- node.moduleReference = moduleReference;
- this.semicolon();
- return this.finishNode(node, "TSImportEqualsDeclaration");
- }
-
- tsIsExternalModuleReference() {
- return this.isContextual(116) && this.lookaheadCharCode() === 40;
- }
-
- tsParseModuleReference() {
- return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false);
- }
-
- tsParseExternalModuleReference() {
- const node = this.startNode();
- this.expectContextual(116);
- this.expect(10);
-
- if (!this.match(129)) {
- throw this.unexpected();
- }
-
- node.expression = this.parseExprAtom();
- this.expect(11);
- return this.finishNode(node, "TSExternalModuleReference");
- }
-
- tsLookAhead(f) {
- const state = this.state.clone();
- const res = f();
- this.state = state;
- return res;
- }
-
- tsTryParseAndCatch(f) {
- const result = this.tryParse(abort => f() || abort());
- if (result.aborted || !result.node) return undefined;
- if (result.error) this.state = result.failState;
- return result.node;
- }
-
- tsTryParse(f) {
- const state = this.state.clone();
- const result = f();
-
- if (result !== undefined && result !== false) {
- return result;
- } else {
- this.state = state;
- return undefined;
- }
- }
-
- tsTryParseDeclare(nany) {
- if (this.isLineTerminator()) {
- return;
- }
-
- let starttype = this.state.type;
- let kind;
-
- if (this.isContextual(99)) {
- starttype = 74;
- kind = "let";
- }
-
- return this.tsInAmbientContext(() => {
- if (starttype === 68) {
- nany.declare = true;
- return this.parseFunctionStatement(nany, false, true);
- }
-
- if (starttype === 80) {
- nany.declare = true;
- return this.parseClass(nany, true, false);
- }
-
- if (starttype === 122) {
- return this.tsParseEnumDeclaration(nany, {
- declare: true
- });
- }
-
- if (starttype === 109) {
- return this.tsParseAmbientExternalModuleDeclaration(nany);
- }
-
- if (starttype === 75 || starttype === 74) {
- if (!this.match(75) || !this.isLookaheadContextual("enum")) {
- nany.declare = true;
- return this.parseVarStatement(nany, kind || this.state.value, true);
- }
-
- this.expect(75);
- return this.tsParseEnumDeclaration(nany, {
- const: true,
- declare: true
- });
- }
-
- if (starttype === 125) {
- const result = this.tsParseInterfaceDeclaration(nany, {
- declare: true
- });
- if (result) return result;
- }
-
- if (tokenIsIdentifier(starttype)) {
- return this.tsParseDeclaration(nany, this.state.value, true);
- }
- });
- }
-
- tsTryParseExportDeclaration() {
- return this.tsParseDeclaration(this.startNode(), this.state.value, true);
- }
-
- tsParseExpressionStatement(node, expr) {
- switch (expr.name) {
- case "declare":
- {
- const declaration = this.tsTryParseDeclare(node);
-
- if (declaration) {
- declaration.declare = true;
- return declaration;
- }
-
- break;
- }
-
- case "global":
- if (this.match(5)) {
- this.scope.enter(SCOPE_TS_MODULE);
- this.prodParam.enter(PARAM);
- const mod = node;
- mod.global = true;
- mod.id = expr;
- mod.body = this.tsParseModuleBlock();
- this.scope.exit();
- this.prodParam.exit();
- return this.finishNode(mod, "TSModuleDeclaration");
- }
-
- break;
-
- default:
- return this.tsParseDeclaration(node, expr.name, false);
- }
- }
-
- tsParseDeclaration(node, value, next) {
- switch (value) {
- case "abstract":
- if (this.tsCheckLineTerminator(next) && (this.match(80) || tokenIsIdentifier(this.state.type))) {
- return this.tsParseAbstractDeclaration(node);
- }
-
- break;
-
- case "module":
- if (this.tsCheckLineTerminator(next)) {
- if (this.match(129)) {
- return this.tsParseAmbientExternalModuleDeclaration(node);
- } else if (tokenIsIdentifier(this.state.type)) {
- return this.tsParseModuleOrNamespaceDeclaration(node);
- }
- }
-
- break;
-
- case "namespace":
- if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {
- return this.tsParseModuleOrNamespaceDeclaration(node);
- }
-
- break;
-
- case "type":
- if (this.tsCheckLineTerminator(next) && tokenIsIdentifier(this.state.type)) {
- return this.tsParseTypeAliasDeclaration(node);
- }
-
- break;
- }
- }
-
- tsCheckLineTerminator(next) {
- if (next) {
- if (this.hasFollowingLineBreak()) return false;
- this.next();
- return true;
- }
-
- return !this.isLineTerminator();
- }
-
- tsTryParseGenericAsyncArrowFunction(startPos, startLoc) {
- if (!this.match(47)) {
- return undefined;
- }
-
- const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
- this.state.maybeInArrowParameters = true;
- const res = this.tsTryParseAndCatch(() => {
- const node = this.startNodeAt(startPos, startLoc);
- node.typeParameters = this.tsParseTypeParameters();
- super.parseFunctionParams(node);
- node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation();
- this.expect(19);
- return node;
- });
- this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
-
- if (!res) {
- return undefined;
- }
-
- return this.parseArrowExpression(res, null, true);
- }
-
- tsParseTypeArgumentsInExpression() {
- if (this.reScan_lt() !== 47) {
- return undefined;
- }
-
- return this.tsParseTypeArguments();
- }
-
- tsParseTypeArguments() {
- const node = this.startNode();
- node.params = this.tsInType(() => this.tsInNoContext(() => {
- this.expect(47);
- return this.tsParseDelimitedList("TypeParametersOrArguments", this.tsParseType.bind(this));
- }));
-
- if (node.params.length === 0) {
- this.raise(TSErrors.EmptyTypeArguments, {
- at: node
- });
- }
-
- this.expect(48);
- return this.finishNode(node, "TSTypeParameterInstantiation");
- }
-
- tsIsDeclarationStart() {
- return tokenIsTSDeclarationStart(this.state.type);
- }
-
- isExportDefaultSpecifier() {
- if (this.tsIsDeclarationStart()) return false;
- return super.isExportDefaultSpecifier();
- }
-
- parseAssignableListItem(allowModifiers, decorators) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- let accessibility;
- let readonly = false;
- let override = false;
-
- if (allowModifiers !== undefined) {
- const modified = {};
- this.tsParseModifiers({
- modified,
- allowedModifiers: ["public", "private", "protected", "override", "readonly"]
- });
- accessibility = modified.accessibility;
- override = modified.override;
- readonly = modified.readonly;
-
- if (allowModifiers === false && (accessibility || readonly || override)) {
- this.raise(TSErrors.UnexpectedParameterModifier, {
- at: startLoc
- });
- }
- }
-
- const left = this.parseMaybeDefault();
- this.parseAssignableListItemTypes(left);
- const elt = this.parseMaybeDefault(left.start, left.loc.start, left);
-
- if (accessibility || readonly || override) {
- const pp = this.startNodeAt(startPos, startLoc);
-
- if (decorators.length) {
- pp.decorators = decorators;
- }
-
- if (accessibility) pp.accessibility = accessibility;
- if (readonly) pp.readonly = readonly;
- if (override) pp.override = override;
-
- if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") {
- this.raise(TSErrors.UnsupportedParameterPropertyKind, {
- at: pp
- });
- }
-
- pp.parameter = elt;
- return this.finishNode(pp, "TSParameterProperty");
- }
-
- if (decorators.length) {
- left.decorators = decorators;
- }
-
- return elt;
- }
-
- isSimpleParameter(node) {
- return node.type === "TSParameterProperty" && super.isSimpleParameter(node.parameter) || super.isSimpleParameter(node);
- }
-
- parseFunctionBodyAndFinish(node, type, isMethod = false) {
- if (this.match(14)) {
- node.returnType = this.tsParseTypeOrTypePredicateAnnotation(14);
- }
-
- const bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" || type === "ClassPrivateMethod" ? "TSDeclareMethod" : undefined;
-
- if (bodilessType && !this.match(5) && this.isLineTerminator()) {
- this.finishNode(node, bodilessType);
- return;
- }
-
- if (bodilessType === "TSDeclareFunction" && this.state.isAmbientContext) {
- this.raise(TSErrors.DeclareFunctionHasImplementation, {
- at: node
- });
-
- if (node.declare) {
- super.parseFunctionBodyAndFinish(node, bodilessType, isMethod);
- return;
- }
- }
-
- super.parseFunctionBodyAndFinish(node, type, isMethod);
- }
-
- registerFunctionStatementId(node) {
- if (!node.body && node.id) {
- this.checkIdentifier(node.id, BIND_TS_AMBIENT);
- } else {
- super.registerFunctionStatementId(...arguments);
- }
- }
-
- tsCheckForInvalidTypeCasts(items) {
- items.forEach(node => {
- if ((node == null ? void 0 : node.type) === "TSTypeCastExpression") {
- this.raise(TSErrors.UnexpectedTypeAnnotation, {
- at: node.typeAnnotation
- });
- }
- });
- }
-
- toReferencedList(exprList, isInParens) {
- this.tsCheckForInvalidTypeCasts(exprList);
- return exprList;
- }
-
- parseArrayLike(...args) {
- const node = super.parseArrayLike(...args);
-
- if (node.type === "ArrayExpression") {
- this.tsCheckForInvalidTypeCasts(node.elements);
- }
-
- return node;
- }
-
- parseSubscript(base, startPos, startLoc, noCalls, state) {
- if (!this.hasPrecedingLineBreak() && this.match(35)) {
- this.state.canStartJSXElement = false;
- this.next();
- const nonNullExpression = this.startNodeAt(startPos, startLoc);
- nonNullExpression.expression = base;
- return this.finishNode(nonNullExpression, "TSNonNullExpression");
- }
-
- let isOptionalCall = false;
-
- if (this.match(18) && this.lookaheadCharCode() === 60) {
- if (noCalls) {
- state.stop = true;
- return base;
- }
-
- state.optionalChainMember = isOptionalCall = true;
- this.next();
- }
-
- if (this.match(47) || this.match(51)) {
- let missingParenErrorLoc;
- const result = this.tsTryParseAndCatch(() => {
- if (!noCalls && this.atPossibleAsyncArrow(base)) {
- const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(startPos, startLoc);
-
- if (asyncArrowFn) {
- return asyncArrowFn;
- }
- }
-
- const typeArguments = this.tsParseTypeArgumentsInExpression();
- if (!typeArguments) throw this.unexpected();
-
- if (isOptionalCall && !this.match(10)) {
- missingParenErrorLoc = this.state.curPosition();
- throw this.unexpected();
- }
-
- if (tokenIsTemplate(this.state.type)) {
- const result = this.parseTaggedTemplateExpression(base, startPos, startLoc, state);
- result.typeParameters = typeArguments;
- return result;
- }
-
- if (!noCalls && this.eat(10)) {
- const node = this.startNodeAt(startPos, startLoc);
- node.callee = base;
- node.arguments = this.parseCallExpressionArguments(11, false);
- this.tsCheckForInvalidTypeCasts(node.arguments);
- node.typeParameters = typeArguments;
-
- if (state.optionalChainMember) {
- node.optional = isOptionalCall;
- }
-
- return this.finishCallExpression(node, state.optionalChainMember);
- }
-
- if (tsTokenCanStartExpression(this.state.type) && this.state.type !== 10) {
- throw this.unexpected();
- }
-
- const node = this.startNodeAt(startPos, startLoc);
- node.expression = base;
- node.typeParameters = typeArguments;
- return this.finishNode(node, "TSInstantiationExpression");
- });
-
- if (missingParenErrorLoc) {
- this.unexpected(missingParenErrorLoc, 10);
- }
-
- if (result) return result;
- }
-
- return super.parseSubscript(base, startPos, startLoc, noCalls, state);
- }
-
- parseNewCallee(node) {
- var _callee$extra;
-
- super.parseNewCallee(node);
- const {
- callee
- } = node;
-
- if (callee.type === "TSInstantiationExpression" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) {
- node.typeParameters = callee.typeParameters;
- node.callee = callee.expression;
- }
- }
-
- parseExprOp(left, leftStartPos, leftStartLoc, minPrec) {
- if (tokenOperatorPrecedence(58) > minPrec && !this.hasPrecedingLineBreak() && this.isContextual(93)) {
- const node = this.startNodeAt(leftStartPos, leftStartLoc);
- node.expression = left;
-
- const _const = this.tsTryNextParseConstantContext();
-
- if (_const) {
- node.typeAnnotation = _const;
- } else {
- node.typeAnnotation = this.tsNextThenParseType();
- }
-
- this.finishNode(node, "TSAsExpression");
- this.reScan_lt_gt();
- return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec);
- }
-
- return super.parseExprOp(left, leftStartPos, leftStartLoc, minPrec);
- }
-
- checkReservedWord(word, startLoc, checkKeywords, isBinding) {
- if (!this.state.isAmbientContext) {
- super.checkReservedWord(word, startLoc, checkKeywords, isBinding);
- }
- }
-
- checkDuplicateExports() {}
-
- parseImport(node) {
- node.importKind = "value";
-
- if (tokenIsIdentifier(this.state.type) || this.match(55) || this.match(5)) {
- let ahead = this.lookahead();
-
- if (this.isContextual(126) && ahead.type !== 12 && ahead.type !== 97 && ahead.type !== 29) {
- node.importKind = "type";
- this.next();
- ahead = this.lookahead();
- }
-
- if (tokenIsIdentifier(this.state.type) && ahead.type === 29) {
- return this.tsParseImportEqualsDeclaration(node);
- }
- }
-
- const importNode = super.parseImport(node);
-
- if (importNode.importKind === "type" && importNode.specifiers.length > 1 && importNode.specifiers[0].type === "ImportDefaultSpecifier") {
- this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, {
- at: importNode
- });
- }
-
- return importNode;
- }
-
- parseExport(node) {
- if (this.match(83)) {
- this.next();
-
- if (this.isContextual(126) && this.lookaheadCharCode() !== 61) {
- node.importKind = "type";
- this.next();
- } else {
- node.importKind = "value";
- }
-
- return this.tsParseImportEqualsDeclaration(node, true);
- } else if (this.eat(29)) {
- const assign = node;
- assign.expression = this.parseExpression();
- this.semicolon();
- return this.finishNode(assign, "TSExportAssignment");
- } else if (this.eatContextual(93)) {
- const decl = node;
- this.expectContextual(124);
- decl.id = this.parseIdentifier();
- this.semicolon();
- return this.finishNode(decl, "TSNamespaceExportDeclaration");
- } else {
- if (this.isContextual(126) && this.lookahead().type === 5) {
- this.next();
- node.exportKind = "type";
- } else {
- node.exportKind = "value";
- }
-
- return super.parseExport(node);
- }
- }
-
- isAbstractClass() {
- return this.isContextual(120) && this.lookahead().type === 80;
- }
-
- parseExportDefaultExpression() {
- if (this.isAbstractClass()) {
- const cls = this.startNode();
- this.next();
- cls.abstract = true;
- this.parseClass(cls, true, true);
- return cls;
- }
-
- if (this.match(125)) {
- const result = this.tsParseInterfaceDeclaration(this.startNode());
- if (result) return result;
- }
-
- return super.parseExportDefaultExpression();
- }
-
- parseVarStatement(node, kind, allowMissingInitializer = false) {
- const {
- isAmbientContext
- } = this.state;
- const declaration = super.parseVarStatement(node, kind, allowMissingInitializer || isAmbientContext);
- if (!isAmbientContext) return declaration;
-
- for (const {
- id,
- init
- } of declaration.declarations) {
- if (!init) continue;
-
- if (kind !== "const" || !!id.typeAnnotation) {
- this.raise(TSErrors.InitializerNotAllowedInAmbientContext, {
- at: init
- });
- } else if (init.type !== "StringLiteral" && init.type !== "BooleanLiteral" && init.type !== "NumericLiteral" && init.type !== "BigIntLiteral" && (init.type !== "TemplateLiteral" || init.expressions.length > 0) && !isPossiblyLiteralEnum(init)) {
- this.raise(TSErrors.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference, {
- at: init
- });
- }
- }
-
- return declaration;
- }
-
- parseStatementContent(context, topLevel) {
- if (this.match(75) && this.isLookaheadContextual("enum")) {
- const node = this.startNode();
- this.expect(75);
- return this.tsParseEnumDeclaration(node, {
- const: true
- });
- }
-
- if (this.isContextual(122)) {
- return this.tsParseEnumDeclaration(this.startNode());
- }
-
- if (this.isContextual(125)) {
- const result = this.tsParseInterfaceDeclaration(this.startNode());
- if (result) return result;
- }
-
- return super.parseStatementContent(context, topLevel);
- }
-
- parseAccessModifier() {
- return this.tsParseModifier(["public", "protected", "private"]);
- }
-
- tsHasSomeModifiers(member, modifiers) {
- return modifiers.some(modifier => {
- if (tsIsAccessModifier(modifier)) {
- return member.accessibility === modifier;
- }
-
- return !!member[modifier];
- });
- }
-
- tsIsStartOfStaticBlocks() {
- return this.isContextual(104) && this.lookaheadCharCode() === 123;
- }
-
- parseClassMember(classBody, member, state) {
- const modifiers = ["declare", "private", "public", "protected", "override", "abstract", "readonly", "static"];
- this.tsParseModifiers({
- modified: member,
- allowedModifiers: modifiers,
- disallowedModifiers: ["in", "out"],
- stopOnStartOfClassStaticBlock: true,
- errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions
- });
-
- const callParseClassMemberWithIsStatic = () => {
- if (this.tsIsStartOfStaticBlocks()) {
- this.next();
- this.next();
-
- if (this.tsHasSomeModifiers(member, modifiers)) {
- this.raise(TSErrors.StaticBlockCannotHaveModifier, {
- at: this.state.curPosition()
- });
- }
-
- this.parseClassStaticBlock(classBody, member);
- } else {
- this.parseClassMemberWithIsStatic(classBody, member, state, !!member.static);
- }
- };
-
- if (member.declare) {
- this.tsInAmbientContext(callParseClassMemberWithIsStatic);
- } else {
- callParseClassMemberWithIsStatic();
- }
- }
-
- parseClassMemberWithIsStatic(classBody, member, state, isStatic) {
- const idx = this.tsTryParseIndexSignature(member);
-
- if (idx) {
- classBody.body.push(idx);
-
- if (member.abstract) {
- this.raise(TSErrors.IndexSignatureHasAbstract, {
- at: member
- });
- }
-
- if (member.accessibility) {
- this.raise(TSErrors.IndexSignatureHasAccessibility, {
- at: member,
- modifier: member.accessibility
- });
- }
-
- if (member.declare) {
- this.raise(TSErrors.IndexSignatureHasDeclare, {
- at: member
- });
- }
-
- if (member.override) {
- this.raise(TSErrors.IndexSignatureHasOverride, {
- at: member
- });
- }
-
- return;
- }
-
- if (!this.state.inAbstractClass && member.abstract) {
- this.raise(TSErrors.NonAbstractClassHasAbstractMethod, {
- at: member
- });
- }
-
- if (member.override) {
- if (!state.hadSuperClass) {
- this.raise(TSErrors.OverrideNotInSubClass, {
- at: member
- });
- }
- }
-
- super.parseClassMemberWithIsStatic(classBody, member, state, isStatic);
- }
-
- parsePostMemberNameModifiers(methodOrProp) {
- const optional = this.eat(17);
- if (optional) methodOrProp.optional = true;
-
- if (methodOrProp.readonly && this.match(10)) {
- this.raise(TSErrors.ClassMethodHasReadonly, {
- at: methodOrProp
- });
- }
-
- if (methodOrProp.declare && this.match(10)) {
- this.raise(TSErrors.ClassMethodHasDeclare, {
- at: methodOrProp
- });
- }
- }
-
- parseExpressionStatement(node, expr) {
- const decl = expr.type === "Identifier" ? this.tsParseExpressionStatement(node, expr) : undefined;
- return decl || super.parseExpressionStatement(node, expr);
- }
-
- shouldParseExportDeclaration() {
- if (this.tsIsDeclarationStart()) return true;
- return super.shouldParseExportDeclaration();
- }
-
- parseConditional(expr, startPos, startLoc, refExpressionErrors) {
- if (!this.state.maybeInArrowParameters || !this.match(17)) {
- return super.parseConditional(expr, startPos, startLoc, refExpressionErrors);
- }
-
- const result = this.tryParse(() => super.parseConditional(expr, startPos, startLoc));
-
- if (!result.node) {
- if (result.error) {
- super.setOptionalParametersError(refExpressionErrors, result.error);
- }
-
- return expr;
- }
-
- if (result.error) this.state = result.failState;
- return result.node;
- }
-
- parseParenItem(node, startPos, startLoc) {
- node = super.parseParenItem(node, startPos, startLoc);
-
- if (this.eat(17)) {
- node.optional = true;
- this.resetEndLocation(node);
- }
-
- if (this.match(14)) {
- const typeCastNode = this.startNodeAt(startPos, startLoc);
- typeCastNode.expression = node;
- typeCastNode.typeAnnotation = this.tsParseTypeAnnotation();
- return this.finishNode(typeCastNode, "TSTypeCastExpression");
- }
-
- return node;
- }
-
- parseExportDeclaration(node) {
- if (!this.state.isAmbientContext && this.isContextual(121)) {
- return this.tsInAmbientContext(() => this.parseExportDeclaration(node));
- }
-
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- const isDeclare = this.eatContextual(121);
-
- if (isDeclare && (this.isContextual(121) || !this.shouldParseExportDeclaration())) {
- throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, {
- at: this.state.startLoc
- });
- }
-
- const isIdentifier = tokenIsIdentifier(this.state.type);
- const declaration = isIdentifier && this.tsTryParseExportDeclaration() || super.parseExportDeclaration(node);
- if (!declaration) return null;
-
- if (declaration.type === "TSInterfaceDeclaration" || declaration.type === "TSTypeAliasDeclaration" || isDeclare) {
- node.exportKind = "type";
- }
-
- if (isDeclare) {
- this.resetStartLocation(declaration, startPos, startLoc);
- declaration.declare = true;
- }
-
- return declaration;
- }
-
- parseClassId(node, isStatement, optionalId) {
- if ((!isStatement || optionalId) && this.isContextual(110)) {
- return;
- }
-
- super.parseClassId(node, isStatement, optionalId, node.declare ? BIND_TS_AMBIENT : BIND_CLASS);
- const typeParameters = this.tsTryParseTypeParameters(this.tsParseInOutModifiers.bind(this));
- if (typeParameters) node.typeParameters = typeParameters;
- }
-
- parseClassPropertyAnnotation(node) {
- if (!node.optional && this.eat(35)) {
- node.definite = true;
- }
-
- const type = this.tsTryParseTypeAnnotation();
- if (type) node.typeAnnotation = type;
- }
-
- parseClassProperty(node) {
- this.parseClassPropertyAnnotation(node);
-
- if (this.state.isAmbientContext && this.match(29)) {
- this.raise(TSErrors.DeclareClassFieldHasInitializer, {
- at: this.state.startLoc
- });
- }
-
- if (node.abstract && this.match(29)) {
- const {
- key
- } = node;
- this.raise(TSErrors.AbstractPropertyHasInitializer, {
- at: this.state.startLoc,
- propertyName: key.type === "Identifier" && !node.computed ? key.name : `[${this.input.slice(key.start, key.end)}]`
- });
- }
-
- return super.parseClassProperty(node);
- }
-
- parseClassPrivateProperty(node) {
- if (node.abstract) {
- this.raise(TSErrors.PrivateElementHasAbstract, {
- at: node
- });
- }
-
- if (node.accessibility) {
- this.raise(TSErrors.PrivateElementHasAccessibility, {
- at: node,
- modifier: node.accessibility
- });
- }
-
- this.parseClassPropertyAnnotation(node);
- return super.parseClassPrivateProperty(node);
- }
-
- pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
- const typeParameters = this.tsTryParseTypeParameters();
-
- if (typeParameters && isConstructor) {
- this.raise(TSErrors.ConstructorHasTypeParameters, {
- at: typeParameters
- });
- }
-
- const {
- declare = false,
- kind
- } = method;
-
- if (declare && (kind === "get" || kind === "set")) {
- this.raise(TSErrors.DeclareAccessor, {
- at: method,
- kind
- });
- }
-
- if (typeParameters) method.typeParameters = typeParameters;
- super.pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper);
- }
-
- pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {
- const typeParameters = this.tsTryParseTypeParameters();
- if (typeParameters) method.typeParameters = typeParameters;
- super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync);
- }
-
- declareClassPrivateMethodInScope(node, kind) {
- if (node.type === "TSDeclareMethod") return;
- if (node.type === "MethodDefinition" && !node.value.body) return;
- super.declareClassPrivateMethodInScope(node, kind);
- }
-
- parseClassSuper(node) {
- super.parseClassSuper(node);
-
- if (node.superClass && (this.match(47) || this.match(51))) {
- node.superTypeParameters = this.tsParseTypeArgumentsInExpression();
- }
-
- if (this.eatContextual(110)) {
- node.implements = this.tsParseHeritageClause("implements");
- }
- }
-
- parseObjPropValue(prop, ...args) {
- const typeParameters = this.tsTryParseTypeParameters();
- if (typeParameters) prop.typeParameters = typeParameters;
- super.parseObjPropValue(prop, ...args);
- }
-
- parseFunctionParams(node, allowModifiers) {
- const typeParameters = this.tsTryParseTypeParameters();
- if (typeParameters) node.typeParameters = typeParameters;
- super.parseFunctionParams(node, allowModifiers);
- }
-
- parseVarId(decl, kind) {
- super.parseVarId(decl, kind);
-
- if (decl.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35)) {
- decl.definite = true;
- }
-
- const type = this.tsTryParseTypeAnnotation();
-
- if (type) {
- decl.id.typeAnnotation = type;
- this.resetEndLocation(decl.id);
- }
- }
-
- parseAsyncArrowFromCallExpression(node, call) {
- if (this.match(14)) {
- node.returnType = this.tsParseTypeAnnotation();
- }
-
- return super.parseAsyncArrowFromCallExpression(node, call);
- }
-
- parseMaybeAssign(...args) {
- var _jsx, _jsx2, _typeCast, _jsx3, _typeCast2, _jsx4, _typeCast3;
-
- let state;
- let jsx;
- let typeCast;
-
- if (this.hasPlugin("jsx") && (this.match(138) || this.match(47))) {
- state = this.state.clone();
- jsx = this.tryParse(() => super.parseMaybeAssign(...args), state);
- if (!jsx.error) return jsx.node;
- const {
- context
- } = this.state;
- const currentContext = context[context.length - 1];
-
- if (currentContext === types.j_oTag || currentContext === types.j_expr) {
- context.pop();
- }
- }
-
- if (!((_jsx = jsx) != null && _jsx.error) && !this.match(47)) {
- return super.parseMaybeAssign(...args);
- }
-
- let typeParameters;
- state = state || this.state.clone();
- const arrow = this.tryParse(abort => {
- var _expr$extra, _typeParameters, _expr$typeParameters$;
-
- typeParameters = this.tsParseTypeParameters();
- const expr = super.parseMaybeAssign(...args);
-
- if (expr.type !== "ArrowFunctionExpression" || (_expr$extra = expr.extra) != null && _expr$extra.parenthesized) {
- abort();
- }
-
- if (((_typeParameters = typeParameters) == null ? void 0 : _typeParameters.params.length) !== 0) {
- this.resetStartLocationFromNode(expr, typeParameters);
- }
-
- expr.typeParameters = typeParameters;
-
- if (this.hasPlugin("jsx") && expr.typeParameters.params.length === 1 && !((_expr$typeParameters$ = expr.typeParameters.extra) != null && _expr$typeParameters$.trailingComma)) {
- const parameter = expr.typeParameters.params[0];
-
- if (!parameter.constraint) ;
- }
-
- return expr;
- }, state);
-
- if (!arrow.error && !arrow.aborted) {
- if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);
- return arrow.node;
- }
-
- if (!jsx) {
- assert(!this.hasPlugin("jsx"));
- typeCast = this.tryParse(() => super.parseMaybeAssign(...args), state);
- if (!typeCast.error) return typeCast.node;
- }
-
- if ((_jsx2 = jsx) != null && _jsx2.node) {
- this.state = jsx.failState;
- return jsx.node;
- }
-
- if (arrow.node) {
- this.state = arrow.failState;
- if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);
- return arrow.node;
- }
-
- if ((_typeCast = typeCast) != null && _typeCast.node) {
- this.state = typeCast.failState;
- return typeCast.node;
- }
-
- if ((_jsx3 = jsx) != null && _jsx3.thrown) throw jsx.error;
- if (arrow.thrown) throw arrow.error;
- if ((_typeCast2 = typeCast) != null && _typeCast2.thrown) throw typeCast.error;
- throw ((_jsx4 = jsx) == null ? void 0 : _jsx4.error) || arrow.error || ((_typeCast3 = typeCast) == null ? void 0 : _typeCast3.error);
- }
-
- reportReservedArrowTypeParam(node) {
- var _node$extra;
-
- if (node.params.length === 1 && !((_node$extra = node.extra) != null && _node$extra.trailingComma) && this.getPluginOption("typescript", "disallowAmbiguousJSXLike")) {
- this.raise(TSErrors.ReservedArrowTypeParam, {
- at: node
- });
- }
- }
-
- parseMaybeUnary(refExpressionErrors) {
- if (!this.hasPlugin("jsx") && this.match(47)) {
- return this.tsParseTypeAssertion();
- } else {
- return super.parseMaybeUnary(refExpressionErrors);
- }
- }
-
- parseArrow(node) {
- if (this.match(14)) {
- const result = this.tryParse(abort => {
- const returnType = this.tsParseTypeOrTypePredicateAnnotation(14);
- if (this.canInsertSemicolon() || !this.match(19)) abort();
- return returnType;
- });
- if (result.aborted) return;
-
- if (!result.thrown) {
- if (result.error) this.state = result.failState;
- node.returnType = result.node;
- }
- }
-
- return super.parseArrow(node);
- }
-
- parseAssignableListItemTypes(param) {
- if (this.eat(17)) {
- if (param.type !== "Identifier" && !this.state.isAmbientContext && !this.state.inType) {
- this.raise(TSErrors.PatternIsOptional, {
- at: param
- });
- }
-
- param.optional = true;
- }
-
- const type = this.tsTryParseTypeAnnotation();
- if (type) param.typeAnnotation = type;
- this.resetEndLocation(param);
- return param;
- }
-
- isAssignable(node, isBinding) {
- switch (node.type) {
- case "TSTypeCastExpression":
- return this.isAssignable(node.expression, isBinding);
-
- case "TSParameterProperty":
- return true;
-
- default:
- return super.isAssignable(node, isBinding);
- }
- }
-
- toAssignable(node, isLHS = false) {
- switch (node.type) {
- case "ParenthesizedExpression":
- this.toAssignableParenthesizedExpression(node, isLHS);
- break;
-
- case "TSAsExpression":
- case "TSNonNullExpression":
- case "TSTypeAssertion":
- if (isLHS) {
- this.expressionScope.recordArrowParemeterBindingError(TSErrors.UnexpectedTypeCastInParameter, {
- at: node
- });
- } else {
- this.raise(TSErrors.UnexpectedTypeCastInParameter, {
- at: node
- });
- }
-
- this.toAssignable(node.expression, isLHS);
- break;
-
- case "AssignmentExpression":
- if (!isLHS && node.left.type === "TSTypeCastExpression") {
- node.left = this.typeCastToParameter(node.left);
- }
-
- default:
- super.toAssignable(node, isLHS);
- }
- }
-
- toAssignableParenthesizedExpression(node, isLHS) {
- switch (node.expression.type) {
- case "TSAsExpression":
- case "TSNonNullExpression":
- case "TSTypeAssertion":
- case "ParenthesizedExpression":
- this.toAssignable(node.expression, isLHS);
- break;
-
- default:
- super.toAssignable(node, isLHS);
- }
- }
-
- checkToRestConversion(node, allowPattern) {
- switch (node.type) {
- case "TSAsExpression":
- case "TSTypeAssertion":
- case "TSNonNullExpression":
- this.checkToRestConversion(node.expression, false);
- break;
-
- default:
- super.checkToRestConversion(node, allowPattern);
- }
- }
-
- isValidLVal(type, isUnparenthesizedInAssign, binding) {
- return getOwn$1({
- TSTypeCastExpression: true,
- TSParameterProperty: "parameter",
- TSNonNullExpression: "expression",
- TSAsExpression: (binding !== BIND_NONE || !isUnparenthesizedInAssign) && ["expression", true],
- TSTypeAssertion: (binding !== BIND_NONE || !isUnparenthesizedInAssign) && ["expression", true]
- }, type) || super.isValidLVal(type, isUnparenthesizedInAssign, binding);
- }
-
- parseBindingAtom() {
- switch (this.state.type) {
- case 78:
- return this.parseIdentifier(true);
-
- default:
- return super.parseBindingAtom();
- }
- }
-
- parseMaybeDecoratorArguments(expr) {
- if (this.match(47) || this.match(51)) {
- const typeArguments = this.tsParseTypeArgumentsInExpression();
-
- if (this.match(10)) {
- const call = super.parseMaybeDecoratorArguments(expr);
- call.typeParameters = typeArguments;
- return call;
- }
-
- this.unexpected(null, 10);
- }
-
- return super.parseMaybeDecoratorArguments(expr);
- }
-
- checkCommaAfterRest(close) {
- if (this.state.isAmbientContext && this.match(12) && this.lookaheadCharCode() === close) {
- this.next();
- return false;
- } else {
- return super.checkCommaAfterRest(close);
- }
- }
-
- isClassMethod() {
- return this.match(47) || super.isClassMethod();
- }
-
- isClassProperty() {
- return this.match(35) || this.match(14) || super.isClassProperty();
- }
-
- parseMaybeDefault(...args) {
- const node = super.parseMaybeDefault(...args);
-
- if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) {
- this.raise(TSErrors.TypeAnnotationAfterAssign, {
- at: node.typeAnnotation
- });
- }
-
- return node;
- }
-
- getTokenFromCode(code) {
- if (this.state.inType) {
- if (code === 62) {
- return this.finishOp(48, 1);
- }
-
- if (code === 60) {
- return this.finishOp(47, 1);
- }
- }
-
- return super.getTokenFromCode(code);
- }
-
- reScan_lt_gt() {
- const {
- type
- } = this.state;
-
- if (type === 47) {
- this.state.pos -= 1;
- this.readToken_lt();
- } else if (type === 48) {
- this.state.pos -= 1;
- this.readToken_gt();
- }
- }
-
- reScan_lt() {
- const {
- type
- } = this.state;
-
- if (type === 51) {
- this.state.pos -= 2;
- this.finishOp(47, 1);
- return 47;
- }
-
- return type;
- }
-
- toAssignableList(exprList) {
- for (let i = 0; i < exprList.length; i++) {
- const expr = exprList[i];
-
- if ((expr == null ? void 0 : expr.type) === "TSTypeCastExpression") {
- exprList[i] = this.typeCastToParameter(expr);
- }
- }
-
- super.toAssignableList(...arguments);
- }
-
- typeCastToParameter(node) {
- node.expression.typeAnnotation = node.typeAnnotation;
- this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);
- return node.expression;
- }
-
- shouldParseArrow(params) {
- if (this.match(14)) {
- return params.every(expr => this.isAssignable(expr, true));
- }
-
- return super.shouldParseArrow(params);
- }
-
- shouldParseAsyncArrow() {
- return this.match(14) || super.shouldParseAsyncArrow();
- }
-
- canHaveLeadingDecorator() {
- return super.canHaveLeadingDecorator() || this.isAbstractClass();
- }
-
- jsxParseOpeningElementAfterName(node) {
- if (this.match(47) || this.match(51)) {
- const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());
- if (typeArguments) node.typeParameters = typeArguments;
- }
-
- return super.jsxParseOpeningElementAfterName(node);
- }
-
- getGetterSetterExpectedParamCount(method) {
- const baseCount = super.getGetterSetterExpectedParamCount(method);
- const params = this.getObjectOrClassMethodParams(method);
- const firstParam = params[0];
- const hasContextParam = firstParam && this.isThisParam(firstParam);
- return hasContextParam ? baseCount + 1 : baseCount;
- }
-
- parseCatchClauseParam() {
- const param = super.parseCatchClauseParam();
- const type = this.tsTryParseTypeAnnotation();
-
- if (type) {
- param.typeAnnotation = type;
- this.resetEndLocation(param);
- }
-
- return param;
- }
-
- tsInAmbientContext(cb) {
- const oldIsAmbientContext = this.state.isAmbientContext;
- this.state.isAmbientContext = true;
-
- try {
- return cb();
- } finally {
- this.state.isAmbientContext = oldIsAmbientContext;
- }
- }
-
- parseClass(node, ...args) {
- const oldInAbstractClass = this.state.inAbstractClass;
- this.state.inAbstractClass = !!node.abstract;
-
- try {
- return super.parseClass(node, ...args);
- } finally {
- this.state.inAbstractClass = oldInAbstractClass;
- }
- }
-
- tsParseAbstractDeclaration(node) {
- if (this.match(80)) {
- node.abstract = true;
- return this.parseClass(node, true, false);
- } else if (this.isContextual(125)) {
- if (!this.hasFollowingLineBreak()) {
- node.abstract = true;
- this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer, {
- at: node
- });
- return this.tsParseInterfaceDeclaration(node);
- }
- } else {
- this.unexpected(null, 80);
- }
- }
-
- parseMethod(...args) {
- const method = super.parseMethod(...args);
-
- if (method.abstract) {
- const hasBody = this.hasPlugin("estree") ? !!method.value.body : !!method.body;
-
- if (hasBody) {
- const {
- key
- } = method;
- this.raise(TSErrors.AbstractMethodHasImplementation, {
- at: method,
- methodName: key.type === "Identifier" && !method.computed ? key.name : `[${this.input.slice(key.start, key.end)}]`
- });
- }
- }
-
- return method;
- }
-
- tsParseTypeParameterName() {
- const typeName = this.parseIdentifier();
- return typeName.name;
- }
-
- shouldParseAsAmbientContext() {
- return !!this.getPluginOption("typescript", "dts");
- }
-
- parse() {
- if (this.shouldParseAsAmbientContext()) {
- this.state.isAmbientContext = true;
- }
-
- return super.parse();
- }
-
- getExpression() {
- if (this.shouldParseAsAmbientContext()) {
- this.state.isAmbientContext = true;
- }
-
- return super.getExpression();
- }
-
- parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) {
- if (!isString && isMaybeTypeOnly) {
- this.parseTypeOnlyImportExportSpecifier(node, false, isInTypeExport);
- return this.finishNode(node, "ExportSpecifier");
- }
-
- node.exportKind = "value";
- return super.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly);
- }
-
- parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly) {
- if (!importedIsString && isMaybeTypeOnly) {
- this.parseTypeOnlyImportExportSpecifier(specifier, true, isInTypeOnlyImport);
- return this.finishNode(specifier, "ImportSpecifier");
- }
-
- specifier.importKind = "value";
- return super.parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly);
- }
-
- parseTypeOnlyImportExportSpecifier(node, isImport, isInTypeOnlyImportExport) {
- const leftOfAsKey = isImport ? "imported" : "local";
- const rightOfAsKey = isImport ? "local" : "exported";
- let leftOfAs = node[leftOfAsKey];
- let rightOfAs;
- let hasTypeSpecifier = false;
- let canParseAsKeyword = true;
- const loc = leftOfAs.loc.start;
-
- if (this.isContextual(93)) {
- const firstAs = this.parseIdentifier();
-
- if (this.isContextual(93)) {
- const secondAs = this.parseIdentifier();
-
- if (tokenIsKeywordOrIdentifier(this.state.type)) {
- hasTypeSpecifier = true;
- leftOfAs = firstAs;
- rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName();
- canParseAsKeyword = false;
- } else {
- rightOfAs = secondAs;
- canParseAsKeyword = false;
- }
- } else if (tokenIsKeywordOrIdentifier(this.state.type)) {
- canParseAsKeyword = false;
- rightOfAs = isImport ? this.parseIdentifier() : this.parseModuleExportName();
- } else {
- hasTypeSpecifier = true;
- leftOfAs = firstAs;
- }
- } else if (tokenIsKeywordOrIdentifier(this.state.type)) {
- hasTypeSpecifier = true;
-
- if (isImport) {
- leftOfAs = this.parseIdentifier(true);
-
- if (!this.isContextual(93)) {
- this.checkReservedWord(leftOfAs.name, leftOfAs.loc.start, true, true);
- }
- } else {
- leftOfAs = this.parseModuleExportName();
- }
- }
-
- if (hasTypeSpecifier && isInTypeOnlyImportExport) {
- this.raise(isImport ? TSErrors.TypeModifierIsUsedInTypeImports : TSErrors.TypeModifierIsUsedInTypeExports, {
- at: loc
- });
- }
-
- node[leftOfAsKey] = leftOfAs;
- node[rightOfAsKey] = rightOfAs;
- const kindKey = isImport ? "importKind" : "exportKind";
- node[kindKey] = hasTypeSpecifier ? "type" : "value";
-
- if (canParseAsKeyword && this.eatContextual(93)) {
- node[rightOfAsKey] = isImport ? this.parseIdentifier() : this.parseModuleExportName();
- }
-
- if (!node[rightOfAsKey]) {
- node[rightOfAsKey] = cloneIdentifier(node[leftOfAsKey]);
- }
-
- if (isImport) {
- this.checkIdentifier(node[rightOfAsKey], BIND_LEXICAL);
- }
- }
-
-});
-
-function isPossiblyLiteralEnum(expression) {
- if (expression.type !== "MemberExpression") return false;
- const {
- computed,
- property
- } = expression;
-
- if (computed && property.type !== "StringLiteral" && (property.type !== "TemplateLiteral" || property.expressions.length > 0)) {
- return false;
- }
-
- return isUncomputedMemberExpressionChain(expression.object);
-}
-
-function isUncomputedMemberExpressionChain(expression) {
- if (expression.type === "Identifier") return true;
- if (expression.type !== "MemberExpression") return false;
- if (expression.computed) return false;
- return isUncomputedMemberExpressionChain(expression.object);
-}
-
-const PlaceholderErrors = ParseErrorEnum`placeholders`(_ => ({
- ClassNameIsRequired: _("A class name is required."),
- UnexpectedSpace: _("Unexpected space in placeholder.")
-}));
-var placeholders = (superClass => class extends superClass {
- parsePlaceholder(expectedNode) {
- if (this.match(140)) {
- const node = this.startNode();
- this.next();
- this.assertNoSpace();
- node.name = super.parseIdentifier(true);
- this.assertNoSpace();
- this.expect(140);
- return this.finishPlaceholder(node, expectedNode);
- }
- }
-
- finishPlaceholder(node, expectedNode) {
- const isFinished = !!(node.expectedNode && node.type === "Placeholder");
- node.expectedNode = expectedNode;
- return isFinished ? node : this.finishNode(node, "Placeholder");
- }
-
- getTokenFromCode(code) {
- if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) {
- return this.finishOp(140, 2);
- }
-
- return super.getTokenFromCode(...arguments);
- }
-
- parseExprAtom() {
- return this.parsePlaceholder("Expression") || super.parseExprAtom(...arguments);
- }
-
- parseIdentifier() {
- return this.parsePlaceholder("Identifier") || super.parseIdentifier(...arguments);
- }
-
- checkReservedWord(word) {
- if (word !== undefined) super.checkReservedWord(...arguments);
- }
-
- parseBindingAtom() {
- return this.parsePlaceholder("Pattern") || super.parseBindingAtom(...arguments);
- }
-
- isValidLVal(type, ...rest) {
- return type === "Placeholder" || super.isValidLVal(type, ...rest);
- }
-
- toAssignable(node) {
- if (node && node.type === "Placeholder" && node.expectedNode === "Expression") {
- node.expectedNode = "Pattern";
- } else {
- super.toAssignable(...arguments);
- }
- }
-
- isLet(context) {
- if (super.isLet(context)) {
- return true;
- }
-
- if (!this.isContextual(99)) {
- return false;
- }
-
- if (context) return false;
- const nextToken = this.lookahead();
-
- if (nextToken.type === 140) {
- return true;
- }
-
- return false;
- }
-
- verifyBreakContinue(node) {
- if (node.label && node.label.type === "Placeholder") return;
- super.verifyBreakContinue(...arguments);
- }
-
- parseExpressionStatement(node, expr) {
- if (expr.type !== "Placeholder" || expr.extra && expr.extra.parenthesized) {
- return super.parseExpressionStatement(...arguments);
- }
-
- if (this.match(14)) {
- const stmt = node;
- stmt.label = this.finishPlaceholder(expr, "Identifier");
- this.next();
- stmt.body = this.parseStatement("label");
- return this.finishNode(stmt, "LabeledStatement");
- }
-
- this.semicolon();
- node.name = expr.name;
- return this.finishPlaceholder(node, "Statement");
- }
-
- parseBlock() {
- return this.parsePlaceholder("BlockStatement") || super.parseBlock(...arguments);
- }
-
- parseFunctionId() {
- return this.parsePlaceholder("Identifier") || super.parseFunctionId(...arguments);
- }
-
- parseClass(node, isStatement, optionalId) {
- const type = isStatement ? "ClassDeclaration" : "ClassExpression";
- this.next();
- this.takeDecorators(node);
- const oldStrict = this.state.strict;
- const placeholder = this.parsePlaceholder("Identifier");
-
- if (placeholder) {
- if (this.match(81) || this.match(140) || this.match(5)) {
- node.id = placeholder;
- } else if (optionalId || !isStatement) {
- node.id = null;
- node.body = this.finishPlaceholder(placeholder, "ClassBody");
- return this.finishNode(node, type);
- } else {
- throw this.raise(PlaceholderErrors.ClassNameIsRequired, {
- at: this.state.startLoc
- });
- }
- } else {
- this.parseClassId(node, isStatement, optionalId);
- }
-
- this.parseClassSuper(node);
- node.body = this.parsePlaceholder("ClassBody") || this.parseClassBody(!!node.superClass, oldStrict);
- return this.finishNode(node, type);
- }
-
- parseExport(node) {
- const placeholder = this.parsePlaceholder("Identifier");
- if (!placeholder) return super.parseExport(...arguments);
-
- if (!this.isContextual(97) && !this.match(12)) {
- node.specifiers = [];
- node.source = null;
- node.declaration = this.finishPlaceholder(placeholder, "Declaration");
- return this.finishNode(node, "ExportNamedDeclaration");
- }
-
- this.expectPlugin("exportDefaultFrom");
- const specifier = this.startNode();
- specifier.exported = placeholder;
- node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")];
- return super.parseExport(node);
- }
-
- isExportDefaultSpecifier() {
- if (this.match(65)) {
- const next = this.nextTokenStart();
-
- if (this.isUnparsedContextual(next, "from")) {
- if (this.input.startsWith(tokenLabelName(140), this.nextTokenStartSince(next + 4))) {
- return true;
- }
- }
- }
-
- return super.isExportDefaultSpecifier();
- }
-
- maybeParseExportDefaultSpecifier(node) {
- if (node.specifiers && node.specifiers.length > 0) {
- return true;
- }
-
- return super.maybeParseExportDefaultSpecifier(...arguments);
- }
-
- checkExport(node) {
- const {
- specifiers
- } = node;
-
- if (specifiers != null && specifiers.length) {
- node.specifiers = specifiers.filter(node => node.exported.type === "Placeholder");
- }
-
- super.checkExport(node);
- node.specifiers = specifiers;
- }
-
- parseImport(node) {
- const placeholder = this.parsePlaceholder("Identifier");
- if (!placeholder) return super.parseImport(...arguments);
- node.specifiers = [];
-
- if (!this.isContextual(97) && !this.match(12)) {
- node.source = this.finishPlaceholder(placeholder, "StringLiteral");
- this.semicolon();
- return this.finishNode(node, "ImportDeclaration");
- }
-
- const specifier = this.startNodeAtNode(placeholder);
- specifier.local = placeholder;
- this.finishNode(specifier, "ImportDefaultSpecifier");
- node.specifiers.push(specifier);
-
- if (this.eat(12)) {
- const hasStarImport = this.maybeParseStarImportSpecifier(node);
- if (!hasStarImport) this.parseNamedImportSpecifiers(node);
- }
-
- this.expectContextual(97);
- node.source = this.parseImportSource();
- this.semicolon();
- return this.finishNode(node, "ImportDeclaration");
- }
-
- parseImportSource() {
- return this.parsePlaceholder("StringLiteral") || super.parseImportSource(...arguments);
- }
-
- assertNoSpace() {
- if (this.state.start > this.state.lastTokEndLoc.index) {
- this.raise(PlaceholderErrors.UnexpectedSpace, {
- at: this.state.lastTokEndLoc
- });
- }
- }
-
-});
-
-var v8intrinsic = (superClass => class extends superClass {
- parseV8Intrinsic() {
- if (this.match(54)) {
- const v8IntrinsicStartLoc = this.state.startLoc;
- const node = this.startNode();
- this.next();
-
- if (tokenIsIdentifier(this.state.type)) {
- const name = this.parseIdentifierName(this.state.start);
- const identifier = this.createIdentifier(node, name);
- identifier.type = "V8IntrinsicIdentifier";
-
- if (this.match(10)) {
- return identifier;
- }
- }
-
- this.unexpected(v8IntrinsicStartLoc);
- }
- }
-
- parseExprAtom() {
- return this.parseV8Intrinsic() || super.parseExprAtom(...arguments);
- }
-
-});
-
-function hasPlugin(plugins, expectedConfig) {
- const [expectedName, expectedOptions] = typeof expectedConfig === "string" ? [expectedConfig, {}] : expectedConfig;
- const expectedKeys = Object.keys(expectedOptions);
- const expectedOptionsIsEmpty = expectedKeys.length === 0;
- return plugins.some(p => {
- if (typeof p === "string") {
- return expectedOptionsIsEmpty && p === expectedName;
- } else {
- const [pluginName, pluginOptions] = p;
-
- if (pluginName !== expectedName) {
- return false;
- }
-
- for (const key of expectedKeys) {
- if (pluginOptions[key] !== expectedOptions[key]) {
- return false;
- }
- }
-
- return true;
- }
- });
-}
-function getPluginOption(plugins, name, option) {
- const plugin = plugins.find(plugin => {
- if (Array.isArray(plugin)) {
- return plugin[0] === name;
- } else {
- return plugin === name;
- }
- });
-
- if (plugin && Array.isArray(plugin)) {
- return plugin[1][option];
- }
-
- return null;
-}
-const PIPELINE_PROPOSALS = ["minimal", "fsharp", "hack", "smart"];
-const TOPIC_TOKENS = ["^^", "@@", "^", "%", "#"];
-const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"];
-function validatePlugins(plugins) {
- if (hasPlugin(plugins, "decorators")) {
- if (hasPlugin(plugins, "decorators-legacy")) {
- throw new Error("Cannot use the decorators and decorators-legacy plugin together");
- }
-
- const decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport");
-
- if (decoratorsBeforeExport == null) {
- throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option," + " whose value must be a boolean. If you are migrating from" + " Babylon/Babel 6 or want to use the old decorators proposal, you" + " should use the 'decorators-legacy' plugin instead of 'decorators'.");
- } else if (typeof decoratorsBeforeExport !== "boolean") {
- throw new Error("'decoratorsBeforeExport' must be a boolean.");
- }
- }
-
- if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) {
- throw new Error("Cannot combine flow and typescript plugins.");
- }
-
- if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) {
- throw new Error("Cannot combine placeholders and v8intrinsic plugins.");
- }
-
- if (hasPlugin(plugins, "pipelineOperator")) {
- const proposal = getPluginOption(plugins, "pipelineOperator", "proposal");
-
- if (!PIPELINE_PROPOSALS.includes(proposal)) {
- const proposalList = PIPELINE_PROPOSALS.map(p => `"${p}"`).join(", ");
- throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${proposalList}.`);
- }
-
- const tupleSyntaxIsHash = hasPlugin(plugins, ["recordAndTuple", {
- syntaxType: "hash"
- }]);
-
- if (proposal === "hack") {
- if (hasPlugin(plugins, "placeholders")) {
- throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");
- }
-
- if (hasPlugin(plugins, "v8intrinsic")) {
- throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");
- }
-
- const topicToken = getPluginOption(plugins, "pipelineOperator", "topicToken");
-
- if (!TOPIC_TOKENS.includes(topicToken)) {
- const tokenList = TOPIC_TOKENS.map(t => `"${t}"`).join(", ");
- throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${tokenList}.`);
- }
-
- if (topicToken === "#" && tupleSyntaxIsHash) {
- throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.');
- }
- } else if (proposal === "smart" && tupleSyntaxIsHash) {
- throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.');
- }
- }
-
- if (hasPlugin(plugins, "moduleAttributes")) {
- {
- if (hasPlugin(plugins, "importAssertions")) {
- throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");
- }
-
- const moduleAttributesVersionPluginOption = getPluginOption(plugins, "moduleAttributes", "version");
-
- if (moduleAttributesVersionPluginOption !== "may-2020") {
- throw new Error("The 'moduleAttributes' plugin requires a 'version' option," + " representing the last proposal update. Currently, the" + " only supported value is 'may-2020'.");
- }
- }
- }
-
- if (hasPlugin(plugins, "recordAndTuple") && !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins, "recordAndTuple", "syntaxType"))) {
- throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(", "));
- }
-
- if (hasPlugin(plugins, "asyncDoExpressions") && !hasPlugin(plugins, "doExpressions")) {
- const error = new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");
- error.missingPlugins = "doExpressions";
- throw error;
- }
-}
-const mixinPlugins = {
- estree,
- jsx,
- flow,
- typescript,
- v8intrinsic,
- placeholders
-};
-const mixinPluginNames = Object.keys(mixinPlugins);
-
-const defaultOptions = {
- sourceType: "script",
- sourceFilename: undefined,
- startColumn: 0,
- startLine: 1,
- allowAwaitOutsideFunction: false,
- allowReturnOutsideFunction: false,
- allowImportExportEverywhere: false,
- allowSuperOutsideMethod: false,
- allowUndeclaredExports: false,
- plugins: [],
- strictMode: null,
- ranges: false,
- tokens: false,
- createParenthesizedExpressions: false,
- errorRecovery: false,
- attachComment: true
-};
-function getOptions(opts) {
- const options = {};
-
- for (const key of Object.keys(defaultOptions)) {
- options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key];
- }
-
- return options;
-}
-
-const getOwn = (object, key) => Object.hasOwnProperty.call(object, key) && object[key];
-
-const unwrapParenthesizedExpression = node => {
- return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node;
-};
-
-class LValParser extends NodeUtils {
- toAssignable(node, isLHS = false) {
- var _node$extra, _node$extra3;
-
- let parenthesized = undefined;
-
- if (node.type === "ParenthesizedExpression" || (_node$extra = node.extra) != null && _node$extra.parenthesized) {
- parenthesized = unwrapParenthesizedExpression(node);
-
- if (isLHS) {
- if (parenthesized.type === "Identifier") {
- this.expressionScope.recordArrowParemeterBindingError(Errors.InvalidParenthesizedAssignment, {
- at: node
- });
- } else if (parenthesized.type !== "MemberExpression") {
- this.raise(Errors.InvalidParenthesizedAssignment, {
- at: node
- });
- }
- } else {
- this.raise(Errors.InvalidParenthesizedAssignment, {
- at: node
- });
- }
- }
-
- switch (node.type) {
- case "Identifier":
- case "ObjectPattern":
- case "ArrayPattern":
- case "AssignmentPattern":
- case "RestElement":
- break;
-
- case "ObjectExpression":
- node.type = "ObjectPattern";
-
- for (let i = 0, length = node.properties.length, last = length - 1; i < length; i++) {
- var _node$extra2;
-
- const prop = node.properties[i];
- const isLast = i === last;
- this.toAssignableObjectExpressionProp(prop, isLast, isLHS);
-
- if (isLast && prop.type === "RestElement" && (_node$extra2 = node.extra) != null && _node$extra2.trailingCommaLoc) {
- this.raise(Errors.RestTrailingComma, {
- at: node.extra.trailingCommaLoc
- });
- }
- }
-
- break;
-
- case "ObjectProperty":
- {
- const {
- key,
- value
- } = node;
-
- if (this.isPrivateName(key)) {
- this.classScope.usePrivateName(this.getPrivateNameSV(key), key.loc.start);
- }
-
- this.toAssignable(value, isLHS);
- break;
- }
-
- case "SpreadElement":
- {
- throw new Error("Internal @babel/parser error (this is a bug, please report it)." + " SpreadElement should be converted by .toAssignable's caller.");
- }
-
- case "ArrayExpression":
- node.type = "ArrayPattern";
- this.toAssignableList(node.elements, (_node$extra3 = node.extra) == null ? void 0 : _node$extra3.trailingCommaLoc, isLHS);
- break;
-
- case "AssignmentExpression":
- if (node.operator !== "=") {
- this.raise(Errors.MissingEqInAssignment, {
- at: node.left.loc.end
- });
- }
-
- node.type = "AssignmentPattern";
- delete node.operator;
- this.toAssignable(node.left, isLHS);
- break;
-
- case "ParenthesizedExpression":
- this.toAssignable(parenthesized, isLHS);
- break;
- }
- }
-
- toAssignableObjectExpressionProp(prop, isLast, isLHS) {
- if (prop.type === "ObjectMethod") {
- this.raise(prop.kind === "get" || prop.kind === "set" ? Errors.PatternHasAccessor : Errors.PatternHasMethod, {
- at: prop.key
- });
- } else if (prop.type === "SpreadElement") {
- prop.type = "RestElement";
- const arg = prop.argument;
- this.checkToRestConversion(arg, false);
- this.toAssignable(arg, isLHS);
-
- if (!isLast) {
- this.raise(Errors.RestTrailingComma, {
- at: prop
- });
- }
- } else {
- this.toAssignable(prop, isLHS);
- }
- }
-
- toAssignableList(exprList, trailingCommaLoc, isLHS) {
- const end = exprList.length - 1;
-
- for (let i = 0; i <= end; i++) {
- const elt = exprList[i];
- if (!elt) continue;
-
- if (elt.type === "SpreadElement") {
- elt.type = "RestElement";
- const arg = elt.argument;
- this.checkToRestConversion(arg, true);
- this.toAssignable(arg, isLHS);
- } else {
- this.toAssignable(elt, isLHS);
- }
-
- if (elt.type === "RestElement") {
- if (i < end) {
- this.raise(Errors.RestTrailingComma, {
- at: elt
- });
- } else if (trailingCommaLoc) {
- this.raise(Errors.RestTrailingComma, {
- at: trailingCommaLoc
- });
- }
- }
- }
- }
-
- isAssignable(node, isBinding) {
- switch (node.type) {
- case "Identifier":
- case "ObjectPattern":
- case "ArrayPattern":
- case "AssignmentPattern":
- case "RestElement":
- return true;
-
- case "ObjectExpression":
- {
- const last = node.properties.length - 1;
- return node.properties.every((prop, i) => {
- return prop.type !== "ObjectMethod" && (i === last || prop.type !== "SpreadElement") && this.isAssignable(prop);
- });
- }
-
- case "ObjectProperty":
- return this.isAssignable(node.value);
-
- case "SpreadElement":
- return this.isAssignable(node.argument);
-
- case "ArrayExpression":
- return node.elements.every(element => element === null || this.isAssignable(element));
-
- case "AssignmentExpression":
- return node.operator === "=";
-
- case "ParenthesizedExpression":
- return this.isAssignable(node.expression);
-
- case "MemberExpression":
- case "OptionalMemberExpression":
- return !isBinding;
-
- default:
- return false;
- }
- }
-
- toReferencedList(exprList, isParenthesizedExpr) {
- return exprList;
- }
-
- toReferencedListDeep(exprList, isParenthesizedExpr) {
- this.toReferencedList(exprList, isParenthesizedExpr);
-
- for (const expr of exprList) {
- if ((expr == null ? void 0 : expr.type) === "ArrayExpression") {
- this.toReferencedListDeep(expr.elements);
- }
- }
- }
-
- parseSpread(refExpressionErrors, refNeedsArrowPos) {
- const node = this.startNode();
- this.next();
- node.argument = this.parseMaybeAssignAllowIn(refExpressionErrors, undefined, refNeedsArrowPos);
- return this.finishNode(node, "SpreadElement");
- }
-
- parseRestBinding() {
- const node = this.startNode();
- this.next();
- node.argument = this.parseBindingAtom();
- return this.finishNode(node, "RestElement");
- }
-
- parseBindingAtom() {
- switch (this.state.type) {
- case 0:
- {
- const node = this.startNode();
- this.next();
- node.elements = this.parseBindingList(3, 93, true);
- return this.finishNode(node, "ArrayPattern");
- }
-
- case 5:
- return this.parseObjectLike(8, true);
- }
-
- return this.parseIdentifier();
- }
-
- parseBindingList(close, closeCharCode, allowEmpty, allowModifiers) {
- const elts = [];
- let first = true;
-
- while (!this.eat(close)) {
- if (first) {
- first = false;
- } else {
- this.expect(12);
- }
-
- if (allowEmpty && this.match(12)) {
- elts.push(null);
- } else if (this.eat(close)) {
- break;
- } else if (this.match(21)) {
- elts.push(this.parseAssignableListItemTypes(this.parseRestBinding()));
-
- if (!this.checkCommaAfterRest(closeCharCode)) {
- this.expect(close);
- break;
- }
- } else {
- const decorators = [];
-
- if (this.match(26) && this.hasPlugin("decorators")) {
- this.raise(Errors.UnsupportedParameterDecorator, {
- at: this.state.startLoc
- });
- }
-
- while (this.match(26)) {
- decorators.push(this.parseDecorator());
- }
-
- elts.push(this.parseAssignableListItem(allowModifiers, decorators));
- }
- }
-
- return elts;
- }
-
- parseBindingRestProperty(prop) {
- this.next();
- prop.argument = this.parseIdentifier();
- this.checkCommaAfterRest(125);
- return this.finishNode(prop, "RestElement");
- }
-
- parseBindingProperty() {
- const prop = this.startNode();
- const {
- type,
- start: startPos,
- startLoc
- } = this.state;
-
- if (type === 21) {
- return this.parseBindingRestProperty(prop);
- } else if (type === 134) {
- this.expectPlugin("destructuringPrivate", startLoc);
- this.classScope.usePrivateName(this.state.value, startLoc);
- prop.key = this.parsePrivateName();
- } else {
- this.parsePropertyName(prop);
- }
-
- prop.method = false;
- this.parseObjPropValue(prop, startPos, startLoc, false, false, true, false);
- return prop;
- }
-
- parseAssignableListItem(allowModifiers, decorators) {
- const left = this.parseMaybeDefault();
- this.parseAssignableListItemTypes(left);
- const elt = this.parseMaybeDefault(left.start, left.loc.start, left);
-
- if (decorators.length) {
- left.decorators = decorators;
- }
-
- return elt;
- }
-
- parseAssignableListItemTypes(param) {
- return param;
- }
-
- parseMaybeDefault(startPos, startLoc, left) {
- var _startLoc, _startPos, _left;
-
- startLoc = (_startLoc = startLoc) != null ? _startLoc : this.state.startLoc;
- startPos = (_startPos = startPos) != null ? _startPos : this.state.start;
- left = (_left = left) != null ? _left : this.parseBindingAtom();
- if (!this.eat(29)) return left;
- const node = this.startNodeAt(startPos, startLoc);
- node.left = left;
- node.right = this.parseMaybeAssignAllowIn();
- return this.finishNode(node, "AssignmentPattern");
- }
-
- isValidLVal(type, isUnparenthesizedInAssign, binding) {
- return getOwn({
- AssignmentPattern: "left",
- RestElement: "argument",
- ObjectProperty: "value",
- ParenthesizedExpression: "expression",
- ArrayPattern: "elements",
- ObjectPattern: "properties"
- }, type);
- }
-
- checkLVal(expression, {
- in: ancestor,
- binding = BIND_NONE,
- checkClashes = false,
- strictModeChanged = false,
- allowingSloppyLetBinding = !(binding & BIND_SCOPE_LEXICAL),
- hasParenthesizedAncestor = false
- }) {
- var _expression$extra;
-
- const type = expression.type;
- if (this.isObjectMethod(expression)) return;
-
- if (type === "MemberExpression") {
- if (binding !== BIND_NONE) {
- this.raise(Errors.InvalidPropertyBindingPattern, {
- at: expression
- });
- }
-
- return;
- }
-
- if (expression.type === "Identifier") {
- this.checkIdentifier(expression, binding, strictModeChanged, allowingSloppyLetBinding);
- const {
- name
- } = expression;
-
- if (checkClashes) {
- if (checkClashes.has(name)) {
- this.raise(Errors.ParamDupe, {
- at: expression
- });
- } else {
- checkClashes.add(name);
- }
- }
-
- return;
- }
-
- const validity = this.isValidLVal(expression.type, !(hasParenthesizedAncestor || (_expression$extra = expression.extra) != null && _expression$extra.parenthesized) && ancestor.type === "AssignmentExpression", binding);
- if (validity === true) return;
-
- if (validity === false) {
- const ParseErrorClass = binding === BIND_NONE ? Errors.InvalidLhs : Errors.InvalidLhsBinding;
- this.raise(ParseErrorClass, {
- at: expression,
- ancestor: ancestor.type === "UpdateExpression" ? {
- type: "UpdateExpression",
- prefix: ancestor.prefix
- } : {
- type: ancestor.type
- }
- });
- return;
- }
-
- const [key, isParenthesizedExpression] = Array.isArray(validity) ? validity : [validity, type === "ParenthesizedExpression"];
- const nextAncestor = expression.type === "ArrayPattern" || expression.type === "ObjectPattern" || expression.type === "ParenthesizedExpression" ? expression : ancestor;
-
- for (const child of [].concat(expression[key])) {
- if (child) {
- this.checkLVal(child, {
- in: nextAncestor,
- binding,
- checkClashes,
- allowingSloppyLetBinding,
- strictModeChanged,
- hasParenthesizedAncestor: isParenthesizedExpression
- });
- }
- }
- }
-
- checkIdentifier(at, bindingType, strictModeChanged = false, allowLetBinding = !(bindingType & BIND_SCOPE_LEXICAL)) {
- if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(at.name, this.inModule) : isStrictBindOnlyReservedWord(at.name))) {
- if (bindingType === BIND_NONE) {
- this.raise(Errors.StrictEvalArguments, {
- at,
- referenceName: at.name
- });
- } else {
- this.raise(Errors.StrictEvalArgumentsBinding, {
- at,
- bindingName: at.name
- });
- }
- }
-
- if (!allowLetBinding && at.name === "let") {
- this.raise(Errors.LetInLexicalBinding, {
- at
- });
- }
-
- if (!(bindingType & BIND_NONE)) {
- this.declareNameFromIdentifier(at, bindingType);
- }
- }
-
- declareNameFromIdentifier(identifier, binding) {
- this.scope.declareName(identifier.name, binding, identifier.loc.start);
- }
-
- checkToRestConversion(node, allowPattern) {
- switch (node.type) {
- case "ParenthesizedExpression":
- this.checkToRestConversion(node.expression, allowPattern);
- break;
-
- case "Identifier":
- case "MemberExpression":
- break;
-
- case "ArrayExpression":
- case "ObjectExpression":
- if (allowPattern) break;
-
- default:
- this.raise(Errors.InvalidRestAssignmentPattern, {
- at: node
- });
- }
- }
-
- checkCommaAfterRest(close) {
- if (!this.match(12)) {
- return false;
- }
-
- this.raise(this.lookaheadCharCode() === close ? Errors.RestTrailingComma : Errors.ElementAfterRest, {
- at: this.state.startLoc
- });
- return true;
- }
-
-}
-
-class ExpressionParser extends LValParser {
- checkProto(prop, isRecord, protoRef, refExpressionErrors) {
- if (prop.type === "SpreadElement" || this.isObjectMethod(prop) || prop.computed || prop.shorthand) {
- return;
- }
-
- const key = prop.key;
- const name = key.type === "Identifier" ? key.name : key.value;
-
- if (name === "__proto__") {
- if (isRecord) {
- this.raise(Errors.RecordNoProto, {
- at: key
- });
- return;
- }
-
- if (protoRef.used) {
- if (refExpressionErrors) {
- if (refExpressionErrors.doubleProtoLoc === null) {
- refExpressionErrors.doubleProtoLoc = key.loc.start;
- }
- } else {
- this.raise(Errors.DuplicateProto, {
- at: key
- });
- }
- }
-
- protoRef.used = true;
- }
- }
-
- shouldExitDescending(expr, potentialArrowAt) {
- return expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt;
- }
-
- getExpression() {
- this.enterInitialScopes();
- this.nextToken();
- const expr = this.parseExpression();
-
- if (!this.match(135)) {
- this.unexpected();
- }
-
- this.finalizeRemainingComments();
- expr.comments = this.state.comments;
- expr.errors = this.state.errors;
-
- if (this.options.tokens) {
- expr.tokens = this.tokens;
- }
-
- return expr;
- }
-
- parseExpression(disallowIn, refExpressionErrors) {
- if (disallowIn) {
- return this.disallowInAnd(() => this.parseExpressionBase(refExpressionErrors));
- }
-
- return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors));
- }
-
- parseExpressionBase(refExpressionErrors) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- const expr = this.parseMaybeAssign(refExpressionErrors);
-
- if (this.match(12)) {
- const node = this.startNodeAt(startPos, startLoc);
- node.expressions = [expr];
-
- while (this.eat(12)) {
- node.expressions.push(this.parseMaybeAssign(refExpressionErrors));
- }
-
- this.toReferencedList(node.expressions);
- return this.finishNode(node, "SequenceExpression");
- }
-
- return expr;
- }
-
- parseMaybeAssignDisallowIn(refExpressionErrors, afterLeftParse) {
- return this.disallowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse));
- }
-
- parseMaybeAssignAllowIn(refExpressionErrors, afterLeftParse) {
- return this.allowInAnd(() => this.parseMaybeAssign(refExpressionErrors, afterLeftParse));
- }
-
- setOptionalParametersError(refExpressionErrors, resultError) {
- var _resultError$loc;
-
- refExpressionErrors.optionalParametersLoc = (_resultError$loc = resultError == null ? void 0 : resultError.loc) != null ? _resultError$loc : this.state.startLoc;
- }
-
- parseMaybeAssign(refExpressionErrors, afterLeftParse) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
-
- if (this.isContextual(105)) {
- if (this.prodParam.hasYield) {
- let left = this.parseYield();
-
- if (afterLeftParse) {
- left = afterLeftParse.call(this, left, startPos, startLoc);
- }
-
- return left;
- }
- }
-
- let ownExpressionErrors;
-
- if (refExpressionErrors) {
- ownExpressionErrors = false;
- } else {
- refExpressionErrors = new ExpressionErrors();
- ownExpressionErrors = true;
- }
-
- const {
- type
- } = this.state;
-
- if (type === 10 || tokenIsIdentifier(type)) {
- this.state.potentialArrowAt = this.state.start;
- }
-
- let left = this.parseMaybeConditional(refExpressionErrors);
-
- if (afterLeftParse) {
- left = afterLeftParse.call(this, left, startPos, startLoc);
- }
-
- if (tokenIsAssignment(this.state.type)) {
- const node = this.startNodeAt(startPos, startLoc);
- const operator = this.state.value;
- node.operator = operator;
-
- if (this.match(29)) {
- this.toAssignable(left, true);
- node.left = left;
-
- if (refExpressionErrors.doubleProtoLoc != null && refExpressionErrors.doubleProtoLoc.index >= startPos) {
- refExpressionErrors.doubleProtoLoc = null;
- }
-
- if (refExpressionErrors.shorthandAssignLoc != null && refExpressionErrors.shorthandAssignLoc.index >= startPos) {
- refExpressionErrors.shorthandAssignLoc = null;
- }
-
- if (refExpressionErrors.privateKeyLoc != null && refExpressionErrors.privateKeyLoc.index >= startPos) {
- this.checkDestructuringPrivate(refExpressionErrors);
- refExpressionErrors.privateKeyLoc = null;
- }
- } else {
- node.left = left;
- }
-
- this.next();
- node.right = this.parseMaybeAssign();
- this.checkLVal(left, {
- in: this.finishNode(node, "AssignmentExpression")
- });
- return node;
- } else if (ownExpressionErrors) {
- this.checkExpressionErrors(refExpressionErrors, true);
- }
-
- return left;
- }
-
- parseMaybeConditional(refExpressionErrors) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- const potentialArrowAt = this.state.potentialArrowAt;
- const expr = this.parseExprOps(refExpressionErrors);
-
- if (this.shouldExitDescending(expr, potentialArrowAt)) {
- return expr;
- }
-
- return this.parseConditional(expr, startPos, startLoc, refExpressionErrors);
- }
-
- parseConditional(expr, startPos, startLoc, refExpressionErrors) {
- if (this.eat(17)) {
- const node = this.startNodeAt(startPos, startLoc);
- node.test = expr;
- node.consequent = this.parseMaybeAssignAllowIn();
- this.expect(14);
- node.alternate = this.parseMaybeAssign();
- return this.finishNode(node, "ConditionalExpression");
- }
-
- return expr;
- }
-
- parseMaybeUnaryOrPrivate(refExpressionErrors) {
- return this.match(134) ? this.parsePrivateName() : this.parseMaybeUnary(refExpressionErrors);
- }
-
- parseExprOps(refExpressionErrors) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- const potentialArrowAt = this.state.potentialArrowAt;
- const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors);
-
- if (this.shouldExitDescending(expr, potentialArrowAt)) {
- return expr;
- }
-
- return this.parseExprOp(expr, startPos, startLoc, -1);
- }
-
- parseExprOp(left, leftStartPos, leftStartLoc, minPrec) {
- if (this.isPrivateName(left)) {
- const value = this.getPrivateNameSV(left);
-
- if (minPrec >= tokenOperatorPrecedence(58) || !this.prodParam.hasIn || !this.match(58)) {
- this.raise(Errors.PrivateInExpectedIn, {
- at: left,
- identifierName: value
- });
- }
-
- this.classScope.usePrivateName(value, left.loc.start);
- }
-
- const op = this.state.type;
-
- if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(58))) {
- let prec = tokenOperatorPrecedence(op);
-
- if (prec > minPrec) {
- if (op === 39) {
- this.expectPlugin("pipelineOperator");
-
- if (this.state.inFSharpPipelineDirectBody) {
- return left;
- }
-
- this.checkPipelineAtInfixOperator(left, leftStartLoc);
- }
-
- const node = this.startNodeAt(leftStartPos, leftStartLoc);
- node.left = left;
- node.operator = this.state.value;
- const logical = op === 41 || op === 42;
- const coalesce = op === 40;
-
- if (coalesce) {
- prec = tokenOperatorPrecedence(42);
- }
-
- this.next();
-
- if (op === 39 && this.hasPlugin(["pipelineOperator", {
- proposal: "minimal"
- }])) {
- if (this.state.type === 96 && this.prodParam.hasAwait) {
- throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody, {
- at: this.state.startLoc
- });
- }
- }
-
- node.right = this.parseExprOpRightExpr(op, prec);
- this.finishNode(node, logical || coalesce ? "LogicalExpression" : "BinaryExpression");
- const nextOp = this.state.type;
-
- if (coalesce && (nextOp === 41 || nextOp === 42) || logical && nextOp === 40) {
- throw this.raise(Errors.MixingCoalesceWithLogical, {
- at: this.state.startLoc
- });
- }
-
- return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec);
- }
- }
-
- return left;
- }
-
- parseExprOpRightExpr(op, prec) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
-
- switch (op) {
- case 39:
- switch (this.getPluginOption("pipelineOperator", "proposal")) {
- case "hack":
- return this.withTopicBindingContext(() => {
- return this.parseHackPipeBody();
- });
-
- case "smart":
- return this.withTopicBindingContext(() => {
- if (this.prodParam.hasYield && this.isContextual(105)) {
- throw this.raise(Errors.PipeBodyIsTighter, {
- at: this.state.startLoc
- });
- }
-
- return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(op, prec), startPos, startLoc);
- });
-
- case "fsharp":
- return this.withSoloAwaitPermittingContext(() => {
- return this.parseFSharpPipelineBody(prec);
- });
- }
-
- default:
- return this.parseExprOpBaseRightExpr(op, prec);
- }
- }
-
- parseExprOpBaseRightExpr(op, prec) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- return this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startPos, startLoc, tokenIsRightAssociative(op) ? prec - 1 : prec);
- }
-
- parseHackPipeBody() {
- var _body$extra;
-
- const {
- startLoc
- } = this.state;
- const body = this.parseMaybeAssign();
- const requiredParentheses = UnparenthesizedPipeBodyDescriptions.has(body.type);
-
- if (requiredParentheses && !((_body$extra = body.extra) != null && _body$extra.parenthesized)) {
- this.raise(Errors.PipeUnparenthesizedBody, {
- at: startLoc,
- type: body.type
- });
- }
-
- if (!this.topicReferenceWasUsedInCurrentContext()) {
- this.raise(Errors.PipeTopicUnused, {
- at: startLoc
- });
- }
-
- return body;
- }
-
- checkExponentialAfterUnary(node) {
- if (this.match(57)) {
- this.raise(Errors.UnexpectedTokenUnaryExponentiation, {
- at: node.argument
- });
- }
- }
-
- parseMaybeUnary(refExpressionErrors, sawUnary) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- const isAwait = this.isContextual(96);
-
- if (isAwait && this.isAwaitAllowed()) {
- this.next();
- const expr = this.parseAwait(startPos, startLoc);
- if (!sawUnary) this.checkExponentialAfterUnary(expr);
- return expr;
- }
-
- const update = this.match(34);
- const node = this.startNode();
-
- if (tokenIsPrefix(this.state.type)) {
- node.operator = this.state.value;
- node.prefix = true;
-
- if (this.match(72)) {
- this.expectPlugin("throwExpressions");
- }
-
- const isDelete = this.match(89);
- this.next();
- node.argument = this.parseMaybeUnary(null, true);
- this.checkExpressionErrors(refExpressionErrors, true);
-
- if (this.state.strict && isDelete) {
- const arg = node.argument;
-
- if (arg.type === "Identifier") {
- this.raise(Errors.StrictDelete, {
- at: node
- });
- } else if (this.hasPropertyAsPrivateName(arg)) {
- this.raise(Errors.DeletePrivateField, {
- at: node
- });
- }
- }
-
- if (!update) {
- if (!sawUnary) this.checkExponentialAfterUnary(node);
- return this.finishNode(node, "UnaryExpression");
- }
- }
-
- const expr = this.parseUpdate(node, update, refExpressionErrors);
-
- if (isAwait) {
- const {
- type
- } = this.state;
- const startsExpr = this.hasPlugin("v8intrinsic") ? tokenCanStartExpression(type) : tokenCanStartExpression(type) && !this.match(54);
-
- if (startsExpr && !this.isAmbiguousAwait()) {
- this.raiseOverwrite(Errors.AwaitNotInAsyncContext, {
- at: startLoc
- });
- return this.parseAwait(startPos, startLoc);
- }
- }
-
- return expr;
- }
-
- parseUpdate(node, update, refExpressionErrors) {
- if (update) {
- this.checkLVal(node.argument, {
- in: this.finishNode(node, "UpdateExpression")
- });
- return node;
- }
-
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- let expr = this.parseExprSubscripts(refExpressionErrors);
- if (this.checkExpressionErrors(refExpressionErrors, false)) return expr;
-
- while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) {
- const node = this.startNodeAt(startPos, startLoc);
- node.operator = this.state.value;
- node.prefix = false;
- node.argument = expr;
- this.next();
- this.checkLVal(expr, {
- in: expr = this.finishNode(node, "UpdateExpression")
- });
- }
-
- return expr;
- }
-
- parseExprSubscripts(refExpressionErrors) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- const potentialArrowAt = this.state.potentialArrowAt;
- const expr = this.parseExprAtom(refExpressionErrors);
-
- if (this.shouldExitDescending(expr, potentialArrowAt)) {
- return expr;
- }
-
- return this.parseSubscripts(expr, startPos, startLoc);
- }
-
- parseSubscripts(base, startPos, startLoc, noCalls) {
- const state = {
- optionalChainMember: false,
- maybeAsyncArrow: this.atPossibleAsyncArrow(base),
- stop: false
- };
-
- do {
- base = this.parseSubscript(base, startPos, startLoc, noCalls, state);
- state.maybeAsyncArrow = false;
- } while (!state.stop);
-
- return base;
- }
-
- parseSubscript(base, startPos, startLoc, noCalls, state) {
- const {
- type
- } = this.state;
-
- if (!noCalls && type === 15) {
- return this.parseBind(base, startPos, startLoc, noCalls, state);
- } else if (tokenIsTemplate(type)) {
- return this.parseTaggedTemplateExpression(base, startPos, startLoc, state);
- }
-
- let optional = false;
-
- if (type === 18) {
- if (noCalls && this.lookaheadCharCode() === 40) {
- state.stop = true;
- return base;
- }
-
- state.optionalChainMember = optional = true;
- this.next();
- }
-
- if (!noCalls && this.match(10)) {
- return this.parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional);
- } else {
- const computed = this.eat(0);
-
- if (computed || optional || this.eat(16)) {
- return this.parseMember(base, startPos, startLoc, state, computed, optional);
- } else {
- state.stop = true;
- return base;
- }
- }
- }
-
- parseMember(base, startPos, startLoc, state, computed, optional) {
- const node = this.startNodeAt(startPos, startLoc);
- node.object = base;
- node.computed = computed;
-
- if (computed) {
- node.property = this.parseExpression();
- this.expect(3);
- } else if (this.match(134)) {
- if (base.type === "Super") {
- this.raise(Errors.SuperPrivateField, {
- at: startLoc
- });
- }
-
- this.classScope.usePrivateName(this.state.value, this.state.startLoc);
- node.property = this.parsePrivateName();
- } else {
- node.property = this.parseIdentifier(true);
- }
-
- if (state.optionalChainMember) {
- node.optional = optional;
- return this.finishNode(node, "OptionalMemberExpression");
- } else {
- return this.finishNode(node, "MemberExpression");
- }
- }
-
- parseBind(base, startPos, startLoc, noCalls, state) {
- const node = this.startNodeAt(startPos, startLoc);
- node.object = base;
- this.next();
- node.callee = this.parseNoCallExpr();
- state.stop = true;
- return this.parseSubscripts(this.finishNode(node, "BindExpression"), startPos, startLoc, noCalls);
- }
-
- parseCoverCallAndAsyncArrowHead(base, startPos, startLoc, state, optional) {
- const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
- let refExpressionErrors = null;
- this.state.maybeInArrowParameters = true;
- this.next();
- let node = this.startNodeAt(startPos, startLoc);
- node.callee = base;
- const {
- maybeAsyncArrow,
- optionalChainMember
- } = state;
-
- if (maybeAsyncArrow) {
- this.expressionScope.enter(newAsyncArrowScope());
- refExpressionErrors = new ExpressionErrors();
- }
-
- if (optionalChainMember) {
- node.optional = optional;
- }
-
- if (optional) {
- node.arguments = this.parseCallExpressionArguments(11);
- } else {
- node.arguments = this.parseCallExpressionArguments(11, base.type === "Import", base.type !== "Super", node, refExpressionErrors);
- }
-
- this.finishCallExpression(node, optionalChainMember);
-
- if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) {
- state.stop = true;
- this.checkDestructuringPrivate(refExpressionErrors);
- this.expressionScope.validateAsPattern();
- this.expressionScope.exit();
- node = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startPos, startLoc), node);
- } else {
- if (maybeAsyncArrow) {
- this.checkExpressionErrors(refExpressionErrors, true);
- this.expressionScope.exit();
- }
-
- this.toReferencedArguments(node);
- }
-
- this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
- return node;
- }
-
- toReferencedArguments(node, isParenthesizedExpr) {
- this.toReferencedListDeep(node.arguments, isParenthesizedExpr);
- }
-
- parseTaggedTemplateExpression(base, startPos, startLoc, state) {
- const node = this.startNodeAt(startPos, startLoc);
- node.tag = base;
- node.quasi = this.parseTemplate(true);
-
- if (state.optionalChainMember) {
- this.raise(Errors.OptionalChainingNoTemplate, {
- at: startLoc
- });
- }
-
- return this.finishNode(node, "TaggedTemplateExpression");
- }
-
- atPossibleAsyncArrow(base) {
- return base.type === "Identifier" && base.name === "async" && this.state.lastTokEndLoc.index === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && base.start === this.state.potentialArrowAt;
- }
-
- finishCallExpression(node, optional) {
- if (node.callee.type === "Import") {
- if (node.arguments.length === 2) {
- {
- if (!this.hasPlugin("moduleAttributes")) {
- this.expectPlugin("importAssertions");
- }
- }
- }
-
- if (node.arguments.length === 0 || node.arguments.length > 2) {
- this.raise(Errors.ImportCallArity, {
- at: node,
- maxArgumentCount: this.hasPlugin("importAssertions") || this.hasPlugin("moduleAttributes") ? 2 : 1
- });
- } else {
- for (const arg of node.arguments) {
- if (arg.type === "SpreadElement") {
- this.raise(Errors.ImportCallSpreadArgument, {
- at: arg
- });
- }
- }
- }
- }
-
- return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression");
- }
-
- parseCallExpressionArguments(close, dynamicImport, allowPlaceholder, nodeForExtra, refExpressionErrors) {
- const elts = [];
- let first = true;
- const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
- this.state.inFSharpPipelineDirectBody = false;
-
- while (!this.eat(close)) {
- if (first) {
- first = false;
- } else {
- this.expect(12);
-
- if (this.match(close)) {
- if (dynamicImport && !this.hasPlugin("importAssertions") && !this.hasPlugin("moduleAttributes")) {
- this.raise(Errors.ImportCallArgumentTrailingComma, {
- at: this.state.lastTokStartLoc
- });
- }
-
- if (nodeForExtra) {
- this.addTrailingCommaExtraToNode(nodeForExtra);
- }
-
- this.next();
- break;
- }
- }
-
- elts.push(this.parseExprListItem(false, refExpressionErrors, allowPlaceholder));
- }
-
- this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
- return elts;
- }
-
- shouldParseAsyncArrow() {
- return this.match(19) && !this.canInsertSemicolon();
- }
-
- parseAsyncArrowFromCallExpression(node, call) {
- var _call$extra;
-
- this.resetPreviousNodeTrailingComments(call);
- this.expect(19);
- this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) == null ? void 0 : _call$extra.trailingCommaLoc);
-
- if (call.innerComments) {
- setInnerComments(node, call.innerComments);
- }
-
- if (call.callee.trailingComments) {
- setInnerComments(node, call.callee.trailingComments);
- }
-
- return node;
- }
-
- parseNoCallExpr() {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- return this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);
- }
-
- parseExprAtom(refExpressionErrors) {
- let node;
- const {
- type
- } = this.state;
-
- switch (type) {
- case 79:
- return this.parseSuper();
-
- case 83:
- node = this.startNode();
- this.next();
-
- if (this.match(16)) {
- return this.parseImportMetaProperty(node);
- }
-
- if (!this.match(10)) {
- this.raise(Errors.UnsupportedImport, {
- at: this.state.lastTokStartLoc
- });
- }
-
- return this.finishNode(node, "Import");
-
- case 78:
- node = this.startNode();
- this.next();
- return this.finishNode(node, "ThisExpression");
-
- case 90:
- {
- return this.parseDo(this.startNode(), false);
- }
-
- case 56:
- case 31:
- {
- this.readRegexp();
- return this.parseRegExpLiteral(this.state.value);
- }
-
- case 130:
- return this.parseNumericLiteral(this.state.value);
-
- case 131:
- return this.parseBigIntLiteral(this.state.value);
-
- case 132:
- return this.parseDecimalLiteral(this.state.value);
-
- case 129:
- return this.parseStringLiteral(this.state.value);
-
- case 84:
- return this.parseNullLiteral();
-
- case 85:
- return this.parseBooleanLiteral(true);
-
- case 86:
- return this.parseBooleanLiteral(false);
-
- case 10:
- {
- const canBeArrow = this.state.potentialArrowAt === this.state.start;
- return this.parseParenAndDistinguishExpression(canBeArrow);
- }
-
- case 2:
- case 1:
- {
- return this.parseArrayLike(this.state.type === 2 ? 4 : 3, false, true);
- }
-
- case 0:
- {
- return this.parseArrayLike(3, true, false, refExpressionErrors);
- }
-
- case 6:
- case 7:
- {
- return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true);
- }
-
- case 5:
- {
- return this.parseObjectLike(8, false, false, refExpressionErrors);
- }
-
- case 68:
- return this.parseFunctionOrFunctionSent();
-
- case 26:
- this.parseDecorators();
-
- case 80:
- node = this.startNode();
- this.takeDecorators(node);
- return this.parseClass(node, false);
-
- case 77:
- return this.parseNewOrNewTarget();
-
- case 25:
- case 24:
- return this.parseTemplate(false);
-
- case 15:
- {
- node = this.startNode();
- this.next();
- node.object = null;
- const callee = node.callee = this.parseNoCallExpr();
-
- if (callee.type === "MemberExpression") {
- return this.finishNode(node, "BindExpression");
- } else {
- throw this.raise(Errors.UnsupportedBind, {
- at: callee
- });
- }
- }
-
- case 134:
- {
- this.raise(Errors.PrivateInExpectedIn, {
- at: this.state.startLoc,
- identifierName: this.state.value
- });
- return this.parsePrivateName();
- }
-
- case 33:
- {
- return this.parseTopicReferenceThenEqualsSign(54, "%");
- }
-
- case 32:
- {
- return this.parseTopicReferenceThenEqualsSign(44, "^");
- }
-
- case 37:
- case 38:
- {
- return this.parseTopicReference("hack");
- }
-
- case 44:
- case 54:
- case 27:
- {
- const pipeProposal = this.getPluginOption("pipelineOperator", "proposal");
-
- if (pipeProposal) {
- return this.parseTopicReference(pipeProposal);
- } else {
- throw this.unexpected();
- }
- }
-
- case 47:
- {
- const lookaheadCh = this.input.codePointAt(this.nextTokenStart());
-
- if (isIdentifierStart(lookaheadCh) || lookaheadCh === 62) {
- this.expectOnePlugin(["jsx", "flow", "typescript"]);
- break;
- } else {
- throw this.unexpected();
- }
- }
-
- default:
- if (tokenIsIdentifier(type)) {
- if (this.isContextual(123) && this.lookaheadCharCode() === 123 && !this.hasFollowingLineBreak()) {
- return this.parseModuleExpression();
- }
-
- const canBeArrow = this.state.potentialArrowAt === this.state.start;
- const containsEsc = this.state.containsEsc;
- const id = this.parseIdentifier();
-
- if (!containsEsc && id.name === "async" && !this.canInsertSemicolon()) {
- const {
- type
- } = this.state;
-
- if (type === 68) {
- this.resetPreviousNodeTrailingComments(id);
- this.next();
- return this.parseFunction(this.startNodeAtNode(id), undefined, true);
- } else if (tokenIsIdentifier(type)) {
- if (this.lookaheadCharCode() === 61) {
- return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id));
- } else {
- return id;
- }
- } else if (type === 90) {
- this.resetPreviousNodeTrailingComments(id);
- return this.parseDo(this.startNodeAtNode(id), true);
- }
- }
-
- if (canBeArrow && this.match(19) && !this.canInsertSemicolon()) {
- this.next();
- return this.parseArrowExpression(this.startNodeAtNode(id), [id], false);
- }
-
- return id;
- } else {
- throw this.unexpected();
- }
-
- }
- }
-
- parseTopicReferenceThenEqualsSign(topicTokenType, topicTokenValue) {
- const pipeProposal = this.getPluginOption("pipelineOperator", "proposal");
-
- if (pipeProposal) {
- this.state.type = topicTokenType;
- this.state.value = topicTokenValue;
- this.state.pos--;
- this.state.end--;
- this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1);
- return this.parseTopicReference(pipeProposal);
- } else {
- throw this.unexpected();
- }
- }
-
- parseTopicReference(pipeProposal) {
- const node = this.startNode();
- const startLoc = this.state.startLoc;
- const tokenType = this.state.type;
- this.next();
- return this.finishTopicReference(node, startLoc, pipeProposal, tokenType);
- }
-
- finishTopicReference(node, startLoc, pipeProposal, tokenType) {
- if (this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)) {
- const nodeType = pipeProposal === "smart" ? "PipelinePrimaryTopicReference" : "TopicReference";
-
- if (!this.topicReferenceIsAllowedInCurrentContext()) {
- this.raise(pipeProposal === "smart" ? Errors.PrimaryTopicNotAllowed : Errors.PipeTopicUnbound, {
- at: startLoc
- });
- }
-
- this.registerTopicReference();
- return this.finishNode(node, nodeType);
- } else {
- throw this.raise(Errors.PipeTopicUnconfiguredToken, {
- at: startLoc,
- token: tokenLabelName(tokenType)
- });
- }
- }
-
- testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType) {
- switch (pipeProposal) {
- case "hack":
- {
- return this.hasPlugin(["pipelineOperator", {
- topicToken: tokenLabelName(tokenType)
- }]);
- }
-
- case "smart":
- return tokenType === 27;
-
- default:
- throw this.raise(Errors.PipeTopicRequiresHackPipes, {
- at: startLoc
- });
- }
- }
-
- parseAsyncArrowUnaryFunction(node) {
- this.prodParam.enter(functionFlags(true, this.prodParam.hasYield));
- const params = [this.parseIdentifier()];
- this.prodParam.exit();
-
- if (this.hasPrecedingLineBreak()) {
- this.raise(Errors.LineTerminatorBeforeArrow, {
- at: this.state.curPosition()
- });
- }
-
- this.expect(19);
- this.parseArrowExpression(node, params, true);
- return node;
- }
-
- parseDo(node, isAsync) {
- this.expectPlugin("doExpressions");
-
- if (isAsync) {
- this.expectPlugin("asyncDoExpressions");
- }
-
- node.async = isAsync;
- this.next();
- const oldLabels = this.state.labels;
- this.state.labels = [];
-
- if (isAsync) {
- this.prodParam.enter(PARAM_AWAIT);
- node.body = this.parseBlock();
- this.prodParam.exit();
- } else {
- node.body = this.parseBlock();
- }
-
- this.state.labels = oldLabels;
- return this.finishNode(node, "DoExpression");
- }
-
- parseSuper() {
- const node = this.startNode();
- this.next();
-
- if (this.match(10) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) {
- this.raise(Errors.SuperNotAllowed, {
- at: node
- });
- } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) {
- this.raise(Errors.UnexpectedSuper, {
- at: node
- });
- }
-
- if (!this.match(10) && !this.match(0) && !this.match(16)) {
- this.raise(Errors.UnsupportedSuper, {
- at: node
- });
- }
-
- return this.finishNode(node, "Super");
- }
-
- parsePrivateName() {
- const node = this.startNode();
- const id = this.startNodeAt(this.state.start + 1, new Position(this.state.curLine, this.state.start + 1 - this.state.lineStart, this.state.start + 1));
- const name = this.state.value;
- this.next();
- node.id = this.createIdentifier(id, name);
- return this.finishNode(node, "PrivateName");
- }
-
- parseFunctionOrFunctionSent() {
- const node = this.startNode();
- this.next();
-
- if (this.prodParam.hasYield && this.match(16)) {
- const meta = this.createIdentifier(this.startNodeAtNode(node), "function");
- this.next();
-
- if (this.match(102)) {
- this.expectPlugin("functionSent");
- } else if (!this.hasPlugin("functionSent")) {
- this.unexpected();
- }
-
- return this.parseMetaProperty(node, meta, "sent");
- }
-
- return this.parseFunction(node);
- }
-
- parseMetaProperty(node, meta, propertyName) {
- node.meta = meta;
- const containsEsc = this.state.containsEsc;
- node.property = this.parseIdentifier(true);
-
- if (node.property.name !== propertyName || containsEsc) {
- this.raise(Errors.UnsupportedMetaProperty, {
- at: node.property,
- target: meta.name,
- onlyValidPropertyName: propertyName
- });
- }
-
- return this.finishNode(node, "MetaProperty");
- }
-
- parseImportMetaProperty(node) {
- const id = this.createIdentifier(this.startNodeAtNode(node), "import");
- this.next();
-
- if (this.isContextual(100)) {
- if (!this.inModule) {
- this.raise(Errors.ImportMetaOutsideModule, {
- at: id
- });
- }
-
- this.sawUnambiguousESM = true;
- }
-
- return this.parseMetaProperty(node, id, "meta");
- }
-
- parseLiteralAtNode(value, type, node) {
- this.addExtra(node, "rawValue", value);
- this.addExtra(node, "raw", this.input.slice(node.start, this.state.end));
- node.value = value;
- this.next();
- return this.finishNode(node, type);
- }
-
- parseLiteral(value, type) {
- const node = this.startNode();
- return this.parseLiteralAtNode(value, type, node);
- }
-
- parseStringLiteral(value) {
- return this.parseLiteral(value, "StringLiteral");
- }
-
- parseNumericLiteral(value) {
- return this.parseLiteral(value, "NumericLiteral");
- }
-
- parseBigIntLiteral(value) {
- return this.parseLiteral(value, "BigIntLiteral");
- }
-
- parseDecimalLiteral(value) {
- return this.parseLiteral(value, "DecimalLiteral");
- }
-
- parseRegExpLiteral(value) {
- const node = this.parseLiteral(value.value, "RegExpLiteral");
- node.pattern = value.pattern;
- node.flags = value.flags;
- return node;
- }
-
- parseBooleanLiteral(value) {
- const node = this.startNode();
- node.value = value;
- this.next();
- return this.finishNode(node, "BooleanLiteral");
- }
-
- parseNullLiteral() {
- const node = this.startNode();
- this.next();
- return this.finishNode(node, "NullLiteral");
- }
-
- parseParenAndDistinguishExpression(canBeArrow) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- let val;
- this.next();
- this.expressionScope.enter(newArrowHeadScope());
- const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
- const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
- this.state.maybeInArrowParameters = true;
- this.state.inFSharpPipelineDirectBody = false;
- const innerStartPos = this.state.start;
- const innerStartLoc = this.state.startLoc;
- const exprList = [];
- const refExpressionErrors = new ExpressionErrors();
- let first = true;
- let spreadStartLoc;
- let optionalCommaStartLoc;
-
- while (!this.match(11)) {
- if (first) {
- first = false;
- } else {
- this.expect(12, refExpressionErrors.optionalParametersLoc === null ? null : refExpressionErrors.optionalParametersLoc);
-
- if (this.match(11)) {
- optionalCommaStartLoc = this.state.startLoc;
- break;
- }
- }
-
- if (this.match(21)) {
- const spreadNodeStartPos = this.state.start;
- const spreadNodeStartLoc = this.state.startLoc;
- spreadStartLoc = this.state.startLoc;
- exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartPos, spreadNodeStartLoc));
-
- if (!this.checkCommaAfterRest(41)) {
- break;
- }
- } else {
- exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem));
- }
- }
-
- const innerEndLoc = this.state.lastTokEndLoc;
- this.expect(11);
- this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
- this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
- let arrowNode = this.startNodeAt(startPos, startLoc);
-
- if (canBeArrow && this.shouldParseArrow(exprList) && (arrowNode = this.parseArrow(arrowNode))) {
- this.checkDestructuringPrivate(refExpressionErrors);
- this.expressionScope.validateAsPattern();
- this.expressionScope.exit();
- this.parseArrowExpression(arrowNode, exprList, false);
- return arrowNode;
- }
-
- this.expressionScope.exit();
-
- if (!exprList.length) {
- this.unexpected(this.state.lastTokStartLoc);
- }
-
- if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc);
- if (spreadStartLoc) this.unexpected(spreadStartLoc);
- this.checkExpressionErrors(refExpressionErrors, true);
- this.toReferencedListDeep(exprList, true);
-
- if (exprList.length > 1) {
- val = this.startNodeAt(innerStartPos, innerStartLoc);
- val.expressions = exprList;
- this.finishNode(val, "SequenceExpression");
- this.resetEndLocation(val, innerEndLoc);
- } else {
- val = exprList[0];
- }
-
- return this.wrapParenthesis(startPos, startLoc, val);
- }
-
- wrapParenthesis(startPos, startLoc, expression) {
- if (!this.options.createParenthesizedExpressions) {
- this.addExtra(expression, "parenthesized", true);
- this.addExtra(expression, "parenStart", startPos);
- this.takeSurroundingComments(expression, startPos, this.state.lastTokEndLoc.index);
- return expression;
- }
-
- const parenExpression = this.startNodeAt(startPos, startLoc);
- parenExpression.expression = expression;
- this.finishNode(parenExpression, "ParenthesizedExpression");
- return parenExpression;
- }
-
- shouldParseArrow(params) {
- return !this.canInsertSemicolon();
- }
-
- parseArrow(node) {
- if (this.eat(19)) {
- return node;
- }
- }
-
- parseParenItem(node, startPos, startLoc) {
- return node;
- }
-
- parseNewOrNewTarget() {
- const node = this.startNode();
- this.next();
-
- if (this.match(16)) {
- const meta = this.createIdentifier(this.startNodeAtNode(node), "new");
- this.next();
- const metaProp = this.parseMetaProperty(node, meta, "target");
-
- if (!this.scope.inNonArrowFunction && !this.scope.inClass) {
- this.raise(Errors.UnexpectedNewTarget, {
- at: metaProp
- });
- }
-
- return metaProp;
- }
-
- return this.parseNew(node);
- }
-
- parseNew(node) {
- this.parseNewCallee(node);
-
- if (this.eat(10)) {
- const args = this.parseExprList(11);
- this.toReferencedList(args);
- node.arguments = args;
- } else {
- node.arguments = [];
- }
-
- return this.finishNode(node, "NewExpression");
- }
-
- parseNewCallee(node) {
- node.callee = this.parseNoCallExpr();
-
- if (node.callee.type === "Import") {
- this.raise(Errors.ImportCallNotNewExpression, {
- at: node.callee
- });
- } else if (this.isOptionalChain(node.callee)) {
- this.raise(Errors.OptionalChainingNoNew, {
- at: this.state.lastTokEndLoc
- });
- } else if (this.eat(18)) {
- this.raise(Errors.OptionalChainingNoNew, {
- at: this.state.startLoc
- });
- }
- }
-
- parseTemplateElement(isTagged) {
- const {
- start,
- startLoc,
- end,
- value
- } = this.state;
- const elemStart = start + 1;
- const elem = this.startNodeAt(elemStart, createPositionWithColumnOffset(startLoc, 1));
-
- if (value === null) {
- if (!isTagged) {
- this.raise(Errors.InvalidEscapeSequenceTemplate, {
- at: createPositionWithColumnOffset(startLoc, 2)
- });
- }
- }
-
- const isTail = this.match(24);
- const endOffset = isTail ? -1 : -2;
- const elemEnd = end + endOffset;
- elem.value = {
- raw: this.input.slice(elemStart, elemEnd).replace(/\r\n?/g, "\n"),
- cooked: value === null ? null : value.slice(1, endOffset)
- };
- elem.tail = isTail;
- this.next();
- this.finishNode(elem, "TemplateElement");
- this.resetEndLocation(elem, createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset));
- return elem;
- }
-
- parseTemplate(isTagged) {
- const node = this.startNode();
- node.expressions = [];
- let curElt = this.parseTemplateElement(isTagged);
- node.quasis = [curElt];
-
- while (!curElt.tail) {
- node.expressions.push(this.parseTemplateSubstitution());
- this.readTemplateContinuation();
- node.quasis.push(curElt = this.parseTemplateElement(isTagged));
- }
-
- return this.finishNode(node, "TemplateLiteral");
- }
-
- parseTemplateSubstitution() {
- return this.parseExpression();
- }
-
- parseObjectLike(close, isPattern, isRecord, refExpressionErrors) {
- if (isRecord) {
- this.expectPlugin("recordAndTuple");
- }
-
- const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
- this.state.inFSharpPipelineDirectBody = false;
- const propHash = Object.create(null);
- let first = true;
- const node = this.startNode();
- node.properties = [];
- this.next();
-
- while (!this.match(close)) {
- if (first) {
- first = false;
- } else {
- this.expect(12);
-
- if (this.match(close)) {
- this.addTrailingCommaExtraToNode(node);
- break;
- }
- }
-
- let prop;
-
- if (isPattern) {
- prop = this.parseBindingProperty();
- } else {
- prop = this.parsePropertyDefinition(refExpressionErrors);
- this.checkProto(prop, isRecord, propHash, refExpressionErrors);
- }
-
- if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") {
- this.raise(Errors.InvalidRecordProperty, {
- at: prop
- });
- }
-
- if (prop.shorthand) {
- this.addExtra(prop, "shorthand", true);
- }
-
- node.properties.push(prop);
- }
-
- this.next();
- this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
- let type = "ObjectExpression";
-
- if (isPattern) {
- type = "ObjectPattern";
- } else if (isRecord) {
- type = "RecordExpression";
- }
-
- return this.finishNode(node, type);
- }
-
- addTrailingCommaExtraToNode(node) {
- this.addExtra(node, "trailingComma", this.state.lastTokStart);
- this.addExtra(node, "trailingCommaLoc", this.state.lastTokStartLoc, false);
- }
-
- maybeAsyncOrAccessorProp(prop) {
- return !prop.computed && prop.key.type === "Identifier" && (this.isLiteralPropertyName() || this.match(0) || this.match(55));
- }
-
- parsePropertyDefinition(refExpressionErrors) {
- let decorators = [];
-
- if (this.match(26)) {
- if (this.hasPlugin("decorators")) {
- this.raise(Errors.UnsupportedPropertyDecorator, {
- at: this.state.startLoc
- });
- }
-
- while (this.match(26)) {
- decorators.push(this.parseDecorator());
- }
- }
-
- const prop = this.startNode();
- let isAsync = false;
- let isAccessor = false;
- let startPos;
- let startLoc;
-
- if (this.match(21)) {
- if (decorators.length) this.unexpected();
- return this.parseSpread();
- }
-
- if (decorators.length) {
- prop.decorators = decorators;
- decorators = [];
- }
-
- prop.method = false;
-
- if (refExpressionErrors) {
- startPos = this.state.start;
- startLoc = this.state.startLoc;
- }
-
- let isGenerator = this.eat(55);
- this.parsePropertyNamePrefixOperator(prop);
- const containsEsc = this.state.containsEsc;
- const key = this.parsePropertyName(prop, refExpressionErrors);
-
- if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) {
- const keyName = key.name;
-
- if (keyName === "async" && !this.hasPrecedingLineBreak()) {
- isAsync = true;
- this.resetPreviousNodeTrailingComments(key);
- isGenerator = this.eat(55);
- this.parsePropertyName(prop);
- }
-
- if (keyName === "get" || keyName === "set") {
- isAccessor = true;
- this.resetPreviousNodeTrailingComments(key);
- prop.kind = keyName;
-
- if (this.match(55)) {
- isGenerator = true;
- this.raise(Errors.AccessorIsGenerator, {
- at: this.state.curPosition(),
- kind: keyName
- });
- this.next();
- }
-
- this.parsePropertyName(prop);
- }
- }
-
- this.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, false, isAccessor, refExpressionErrors);
- return prop;
- }
-
- getGetterSetterExpectedParamCount(method) {
- return method.kind === "get" ? 0 : 1;
- }
-
- getObjectOrClassMethodParams(method) {
- return method.params;
- }
-
- checkGetterSetterParams(method) {
- var _params;
-
- const paramCount = this.getGetterSetterExpectedParamCount(method);
- const params = this.getObjectOrClassMethodParams(method);
-
- if (params.length !== paramCount) {
- this.raise(method.kind === "get" ? Errors.BadGetterArity : Errors.BadSetterArity, {
- at: method
- });
- }
-
- if (method.kind === "set" && ((_params = params[params.length - 1]) == null ? void 0 : _params.type) === "RestElement") {
- this.raise(Errors.BadSetterRestParameter, {
- at: method
- });
- }
- }
-
- parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) {
- if (isAccessor) {
- this.parseMethod(prop, isGenerator, false, false, false, "ObjectMethod");
- this.checkGetterSetterParams(prop);
- return prop;
- }
-
- if (isAsync || isGenerator || this.match(10)) {
- if (isPattern) this.unexpected();
- prop.kind = "method";
- prop.method = true;
- return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod");
- }
- }
-
- parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors) {
- prop.shorthand = false;
-
- if (this.eat(14)) {
- prop.value = isPattern ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssignAllowIn(refExpressionErrors);
- return this.finishNode(prop, "ObjectProperty");
- }
-
- if (!prop.computed && prop.key.type === "Identifier") {
- this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false);
-
- if (isPattern) {
- prop.value = this.parseMaybeDefault(startPos, startLoc, cloneIdentifier(prop.key));
- } else if (this.match(29)) {
- const shorthandAssignLoc = this.state.startLoc;
-
- if (refExpressionErrors != null) {
- if (refExpressionErrors.shorthandAssignLoc === null) {
- refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc;
- }
- } else {
- this.raise(Errors.InvalidCoverInitializedName, {
- at: shorthandAssignLoc
- });
- }
-
- prop.value = this.parseMaybeDefault(startPos, startLoc, cloneIdentifier(prop.key));
- } else {
- prop.value = cloneIdentifier(prop.key);
- }
-
- prop.shorthand = true;
- return this.finishNode(prop, "ObjectProperty");
- }
- }
-
- parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, isAccessor, refExpressionErrors) {
- const node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, isAccessor) || this.parseObjectProperty(prop, startPos, startLoc, isPattern, refExpressionErrors);
- if (!node) this.unexpected();
- return node;
- }
-
- parsePropertyName(prop, refExpressionErrors) {
- if (this.eat(0)) {
- prop.computed = true;
- prop.key = this.parseMaybeAssignAllowIn();
- this.expect(3);
- } else {
- const {
- type,
- value
- } = this.state;
- let key;
-
- if (tokenIsKeywordOrIdentifier(type)) {
- key = this.parseIdentifier(true);
- } else {
- switch (type) {
- case 130:
- key = this.parseNumericLiteral(value);
- break;
-
- case 129:
- key = this.parseStringLiteral(value);
- break;
-
- case 131:
- key = this.parseBigIntLiteral(value);
- break;
-
- case 132:
- key = this.parseDecimalLiteral(value);
- break;
-
- case 134:
- {
- const privateKeyLoc = this.state.startLoc;
-
- if (refExpressionErrors != null) {
- if (refExpressionErrors.privateKeyLoc === null) {
- refExpressionErrors.privateKeyLoc = privateKeyLoc;
- }
- } else {
- this.raise(Errors.UnexpectedPrivateField, {
- at: privateKeyLoc
- });
- }
-
- key = this.parsePrivateName();
- break;
- }
-
- default:
- throw this.unexpected();
- }
- }
-
- prop.key = key;
-
- if (type !== 134) {
- prop.computed = false;
- }
- }
-
- return prop.key;
- }
-
- initFunction(node, isAsync) {
- node.id = null;
- node.generator = false;
- node.async = !!isAsync;
- }
-
- parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope = false) {
- this.initFunction(node, isAsync);
- node.generator = !!isGenerator;
- const allowModifiers = isConstructor;
- this.scope.enter(SCOPE_FUNCTION | SCOPE_SUPER | (inClassScope ? SCOPE_CLASS : 0) | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));
- this.prodParam.enter(functionFlags(isAsync, node.generator));
- this.parseFunctionParams(node, allowModifiers);
- this.parseFunctionBodyAndFinish(node, type, true);
- this.prodParam.exit();
- this.scope.exit();
- return node;
- }
-
- parseArrayLike(close, canBePattern, isTuple, refExpressionErrors) {
- if (isTuple) {
- this.expectPlugin("recordAndTuple");
- }
-
- const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
- this.state.inFSharpPipelineDirectBody = false;
- const node = this.startNode();
- this.next();
- node.elements = this.parseExprList(close, !isTuple, refExpressionErrors, node);
- this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
- return this.finishNode(node, isTuple ? "TupleExpression" : "ArrayExpression");
- }
-
- parseArrowExpression(node, params, isAsync, trailingCommaLoc) {
- this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);
- let flags = functionFlags(isAsync, false);
-
- if (!this.match(5) && this.prodParam.hasIn) {
- flags |= PARAM_IN;
- }
-
- this.prodParam.enter(flags);
- this.initFunction(node, isAsync);
- const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
-
- if (params) {
- this.state.maybeInArrowParameters = true;
- this.setArrowFunctionParameters(node, params, trailingCommaLoc);
- }
-
- this.state.maybeInArrowParameters = false;
- this.parseFunctionBody(node, true);
- this.prodParam.exit();
- this.scope.exit();
- this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
- return this.finishNode(node, "ArrowFunctionExpression");
- }
-
- setArrowFunctionParameters(node, params, trailingCommaLoc) {
- this.toAssignableList(params, trailingCommaLoc, false);
- node.params = params;
- }
-
- parseFunctionBodyAndFinish(node, type, isMethod = false) {
- this.parseFunctionBody(node, false, isMethod);
- this.finishNode(node, type);
- }
-
- parseFunctionBody(node, allowExpression, isMethod = false) {
- const isExpression = allowExpression && !this.match(5);
- this.expressionScope.enter(newExpressionScope());
-
- if (isExpression) {
- node.body = this.parseMaybeAssign();
- this.checkParams(node, false, allowExpression, false);
- } else {
- const oldStrict = this.state.strict;
- const oldLabels = this.state.labels;
- this.state.labels = [];
- this.prodParam.enter(this.prodParam.currentFlags() | PARAM_RETURN);
- node.body = this.parseBlock(true, false, hasStrictModeDirective => {
- const nonSimple = !this.isSimpleParamList(node.params);
-
- if (hasStrictModeDirective && nonSimple) {
- this.raise(Errors.IllegalLanguageModeDirective, {
- at: (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.loc.end : node
- });
- }
-
- const strictModeChanged = !oldStrict && this.state.strict;
- this.checkParams(node, !this.state.strict && !allowExpression && !isMethod && !nonSimple, allowExpression, strictModeChanged);
-
- if (this.state.strict && node.id) {
- this.checkIdentifier(node.id, BIND_OUTSIDE, strictModeChanged);
- }
- });
- this.prodParam.exit();
- this.state.labels = oldLabels;
- }
-
- this.expressionScope.exit();
- }
-
- isSimpleParameter(node) {
- return node.type === "Identifier";
- }
-
- isSimpleParamList(params) {
- for (let i = 0, len = params.length; i < len; i++) {
- if (!this.isSimpleParameter(params[i])) return false;
- }
-
- return true;
- }
-
- checkParams(node, allowDuplicates, isArrowFunction, strictModeChanged = true) {
- const checkClashes = !allowDuplicates && new Set();
- const formalParameters = {
- type: "FormalParameters"
- };
-
- for (const param of node.params) {
- this.checkLVal(param, {
- in: formalParameters,
- binding: BIND_VAR,
- checkClashes,
- strictModeChanged
- });
- }
- }
-
- parseExprList(close, allowEmpty, refExpressionErrors, nodeForExtra) {
- const elts = [];
- let first = true;
-
- while (!this.eat(close)) {
- if (first) {
- first = false;
- } else {
- this.expect(12);
-
- if (this.match(close)) {
- if (nodeForExtra) {
- this.addTrailingCommaExtraToNode(nodeForExtra);
- }
-
- this.next();
- break;
- }
- }
-
- elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors));
- }
-
- return elts;
- }
-
- parseExprListItem(allowEmpty, refExpressionErrors, allowPlaceholder) {
- let elt;
-
- if (this.match(12)) {
- if (!allowEmpty) {
- this.raise(Errors.UnexpectedToken, {
- at: this.state.curPosition(),
- unexpected: ","
- });
- }
-
- elt = null;
- } else if (this.match(21)) {
- const spreadNodeStartPos = this.state.start;
- const spreadNodeStartLoc = this.state.startLoc;
- elt = this.parseParenItem(this.parseSpread(refExpressionErrors), spreadNodeStartPos, spreadNodeStartLoc);
- } else if (this.match(17)) {
- this.expectPlugin("partialApplication");
-
- if (!allowPlaceholder) {
- this.raise(Errors.UnexpectedArgumentPlaceholder, {
- at: this.state.startLoc
- });
- }
-
- const node = this.startNode();
- this.next();
- elt = this.finishNode(node, "ArgumentPlaceholder");
- } else {
- elt = this.parseMaybeAssignAllowIn(refExpressionErrors, this.parseParenItem);
- }
-
- return elt;
- }
-
- parseIdentifier(liberal) {
- const node = this.startNode();
- const name = this.parseIdentifierName(node.start, liberal);
- return this.createIdentifier(node, name);
- }
-
- createIdentifier(node, name) {
- node.name = name;
- node.loc.identifierName = name;
- return this.finishNode(node, "Identifier");
- }
-
- parseIdentifierName(pos, liberal) {
- let name;
- const {
- startLoc,
- type
- } = this.state;
-
- if (tokenIsKeywordOrIdentifier(type)) {
- name = this.state.value;
- } else {
- throw this.unexpected();
- }
-
- const tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type);
-
- if (liberal) {
- if (tokenIsKeyword) {
- this.replaceToken(128);
- }
- } else {
- this.checkReservedWord(name, startLoc, tokenIsKeyword, false);
- }
-
- this.next();
- return name;
- }
-
- checkReservedWord(word, startLoc, checkKeywords, isBinding) {
- if (word.length > 10) {
- return;
- }
-
- if (!canBeReservedWord(word)) {
- return;
- }
-
- if (word === "yield") {
- if (this.prodParam.hasYield) {
- this.raise(Errors.YieldBindingIdentifier, {
- at: startLoc
- });
- return;
- }
- } else if (word === "await") {
- if (this.prodParam.hasAwait) {
- this.raise(Errors.AwaitBindingIdentifier, {
- at: startLoc
- });
- return;
- }
-
- if (this.scope.inStaticBlock) {
- this.raise(Errors.AwaitBindingIdentifierInStaticBlock, {
- at: startLoc
- });
- return;
- }
-
- this.expressionScope.recordAsyncArrowParametersError({
- at: startLoc
- });
- } else if (word === "arguments") {
- if (this.scope.inClassAndNotInNonArrowFunction) {
- this.raise(Errors.ArgumentsInClass, {
- at: startLoc
- });
- return;
- }
- }
-
- if (checkKeywords && isKeyword(word)) {
- this.raise(Errors.UnexpectedKeyword, {
- at: startLoc,
- keyword: word
- });
- return;
- }
-
- const reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord;
-
- if (reservedTest(word, this.inModule)) {
- this.raise(Errors.UnexpectedReservedWord, {
- at: startLoc,
- reservedWord: word
- });
- }
- }
-
- isAwaitAllowed() {
- if (this.prodParam.hasAwait) return true;
-
- if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) {
- return true;
- }
-
- return false;
- }
-
- parseAwait(startPos, startLoc) {
- const node = this.startNodeAt(startPos, startLoc);
- this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter, {
- at: node
- });
-
- if (this.eat(55)) {
- this.raise(Errors.ObsoleteAwaitStar, {
- at: node
- });
- }
-
- if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) {
- if (this.isAmbiguousAwait()) {
- this.ambiguousScriptDifferentAst = true;
- } else {
- this.sawUnambiguousESM = true;
- }
- }
-
- if (!this.state.soloAwait) {
- node.argument = this.parseMaybeUnary(null, true);
- }
-
- return this.finishNode(node, "AwaitExpression");
- }
-
- isAmbiguousAwait() {
- if (this.hasPrecedingLineBreak()) return true;
- const {
- type
- } = this.state;
- return type === 53 || type === 10 || type === 0 || tokenIsTemplate(type) || type === 133 || type === 56 || this.hasPlugin("v8intrinsic") && type === 54;
- }
-
- parseYield() {
- const node = this.startNode();
- this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter, {
- at: node
- });
- this.next();
- let delegating = false;
- let argument = null;
-
- if (!this.hasPrecedingLineBreak()) {
- delegating = this.eat(55);
-
- switch (this.state.type) {
- case 13:
- case 135:
- case 8:
- case 11:
- case 3:
- case 9:
- case 14:
- case 12:
- if (!delegating) break;
-
- default:
- argument = this.parseMaybeAssign();
- }
- }
-
- node.delegate = delegating;
- node.argument = argument;
- return this.finishNode(node, "YieldExpression");
- }
-
- checkPipelineAtInfixOperator(left, leftStartLoc) {
- if (this.hasPlugin(["pipelineOperator", {
- proposal: "smart"
- }])) {
- if (left.type === "SequenceExpression") {
- this.raise(Errors.PipelineHeadSequenceExpression, {
- at: leftStartLoc
- });
- }
- }
- }
-
- parseSmartPipelineBodyInStyle(childExpr, startPos, startLoc) {
- const bodyNode = this.startNodeAt(startPos, startLoc);
-
- if (this.isSimpleReference(childExpr)) {
- bodyNode.callee = childExpr;
- return this.finishNode(bodyNode, "PipelineBareFunction");
- } else {
- this.checkSmartPipeTopicBodyEarlyErrors(startLoc);
- bodyNode.expression = childExpr;
- return this.finishNode(bodyNode, "PipelineTopicExpression");
- }
- }
-
- isSimpleReference(expression) {
- switch (expression.type) {
- case "MemberExpression":
- return !expression.computed && this.isSimpleReference(expression.object);
-
- case "Identifier":
- return true;
-
- default:
- return false;
- }
- }
-
- checkSmartPipeTopicBodyEarlyErrors(startLoc) {
- if (this.match(19)) {
- throw this.raise(Errors.PipelineBodyNoArrow, {
- at: this.state.startLoc
- });
- }
-
- if (!this.topicReferenceWasUsedInCurrentContext()) {
- this.raise(Errors.PipelineTopicUnused, {
- at: startLoc
- });
- }
- }
-
- withTopicBindingContext(callback) {
- const outerContextTopicState = this.state.topicContext;
- this.state.topicContext = {
- maxNumOfResolvableTopics: 1,
- maxTopicIndex: null
- };
-
- try {
- return callback();
- } finally {
- this.state.topicContext = outerContextTopicState;
- }
- }
-
- withSmartMixTopicForbiddingContext(callback) {
- if (this.hasPlugin(["pipelineOperator", {
- proposal: "smart"
- }])) {
- const outerContextTopicState = this.state.topicContext;
- this.state.topicContext = {
- maxNumOfResolvableTopics: 0,
- maxTopicIndex: null
- };
-
- try {
- return callback();
- } finally {
- this.state.topicContext = outerContextTopicState;
- }
- } else {
- return callback();
- }
- }
-
- withSoloAwaitPermittingContext(callback) {
- const outerContextSoloAwaitState = this.state.soloAwait;
- this.state.soloAwait = true;
-
- try {
- return callback();
- } finally {
- this.state.soloAwait = outerContextSoloAwaitState;
- }
- }
-
- allowInAnd(callback) {
- const flags = this.prodParam.currentFlags();
- const prodParamToSet = PARAM_IN & ~flags;
-
- if (prodParamToSet) {
- this.prodParam.enter(flags | PARAM_IN);
-
- try {
- return callback();
- } finally {
- this.prodParam.exit();
- }
- }
-
- return callback();
- }
-
- disallowInAnd(callback) {
- const flags = this.prodParam.currentFlags();
- const prodParamToClear = PARAM_IN & flags;
-
- if (prodParamToClear) {
- this.prodParam.enter(flags & ~PARAM_IN);
-
- try {
- return callback();
- } finally {
- this.prodParam.exit();
- }
- }
-
- return callback();
- }
-
- registerTopicReference() {
- this.state.topicContext.maxTopicIndex = 0;
- }
-
- topicReferenceIsAllowedInCurrentContext() {
- return this.state.topicContext.maxNumOfResolvableTopics >= 1;
- }
-
- topicReferenceWasUsedInCurrentContext() {
- return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0;
- }
-
- parseFSharpPipelineBody(prec) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- this.state.potentialArrowAt = this.state.start;
- const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;
- this.state.inFSharpPipelineDirectBody = true;
- const ret = this.parseExprOp(this.parseMaybeUnaryOrPrivate(), startPos, startLoc, prec);
- this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;
- return ret;
- }
-
- parseModuleExpression() {
- this.expectPlugin("moduleBlocks");
- const node = this.startNode();
- this.next();
- this.eat(5);
- const revertScopes = this.initializeScopes(true);
- this.enterInitialScopes();
- const program = this.startNode();
-
- try {
- node.body = this.parseProgram(program, 8, "module");
- } finally {
- revertScopes();
- }
-
- this.eat(8);
- return this.finishNode(node, "ModuleExpression");
- }
-
- parsePropertyNamePrefixOperator(prop) {}
-
-}
-
-const loopLabel = {
- kind: "loop"
-},
- switchLabel = {
- kind: "switch"
-};
-const FUNC_NO_FLAGS = 0b000,
- FUNC_STATEMENT = 0b001,
- FUNC_HANGING_STATEMENT = 0b010,
- FUNC_NULLABLE_ID = 0b100;
-const loneSurrogate = /[\uD800-\uDFFF]/u;
-const keywordRelationalOperator = /in(?:stanceof)?/y;
-
-function babel7CompatTokens(tokens, input) {
- for (let i = 0; i < tokens.length; i++) {
- const token = tokens[i];
- const {
- type
- } = token;
-
- if (typeof type === "number") {
- {
- if (type === 134) {
- const {
- loc,
- start,
- value,
- end
- } = token;
- const hashEndPos = start + 1;
- const hashEndLoc = createPositionWithColumnOffset(loc.start, 1);
- tokens.splice(i, 1, new Token({
- type: getExportedToken(27),
- value: "#",
- start: start,
- end: hashEndPos,
- startLoc: loc.start,
- endLoc: hashEndLoc
- }), new Token({
- type: getExportedToken(128),
- value: value,
- start: hashEndPos,
- end: end,
- startLoc: hashEndLoc,
- endLoc: loc.end
- }));
- i++;
- continue;
- }
-
- if (tokenIsTemplate(type)) {
- const {
- loc,
- start,
- value,
- end
- } = token;
- const backquoteEnd = start + 1;
- const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1);
- let startToken;
-
- if (input.charCodeAt(start) === 96) {
- startToken = new Token({
- type: getExportedToken(22),
- value: "`",
- start: start,
- end: backquoteEnd,
- startLoc: loc.start,
- endLoc: backquoteEndLoc
- });
- } else {
- startToken = new Token({
- type: getExportedToken(8),
- value: "}",
- start: start,
- end: backquoteEnd,
- startLoc: loc.start,
- endLoc: backquoteEndLoc
- });
- }
-
- let templateValue, templateElementEnd, templateElementEndLoc, endToken;
-
- if (type === 24) {
- templateElementEnd = end - 1;
- templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1);
- templateValue = value === null ? null : value.slice(1, -1);
- endToken = new Token({
- type: getExportedToken(22),
- value: "`",
- start: templateElementEnd,
- end: end,
- startLoc: templateElementEndLoc,
- endLoc: loc.end
- });
- } else {
- templateElementEnd = end - 2;
- templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2);
- templateValue = value === null ? null : value.slice(1, -2);
- endToken = new Token({
- type: getExportedToken(23),
- value: "${",
- start: templateElementEnd,
- end: end,
- startLoc: templateElementEndLoc,
- endLoc: loc.end
- });
- }
-
- tokens.splice(i, 1, startToken, new Token({
- type: getExportedToken(20),
- value: templateValue,
- start: backquoteEnd,
- end: templateElementEnd,
- startLoc: backquoteEndLoc,
- endLoc: templateElementEndLoc
- }), endToken);
- i += 2;
- continue;
- }
- }
- token.type = getExportedToken(type);
- }
- }
-
- return tokens;
-}
-
-class StatementParser extends ExpressionParser {
- parseTopLevel(file, program) {
- file.program = this.parseProgram(program);
- file.comments = this.state.comments;
-
- if (this.options.tokens) {
- file.tokens = babel7CompatTokens(this.tokens, this.input);
- }
-
- return this.finishNode(file, "File");
- }
-
- parseProgram(program, end = 135, sourceType = this.options.sourceType) {
- program.sourceType = sourceType;
- program.interpreter = this.parseInterpreterDirective();
- this.parseBlockBody(program, true, true, end);
-
- if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) {
- for (const [localName, at] of Array.from(this.scope.undefinedExports)) {
- this.raise(Errors.ModuleExportUndefined, {
- at,
- localName
- });
- }
- }
-
- return this.finishNode(program, "Program");
- }
-
- stmtToDirective(stmt) {
- const directive = stmt;
- directive.type = "Directive";
- directive.value = directive.expression;
- delete directive.expression;
- const directiveLiteral = directive.value;
- const expressionValue = directiveLiteral.value;
- const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end);
- const val = directiveLiteral.value = raw.slice(1, -1);
- this.addExtra(directiveLiteral, "raw", raw);
- this.addExtra(directiveLiteral, "rawValue", val);
- this.addExtra(directiveLiteral, "expressionValue", expressionValue);
- directiveLiteral.type = "DirectiveLiteral";
- return directive;
- }
-
- parseInterpreterDirective() {
- if (!this.match(28)) {
- return null;
- }
-
- const node = this.startNode();
- node.value = this.state.value;
- this.next();
- return this.finishNode(node, "InterpreterDirective");
- }
-
- isLet(context) {
- if (!this.isContextual(99)) {
- return false;
- }
-
- return this.isLetKeyword(context);
- }
-
- isLetKeyword(context) {
- const next = this.nextTokenStart();
- const nextCh = this.codePointAtPos(next);
-
- if (nextCh === 92 || nextCh === 91) {
- return true;
- }
-
- if (context) return false;
- if (nextCh === 123) return true;
-
- if (isIdentifierStart(nextCh)) {
- keywordRelationalOperator.lastIndex = next;
-
- if (keywordRelationalOperator.test(this.input)) {
- const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex);
-
- if (!isIdentifierChar(endCh) && endCh !== 92) {
- return false;
- }
- }
-
- return true;
- }
-
- return false;
- }
-
- parseStatement(context, topLevel) {
- if (this.match(26)) {
- this.parseDecorators(true);
- }
-
- return this.parseStatementContent(context, topLevel);
- }
-
- parseStatementContent(context, topLevel) {
- let starttype = this.state.type;
- const node = this.startNode();
- let kind;
-
- if (this.isLet(context)) {
- starttype = 74;
- kind = "let";
- }
-
- switch (starttype) {
- case 60:
- return this.parseBreakContinueStatement(node, true);
-
- case 63:
- return this.parseBreakContinueStatement(node, false);
-
- case 64:
- return this.parseDebuggerStatement(node);
-
- case 90:
- return this.parseDoStatement(node);
-
- case 91:
- return this.parseForStatement(node);
-
- case 68:
- if (this.lookaheadCharCode() === 46) break;
-
- if (context) {
- if (this.state.strict) {
- this.raise(Errors.StrictFunction, {
- at: this.state.startLoc
- });
- } else if (context !== "if" && context !== "label") {
- this.raise(Errors.SloppyFunction, {
- at: this.state.startLoc
- });
- }
- }
-
- return this.parseFunctionStatement(node, false, !context);
-
- case 80:
- if (context) this.unexpected();
- return this.parseClass(node, true);
-
- case 69:
- return this.parseIfStatement(node);
-
- case 70:
- return this.parseReturnStatement(node);
-
- case 71:
- return this.parseSwitchStatement(node);
-
- case 72:
- return this.parseThrowStatement(node);
-
- case 73:
- return this.parseTryStatement(node);
-
- case 75:
- case 74:
- kind = kind || this.state.value;
-
- if (context && kind !== "var") {
- this.raise(Errors.UnexpectedLexicalDeclaration, {
- at: this.state.startLoc
- });
- }
-
- return this.parseVarStatement(node, kind);
-
- case 92:
- return this.parseWhileStatement(node);
-
- case 76:
- return this.parseWithStatement(node);
-
- case 5:
- return this.parseBlock();
-
- case 13:
- return this.parseEmptyStatement(node);
-
- case 83:
- {
- const nextTokenCharCode = this.lookaheadCharCode();
-
- if (nextTokenCharCode === 40 || nextTokenCharCode === 46) {
- break;
- }
- }
-
- case 82:
- {
- if (!this.options.allowImportExportEverywhere && !topLevel) {
- this.raise(Errors.UnexpectedImportExport, {
- at: this.state.startLoc
- });
- }
-
- this.next();
- let result;
-
- if (starttype === 83) {
- result = this.parseImport(node);
-
- if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) {
- this.sawUnambiguousESM = true;
- }
- } else {
- result = this.parseExport(node);
-
- if (result.type === "ExportNamedDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportAllDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportDefaultDeclaration") {
- this.sawUnambiguousESM = true;
- }
- }
-
- this.assertModuleNodeAllowed(node);
- return result;
- }
-
- default:
- {
- if (this.isAsyncFunction()) {
- if (context) {
- this.raise(Errors.AsyncFunctionInSingleStatementContext, {
- at: this.state.startLoc
- });
- }
-
- this.next();
- return this.parseFunctionStatement(node, true, !context);
- }
- }
- }
-
- const maybeName = this.state.value;
- const expr = this.parseExpression();
-
- if (tokenIsIdentifier(starttype) && expr.type === "Identifier" && this.eat(14)) {
- return this.parseLabeledStatement(node, maybeName, expr, context);
- } else {
- return this.parseExpressionStatement(node, expr);
- }
- }
-
- assertModuleNodeAllowed(node) {
- if (!this.options.allowImportExportEverywhere && !this.inModule) {
- this.raise(Errors.ImportOutsideModule, {
- at: node
- });
- }
- }
-
- takeDecorators(node) {
- const decorators = this.state.decoratorStack[this.state.decoratorStack.length - 1];
-
- if (decorators.length) {
- node.decorators = decorators;
- this.resetStartLocationFromNode(node, decorators[0]);
- this.state.decoratorStack[this.state.decoratorStack.length - 1] = [];
- }
- }
-
- canHaveLeadingDecorator() {
- return this.match(80);
- }
-
- parseDecorators(allowExport) {
- const currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1];
-
- while (this.match(26)) {
- const decorator = this.parseDecorator();
- currentContextDecorators.push(decorator);
- }
-
- if (this.match(82)) {
- if (!allowExport) {
- this.unexpected();
- }
-
- if (this.hasPlugin("decorators") && !this.getPluginOption("decorators", "decoratorsBeforeExport")) {
- this.raise(Errors.DecoratorExportClass, {
- at: this.state.startLoc
- });
- }
- } else if (!this.canHaveLeadingDecorator()) {
- throw this.raise(Errors.UnexpectedLeadingDecorator, {
- at: this.state.startLoc
- });
- }
- }
-
- parseDecorator() {
- this.expectOnePlugin(["decorators-legacy", "decorators"]);
- const node = this.startNode();
- this.next();
-
- if (this.hasPlugin("decorators")) {
- this.state.decoratorStack.push([]);
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- let expr;
-
- if (this.match(10)) {
- const startPos = this.state.start;
- const startLoc = this.state.startLoc;
- this.next();
- expr = this.parseExpression();
- this.expect(11);
- expr = this.wrapParenthesis(startPos, startLoc, expr);
- } else {
- expr = this.parseIdentifier(false);
-
- while (this.eat(16)) {
- const node = this.startNodeAt(startPos, startLoc);
- node.object = expr;
- node.property = this.parseIdentifier(true);
- node.computed = false;
- expr = this.finishNode(node, "MemberExpression");
- }
- }
-
- node.expression = this.parseMaybeDecoratorArguments(expr);
- this.state.decoratorStack.pop();
- } else {
- node.expression = this.parseExprSubscripts();
- }
-
- return this.finishNode(node, "Decorator");
- }
-
- parseMaybeDecoratorArguments(expr) {
- if (this.eat(10)) {
- const node = this.startNodeAtNode(expr);
- node.callee = expr;
- node.arguments = this.parseCallExpressionArguments(11, false);
- this.toReferencedList(node.arguments);
- return this.finishNode(node, "CallExpression");
- }
-
- return expr;
- }
-
- parseBreakContinueStatement(node, isBreak) {
- this.next();
-
- if (this.isLineTerminator()) {
- node.label = null;
- } else {
- node.label = this.parseIdentifier();
- this.semicolon();
- }
-
- this.verifyBreakContinue(node, isBreak);
- return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement");
- }
-
- verifyBreakContinue(node, isBreak) {
- let i;
-
- for (i = 0; i < this.state.labels.length; ++i) {
- const lab = this.state.labels[i];
-
- if (node.label == null || lab.name === node.label.name) {
- if (lab.kind != null && (isBreak || lab.kind === "loop")) break;
- if (node.label && isBreak) break;
- }
- }
-
- if (i === this.state.labels.length) {
- const type = isBreak ? "BreakStatement" : "ContinueStatement";
- this.raise(Errors.IllegalBreakContinue, {
- at: node,
- type
- });
- }
- }
-
- parseDebuggerStatement(node) {
- this.next();
- this.semicolon();
- return this.finishNode(node, "DebuggerStatement");
- }
-
- parseHeaderExpression() {
- this.expect(10);
- const val = this.parseExpression();
- this.expect(11);
- return val;
- }
-
- parseDoStatement(node) {
- this.next();
- this.state.labels.push(loopLabel);
- node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("do"));
- this.state.labels.pop();
- this.expect(92);
- node.test = this.parseHeaderExpression();
- this.eat(13);
- return this.finishNode(node, "DoWhileStatement");
- }
-
- parseForStatement(node) {
- this.next();
- this.state.labels.push(loopLabel);
- let awaitAt = null;
-
- if (this.isAwaitAllowed() && this.eatContextual(96)) {
- awaitAt = this.state.lastTokStartLoc;
- }
-
- this.scope.enter(SCOPE_OTHER);
- this.expect(10);
-
- if (this.match(13)) {
- if (awaitAt !== null) {
- this.unexpected(awaitAt);
- }
-
- return this.parseFor(node, null);
- }
-
- const startsWithLet = this.isContextual(99);
- const isLet = startsWithLet && this.isLetKeyword();
-
- if (this.match(74) || this.match(75) || isLet) {
- const init = this.startNode();
- const kind = isLet ? "let" : this.state.value;
- this.next();
- this.parseVar(init, true, kind);
- this.finishNode(init, "VariableDeclaration");
-
- if ((this.match(58) || this.isContextual(101)) && init.declarations.length === 1) {
- return this.parseForIn(node, init, awaitAt);
- }
-
- if (awaitAt !== null) {
- this.unexpected(awaitAt);
- }
-
- return this.parseFor(node, init);
- }
-
- const startsWithAsync = this.isContextual(95);
- const refExpressionErrors = new ExpressionErrors();
- const init = this.parseExpression(true, refExpressionErrors);
- const isForOf = this.isContextual(101);
-
- if (isForOf) {
- if (startsWithLet) {
- this.raise(Errors.ForOfLet, {
- at: init
- });
- }
-
- if (awaitAt === null && startsWithAsync && init.type === "Identifier") {
- this.raise(Errors.ForOfAsync, {
- at: init
- });
- }
- }
-
- if (isForOf || this.match(58)) {
- this.checkDestructuringPrivate(refExpressionErrors);
- this.toAssignable(init, true);
- const type = isForOf ? "ForOfStatement" : "ForInStatement";
- this.checkLVal(init, {
- in: {
- type
- }
- });
- return this.parseForIn(node, init, awaitAt);
- } else {
- this.checkExpressionErrors(refExpressionErrors, true);
- }
-
- if (awaitAt !== null) {
- this.unexpected(awaitAt);
- }
-
- return this.parseFor(node, init);
- }
-
- parseFunctionStatement(node, isAsync, declarationPosition) {
- this.next();
- return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), isAsync);
- }
-
- parseIfStatement(node) {
- this.next();
- node.test = this.parseHeaderExpression();
- node.consequent = this.parseStatement("if");
- node.alternate = this.eat(66) ? this.parseStatement("if") : null;
- return this.finishNode(node, "IfStatement");
- }
-
- parseReturnStatement(node) {
- if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) {
- this.raise(Errors.IllegalReturn, {
- at: this.state.startLoc
- });
- }
-
- this.next();
-
- if (this.isLineTerminator()) {
- node.argument = null;
- } else {
- node.argument = this.parseExpression();
- this.semicolon();
- }
-
- return this.finishNode(node, "ReturnStatement");
- }
-
- parseSwitchStatement(node) {
- this.next();
- node.discriminant = this.parseHeaderExpression();
- const cases = node.cases = [];
- this.expect(5);
- this.state.labels.push(switchLabel);
- this.scope.enter(SCOPE_OTHER);
- let cur;
-
- for (let sawDefault; !this.match(8);) {
- if (this.match(61) || this.match(65)) {
- const isCase = this.match(61);
- if (cur) this.finishNode(cur, "SwitchCase");
- cases.push(cur = this.startNode());
- cur.consequent = [];
- this.next();
-
- if (isCase) {
- cur.test = this.parseExpression();
- } else {
- if (sawDefault) {
- this.raise(Errors.MultipleDefaultsInSwitch, {
- at: this.state.lastTokStartLoc
- });
- }
-
- sawDefault = true;
- cur.test = null;
- }
-
- this.expect(14);
- } else {
- if (cur) {
- cur.consequent.push(this.parseStatement(null));
- } else {
- this.unexpected();
- }
- }
- }
-
- this.scope.exit();
- if (cur) this.finishNode(cur, "SwitchCase");
- this.next();
- this.state.labels.pop();
- return this.finishNode(node, "SwitchStatement");
- }
-
- parseThrowStatement(node) {
- this.next();
-
- if (this.hasPrecedingLineBreak()) {
- this.raise(Errors.NewlineAfterThrow, {
- at: this.state.lastTokEndLoc
- });
- }
-
- node.argument = this.parseExpression();
- this.semicolon();
- return this.finishNode(node, "ThrowStatement");
- }
-
- parseCatchClauseParam() {
- const param = this.parseBindingAtom();
- const simple = param.type === "Identifier";
- this.scope.enter(simple ? SCOPE_SIMPLE_CATCH : 0);
- this.checkLVal(param, {
- in: {
- type: "CatchClause"
- },
- binding: BIND_LEXICAL,
- allowingSloppyLetBinding: true
- });
- return param;
- }
-
- parseTryStatement(node) {
- this.next();
- node.block = this.parseBlock();
- node.handler = null;
-
- if (this.match(62)) {
- const clause = this.startNode();
- this.next();
-
- if (this.match(10)) {
- this.expect(10);
- clause.param = this.parseCatchClauseParam();
- this.expect(11);
- } else {
- clause.param = null;
- this.scope.enter(SCOPE_OTHER);
- }
-
- clause.body = this.withSmartMixTopicForbiddingContext(() => this.parseBlock(false, false));
- this.scope.exit();
- node.handler = this.finishNode(clause, "CatchClause");
- }
-
- node.finalizer = this.eat(67) ? this.parseBlock() : null;
-
- if (!node.handler && !node.finalizer) {
- this.raise(Errors.NoCatchOrFinally, {
- at: node
- });
- }
-
- return this.finishNode(node, "TryStatement");
- }
-
- parseVarStatement(node, kind, allowMissingInitializer = false) {
- this.next();
- this.parseVar(node, false, kind, allowMissingInitializer);
- this.semicolon();
- return this.finishNode(node, "VariableDeclaration");
- }
-
- parseWhileStatement(node) {
- this.next();
- node.test = this.parseHeaderExpression();
- this.state.labels.push(loopLabel);
- node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("while"));
- this.state.labels.pop();
- return this.finishNode(node, "WhileStatement");
- }
-
- parseWithStatement(node) {
- if (this.state.strict) {
- this.raise(Errors.StrictWith, {
- at: this.state.startLoc
- });
- }
-
- this.next();
- node.object = this.parseHeaderExpression();
- node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("with"));
- return this.finishNode(node, "WithStatement");
- }
-
- parseEmptyStatement(node) {
- this.next();
- return this.finishNode(node, "EmptyStatement");
- }
-
- parseLabeledStatement(node, maybeName, expr, context) {
- for (const label of this.state.labels) {
- if (label.name === maybeName) {
- this.raise(Errors.LabelRedeclaration, {
- at: expr,
- labelName: maybeName
- });
- }
- }
-
- const kind = tokenIsLoop(this.state.type) ? "loop" : this.match(71) ? "switch" : null;
-
- for (let i = this.state.labels.length - 1; i >= 0; i--) {
- const label = this.state.labels[i];
-
- if (label.statementStart === node.start) {
- label.statementStart = this.state.start;
- label.kind = kind;
- } else {
- break;
- }
- }
-
- this.state.labels.push({
- name: maybeName,
- kind: kind,
- statementStart: this.state.start
- });
- node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label");
- this.state.labels.pop();
- node.label = expr;
- return this.finishNode(node, "LabeledStatement");
- }
-
- parseExpressionStatement(node, expr) {
- node.expression = expr;
- this.semicolon();
- return this.finishNode(node, "ExpressionStatement");
- }
-
- parseBlock(allowDirectives = false, createNewLexicalScope = true, afterBlockParse) {
- const node = this.startNode();
-
- if (allowDirectives) {
- this.state.strictErrors.clear();
- }
-
- this.expect(5);
-
- if (createNewLexicalScope) {
- this.scope.enter(SCOPE_OTHER);
- }
-
- this.parseBlockBody(node, allowDirectives, false, 8, afterBlockParse);
-
- if (createNewLexicalScope) {
- this.scope.exit();
- }
-
- return this.finishNode(node, "BlockStatement");
- }
-
- isValidDirective(stmt) {
- return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized;
- }
-
- parseBlockBody(node, allowDirectives, topLevel, end, afterBlockParse) {
- const body = node.body = [];
- const directives = node.directives = [];
- this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end, afterBlockParse);
- }
-
- parseBlockOrModuleBlockBody(body, directives, topLevel, end, afterBlockParse) {
- const oldStrict = this.state.strict;
- let hasStrictModeDirective = false;
- let parsedNonDirective = false;
-
- while (!this.match(end)) {
- const stmt = this.parseStatement(null, topLevel);
-
- if (directives && !parsedNonDirective) {
- if (this.isValidDirective(stmt)) {
- const directive = this.stmtToDirective(stmt);
- directives.push(directive);
-
- if (!hasStrictModeDirective && directive.value.value === "use strict") {
- hasStrictModeDirective = true;
- this.setStrict(true);
- }
-
- continue;
- }
-
- parsedNonDirective = true;
- this.state.strictErrors.clear();
- }
-
- body.push(stmt);
- }
-
- if (afterBlockParse) {
- afterBlockParse.call(this, hasStrictModeDirective);
- }
-
- if (!oldStrict) {
- this.setStrict(false);
- }
-
- this.next();
- }
-
- parseFor(node, init) {
- node.init = init;
- this.semicolon(false);
- node.test = this.match(13) ? null : this.parseExpression();
- this.semicolon(false);
- node.update = this.match(11) ? null : this.parseExpression();
- this.expect(11);
- node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("for"));
- this.scope.exit();
- this.state.labels.pop();
- return this.finishNode(node, "ForStatement");
- }
-
- parseForIn(node, init, awaitAt) {
- const isForIn = this.match(58);
- this.next();
-
- if (isForIn) {
- if (awaitAt !== null) this.unexpected(awaitAt);
- } else {
- node.await = awaitAt !== null;
- }
-
- if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) {
- this.raise(Errors.ForInOfLoopInitializer, {
- at: init,
- type: isForIn ? "ForInStatement" : "ForOfStatement"
- });
- }
-
- if (init.type === "AssignmentPattern") {
- this.raise(Errors.InvalidLhs, {
- at: init,
- ancestor: {
- type: "ForStatement"
- }
- });
- }
-
- node.left = init;
- node.right = isForIn ? this.parseExpression() : this.parseMaybeAssignAllowIn();
- this.expect(11);
- node.body = this.withSmartMixTopicForbiddingContext(() => this.parseStatement("for"));
- this.scope.exit();
- this.state.labels.pop();
- return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement");
- }
-
- parseVar(node, isFor, kind, allowMissingInitializer = false) {
- const declarations = node.declarations = [];
- node.kind = kind;
-
- for (;;) {
- const decl = this.startNode();
- this.parseVarId(decl, kind);
- decl.init = !this.eat(29) ? null : isFor ? this.parseMaybeAssignDisallowIn() : this.parseMaybeAssignAllowIn();
-
- if (decl.init === null && !allowMissingInitializer) {
- if (decl.id.type !== "Identifier" && !(isFor && (this.match(58) || this.isContextual(101)))) {
- this.raise(Errors.DeclarationMissingInitializer, {
- at: this.state.lastTokEndLoc,
- kind: "destructuring"
- });
- } else if (kind === "const" && !(this.match(58) || this.isContextual(101))) {
- this.raise(Errors.DeclarationMissingInitializer, {
- at: this.state.lastTokEndLoc,
- kind: "const"
- });
- }
- }
-
- declarations.push(this.finishNode(decl, "VariableDeclarator"));
- if (!this.eat(12)) break;
- }
-
- return node;
- }
-
- parseVarId(decl, kind) {
- decl.id = this.parseBindingAtom();
- this.checkLVal(decl.id, {
- in: {
- type: "VariableDeclarator"
- },
- binding: kind === "var" ? BIND_VAR : BIND_LEXICAL
- });
- }
-
- parseFunction(node, statement = FUNC_NO_FLAGS, isAsync = false) {
- const isStatement = statement & FUNC_STATEMENT;
- const isHangingStatement = statement & FUNC_HANGING_STATEMENT;
- const requireId = !!isStatement && !(statement & FUNC_NULLABLE_ID);
- this.initFunction(node, isAsync);
-
- if (this.match(55) && isHangingStatement) {
- this.raise(Errors.GeneratorInSingleStatementContext, {
- at: this.state.startLoc
- });
- }
-
- node.generator = this.eat(55);
-
- if (isStatement) {
- node.id = this.parseFunctionId(requireId);
- }
-
- const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;
- this.state.maybeInArrowParameters = false;
- this.scope.enter(SCOPE_FUNCTION);
- this.prodParam.enter(functionFlags(isAsync, node.generator));
-
- if (!isStatement) {
- node.id = this.parseFunctionId();
- }
-
- this.parseFunctionParams(node, false);
- this.withSmartMixTopicForbiddingContext(() => {
- this.parseFunctionBodyAndFinish(node, isStatement ? "FunctionDeclaration" : "FunctionExpression");
- });
- this.prodParam.exit();
- this.scope.exit();
-
- if (isStatement && !isHangingStatement) {
- this.registerFunctionStatementId(node);
- }
-
- this.state.maybeInArrowParameters = oldMaybeInArrowParameters;
- return node;
- }
-
- parseFunctionId(requireId) {
- return requireId || tokenIsIdentifier(this.state.type) ? this.parseIdentifier() : null;
- }
-
- parseFunctionParams(node, allowModifiers) {
- this.expect(10);
- this.expressionScope.enter(newParameterDeclarationScope());
- node.params = this.parseBindingList(11, 41, false, allowModifiers);
- this.expressionScope.exit();
- }
-
- registerFunctionStatementId(node) {
- if (!node.id) return;
- this.scope.declareName(node.id.name, this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION, node.id.loc.start);
- }
-
- parseClass(node, isStatement, optionalId) {
- this.next();
- this.takeDecorators(node);
- const oldStrict = this.state.strict;
- this.state.strict = true;
- this.parseClassId(node, isStatement, optionalId);
- this.parseClassSuper(node);
- node.body = this.parseClassBody(!!node.superClass, oldStrict);
- return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression");
- }
-
- isClassProperty() {
- return this.match(29) || this.match(13) || this.match(8);
- }
-
- isClassMethod() {
- return this.match(10);
- }
-
- isNonstaticConstructor(method) {
- return !method.computed && !method.static && (method.key.name === "constructor" || method.key.value === "constructor");
- }
-
- parseClassBody(hadSuperClass, oldStrict) {
- this.classScope.enter();
- const state = {
- hadConstructor: false,
- hadSuperClass
- };
- let decorators = [];
- const classBody = this.startNode();
- classBody.body = [];
- this.expect(5);
- this.withSmartMixTopicForbiddingContext(() => {
- while (!this.match(8)) {
- if (this.eat(13)) {
- if (decorators.length > 0) {
- throw this.raise(Errors.DecoratorSemicolon, {
- at: this.state.lastTokEndLoc
- });
- }
-
- continue;
- }
-
- if (this.match(26)) {
- decorators.push(this.parseDecorator());
- continue;
- }
-
- const member = this.startNode();
-
- if (decorators.length) {
- member.decorators = decorators;
- this.resetStartLocationFromNode(member, decorators[0]);
- decorators = [];
- }
-
- this.parseClassMember(classBody, member, state);
-
- if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) {
- this.raise(Errors.DecoratorConstructor, {
- at: member
- });
- }
- }
- });
- this.state.strict = oldStrict;
- this.next();
-
- if (decorators.length) {
- throw this.raise(Errors.TrailingDecorator, {
- at: this.state.startLoc
- });
- }
-
- this.classScope.exit();
- return this.finishNode(classBody, "ClassBody");
- }
-
- parseClassMemberFromModifier(classBody, member) {
- const key = this.parseIdentifier(true);
-
- if (this.isClassMethod()) {
- const method = member;
- method.kind = "method";
- method.computed = false;
- method.key = key;
- method.static = false;
- this.pushClassMethod(classBody, method, false, false, false, false);
- return true;
- } else if (this.isClassProperty()) {
- const prop = member;
- prop.computed = false;
- prop.key = key;
- prop.static = false;
- classBody.body.push(this.parseClassProperty(prop));
- return true;
- }
-
- this.resetPreviousNodeTrailingComments(key);
- return false;
- }
-
- parseClassMember(classBody, member, state) {
- const isStatic = this.isContextual(104);
-
- if (isStatic) {
- if (this.parseClassMemberFromModifier(classBody, member)) {
- return;
- }
-
- if (this.eat(5)) {
- this.parseClassStaticBlock(classBody, member);
- return;
- }
- }
-
- this.parseClassMemberWithIsStatic(classBody, member, state, isStatic);
- }
-
- parseClassMemberWithIsStatic(classBody, member, state, isStatic) {
- const publicMethod = member;
- const privateMethod = member;
- const publicProp = member;
- const privateProp = member;
- const accessorProp = member;
- const method = publicMethod;
- const publicMember = publicMethod;
- member.static = isStatic;
- this.parsePropertyNamePrefixOperator(member);
-
- if (this.eat(55)) {
- method.kind = "method";
- const isPrivateName = this.match(134);
- this.parseClassElementName(method);
-
- if (isPrivateName) {
- this.pushClassPrivateMethod(classBody, privateMethod, true, false);
- return;
- }
-
- if (this.isNonstaticConstructor(publicMethod)) {
- this.raise(Errors.ConstructorIsGenerator, {
- at: publicMethod.key
- });
- }
-
- this.pushClassMethod(classBody, publicMethod, true, false, false, false);
- return;
- }
-
- const isContextual = tokenIsIdentifier(this.state.type) && !this.state.containsEsc;
- const isPrivate = this.match(134);
- const key = this.parseClassElementName(member);
- const maybeQuestionTokenStartLoc = this.state.startLoc;
- this.parsePostMemberNameModifiers(publicMember);
-
- if (this.isClassMethod()) {
- method.kind = "method";
-
- if (isPrivate) {
- this.pushClassPrivateMethod(classBody, privateMethod, false, false);
- return;
- }
-
- const isConstructor = this.isNonstaticConstructor(publicMethod);
- let allowsDirectSuper = false;
-
- if (isConstructor) {
- publicMethod.kind = "constructor";
-
- if (state.hadConstructor && !this.hasPlugin("typescript")) {
- this.raise(Errors.DuplicateConstructor, {
- at: key
- });
- }
-
- if (isConstructor && this.hasPlugin("typescript") && member.override) {
- this.raise(Errors.OverrideOnConstructor, {
- at: key
- });
- }
-
- state.hadConstructor = true;
- allowsDirectSuper = state.hadSuperClass;
- }
-
- this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper);
- } else if (this.isClassProperty()) {
- if (isPrivate) {
- this.pushClassPrivateProperty(classBody, privateProp);
- } else {
- this.pushClassProperty(classBody, publicProp);
- }
- } else if (isContextual && key.name === "async" && !this.isLineTerminator()) {
- this.resetPreviousNodeTrailingComments(key);
- const isGenerator = this.eat(55);
-
- if (publicMember.optional) {
- this.unexpected(maybeQuestionTokenStartLoc);
- }
-
- method.kind = "method";
- const isPrivate = this.match(134);
- this.parseClassElementName(method);
- this.parsePostMemberNameModifiers(publicMember);
-
- if (isPrivate) {
- this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true);
- } else {
- if (this.isNonstaticConstructor(publicMethod)) {
- this.raise(Errors.ConstructorIsAsync, {
- at: publicMethod.key
- });
- }
-
- this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false);
- }
- } else if (isContextual && (key.name === "get" || key.name === "set") && !(this.match(55) && this.isLineTerminator())) {
- this.resetPreviousNodeTrailingComments(key);
- method.kind = key.name;
- const isPrivate = this.match(134);
- this.parseClassElementName(publicMethod);
-
- if (isPrivate) {
- this.pushClassPrivateMethod(classBody, privateMethod, false, false);
- } else {
- if (this.isNonstaticConstructor(publicMethod)) {
- this.raise(Errors.ConstructorIsAccessor, {
- at: publicMethod.key
- });
- }
-
- this.pushClassMethod(classBody, publicMethod, false, false, false, false);
- }
-
- this.checkGetterSetterParams(publicMethod);
- } else if (isContextual && key.name === "accessor" && !this.isLineTerminator()) {
- this.expectPlugin("decoratorAutoAccessors");
- this.resetPreviousNodeTrailingComments(key);
- const isPrivate = this.match(134);
- this.parseClassElementName(publicProp);
- this.pushClassAccessorProperty(classBody, accessorProp, isPrivate);
- } else if (this.isLineTerminator()) {
- if (isPrivate) {
- this.pushClassPrivateProperty(classBody, privateProp);
- } else {
- this.pushClassProperty(classBody, publicProp);
- }
- } else {
- this.unexpected();
- }
- }
-
- parseClassElementName(member) {
- const {
- type,
- value
- } = this.state;
-
- if ((type === 128 || type === 129) && member.static && value === "prototype") {
- this.raise(Errors.StaticPrototype, {
- at: this.state.startLoc
- });
- }
-
- if (type === 134) {
- if (value === "constructor") {
- this.raise(Errors.ConstructorClassPrivateField, {
- at: this.state.startLoc
- });
- }
-
- const key = this.parsePrivateName();
- member.key = key;
- return key;
- }
-
- return this.parsePropertyName(member);
- }
-
- parseClassStaticBlock(classBody, member) {
- var _member$decorators;
-
- this.scope.enter(SCOPE_CLASS | SCOPE_STATIC_BLOCK | SCOPE_SUPER);
- const oldLabels = this.state.labels;
- this.state.labels = [];
- this.prodParam.enter(PARAM);
- const body = member.body = [];
- this.parseBlockOrModuleBlockBody(body, undefined, false, 8);
- this.prodParam.exit();
- this.scope.exit();
- this.state.labels = oldLabels;
- classBody.body.push(this.finishNode(member, "StaticBlock"));
-
- if ((_member$decorators = member.decorators) != null && _member$decorators.length) {
- this.raise(Errors.DecoratorStaticBlock, {
- at: member
- });
- }
- }
-
- pushClassProperty(classBody, prop) {
- if (!prop.computed && (prop.key.name === "constructor" || prop.key.value === "constructor")) {
- this.raise(Errors.ConstructorClassField, {
- at: prop.key
- });
- }
-
- classBody.body.push(this.parseClassProperty(prop));
- }
-
- pushClassPrivateProperty(classBody, prop) {
- const node = this.parseClassPrivateProperty(prop);
- classBody.body.push(node);
- this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.loc.start);
- }
-
- pushClassAccessorProperty(classBody, prop, isPrivate) {
- if (!isPrivate && !prop.computed) {
- const key = prop.key;
-
- if (key.name === "constructor" || key.value === "constructor") {
- this.raise(Errors.ConstructorClassField, {
- at: key
- });
- }
- }
-
- const node = this.parseClassAccessorProperty(prop);
- classBody.body.push(node);
-
- if (isPrivate) {
- this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), CLASS_ELEMENT_OTHER, node.key.loc.start);
- }
- }
-
- pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) {
- classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true));
- }
-
- pushClassPrivateMethod(classBody, method, isGenerator, isAsync) {
- const node = this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true);
- classBody.body.push(node);
- const kind = node.kind === "get" ? node.static ? CLASS_ELEMENT_STATIC_GETTER : CLASS_ELEMENT_INSTANCE_GETTER : node.kind === "set" ? node.static ? CLASS_ELEMENT_STATIC_SETTER : CLASS_ELEMENT_INSTANCE_SETTER : CLASS_ELEMENT_OTHER;
- this.declareClassPrivateMethodInScope(node, kind);
- }
-
- declareClassPrivateMethodInScope(node, kind) {
- this.classScope.declarePrivateName(this.getPrivateNameSV(node.key), kind, node.key.loc.start);
- }
-
- parsePostMemberNameModifiers(methodOrProp) {}
-
- parseClassPrivateProperty(node) {
- this.parseInitializer(node);
- this.semicolon();
- return this.finishNode(node, "ClassPrivateProperty");
- }
-
- parseClassProperty(node) {
- this.parseInitializer(node);
- this.semicolon();
- return this.finishNode(node, "ClassProperty");
- }
-
- parseClassAccessorProperty(node) {
- this.parseInitializer(node);
- this.semicolon();
- return this.finishNode(node, "ClassAccessorProperty");
- }
-
- parseInitializer(node) {
- this.scope.enter(SCOPE_CLASS | SCOPE_SUPER);
- this.expressionScope.enter(newExpressionScope());
- this.prodParam.enter(PARAM);
- node.value = this.eat(29) ? this.parseMaybeAssignAllowIn() : null;
- this.expressionScope.exit();
- this.prodParam.exit();
- this.scope.exit();
- }
-
- parseClassId(node, isStatement, optionalId, bindingType = BIND_CLASS) {
- if (tokenIsIdentifier(this.state.type)) {
- node.id = this.parseIdentifier();
-
- if (isStatement) {
- this.declareNameFromIdentifier(node.id, bindingType);
- }
- } else {
- if (optionalId || !isStatement) {
- node.id = null;
- } else {
- throw this.raise(Errors.MissingClassName, {
- at: this.state.startLoc
- });
- }
- }
- }
-
- parseClassSuper(node) {
- node.superClass = this.eat(81) ? this.parseExprSubscripts() : null;
- }
-
- parseExport(node) {
- const hasDefault = this.maybeParseExportDefaultSpecifier(node);
- const parseAfterDefault = !hasDefault || this.eat(12);
- const hasStar = parseAfterDefault && this.eatExportStar(node);
- const hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node);
- const parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(12));
- const isFromRequired = hasDefault || hasStar;
-
- if (hasStar && !hasNamespace) {
- if (hasDefault) this.unexpected();
- this.parseExportFrom(node, true);
- return this.finishNode(node, "ExportAllDeclaration");
- }
-
- const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node);
-
- if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers || hasNamespace && parseAfterNamespace && !hasSpecifiers) {
- throw this.unexpected(null, 5);
- }
-
- let hasDeclaration;
-
- if (isFromRequired || hasSpecifiers) {
- hasDeclaration = false;
- this.parseExportFrom(node, isFromRequired);
- } else {
- hasDeclaration = this.maybeParseExportDeclaration(node);
- }
-
- if (isFromRequired || hasSpecifiers || hasDeclaration) {
- this.checkExport(node, true, false, !!node.source);
- return this.finishNode(node, "ExportNamedDeclaration");
- }
-
- if (this.eat(65)) {
- node.declaration = this.parseExportDefaultExpression();
- this.checkExport(node, true, true);
- return this.finishNode(node, "ExportDefaultDeclaration");
- }
-
- throw this.unexpected(null, 5);
- }
-
- eatExportStar(node) {
- return this.eat(55);
- }
-
- maybeParseExportDefaultSpecifier(node) {
- if (this.isExportDefaultSpecifier()) {
- this.expectPlugin("exportDefaultFrom");
- const specifier = this.startNode();
- specifier.exported = this.parseIdentifier(true);
- node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")];
- return true;
- }
-
- return false;
- }
-
- maybeParseExportNamespaceSpecifier(node) {
- if (this.isContextual(93)) {
- if (!node.specifiers) node.specifiers = [];
- const specifier = this.startNodeAt(this.state.lastTokStart, this.state.lastTokStartLoc);
- this.next();
- specifier.exported = this.parseModuleExportName();
- node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier"));
- return true;
- }
-
- return false;
- }
-
- maybeParseExportNamedSpecifiers(node) {
- if (this.match(5)) {
- if (!node.specifiers) node.specifiers = [];
- const isTypeExport = node.exportKind === "type";
- node.specifiers.push(...this.parseExportSpecifiers(isTypeExport));
- node.source = null;
- node.declaration = null;
-
- if (this.hasPlugin("importAssertions")) {
- node.assertions = [];
- }
-
- return true;
- }
-
- return false;
- }
-
- maybeParseExportDeclaration(node) {
- if (this.shouldParseExportDeclaration()) {
- node.specifiers = [];
- node.source = null;
-
- if (this.hasPlugin("importAssertions")) {
- node.assertions = [];
- }
-
- node.declaration = this.parseExportDeclaration(node);
- return true;
- }
-
- return false;
- }
-
- isAsyncFunction() {
- if (!this.isContextual(95)) return false;
- const next = this.nextTokenStart();
- return !lineBreak.test(this.input.slice(this.state.pos, next)) && this.isUnparsedContextual(next, "function");
- }
-
- parseExportDefaultExpression() {
- const expr = this.startNode();
- const isAsync = this.isAsyncFunction();
-
- if (this.match(68) || isAsync) {
- this.next();
-
- if (isAsync) {
- this.next();
- }
-
- return this.parseFunction(expr, FUNC_STATEMENT | FUNC_NULLABLE_ID, isAsync);
- }
-
- if (this.match(80)) {
- return this.parseClass(expr, true, true);
- }
-
- if (this.match(26)) {
- if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport")) {
- this.raise(Errors.DecoratorBeforeExport, {
- at: this.state.startLoc
- });
- }
-
- this.parseDecorators(false);
- return this.parseClass(expr, true, true);
- }
-
- if (this.match(75) || this.match(74) || this.isLet()) {
- throw this.raise(Errors.UnsupportedDefaultExport, {
- at: this.state.startLoc
- });
- }
-
- const res = this.parseMaybeAssignAllowIn();
- this.semicolon();
- return res;
- }
-
- parseExportDeclaration(node) {
- return this.parseStatement(null);
- }
-
- isExportDefaultSpecifier() {
- const {
- type
- } = this.state;
-
- if (tokenIsIdentifier(type)) {
- if (type === 95 && !this.state.containsEsc || type === 99) {
- return false;
- }
-
- if ((type === 126 || type === 125) && !this.state.containsEsc) {
- const {
- type: nextType
- } = this.lookahead();
-
- if (tokenIsIdentifier(nextType) && nextType !== 97 || nextType === 5) {
- this.expectOnePlugin(["flow", "typescript"]);
- return false;
- }
- }
- } else if (!this.match(65)) {
- return false;
- }
-
- const next = this.nextTokenStart();
- const hasFrom = this.isUnparsedContextual(next, "from");
-
- if (this.input.charCodeAt(next) === 44 || tokenIsIdentifier(this.state.type) && hasFrom) {
- return true;
- }
-
- if (this.match(65) && hasFrom) {
- const nextAfterFrom = this.input.charCodeAt(this.nextTokenStartSince(next + 4));
- return nextAfterFrom === 34 || nextAfterFrom === 39;
- }
-
- return false;
- }
-
- parseExportFrom(node, expect) {
- if (this.eatContextual(97)) {
- node.source = this.parseImportSource();
- this.checkExport(node);
- const assertions = this.maybeParseImportAssertions();
-
- if (assertions) {
- node.assertions = assertions;
- }
- } else if (expect) {
- this.unexpected();
- }
-
- this.semicolon();
- }
-
- shouldParseExportDeclaration() {
- const {
- type
- } = this.state;
-
- if (type === 26) {
- this.expectOnePlugin(["decorators", "decorators-legacy"]);
-
- if (this.hasPlugin("decorators")) {
- if (this.getPluginOption("decorators", "decoratorsBeforeExport")) {
- throw this.raise(Errors.DecoratorBeforeExport, {
- at: this.state.startLoc
- });
- }
-
- return true;
- }
- }
-
- return type === 74 || type === 75 || type === 68 || type === 80 || this.isLet() || this.isAsyncFunction();
- }
-
- checkExport(node, checkNames, isDefault, isFrom) {
- if (checkNames) {
- if (isDefault) {
- this.checkDuplicateExports(node, "default");
-
- if (this.hasPlugin("exportDefaultFrom")) {
- var _declaration$extra;
-
- const declaration = node.declaration;
-
- if (declaration.type === "Identifier" && declaration.name === "from" && declaration.end - declaration.start === 4 && !((_declaration$extra = declaration.extra) != null && _declaration$extra.parenthesized)) {
- this.raise(Errors.ExportDefaultFromAsIdentifier, {
- at: declaration
- });
- }
- }
- } else if (node.specifiers && node.specifiers.length) {
- for (const specifier of node.specifiers) {
- const {
- exported
- } = specifier;
- const exportName = exported.type === "Identifier" ? exported.name : exported.value;
- this.checkDuplicateExports(specifier, exportName);
-
- if (!isFrom && specifier.local) {
- const {
- local
- } = specifier;
-
- if (local.type !== "Identifier") {
- this.raise(Errors.ExportBindingIsString, {
- at: specifier,
- localName: local.value,
- exportName
- });
- } else {
- this.checkReservedWord(local.name, local.loc.start, true, false);
- this.scope.checkLocalExport(local);
- }
- }
- }
- } else if (node.declaration) {
- if (node.declaration.type === "FunctionDeclaration" || node.declaration.type === "ClassDeclaration") {
- const id = node.declaration.id;
- if (!id) throw new Error("Assertion failure");
- this.checkDuplicateExports(node, id.name);
- } else if (node.declaration.type === "VariableDeclaration") {
- for (const declaration of node.declaration.declarations) {
- this.checkDeclaration(declaration.id);
- }
- }
- }
- }
-
- const currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1];
-
- if (currentContextDecorators.length) {
- throw this.raise(Errors.UnsupportedDecoratorExport, {
- at: node
- });
- }
- }
-
- checkDeclaration(node) {
- if (node.type === "Identifier") {
- this.checkDuplicateExports(node, node.name);
- } else if (node.type === "ObjectPattern") {
- for (const prop of node.properties) {
- this.checkDeclaration(prop);
- }
- } else if (node.type === "ArrayPattern") {
- for (const elem of node.elements) {
- if (elem) {
- this.checkDeclaration(elem);
- }
- }
- } else if (node.type === "ObjectProperty") {
- this.checkDeclaration(node.value);
- } else if (node.type === "RestElement") {
- this.checkDeclaration(node.argument);
- } else if (node.type === "AssignmentPattern") {
- this.checkDeclaration(node.left);
- }
- }
-
- checkDuplicateExports(node, exportName) {
- if (this.exportedIdentifiers.has(exportName)) {
- if (exportName === "default") {
- this.raise(Errors.DuplicateDefaultExport, {
- at: node
- });
- } else {
- this.raise(Errors.DuplicateExport, {
- at: node,
- exportName
- });
- }
- }
-
- this.exportedIdentifiers.add(exportName);
- }
-
- parseExportSpecifiers(isInTypeExport) {
- const nodes = [];
- let first = true;
- this.expect(5);
-
- while (!this.eat(8)) {
- if (first) {
- first = false;
- } else {
- this.expect(12);
- if (this.eat(8)) break;
- }
-
- const isMaybeTypeOnly = this.isContextual(126);
- const isString = this.match(129);
- const node = this.startNode();
- node.local = this.parseModuleExportName();
- nodes.push(this.parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly));
- }
-
- return nodes;
- }
-
- parseExportSpecifier(node, isString, isInTypeExport, isMaybeTypeOnly) {
- if (this.eatContextual(93)) {
- node.exported = this.parseModuleExportName();
- } else if (isString) {
- node.exported = cloneStringLiteral(node.local);
- } else if (!node.exported) {
- node.exported = cloneIdentifier(node.local);
- }
-
- return this.finishNode(node, "ExportSpecifier");
- }
-
- parseModuleExportName() {
- if (this.match(129)) {
- const result = this.parseStringLiteral(this.state.value);
- const surrogate = result.value.match(loneSurrogate);
-
- if (surrogate) {
- this.raise(Errors.ModuleExportNameHasLoneSurrogate, {
- at: result,
- surrogateCharCode: surrogate[0].charCodeAt(0)
- });
- }
-
- return result;
- }
-
- return this.parseIdentifier(true);
- }
-
- parseImport(node) {
- node.specifiers = [];
-
- if (!this.match(129)) {
- const hasDefault = this.maybeParseDefaultImportSpecifier(node);
- const parseNext = !hasDefault || this.eat(12);
- const hasStar = parseNext && this.maybeParseStarImportSpecifier(node);
- if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node);
- this.expectContextual(97);
- }
-
- node.source = this.parseImportSource();
- const assertions = this.maybeParseImportAssertions();
-
- if (assertions) {
- node.assertions = assertions;
- } else {
- const attributes = this.maybeParseModuleAttributes();
-
- if (attributes) {
- node.attributes = attributes;
- }
- }
-
- this.semicolon();
- return this.finishNode(node, "ImportDeclaration");
- }
-
- parseImportSource() {
- if (!this.match(129)) this.unexpected();
- return this.parseExprAtom();
- }
-
- shouldParseDefaultImport(node) {
- return tokenIsIdentifier(this.state.type);
- }
-
- parseImportSpecifierLocal(node, specifier, type) {
- specifier.local = this.parseIdentifier();
- node.specifiers.push(this.finishImportSpecifier(specifier, type));
- }
-
- finishImportSpecifier(specifier, type) {
- this.checkLVal(specifier.local, {
- in: specifier,
- binding: BIND_LEXICAL
- });
- return this.finishNode(specifier, type);
- }
-
- parseAssertEntries() {
- const attrs = [];
- const attrNames = new Set();
-
- do {
- if (this.match(8)) {
- break;
- }
-
- const node = this.startNode();
- const keyName = this.state.value;
-
- if (attrNames.has(keyName)) {
- this.raise(Errors.ModuleAttributesWithDuplicateKeys, {
- at: this.state.startLoc,
- key: keyName
- });
- }
-
- attrNames.add(keyName);
-
- if (this.match(129)) {
- node.key = this.parseStringLiteral(keyName);
- } else {
- node.key = this.parseIdentifier(true);
- }
-
- this.expect(14);
-
- if (!this.match(129)) {
- throw this.raise(Errors.ModuleAttributeInvalidValue, {
- at: this.state.startLoc
- });
- }
-
- node.value = this.parseStringLiteral(this.state.value);
- this.finishNode(node, "ImportAttribute");
- attrs.push(node);
- } while (this.eat(12));
-
- return attrs;
- }
-
- maybeParseModuleAttributes() {
- if (this.match(76) && !this.hasPrecedingLineBreak()) {
- this.expectPlugin("moduleAttributes");
- this.next();
- } else {
- if (this.hasPlugin("moduleAttributes")) return [];
- return null;
- }
-
- const attrs = [];
- const attributes = new Set();
-
- do {
- const node = this.startNode();
- node.key = this.parseIdentifier(true);
-
- if (node.key.name !== "type") {
- this.raise(Errors.ModuleAttributeDifferentFromType, {
- at: node.key
- });
- }
-
- if (attributes.has(node.key.name)) {
- this.raise(Errors.ModuleAttributesWithDuplicateKeys, {
- at: node.key,
- key: node.key.name
- });
- }
-
- attributes.add(node.key.name);
- this.expect(14);
-
- if (!this.match(129)) {
- throw this.raise(Errors.ModuleAttributeInvalidValue, {
- at: this.state.startLoc
- });
- }
-
- node.value = this.parseStringLiteral(this.state.value);
- this.finishNode(node, "ImportAttribute");
- attrs.push(node);
- } while (this.eat(12));
-
- return attrs;
- }
-
- maybeParseImportAssertions() {
- if (this.isContextual(94) && !this.hasPrecedingLineBreak()) {
- this.expectPlugin("importAssertions");
- this.next();
- } else {
- if (this.hasPlugin("importAssertions")) return [];
- return null;
- }
-
- this.eat(5);
- const attrs = this.parseAssertEntries();
- this.eat(8);
- return attrs;
- }
-
- maybeParseDefaultImportSpecifier(node) {
- if (this.shouldParseDefaultImport(node)) {
- this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier");
- return true;
- }
-
- return false;
- }
-
- maybeParseStarImportSpecifier(node) {
- if (this.match(55)) {
- const specifier = this.startNode();
- this.next();
- this.expectContextual(93);
- this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier");
- return true;
- }
-
- return false;
- }
-
- parseNamedImportSpecifiers(node) {
- let first = true;
- this.expect(5);
-
- while (!this.eat(8)) {
- if (first) {
- first = false;
- } else {
- if (this.eat(14)) {
- throw this.raise(Errors.DestructureNamedImport, {
- at: this.state.startLoc
- });
- }
-
- this.expect(12);
- if (this.eat(8)) break;
- }
-
- const specifier = this.startNode();
- const importedIsString = this.match(129);
- const isMaybeTypeOnly = this.isContextual(126);
- specifier.imported = this.parseModuleExportName();
- const importSpecifier = this.parseImportSpecifier(specifier, importedIsString, node.importKind === "type" || node.importKind === "typeof", isMaybeTypeOnly);
- node.specifiers.push(importSpecifier);
- }
- }
-
- parseImportSpecifier(specifier, importedIsString, isInTypeOnlyImport, isMaybeTypeOnly) {
- if (this.eatContextual(93)) {
- specifier.local = this.parseIdentifier();
- } else {
- const {
- imported
- } = specifier;
-
- if (importedIsString) {
- throw this.raise(Errors.ImportBindingIsString, {
- at: specifier,
- importName: imported.value
- });
- }
-
- this.checkReservedWord(imported.name, specifier.loc.start, true, true);
-
- if (!specifier.local) {
- specifier.local = cloneIdentifier(imported);
- }
- }
-
- return this.finishImportSpecifier(specifier, "ImportSpecifier");
- }
-
- isThisParam(param) {
- return param.type === "Identifier" && param.name === "this";
- }
-
-}
-
-class Parser extends StatementParser {
- constructor(options, input) {
- options = getOptions(options);
- super(options, input);
- this.options = options;
- this.initializeScopes();
- this.plugins = pluginsMap(this.options.plugins);
- this.filename = options.sourceFilename;
- }
-
- getScopeHandler() {
- return ScopeHandler;
- }
-
- parse() {
- this.enterInitialScopes();
- const file = this.startNode();
- const program = this.startNode();
- this.nextToken();
- file.errors = null;
- this.parseTopLevel(file, program);
- file.errors = this.state.errors;
- return file;
- }
-
-}
-
-function pluginsMap(plugins) {
- const pluginMap = new Map();
-
- for (const plugin of plugins) {
- const [name, options] = Array.isArray(plugin) ? plugin : [plugin, {}];
- if (!pluginMap.has(name)) pluginMap.set(name, options || {});
- }
-
- return pluginMap;
-}
-
-function parse(input, options) {
- var _options;
-
- if (((_options = options) == null ? void 0 : _options.sourceType) === "unambiguous") {
- options = Object.assign({}, options);
-
- try {
- options.sourceType = "module";
- const parser = getParser(options, input);
- const ast = parser.parse();
-
- if (parser.sawUnambiguousESM) {
- return ast;
- }
-
- if (parser.ambiguousScriptDifferentAst) {
- try {
- options.sourceType = "script";
- return getParser(options, input).parse();
- } catch (_unused) {}
- } else {
- ast.program.sourceType = "script";
- }
-
- return ast;
- } catch (moduleError) {
- try {
- options.sourceType = "script";
- return getParser(options, input).parse();
- } catch (_unused2) {}
-
- throw moduleError;
- }
- } else {
- return getParser(options, input).parse();
- }
-}
-function parseExpression(input, options) {
- const parser = getParser(options, input);
-
- if (parser.options.strictMode) {
- parser.state.strict = true;
- }
-
- return parser.getExpression();
-}
-
-function generateExportedTokenTypes(internalTokenTypes) {
- const tokenTypes = {};
-
- for (const typeName of Object.keys(internalTokenTypes)) {
- tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]);
- }
-
- return tokenTypes;
-}
-
-const tokTypes = generateExportedTokenTypes(tt);
-
-function getParser(options, input) {
- let cls = Parser;
-
- if (options != null && options.plugins) {
- validatePlugins(options.plugins);
- cls = getParserClass(options.plugins);
- }
-
- return new cls(options, input);
-}
-
-const parserClassCache = {};
-
-function getParserClass(pluginsFromOptions) {
- const pluginList = mixinPluginNames.filter(name => hasPlugin(pluginsFromOptions, name));
- const key = pluginList.join("/");
- let cls = parserClassCache[key];
-
- if (!cls) {
- cls = Parser;
-
- for (const plugin of pluginList) {
- cls = mixinPlugins[plugin](cls);
- }
-
- parserClassCache[key] = cls;
- }
-
- return cls;
-}
-
-exports.parse = parse;
-exports.parseExpression = parseExpression;
-exports.tokTypes = tokTypes;
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/parser/lib/index.js.map b/includes/search/node_modules/@babel/parser/lib/index.js.map
deleted file mode 100644
index 693a462..0000000
--- a/includes/search/node_modules/@babel/parser/lib/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sources":["../src/util/location.js","../src/parse-error/credentials.js","../src/parse-error/module-errors.js","../src/parse-error/to-node-description.js","../src/parse-error/standard-errors.js","../src/parse-error/strict-mode-errors.js","../src/parse-error/pipeline-operator-errors.js","../src/parse-error.js","../src/plugins/estree.js","../src/tokenizer/context.js","../src/tokenizer/types.js","../../babel-helper-validator-identifier/src/identifier.ts","../../babel-helper-validator-identifier/src/keyword.ts","../src/util/identifier.js","../src/util/scopeflags.js","../src/parser/base.js","../src/parser/comments.js","../src/util/whitespace.js","../src/tokenizer/state.js","../src/tokenizer/index.js","../src/util/scope.js","../src/plugins/flow/scope.js","../src/util/class-scope.js","../src/util/expression-scope.js","../src/util/production-parameter.js","../src/parser/util.js","../src/parser/node.js","../src/plugins/flow/index.js","../src/plugins/jsx/xhtml.js","../src/plugins/jsx/index.js","../src/plugins/typescript/scope.js","../src/plugins/typescript/index.js","../src/plugins/placeholders.js","../src/plugins/v8intrinsic.js","../src/plugin-utils.js","../src/options.js","../src/parser/lval.js","../src/parser/expression.js","../src/parser/statement.js","../src/parser/index.js","../src/index.js"],"sourcesContent":["// @flow\n\nexport type Pos = {\n start: number,\n};\n\n// These are used when `options.locations` is on, for the\n// `startLoc` and `endLoc` properties.\n\nexport class Position {\n line: number;\n column: number;\n index: number;\n\n constructor(line: number, col: number, index: number) {\n this.line = line;\n this.column = col;\n this.index = index;\n }\n}\n\nexport class SourceLocation {\n start: Position;\n end: Position;\n filename: string;\n identifierName: ?string;\n\n constructor(start: Position, end?: Position) {\n this.start = start;\n // $FlowIgnore (may start as null, but initialized later)\n this.end = end;\n }\n}\n\n/**\n * creates a new position with a non-zero column offset from the given position.\n * This function should be only be used when we create AST node out of the token\n * boundaries, such as TemplateElement ends before tt.templateNonTail. This\n * function does not skip whitespaces.\n *\n * @export\n * @param {Position} position\n * @param {number} columnOffset\n * @returns {Position}\n */\nexport function createPositionWithColumnOffset(\n position: Position,\n columnOffset: number,\n) {\n const { line, column, index } = position;\n return new Position(line, column + columnOffset, index + columnOffset);\n}\n","// @flow\n\nexport const ParseErrorCodes = Object.freeze({\n SyntaxError: \"BABEL_PARSER_SYNTAX_ERROR\",\n SourceTypeModuleError: \"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED\",\n});\n\nexport type ParseErrorCode = $Values<typeof ParseErrorCodes>;\n\nexport type SyntaxPlugin =\n | \"flow\"\n | \"typescript\"\n | \"jsx\"\n | \"pipelineOperator\"\n | \"placeholders\";\n\nexport type ToMessage<ErrorDetails> = (self: ErrorDetails) => string;\n\nexport type ParseErrorCredentials<ErrorDetails> = {\n code: ParseErrorCode,\n reasonCode: string,\n syntaxPlugin?: SyntaxPlugin,\n\n toMessage: ToMessage<ErrorDetails>,\n};\n\nconst reflect = (keys: string[], last = keys.length - 1) => ({\n get() {\n return keys.reduce((object, key) => object[key], this);\n },\n set(value) {\n keys.reduce(\n (item, key, i) => (i === last ? (item[key] = value) : item[key]),\n this,\n );\n },\n});\n\nconst instantiate = <T>(\n constructor: () => any,\n properties: Object,\n descriptors: Object,\n) =>\n Object.keys(descriptors)\n .map(key => [key, descriptors[key]])\n .filter(([, descriptor]) => !!descriptor)\n .map(([key, descriptor]) => [\n key,\n typeof descriptor === \"function\"\n ? { value: descriptor, enumerable: false }\n : typeof descriptor.reflect === \"string\"\n ? { ...descriptor, ...reflect(descriptor.reflect.split(\".\")) }\n : descriptor,\n ])\n .reduce(\n (instance, [key, descriptor]) =>\n Object.defineProperty(instance, key, {\n configurable: true,\n ...descriptor,\n }),\n Object.assign((new constructor(): T), properties),\n );\n\nexport { instantiate };\n","// @flow\n\nimport { ParseErrorCodes, toParseErrorCredentials } from \"../parse-error\";\n\nexport default (_: typeof toParseErrorCredentials) => ({\n ImportMetaOutsideModule: _(\n `import.meta may appear only with 'sourceType: \"module\"'`,\n { code: ParseErrorCodes.SourceTypeModuleError },\n ),\n ImportOutsideModule: _(\n `'import' and 'export' may appear only with 'sourceType: \"module\"'`,\n { code: ParseErrorCodes.SourceTypeModuleError },\n ),\n});\n","const NodeDescriptions = {\n ArrayPattern: \"array destructuring pattern\",\n AssignmentExpression: \"assignment expression\",\n AssignmentPattern: \"assignment expression\",\n ArrowFunctionExpression: \"arrow function expression\",\n ConditionalExpression: \"conditional expression\",\n ForOfStatement: \"for-of statement\",\n ForInStatement: \"for-in statement\",\n ForStatement: \"for-loop\",\n FormalParameters: \"function parameter list\",\n Identifier: \"identifier\",\n ObjectPattern: \"object destructuring pattern\",\n ParenthesizedExpression: \"parenthesized expression\",\n RestElement: \"rest element\",\n UpdateExpression: {\n true: \"prefix operation\",\n false: \"postfix operation\",\n },\n VariableDeclarator: \"variable declaration\",\n YieldExpression: \"yield expression\",\n};\n\ntype NodeTypesWithDescriptions = $Keys<\n $Diff<typeof NodeDescriptions, { UpdateExpression: any }>,\n>;\ntype NodeWithDescription =\n | { type: \"UpdateExpression\", prefix: boolean }\n | { type: NodeTypesWithDescriptions };\n\n// eslint-disable-next-line no-confusing-arrow\nconst toNodeDescription = ({ type, prefix }: NodeWithDescription) =>\n type === \"UpdateExpression\"\n ? NodeDescriptions.UpdateExpression[String(prefix)]\n : NodeDescriptions[type];\n\nexport default toNodeDescription;\n","// @flow\n\nimport { toParseErrorCredentials } from \"../parse-error\";\nimport toNodeDescription from \"./to-node-description\";\n\nexport type LValAncestor =\n | { type: \"UpdateExpression\", prefix: boolean }\n | {\n type:\n | \"ArrayPattern\"\n | \"AssignmentExpression\"\n | \"CatchClause\"\n | \"ForOfStatement\"\n | \"FormalParameters\"\n | \"ForInStatement\"\n | \"ForStatement\"\n | \"Identfier\"\n | \"ObjectPattern\"\n | \"RestElement\"\n | \"VariableDeclarator\",\n };\n\nexport default (_: typeof toParseErrorCredentials) => ({\n AccessorIsGenerator: _<{| kind: \"get\" | \"set\" |}>(\n ({ kind }) => `A ${kind}ter cannot be a generator.`,\n ),\n\n ArgumentsInClass: _(\n \"'arguments' is only allowed in functions and class methods.\",\n ),\n AsyncFunctionInSingleStatementContext: _(\n \"Async functions can only be declared at the top level or inside a block.\",\n ),\n AwaitBindingIdentifier: _(\n \"Can not use 'await' as identifier inside an async function.\",\n ),\n AwaitBindingIdentifierInStaticBlock: _(\n \"Can not use 'await' as identifier inside a static block.\",\n ),\n AwaitExpressionFormalParameter: _(\n \"'await' is not allowed in async function parameters.\",\n ),\n AwaitNotInAsyncContext: _(\n \"'await' is only allowed within async functions and at the top levels of modules.\",\n ),\n AwaitNotInAsyncFunction: _(\"'await' is only allowed within async functions.\"),\n BadGetterArity: _(\"A 'get' accesor must not have any formal parameters.\"),\n BadSetterArity: _(\"A 'set' accesor must have exactly one formal parameter.\"),\n BadSetterRestParameter: _(\n \"A 'set' accesor function argument must not be a rest parameter.\",\n ),\n ConstructorClassField: _(\"Classes may not have a field named 'constructor'.\"),\n ConstructorClassPrivateField: _(\n \"Classes may not have a private field named '#constructor'.\",\n ),\n ConstructorIsAccessor: _(\"Class constructor may not be an accessor.\"),\n ConstructorIsAsync: _(\"Constructor can't be an async function.\"),\n ConstructorIsGenerator: _(\"Constructor can't be a generator.\"),\n DeclarationMissingInitializer: _<{| kind: \"const\" | \"destructuring\" |}>(\n ({ kind }) => `Missing initializer in ${kind} declaration.`,\n ),\n DecoratorBeforeExport: _(\n \"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax.\",\n ),\n DecoratorConstructor: _(\n \"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?\",\n ),\n DecoratorExportClass: _(\n \"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.\",\n ),\n DecoratorSemicolon: _(\"Decorators must not be followed by a semicolon.\"),\n DecoratorStaticBlock: _(\"Decorators can't be used with a static block.\"),\n DeletePrivateField: _(\"Deleting a private field is not allowed.\"),\n DestructureNamedImport: _(\n \"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\",\n ),\n DuplicateConstructor: _(\"Duplicate constructor in the same class.\"),\n DuplicateDefaultExport: _(\"Only one default export allowed per module.\"),\n DuplicateExport: _<{| exportName: string |}>(\n ({ exportName }) =>\n `\\`${exportName}\\` has already been exported. Exported identifiers must be unique.`,\n ),\n DuplicateProto: _(\"Redefinition of __proto__ property.\"),\n DuplicateRegExpFlags: _(\"Duplicate regular expression flag.\"),\n ElementAfterRest: _(\"Rest element must be last element.\"),\n EscapedCharNotAnIdentifier: _(\"Invalid Unicode escape.\"),\n ExportBindingIsString: _<{| localName: string, exportName: string |}>(\n ({ localName, exportName }) =>\n `A string literal cannot be used as an exported binding without \\`from\\`.\\n- Did you mean \\`export { '${localName}' as '${exportName}' } from 'some-module'\\`?`,\n ),\n ExportDefaultFromAsIdentifier: _(\n \"'from' is not allowed as an identifier after 'export default'.\",\n ),\n\n ForInOfLoopInitializer: _<{| type: \"ForInStatement\" | \"ForOfStatement\" |}>(\n ({ type }) =>\n `'${\n type === \"ForInStatement\" ? \"for-in\" : \"for-of\"\n }' loop variable declaration may not have an initializer.`,\n ),\n\n ForOfAsync: _(\"The left-hand side of a for-of loop may not be 'async'.\"),\n ForOfLet: _(\"The left-hand side of a for-of loop may not start with 'let'.\"),\n GeneratorInSingleStatementContext: _(\n \"Generators can only be declared at the top level or inside a block.\",\n ),\n\n IllegalBreakContinue: _<{| type: \"BreakStatement\" | \"ContinueStatement\" |}>(\n ({ type }) =>\n `Unsyntactic ${type === \"BreakStatement\" ? \"break\" : \"continue\"}.`,\n ),\n\n IllegalLanguageModeDirective: _(\n \"Illegal 'use strict' directive in function with non-simple parameter list.\",\n ),\n IllegalReturn: _(\"'return' outside of function.\"),\n ImportBindingIsString: _<{| importName: string |}>(\n ({ importName }) =>\n `A string literal cannot be used as an imported binding.\\n- Did you mean \\`import { \"${importName}\" as foo }\\`?`,\n ),\n ImportCallArgumentTrailingComma: _(\n \"Trailing comma is disallowed inside import(...) arguments.\",\n ),\n ImportCallArity: _<{| maxArgumentCount: 1 | 2 |}>(\n ({ maxArgumentCount }) =>\n `\\`import()\\` requires exactly ${\n maxArgumentCount === 1 ? \"one argument\" : \"one or two arguments\"\n }.`,\n ),\n ImportCallNotNewExpression: _(\"Cannot use new with import(...).\"),\n ImportCallSpreadArgument: _(\"`...` is not allowed in `import()`.\"),\n IncompatibleRegExpUVFlags: _(\n \"The 'u' and 'v' regular expression flags cannot be enabled at the same time.\",\n ),\n InvalidBigIntLiteral: _(\"Invalid BigIntLiteral.\"),\n InvalidCodePoint: _(\"Code point out of bounds.\"),\n InvalidCoverInitializedName: _(\"Invalid shorthand property initializer.\"),\n InvalidDecimal: _(\"Invalid decimal.\"),\n InvalidDigit: _<{| radix: number |}>(\n ({ radix }) => `Expected number in radix ${radix}.`,\n ),\n InvalidEscapeSequence: _(\"Bad character escape sequence.\"),\n InvalidEscapeSequenceTemplate: _(\"Invalid escape sequence in template.\"),\n InvalidEscapedReservedWord: _<{| reservedWord: string |}>(\n ({ reservedWord }) => `Escape sequence in keyword ${reservedWord}.`,\n ),\n InvalidIdentifier: _<{| identifierName: string |}>(\n ({ identifierName }) => `Invalid identifier ${identifierName}.`,\n ),\n InvalidLhs: _<{| ancestor: LValAncestor |}>(\n ({ ancestor }) =>\n `Invalid left-hand side in ${toNodeDescription(ancestor)}.`,\n ),\n InvalidLhsBinding: _<{| ancestor: LValAncestor |}>(\n ({ ancestor }) =>\n `Binding invalid left-hand side in ${toNodeDescription(ancestor)}.`,\n ),\n InvalidNumber: _(\"Invalid number.\"),\n InvalidOrMissingExponent: _(\n \"Floating-point numbers require a valid exponent after the 'e'.\",\n ),\n InvalidOrUnexpectedToken: _<{| unexpected: string |}>(\n ({ unexpected }) => `Unexpected character '${unexpected}'.`,\n ),\n InvalidParenthesizedAssignment: _(\n \"Invalid parenthesized assignment pattern.\",\n ),\n InvalidPrivateFieldResolution: _<{| identifierName: string |}>(\n ({ identifierName }) => `Private name #${identifierName} is not defined.`,\n ),\n InvalidPropertyBindingPattern: _(\"Binding member expression.\"),\n InvalidRecordProperty: _(\n \"Only properties and spread elements are allowed in record definitions.\",\n ),\n InvalidRestAssignmentPattern: _(\"Invalid rest operator's argument.\"),\n LabelRedeclaration: _<{| labelName: string |}>(\n ({ labelName }) => `Label '${labelName}' is already declared.`,\n ),\n LetInLexicalBinding: _(\n \"'let' is not allowed to be used as a name in 'let' or 'const' declarations.\",\n ),\n LineTerminatorBeforeArrow: _(\"No line break is allowed before '=>'.\"),\n MalformedRegExpFlags: _(\"Invalid regular expression flag.\"),\n MissingClassName: _(\"A class name is required.\"),\n MissingEqInAssignment: _(\n \"Only '=' operator can be used for specifying default value.\",\n ),\n MissingSemicolon: _(\"Missing semicolon.\"),\n MissingPlugin: _<{| missingPlugin: [string] |}>(\n ({ missingPlugin }) =>\n `This experimental syntax requires enabling the parser plugin: ${missingPlugin\n .map(name => JSON.stringify(name))\n .join(\", \")}.`,\n ),\n // FIXME: Would be nice to make this \"missingPlugins\" instead.\n // Also), seems like we can drop the \"(s)\" from the message and just make it \"s\".\n MissingOneOfPlugins: _<{| missingPlugin: string[] |}>(\n ({ missingPlugin }) =>\n `This experimental syntax requires enabling one of the following parser plugin(s): ${missingPlugin\n .map(name => JSON.stringify(name))\n .join(\", \")}.`,\n ),\n MissingUnicodeEscape: _(\"Expecting Unicode escape sequence \\\\uXXXX.\"),\n MixingCoalesceWithLogical: _(\n \"Nullish coalescing operator(??) requires parens when mixing with logical operators.\",\n ),\n ModuleAttributeDifferentFromType: _(\n \"The only accepted module attribute is `type`.\",\n ),\n ModuleAttributeInvalidValue: _(\n \"Only string literals are allowed as module attribute values.\",\n ),\n ModuleAttributesWithDuplicateKeys: _<{| key: string |}>(\n ({ key }) => `Duplicate key \"${key}\" is not allowed in module attributes.`,\n ),\n ModuleExportNameHasLoneSurrogate: _<{| surrogateCharCode: number |}>(\n ({ surrogateCharCode }) =>\n `An export name cannot include a lone surrogate, found '\\\\u${surrogateCharCode.toString(\n 16,\n )}'.`,\n ),\n ModuleExportUndefined: _<{| localName: string |}>(\n ({ localName }) => `Export '${localName}' is not defined.`,\n ),\n MultipleDefaultsInSwitch: _(\"Multiple default clauses.\"),\n NewlineAfterThrow: _(\"Illegal newline after throw.\"),\n NoCatchOrFinally: _(\"Missing catch or finally clause.\"),\n NumberIdentifier: _(\"Identifier directly after number.\"),\n NumericSeparatorInEscapeSequence: _(\n \"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.\",\n ),\n ObsoleteAwaitStar: _(\n \"'await*' has been removed from the async functions proposal. Use Promise.all() instead.\",\n ),\n OptionalChainingNoNew: _(\n \"Constructors in/after an Optional Chain are not allowed.\",\n ),\n OptionalChainingNoTemplate: _(\n \"Tagged Template Literals are not allowed in optionalChain.\",\n ),\n OverrideOnConstructor: _(\n \"'override' modifier cannot appear on a constructor declaration.\",\n ),\n ParamDupe: _(\"Argument name clash.\"),\n PatternHasAccessor: _(\"Object pattern can't contain getter or setter.\"),\n PatternHasMethod: _(\"Object pattern can't contain methods.\"),\n PrivateInExpectedIn: _<{| identifierName: string |}>(\n ({ identifierName }) =>\n `Private names are only allowed in property accesses (\\`obj.#${identifierName}\\`) or in \\`in\\` expressions (\\`#${identifierName} in obj\\`).`,\n ),\n PrivateNameRedeclaration: _<{| identifierName: string |}>(\n ({ identifierName }) => `Duplicate private name #${identifierName}.`,\n ),\n RecordExpressionBarIncorrectEndSyntaxType: _(\n \"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n ),\n RecordExpressionBarIncorrectStartSyntaxType: _(\n \"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n ),\n RecordExpressionHashIncorrectStartSyntaxType: _(\n \"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n ),\n RecordNoProto: _(\"'__proto__' is not allowed in Record expressions.\"),\n RestTrailingComma: _(\"Unexpected trailing comma after rest element.\"),\n SloppyFunction: _(\n \"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.\",\n ),\n StaticPrototype: _(\"Classes may not have static property named prototype.\"),\n SuperNotAllowed: _(\n \"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?\",\n ),\n SuperPrivateField: _(\"Private fields can't be accessed on super.\"),\n TrailingDecorator: _(\"Decorators must be attached to a class element.\"),\n TupleExpressionBarIncorrectEndSyntaxType: _(\n \"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n ),\n TupleExpressionBarIncorrectStartSyntaxType: _(\n \"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.\",\n ),\n TupleExpressionHashIncorrectStartSyntaxType: _(\n \"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.\",\n ),\n UnexpectedArgumentPlaceholder: _(\"Unexpected argument placeholder.\"),\n UnexpectedAwaitAfterPipelineBody: _(\n 'Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal.',\n ),\n UnexpectedDigitAfterHash: _(\"Unexpected digit after hash token.\"),\n UnexpectedImportExport: _(\n \"'import' and 'export' may only appear at the top level.\",\n ),\n UnexpectedKeyword: _<{| keyword: string |}>(\n ({ keyword }) => `Unexpected keyword '${keyword}'.`,\n ),\n UnexpectedLeadingDecorator: _(\n \"Leading decorators must be attached to a class declaration.\",\n ),\n UnexpectedLexicalDeclaration: _(\n \"Lexical declaration cannot appear in a single-statement context.\",\n ),\n UnexpectedNewTarget: _(\n \"`new.target` can only be used in functions or class properties.\",\n ),\n UnexpectedNumericSeparator: _(\n \"A numeric separator is only allowed between two digits.\",\n ),\n UnexpectedPrivateField: _(\"Unexpected private name.\"),\n UnexpectedReservedWord: _<{| reservedWord: string |}>(\n ({ reservedWord }) => `Unexpected reserved word '${reservedWord}'.`,\n ),\n UnexpectedSuper: _(\"'super' is only allowed in object methods and classes.\"),\n UnexpectedToken: _<{|\n expected?: ?string,\n unexpected?: ?string,\n |}>(\n ({ expected, unexpected }) =>\n `Unexpected token${unexpected ? ` '${unexpected}'.` : \"\"}${\n expected ? `, expected \"${expected}\"` : \"\"\n }`,\n ),\n UnexpectedTokenUnaryExponentiation: _(\n \"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\",\n ),\n UnsupportedBind: _(\"Binding should be performed on object property.\"),\n UnsupportedDecoratorExport: _(\n \"A decorated export must export a class declaration.\",\n ),\n UnsupportedDefaultExport: _(\n \"Only expressions, functions or classes are allowed as the `default` export.\",\n ),\n UnsupportedImport: _(\n \"`import` can only be used in `import()` or `import.meta`.\",\n ),\n UnsupportedMetaProperty: _<{|\n target: string,\n onlyValidPropertyName: string,\n |}>(\n ({ target, onlyValidPropertyName }) =>\n `The only valid meta property for ${target} is ${target}.${onlyValidPropertyName}.`,\n ),\n UnsupportedParameterDecorator: _(\n \"Decorators cannot be used to decorate parameters.\",\n ),\n UnsupportedPropertyDecorator: _(\n \"Decorators cannot be used to decorate object literal properties.\",\n ),\n UnsupportedSuper: _(\n \"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).\",\n ),\n UnterminatedComment: _(\"Unterminated comment.\"),\n UnterminatedRegExp: _(\"Unterminated regular expression.\"),\n UnterminatedString: _(\"Unterminated string constant.\"),\n UnterminatedTemplate: _(\"Unterminated template.\"),\n VarRedeclaration: _<{| identifierName: string |}>(\n ({ identifierName }) =>\n `Identifier '${identifierName}' has already been declared.`,\n ),\n YieldBindingIdentifier: _(\n \"Can not use 'yield' as identifier inside a generator.\",\n ),\n YieldInParameter: _(\"Yield expression is not allowed in formal parameters.\"),\n ZeroDigitNumericSeparator: _(\n \"Numeric separator can not be used after leading 0.\",\n ),\n});\n","// @flow\n\nimport { toParseErrorCredentials } from \"../parse-error\";\n\nexport default (_: typeof toParseErrorCredentials) => ({\n StrictDelete: _(\"Deleting local variable in strict mode.\"),\n\n // `referenceName` is the StringValue[1] of an IdentifierReference[2], which\n // is represented as just an `Identifier`[3] in the Babel AST.\n // 1. https://tc39.es/ecma262/#sec-static-semantics-stringvalue\n // 2. https://tc39.es/ecma262/#prod-IdentifierReference\n // 3. https://github.com/babel/babel/blob/main/packages/babel-parser/ast/spec.md#identifier\n StrictEvalArguments: _<{| referenceName: string |}>(\n ({ referenceName }) => `Assigning to '${referenceName}' in strict mode.`,\n ),\n // `bindingName` is the StringValue[1] of a BindingIdentifier[2], which is\n // represented as just an `Identifier`[3] in the Babel AST.\n // 1. https://tc39.es/ecma262/#sec-static-semantics-stringvalue\n // 2. https://tc39.es/ecma262/#prod-BindingIdentifier\n // 3. https://github.com/babel/babel/blob/main/packages/babel-parser/ast/spec.md#identifier\n StrictEvalArgumentsBinding: _<{| bindingName: string |}>(\n ({ bindingName }) => `Binding '${bindingName}' in strict mode.`,\n ),\n\n StrictFunction: _(\n \"In strict mode code, functions can only be declared at top level or inside a block.\",\n ),\n StrictNumericEscape: _(\n \"The only valid numeric escape in strict mode is '\\\\0'.\",\n ),\n StrictOctalLiteral: _(\n \"Legacy octal literals are not allowed in strict mode.\",\n ),\n StrictWith: _(\"'with' in strict mode.\"),\n});\n","// @flow\n\nimport { toParseErrorCredentials } from \"../parse-error\";\nimport toNodeDescription from \"./to-node-description\";\n\nexport const UnparenthesizedPipeBodyDescriptions = new Set<string>([\n \"ArrowFunctionExpression\",\n \"AssignmentExpression\",\n \"ConditionalExpression\",\n \"YieldExpression\",\n]);\n\nexport default (_: typeof toParseErrorCredentials) => ({\n // This error is only used by the smart-mix proposal\n PipeBodyIsTighter: _(\n \"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.\",\n ),\n PipeTopicRequiresHackPipes: _(\n 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',\n ),\n PipeTopicUnbound: _(\n \"Topic reference is unbound; it must be inside a pipe body.\",\n ),\n PipeTopicUnconfiguredToken: _<{| token: string |}>(\n ({ token }) =>\n `Invalid topic token ${token}. In order to use ${token} as a topic reference, the pipelineOperator plugin must be configured with { \"proposal\": \"hack\", \"topicToken\": \"${token}\" }.`,\n ),\n PipeTopicUnused: _(\n \"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.\",\n ),\n PipeUnparenthesizedBody: _<{| type: string |}>(\n ({ type }) =>\n `Hack-style pipe body cannot be an unparenthesized ${toNodeDescription({\n type,\n })}; please wrap it in parentheses.`,\n ),\n\n // Messages whose codes start with “Pipeline” or “PrimaryTopic”\n // are retained for backwards compatibility\n // with the deprecated smart-mix pipe operator proposal plugin.\n // They are subject to removal in a future major version.\n PipelineBodyNoArrow: _(\n 'Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized.',\n ),\n PipelineBodySequenceExpression: _(\n \"Pipeline body may not be a comma-separated sequence expression.\",\n ),\n PipelineHeadSequenceExpression: _(\n \"Pipeline head should not be a comma-separated sequence expression.\",\n ),\n PipelineTopicUnused: _(\n \"Pipeline is in topic style but does not use topic reference.\",\n ),\n PrimaryTopicNotAllowed: _(\n \"Topic reference was used in a lexical context without topic binding.\",\n ),\n PrimaryTopicRequiresSmartPipeline: _(\n 'Topic reference is used, but the pipelineOperator plugin was not passed a \"proposal\": \"hack\" or \"smart\" option.',\n ),\n});\n","// @flow\n\nimport { Position } from \"./util/location\";\nimport type { NodeBase } from \"./types\";\nimport {\n instantiate,\n type ParseErrorCode,\n ParseErrorCodes,\n type ParseErrorCredentials,\n} from \"./parse-error/credentials\";\n\n// Babel uses \"normal\" SyntaxErrors for it's errors, but adds some extra\n// functionality. This functionality is defined in the\n// `ParseErrorSpecification` interface below. We may choose to change to someday\n// give our errors their own full-blown class, but until then this allow us to\n// keep all the desirable properties of SyntaxErrors (like their name in stack\n// traces, etc.), and also allows us to punt on any publicly facing\n// class-hierarchy decisions until Babel 8.\ninterface ParseErrorSpecification<ErrorDetails> {\n // Look, these *could* be readonly, but then Flow complains when we initially\n // set them. We could do a whole dance and make a special interface that's not\n // readonly for when we create the error, then cast it to the readonly\n // interface for public use, but the previous implementation didn't have them\n // as readonly, so let's just not worry about it for now.\n code: ParseErrorCode;\n reasonCode: string;\n syntaxPlugin?: string;\n\n missingPlugin?: string | string[];\n\n loc: Position;\n details: ErrorDetails;\n\n // We should consider removing this as it now just contains the same\n // information as `loc.index`.\n // pos: number;\n}\n\nexport type ParseError<ErrorDetails> = SyntaxError &\n ParseErrorSpecification<ErrorDetails>;\n\n// By `ParseErrorConstructor`, we mean something like the new-less style\n// `ErrorConstructor`[1], since `ParseError`'s are not themselves actually\n// separate classes from `SyntaxError`'s.\n//\n// 1. https://github.com/microsoft/TypeScript/blob/v4.5.5/lib/lib.es5.d.ts#L1027\nexport type ParseErrorConstructor<ErrorDetails> = ({\n loc: Position,\n details: ErrorDetails,\n}) => ParseError<ErrorDetails>;\n\nfunction toParseErrorConstructor<ErrorDetails: Object>({\n toMessage,\n ...properties\n}: ParseErrorCredentials<ErrorDetails>): ParseErrorConstructor<ErrorDetails> {\n type ConstructorArgument = { loc: Position, details: ErrorDetails };\n return function constructor({ loc, details }: ConstructorArgument) {\n return instantiate<ParseError<ErrorDetails>>(\n SyntaxError,\n { ...properties, loc },\n {\n clone(overrides: { loc?: Position, details?: ErrorDetails } = {}) {\n const loc = overrides.loc || {};\n return constructor({\n loc: new Position(\n \"line\" in loc ? loc.line : this.loc.line,\n \"column\" in loc ? loc.column : this.loc.column,\n \"index\" in loc ? loc.index : this.loc.index,\n ),\n details: { ...this.details, ...overrides.details },\n });\n },\n details: { value: details, enumerable: false },\n message: {\n get() {\n return `${toMessage(this.details)} (${this.loc.line}:${\n this.loc.column\n })`;\n },\n set(value: string) {\n Object.defineProperty(this, \"message\", { value });\n },\n },\n pos: { reflect: \"loc.index\", enumerable: true },\n missingPlugin: \"missingPlugin\" in details && {\n reflect: \"details.missingPlugin\",\n enumerable: true,\n },\n },\n );\n };\n}\n\n// This part is tricky. You'll probably notice from the name of this function\n// that it is supposed to return `ParseErrorCredentials`, but instead these.\n// declarations seem to instead imply that they return\n// `ParseErrorConstructor<ErrorDetails>` instead. This is because in Flow we\n// can't easily extract parameter types (either from functions, like with\n// Typescript's Parameters<f> utility type, or from generic types either). As\n// such, this function does double duty: packaging up the credentials during\n// its actual runtime operation, but pretending to return the\n// `ParseErrorConstructor<ErrorDetails>` that we won't actually have until later\n// to the type system, avoiding the need to do so with $ObjMap (which doesn't\n// work) in `ParseErrorEnum`. This hack won't be necessary when we switch to\n// Typescript.\ndeclare function toParseErrorCredentials<T: string>(\n T,\n ?{ code?: ParseErrorCode, reasonCode?: string } | boolean,\n): ParseErrorConstructor<{||}>;\n\n// ESLint seems to erroneously think that Flow's overloading syntax is an\n// accidental redeclaration of the function:\n// https://github.com/babel/eslint-plugin-babel/issues/162\n// eslint-disable-next-line no-redeclare\ndeclare function toParseErrorCredentials<ErrorDetails>(\n (ErrorDetails) => string,\n ?{ code?: ParseErrorCode, reasonCode?: string } | boolean,\n): ParseErrorConstructor<ErrorDetails>;\n\n// See comment about eslint and Flow overloading above.\n// eslint-disable-next-line no-redeclare\nexport function toParseErrorCredentials(toMessageOrMessage, credentials) {\n return {\n toMessage:\n typeof toMessageOrMessage === \"string\"\n ? () => toMessageOrMessage\n : toMessageOrMessage,\n ...credentials,\n };\n}\n\n// This is the templated form.\ndeclare function ParseErrorEnum(string[]): typeof ParseErrorEnum;\n\n// See comment about eslint and Flow overloading above.\n// eslint-disable-next-line no-redeclare\ndeclare function ParseErrorEnum<T>(\n toParseErrorCredentials: (typeof toParseErrorCredentials) => T,\n syntaxPlugin?: string,\n): T;\n\n// You call `ParseErrorEnum` with a mapping from `ReasonCode`'s to either error\n// messages, or `toMessage` functions that define additional necessary `details`\n// needed by the `ParseError`:\n//\n// ParseErrorEnum`optionalSyntaxPlugin` (_ => ({\n// ErrorWithStaticMessage: _(\"message\"),\n// ErrorWithDynamicMessage: _<{ type: string }>(({ type }) => `${type}`),\n// });\n//\n// See comment about eslint and Flow overloading above.\n// eslint-disable-next-line no-redeclare\nexport function ParseErrorEnum(argument, syntaxPlugin) {\n // If the first parameter is an array, that means we were called with a tagged\n // template literal. Extract the syntaxPlugin from this, and call again in\n // the \"normalized\" form.\n if (Array.isArray(argument)) {\n return toParseErrorCredentialsMap =>\n ParseErrorEnum(toParseErrorCredentialsMap, argument[0]);\n }\n\n const partialCredentials = argument(toParseErrorCredentials);\n const ParseErrorConstructors = {};\n\n for (const reasonCode of Object.keys(partialCredentials)) {\n ParseErrorConstructors[reasonCode] = toParseErrorConstructor({\n code: ParseErrorCodes.SyntaxError,\n reasonCode,\n ...(syntaxPlugin ? { syntaxPlugin } : {}),\n ...partialCredentials[reasonCode],\n });\n }\n\n return ParseErrorConstructors;\n}\n\nexport type RaiseProperties<ErrorDetails> = {|\n ...ErrorDetails,\n at: Position | NodeBase,\n|};\n\nimport ModuleErrors from \"./parse-error/module-errors\";\nimport StandardErrors from \"./parse-error/standard-errors\";\nimport StrictModeErrors from \"./parse-error/strict-mode-errors\";\nimport PipelineOperatorErrors from \"./parse-error/pipeline-operator-errors\";\n\nexport const Errors = {\n ...ParseErrorEnum(ModuleErrors),\n ...ParseErrorEnum(StandardErrors),\n ...ParseErrorEnum(StrictModeErrors),\n ...ParseErrorEnum`pipelineOperator`(PipelineOperatorErrors),\n};\n\nexport type { LValAncestor } from \"./parse-error/standard-errors\";\n\nexport * from \"./parse-error/credentials\";\n","// @flow\n\nimport { type TokenType } from \"../tokenizer/types\";\nimport type Parser from \"../parser\";\nimport type { ExpressionErrors } from \"../parser/util\";\nimport * as N from \"../types\";\nimport type { Node as NodeType, NodeBase, File } from \"../types\";\nimport type { Position } from \"../util/location\";\nimport { Errors } from \"../parse-error\";\n\nconst { defineProperty } = Object;\nconst toUnenumerable = (object, key) =>\n defineProperty(object, key, { enumerable: false, value: object[key] });\n\nfunction toESTreeLocation(node: any) {\n node.loc.start && toUnenumerable(node.loc.start, \"index\");\n node.loc.end && toUnenumerable(node.loc.end, \"index\");\n\n return node;\n}\n\nexport default (superClass: Class<Parser>): Class<Parser> =>\n class extends superClass {\n parse(): File {\n const file = toESTreeLocation(super.parse());\n\n if (this.options.tokens) {\n file.tokens = file.tokens.map(toESTreeLocation);\n }\n\n return file;\n }\n\n parseRegExpLiteral({ pattern, flags }): N.Node {\n let regex = null;\n try {\n regex = new RegExp(pattern, flags);\n } catch (e) {\n // In environments that don't support these flags value will\n // be null as the regex can't be represented natively.\n }\n const node = this.estreeParseLiteral<N.EstreeRegExpLiteral>(regex);\n node.regex = { pattern, flags };\n\n return node;\n }\n\n parseBigIntLiteral(value: any): N.Node {\n // https://github.com/estree/estree/blob/master/es2020.md#bigintliteral\n let bigInt;\n try {\n // $FlowIgnore\n bigInt = BigInt(value);\n } catch {\n bigInt = null;\n }\n const node = this.estreeParseLiteral<N.EstreeBigIntLiteral>(bigInt);\n node.bigint = String(node.value || value);\n\n return node;\n }\n\n parseDecimalLiteral(value: any): N.Node {\n // https://github.com/estree/estree/blob/master/experimental/decimal.md\n // todo: use BigDecimal when node supports it.\n const decimal = null;\n const node = this.estreeParseLiteral(decimal);\n node.decimal = String(node.value || value);\n\n return node;\n }\n\n estreeParseLiteral<T: N.Node>(value: any) {\n return this.parseLiteral<T>(value, \"Literal\");\n }\n\n parseStringLiteral(value: any): N.Node {\n return this.estreeParseLiteral(value);\n }\n\n parseNumericLiteral(value: any): any {\n return this.estreeParseLiteral(value);\n }\n\n parseNullLiteral(): N.Node {\n return this.estreeParseLiteral(null);\n }\n\n parseBooleanLiteral(value: boolean): N.BooleanLiteral {\n return this.estreeParseLiteral(value);\n }\n\n directiveToStmt(directive: N.Directive): N.ExpressionStatement {\n const directiveLiteral = directive.value;\n\n const stmt = this.startNodeAt(directive.start, directive.loc.start);\n const expression = this.startNodeAt(\n directiveLiteral.start,\n directiveLiteral.loc.start,\n );\n\n expression.value = directiveLiteral.extra.expressionValue;\n expression.raw = directiveLiteral.extra.raw;\n\n stmt.expression = this.finishNodeAt(\n expression,\n \"Literal\",\n directiveLiteral.loc.end,\n );\n stmt.directive = directiveLiteral.extra.raw.slice(1, -1);\n\n return this.finishNodeAt(stmt, \"ExpressionStatement\", directive.loc.end);\n }\n\n // ==================================\n // Overrides\n // ==================================\n\n initFunction(\n node: N.BodilessFunctionOrMethodBase,\n isAsync: ?boolean,\n ): void {\n super.initFunction(node, isAsync);\n node.expression = false;\n }\n\n checkDeclaration(node: N.Pattern | N.ObjectProperty): void {\n if (node != null && this.isObjectProperty(node)) {\n this.checkDeclaration(((node: any): N.EstreeProperty).value);\n } else {\n super.checkDeclaration(node);\n }\n }\n\n getObjectOrClassMethodParams(method: N.ObjectMethod | N.ClassMethod) {\n return ((method: any): N.EstreeProperty | N.EstreeMethodDefinition).value\n .params;\n }\n\n isValidDirective(stmt: N.Statement): boolean {\n return (\n stmt.type === \"ExpressionStatement\" &&\n stmt.expression.type === \"Literal\" &&\n typeof stmt.expression.value === \"string\" &&\n !stmt.expression.extra?.parenthesized\n );\n }\n\n parseBlockBody(\n node: N.BlockStatementLike,\n ...args: [?boolean, boolean, TokenType, void | (boolean => void)]\n ): void {\n super.parseBlockBody(node, ...args);\n\n const directiveStatements = node.directives.map(d =>\n this.directiveToStmt(d),\n );\n node.body = directiveStatements.concat(node.body);\n // $FlowIgnore - directives isn't optional in the type definition\n delete node.directives;\n }\n\n pushClassMethod(\n classBody: N.ClassBody,\n method: N.ClassMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowsDirectSuper: boolean,\n ): void {\n this.parseMethod(\n method,\n isGenerator,\n isAsync,\n isConstructor,\n allowsDirectSuper,\n \"ClassMethod\",\n true,\n );\n if (method.typeParameters) {\n // $FlowIgnore\n method.value.typeParameters = method.typeParameters;\n delete method.typeParameters;\n }\n classBody.body.push(method);\n }\n\n parsePrivateName(): any {\n const node = super.parsePrivateName();\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return node;\n }\n }\n return this.convertPrivateNameToPrivateIdentifier(node);\n }\n\n convertPrivateNameToPrivateIdentifier(\n node: N.PrivateName,\n ): N.EstreePrivateIdentifier {\n const name = super.getPrivateNameSV(node);\n node = (node: any);\n delete node.id;\n node.name = name;\n node.type = \"PrivateIdentifier\";\n return node;\n }\n\n isPrivateName(node: N.Node): boolean {\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.isPrivateName(node);\n }\n }\n return node.type === \"PrivateIdentifier\";\n }\n\n getPrivateNameSV(node: N.Node): string {\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return super.getPrivateNameSV(node);\n }\n }\n return node.name;\n }\n\n parseLiteral<T: N.Node>(value: any, type: $ElementType<T, \"type\">): T {\n const node = super.parseLiteral<T>(value, type);\n node.raw = node.extra.raw;\n delete node.extra;\n\n return node;\n }\n\n parseFunctionBody(\n node: N.Function,\n allowExpression: ?boolean,\n isMethod?: boolean = false,\n ): void {\n super.parseFunctionBody(node, allowExpression, isMethod);\n node.expression = node.body.type !== \"BlockStatement\";\n }\n\n parseMethod<T: N.MethodLike>(\n node: T,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowDirectSuper: boolean,\n type: string,\n inClassScope: boolean = false,\n ): T {\n let funcNode = this.startNode();\n funcNode.kind = node.kind; // provide kind, so super method correctly sets state\n funcNode = super.parseMethod(\n funcNode,\n isGenerator,\n isAsync,\n isConstructor,\n allowDirectSuper,\n type,\n inClassScope,\n );\n funcNode.type = \"FunctionExpression\";\n delete funcNode.kind;\n // $FlowIgnore\n node.value = funcNode;\n if (type === \"ClassPrivateMethod\") {\n // $FlowIgnore\n node.computed = false;\n }\n type = \"MethodDefinition\";\n return this.finishNode(node, type);\n }\n\n parseClassProperty(...args: [N.ClassProperty]): any {\n const propertyNode = (super.parseClassProperty(...args): any);\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return (propertyNode: N.EstreePropertyDefinition);\n }\n }\n propertyNode.type = \"PropertyDefinition\";\n return (propertyNode: N.EstreePropertyDefinition);\n }\n\n parseClassPrivateProperty(...args: [N.ClassPrivateProperty]): any {\n const propertyNode = (super.parseClassPrivateProperty(...args): any);\n if (!process.env.BABEL_8_BREAKING) {\n if (!this.getPluginOption(\"estree\", \"classFeatures\")) {\n return (propertyNode: N.EstreePropertyDefinition);\n }\n }\n propertyNode.type = \"PropertyDefinition\";\n propertyNode.computed = false;\n return (propertyNode: N.EstreePropertyDefinition);\n }\n\n parseObjectMethod(\n prop: N.ObjectMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isPattern: boolean,\n isAccessor: boolean,\n ): ?N.ObjectMethod {\n const node: N.EstreeProperty = (super.parseObjectMethod(\n prop,\n isGenerator,\n isAsync,\n isPattern,\n isAccessor,\n ): any);\n\n if (node) {\n node.type = \"Property\";\n if (((node: any): N.ClassMethod).kind === \"method\") node.kind = \"init\";\n node.shorthand = false;\n }\n\n return (node: any);\n }\n\n parseObjectProperty(\n prop: N.ObjectProperty,\n startPos: ?number,\n startLoc: ?Position,\n isPattern: boolean,\n refExpressionErrors: ?ExpressionErrors,\n ): ?N.ObjectProperty {\n const node: N.EstreeProperty = (super.parseObjectProperty(\n prop,\n startPos,\n startLoc,\n isPattern,\n refExpressionErrors,\n ): any);\n\n if (node) {\n node.kind = \"init\";\n node.type = \"Property\";\n }\n\n return (node: any);\n }\n\n isValidLVal(type: string, ...rest) {\n return type === \"Property\" ? \"value\" : super.isValidLVal(type, ...rest);\n }\n\n isAssignable(node: N.Node, isBinding?: boolean): boolean {\n if (node != null && this.isObjectProperty(node)) {\n return this.isAssignable(node.value, isBinding);\n }\n return super.isAssignable(node, isBinding);\n }\n\n toAssignable(node: N.Node, isLHS: boolean = false): void {\n if (node != null && this.isObjectProperty(node)) {\n const { key, value } = node;\n if (this.isPrivateName(key)) {\n this.classScope.usePrivateName(\n this.getPrivateNameSV(key),\n key.loc.start,\n );\n }\n this.toAssignable(value, isLHS);\n } else {\n super.toAssignable(node, isLHS);\n }\n }\n\n toAssignableObjectExpressionProp(prop: N.Node) {\n if (prop.kind === \"get\" || prop.kind === \"set\") {\n this.raise(Errors.PatternHasAccessor, { at: prop.key });\n } else if (prop.method) {\n this.raise(Errors.PatternHasMethod, { at: prop.key });\n } else {\n super.toAssignableObjectExpressionProp(...arguments);\n }\n }\n\n finishCallExpression<T: N.CallExpression | N.OptionalCallExpression>(\n node: T,\n optional: boolean,\n ): N.Expression {\n super.finishCallExpression(node, optional);\n\n if (node.callee.type === \"Import\") {\n ((node: N.Node): N.EstreeImportExpression).type = \"ImportExpression\";\n ((node: N.Node): N.EstreeImportExpression).source = node.arguments[0];\n if (this.hasPlugin(\"importAssertions\")) {\n ((node: N.Node): N.EstreeImportExpression).attributes =\n node.arguments[1] ?? null;\n }\n // $FlowIgnore - arguments isn't optional in the type definition\n delete node.arguments;\n // $FlowIgnore - callee isn't optional in the type definition\n delete node.callee;\n }\n\n return node;\n }\n\n toReferencedArguments(\n node:\n | N.CallExpression\n | N.OptionalCallExpression\n | N.EstreeImportExpression,\n /* isParenthesizedExpr?: boolean, */\n ) {\n // ImportExpressions do not have an arguments array.\n if (node.type === \"ImportExpression\") {\n return;\n }\n\n super.toReferencedArguments(node);\n }\n\n parseExport(node: N.Node) {\n super.parseExport(node);\n\n switch (node.type) {\n case \"ExportAllDeclaration\":\n node.exported = null;\n break;\n\n case \"ExportNamedDeclaration\":\n if (\n node.specifiers.length === 1 &&\n node.specifiers[0].type === \"ExportNamespaceSpecifier\"\n ) {\n node.type = \"ExportAllDeclaration\";\n node.exported = node.specifiers[0].exported;\n delete node.specifiers;\n }\n\n break;\n }\n\n return node;\n }\n\n parseSubscript(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n noCalls: ?boolean,\n state: N.ParseSubscriptState,\n ) {\n const node = super.parseSubscript(\n base,\n startPos,\n startLoc,\n noCalls,\n state,\n );\n\n if (state.optionalChainMember) {\n // https://github.com/estree/estree/blob/master/es2020.md#chainexpression\n if (\n node.type === \"OptionalMemberExpression\" ||\n node.type === \"OptionalCallExpression\"\n ) {\n node.type = node.type.substring(8); // strip Optional prefix\n }\n if (state.stop) {\n const chain = this.startNodeAtNode(node);\n chain.expression = node;\n return this.finishNode(chain, \"ChainExpression\");\n }\n } else if (\n node.type === \"MemberExpression\" ||\n node.type === \"CallExpression\"\n ) {\n node.optional = false;\n }\n\n return node;\n }\n\n hasPropertyAsPrivateName(node: N.Node): boolean {\n if (node.type === \"ChainExpression\") {\n node = node.expression;\n }\n return super.hasPropertyAsPrivateName(node);\n }\n\n isOptionalChain(node: N.Node): boolean {\n return node.type === \"ChainExpression\";\n }\n\n isObjectProperty(node: N.Node): boolean {\n return node.type === \"Property\" && node.kind === \"init\" && !node.method;\n }\n\n isObjectMethod(node: N.Node): boolean {\n return node.method || node.kind === \"get\" || node.kind === \"set\";\n }\n\n finishNodeAt<T: NodeType>(node: T, type: string, endLoc: Position): T {\n return toESTreeLocation(super.finishNodeAt(node, type, endLoc));\n }\n\n resetStartLocation(node: N.Node, start: number, startLoc: Position) {\n super.resetStartLocation(node, start, startLoc);\n toESTreeLocation(node);\n }\n\n resetEndLocation(\n node: NodeBase,\n endLoc?: Position = this.state.lastTokEndLoc,\n ): void {\n super.resetEndLocation(node, endLoc);\n toESTreeLocation(node);\n }\n };\n","// @flow\n\n// The token context is used in JSX plugin to track\n// jsx tag / jsx text / normal JavaScript expression\n\nexport class TokContext {\n constructor(token: string, preserveSpace?: boolean) {\n this.token = token;\n this.preserveSpace = !!preserveSpace;\n }\n\n token: string;\n preserveSpace: boolean;\n}\n\nconst types: {\n [key: string]: TokContext,\n} = {\n brace: new TokContext(\"{\"), // normal JavaScript expression\n j_oTag: new TokContext(\"<tag\"), // JSX opening tag\n j_cTag: new TokContext(\"</tag\"), // JSX closing tag\n j_expr: new TokContext(\"<tag>...</tag>\", true), // JSX expressions\n};\n\nif (!process.env.BABEL_8_BREAKING) {\n types.template = new TokContext(\"`\", true);\n}\n\nexport { types };\n","// @flow\nimport { types as tc, type TokContext } from \"./context\";\n// ## Token types\n\n// The assignment of fine-grained, information-carrying type objects\n// allows the tokenizer to store the information it has about a\n// token in a way that is very cheap for the parser to look up.\n\n// All token type variables start with an underscore, to make them\n// easy to recognize.\n\n// The `beforeExpr` property is used to disambiguate between 1) binary\n// expression (<) and JSX Tag start (<name>); 2) object literal and JSX\n// texts. It is set on the `updateContext` function in the JSX plugin.\n\n// The `startsExpr` property is used to determine whether an expression\n// may be the “argument” subexpression of a `yield` expression or\n// `yield` statement. It is set on all token types that may be at the\n// start of a subexpression.\n\n// `isLoop` marks a keyword as starting a loop, which is important\n// to know when parsing a label, in order to allow or disallow\n// continue jumps to that label.\n\nconst beforeExpr = true;\nconst startsExpr = true;\nconst isLoop = true;\nconst isAssign = true;\nconst prefix = true;\nconst postfix = true;\n\ntype TokenOptions = {\n keyword?: string,\n beforeExpr?: boolean,\n startsExpr?: boolean,\n rightAssociative?: boolean,\n isLoop?: boolean,\n isAssign?: boolean,\n prefix?: boolean,\n postfix?: boolean,\n binop?: ?number,\n};\n\n// Internally the tokenizer stores token as a number\nexport opaque type TokenType = number;\n\n// The `ExportedTokenType` is exported via `tokTypes` and accessible\n// when `tokens: true` is enabled. Unlike internal token type, it provides\n// metadata of the tokens.\nexport class ExportedTokenType {\n label: string;\n keyword: ?string;\n beforeExpr: boolean;\n startsExpr: boolean;\n rightAssociative: boolean;\n isLoop: boolean;\n isAssign: boolean;\n prefix: boolean;\n postfix: boolean;\n binop: ?number;\n // todo(Babel 8): remove updateContext from exposed token layout\n declare updateContext: ?(context: Array<TokContext>) => void;\n\n constructor(label: string, conf: TokenOptions = {}) {\n this.label = label;\n this.keyword = conf.keyword;\n this.beforeExpr = !!conf.beforeExpr;\n this.startsExpr = !!conf.startsExpr;\n this.rightAssociative = !!conf.rightAssociative;\n this.isLoop = !!conf.isLoop;\n this.isAssign = !!conf.isAssign;\n this.prefix = !!conf.prefix;\n this.postfix = !!conf.postfix;\n this.binop = conf.binop != null ? conf.binop : null;\n if (!process.env.BABEL_8_BREAKING) {\n this.updateContext = null;\n }\n }\n}\n\n// A map from keyword/keyword-like string value to the token type\nexport const keywords = new Map<string, TokenType>();\n\nfunction createKeyword(name: string, options: TokenOptions = {}): TokenType {\n options.keyword = name;\n const token = createToken(name, options);\n keywords.set(name, token);\n return token;\n}\n\nfunction createBinop(name: string, binop: number) {\n return createToken(name, { beforeExpr, binop });\n}\n\nlet tokenTypeCounter = -1;\nexport const tokenTypes: ExportedTokenType[] = [];\nconst tokenLabels: string[] = [];\nconst tokenBinops: number[] = [];\nconst tokenBeforeExprs: boolean[] = [];\nconst tokenStartsExprs: boolean[] = [];\nconst tokenPrefixes: boolean[] = [];\n\nfunction createToken(name: string, options: TokenOptions = {}): TokenType {\n ++tokenTypeCounter;\n tokenLabels.push(name);\n tokenBinops.push(options.binop ?? -1);\n tokenBeforeExprs.push(options.beforeExpr ?? false);\n tokenStartsExprs.push(options.startsExpr ?? false);\n tokenPrefixes.push(options.prefix ?? false);\n tokenTypes.push(new ExportedTokenType(name, options));\n\n return tokenTypeCounter;\n}\n\nfunction createKeywordLike(\n name: string,\n options: TokenOptions = {},\n): TokenType {\n ++tokenTypeCounter;\n keywords.set(name, tokenTypeCounter);\n tokenLabels.push(name);\n tokenBinops.push(options.binop ?? -1);\n tokenBeforeExprs.push(options.beforeExpr ?? false);\n tokenStartsExprs.push(options.startsExpr ?? false);\n tokenPrefixes.push(options.prefix ?? false);\n // In the exported token type, we set the label as \"name\" for backward compatibility with Babel 7\n tokenTypes.push(new ExportedTokenType(\"name\", options));\n\n return tokenTypeCounter;\n}\n\n// For performance the token type helpers depend on the following declarations order.\n// When adding new token types, please also check if the token helpers need update.\n\nexport const tt: { [name: string]: TokenType } = {\n // Punctuation token types.\n bracketL: createToken(\"[\", { beforeExpr, startsExpr }),\n bracketHashL: createToken(\"#[\", { beforeExpr, startsExpr }),\n bracketBarL: createToken(\"[|\", { beforeExpr, startsExpr }),\n bracketR: createToken(\"]\"),\n bracketBarR: createToken(\"|]\"),\n braceL: createToken(\"{\", { beforeExpr, startsExpr }),\n braceBarL: createToken(\"{|\", { beforeExpr, startsExpr }),\n braceHashL: createToken(\"#{\", { beforeExpr, startsExpr }),\n braceR: createToken(\"}\"),\n braceBarR: createToken(\"|}\"),\n parenL: createToken(\"(\", { beforeExpr, startsExpr }),\n parenR: createToken(\")\"),\n comma: createToken(\",\", { beforeExpr }),\n semi: createToken(\";\", { beforeExpr }),\n colon: createToken(\":\", { beforeExpr }),\n doubleColon: createToken(\"::\", { beforeExpr }),\n dot: createToken(\".\"),\n question: createToken(\"?\", { beforeExpr }),\n questionDot: createToken(\"?.\"),\n arrow: createToken(\"=>\", { beforeExpr }),\n template: createToken(\"template\"),\n ellipsis: createToken(\"...\", { beforeExpr }),\n backQuote: createToken(\"`\", { startsExpr }),\n dollarBraceL: createToken(\"${\", { beforeExpr, startsExpr }),\n // start: isTemplate\n templateTail: createToken(\"...`\", { startsExpr }),\n templateNonTail: createToken(\"...${\", { beforeExpr, startsExpr }),\n // end: isTemplate\n at: createToken(\"@\"),\n hash: createToken(\"#\", { startsExpr }),\n\n // Special hashbang token.\n interpreterDirective: createToken(\"#!...\"),\n\n // Operators. These carry several kinds of properties to help the\n // parser use them properly (the presence of these properties is\n // what categorizes them as operators).\n //\n // `binop`, when present, specifies that this operator is a binary\n // operator, and will refer to its precedence.\n //\n // `prefix` and `postfix` mark the operator as a prefix or postfix\n // unary operator.\n //\n // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as\n // binary operators with a very low precedence, that should result\n // in AssignmentExpression nodes.\n\n // start: isAssign\n eq: createToken(\"=\", { beforeExpr, isAssign }),\n assign: createToken(\"_=\", { beforeExpr, isAssign }),\n slashAssign: createToken(\"_=\", { beforeExpr, isAssign }),\n // These are only needed to support % and ^ as a Hack-pipe topic token.\n // When the proposal settles on a token, the others can be merged with\n // tt.assign.\n xorAssign: createToken(\"_=\", { beforeExpr, isAssign }),\n moduloAssign: createToken(\"_=\", { beforeExpr, isAssign }),\n // end: isAssign\n\n incDec: createToken(\"++/--\", { prefix, postfix, startsExpr }),\n bang: createToken(\"!\", { beforeExpr, prefix, startsExpr }),\n tilde: createToken(\"~\", { beforeExpr, prefix, startsExpr }),\n\n // More possible topic tokens.\n // When the proposal settles on a token, at least one of these may be removed.\n doubleCaret: createToken(\"^^\", { startsExpr }),\n doubleAt: createToken(\"@@\", { startsExpr }),\n\n // start: isBinop\n pipeline: createBinop(\"|>\", 0),\n nullishCoalescing: createBinop(\"??\", 1),\n logicalOR: createBinop(\"||\", 1),\n logicalAND: createBinop(\"&&\", 2),\n bitwiseOR: createBinop(\"|\", 3),\n bitwiseXOR: createBinop(\"^\", 4),\n bitwiseAND: createBinop(\"&\", 5),\n equality: createBinop(\"==/!=/===/!==\", 6),\n lt: createBinop(\"</>/<=/>=\", 7),\n gt: createBinop(\"</>/<=/>=\", 7),\n relational: createBinop(\"</>/<=/>=\", 7),\n bitShift: createBinop(\"<</>>/>>>\", 8),\n bitShiftL: createBinop(\"<</>>/>>>\", 8),\n bitShiftR: createBinop(\"<</>>/>>>\", 8),\n plusMin: createToken(\"+/-\", { beforeExpr, binop: 9, prefix, startsExpr }),\n // startsExpr: required by v8intrinsic plugin\n modulo: createToken(\"%\", { binop: 10, startsExpr }),\n // unset `beforeExpr` as it can be `function *`\n star: createToken(\"*\", { binop: 10 }),\n slash: createBinop(\"/\", 10),\n exponent: createToken(\"**\", {\n beforeExpr,\n binop: 11,\n rightAssociative: true,\n }),\n\n // Keywords\n // Don't forget to update packages/babel-helper-validator-identifier/src/keyword.js\n // when new keywords are added\n // start: isLiteralPropertyName\n // start: isKeyword\n _in: createKeyword(\"in\", { beforeExpr, binop: 7 }),\n _instanceof: createKeyword(\"instanceof\", { beforeExpr, binop: 7 }),\n // end: isBinop\n _break: createKeyword(\"break\"),\n _case: createKeyword(\"case\", { beforeExpr }),\n _catch: createKeyword(\"catch\"),\n _continue: createKeyword(\"continue\"),\n _debugger: createKeyword(\"debugger\"),\n _default: createKeyword(\"default\", { beforeExpr }),\n _else: createKeyword(\"else\", { beforeExpr }),\n _finally: createKeyword(\"finally\"),\n _function: createKeyword(\"function\", { startsExpr }),\n _if: createKeyword(\"if\"),\n _return: createKeyword(\"return\", { beforeExpr }),\n _switch: createKeyword(\"switch\"),\n _throw: createKeyword(\"throw\", { beforeExpr, prefix, startsExpr }),\n _try: createKeyword(\"try\"),\n _var: createKeyword(\"var\"),\n _const: createKeyword(\"const\"),\n _with: createKeyword(\"with\"),\n _new: createKeyword(\"new\", { beforeExpr, startsExpr }),\n _this: createKeyword(\"this\", { startsExpr }),\n _super: createKeyword(\"super\", { startsExpr }),\n _class: createKeyword(\"class\", { startsExpr }),\n _extends: createKeyword(\"extends\", { beforeExpr }),\n _export: createKeyword(\"export\"),\n _import: createKeyword(\"import\", { startsExpr }),\n _null: createKeyword(\"null\", { startsExpr }),\n _true: createKeyword(\"true\", { startsExpr }),\n _false: createKeyword(\"false\", { startsExpr }),\n _typeof: createKeyword(\"typeof\", { beforeExpr, prefix, startsExpr }),\n _void: createKeyword(\"void\", { beforeExpr, prefix, startsExpr }),\n _delete: createKeyword(\"delete\", { beforeExpr, prefix, startsExpr }),\n // start: isLoop\n _do: createKeyword(\"do\", { isLoop, beforeExpr }),\n _for: createKeyword(\"for\", { isLoop }),\n _while: createKeyword(\"while\", { isLoop }),\n // end: isLoop\n // end: isKeyword\n\n // Primary literals\n // start: isIdentifier\n _as: createKeywordLike(\"as\", { startsExpr }),\n _assert: createKeywordLike(\"assert\", { startsExpr }),\n _async: createKeywordLike(\"async\", { startsExpr }),\n _await: createKeywordLike(\"await\", { startsExpr }),\n _from: createKeywordLike(\"from\", { startsExpr }),\n _get: createKeywordLike(\"get\", { startsExpr }),\n _let: createKeywordLike(\"let\", { startsExpr }),\n _meta: createKeywordLike(\"meta\", { startsExpr }),\n _of: createKeywordLike(\"of\", { startsExpr }),\n _sent: createKeywordLike(\"sent\", { startsExpr }),\n _set: createKeywordLike(\"set\", { startsExpr }),\n _static: createKeywordLike(\"static\", { startsExpr }),\n _yield: createKeywordLike(\"yield\", { startsExpr }),\n\n // Flow and TypeScript Keywordlike\n _asserts: createKeywordLike(\"asserts\", { startsExpr }),\n _checks: createKeywordLike(\"checks\", { startsExpr }),\n _exports: createKeywordLike(\"exports\", { startsExpr }),\n _global: createKeywordLike(\"global\", { startsExpr }),\n _implements: createKeywordLike(\"implements\", { startsExpr }),\n _intrinsic: createKeywordLike(\"intrinsic\", { startsExpr }),\n _infer: createKeywordLike(\"infer\", { startsExpr }),\n _is: createKeywordLike(\"is\", { startsExpr }),\n _mixins: createKeywordLike(\"mixins\", { startsExpr }),\n _proto: createKeywordLike(\"proto\", { startsExpr }),\n _require: createKeywordLike(\"require\", { startsExpr }),\n // start: isTSTypeOperator\n _keyof: createKeywordLike(\"keyof\", { startsExpr }),\n _readonly: createKeywordLike(\"readonly\", { startsExpr }),\n _unique: createKeywordLike(\"unique\", { startsExpr }),\n // end: isTSTypeOperator\n // start: isTSDeclarationStart\n _abstract: createKeywordLike(\"abstract\", { startsExpr }),\n _declare: createKeywordLike(\"declare\", { startsExpr }),\n _enum: createKeywordLike(\"enum\", { startsExpr }),\n _module: createKeywordLike(\"module\", { startsExpr }),\n _namespace: createKeywordLike(\"namespace\", { startsExpr }),\n // start: isFlowInterfaceOrTypeOrOpaque\n _interface: createKeywordLike(\"interface\", { startsExpr }),\n _type: createKeywordLike(\"type\", { startsExpr }),\n // end: isTSDeclarationStart\n _opaque: createKeywordLike(\"opaque\", { startsExpr }),\n // end: isFlowInterfaceOrTypeOrOpaque\n name: createToken(\"name\", { startsExpr }),\n // end: isIdentifier\n\n string: createToken(\"string\", { startsExpr }),\n num: createToken(\"num\", { startsExpr }),\n bigint: createToken(\"bigint\", { startsExpr }),\n decimal: createToken(\"decimal\", { startsExpr }),\n // end: isLiteralPropertyName\n regexp: createToken(\"regexp\", { startsExpr }),\n privateName: createToken(\"#name\", { startsExpr }),\n eof: createToken(\"eof\"),\n\n // jsx plugin\n jsxName: createToken(\"jsxName\"),\n jsxText: createToken(\"jsxText\", { beforeExpr: true }),\n jsxTagStart: createToken(\"jsxTagStart\", { startsExpr: true }),\n jsxTagEnd: createToken(\"jsxTagEnd\"),\n\n // placeholder plugin\n placeholder: createToken(\"%%\", { startsExpr: true }),\n};\n\nexport function tokenIsIdentifier(token: TokenType): boolean {\n return token >= tt._as && token <= tt.name;\n}\n\nexport function tokenKeywordOrIdentifierIsKeyword(token: TokenType): boolean {\n // we can remove the token >= tt._in check when we\n // know a token is either keyword or identifier\n return token <= tt._while;\n}\n\nexport function tokenIsKeywordOrIdentifier(token: TokenType): boolean {\n return token >= tt._in && token <= tt.name;\n}\n\nexport function tokenIsLiteralPropertyName(token: TokenType): boolean {\n return token >= tt._in && token <= tt.decimal;\n}\n\nexport function tokenComesBeforeExpression(token: TokenType): boolean {\n return tokenBeforeExprs[token];\n}\n\nexport function tokenCanStartExpression(token: TokenType): boolean {\n return tokenStartsExprs[token];\n}\n\nexport function tokenIsAssignment(token: TokenType): boolean {\n return token >= tt.eq && token <= tt.moduloAssign;\n}\n\nexport function tokenIsFlowInterfaceOrTypeOrOpaque(token: TokenType): boolean {\n return token >= tt._interface && token <= tt._opaque;\n}\n\nexport function tokenIsLoop(token: TokenType): boolean {\n return token >= tt._do && token <= tt._while;\n}\n\nexport function tokenIsKeyword(token: TokenType): boolean {\n return token >= tt._in && token <= tt._while;\n}\n\nexport function tokenIsOperator(token: TokenType): boolean {\n return token >= tt.pipeline && token <= tt._instanceof;\n}\n\nexport function tokenIsPostfix(token: TokenType): boolean {\n return token === tt.incDec;\n}\n\nexport function tokenIsPrefix(token: TokenType): boolean {\n return tokenPrefixes[token];\n}\n\nexport function tokenIsTSTypeOperator(token: TokenType): boolean {\n return token >= tt._keyof && token <= tt._unique;\n}\n\nexport function tokenIsTSDeclarationStart(token: TokenType): boolean {\n return token >= tt._abstract && token <= tt._type;\n}\n\nexport function tokenLabelName(token: TokenType): string {\n return tokenLabels[token];\n}\n\nexport function tokenOperatorPrecedence(token: TokenType): number {\n return tokenBinops[token];\n}\n\nexport function tokenIsBinaryOperator(token: TokenType): boolean {\n return tokenBinops[token] !== -1;\n}\n\nexport function tokenIsRightAssociative(token: TokenType): boolean {\n return token === tt.exponent;\n}\n\nexport function tokenIsTemplate(token: TokenType): boolean {\n return token >= tt.templateTail && token <= tt.templateNonTail;\n}\n\nexport function getExportedToken(token: TokenType): ExportedTokenType {\n return tokenTypes[token];\n}\n\nexport function isTokenType(obj: any): boolean {\n return typeof obj === \"number\";\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n tokenTypes[tt.braceR].updateContext = context => {\n context.pop();\n };\n\n tokenTypes[tt.braceL].updateContext =\n tokenTypes[tt.braceHashL].updateContext =\n tokenTypes[tt.dollarBraceL].updateContext =\n context => {\n context.push(tc.brace);\n };\n\n tokenTypes[tt.backQuote].updateContext = context => {\n if (context[context.length - 1] === tc.template) {\n context.pop();\n } else {\n context.push(tc.template);\n }\n };\n\n tokenTypes[tt.jsxTagStart].updateContext = context => {\n context.push(tc.j_expr, tc.j_oTag);\n };\n}\n","import * as charCodes from \"charcodes\";\n\n// ## Character categories\n\n// Big ugly regular expressions that match characters in the\n// whitespace, identifier, and identifier-start categories. These\n// are only applied when a character is found to actually have a\n// code point between 0x80 and 0xffff.\n// Generated by `scripts/generate-identifier-regex.js`.\n\n/* prettier-ignore */\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c88\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7ca\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7d9\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\n/* prettier-ignore */\nlet nonASCIIidentifierChars = \"\\u200c\\u200d\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0898-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\";\n\nconst nonASCIIidentifierStart = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + \"]\",\n);\nconst nonASCIIidentifier = new RegExp(\n \"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\",\n);\n\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\n\n// These are a run-length and offset-encoded representation of the\n// >0xffff code points that are a valid part of identifiers. The\n// offset starts at 0x10000, and each pair of numbers represents an\n// offset to the next range, and then a size of the range. They were\n// generated by `scripts/generate-identifier-regex.js`.\n/* prettier-ignore */\nconst astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938];\n/* prettier-ignore */\nconst astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];\n\n// This has a complexity linear to the value of the code. The\n// assumption is that looking up astral identifier characters is\n// rare.\nfunction isInAstralSet(code: number, set: readonly number[]): boolean {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\n\n// Test whether a given character code starts an identifier.\n\nexport function isIdentifierStart(code: number): boolean {\n if (code < charCodes.uppercaseA) return code === charCodes.dollarSign;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return (\n code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code))\n );\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\n\n// Test whether a given character is part of an identifier.\n\nexport function isIdentifierChar(code: number): boolean {\n if (code < charCodes.digit0) return code === charCodes.dollarSign;\n if (code < charCodes.colon) return true;\n if (code < charCodes.uppercaseA) return false;\n if (code <= charCodes.uppercaseZ) return true;\n if (code < charCodes.lowercaseA) return code === charCodes.underscore;\n if (code <= charCodes.lowercaseZ) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return (\n isInAstralSet(code, astralIdentifierStartCodes) ||\n isInAstralSet(code, astralIdentifierCodes)\n );\n}\n\n// Test whether a given string is a valid identifier name\n\nexport function isIdentifierName(name: string): boolean {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `name` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n","const reservedWords = {\n keyword: [\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n ],\n strict: [\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n ],\n strictBind: [\"eval\", \"arguments\"],\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\n\n/**\n * Checks if word is a reserved word in non-strict mode\n */\nexport function isReservedWord(word: string, inModule: boolean): boolean {\n return (inModule && word === \"await\") || word === \"enum\";\n}\n\n/**\n * Checks if word is a reserved word in non-binding strict mode\n *\n * Includes non-strict reserved words\n */\nexport function isStrictReservedWord(word: string, inModule: boolean): boolean {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode, but it is allowed as\n * a normal identifier.\n */\nexport function isStrictBindOnlyReservedWord(word: string): boolean {\n return reservedWordsStrictBindSet.has(word);\n}\n\n/**\n * Checks if word is a reserved word in binding strict mode\n *\n * Includes non-strict reserved words and non-binding strict reserved words\n */\nexport function isStrictBindReservedWord(\n word: string,\n inModule: boolean,\n): boolean {\n return (\n isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word)\n );\n}\n\nexport function isKeyword(word: string): boolean {\n return keywords.has(word);\n}\n","/* eslint max-len: 0 */\n\n// @flow\n\nimport * as charCodes from \"charcodes\";\nimport { isIdentifierStart } from \"@babel/helper-validator-identifier\";\n\nexport {\n isIdentifierStart,\n isIdentifierChar,\n isReservedWord,\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\nexport const keywordRelationalOperator = /^in(stanceof)?$/;\n\n// Test whether a current state character code and next character code is @\n\nexport function isIteratorStart(\n current: number,\n next: number,\n next2: number,\n): boolean {\n return (\n current === charCodes.atSign &&\n next === charCodes.atSign &&\n isIdentifierStart(next2)\n );\n}\n\n// This is the comprehensive set of JavaScript reserved words\n// If a word is in this set, it could be a reserved word,\n// depending on sourceType/strictMode/binding info. In other words\n// if a word is not in this set, it is not a reserved word under\n// any circumstance.\nconst reservedWordLikeSet = new Set([\n \"break\",\n \"case\",\n \"catch\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"do\",\n \"else\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"return\",\n \"switch\",\n \"throw\",\n \"try\",\n \"var\",\n \"const\",\n \"while\",\n \"with\",\n \"new\",\n \"this\",\n \"super\",\n \"class\",\n \"extends\",\n \"export\",\n \"import\",\n \"null\",\n \"true\",\n \"false\",\n \"in\",\n \"instanceof\",\n \"typeof\",\n \"void\",\n \"delete\",\n // strict\n \"implements\",\n \"interface\",\n \"let\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"yield\",\n // strictBind\n \"eval\",\n \"arguments\",\n // reservedWorkLike\n \"enum\",\n \"await\",\n]);\n\nexport function canBeReservedWord(word: string): boolean {\n return reservedWordLikeSet.has(word);\n}\n","// @flow\n\n// Each scope gets a bitset that may contain these flags\n// prettier-ignore\nexport const SCOPE_OTHER = 0b000000000,\n SCOPE_PROGRAM = 0b000000001,\n SCOPE_FUNCTION = 0b000000010,\n SCOPE_ARROW = 0b000000100,\n SCOPE_SIMPLE_CATCH = 0b000001000,\n SCOPE_SUPER = 0b000010000,\n SCOPE_DIRECT_SUPER = 0b000100000,\n SCOPE_CLASS = 0b001000000,\n SCOPE_STATIC_BLOCK = 0b010000000,\n SCOPE_TS_MODULE = 0b100000000,\n SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE;\n\nexport type ScopeFlags =\n | typeof SCOPE_OTHER\n | typeof SCOPE_PROGRAM\n | typeof SCOPE_FUNCTION\n | typeof SCOPE_VAR\n | typeof SCOPE_ARROW\n | typeof SCOPE_SIMPLE_CATCH\n | typeof SCOPE_SUPER\n | typeof SCOPE_DIRECT_SUPER\n | typeof SCOPE_CLASS\n | typeof SCOPE_STATIC_BLOCK;\n\n// These flags are meant to be _only_ used inside the Scope class (or subclasses).\n// prettier-ignore\nexport const BIND_KIND_VALUE = 0b000000_0000_01,\n BIND_KIND_TYPE = 0b000000_0000_10,\n // Used in checkLVal and declareName to determine the type of a binding\n BIND_SCOPE_VAR = 0b000000_0001_00, // Var-style binding\n BIND_SCOPE_LEXICAL = 0b000000_0010_00, // Let- or const-style binding\n BIND_SCOPE_FUNCTION = 0b000000_0100_00, // Function declaration\n BIND_SCOPE_OUTSIDE = 0b000000_1000_00, // Special case for function names as\n // bound inside the function\n // Misc flags\n BIND_FLAGS_NONE = 0b000001_0000_00,\n BIND_FLAGS_CLASS = 0b000010_0000_00,\n BIND_FLAGS_TS_ENUM = 0b000100_0000_00,\n BIND_FLAGS_TS_CONST_ENUM = 0b001000_0000_00,\n BIND_FLAGS_TS_EXPORT_ONLY = 0b010000_0000_00,\n BIND_FLAGS_FLOW_DECLARE_FN = 0b100000_0000_00;\n\n// These flags are meant to be _only_ used by Scope consumers\n// prettier-ignore\n/* = is value? | is type? | scope | misc flags */\nexport const BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS ,\n BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0 ,\n BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0 ,\n BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0 ,\n BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS ,\n BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0 ,\n BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM,\n BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n // These bindings don't introduce anything in the scope. They are used for assignments and\n // function expressions IDs.\n BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE ,\n BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE ,\n\n BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM,\n BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY,\n\n BIND_FLOW_DECLARE_FN = BIND_FLAGS_FLOW_DECLARE_FN;\n\nexport type BindingTypes =\n | typeof BIND_NONE\n | typeof BIND_OUTSIDE\n | typeof BIND_VAR\n | typeof BIND_LEXICAL\n | typeof BIND_CLASS\n | typeof BIND_FUNCTION\n | typeof BIND_TS_INTERFACE\n | typeof BIND_TS_TYPE\n | typeof BIND_TS_ENUM\n | typeof BIND_TS_AMBIENT\n | typeof BIND_TS_NAMESPACE;\n\n// prettier-ignore\nexport const CLASS_ELEMENT_FLAG_STATIC = 0b1_00,\n CLASS_ELEMENT_KIND_GETTER = 0b0_10,\n CLASS_ELEMENT_KIND_SETTER = 0b0_01,\n CLASS_ELEMENT_KIND_ACCESSOR = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_KIND_SETTER;\n\n// prettier-ignore\nexport const CLASS_ELEMENT_STATIC_GETTER = CLASS_ELEMENT_KIND_GETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_STATIC_SETTER = CLASS_ELEMENT_KIND_SETTER | CLASS_ELEMENT_FLAG_STATIC,\n CLASS_ELEMENT_INSTANCE_GETTER = CLASS_ELEMENT_KIND_GETTER,\n CLASS_ELEMENT_INSTANCE_SETTER = CLASS_ELEMENT_KIND_SETTER,\n CLASS_ELEMENT_OTHER = 0;\n\nexport type ClassElementTypes =\n | typeof CLASS_ELEMENT_STATIC_GETTER\n | typeof CLASS_ELEMENT_STATIC_SETTER\n | typeof CLASS_ELEMENT_INSTANCE_GETTER\n | typeof CLASS_ELEMENT_INSTANCE_SETTER\n | typeof CLASS_ELEMENT_OTHER;\n","// @flow\n\nimport type { Options } from \"../options\";\nimport type State from \"../tokenizer/state\";\nimport type { PluginsMap } from \"./index\";\nimport type ScopeHandler from \"../util/scope\";\nimport type ExpressionScopeHandler from \"../util/expression-scope\";\nimport type ClassScopeHandler from \"../util/class-scope\";\nimport type ProductionParameterHandler from \"../util/production-parameter\";\n\nexport default class BaseParser {\n // Properties set by constructor in index.js\n declare options: Options;\n declare inModule: boolean;\n declare scope: ScopeHandler<*>;\n declare classScope: ClassScopeHandler;\n declare prodParam: ProductionParameterHandler;\n declare expressionScope: ExpressionScopeHandler;\n declare plugins: PluginsMap;\n declare filename: ?string;\n // Names of exports store. `default` is stored as a name for both\n // `export default foo;` and `export { foo as default };`.\n declare exportedIdentifiers: Set<string>;\n sawUnambiguousESM: boolean = false;\n ambiguousScriptDifferentAst: boolean = false;\n\n // Initialized by Tokenizer\n declare state: State;\n // input and length are not in state as they are constant and we do\n // not want to ever copy them, which happens if state gets cloned\n declare input: string;\n declare length: number;\n\n // This method accepts either a string (plugin name) or an array pair\n // (plugin name and options object). If an options object is given,\n // then each value is non-recursively checked for identity with that\n // plugin’s actual option value.\n hasPlugin(pluginConfig: PluginConfig): boolean {\n if (typeof pluginConfig === \"string\") {\n return this.plugins.has(pluginConfig);\n } else {\n const [pluginName, pluginOptions] = pluginConfig;\n if (!this.hasPlugin(pluginName)) {\n return false;\n }\n const actualOptions = this.plugins.get(pluginName);\n for (const key of Object.keys(pluginOptions)) {\n if (actualOptions?.[key] !== pluginOptions[key]) {\n return false;\n }\n }\n return true;\n }\n }\n\n getPluginOption(plugin: string, name: string) {\n return this.plugins.get(plugin)?.[name];\n }\n}\n\nexport type PluginConfig = string | [string, { [string]: any }];\n","// @flow\n\n/*:: declare var invariant; */\n\nimport BaseParser from \"./base\";\nimport type { Comment, Node } from \"../types\";\nimport * as charCodes from \"charcodes\";\n\n/**\n * A whitespace token containing comments\n * @typedef CommentWhitespace\n * @type {object}\n * @property {number} start - the start of the whitespace token.\n * @property {number} end - the end of the whitespace token.\n * @property {Array<Comment>} comments - the containing comments\n * @property {Node | null} leadingNode - the immediately preceding AST node of the whitespace token\n * @property {Node | null} trailingNode - the immediately following AST node of the whitespace token\n * @property {Node | null} containingNode - the innermost AST node containing the whitespace\n * with minimal size (|end - start|)\n */\nexport type CommentWhitespace = {\n start: number,\n end: number,\n comments: Array<Comment>,\n leadingNode: Node | null,\n trailingNode: Node | null,\n containingNode: Node | null,\n};\n\n/**\n * Merge comments with node's trailingComments or assign comments to be\n * trailingComments. New comments will be placed before old comments\n * because the commentStack is enumerated reversely.\n *\n * @param {Node} node\n * @param {Array<Comment>} comments\n */\nfunction setTrailingComments(node: Node, comments: Array<Comment>) {\n if (node.trailingComments === undefined) {\n node.trailingComments = comments;\n } else {\n node.trailingComments.unshift(...comments);\n }\n}\n\n/**\n * Merge comments with node's leadingComments or assign comments to be\n * leadingComments. New comments will be placed before old comments\n * because the commentStack is enumerated reversely.\n *\n * @param {Node} node\n * @param {Array<Comment>} comments\n */\nfunction setLeadingComments(node: Node, comments: Array<Comment>) {\n if (node.leadingComments === undefined) {\n node.leadingComments = comments;\n } else {\n node.leadingComments.unshift(...comments);\n }\n}\n\n/**\n * Merge comments with node's innerComments or assign comments to be\n * innerComments. New comments will be placed before old comments\n * because the commentStack is enumerated reversely.\n *\n * @param {Node} node\n * @param {Array<Comment>} comments\n */\nexport function setInnerComments(node: Node, comments: Array<Comment>) {\n if (node.innerComments === undefined) {\n node.innerComments = comments;\n } else {\n node.innerComments.unshift(...comments);\n }\n}\n\n/**\n * Given node and elements array, if elements has non-null element,\n * merge comments to its trailingComments, otherwise merge comments\n * to node's innerComments\n *\n * @param {Node} node\n * @param {Array<Node>} elements\n * @param {Array<Comment>} comments\n */\nfunction adjustInnerComments(\n node: Node,\n elements: Array<Node>,\n commentWS: CommentWhitespace,\n) {\n let lastElement = null;\n let i = elements.length;\n while (lastElement === null && i > 0) {\n lastElement = elements[--i];\n }\n if (lastElement === null || lastElement.start > commentWS.start) {\n setInnerComments(node, commentWS.comments);\n } else {\n setTrailingComments(lastElement, commentWS.comments);\n }\n}\n\n/** @class CommentsParser */\nexport default class CommentsParser extends BaseParser {\n addComment(comment: Comment): void {\n if (this.filename) comment.loc.filename = this.filename;\n this.state.comments.push(comment);\n }\n\n /**\n * Given a newly created AST node _n_, attach _n_ to a comment whitespace _w_ if applicable\n * {@see {@link CommentWhitespace}}\n *\n * @param {Node} node\n * @returns {void}\n * @memberof CommentsParser\n */\n processComment(node: Node): void {\n const { commentStack } = this.state;\n const commentStackLength = commentStack.length;\n if (commentStackLength === 0) return;\n let i = commentStackLength - 1;\n const lastCommentWS = commentStack[i];\n\n if (lastCommentWS.start === node.end) {\n lastCommentWS.leadingNode = node;\n i--;\n }\n\n const { start: nodeStart } = node;\n // invariant: for all 0 <= j <= i, let c = commentStack[j], c must satisfy c.end < node.end\n for (; i >= 0; i--) {\n const commentWS = commentStack[i];\n const commentEnd = commentWS.end;\n if (commentEnd > nodeStart) {\n // by definition of commentWhiteSpace, this implies commentWS.start > nodeStart\n // so node can be a containingNode candidate. At this time we can finalize the comment\n // whitespace, because\n // 1) its leadingNode or trailingNode, if exists, will not change\n // 2) its containingNode have been assigned and will not change because it is the\n // innermost minimal-sized AST node\n commentWS.containingNode = node;\n this.finalizeComment(commentWS);\n commentStack.splice(i, 1);\n } else {\n if (commentEnd === nodeStart) {\n commentWS.trailingNode = node;\n }\n // stop the loop when commentEnd <= nodeStart\n break;\n }\n }\n }\n\n /**\n * Assign the comments of comment whitespaces to related AST nodes.\n * Also adjust innerComments following trailing comma.\n *\n * @memberof CommentsParser\n */\n finalizeComment(commentWS: CommentWhitespace) {\n const { comments } = commentWS;\n if (commentWS.leadingNode !== null || commentWS.trailingNode !== null) {\n if (commentWS.leadingNode !== null) {\n setTrailingComments(commentWS.leadingNode, comments);\n }\n if (commentWS.trailingNode !== null) {\n setLeadingComments(commentWS.trailingNode, comments);\n }\n } else {\n /*:: invariant(commentWS.containingNode !== null) */\n const { containingNode: node, start: commentStart } = commentWS;\n if (this.input.charCodeAt(commentStart - 1) === charCodes.comma) {\n // If a commentWhitespace follows a comma and the containingNode allows\n // list structures with trailing comma, merge it to the trailingComment\n // of the last non-null list element\n switch (node.type) {\n case \"ObjectExpression\":\n case \"ObjectPattern\":\n case \"RecordExpression\":\n adjustInnerComments(node, node.properties, commentWS);\n break;\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n adjustInnerComments(node, node.arguments, commentWS);\n break;\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ArrowFunctionExpression\":\n case \"ObjectMethod\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n adjustInnerComments(node, node.params, commentWS);\n break;\n case \"ArrayExpression\":\n case \"ArrayPattern\":\n case \"TupleExpression\":\n adjustInnerComments(node, node.elements, commentWS);\n break;\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n adjustInnerComments(node, node.specifiers, commentWS);\n break;\n default: {\n setInnerComments(node, comments);\n }\n }\n } else {\n setInnerComments(node, comments);\n }\n }\n }\n\n /**\n * Drains remaining commentStack and applies finalizeComment\n * to each comment whitespace. Used only in parseExpression\n * where the top level AST node is _not_ Program\n * {@see {@link CommentsParser#finalizeComment}}\n *\n * @memberof CommentsParser\n */\n finalizeRemainingComments() {\n const { commentStack } = this.state;\n for (let i = commentStack.length - 1; i >= 0; i--) {\n this.finalizeComment(commentStack[i]);\n }\n this.state.commentStack = [];\n }\n\n /**\n * Reset previous node trailing comments. Used in object / class\n * property parsing. We parse `async`, `static`, `set` and `get`\n * as an identifier but may reinterpret it into an async/static/accessor\n * method later. In this case the identifier is not part of the AST and we\n * should sync the knowledge to commentStacks\n *\n * For example, when parsing */\n // async /* 1 */ function f() {}\n /*\n * the comment whitespace \"* 1 *\" has leading node Identifier(async). When\n * we see the function token, we create a Function node and mark \"* 1 *\" as\n * inner comments. So \"* 1 *\" should be detached from the Identifier node.\n *\n * @param {N.Node} node the last finished AST node _before_ current token\n * @returns\n * @memberof CommentsParser\n */\n resetPreviousNodeTrailingComments(node: Node) {\n const { commentStack } = this.state;\n const { length } = commentStack;\n if (length === 0) return;\n const commentWS = commentStack[length - 1];\n if (commentWS.leadingNode === node) {\n commentWS.leadingNode = null;\n }\n }\n\n /**\n * Attach a node to the comment whitespaces right before/after\n * the given range.\n *\n * This is used to properly attach comments around parenthesized\n * expressions as leading/trailing comments of the inner expression.\n *\n * @param {Node} node\n * @param {number} start\n * @param {number} end\n */\n takeSurroundingComments(node: Node, start: number, end: number) {\n const { commentStack } = this.state;\n const commentStackLength = commentStack.length;\n if (commentStackLength === 0) return;\n let i = commentStackLength - 1;\n\n for (; i >= 0; i--) {\n const commentWS = commentStack[i];\n const commentEnd = commentWS.end;\n const commentStart = commentWS.start;\n\n if (commentStart === end) {\n commentWS.leadingNode = node;\n } else if (commentEnd === start) {\n commentWS.trailingNode = node;\n } else if (commentEnd < start) {\n break;\n }\n }\n }\n}\n","// @flow\n\nimport * as charCodes from \"charcodes\";\n\n// Matches a whole line break (where CRLF is considered a single\n// line break). Used to count lines.\nexport const lineBreak = /\\r\\n?|[\\n\\u2028\\u2029]/;\nexport const lineBreakG = new RegExp(lineBreak.source, \"g\");\n\n// https://tc39.github.io/ecma262/#sec-line-terminators\nexport function isNewLine(code: number): boolean {\n switch (code) {\n case charCodes.lineFeed:\n case charCodes.carriageReturn:\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return true;\n\n default:\n return false;\n }\n}\n\nexport const skipWhiteSpace = /(?:\\s|\\/\\/.*|\\/\\*[^]*?\\*\\/)*/g;\n\nexport const skipWhiteSpaceInLine =\n /(?:[^\\S\\n\\r\\u2028\\u2029]|\\/\\/.*|\\/\\*.*?\\*\\/)*/y;\n\n// Skip whitespace and single-line comments, including /* no newline here */.\n// After this RegExp matches, its lastIndex points to a line terminator, or\n// the start of multi-line comment (which is effectively a line terminator),\n// or the end of string.\nexport const skipWhiteSpaceToLineBreak = new RegExp(\n // Unfortunately JS doesn't support Perl's atomic /(?>pattern)/ or\n // possessive quantifiers, so we use a trick to prevent backtracking\n // when the look-ahead for line terminator fails.\n \"(?=(\" +\n // Capture the whitespace and comments that should be skipped inside\n // a look-ahead assertion, and then re-match the group as a unit.\n skipWhiteSpaceInLine.source +\n \"))\\\\1\" +\n // Look-ahead for either line terminator, start of multi-line comment,\n // or end of string.\n /(?=[\\n\\r\\u2028\\u2029]|\\/\\*(?!.*?\\*\\/)|$)/.source,\n \"y\", // sticky\n);\n\n// https://tc39.github.io/ecma262/#sec-white-space\nexport function isWhitespace(code: number): boolean {\n switch (code) {\n case 0x0009: // CHARACTER TABULATION\n case 0x000b: // LINE TABULATION\n case 0x000c: // FORM FEED\n case charCodes.space:\n case charCodes.nonBreakingSpace:\n case charCodes.oghamSpaceMark:\n case 0x2000: // EN QUAD\n case 0x2001: // EM QUAD\n case 0x2002: // EN SPACE\n case 0x2003: // EM SPACE\n case 0x2004: // THREE-PER-EM SPACE\n case 0x2005: // FOUR-PER-EM SPACE\n case 0x2006: // SIX-PER-EM SPACE\n case 0x2007: // FIGURE SPACE\n case 0x2008: // PUNCTUATION SPACE\n case 0x2009: // THIN SPACE\n case 0x200a: // HAIR SPACE\n case 0x202f: // NARROW NO-BREAK SPACE\n case 0x205f: // MEDIUM MATHEMATICAL SPACE\n case 0x3000: // IDEOGRAPHIC SPACE\n case 0xfeff: // ZERO WIDTH NO-BREAK SPACE\n return true;\n\n default:\n return false;\n }\n}\n","// @flow\n\nimport type { Options } from \"../options\";\nimport * as N from \"../types\";\nimport type { CommentWhitespace } from \"../parser/comments\";\nimport { Position } from \"../util/location\";\n\nimport { types as ct, type TokContext } from \"./context\";\nimport { tt, type TokenType } from \"./types\";\nimport { Errors, type ParseError } from \"../parse-error\";\n\nexport type DeferredStrictError =\n | typeof Errors.StrictNumericEscape\n | typeof Errors.StrictOctalLiteral;\n\ntype TopicContextState = {\n // When a topic binding has been currently established,\n // then this is 1. Otherwise, it is 0. This is forwards compatible\n // with a future plugin for multiple lexical topics.\n maxNumOfResolvableTopics: number,\n\n // When a topic binding has been currently established, and if that binding\n // has been used as a topic reference `#`, then this is 0. Otherwise, it is\n // `null`. This is forwards compatible with a future plugin for multiple\n // lexical topics.\n maxTopicIndex: null | 0,\n};\n\nexport default class State {\n strict: boolean;\n curLine: number;\n lineStart: number;\n\n // And, if locations are used, the {line, column} object\n // corresponding to those offsets\n startLoc: Position;\n endLoc: Position;\n\n init({ strictMode, sourceType, startLine, startColumn }: Options): void {\n this.strict =\n strictMode === false\n ? false\n : strictMode === true\n ? true\n : sourceType === \"module\";\n\n this.curLine = startLine;\n this.lineStart = -startColumn;\n this.startLoc = this.endLoc = new Position(startLine, startColumn, 0);\n }\n\n errors: ParseError<any>[] = [];\n\n // Used to signify the start of a potential arrow function\n potentialArrowAt: number = -1;\n\n // Used to signify the start of an expression which looks like a\n // typed arrow function, but it isn't\n // e.g. a ? (b) : c => d\n // ^\n noArrowAt: number[] = [];\n\n // Used to signify the start of an expression whose params, if it looks like\n // an arrow function, shouldn't be converted to assignable nodes.\n // This is used to defer the validation of typed arrow functions inside\n // conditional expressions.\n // e.g. a ? (b) : c => d\n // ^\n noArrowParamsConversionAt: number[] = [];\n\n // Flags to track\n maybeInArrowParameters: boolean = false;\n inType: boolean = false;\n noAnonFunctionType: boolean = false;\n hasFlowComment: boolean = false;\n isAmbientContext: boolean = false;\n inAbstractClass: boolean = false;\n inDisallowConditionalTypesContext: boolean = false;\n\n // For the Hack-style pipelines plugin\n topicContext: TopicContextState = {\n maxNumOfResolvableTopics: 0,\n maxTopicIndex: null,\n };\n\n // For the F#-style pipelines plugin\n soloAwait: boolean = false;\n inFSharpPipelineDirectBody: boolean = false;\n\n // Labels in scope.\n labels: Array<{\n kind: ?(\"loop\" | \"switch\"),\n name?: ?string,\n statementStart?: number,\n }> = [];\n\n // Leading decorators. Last element of the stack represents the decorators in current context.\n // Supports nesting of decorators, e.g. @foo(@bar class inner {}) class outer {}\n // where @foo belongs to the outer class and @bar to the inner\n decoratorStack: Array<Array<N.Decorator>> = [[]];\n\n // Comment store for Program.comments\n comments: Array<N.Comment> = [];\n\n // Comment attachment store\n commentStack: Array<CommentWhitespace> = [];\n\n // The current position of the tokenizer in the input.\n pos: number = 0;\n\n // Properties of the current token:\n // Its type\n type: TokenType = tt.eof;\n\n // For tokens that include more information than their type, the value\n value: any = null;\n\n // Its start and end offset\n start: number = 0;\n end: number = 0;\n\n // Position information for the previous token\n // $FlowIgnore this is initialized when generating the second token.\n lastTokEndLoc: Position = null;\n // $FlowIgnore this is initialized when generating the second token.\n lastTokStartLoc: Position = null;\n lastTokStart: number = 0;\n\n // The context stack is used to track whether the apostrophe \"`\" starts\n // or ends a string template\n context: Array<TokContext> = [ct.brace];\n // Used to track whether a JSX element is allowed to form\n canStartJSXElement: boolean = true;\n\n // Used to signal to callers of `readWord1` whether the word\n // contained any escape sequences. This is needed because words with\n // escape sequences must not be interpreted as keywords.\n containsEsc: boolean = false;\n\n // This property is used to track the following errors\n // - StrictNumericEscape\n // - StrictOctalLiteral\n //\n // in a literal that occurs prior to/immediately after a \"use strict\" directive.\n\n // todo(JLHwung): set strictErrors to null and avoid recording string errors\n // after a non-directive is parsed\n strictErrors: Map<number, [DeferredStrictError, Position]> = new Map();\n\n // Tokens length in token store\n tokensLength: number = 0;\n\n curPosition(): Position {\n return new Position(this.curLine, this.pos - this.lineStart, this.pos);\n }\n\n clone(skipArrays?: boolean): State {\n const state = new State();\n const keys = Object.keys(this);\n for (let i = 0, length = keys.length; i < length; i++) {\n const key = keys[i];\n // $FlowIgnore\n let val = this[key];\n\n if (!skipArrays && Array.isArray(val)) {\n val = val.slice();\n }\n\n // $FlowIgnore\n state[key] = val;\n }\n\n return state;\n }\n}\n\nexport type LookaheadState = {\n pos: number,\n value: any,\n type: TokenType,\n start: number,\n end: number,\n /* Used only in readToken_mult_modulo */\n inType: boolean,\n};\n","// @flow\n\n/*:: declare var invariant; */\n\nimport type { Options } from \"../options\";\nimport {\n Position,\n SourceLocation,\n createPositionWithColumnOffset,\n} from \"../util/location\";\nimport CommentsParser from \"../parser/comments\";\nimport * as N from \"../types\";\nimport * as charCodes from \"charcodes\";\nimport { isIdentifierStart, isIdentifierChar } from \"../util/identifier\";\nimport {\n tokenIsKeyword,\n tokenLabelName,\n tt,\n keywords as keywordTypes,\n type TokenType,\n} from \"./types\";\nimport { type TokContext } from \"./context\";\nimport {\n Errors,\n type ParseError,\n type ParseErrorConstructor,\n type RaiseProperties,\n} from \"../parse-error\";\nimport {\n lineBreakG,\n isNewLine,\n isWhitespace,\n skipWhiteSpace,\n} from \"../util/whitespace\";\nimport State from \"./state\";\nimport type { LookaheadState, DeferredStrictError } from \"./state\";\n\nconst VALID_REGEX_FLAGS = new Set([\n charCodes.lowercaseG,\n charCodes.lowercaseM,\n charCodes.lowercaseS,\n charCodes.lowercaseI,\n charCodes.lowercaseY,\n charCodes.lowercaseU,\n charCodes.lowercaseD,\n // This is only valid when using the regexpUnicodeSets plugin\n charCodes.lowercaseV,\n]);\n\n// The following character codes are forbidden from being\n// an immediate sibling of NumericLiteralSeparator _\n\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set([\n charCodes.dot,\n charCodes.uppercaseB,\n charCodes.uppercaseE,\n charCodes.uppercaseO,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseB,\n charCodes.lowercaseE,\n charCodes.lowercaseO,\n ]),\n hex: new Set([\n charCodes.dot,\n charCodes.uppercaseX,\n charCodes.underscore, // multiple separators are not allowed\n charCodes.lowercaseX,\n ]),\n};\n\nconst isAllowedNumericSeparatorSibling = {\n // 0 - 1\n bin: ch => ch === charCodes.digit0 || ch === charCodes.digit1,\n\n // 0 - 7\n oct: ch => ch >= charCodes.digit0 && ch <= charCodes.digit7,\n\n // 0 - 9\n dec: ch => ch >= charCodes.digit0 && ch <= charCodes.digit9,\n\n // 0 - 9, A - F, a - f,\n hex: ch =>\n (ch >= charCodes.digit0 && ch <= charCodes.digit9) ||\n (ch >= charCodes.uppercaseA && ch <= charCodes.uppercaseF) ||\n (ch >= charCodes.lowercaseA && ch <= charCodes.lowercaseF),\n};\n\n// Object type used to represent tokens. Note that normally, tokens\n// simply exist as properties on the parser object. This is only\n// used for the onToken callback and the external tokenizer.\n\nexport class Token {\n constructor(state: State) {\n this.type = state.type;\n this.value = state.value;\n this.start = state.start;\n this.end = state.end;\n this.loc = new SourceLocation(state.startLoc, state.endLoc);\n }\n\n declare type: TokenType;\n declare value: any;\n declare start: number;\n declare end: number;\n declare loc: SourceLocation;\n}\n\n// ## Tokenizer\n\nexport default class Tokenizer extends CommentsParser {\n isLookahead: boolean;\n\n // Token store.\n tokens: Array<Token | N.Comment> = [];\n\n constructor(options: Options, input: string) {\n super();\n this.state = new State();\n this.state.init(options);\n this.input = input;\n this.length = input.length;\n this.isLookahead = false;\n }\n\n pushToken(token: Token | N.Comment) {\n // Pop out invalid tokens trapped by try-catch parsing.\n // Those parsing branches are mainly created by typescript and flow plugins.\n this.tokens.length = this.state.tokensLength;\n this.tokens.push(token);\n ++this.state.tokensLength;\n }\n\n // Move to the next token\n\n next(): void {\n this.checkKeywordEscapes();\n if (this.options.tokens) {\n this.pushToken(new Token(this.state));\n }\n\n this.state.lastTokStart = this.state.start;\n this.state.lastTokEndLoc = this.state.endLoc;\n this.state.lastTokStartLoc = this.state.startLoc;\n this.nextToken();\n }\n\n // TODO\n\n eat(type: TokenType): boolean {\n if (this.match(type)) {\n this.next();\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * Whether current token matches given type\n *\n * @param {TokenType} type\n * @returns {boolean}\n * @memberof Tokenizer\n */\n match(type: TokenType): boolean {\n return this.state.type === type;\n }\n\n /**\n * Create a LookaheadState from current parser state\n *\n * @param {State} state\n * @returns {LookaheadState}\n * @memberof Tokenizer\n */\n createLookaheadState(state: State): LookaheadState {\n return {\n pos: state.pos,\n value: null,\n type: state.type,\n start: state.start,\n end: state.end,\n context: [this.curContext()],\n inType: state.inType,\n startLoc: state.startLoc,\n lastTokEndLoc: state.lastTokEndLoc,\n curLine: state.curLine,\n lineStart: state.lineStart,\n curPosition: state.curPosition,\n };\n }\n\n /**\n * lookahead peeks the next token, skipping changes to token context and\n * comment stack. For performance it returns a limited LookaheadState\n * instead of full parser state.\n *\n * The { column, line } Loc info is not included in lookahead since such usage\n * is rare. Although it may return other location properties e.g. `curLine` and\n * `lineStart`, these properties are not listed in the LookaheadState interface\n * and thus the returned value is _NOT_ reliable.\n *\n * The tokenizer should make best efforts to avoid using any parser state\n * other than those defined in LookaheadState\n *\n * @returns {LookaheadState}\n * @memberof Tokenizer\n */\n lookahead(): LookaheadState {\n const old = this.state;\n // For performance we use a simplified tokenizer state structure\n // $FlowIgnore\n this.state = this.createLookaheadState(old);\n\n this.isLookahead = true;\n this.nextToken();\n this.isLookahead = false;\n\n const curr = this.state;\n this.state = old;\n return curr;\n }\n\n nextTokenStart(): number {\n return this.nextTokenStartSince(this.state.pos);\n }\n\n nextTokenStartSince(pos: number): number {\n skipWhiteSpace.lastIndex = pos;\n return skipWhiteSpace.test(this.input) ? skipWhiteSpace.lastIndex : pos;\n }\n\n lookaheadCharCode(): number {\n return this.input.charCodeAt(this.nextTokenStart());\n }\n\n codePointAtPos(pos: number): number {\n // The implementation is based on\n // https://source.chromium.org/chromium/chromium/src/+/master:v8/src/builtins/builtins-string-gen.cc;l=1455;drc=221e331b49dfefadbc6fa40b0c68e6f97606d0b3;bpv=0;bpt=1\n // We reimplement `codePointAt` because `codePointAt` is a V8 builtin which is not inlined by TurboFan (as of M91)\n // since `input` is mostly ASCII, an inlined `charCodeAt` wins here\n let cp = this.input.charCodeAt(pos);\n if ((cp & 0xfc00) === 0xd800 && ++pos < this.input.length) {\n const trail = this.input.charCodeAt(pos);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n return cp;\n }\n\n // Toggle strict mode. Re-reads the next number or string to please\n // pedantic tests (`\"use strict\"; 010;` should fail).\n\n setStrict(strict: boolean): void {\n this.state.strict = strict;\n if (strict) {\n // Throw an error for any string decimal escape found before/immediately\n // after a \"use strict\" directive. Strict mode will be set at parse\n // time for any literals that occur after the next node of the strict\n // directive.\n this.state.strictErrors.forEach(([toParseError, at]) =>\n this.raise(toParseError, { at }),\n );\n this.state.strictErrors.clear();\n }\n }\n\n curContext(): TokContext {\n return this.state.context[this.state.context.length - 1];\n }\n\n // Read a single token, updating the parser object's token-related\n // properties.\n\n nextToken(): void {\n this.skipSpace();\n this.state.start = this.state.pos;\n if (!this.isLookahead) this.state.startLoc = this.state.curPosition();\n if (this.state.pos >= this.length) {\n this.finishToken(tt.eof);\n return;\n }\n\n this.getTokenFromCode(this.codePointAtPos(this.state.pos));\n }\n\n skipBlockComment(): N.CommentBlock | void {\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n const start = this.state.pos;\n const end = this.input.indexOf(\"*/\", start + 2);\n if (end === -1) {\n // We have to call this again here because startLoc may not be set...\n // This seems to be for performance reasons:\n // https://github.com/babel/babel/commit/acf2a10899f696a8aaf34df78bf9725b5ea7f2da\n throw this.raise(Errors.UnterminatedComment, {\n at: this.state.curPosition(),\n });\n }\n\n this.state.pos = end + 2;\n lineBreakG.lastIndex = start + 2;\n while (lineBreakG.test(this.input) && lineBreakG.lastIndex <= end) {\n ++this.state.curLine;\n this.state.lineStart = lineBreakG.lastIndex;\n }\n\n // If we are doing a lookahead right now we need to advance the position (above code)\n // but we do not want to push the comment to the state.\n if (this.isLookahead) return;\n /*:: invariant(startLoc) */\n\n const comment = {\n type: \"CommentBlock\",\n value: this.input.slice(start + 2, end),\n start,\n end: end + 2,\n loc: new SourceLocation(startLoc, this.state.curPosition()),\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n\n skipLineComment(startSkip: number): N.CommentLine | void {\n const start = this.state.pos;\n let startLoc;\n if (!this.isLookahead) startLoc = this.state.curPosition();\n let ch = this.input.charCodeAt((this.state.pos += startSkip));\n if (this.state.pos < this.length) {\n while (!isNewLine(ch) && ++this.state.pos < this.length) {\n ch = this.input.charCodeAt(this.state.pos);\n }\n }\n\n // If we are doing a lookahead right now we need to advance the position (above code)\n // but we do not want to push the comment to the state.\n if (this.isLookahead) return;\n /*:: invariant(startLoc) */\n\n const end = this.state.pos;\n const value = this.input.slice(start + startSkip, end);\n\n const comment = {\n type: \"CommentLine\",\n value,\n start,\n end,\n loc: new SourceLocation(startLoc, this.state.curPosition()),\n };\n if (this.options.tokens) this.pushToken(comment);\n return comment;\n }\n\n // Called at the start of the parse and after every token. Skips\n // whitespace and comments, and.\n\n skipSpace(): void {\n const spaceStart = this.state.pos;\n const comments = [];\n loop: while (this.state.pos < this.length) {\n const ch = this.input.charCodeAt(this.state.pos);\n switch (ch) {\n case charCodes.space:\n case charCodes.nonBreakingSpace:\n case charCodes.tab:\n ++this.state.pos;\n break;\n case charCodes.carriageReturn:\n if (\n this.input.charCodeAt(this.state.pos + 1) === charCodes.lineFeed\n ) {\n ++this.state.pos;\n }\n // fall through\n case charCodes.lineFeed:\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n ++this.state.pos;\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n break;\n\n case charCodes.slash:\n switch (this.input.charCodeAt(this.state.pos + 1)) {\n case charCodes.asterisk: {\n const comment = this.skipBlockComment();\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n break;\n }\n\n case charCodes.slash: {\n const comment = this.skipLineComment(2);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n break;\n }\n\n default:\n break loop;\n }\n break;\n\n default:\n if (isWhitespace(ch)) {\n ++this.state.pos;\n } else if (ch === charCodes.dash && !this.inModule) {\n const pos = this.state.pos;\n if (\n this.input.charCodeAt(pos + 1) === charCodes.dash &&\n this.input.charCodeAt(pos + 2) === charCodes.greaterThan &&\n (spaceStart === 0 || this.state.lineStart > spaceStart)\n ) {\n // A `-->` line comment\n const comment = this.skipLineComment(3);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n } else {\n break loop;\n }\n } else if (ch === charCodes.lessThan && !this.inModule) {\n const pos = this.state.pos;\n if (\n this.input.charCodeAt(pos + 1) === charCodes.exclamationMark &&\n this.input.charCodeAt(pos + 2) === charCodes.dash &&\n this.input.charCodeAt(pos + 3) === charCodes.dash\n ) {\n // `<!--`, an XML-style comment that should be interpreted as a line comment\n const comment = this.skipLineComment(4);\n if (comment !== undefined) {\n this.addComment(comment);\n if (this.options.attachComment) comments.push(comment);\n }\n } else {\n break loop;\n }\n } else {\n break loop;\n }\n }\n }\n\n if (comments.length > 0) {\n const end = this.state.pos;\n const CommentWhitespace = {\n start: spaceStart,\n end,\n comments,\n leadingNode: null,\n trailingNode: null,\n containingNode: null,\n };\n this.state.commentStack.push(CommentWhitespace);\n }\n }\n\n // Called at the end of every token. Sets `end`, `val`, and\n // maintains `context` and `canStartJSXElement`, and skips the space after\n // the token, so that the next one's `start` will point at the\n // right position.\n\n finishToken(type: TokenType, val: any): void {\n this.state.end = this.state.pos;\n this.state.endLoc = this.state.curPosition();\n const prevType = this.state.type;\n this.state.type = type;\n this.state.value = val;\n\n if (!this.isLookahead) {\n this.updateContext(prevType);\n }\n }\n\n replaceToken(type: TokenType): void {\n this.state.type = type;\n // the prevType of updateContext is required\n // only when the new type is tt.slash/tt.jsxTagEnd\n // $FlowIgnore\n this.updateContext();\n }\n\n // ### Token reading\n\n // This is the function that is called to fetch the next token. It\n // is somewhat obscure, because it works in character codes rather\n // than characters, and because operator parsing has been inlined\n // into it.\n //\n // All in the name of speed.\n\n // number sign is \"#\"\n readToken_numberSign(): void {\n if (this.state.pos === 0 && this.readToken_interpreter()) {\n return;\n }\n\n const nextPos = this.state.pos + 1;\n const next = this.codePointAtPos(nextPos);\n if (next >= charCodes.digit0 && next <= charCodes.digit9) {\n throw this.raise(Errors.UnexpectedDigitAfterHash, {\n at: this.state.curPosition(),\n });\n }\n\n if (\n next === charCodes.leftCurlyBrace ||\n (next === charCodes.leftSquareBracket && this.hasPlugin(\"recordAndTuple\"))\n ) {\n // When we see `#{`, it is likely to be a hash record.\n // However we don't yell at `#[` since users may intend to use \"computed private fields\",\n // which is not allowed in the spec. Throwing expecting recordAndTuple is\n // misleading\n this.expectPlugin(\"recordAndTuple\");\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"hash\") {\n throw this.raise(\n next === charCodes.leftCurlyBrace\n ? Errors.RecordExpressionHashIncorrectStartSyntaxType\n : Errors.TupleExpressionHashIncorrectStartSyntaxType,\n { at: this.state.curPosition() },\n );\n }\n\n this.state.pos += 2;\n if (next === charCodes.leftCurlyBrace) {\n // #{\n this.finishToken(tt.braceHashL);\n } else {\n // #[\n this.finishToken(tt.bracketHashL);\n }\n } else if (isIdentifierStart(next)) {\n ++this.state.pos;\n this.finishToken(tt.privateName, this.readWord1(next));\n } else if (next === charCodes.backslash) {\n ++this.state.pos;\n this.finishToken(tt.privateName, this.readWord1());\n } else {\n this.finishOp(tt.hash, 1);\n }\n }\n\n readToken_dot(): void {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next >= charCodes.digit0 && next <= charCodes.digit9) {\n this.readNumber(true);\n return;\n }\n\n if (\n next === charCodes.dot &&\n this.input.charCodeAt(this.state.pos + 2) === charCodes.dot\n ) {\n this.state.pos += 3;\n this.finishToken(tt.ellipsis);\n } else {\n ++this.state.pos;\n this.finishToken(tt.dot);\n }\n }\n\n readToken_slash(): void {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next === charCodes.equalsTo) {\n this.finishOp(tt.slashAssign, 2);\n } else {\n this.finishOp(tt.slash, 1);\n }\n }\n\n readToken_interpreter(): boolean {\n if (this.state.pos !== 0 || this.length < 2) return false;\n\n let ch = this.input.charCodeAt(this.state.pos + 1);\n if (ch !== charCodes.exclamationMark) return false;\n\n const start = this.state.pos;\n this.state.pos += 1;\n\n while (!isNewLine(ch) && ++this.state.pos < this.length) {\n ch = this.input.charCodeAt(this.state.pos);\n }\n\n const value = this.input.slice(start + 2, this.state.pos);\n\n this.finishToken(tt.interpreterDirective, value);\n\n return true;\n }\n\n readToken_mult_modulo(code: number): void {\n // '%' or '*'\n let type = code === charCodes.asterisk ? tt.star : tt.modulo;\n let width = 1;\n let next = this.input.charCodeAt(this.state.pos + 1);\n\n // Exponentiation operator '**'\n if (code === charCodes.asterisk && next === charCodes.asterisk) {\n width++;\n next = this.input.charCodeAt(this.state.pos + 2);\n type = tt.exponent;\n }\n\n // '%=' or '*='\n if (next === charCodes.equalsTo && !this.state.inType) {\n width++;\n // `tt.moduloAssign` is only needed to support % as a Hack-pipe topic token.\n // If the proposal ends up choosing a different token,\n // it can be merged with tt.assign.\n type = code === charCodes.percentSign ? tt.moduloAssign : tt.assign;\n }\n\n this.finishOp(type, width);\n }\n\n readToken_pipe_amp(code: number): void {\n // '||' '&&' '||=' '&&='\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next === code) {\n if (this.input.charCodeAt(this.state.pos + 2) === charCodes.equalsTo) {\n this.finishOp(tt.assign, 3);\n } else {\n this.finishOp(\n code === charCodes.verticalBar ? tt.logicalOR : tt.logicalAND,\n 2,\n );\n }\n return;\n }\n\n if (code === charCodes.verticalBar) {\n // '|>'\n if (next === charCodes.greaterThan) {\n this.finishOp(tt.pipeline, 2);\n return;\n }\n // '|}'\n if (\n this.hasPlugin(\"recordAndTuple\") &&\n next === charCodes.rightCurlyBrace\n ) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType, {\n at: this.state.curPosition(),\n });\n }\n this.state.pos += 2;\n this.finishToken(tt.braceBarR);\n return;\n }\n\n // '|]'\n if (\n this.hasPlugin(\"recordAndTuple\") &&\n next === charCodes.rightSquareBracket\n ) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType, {\n at: this.state.curPosition(),\n });\n }\n this.state.pos += 2;\n this.finishToken(tt.bracketBarR);\n return;\n }\n }\n\n if (next === charCodes.equalsTo) {\n this.finishOp(tt.assign, 2);\n return;\n }\n\n this.finishOp(\n code === charCodes.verticalBar ? tt.bitwiseOR : tt.bitwiseAND,\n 1,\n );\n }\n\n readToken_caret(): void {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n // '^='\n if (next === charCodes.equalsTo && !this.state.inType) {\n // `tt.xorAssign` is only needed to support ^ as a Hack-pipe topic token.\n // If the proposal ends up choosing a different token,\n // it can be merged with tt.assign.\n this.finishOp(tt.xorAssign, 2);\n }\n // '^^'\n else if (\n next === charCodes.caret &&\n // If the ^^ token is not enabled, we don't throw but parse two single ^s\n // because it could be a ^ hack token followed by a ^ binary operator.\n this.hasPlugin([\n \"pipelineOperator\",\n { proposal: \"hack\", topicToken: \"^^\" },\n ])\n ) {\n this.finishOp(tt.doubleCaret, 2);\n\n // `^^^` is forbidden and must be separated by a space.\n const lookaheadCh = this.input.codePointAt(this.state.pos);\n if (lookaheadCh === charCodes.caret) {\n throw this.unexpected();\n }\n }\n // '^'\n else {\n this.finishOp(tt.bitwiseXOR, 1);\n }\n }\n\n readToken_atSign(): void {\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n // '@@'\n if (\n next === charCodes.atSign &&\n this.hasPlugin([\n \"pipelineOperator\",\n { proposal: \"hack\", topicToken: \"@@\" },\n ])\n ) {\n this.finishOp(tt.doubleAt, 2);\n }\n // '@'\n else {\n this.finishOp(tt.at, 1);\n }\n }\n\n readToken_plus_min(code: number): void {\n // '+-'\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (next === code) {\n this.finishOp(tt.incDec, 2);\n return;\n }\n\n if (next === charCodes.equalsTo) {\n this.finishOp(tt.assign, 2);\n } else {\n this.finishOp(tt.plusMin, 1);\n }\n }\n\n readToken_lt(): void {\n // '<'\n const { pos } = this.state;\n const next = this.input.charCodeAt(pos + 1);\n\n if (next === charCodes.lessThan) {\n if (this.input.charCodeAt(pos + 2) === charCodes.equalsTo) {\n this.finishOp(tt.assign, 3);\n return;\n }\n this.finishOp(tt.bitShiftL, 2);\n return;\n }\n\n if (next === charCodes.equalsTo) {\n // <=\n this.finishOp(tt.relational, 2);\n return;\n }\n\n this.finishOp(tt.lt, 1);\n }\n\n readToken_gt(): void {\n // '>'\n const { pos } = this.state;\n const next = this.input.charCodeAt(pos + 1);\n\n if (next === charCodes.greaterThan) {\n const size =\n this.input.charCodeAt(pos + 2) === charCodes.greaterThan ? 3 : 2;\n if (this.input.charCodeAt(pos + size) === charCodes.equalsTo) {\n this.finishOp(tt.assign, size + 1);\n return;\n }\n this.finishOp(tt.bitShiftR, size);\n return;\n }\n\n if (next === charCodes.equalsTo) {\n // <= | >=\n this.finishOp(tt.relational, 2);\n return;\n }\n\n this.finishOp(tt.gt, 1);\n }\n\n readToken_eq_excl(code: number): void {\n // '=!'\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (next === charCodes.equalsTo) {\n this.finishOp(\n tt.equality,\n this.input.charCodeAt(this.state.pos + 2) === charCodes.equalsTo\n ? 3\n : 2,\n );\n return;\n }\n if (code === charCodes.equalsTo && next === charCodes.greaterThan) {\n // '=>'\n this.state.pos += 2;\n this.finishToken(tt.arrow);\n return;\n }\n this.finishOp(code === charCodes.equalsTo ? tt.eq : tt.bang, 1);\n }\n\n readToken_question(): void {\n // '?'\n const next = this.input.charCodeAt(this.state.pos + 1);\n const next2 = this.input.charCodeAt(this.state.pos + 2);\n if (next === charCodes.questionMark) {\n if (next2 === charCodes.equalsTo) {\n // '??='\n this.finishOp(tt.assign, 3);\n } else {\n // '??'\n this.finishOp(tt.nullishCoalescing, 2);\n }\n } else if (\n next === charCodes.dot &&\n !(next2 >= charCodes.digit0 && next2 <= charCodes.digit9)\n ) {\n // '.' not followed by a number\n this.state.pos += 2;\n this.finishToken(tt.questionDot);\n } else {\n ++this.state.pos;\n this.finishToken(tt.question);\n }\n }\n\n getTokenFromCode(code: number): void {\n switch (code) {\n // The interpretation of a dot depends on whether it is followed\n // by a digit or another two dots.\n\n case charCodes.dot:\n this.readToken_dot();\n return;\n\n // Punctuation tokens.\n case charCodes.leftParenthesis:\n ++this.state.pos;\n this.finishToken(tt.parenL);\n return;\n case charCodes.rightParenthesis:\n ++this.state.pos;\n this.finishToken(tt.parenR);\n return;\n case charCodes.semicolon:\n ++this.state.pos;\n this.finishToken(tt.semi);\n return;\n case charCodes.comma:\n ++this.state.pos;\n this.finishToken(tt.comma);\n return;\n case charCodes.leftSquareBracket:\n if (\n this.hasPlugin(\"recordAndTuple\") &&\n this.input.charCodeAt(this.state.pos + 1) === charCodes.verticalBar\n ) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(\n Errors.TupleExpressionBarIncorrectStartSyntaxType,\n { at: this.state.curPosition() },\n );\n }\n\n // [|\n this.state.pos += 2;\n this.finishToken(tt.bracketBarL);\n } else {\n ++this.state.pos;\n this.finishToken(tt.bracketL);\n }\n return;\n case charCodes.rightSquareBracket:\n ++this.state.pos;\n this.finishToken(tt.bracketR);\n return;\n case charCodes.leftCurlyBrace:\n if (\n this.hasPlugin(\"recordAndTuple\") &&\n this.input.charCodeAt(this.state.pos + 1) === charCodes.verticalBar\n ) {\n if (this.getPluginOption(\"recordAndTuple\", \"syntaxType\") !== \"bar\") {\n throw this.raise(\n Errors.RecordExpressionBarIncorrectStartSyntaxType,\n { at: this.state.curPosition() },\n );\n }\n\n // {|\n this.state.pos += 2;\n this.finishToken(tt.braceBarL);\n } else {\n ++this.state.pos;\n this.finishToken(tt.braceL);\n }\n return;\n case charCodes.rightCurlyBrace:\n ++this.state.pos;\n this.finishToken(tt.braceR);\n return;\n\n case charCodes.colon:\n if (\n this.hasPlugin(\"functionBind\") &&\n this.input.charCodeAt(this.state.pos + 1) === charCodes.colon\n ) {\n this.finishOp(tt.doubleColon, 2);\n } else {\n ++this.state.pos;\n this.finishToken(tt.colon);\n }\n return;\n\n case charCodes.questionMark:\n this.readToken_question();\n return;\n\n case charCodes.graveAccent:\n this.readTemplateToken();\n return;\n\n case charCodes.digit0: {\n const next = this.input.charCodeAt(this.state.pos + 1);\n // '0x', '0X' - hex number\n if (next === charCodes.lowercaseX || next === charCodes.uppercaseX) {\n this.readRadixNumber(16);\n return;\n }\n // '0o', '0O' - octal number\n if (next === charCodes.lowercaseO || next === charCodes.uppercaseO) {\n this.readRadixNumber(8);\n return;\n }\n // '0b', '0B' - binary number\n if (next === charCodes.lowercaseB || next === charCodes.uppercaseB) {\n this.readRadixNumber(2);\n return;\n }\n }\n // Anything else beginning with a digit is an integer, octal\n // number, or float. (fall through)\n case charCodes.digit1:\n case charCodes.digit2:\n case charCodes.digit3:\n case charCodes.digit4:\n case charCodes.digit5:\n case charCodes.digit6:\n case charCodes.digit7:\n case charCodes.digit8:\n case charCodes.digit9:\n this.readNumber(false);\n return;\n\n // Quotes produce strings.\n case charCodes.quotationMark:\n case charCodes.apostrophe:\n this.readString(code);\n return;\n\n // Operators are parsed inline in tiny state machines. '=' (charCodes.equalsTo) is\n // often referred to. `finishOp` simply skips the amount of\n // characters it is given as second argument, and returns a token\n // of the type given by its first argument.\n\n case charCodes.slash:\n this.readToken_slash();\n return;\n\n case charCodes.percentSign:\n case charCodes.asterisk:\n this.readToken_mult_modulo(code);\n return;\n\n case charCodes.verticalBar:\n case charCodes.ampersand:\n this.readToken_pipe_amp(code);\n return;\n\n case charCodes.caret:\n this.readToken_caret();\n return;\n\n case charCodes.plusSign:\n case charCodes.dash:\n this.readToken_plus_min(code);\n return;\n\n case charCodes.lessThan:\n this.readToken_lt();\n return;\n\n case charCodes.greaterThan:\n this.readToken_gt();\n return;\n\n case charCodes.equalsTo:\n case charCodes.exclamationMark:\n this.readToken_eq_excl(code);\n return;\n\n case charCodes.tilde:\n this.finishOp(tt.tilde, 1);\n return;\n\n case charCodes.atSign:\n this.readToken_atSign();\n return;\n\n case charCodes.numberSign:\n this.readToken_numberSign();\n return;\n\n case charCodes.backslash:\n this.readWord();\n return;\n\n default:\n if (isIdentifierStart(code)) {\n this.readWord(code);\n return;\n }\n }\n\n throw this.raise(Errors.InvalidOrUnexpectedToken, {\n at: this.state.curPosition(),\n unexpected: String.fromCodePoint(code),\n });\n }\n\n finishOp(type: TokenType, size: number): void {\n const str = this.input.slice(this.state.pos, this.state.pos + size);\n this.state.pos += size;\n this.finishToken(type, str);\n }\n\n readRegexp(): void {\n const startLoc = this.state.startLoc;\n const start = this.state.start + 1;\n let escaped, inClass;\n let { pos } = this.state;\n for (; ; ++pos) {\n if (pos >= this.length) {\n // FIXME: explain\n throw this.raise(Errors.UnterminatedRegExp, {\n at: createPositionWithColumnOffset(startLoc, 1),\n });\n }\n const ch = this.input.charCodeAt(pos);\n if (isNewLine(ch)) {\n throw this.raise(Errors.UnterminatedRegExp, {\n at: createPositionWithColumnOffset(startLoc, 1),\n });\n }\n if (escaped) {\n escaped = false;\n } else {\n if (ch === charCodes.leftSquareBracket) {\n inClass = true;\n } else if (ch === charCodes.rightSquareBracket && inClass) {\n inClass = false;\n } else if (ch === charCodes.slash && !inClass) {\n break;\n }\n escaped = ch === charCodes.backslash;\n }\n }\n const content = this.input.slice(start, pos);\n ++pos;\n\n let mods = \"\";\n\n const nextPos = () =>\n // (pos + 1) + 1 - start\n createPositionWithColumnOffset(startLoc, pos + 2 - start);\n\n while (pos < this.length) {\n const cp = this.codePointAtPos(pos);\n // It doesn't matter if cp > 0xffff, the loop will either throw or break because we check on cp\n const char = String.fromCharCode(cp);\n\n if (VALID_REGEX_FLAGS.has(cp)) {\n if (cp === charCodes.lowercaseV) {\n this.expectPlugin(\"regexpUnicodeSets\", nextPos());\n\n if (mods.includes(\"u\")) {\n this.raise(Errors.IncompatibleRegExpUVFlags, { at: nextPos() });\n }\n } else if (cp === charCodes.lowercaseU) {\n if (mods.includes(\"v\")) {\n this.raise(Errors.IncompatibleRegExpUVFlags, { at: nextPos() });\n }\n }\n if (mods.includes(char)) {\n this.raise(Errors.DuplicateRegExpFlags, { at: nextPos() });\n }\n } else if (isIdentifierChar(cp) || cp === charCodes.backslash) {\n this.raise(Errors.MalformedRegExpFlags, { at: nextPos() });\n } else {\n break;\n }\n\n ++pos;\n mods += char;\n }\n this.state.pos = pos;\n\n this.finishToken(tt.regexp, {\n pattern: content,\n flags: mods,\n });\n }\n\n // Read an integer in the given radix. Return null if zero digits\n // were read, the integer value otherwise. When `len` is given, this\n // will return `null` unless the integer has exactly `len` digits.\n // When `forceLen` is `true`, it means that we already know that in case\n // of a malformed number we have to skip `len` characters anyway, instead\n // of bailing out early. For example, in \"\\u{123Z}\" we want to read up to }\n // anyway, while in \"\\u00Z\" we will stop at Z instead of consuming four\n // characters (and thus the closing quote).\n\n readInt(\n radix: number,\n len?: number,\n forceLen?: boolean,\n allowNumSeparator: boolean | \"bail\" = true,\n ): number | null {\n const start = this.state.pos;\n const forbiddenSiblings =\n radix === 16\n ? forbiddenNumericSeparatorSiblings.hex\n : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling =\n radix === 16\n ? isAllowedNumericSeparatorSibling.hex\n : radix === 10\n ? isAllowedNumericSeparatorSibling.dec\n : radix === 8\n ? isAllowedNumericSeparatorSibling.oct\n : isAllowedNumericSeparatorSibling.bin;\n\n let invalid = false;\n let total = 0;\n\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = this.input.charCodeAt(this.state.pos);\n let val;\n\n if (code === charCodes.underscore && allowNumSeparator !== \"bail\") {\n const prev = this.input.charCodeAt(this.state.pos - 1);\n const next = this.input.charCodeAt(this.state.pos + 1);\n\n if (!allowNumSeparator) {\n this.raise(Errors.NumericSeparatorInEscapeSequence, {\n at: this.state.curPosition(),\n });\n } else if (\n Number.isNaN(next) ||\n !isAllowedSibling(next) ||\n forbiddenSiblings.has(prev) ||\n forbiddenSiblings.has(next)\n ) {\n this.raise(Errors.UnexpectedNumericSeparator, {\n at: this.state.curPosition(),\n });\n }\n\n // Ignore this _ character\n ++this.state.pos;\n continue;\n }\n\n if (code >= charCodes.lowercaseA) {\n val = code - charCodes.lowercaseA + charCodes.lineFeed;\n } else if (code >= charCodes.uppercaseA) {\n val = code - charCodes.uppercaseA + charCodes.lineFeed;\n } else if (charCodes.isDigit(code)) {\n val = code - charCodes.digit0; // 0-9\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n // If we are in \"errorRecovery\" mode and we found a digit which is too big,\n // don't break the loop.\n\n if (this.options.errorRecovery && val <= 9) {\n val = 0;\n this.raise(Errors.InvalidDigit, {\n at: this.state.curPosition(),\n radix,\n });\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++this.state.pos;\n total = total * radix + val;\n }\n if (\n this.state.pos === start ||\n (len != null && this.state.pos - start !== len) ||\n invalid\n ) {\n return null;\n }\n\n return total;\n }\n\n readRadixNumber(radix: number): void {\n const startLoc = this.state.curPosition();\n let isBigInt = false;\n\n this.state.pos += 2; // 0x\n const val = this.readInt(radix);\n if (val == null) {\n this.raise(Errors.InvalidDigit, {\n // Numeric literals can't have newlines, so this is safe to do.\n at: createPositionWithColumnOffset(startLoc, 2),\n radix,\n });\n }\n const next = this.input.charCodeAt(this.state.pos);\n\n if (next === charCodes.lowercaseN) {\n ++this.state.pos;\n isBigInt = true;\n } else if (next === charCodes.lowercaseM) {\n throw this.raise(Errors.InvalidDecimal, { at: startLoc });\n }\n\n if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {\n throw this.raise(Errors.NumberIdentifier, {\n at: this.state.curPosition(),\n });\n }\n\n if (isBigInt) {\n const str = this.input\n .slice(startLoc.index, this.state.pos)\n .replace(/[_n]/g, \"\");\n this.finishToken(tt.bigint, str);\n return;\n }\n\n this.finishToken(tt.num, val);\n }\n\n // Read an integer, octal integer, or floating-point number.\n\n readNumber(startsWithDot: boolean): void {\n const start = this.state.pos;\n const startLoc = this.state.curPosition();\n let isFloat = false;\n let isBigInt = false;\n let isDecimal = false;\n let hasExponent = false;\n let isOctal = false;\n\n if (!startsWithDot && this.readInt(10) === null) {\n this.raise(Errors.InvalidNumber, { at: this.state.curPosition() });\n }\n const hasLeadingZero =\n this.state.pos - start >= 2 &&\n this.input.charCodeAt(start) === charCodes.digit0;\n\n if (hasLeadingZero) {\n const integer = this.input.slice(start, this.state.pos);\n this.recordStrictModeErrors(Errors.StrictOctalLiteral, { at: startLoc });\n if (!this.state.strict) {\n // disallow numeric separators in non octal decimals and legacy octal likes\n const underscorePos = integer.indexOf(\"_\");\n if (underscorePos > 0) {\n // Numeric literals can't have newlines, so this is safe to do.\n this.raise(Errors.ZeroDigitNumericSeparator, {\n at: createPositionWithColumnOffset(startLoc, underscorePos),\n });\n }\n }\n isOctal = hasLeadingZero && !/[89]/.test(integer);\n }\n\n let next = this.input.charCodeAt(this.state.pos);\n if (next === charCodes.dot && !isOctal) {\n ++this.state.pos;\n this.readInt(10);\n isFloat = true;\n next = this.input.charCodeAt(this.state.pos);\n }\n\n if (\n (next === charCodes.uppercaseE || next === charCodes.lowercaseE) &&\n !isOctal\n ) {\n next = this.input.charCodeAt(++this.state.pos);\n if (next === charCodes.plusSign || next === charCodes.dash) {\n ++this.state.pos;\n }\n if (this.readInt(10) === null) {\n this.raise(Errors.InvalidOrMissingExponent, { at: startLoc });\n }\n isFloat = true;\n hasExponent = true;\n next = this.input.charCodeAt(this.state.pos);\n }\n\n if (next === charCodes.lowercaseN) {\n // disallow floats, legacy octal syntax and non octal decimals\n // new style octal (\"0o\") is handled in this.readRadixNumber\n if (isFloat || hasLeadingZero) {\n this.raise(Errors.InvalidBigIntLiteral, { at: startLoc });\n }\n ++this.state.pos;\n isBigInt = true;\n }\n\n if (next === charCodes.lowercaseM) {\n this.expectPlugin(\"decimal\", this.state.curPosition());\n if (hasExponent || hasLeadingZero) {\n this.raise(Errors.InvalidDecimal, { at: startLoc });\n }\n ++this.state.pos;\n isDecimal = true;\n }\n\n if (isIdentifierStart(this.codePointAtPos(this.state.pos))) {\n throw this.raise(Errors.NumberIdentifier, {\n at: this.state.curPosition(),\n });\n }\n\n // remove \"_\" for numeric literal separator, and trailing `m` or `n`\n const str = this.input.slice(start, this.state.pos).replace(/[_mn]/g, \"\");\n\n if (isBigInt) {\n this.finishToken(tt.bigint, str);\n return;\n }\n\n if (isDecimal) {\n this.finishToken(tt.decimal, str);\n return;\n }\n\n const val = isOctal ? parseInt(str, 8) : parseFloat(str);\n this.finishToken(tt.num, val);\n }\n\n // Read a string value, interpreting backslash-escapes.\n\n readCodePoint(throwOnInvalid: boolean): number | null {\n const ch = this.input.charCodeAt(this.state.pos);\n let code;\n\n if (ch === charCodes.leftCurlyBrace) {\n ++this.state.pos;\n code = this.readHexChar(\n this.input.indexOf(\"}\", this.state.pos) - this.state.pos,\n true,\n throwOnInvalid,\n );\n ++this.state.pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n this.raise(Errors.InvalidCodePoint, { at: this.state.curPosition() });\n } else {\n return null;\n }\n }\n } else {\n code = this.readHexChar(4, false, throwOnInvalid);\n }\n return code;\n }\n\n readString(quote: number): void {\n let out = \"\",\n chunkStart = ++this.state.pos;\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(Errors.UnterminatedString, {\n at: this.state.startLoc,\n });\n }\n const ch = this.input.charCodeAt(this.state.pos);\n if (ch === quote) break;\n if (ch === charCodes.backslash) {\n out += this.input.slice(chunkStart, this.state.pos);\n // $FlowFixMe\n out += this.readEscapedChar(false);\n chunkStart = this.state.pos;\n } else if (\n ch === charCodes.lineSeparator ||\n ch === charCodes.paragraphSeparator\n ) {\n ++this.state.pos;\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n } else if (isNewLine(ch)) {\n throw this.raise(Errors.UnterminatedString, {\n at: this.state.startLoc,\n });\n } else {\n ++this.state.pos;\n }\n }\n out += this.input.slice(chunkStart, this.state.pos++);\n this.finishToken(tt.string, out);\n }\n\n // Reads template continuation `}...`\n readTemplateContinuation(): void {\n if (!this.match(tt.braceR)) {\n this.unexpected(null, tt.braceR);\n }\n // rewind pos to `}`\n this.state.pos--;\n this.readTemplateToken();\n }\n\n // Reads template string tokens.\n readTemplateToken(): void {\n let out = \"\",\n chunkStart = this.state.pos,\n containsInvalid = false;\n ++this.state.pos; // eat '`' or `}`\n for (;;) {\n if (this.state.pos >= this.length) {\n // FIXME: explain\n throw this.raise(Errors.UnterminatedTemplate, {\n at: createPositionWithColumnOffset(this.state.startLoc, 1),\n });\n }\n const ch = this.input.charCodeAt(this.state.pos);\n if (ch === charCodes.graveAccent) {\n ++this.state.pos; // eat '`'\n out += this.input.slice(chunkStart, this.state.pos);\n this.finishToken(tt.templateTail, containsInvalid ? null : out);\n return;\n }\n if (\n ch === charCodes.dollarSign &&\n this.input.charCodeAt(this.state.pos + 1) === charCodes.leftCurlyBrace\n ) {\n this.state.pos += 2; // eat '${'\n out += this.input.slice(chunkStart, this.state.pos);\n this.finishToken(tt.templateNonTail, containsInvalid ? null : out);\n return;\n }\n if (ch === charCodes.backslash) {\n out += this.input.slice(chunkStart, this.state.pos);\n const escaped = this.readEscapedChar(true);\n if (escaped === null) {\n containsInvalid = true;\n } else {\n out += escaped;\n }\n chunkStart = this.state.pos;\n } else if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n ++this.state.pos;\n switch (ch) {\n case charCodes.carriageReturn:\n if (this.input.charCodeAt(this.state.pos) === charCodes.lineFeed) {\n ++this.state.pos;\n }\n // fall through\n case charCodes.lineFeed:\n out += \"\\n\";\n break;\n default:\n out += String.fromCharCode(ch);\n break;\n }\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n }\n }\n\n recordStrictModeErrors(\n toParseError: DeferredStrictError,\n { at }: { at: Position },\n ) {\n const index = at.index;\n\n if (this.state.strict && !this.state.strictErrors.has(index)) {\n this.raise(toParseError, { at });\n } else {\n this.state.strictErrors.set(index, [toParseError, at]);\n }\n }\n\n // Used to read escaped characters\n readEscapedChar(inTemplate: boolean): string | null {\n const throwOnInvalid = !inTemplate;\n const ch = this.input.charCodeAt(++this.state.pos);\n ++this.state.pos;\n switch (ch) {\n case charCodes.lowercaseN:\n return \"\\n\";\n case charCodes.lowercaseR:\n return \"\\r\";\n case charCodes.lowercaseX: {\n const code = this.readHexChar(2, false, throwOnInvalid);\n return code === null ? null : String.fromCharCode(code);\n }\n case charCodes.lowercaseU: {\n const code = this.readCodePoint(throwOnInvalid);\n return code === null ? null : String.fromCodePoint(code);\n }\n case charCodes.lowercaseT:\n return \"\\t\";\n case charCodes.lowercaseB:\n return \"\\b\";\n case charCodes.lowercaseV:\n return \"\\u000b\";\n case charCodes.lowercaseF:\n return \"\\f\";\n case charCodes.carriageReturn:\n if (this.input.charCodeAt(this.state.pos) === charCodes.lineFeed) {\n ++this.state.pos;\n }\n // fall through\n case charCodes.lineFeed:\n this.state.lineStart = this.state.pos;\n ++this.state.curLine;\n // fall through\n case charCodes.lineSeparator:\n case charCodes.paragraphSeparator:\n return \"\";\n case charCodes.digit8:\n case charCodes.digit9:\n if (inTemplate) {\n return null;\n } else {\n this.recordStrictModeErrors(Errors.StrictNumericEscape, {\n // We immediately follow a \"\\\\\", and we're an 8 or a 9, so we must\n // be on the same line.\n at: createPositionWithColumnOffset(this.state.curPosition(), -1),\n });\n }\n // fall through\n default:\n if (ch >= charCodes.digit0 && ch <= charCodes.digit7) {\n // We immediately follow a \"\\\\\", and we're something between 0 and 7,\n // so we must be on the same line.\n const codePos = createPositionWithColumnOffset(\n this.state.curPosition(),\n -1,\n );\n const match = this.input\n .slice(this.state.pos - 1, this.state.pos + 2)\n .match(/^[0-7]+/);\n\n // This is never null, because of the if condition above.\n /*:: invariant(match !== null) */\n let octalStr = match[0];\n\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n this.state.pos += octalStr.length - 1;\n const next = this.input.charCodeAt(this.state.pos);\n if (\n octalStr !== \"0\" ||\n next === charCodes.digit8 ||\n next === charCodes.digit9\n ) {\n if (inTemplate) {\n return null;\n } else {\n this.recordStrictModeErrors(Errors.StrictNumericEscape, {\n at: codePos,\n });\n }\n }\n\n return String.fromCharCode(octal);\n }\n\n return String.fromCharCode(ch);\n }\n }\n\n // Used to read character escape sequences ('\\x', '\\u').\n\n readHexChar(\n len: number,\n forceLen: boolean,\n throwOnInvalid: boolean,\n ): number | null {\n const codeLoc = this.state.curPosition();\n const n = this.readInt(16, len, forceLen, false);\n if (n === null) {\n if (throwOnInvalid) {\n this.raise(Errors.InvalidEscapeSequence, { at: codeLoc });\n } else {\n this.state.pos = codeLoc.index - 1;\n }\n }\n return n;\n }\n\n // Read an identifier, and return it as a string. Sets `this.state.containsEsc`\n // to whether the word contained a '\\u' escape.\n //\n // Incrementally adds only escaped chars, adding other chunks as-is\n // as a micro-optimization.\n //\n // When `firstCode` is given, it assumes it is always an identifier start and\n // will skip reading start position again\n\n readWord1(firstCode: number | void): string {\n this.state.containsEsc = false;\n let word = \"\";\n const start = this.state.pos;\n let chunkStart = this.state.pos;\n if (firstCode !== undefined) {\n this.state.pos += firstCode <= 0xffff ? 1 : 2;\n }\n\n while (this.state.pos < this.length) {\n const ch = this.codePointAtPos(this.state.pos);\n if (isIdentifierChar(ch)) {\n this.state.pos += ch <= 0xffff ? 1 : 2;\n } else if (ch === charCodes.backslash) {\n this.state.containsEsc = true;\n\n word += this.input.slice(chunkStart, this.state.pos);\n const escStart = this.state.curPosition();\n const identifierCheck =\n this.state.pos === start ? isIdentifierStart : isIdentifierChar;\n\n if (this.input.charCodeAt(++this.state.pos) !== charCodes.lowercaseU) {\n this.raise(Errors.MissingUnicodeEscape, {\n at: this.state.curPosition(),\n });\n chunkStart = this.state.pos - 1;\n continue;\n }\n\n ++this.state.pos;\n const esc = this.readCodePoint(true);\n if (esc !== null) {\n if (!identifierCheck(esc)) {\n this.raise(Errors.EscapedCharNotAnIdentifier, { at: escStart });\n }\n\n word += String.fromCodePoint(esc);\n }\n chunkStart = this.state.pos;\n } else {\n break;\n }\n }\n return word + this.input.slice(chunkStart, this.state.pos);\n }\n\n // Read an identifier or keyword token. Will check for reserved\n // words when necessary.\n\n readWord(firstCode: number | void): void {\n const word = this.readWord1(firstCode);\n const type = keywordTypes.get(word);\n if (type !== undefined) {\n // We don't use word as state.value here because word is a dynamic string\n // while token label is a shared constant string\n this.finishToken(type, tokenLabelName(type));\n } else {\n this.finishToken(tt.name, word);\n }\n }\n\n checkKeywordEscapes(): void {\n const { type } = this.state;\n if (tokenIsKeyword(type) && this.state.containsEsc) {\n this.raise(Errors.InvalidEscapedReservedWord, {\n at: this.state.startLoc,\n reservedWord: tokenLabelName(type),\n });\n }\n }\n\n /**\n * Raise a `ParseError` given the appropriate properties. If passed a\n * `Position` for the `at` property, raises the `ParseError` at that location.\n * Otherwise, if passed a `Node`, raises the `ParseError` at the start\n * location of that `Node`.\n *\n * If `errorRecovery` is `true`, the error is pushed to the errors array and\n * returned. If `errorRecovery` is `false`, the error is instead thrown.\n *\n * @param {Class<ParseError<ErrorDetails>>>} ParseErrorClass\n * @param {RaiseProperties<ErrorDetails>} raiseProperties\n * @returns {(ParseError<ErrorDetails> | empty)}\n * @memberof Tokenizer\n */\n raise<ErrorDetails>(\n toParseError: ParseErrorConstructor<ErrorDetails>,\n raiseProperties: RaiseProperties<ErrorDetails>,\n ): ParseError<ErrorDetails> {\n const { at, ...details } = raiseProperties;\n const loc = at instanceof Position ? at : at.loc.start;\n const error = toParseError({ loc, details });\n\n if (!this.options.errorRecovery) throw error;\n if (!this.isLookahead) this.state.errors.push(error);\n\n return error;\n }\n\n /**\n * If `errorRecovery` is `false`, this method behaves identically to `raise`.\n * If `errorRecovery` is `true`, this method will first see if there is\n * already an error stored at the same `Position`, and replaces it with the\n * one generated here.\n *\n * @param {Class<ParseError<ErrorDetails>>>} ParseErrorClass\n * @param {RaiseProperties<ErrorDetails>} raiseProperties\n * @returns {(ParseError<ErrorDetails> | empty)}\n * @memberof Tokenizer\n */\n raiseOverwrite<ErrorDetails>(\n toParseError: ParseErrorConstructor<ErrorDetails>,\n raiseProperties: RaiseProperties<ErrorDetails>,\n ): ParseError<ErrorDetails> | empty {\n const { at, ...details } = raiseProperties;\n const loc = at instanceof Position ? at : at.loc.start;\n const pos = loc.index;\n const errors = this.state.errors;\n\n for (let i = errors.length - 1; i >= 0; i--) {\n const error = errors[i];\n if (error.loc.index === pos) {\n return (errors[i] = toParseError({ loc, details }));\n }\n if (error.loc.index < pos) break;\n }\n\n return this.raise(toParseError, raiseProperties);\n }\n\n // updateContext is used by the jsx plugin\n // eslint-disable-next-line no-unused-vars\n updateContext(prevType: TokenType): void {}\n\n // Raise an unexpected token error. Can take the expected token type.\n unexpected(loc?: Position | null, type?: TokenType): void {\n throw this.raise(Errors.UnexpectedToken, {\n expected: type ? tokenLabelName(type) : null,\n at: loc != null ? loc : this.state.startLoc,\n });\n }\n\n expectPlugin(pluginName: string, loc?: Position): true {\n if (this.hasPlugin(pluginName)) {\n return true;\n }\n\n throw this.raise(Errors.MissingPlugin, {\n at: loc != null ? loc : this.state.startLoc,\n missingPlugin: [pluginName],\n });\n }\n\n expectOnePlugin(pluginNames: string[]): void {\n if (!pluginNames.some(name => this.hasPlugin(name))) {\n throw this.raise(Errors.MissingOneOfPlugins, {\n at: this.state.startLoc,\n missingPlugin: pluginNames,\n });\n }\n }\n}\n","// @flow\nimport {\n SCOPE_ARROW,\n SCOPE_DIRECT_SUPER,\n SCOPE_FUNCTION,\n SCOPE_SIMPLE_CATCH,\n SCOPE_SUPER,\n SCOPE_PROGRAM,\n SCOPE_VAR,\n SCOPE_CLASS,\n SCOPE_STATIC_BLOCK,\n BIND_SCOPE_FUNCTION,\n BIND_SCOPE_VAR,\n BIND_SCOPE_LEXICAL,\n BIND_KIND_VALUE,\n type ScopeFlags,\n type BindingTypes,\n} from \"./scopeflags\";\nimport { Position } from \"./location\";\nimport * as N from \"../types\";\nimport { Errors } from \"../parse-error\";\nimport Tokenizer from \"../tokenizer\";\n\n// Start an AST node, attaching a start offset.\nexport class Scope {\n declare flags: ScopeFlags;\n // A set of var-declared names in the current lexical scope\n var: Set<string> = new Set();\n // A set of lexically-declared names in the current lexical scope\n lexical: Set<string> = new Set();\n // A set of lexically-declared FunctionDeclaration names in the current lexical scope\n functions: Set<string> = new Set();\n\n constructor(flags: ScopeFlags) {\n this.flags = flags;\n }\n}\n\n// The functions in this module keep track of declared variables in the\n// current scope in order to detect duplicate variable names.\nexport default class ScopeHandler<IScope: Scope = Scope> {\n parser: Tokenizer;\n scopeStack: Array<IScope> = [];\n inModule: boolean;\n undefinedExports: Map<string, Position> = new Map();\n\n constructor(parser: Tokenizer, inModule: boolean) {\n this.parser = parser;\n this.inModule = inModule;\n }\n\n get inFunction() {\n return (this.currentVarScopeFlags() & SCOPE_FUNCTION) > 0;\n }\n get allowSuper() {\n return (this.currentThisScopeFlags() & SCOPE_SUPER) > 0;\n }\n get allowDirectSuper() {\n return (this.currentThisScopeFlags() & SCOPE_DIRECT_SUPER) > 0;\n }\n get inClass() {\n return (this.currentThisScopeFlags() & SCOPE_CLASS) > 0;\n }\n get inClassAndNotInNonArrowFunction() {\n const flags = this.currentThisScopeFlags();\n return (flags & SCOPE_CLASS) > 0 && (flags & SCOPE_FUNCTION) === 0;\n }\n get inStaticBlock() {\n for (let i = this.scopeStack.length - 1; ; i--) {\n const { flags } = this.scopeStack[i];\n if (flags & SCOPE_STATIC_BLOCK) {\n return true;\n }\n if (flags & (SCOPE_VAR | SCOPE_CLASS)) {\n // function body, module body, class property initializers\n return false;\n }\n }\n }\n get inNonArrowFunction() {\n return (this.currentThisScopeFlags() & SCOPE_FUNCTION) > 0;\n }\n get treatFunctionsAsVar() {\n return this.treatFunctionsAsVarInScope(this.currentScope());\n }\n\n createScope(flags: ScopeFlags): Scope {\n return new Scope(flags);\n }\n // This method will be overwritten by subclasses\n /*:: +createScope: (flags: ScopeFlags) => IScope; */\n\n enter(flags: ScopeFlags) {\n this.scopeStack.push(this.createScope(flags));\n }\n\n exit() {\n this.scopeStack.pop();\n }\n\n // The spec says:\n // > At the top level of a function, or script, function declarations are\n // > treated like var declarations rather than like lexical declarations.\n treatFunctionsAsVarInScope(scope: IScope): boolean {\n return !!(\n scope.flags & (SCOPE_FUNCTION | SCOPE_STATIC_BLOCK) ||\n (!this.parser.inModule && scope.flags & SCOPE_PROGRAM)\n );\n }\n\n declareName(name: string, bindingType: BindingTypes, loc: Position) {\n let scope = this.currentScope();\n if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) {\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n\n if (bindingType & BIND_SCOPE_FUNCTION) {\n scope.functions.add(name);\n } else {\n scope.lexical.add(name);\n }\n\n if (bindingType & BIND_SCOPE_LEXICAL) {\n this.maybeExportDefined(scope, name);\n }\n } else if (bindingType & BIND_SCOPE_VAR) {\n for (let i = this.scopeStack.length - 1; i >= 0; --i) {\n scope = this.scopeStack[i];\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n scope.var.add(name);\n this.maybeExportDefined(scope, name);\n\n if (scope.flags & SCOPE_VAR) break;\n }\n }\n if (this.parser.inModule && scope.flags & SCOPE_PROGRAM) {\n this.undefinedExports.delete(name);\n }\n }\n\n maybeExportDefined(scope: IScope, name: string) {\n if (this.parser.inModule && scope.flags & SCOPE_PROGRAM) {\n this.undefinedExports.delete(name);\n }\n }\n\n checkRedeclarationInScope(\n scope: IScope,\n name: string,\n bindingType: BindingTypes,\n loc: Position,\n ) {\n if (this.isRedeclaredInScope(scope, name, bindingType)) {\n this.parser.raise(Errors.VarRedeclaration, {\n at: loc,\n identifierName: name,\n });\n }\n }\n\n isRedeclaredInScope(\n scope: IScope,\n name: string,\n bindingType: BindingTypes,\n ): boolean {\n if (!(bindingType & BIND_KIND_VALUE)) return false;\n\n if (bindingType & BIND_SCOPE_LEXICAL) {\n return (\n scope.lexical.has(name) ||\n scope.functions.has(name) ||\n scope.var.has(name)\n );\n }\n\n if (bindingType & BIND_SCOPE_FUNCTION) {\n return (\n scope.lexical.has(name) ||\n (!this.treatFunctionsAsVarInScope(scope) && scope.var.has(name))\n );\n }\n\n return (\n (scope.lexical.has(name) &&\n !(\n scope.flags & SCOPE_SIMPLE_CATCH &&\n scope.lexical.values().next().value === name\n )) ||\n (!this.treatFunctionsAsVarInScope(scope) && scope.functions.has(name))\n );\n }\n\n checkLocalExport(id: N.Identifier) {\n const { name } = id;\n const topLevelScope = this.scopeStack[0];\n if (\n !topLevelScope.lexical.has(name) &&\n !topLevelScope.var.has(name) &&\n // In strict mode, scope.functions will always be empty.\n // Modules are strict by default, but the `scriptMode` option\n // can overwrite this behavior.\n !topLevelScope.functions.has(name)\n ) {\n this.undefinedExports.set(name, id.loc.start);\n }\n }\n\n currentScope(): IScope {\n return this.scopeStack[this.scopeStack.length - 1];\n }\n\n // $FlowIgnore\n currentVarScopeFlags(): ScopeFlags {\n for (let i = this.scopeStack.length - 1; ; i--) {\n const { flags } = this.scopeStack[i];\n if (flags & SCOPE_VAR) {\n return flags;\n }\n }\n }\n\n // Could be useful for `arguments`, `this`, `new.target`, `super()`, `super.property`, and `super[property]`.\n // $FlowIgnore\n currentThisScopeFlags(): ScopeFlags {\n for (let i = this.scopeStack.length - 1; ; i--) {\n const { flags } = this.scopeStack[i];\n if (flags & (SCOPE_VAR | SCOPE_CLASS) && !(flags & SCOPE_ARROW)) {\n return flags;\n }\n }\n }\n}\n","// @flow\n\nimport { Position } from \"../../util/location\";\nimport ScopeHandler, { Scope } from \"../../util/scope\";\nimport {\n BIND_FLAGS_FLOW_DECLARE_FN,\n type ScopeFlags,\n type BindingTypes,\n} from \"../../util/scopeflags\";\nimport * as N from \"../../types\";\n\n// Reference implementation: https://github.com/facebook/flow/blob/23aeb2a2ef6eb4241ce178fde5d8f17c5f747fb5/src/typing/env.ml#L536-L584\nclass FlowScope extends Scope {\n // declare function foo(): type;\n declareFunctions: Set<string> = new Set();\n}\n\nexport default class FlowScopeHandler extends ScopeHandler<FlowScope> {\n createScope(flags: ScopeFlags): FlowScope {\n return new FlowScope(flags);\n }\n\n declareName(name: string, bindingType: BindingTypes, loc: Position) {\n const scope = this.currentScope();\n if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n this.maybeExportDefined(scope, name);\n scope.declareFunctions.add(name);\n return;\n }\n\n super.declareName(...arguments);\n }\n\n isRedeclaredInScope(\n scope: FlowScope,\n name: string,\n bindingType: BindingTypes,\n ): boolean {\n if (super.isRedeclaredInScope(...arguments)) return true;\n\n if (bindingType & BIND_FLAGS_FLOW_DECLARE_FN) {\n return (\n !scope.declareFunctions.has(name) &&\n (scope.lexical.has(name) || scope.functions.has(name))\n );\n }\n\n return false;\n }\n\n checkLocalExport(id: N.Identifier) {\n if (!this.scopeStack[0].declareFunctions.has(id.name)) {\n super.checkLocalExport(id);\n }\n }\n}\n","// @flow\n\nimport {\n CLASS_ELEMENT_KIND_ACCESSOR,\n CLASS_ELEMENT_FLAG_STATIC,\n type ClassElementTypes,\n} from \"./scopeflags\";\nimport { Position } from \"./location\";\nimport { Errors } from \"../parse-error\";\nimport Tokenizer from \"../tokenizer\";\n\nexport class ClassScope {\n // A list of private named declared in the current class\n privateNames: Set<string> = new Set();\n\n // A list of private getters of setters without their counterpart\n loneAccessors: Map<string, ClassElementTypes> = new Map();\n\n // A list of private names used before being defined, mapping to\n // their position.\n undefinedPrivateNames: Map<string, Position> = new Map();\n}\n\nexport default class ClassScopeHandler {\n parser: Tokenizer;\n stack: Array<ClassScope> = [];\n undefinedPrivateNames: Map<string, Position> = new Map();\n\n constructor(parser: Tokenizer) {\n this.parser = parser;\n }\n\n current(): ClassScope {\n return this.stack[this.stack.length - 1];\n }\n\n enter() {\n this.stack.push(new ClassScope());\n }\n\n exit() {\n const oldClassScope = this.stack.pop();\n\n // Migrate the usage of not yet defined private names to the outer\n // class scope, or raise an error if we reached the top-level scope.\n\n const current = this.current();\n\n // Array.from is needed because this is compiled to an array-like for loop\n for (const [name, loc] of Array.from(oldClassScope.undefinedPrivateNames)) {\n if (current) {\n if (!current.undefinedPrivateNames.has(name)) {\n current.undefinedPrivateNames.set(name, loc);\n }\n } else {\n this.parser.raise(Errors.InvalidPrivateFieldResolution, {\n at: loc,\n identifierName: name,\n });\n }\n }\n }\n\n declarePrivateName(\n name: string,\n elementType: ClassElementTypes,\n loc: Position,\n ) {\n const { privateNames, loneAccessors, undefinedPrivateNames } =\n this.current();\n let redefined = privateNames.has(name);\n\n if (elementType & CLASS_ELEMENT_KIND_ACCESSOR) {\n const accessor = redefined && loneAccessors.get(name);\n if (accessor) {\n const oldStatic = accessor & CLASS_ELEMENT_FLAG_STATIC;\n const newStatic = elementType & CLASS_ELEMENT_FLAG_STATIC;\n\n const oldKind = accessor & CLASS_ELEMENT_KIND_ACCESSOR;\n const newKind = elementType & CLASS_ELEMENT_KIND_ACCESSOR;\n\n // The private name can be duplicated only if it is used by\n // two accessors with different kind (get and set), and if\n // they have the same placement (static or not).\n redefined = oldKind === newKind || oldStatic !== newStatic;\n\n if (!redefined) loneAccessors.delete(name);\n } else if (!redefined) {\n loneAccessors.set(name, elementType);\n }\n }\n\n if (redefined) {\n this.parser.raise(Errors.PrivateNameRedeclaration, {\n at: loc,\n identifierName: name,\n });\n }\n\n privateNames.add(name);\n undefinedPrivateNames.delete(name);\n }\n\n usePrivateName(name: string, loc: Position) {\n let classScope;\n for (classScope of this.stack) {\n if (classScope.privateNames.has(name)) return;\n }\n\n if (classScope) {\n classScope.undefinedPrivateNames.set(name, loc);\n } else {\n // top-level\n this.parser.raise(Errors.InvalidPrivateFieldResolution, {\n at: loc,\n identifierName: name,\n });\n }\n }\n}\n","// @flow\n\nimport { Errors, type ParseErrorConstructor } from \"../parse-error\";\nimport { Position } from \"./location\";\nimport type { Node } from \"../types\";\nimport Tokenizer from \"../tokenizer\";\n\n/*:: declare var invariant; */\n/**\n * @module util/expression-scope\n\nExpressionScope is used to track declaration errors in these ambiguous patterns:\n\n- CoverParenthesizedExpressionAndArrowParameterList\n e.g. we don't know if `({ x })` is an parenthesized expression or an\n arrow function parameters until we see an `=>` after `)`.\n\n- CoverCallExpressionAndAsyncArrowHead\n e.g. we don't know if `async({ x })` is a call expression or an async arrow\n function parameters until we see an `=>` after `)`\n\nThe following declaration errors (@see parser-errors/standard) will be recorded in\nsome expression scopes and thrown later when we know what the ambiguous pattern is\n\n- AwaitBindingIdentifier\n- AwaitExpressionFormalParameter\n- YieldInParameter\n- InvalidParenthesizedAssignment when parenthesized is an identifier\n\nThere are four different expression scope\n- Expression\n A general scope that represents program / function body / static block. No errors\n will be recorded nor thrown in this scope.\n\n- MaybeArrowParameterDeclaration\n A scope that represents ambiguous arrow head e.g. `(x)`. Errors will be recorded\n alongside parent scopes and thrown when `ExpressionScopeHandler#validateAsPattern`\n is called.\n\n- MaybeAsyncArrowParameterDeclaration\n A scope that represents ambiguous async arrow head e.g. `async(x)`. Errors will\n be recorded alongside parent scopes and thrown when\n `ExpressionScopeHandler#validateAsPattern` is called.\n\n- ParameterDeclaration\n A scope that represents unambiguous function parameters `function(x)`. Errors\n recorded in this scope will be thrown immediately. No errors will be recorded in\n this scope.\n\n// @see {@link https://docs.google.com/document/d/1FAvEp9EUK-G8kHfDIEo_385Hs2SUBCYbJ5H-NnLvq8M|V8 Expression Scope design docs}\n */\n\nconst kExpression = 0,\n kMaybeArrowParameterDeclaration = 1,\n kMaybeAsyncArrowParameterDeclaration = 2,\n kParameterDeclaration = 3;\n\ntype ExpressionScopeType = 0 | 1 | 2 | 3;\n\nclass ExpressionScope {\n type: ExpressionScopeType;\n\n constructor(type: ExpressionScopeType = kExpression) {\n this.type = type;\n }\n\n canBeArrowParameterDeclaration() {\n return (\n this.type === kMaybeAsyncArrowParameterDeclaration ||\n this.type === kMaybeArrowParameterDeclaration\n );\n }\n\n isCertainlyParameterDeclaration() {\n return this.type === kParameterDeclaration;\n }\n}\n\ntype ArrowHeadParsingParameterInitializerError =\n | typeof Errors.AwaitExpressionFormalParameter\n | typeof Errors.YieldInParameter;\n\ntype ArrowHeadParsingDeclarationError =\n | ArrowHeadParsingParameterInitializerError\n | typeof Errors.InvalidParenthesizedAssignment\n | typeof Errors.AwaitBindingIdentifier;\n\nclass ArrowHeadParsingScope extends ExpressionScope {\n declarationErrors: Map<number, [ParseErrorConstructor<{||}>, Position]> =\n new Map();\n constructor(type: 1 | 2) {\n super(type);\n }\n recordDeclarationError(\n ParsingErrorClass: ParseErrorConstructor<{||}>,\n { at }: { at: Position },\n ) {\n const index = at.index;\n\n this.declarationErrors.set(index, [ParsingErrorClass, at]);\n }\n clearDeclarationError(index: number) {\n this.declarationErrors.delete(index);\n }\n iterateErrors(\n iterator: ([ArrowHeadParsingDeclarationError, Position]) => void,\n ) {\n this.declarationErrors.forEach(iterator);\n }\n}\n\nexport default class ExpressionScopeHandler {\n parser: Tokenizer;\n stack: Array<ExpressionScope> = [new ExpressionScope()];\n\n constructor(parser: Tokenizer) {\n this.parser = parser;\n }\n enter(scope: ExpressionScope) {\n this.stack.push(scope);\n }\n\n exit() {\n this.stack.pop();\n }\n\n /**\n * Record likely parameter initializer errors\n *\n * When current scope is a ParameterDeclaration, the error will be thrown immediately,\n * otherwise it will be recorded to any ancestry MaybeArrowParameterDeclaration and\n * MaybeAsyncArrowParameterDeclaration scope until an Expression scope is seen.\n * @param {number} pos Error position\n * @param {ErrorTemplate} template Error template\n * @memberof ExpressionScopeHandler\n */\n recordParameterInitializerError(\n toParseError: ArrowHeadParsingParameterInitializerError,\n { at: node }: { at: Node },\n ): void {\n const origin = { at: node.loc.start };\n const { stack } = this;\n let i = stack.length - 1;\n let scope: ExpressionScope = stack[i];\n while (!scope.isCertainlyParameterDeclaration()) {\n if (scope.canBeArrowParameterDeclaration()) {\n /*:: invariant(scope instanceof ArrowHeadParsingScope) */\n scope.recordDeclarationError(toParseError, origin);\n } else {\n /*:: invariant(scope.type == kExpression) */\n // Type-Expression is the boundary where initializer error can populate to\n return;\n }\n scope = stack[--i];\n }\n this.parser.raise(toParseError, origin);\n }\n\n /**\n * Record errors that must be thrown if the current pattern ends up being an arrow\n * function parameter. This is used to record parenthesized identifiers, and to record\n * \"a as T\" and \"<T> a\" type assertions when parsing typescript.\n *\n * A parenthesized identifier (or type assertion) in LHS can be ambiguous because the assignment\n * can be transformed to an assignable later, but not vice versa:\n * For example, in `([(a) = []] = []) => {}`, we think `(a) = []` is an LHS in `[(a) = []]`,\n * an LHS within `[(a) = []] = []`. However the LHS chain is then transformed by toAssignable,\n * and we should throw assignment `(a)`, which is only valid in LHS. Hence we record the\n * location of parenthesized `(a)` to current scope if it is one of MaybeArrowParameterDeclaration\n * and MaybeAsyncArrowParameterDeclaration\n *\n * Unlike `recordParameterInitializerError`, we don't record to ancestry scope because we\n * validate arrow head parsing scope before exit, and then the LHS will be unambiguous:\n * For example, in `( x = ( [(a) = []] = [] ) ) => {}`, we should not record `(a)` in `( x = ... ) =>`\n * arrow scope because when we finish parsing `( [(a) = []] = [] )`, it is an unambiguous assignment\n * expression and can not be cast to pattern\n * @param {ParseErrorConstructor<{||}>} error\n * @param {Node} payload.at\n * @returns {void}\n * @memberof ExpressionScopeHandler\n */\n recordArrowParemeterBindingError(\n error: ParseErrorConstructor<{||}>,\n { at: node }: { at: Node },\n ): void {\n const { stack } = this;\n const scope: ExpressionScope = stack[stack.length - 1];\n const origin = { at: node.loc.start };\n if (scope.isCertainlyParameterDeclaration()) {\n this.parser.raise(error, origin);\n } else if (scope.canBeArrowParameterDeclaration()) {\n /*:: invariant(scope instanceof ArrowHeadParsingScope) */\n scope.recordDeclarationError(error, origin);\n } else {\n return;\n }\n }\n\n /**\n * Record likely async arrow parameter errors\n *\n * Errors will be recorded to any ancestry MaybeAsyncArrowParameterDeclaration\n * scope until an Expression scope is seen.\n * @param {number} pos\n * @param {ErrorTemplate} template\n * @memberof ExpressionScopeHandler\n */\n recordAsyncArrowParametersError({ at }: { at: Position }): void {\n const { stack } = this;\n let i = stack.length - 1;\n let scope: ExpressionScope = stack[i];\n while (scope.canBeArrowParameterDeclaration()) {\n if (scope.type === kMaybeAsyncArrowParameterDeclaration) {\n /*:: invariant(scope instanceof ArrowHeadParsingScope) */\n scope.recordDeclarationError(Errors.AwaitBindingIdentifier, { at });\n }\n scope = stack[--i];\n }\n }\n\n validateAsPattern(): void {\n const { stack } = this;\n const currentScope = stack[stack.length - 1];\n if (!currentScope.canBeArrowParameterDeclaration()) return;\n /*:: invariant(currentScope instanceof ArrowHeadParsingScope) */\n currentScope.iterateErrors(([toParseError, loc]) => {\n this.parser.raise(toParseError, { at: loc });\n // iterate from parent scope\n let i = stack.length - 2;\n let scope = stack[i];\n while (scope.canBeArrowParameterDeclaration()) {\n /*:: invariant(scope instanceof ArrowHeadParsingScope) */\n scope.clearDeclarationError(loc.index);\n scope = stack[--i];\n }\n });\n }\n}\n\nexport function newParameterDeclarationScope() {\n return new ExpressionScope(kParameterDeclaration);\n}\n\nexport function newArrowHeadScope() {\n return new ArrowHeadParsingScope(kMaybeArrowParameterDeclaration);\n}\n\nexport function newAsyncArrowScope() {\n return new ArrowHeadParsingScope(kMaybeAsyncArrowParameterDeclaration);\n}\n\nexport function newExpressionScope() {\n return new ExpressionScope();\n}\n","// @flow\nexport const PARAM = 0b0000, // Initial Parameter flags\n PARAM_YIELD = 0b0001, // track [Yield] production parameter\n PARAM_AWAIT = 0b0010, // track [Await] production parameter\n PARAM_RETURN = 0b0100, // track [Return] production parameter\n PARAM_IN = 0b1000; // track [In] production parameter\n\n// ProductionParameterHandler is a stack fashioned production parameter tracker\n// https://tc39.es/ecma262/#sec-grammar-notation\n// The tracked parameters are defined above.\n//\n// Whenever [+Await]/[+Yield] appears in the right-hand sides of a production,\n// we must enter a new tracking stack. For example when parsing\n//\n// AsyncFunctionDeclaration [Yield, Await]:\n// async [no LineTerminator here] function BindingIdentifier[?Yield, ?Await]\n// ( FormalParameters[~Yield, +Await] ) { AsyncFunctionBody }\n//\n// we must follow such process:\n//\n// 1. parse async keyword\n// 2. parse function keyword\n// 3. parse bindingIdentifier <= inherit current parameters: [?Await]\n// 4. enter new stack with (PARAM_AWAIT)\n// 5. parse formal parameters <= must have [Await] parameter [+Await]\n// 6. parse function body\n// 7. exit current stack\n\nexport type ParamKind =\n | typeof PARAM\n | typeof PARAM_AWAIT\n | typeof PARAM_IN\n | typeof PARAM_RETURN\n | typeof PARAM_YIELD;\n\nexport default class ProductionParameterHandler {\n stacks: Array<ParamKind> = [];\n enter(flags: ParamKind) {\n this.stacks.push(flags);\n }\n\n exit() {\n this.stacks.pop();\n }\n\n currentFlags(): ParamKind {\n return this.stacks[this.stacks.length - 1];\n }\n\n get hasAwait(): boolean {\n return (this.currentFlags() & PARAM_AWAIT) > 0;\n }\n\n get hasYield(): boolean {\n return (this.currentFlags() & PARAM_YIELD) > 0;\n }\n\n get hasReturn(): boolean {\n return (this.currentFlags() & PARAM_RETURN) > 0;\n }\n\n get hasIn(): boolean {\n return (this.currentFlags() & PARAM_IN) > 0;\n }\n}\n\nexport function functionFlags(\n isAsync: boolean,\n isGenerator: boolean,\n): ParamKind {\n return (isAsync ? PARAM_AWAIT : 0) | (isGenerator ? PARAM_YIELD : 0);\n}\n","// @flow\n\nimport { type Position } from \"../util/location\";\nimport {\n tokenIsLiteralPropertyName,\n tt,\n type TokenType,\n} from \"../tokenizer/types\";\nimport Tokenizer from \"../tokenizer\";\nimport State from \"../tokenizer/state\";\nimport type { Node } from \"../types\";\nimport { lineBreak, skipWhiteSpaceToLineBreak } from \"../util/whitespace\";\nimport { isIdentifierChar } from \"../util/identifier\";\nimport ClassScopeHandler from \"../util/class-scope\";\nimport ExpressionScopeHandler from \"../util/expression-scope\";\nimport { SCOPE_PROGRAM } from \"../util/scopeflags\";\nimport ProductionParameterHandler, {\n PARAM_AWAIT,\n PARAM,\n} from \"../util/production-parameter\";\nimport {\n Errors,\n type ParseError,\n type ParseErrorConstructor,\n} from \"../parse-error\";\n/*::\nimport type ScopeHandler from \"../util/scope\";\n*/\n\ntype TryParse<Node, Error, Thrown, Aborted, FailState> = {\n node: Node,\n error: Error,\n thrown: Thrown,\n aborted: Aborted,\n failState: FailState,\n};\n\n// ## Parser utilities\n\nexport default class UtilParser extends Tokenizer {\n // Forward-declaration: defined in parser/index.js\n /*::\n +getScopeHandler: () => Class<ScopeHandler<*>>;\n */\n\n // TODO\n\n addExtra(\n node: Node,\n key: string,\n value: any,\n enumerable: boolean = true,\n ): void {\n if (!node) return;\n\n const extra = (node.extra = node.extra || {});\n if (enumerable) {\n extra[key] = value;\n } else {\n Object.defineProperty(extra, key, { enumerable, value });\n }\n }\n\n // Tests whether parsed token is a contextual keyword.\n\n isContextual(token: TokenType): boolean {\n return this.state.type === token && !this.state.containsEsc;\n }\n\n isUnparsedContextual(nameStart: number, name: string): boolean {\n const nameEnd = nameStart + name.length;\n if (this.input.slice(nameStart, nameEnd) === name) {\n const nextCh = this.input.charCodeAt(nameEnd);\n return !(\n isIdentifierChar(nextCh) ||\n // check if `nextCh is between 0xd800 - 0xdbff,\n // if `nextCh` is NaN, `NaN & 0xfc00` is 0, the function\n // returns true\n (nextCh & 0xfc00) === 0xd800\n );\n }\n return false;\n }\n\n isLookaheadContextual(name: string): boolean {\n const next = this.nextTokenStart();\n return this.isUnparsedContextual(next, name);\n }\n\n // Consumes contextual keyword if possible.\n\n eatContextual(token: TokenType): boolean {\n if (this.isContextual(token)) {\n this.next();\n return true;\n }\n return false;\n }\n\n // Asserts that following token is given contextual keyword.\n\n expectContextual(\n token: TokenType,\n toParseError?: ParseErrorConstructor<any>,\n ): void {\n if (!this.eatContextual(token)) {\n if (toParseError != null) {\n throw this.raise(toParseError, { at: this.state.startLoc });\n }\n throw this.unexpected(null, token);\n }\n }\n\n // Test whether a semicolon can be inserted at the current position.\n\n canInsertSemicolon(): boolean {\n return (\n this.match(tt.eof) ||\n this.match(tt.braceR) ||\n this.hasPrecedingLineBreak()\n );\n }\n\n hasPrecedingLineBreak(): boolean {\n return lineBreak.test(\n this.input.slice(this.state.lastTokEndLoc.index, this.state.start),\n );\n }\n\n hasFollowingLineBreak(): boolean {\n skipWhiteSpaceToLineBreak.lastIndex = this.state.end;\n return skipWhiteSpaceToLineBreak.test(this.input);\n }\n\n // TODO\n\n isLineTerminator(): boolean {\n return this.eat(tt.semi) || this.canInsertSemicolon();\n }\n\n // Consume a semicolon, or, failing that, see if we are allowed to\n // pretend that there is a semicolon at this position.\n\n semicolon(allowAsi: boolean = true): void {\n if (allowAsi ? this.isLineTerminator() : this.eat(tt.semi)) return;\n this.raise(Errors.MissingSemicolon, { at: this.state.lastTokEndLoc });\n }\n\n // Expect a token of a given type. If found, consume it, otherwise,\n // raise an unexpected token error at given pos.\n\n expect(type: TokenType, loc?: ?Position): void {\n this.eat(type) || this.unexpected(loc, type);\n }\n\n // tryParse will clone parser state.\n // It is expensive and should be used with cautions\n tryParse<T: Node | $ReadOnlyArray<Node>>(\n fn: (abort: (node?: T) => empty) => T,\n oldState: State = this.state.clone(),\n ):\n | TryParse<T, null, false, false, null>\n | TryParse<T | null, ParseError<any>, boolean, false, State>\n | TryParse<T | null, null, false, true, State> {\n const abortSignal: { node: T | null } = { node: null };\n try {\n const node = fn((node = null) => {\n abortSignal.node = node;\n throw abortSignal;\n });\n if (this.state.errors.length > oldState.errors.length) {\n const failState = this.state;\n this.state = oldState;\n // tokensLength should be preserved during error recovery mode\n // since the parser does not halt and will instead parse the\n // remaining tokens\n this.state.tokensLength = failState.tokensLength;\n return {\n node,\n error: (failState.errors[oldState.errors.length]: ParseError<any>),\n thrown: false,\n aborted: false,\n failState,\n };\n }\n\n return {\n node,\n error: null,\n thrown: false,\n aborted: false,\n failState: null,\n };\n } catch (error) {\n const failState = this.state;\n this.state = oldState;\n if (error instanceof SyntaxError) {\n return { node: null, error, thrown: true, aborted: false, failState };\n }\n if (error === abortSignal) {\n return {\n node: abortSignal.node,\n error: null,\n thrown: false,\n aborted: true,\n failState,\n };\n }\n\n throw error;\n }\n }\n\n checkExpressionErrors(\n refExpressionErrors: ?ExpressionErrors,\n andThrow: boolean,\n ) {\n if (!refExpressionErrors) return false;\n const {\n shorthandAssignLoc,\n doubleProtoLoc,\n privateKeyLoc,\n optionalParametersLoc,\n } = refExpressionErrors;\n\n const hasErrors =\n !!shorthandAssignLoc ||\n !!doubleProtoLoc ||\n !!optionalParametersLoc ||\n !!privateKeyLoc;\n\n if (!andThrow) {\n return hasErrors;\n }\n\n if (shorthandAssignLoc != null) {\n this.raise(Errors.InvalidCoverInitializedName, {\n at: shorthandAssignLoc,\n });\n }\n\n if (doubleProtoLoc != null) {\n this.raise(Errors.DuplicateProto, { at: doubleProtoLoc });\n }\n\n if (privateKeyLoc != null) {\n this.raise(Errors.UnexpectedPrivateField, { at: privateKeyLoc });\n }\n\n if (optionalParametersLoc != null) {\n this.unexpected(optionalParametersLoc);\n }\n }\n\n /**\n * Test if current token is a literal property name\n * https://tc39.es/ecma262/#prod-LiteralPropertyName\n * LiteralPropertyName:\n * IdentifierName\n * StringLiteral\n * NumericLiteral\n * BigIntLiteral\n */\n isLiteralPropertyName(): boolean {\n return tokenIsLiteralPropertyName(this.state.type);\n }\n\n /*\n * Test if given node is a PrivateName\n * will be overridden in ESTree plugin\n */\n isPrivateName(node: Node): boolean {\n return node.type === \"PrivateName\";\n }\n\n /*\n * Return the string value of a given private name\n * WITHOUT `#`\n * @see {@link https://tc39.es/ecma262/#sec-static-semantics-stringvalue}\n */\n getPrivateNameSV(node: Node): string {\n return node.id.name;\n }\n\n /*\n * Return whether the given node is a member/optional chain that\n * contains a private name as its property\n * It is overridden in ESTree plugin\n */\n hasPropertyAsPrivateName(node: Node): boolean {\n return (\n (node.type === \"MemberExpression\" ||\n node.type === \"OptionalMemberExpression\") &&\n this.isPrivateName(node.property)\n );\n }\n\n isOptionalChain(node: Node): boolean {\n return (\n node.type === \"OptionalMemberExpression\" ||\n node.type === \"OptionalCallExpression\"\n );\n }\n\n isObjectProperty(node: Node): boolean {\n return node.type === \"ObjectProperty\";\n }\n\n isObjectMethod(node: Node): boolean {\n return node.type === \"ObjectMethod\";\n }\n\n initializeScopes(\n inModule: boolean = this.options.sourceType === \"module\",\n ): () => void {\n // Initialize state\n const oldLabels = this.state.labels;\n this.state.labels = [];\n\n const oldExportedIdentifiers = this.exportedIdentifiers;\n this.exportedIdentifiers = new Set();\n\n // initialize scopes\n const oldInModule = this.inModule;\n this.inModule = inModule;\n\n const oldScope = this.scope;\n const ScopeHandler = this.getScopeHandler();\n this.scope = new ScopeHandler(this, inModule);\n\n const oldProdParam = this.prodParam;\n this.prodParam = new ProductionParameterHandler();\n\n const oldClassScope = this.classScope;\n this.classScope = new ClassScopeHandler(this);\n\n const oldExpressionScope = this.expressionScope;\n this.expressionScope = new ExpressionScopeHandler(this);\n\n return () => {\n // Revert state\n this.state.labels = oldLabels;\n this.exportedIdentifiers = oldExportedIdentifiers;\n\n // Revert scopes\n this.inModule = oldInModule;\n this.scope = oldScope;\n this.prodParam = oldProdParam;\n this.classScope = oldClassScope;\n this.expressionScope = oldExpressionScope;\n };\n }\n\n enterInitialScopes() {\n let paramFlags = PARAM;\n if (this.inModule) {\n paramFlags |= PARAM_AWAIT;\n }\n this.scope.enter(SCOPE_PROGRAM);\n this.prodParam.enter(paramFlags);\n }\n\n checkDestructuringPrivate(refExpressionErrors: ExpressionErrors) {\n const { privateKeyLoc } = refExpressionErrors;\n if (privateKeyLoc !== null) {\n this.expectPlugin(\"destructuringPrivate\", privateKeyLoc);\n }\n }\n}\n\n/**\n * The ExpressionErrors is a context struct used to track ambiguous patterns\n * When we are sure the parsed pattern is a RHS, which means it is not a pattern,\n * we will throw on this position on invalid assign syntax, otherwise it will be reset to -1\n *\n * Types of ExpressionErrors:\n *\n * - **shorthandAssignLoc**: track initializer `=` position\n * - **doubleProtoLoc**: track the duplicate `__proto__` key position\n * - **privateKey**: track private key `#p` position\n * - **optionalParametersLoc**: track the optional paramter (`?`).\n * It's only used by typescript and flow plugins\n */\nexport class ExpressionErrors {\n shorthandAssignLoc: ?Position = null;\n doubleProtoLoc: ?Position = null;\n privateKeyLoc: ?Position = null;\n optionalParametersLoc: ?Position = null;\n}\n","// @flow\n\nimport type Parser from \"./index\";\nimport UtilParser from \"./util\";\nimport { SourceLocation, type Position } from \"../util/location\";\nimport type { Comment, Node as NodeType, NodeBase } from \"../types\";\n\n// Start an AST node, attaching a start offset.\n\nclass Node implements NodeBase {\n constructor(parser: Parser, pos: number, loc: Position) {\n this.start = pos;\n this.end = 0;\n this.loc = new SourceLocation(loc);\n if (parser?.options.ranges) this.range = [pos, 0];\n if (parser?.filename) this.loc.filename = parser.filename;\n }\n\n type: string = \"\";\n declare start: number;\n declare end: number;\n declare loc: SourceLocation;\n declare range: [number, number];\n declare leadingComments: Array<Comment>;\n declare trailingComments: Array<Comment>;\n declare innerComments: Array<Comment>;\n declare extra: { [key: string]: any };\n}\nconst NodePrototype = Node.prototype;\n\nif (!process.env.BABEL_8_BREAKING) {\n // $FlowIgnore\n NodePrototype.__clone = function (): Node {\n // $FlowIgnore\n const newNode: any = new Node();\n const keys = Object.keys(this);\n for (let i = 0, length = keys.length; i < length; i++) {\n const key = keys[i];\n // Do not clone comments that are already attached to the node\n if (\n key !== \"leadingComments\" &&\n key !== \"trailingComments\" &&\n key !== \"innerComments\"\n ) {\n newNode[key] = this[key];\n }\n }\n\n return newNode;\n };\n}\n\nfunction clonePlaceholder(node: any): any {\n return cloneIdentifier(node);\n}\n\nexport function cloneIdentifier(node: any): any {\n // We don't need to clone `typeAnnotations` and `optional`: because\n // cloneIdentifier is only used in object shorthand and named import/export.\n // Neither of them allow type annotations after the identifier or optional identifier\n const { type, start, end, loc, range, extra, name } = node;\n const cloned = Object.create(NodePrototype);\n cloned.type = type;\n cloned.start = start;\n cloned.end = end;\n cloned.loc = loc;\n cloned.range = range;\n cloned.extra = extra;\n cloned.name = name;\n if (type === \"Placeholder\") {\n cloned.expectedNode = node.expectedNode;\n }\n return cloned;\n}\n\nexport function cloneStringLiteral(node: any): any {\n const { type, start, end, loc, range, extra } = node;\n if (type === \"Placeholder\") {\n return clonePlaceholder(node);\n }\n const cloned = Object.create(NodePrototype);\n cloned.type = type;\n cloned.start = start;\n cloned.end = end;\n cloned.loc = loc;\n cloned.range = range;\n if (node.raw !== undefined) {\n // estree set node.raw instead of node.extra\n cloned.raw = node.raw;\n } else {\n cloned.extra = extra;\n }\n cloned.value = node.value;\n return cloned;\n}\n\nexport class NodeUtils extends UtilParser {\n startNode<T: NodeType>(): T {\n // $FlowIgnore\n return new Node(this, this.state.start, this.state.startLoc);\n }\n\n startNodeAt<T: NodeType>(pos: number, loc: Position): T {\n // $FlowIgnore\n return new Node(this, pos, loc);\n }\n\n /** Start a new node with a previous node's location. */\n startNodeAtNode<T: NodeType>(type: NodeType): T {\n return this.startNodeAt(type.start, type.loc.start);\n }\n\n // Finish an AST node, adding `type` and `end` properties.\n\n finishNode<T: NodeType>(node: T, type: string): T {\n return this.finishNodeAt(node, type, this.state.lastTokEndLoc);\n }\n\n // Finish node at given position\n\n finishNodeAt<T: NodeType>(node: T, type: string, endLoc: Position): T {\n if (process.env.NODE_ENV !== \"production\" && node.end > 0) {\n throw new Error(\n \"Do not call finishNode*() twice on the same node.\" +\n \" Instead use resetEndLocation() or change type directly.\",\n );\n }\n node.type = type;\n node.end = endLoc.index;\n node.loc.end = endLoc;\n if (this.options.ranges) node.range[1] = endLoc.index;\n if (this.options.attachComment) this.processComment(node);\n return node;\n }\n\n resetStartLocation(node: NodeBase, start: number, startLoc: Position): void {\n node.start = start;\n node.loc.start = startLoc;\n if (this.options.ranges) node.range[0] = start;\n }\n\n resetEndLocation(\n node: NodeBase,\n endLoc?: Position = this.state.lastTokEndLoc,\n ): void {\n node.end = endLoc.index;\n node.loc.end = endLoc;\n if (this.options.ranges) node.range[1] = endLoc.index;\n }\n\n /**\n * Reset the start location of node to the start location of locationNode\n */\n resetStartLocationFromNode(node: NodeBase, locationNode: NodeBase): void {\n this.resetStartLocation(node, locationNode.start, locationNode.loc.start);\n }\n}\n","// @flow\n\n/*:: declare var invariant; */\n\nimport type Parser from \"../../parser\";\nimport {\n tokenIsIdentifier,\n tokenIsKeyword,\n tokenIsKeywordOrIdentifier,\n tokenIsLiteralPropertyName,\n tokenLabelName,\n tt,\n type TokenType,\n tokenIsFlowInterfaceOrTypeOrOpaque,\n} from \"../../tokenizer/types\";\nimport * as N from \"../../types\";\nimport { Position } from \"../../util/location\";\nimport { types as tc } from \"../../tokenizer/context\";\nimport * as charCodes from \"charcodes\";\nimport { isIteratorStart } from \"../../util/identifier\";\nimport FlowScopeHandler from \"./scope\";\nimport {\n BIND_LEXICAL,\n BIND_VAR,\n BIND_FUNCTION,\n BIND_FLOW_DECLARE_FN,\n SCOPE_ARROW,\n SCOPE_FUNCTION,\n SCOPE_OTHER,\n} from \"../../util/scopeflags\";\nimport type { ExpressionErrors } from \"../../parser/util\";\nimport { Errors, ParseErrorEnum } from \"../../parse-error\";\nimport { cloneIdentifier } from \"../../parser/node\";\n\nconst reservedTypes = new Set([\n \"_\",\n \"any\",\n \"bool\",\n \"boolean\",\n \"empty\",\n \"extends\",\n \"false\",\n \"interface\",\n \"mixed\",\n \"null\",\n \"number\",\n \"static\",\n \"string\",\n \"true\",\n \"typeof\",\n \"void\",\n]);\n\n/* eslint sort-keys: \"error\" */\n// The Errors key follows https://github.com/facebook/flow/blob/master/src/parser/parse_error.ml unless it does not exist\nconst FlowErrors = ParseErrorEnum`flow`(_ => ({\n AmbiguousConditionalArrow: _(\n \"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.\",\n ),\n AmbiguousDeclareModuleKind: _(\n \"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.\",\n ),\n // TODO: When we get proper string enums in typescript make this ReservedType.\n // Not really worth it to do the whole $Values dance with reservedTypes set.\n AssignReservedType: _<{| reservedType: string |}>(\n ({ reservedType }) => `Cannot overwrite reserved type ${reservedType}.`,\n ),\n DeclareClassElement: _(\n \"The `declare` modifier can only appear on class fields.\",\n ),\n DeclareClassFieldInitializer: _(\n \"Initializers are not allowed in fields with the `declare` modifier.\",\n ),\n DuplicateDeclareModuleExports: _(\n \"Duplicate `declare module.exports` statement.\",\n ),\n EnumBooleanMemberNotInitialized: _<{|\n memberName: string,\n enumName: string,\n |}>(\n ({ memberName, enumName }) =>\n `Boolean enum members need to be initialized. Use either \\`${memberName} = true,\\` or \\`${memberName} = false,\\` in enum \\`${enumName}\\`.`,\n ),\n EnumDuplicateMemberName: _<{| memberName: string, enumName: string |}>(\n ({ memberName, enumName }) =>\n `Enum member names need to be unique, but the name \\`${memberName}\\` has already been used before in enum \\`${enumName}\\`.`,\n ),\n EnumInconsistentMemberValues: _<{| enumName: string |}>(\n ({ enumName }) =>\n `Enum \\`${enumName}\\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`,\n ),\n EnumInvalidExplicitType: _<{| invalidEnumType: string, enumName: string |}>(\n ({ invalidEnumType, enumName }) =>\n `Enum type \\`${invalidEnumType}\\` is not valid. Use one of \\`boolean\\`, \\`number\\`, \\`string\\`, or \\`symbol\\` in enum \\`${enumName}\\`.`,\n ),\n EnumInvalidExplicitTypeUnknownSupplied: _<{| enumName: string |}>(\n ({ enumName }) =>\n `Supplied enum type is not valid. Use one of \\`boolean\\`, \\`number\\`, \\`string\\`, or \\`symbol\\` in enum \\`${enumName}\\`.`,\n ),\n\n // TODO: When moving to typescript, we should either have each of the\n // following errors only accept the specific strings they want:\n //\n // ...PrimaryType: explicitType: \"string\" | \"number\" | \"boolean\"\n // ...SymbolType: explicitType: \"symbol\"\n // ...UnknownType: explicitType: null\n //\n // Or, alternatively, merge these three errors together into one\n // `EnumInvalidMemberInitializer` error that can accept `EnumExplicitType`\n // without alteration, and then just have its message change based on the\n // explicitType.\n EnumInvalidMemberInitializerPrimaryType: _<{|\n enumName: string,\n memberName: string,\n explicitType: EnumExplicitType,\n |}>(\n ({ enumName, memberName, explicitType }) =>\n // $FlowIgnore (coercing null which never actually happens)\n `Enum \\`${enumName}\\` has type \\`${explicitType}\\`, so the initializer of \\`${memberName}\\` needs to be a ${explicitType} literal.`,\n ),\n EnumInvalidMemberInitializerSymbolType: _<{|\n enumName: string,\n memberName: string,\n explicitType: EnumExplicitType,\n |}>(\n ({ enumName, memberName }) =>\n `Symbol enum members cannot be initialized. Use \\`${memberName},\\` in enum \\`${enumName}\\`.`,\n ),\n EnumInvalidMemberInitializerUnknownType: _<{|\n enumName: string,\n memberName: string,\n explicitType: EnumExplicitType,\n |}>(\n ({ enumName, memberName }) =>\n `The enum member initializer for \\`${memberName}\\` needs to be a literal (either a boolean, number, or string) in enum \\`${enumName}\\`.`,\n ),\n EnumInvalidMemberName: _<{|\n enumName: string,\n memberName: string,\n suggestion: string,\n |}>(\n ({ enumName, memberName, suggestion }) =>\n `Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \\`${memberName}\\`, consider using \\`${suggestion}\\`, in enum \\`${enumName}\\`.`,\n ),\n EnumNumberMemberNotInitialized: _<{|\n enumName: string,\n memberName: string,\n |}>(\n ({ enumName, memberName }) =>\n `Number enum members need to be initialized, e.g. \\`${memberName} = 1\\` in enum \\`${enumName}\\`.`,\n ),\n EnumStringMemberInconsistentlyInitailized: _<{| enumName: string |}>(\n ({ enumName }) =>\n `String enum members need to consistently either all use initializers, or use no initializers, in enum \\`${enumName}\\`.`,\n ),\n GetterMayNotHaveThisParam: _(\"A getter cannot have a `this` parameter.\"),\n ImportTypeShorthandOnlyInPureImport: _(\n \"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.\",\n ),\n InexactInsideExact: _(\n \"Explicit inexact syntax cannot appear inside an explicit exact object type.\",\n ),\n InexactInsideNonObject: _(\n \"Explicit inexact syntax cannot appear in class or interface definitions.\",\n ),\n InexactVariance: _(\"Explicit inexact syntax cannot have variance.\"),\n InvalidNonTypeImportInDeclareModule: _(\n \"Imports within a `declare module` body must always be `import type` or `import typeof`.\",\n ),\n MissingTypeParamDefault: _(\n \"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.\",\n ),\n NestedDeclareModule: _(\n \"`declare module` cannot be used inside another `declare module`.\",\n ),\n NestedFlowComment: _(\n \"Cannot have a flow comment inside another flow comment.\",\n ),\n PatternIsOptional: _(\n \"A binding pattern parameter cannot be optional in an implementation signature.\",\n // For consistency in TypeScript and Flow error codes\n !process.env.BABEL_8_BREAKING\n ? { reasonCode: \"OptionalBindingPattern\" }\n : {},\n ),\n SetterMayNotHaveThisParam: _(\"A setter cannot have a `this` parameter.\"),\n SpreadVariance: _(\"Spread properties cannot have variance.\"),\n ThisParamAnnotationRequired: _(\n \"A type annotation is required for the `this` parameter.\",\n ),\n ThisParamBannedInConstructor: _(\n \"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.\",\n ),\n ThisParamMayNotBeOptional: _(\"The `this` parameter cannot be optional.\"),\n ThisParamMustBeFirst: _(\n \"The `this` parameter must be the first function parameter.\",\n ),\n ThisParamNoDefault: _(\"The `this` parameter may not have a default value.\"),\n TypeBeforeInitializer: _(\n \"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",\n ),\n TypeCastInPattern: _(\n \"The type cast expression is expected to be wrapped with parenthesis.\",\n ),\n UnexpectedExplicitInexactInObject: _(\n \"Explicit inexact syntax must appear at the end of an inexact object.\",\n ),\n UnexpectedReservedType: _<{| reservedType: string |}>(\n ({ reservedType }) => `Unexpected reserved type ${reservedType}.`,\n ),\n UnexpectedReservedUnderscore: _(\n \"`_` is only allowed as a type argument to call or new.\",\n ),\n UnexpectedSpaceBetweenModuloChecks: _(\n \"Spaces between `%` and `checks` are not allowed here.\",\n ),\n UnexpectedSpreadType: _(\n \"Spread operator cannot appear in class or interface definitions.\",\n ),\n UnexpectedSubtractionOperand: _(\n 'Unexpected token, expected \"number\" or \"bigint\".',\n ),\n UnexpectedTokenAfterTypeParameter: _(\n \"Expected an arrow function after this type parameter declaration.\",\n ),\n UnexpectedTypeParameterBeforeAsyncArrowFunction: _(\n \"Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.\",\n ),\n UnsupportedDeclareExportKind: _<{|\n unsupportedExportKind: string,\n suggestion: string,\n |}>(\n ({ unsupportedExportKind, suggestion }) =>\n `\\`declare export ${unsupportedExportKind}\\` is not supported. Use \\`${suggestion}\\` instead.`,\n ),\n UnsupportedStatementInDeclareModule: _(\n \"Only declares and type imports are allowed inside declare module.\",\n ),\n UnterminatedFlowComment: _(\"Unterminated flow-comment.\"),\n}));\n/* eslint-disable sort-keys */\n\nfunction isEsModuleType(bodyElement: N.Node): boolean {\n return (\n bodyElement.type === \"DeclareExportAllDeclaration\" ||\n (bodyElement.type === \"DeclareExportDeclaration\" &&\n (!bodyElement.declaration ||\n (bodyElement.declaration.type !== \"TypeAlias\" &&\n bodyElement.declaration.type !== \"InterfaceDeclaration\")))\n );\n}\n\nfunction hasTypeImportKind(node: N.Node): boolean {\n return node.importKind === \"type\" || node.importKind === \"typeof\";\n}\n\nfunction isMaybeDefaultImport(type: TokenType): boolean {\n return tokenIsKeywordOrIdentifier(type) && type !== tt._from;\n}\n\nconst exportSuggestions = {\n const: \"declare export var\",\n let: \"declare export var\",\n type: \"export type\",\n interface: \"export interface\",\n};\n\n// Like Array#filter, but returns a tuple [ acceptedElements, discardedElements ]\nfunction partition<T>(\n list: T[],\n test: (T, number, T[]) => ?boolean,\n): [T[], T[]] {\n const list1 = [];\n const list2 = [];\n for (let i = 0; i < list.length; i++) {\n (test(list[i], i, list) ? list1 : list2).push(list[i]);\n }\n return [list1, list2];\n}\n\nconst FLOW_PRAGMA_REGEX = /\\*?\\s*@((?:no)?flow)\\b/;\n\n// Flow enums types\ntype EnumExplicitType = null | \"boolean\" | \"number\" | \"string\" | \"symbol\";\ntype EnumContext = {|\n enumName: string,\n explicitType: EnumExplicitType,\n memberName: string,\n|};\ntype EnumMemberInit =\n | {| type: \"number\", loc: Position, value: N.Node |}\n | {| type: \"string\", loc: Position, value: N.Node |}\n | {| type: \"boolean\", loc: Position, value: N.Node |}\n | {| type: \"invalid\", loc: Position |}\n | {| type: \"none\", loc: Position |};\n\nexport default (superClass: Class<Parser>): Class<Parser> =>\n class extends superClass {\n // The value of the @flow/@noflow pragma. Initially undefined, transitions\n // to \"@flow\" or \"@noflow\" if we see a pragma. Transitions to null if we are\n // past the initial comment.\n flowPragma: void | null | \"flow\" | \"noflow\" = undefined;\n\n getScopeHandler(): Class<FlowScopeHandler> {\n return FlowScopeHandler;\n }\n\n shouldParseTypes(): boolean {\n return this.getPluginOption(\"flow\", \"all\") || this.flowPragma === \"flow\";\n }\n\n shouldParseEnums(): boolean {\n return !!this.getPluginOption(\"flow\", \"enums\");\n }\n\n finishToken(type: TokenType, val: any): void {\n if (\n type !== tt.string &&\n type !== tt.semi &&\n type !== tt.interpreterDirective\n ) {\n if (this.flowPragma === undefined) {\n this.flowPragma = null;\n }\n }\n return super.finishToken(type, val);\n }\n\n addComment(comment: N.Comment): void {\n if (this.flowPragma === undefined) {\n // Try to parse a flow pragma.\n const matches = FLOW_PRAGMA_REGEX.exec(comment.value);\n if (!matches) {\n // do nothing\n } else if (matches[1] === \"flow\") {\n this.flowPragma = \"flow\";\n } else if (matches[1] === \"noflow\") {\n this.flowPragma = \"noflow\";\n } else {\n throw new Error(\"Unexpected flow pragma\");\n }\n }\n return super.addComment(comment);\n }\n\n flowParseTypeInitialiser(tok?: TokenType): N.FlowType {\n const oldInType = this.state.inType;\n this.state.inType = true;\n this.expect(tok || tt.colon);\n\n const type = this.flowParseType();\n this.state.inType = oldInType;\n return type;\n }\n\n flowParsePredicate(): N.FlowPredicate {\n const node = this.startNode();\n const moduloLoc = this.state.startLoc;\n this.next(); // eat `%`\n this.expectContextual(tt._checks);\n // Force '%' and 'checks' to be adjacent\n if (this.state.lastTokStart > moduloLoc.index + 1) {\n this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks, {\n at: moduloLoc,\n });\n }\n if (this.eat(tt.parenL)) {\n node.value = this.parseExpression();\n this.expect(tt.parenR);\n return this.finishNode(node, \"DeclaredPredicate\");\n } else {\n return this.finishNode(node, \"InferredPredicate\");\n }\n }\n\n flowParseTypeAndPredicateInitialiser(): [?N.FlowType, ?N.FlowPredicate] {\n const oldInType = this.state.inType;\n this.state.inType = true;\n this.expect(tt.colon);\n let type = null;\n let predicate = null;\n if (this.match(tt.modulo)) {\n this.state.inType = oldInType;\n predicate = this.flowParsePredicate();\n } else {\n type = this.flowParseType();\n this.state.inType = oldInType;\n if (this.match(tt.modulo)) {\n predicate = this.flowParsePredicate();\n }\n }\n return [type, predicate];\n }\n\n flowParseDeclareClass(node: N.FlowDeclareClass): N.FlowDeclareClass {\n this.next();\n this.flowParseInterfaceish(node, /*isClass*/ true);\n return this.finishNode(node, \"DeclareClass\");\n }\n\n flowParseDeclareFunction(\n node: N.FlowDeclareFunction,\n ): N.FlowDeclareFunction {\n this.next();\n\n const id = (node.id = this.parseIdentifier());\n\n const typeNode = this.startNode();\n const typeContainer = this.startNode();\n\n if (this.match(tt.lt)) {\n typeNode.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n typeNode.typeParameters = null;\n }\n\n this.expect(tt.parenL);\n const tmp = this.flowParseFunctionTypeParams();\n typeNode.params = tmp.params;\n typeNode.rest = tmp.rest;\n typeNode.this = tmp._this;\n this.expect(tt.parenR);\n\n [\n // $FlowFixMe (destructuring not supported yet)\n typeNode.returnType,\n // $FlowFixMe (destructuring not supported yet)\n node.predicate,\n ] = this.flowParseTypeAndPredicateInitialiser();\n\n typeContainer.typeAnnotation = this.finishNode(\n typeNode,\n \"FunctionTypeAnnotation\",\n );\n\n id.typeAnnotation = this.finishNode(typeContainer, \"TypeAnnotation\");\n\n this.resetEndLocation(id);\n this.semicolon();\n\n this.scope.declareName(\n node.id.name,\n BIND_FLOW_DECLARE_FN,\n node.id.loc.start,\n );\n\n return this.finishNode(node, \"DeclareFunction\");\n }\n\n flowParseDeclare(\n node: N.FlowDeclare,\n insideModule?: boolean,\n ): N.FlowDeclare {\n if (this.match(tt._class)) {\n return this.flowParseDeclareClass(node);\n } else if (this.match(tt._function)) {\n return this.flowParseDeclareFunction(node);\n } else if (this.match(tt._var)) {\n return this.flowParseDeclareVariable(node);\n } else if (this.eatContextual(tt._module)) {\n if (this.match(tt.dot)) {\n return this.flowParseDeclareModuleExports(node);\n } else {\n if (insideModule) {\n this.raise(FlowErrors.NestedDeclareModule, {\n at: this.state.lastTokStartLoc,\n });\n }\n return this.flowParseDeclareModule(node);\n }\n } else if (this.isContextual(tt._type)) {\n return this.flowParseDeclareTypeAlias(node);\n } else if (this.isContextual(tt._opaque)) {\n return this.flowParseDeclareOpaqueType(node);\n } else if (this.isContextual(tt._interface)) {\n return this.flowParseDeclareInterface(node);\n } else if (this.match(tt._export)) {\n return this.flowParseDeclareExportDeclaration(node, insideModule);\n } else {\n throw this.unexpected();\n }\n }\n\n flowParseDeclareVariable(\n node: N.FlowDeclareVariable,\n ): N.FlowDeclareVariable {\n this.next();\n node.id = this.flowParseTypeAnnotatableIdentifier(\n /*allowPrimitiveOverride*/ true,\n );\n this.scope.declareName(node.id.name, BIND_VAR, node.id.loc.start);\n this.semicolon();\n return this.finishNode(node, \"DeclareVariable\");\n }\n\n flowParseDeclareModule(node: N.FlowDeclareModule): N.FlowDeclareModule {\n this.scope.enter(SCOPE_OTHER);\n\n if (this.match(tt.string)) {\n node.id = this.parseExprAtom();\n } else {\n node.id = this.parseIdentifier();\n }\n\n const bodyNode = (node.body = this.startNode());\n const body = (bodyNode.body = []);\n this.expect(tt.braceL);\n while (!this.match(tt.braceR)) {\n let bodyNode = this.startNode();\n\n if (this.match(tt._import)) {\n this.next();\n if (!this.isContextual(tt._type) && !this.match(tt._typeof)) {\n this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule, {\n at: this.state.lastTokStartLoc,\n });\n }\n this.parseImport(bodyNode);\n } else {\n this.expectContextual(\n tt._declare,\n FlowErrors.UnsupportedStatementInDeclareModule,\n );\n\n bodyNode = this.flowParseDeclare(bodyNode, true);\n }\n\n body.push(bodyNode);\n }\n\n this.scope.exit();\n\n this.expect(tt.braceR);\n\n this.finishNode(bodyNode, \"BlockStatement\");\n\n let kind = null;\n let hasModuleExport = false;\n body.forEach(bodyElement => {\n if (isEsModuleType(bodyElement)) {\n if (kind === \"CommonJS\") {\n this.raise(FlowErrors.AmbiguousDeclareModuleKind, {\n at: bodyElement,\n });\n }\n kind = \"ES\";\n } else if (bodyElement.type === \"DeclareModuleExports\") {\n if (hasModuleExport) {\n this.raise(FlowErrors.DuplicateDeclareModuleExports, {\n at: bodyElement,\n });\n }\n if (kind === \"ES\") {\n this.raise(FlowErrors.AmbiguousDeclareModuleKind, {\n at: bodyElement,\n });\n }\n kind = \"CommonJS\";\n hasModuleExport = true;\n }\n });\n\n node.kind = kind || \"CommonJS\";\n return this.finishNode(node, \"DeclareModule\");\n }\n\n flowParseDeclareExportDeclaration(\n node: N.FlowDeclareExportDeclaration,\n insideModule: ?boolean,\n ): N.FlowDeclareExportDeclaration {\n this.expect(tt._export);\n\n if (this.eat(tt._default)) {\n if (this.match(tt._function) || this.match(tt._class)) {\n // declare export default class ...\n // declare export default function ...\n node.declaration = this.flowParseDeclare(this.startNode());\n } else {\n // declare export default [type];\n node.declaration = this.flowParseType();\n this.semicolon();\n }\n node.default = true;\n\n return this.finishNode(node, \"DeclareExportDeclaration\");\n } else {\n if (\n this.match(tt._const) ||\n this.isLet() ||\n ((this.isContextual(tt._type) || this.isContextual(tt._interface)) &&\n !insideModule)\n ) {\n const label = this.state.value;\n throw this.raise(FlowErrors.UnsupportedDeclareExportKind, {\n at: this.state.startLoc,\n unsupportedExportKind: label,\n suggestion: exportSuggestions[label],\n });\n }\n\n if (\n this.match(tt._var) || // declare export var ...\n this.match(tt._function) || // declare export function ...\n this.match(tt._class) || // declare export class ...\n this.isContextual(tt._opaque) // declare export opaque ..\n ) {\n node.declaration = this.flowParseDeclare(this.startNode());\n node.default = false;\n\n return this.finishNode(node, \"DeclareExportDeclaration\");\n } else if (\n this.match(tt.star) || // declare export * from ''\n this.match(tt.braceL) || // declare export {} ...\n this.isContextual(tt._interface) || // declare export interface ...\n this.isContextual(tt._type) || // declare export type ...\n this.isContextual(tt._opaque) // declare export opaque type ...\n ) {\n node = this.parseExport(node);\n if (node.type === \"ExportNamedDeclaration\") {\n // flow does not support the ExportNamedDeclaration\n // $FlowIgnore\n node.type = \"ExportDeclaration\";\n // $FlowFixMe\n node.default = false;\n delete node.exportKind;\n }\n\n // $FlowIgnore\n node.type = \"Declare\" + node.type;\n\n return node;\n }\n }\n\n throw this.unexpected();\n }\n\n flowParseDeclareModuleExports(\n node: N.FlowDeclareModuleExports,\n ): N.FlowDeclareModuleExports {\n this.next();\n this.expectContextual(tt._exports);\n node.typeAnnotation = this.flowParseTypeAnnotation();\n this.semicolon();\n\n return this.finishNode(node, \"DeclareModuleExports\");\n }\n\n flowParseDeclareTypeAlias(\n node: N.FlowDeclareTypeAlias,\n ): N.FlowDeclareTypeAlias {\n this.next();\n this.flowParseTypeAlias(node);\n // Don't do finishNode as we don't want to process comments twice\n node.type = \"DeclareTypeAlias\";\n return node;\n }\n\n flowParseDeclareOpaqueType(\n node: N.FlowDeclareOpaqueType,\n ): N.FlowDeclareOpaqueType {\n this.next();\n this.flowParseOpaqueType(node, true);\n // Don't do finishNode as we don't want to process comments twice\n node.type = \"DeclareOpaqueType\";\n return node;\n }\n\n flowParseDeclareInterface(\n node: N.FlowDeclareInterface,\n ): N.FlowDeclareInterface {\n this.next();\n this.flowParseInterfaceish(node);\n return this.finishNode(node, \"DeclareInterface\");\n }\n\n // Interfaces\n\n flowParseInterfaceish(\n node: N.FlowDeclare,\n isClass?: boolean = false,\n ): void {\n node.id = this.flowParseRestrictedIdentifier(\n /* liberal */ !isClass,\n /* declaration */ true,\n );\n\n this.scope.declareName(\n node.id.name,\n isClass ? BIND_FUNCTION : BIND_LEXICAL,\n node.id.loc.start,\n );\n\n if (this.match(tt.lt)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n node.typeParameters = null;\n }\n\n node.extends = [];\n node.implements = [];\n node.mixins = [];\n\n if (this.eat(tt._extends)) {\n do {\n node.extends.push(this.flowParseInterfaceExtends());\n } while (!isClass && this.eat(tt.comma));\n }\n\n if (this.isContextual(tt._mixins)) {\n this.next();\n do {\n node.mixins.push(this.flowParseInterfaceExtends());\n } while (this.eat(tt.comma));\n }\n\n if (this.isContextual(tt._implements)) {\n this.next();\n do {\n node.implements.push(this.flowParseInterfaceExtends());\n } while (this.eat(tt.comma));\n }\n\n node.body = this.flowParseObjectType({\n allowStatic: isClass,\n allowExact: false,\n allowSpread: false,\n allowProto: isClass,\n allowInexact: false,\n });\n }\n\n flowParseInterfaceExtends(): N.FlowInterfaceExtends {\n const node = this.startNode();\n\n node.id = this.flowParseQualifiedTypeIdentifier();\n if (this.match(tt.lt)) {\n node.typeParameters = this.flowParseTypeParameterInstantiation();\n } else {\n node.typeParameters = null;\n }\n\n return this.finishNode(node, \"InterfaceExtends\");\n }\n\n flowParseInterface(node: N.FlowInterface): N.FlowInterface {\n this.flowParseInterfaceish(node);\n return this.finishNode(node, \"InterfaceDeclaration\");\n }\n\n checkNotUnderscore(word: string) {\n if (word === \"_\") {\n this.raise(FlowErrors.UnexpectedReservedUnderscore, {\n at: this.state.startLoc,\n });\n }\n }\n\n checkReservedType(word: string, startLoc: Position, declaration?: boolean) {\n if (!reservedTypes.has(word)) return;\n\n this.raise(\n declaration\n ? FlowErrors.AssignReservedType\n : FlowErrors.UnexpectedReservedType,\n {\n at: startLoc,\n reservedType: word,\n },\n );\n }\n\n flowParseRestrictedIdentifier(\n liberal?: boolean,\n declaration?: boolean,\n ): N.Identifier {\n this.checkReservedType(\n this.state.value,\n this.state.startLoc,\n declaration,\n );\n return this.parseIdentifier(liberal);\n }\n\n // Type aliases\n\n flowParseTypeAlias(node: N.FlowTypeAlias): N.FlowTypeAlias {\n node.id = this.flowParseRestrictedIdentifier(\n /* liberal */ false,\n /* declaration */ true,\n );\n this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start);\n\n if (this.match(tt.lt)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n node.typeParameters = null;\n }\n\n node.right = this.flowParseTypeInitialiser(tt.eq);\n this.semicolon();\n\n return this.finishNode(node, \"TypeAlias\");\n }\n\n flowParseOpaqueType(\n node: N.FlowOpaqueType,\n declare: boolean,\n ): N.FlowOpaqueType {\n this.expectContextual(tt._type);\n node.id = this.flowParseRestrictedIdentifier(\n /* liberal */ true,\n /* declaration */ true,\n );\n this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.loc.start);\n\n if (this.match(tt.lt)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n } else {\n node.typeParameters = null;\n }\n\n // Parse the supertype\n node.supertype = null;\n if (this.match(tt.colon)) {\n node.supertype = this.flowParseTypeInitialiser(tt.colon);\n }\n\n node.impltype = null;\n if (!declare) {\n node.impltype = this.flowParseTypeInitialiser(tt.eq);\n }\n this.semicolon();\n\n return this.finishNode(node, \"OpaqueType\");\n }\n\n // Type annotations\n\n flowParseTypeParameter(requireDefault?: boolean = false): N.TypeParameter {\n const nodeStartLoc = this.state.startLoc;\n\n const node = this.startNode();\n\n const variance = this.flowParseVariance();\n\n const ident = this.flowParseTypeAnnotatableIdentifier();\n node.name = ident.name;\n node.variance = variance;\n node.bound = ident.typeAnnotation;\n\n if (this.match(tt.eq)) {\n this.eat(tt.eq);\n node.default = this.flowParseType();\n } else {\n if (requireDefault) {\n this.raise(FlowErrors.MissingTypeParamDefault, { at: nodeStartLoc });\n }\n }\n\n return this.finishNode(node, \"TypeParameter\");\n }\n\n flowParseTypeParameterDeclaration(): N.TypeParameterDeclaration {\n const oldInType = this.state.inType;\n const node = this.startNode();\n node.params = [];\n\n this.state.inType = true;\n\n // istanbul ignore else: this condition is already checked at all call sites\n if (this.match(tt.lt) || this.match(tt.jsxTagStart)) {\n this.next();\n } else {\n this.unexpected();\n }\n\n let defaultRequired = false;\n\n do {\n const typeParameter = this.flowParseTypeParameter(defaultRequired);\n\n node.params.push(typeParameter);\n\n if (typeParameter.default) {\n defaultRequired = true;\n }\n\n if (!this.match(tt.gt)) {\n this.expect(tt.comma);\n }\n } while (!this.match(tt.gt));\n this.expect(tt.gt);\n\n this.state.inType = oldInType;\n\n return this.finishNode(node, \"TypeParameterDeclaration\");\n }\n\n flowParseTypeParameterInstantiation(): N.TypeParameterInstantiation {\n const node = this.startNode();\n const oldInType = this.state.inType;\n node.params = [];\n\n this.state.inType = true;\n\n this.expect(tt.lt);\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n this.state.noAnonFunctionType = false;\n while (!this.match(tt.gt)) {\n node.params.push(this.flowParseType());\n if (!this.match(tt.gt)) {\n this.expect(tt.comma);\n }\n }\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n this.expect(tt.gt);\n\n this.state.inType = oldInType;\n\n return this.finishNode(node, \"TypeParameterInstantiation\");\n }\n\n flowParseTypeParameterInstantiationCallOrNew(): N.TypeParameterInstantiation {\n const node = this.startNode();\n const oldInType = this.state.inType;\n node.params = [];\n\n this.state.inType = true;\n\n this.expect(tt.lt);\n while (!this.match(tt.gt)) {\n node.params.push(this.flowParseTypeOrImplicitInstantiation());\n if (!this.match(tt.gt)) {\n this.expect(tt.comma);\n }\n }\n this.expect(tt.gt);\n\n this.state.inType = oldInType;\n\n return this.finishNode(node, \"TypeParameterInstantiation\");\n }\n\n flowParseInterfaceType(): N.FlowInterfaceType {\n const node = this.startNode();\n this.expectContextual(tt._interface);\n\n node.extends = [];\n if (this.eat(tt._extends)) {\n do {\n node.extends.push(this.flowParseInterfaceExtends());\n } while (this.eat(tt.comma));\n }\n\n node.body = this.flowParseObjectType({\n allowStatic: false,\n allowExact: false,\n allowSpread: false,\n allowProto: false,\n allowInexact: false,\n });\n\n return this.finishNode(node, \"InterfaceTypeAnnotation\");\n }\n\n flowParseObjectPropertyKey(): N.Expression {\n return this.match(tt.num) || this.match(tt.string)\n ? this.parseExprAtom()\n : this.parseIdentifier(true);\n }\n\n flowParseObjectTypeIndexer(\n node: N.FlowObjectTypeIndexer,\n isStatic: boolean,\n variance: ?N.FlowVariance,\n ): N.FlowObjectTypeIndexer {\n node.static = isStatic;\n\n // Note: bracketL has already been consumed\n if (this.lookahead().type === tt.colon) {\n node.id = this.flowParseObjectPropertyKey();\n node.key = this.flowParseTypeInitialiser();\n } else {\n node.id = null;\n node.key = this.flowParseType();\n }\n this.expect(tt.bracketR);\n node.value = this.flowParseTypeInitialiser();\n node.variance = variance;\n\n return this.finishNode(node, \"ObjectTypeIndexer\");\n }\n\n flowParseObjectTypeInternalSlot(\n node: N.FlowObjectTypeInternalSlot,\n isStatic: boolean,\n ): N.FlowObjectTypeInternalSlot {\n node.static = isStatic;\n // Note: both bracketL have already been consumed\n node.id = this.flowParseObjectPropertyKey();\n this.expect(tt.bracketR);\n this.expect(tt.bracketR);\n if (this.match(tt.lt) || this.match(tt.parenL)) {\n node.method = true;\n node.optional = false;\n node.value = this.flowParseObjectTypeMethodish(\n this.startNodeAt(node.start, node.loc.start),\n );\n } else {\n node.method = false;\n if (this.eat(tt.question)) {\n node.optional = true;\n }\n node.value = this.flowParseTypeInitialiser();\n }\n return this.finishNode(node, \"ObjectTypeInternalSlot\");\n }\n\n flowParseObjectTypeMethodish(\n node: N.FlowFunctionTypeAnnotation,\n ): N.FlowFunctionTypeAnnotation {\n node.params = [];\n node.rest = null;\n node.typeParameters = null;\n node.this = null;\n\n if (this.match(tt.lt)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n\n this.expect(tt.parenL);\n if (this.match(tt._this)) {\n node.this = this.flowParseFunctionTypeParam(/* first */ true);\n // match Flow parser behavior\n node.this.name = null;\n if (!this.match(tt.parenR)) {\n this.expect(tt.comma);\n }\n }\n while (!this.match(tt.parenR) && !this.match(tt.ellipsis)) {\n node.params.push(this.flowParseFunctionTypeParam(false));\n if (!this.match(tt.parenR)) {\n this.expect(tt.comma);\n }\n }\n\n if (this.eat(tt.ellipsis)) {\n node.rest = this.flowParseFunctionTypeParam(false);\n }\n this.expect(tt.parenR);\n node.returnType = this.flowParseTypeInitialiser();\n\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n }\n\n flowParseObjectTypeCallProperty(\n node: N.FlowObjectTypeCallProperty,\n isStatic: boolean,\n ): N.FlowObjectTypeCallProperty {\n const valueNode = this.startNode();\n node.static = isStatic;\n node.value = this.flowParseObjectTypeMethodish(valueNode);\n return this.finishNode(node, \"ObjectTypeCallProperty\");\n }\n\n flowParseObjectType({\n allowStatic,\n allowExact,\n allowSpread,\n allowProto,\n allowInexact,\n }: {\n allowStatic: boolean,\n allowExact: boolean,\n allowSpread: boolean,\n allowProto: boolean,\n allowInexact: boolean,\n }): N.FlowObjectTypeAnnotation {\n const oldInType = this.state.inType;\n this.state.inType = true;\n\n const nodeStart = this.startNode();\n\n nodeStart.callProperties = [];\n nodeStart.properties = [];\n nodeStart.indexers = [];\n nodeStart.internalSlots = [];\n\n let endDelim;\n let exact;\n let inexact = false;\n if (allowExact && this.match(tt.braceBarL)) {\n this.expect(tt.braceBarL);\n endDelim = tt.braceBarR;\n exact = true;\n } else {\n this.expect(tt.braceL);\n endDelim = tt.braceR;\n exact = false;\n }\n\n nodeStart.exact = exact;\n\n while (!this.match(endDelim)) {\n let isStatic = false;\n let protoStartLoc: ?Position = null;\n let inexactStartLoc: ?Position = null;\n const node = this.startNode();\n\n if (allowProto && this.isContextual(tt._proto)) {\n const lookahead = this.lookahead();\n\n if (lookahead.type !== tt.colon && lookahead.type !== tt.question) {\n this.next();\n protoStartLoc = this.state.startLoc;\n allowStatic = false;\n }\n }\n\n if (allowStatic && this.isContextual(tt._static)) {\n const lookahead = this.lookahead();\n\n // static is a valid identifier name\n if (lookahead.type !== tt.colon && lookahead.type !== tt.question) {\n this.next();\n isStatic = true;\n }\n }\n\n const variance = this.flowParseVariance();\n\n if (this.eat(tt.bracketL)) {\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n if (this.eat(tt.bracketL)) {\n if (variance) {\n this.unexpected(variance.loc.start);\n }\n nodeStart.internalSlots.push(\n this.flowParseObjectTypeInternalSlot(node, isStatic),\n );\n } else {\n nodeStart.indexers.push(\n this.flowParseObjectTypeIndexer(node, isStatic, variance),\n );\n }\n } else if (this.match(tt.parenL) || this.match(tt.lt)) {\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n if (variance) {\n this.unexpected(variance.loc.start);\n }\n nodeStart.callProperties.push(\n this.flowParseObjectTypeCallProperty(node, isStatic),\n );\n } else {\n let kind = \"init\";\n\n if (this.isContextual(tt._get) || this.isContextual(tt._set)) {\n const lookahead = this.lookahead();\n if (tokenIsLiteralPropertyName(lookahead.type)) {\n kind = this.state.value;\n this.next();\n }\n }\n\n const propOrInexact = this.flowParseObjectTypeProperty(\n node,\n isStatic,\n protoStartLoc,\n variance,\n kind,\n allowSpread,\n allowInexact ?? !exact,\n );\n\n if (propOrInexact === null) {\n inexact = true;\n inexactStartLoc = this.state.lastTokStartLoc;\n } else {\n nodeStart.properties.push(propOrInexact);\n }\n }\n\n this.flowObjectTypeSemicolon();\n\n if (\n inexactStartLoc &&\n !this.match(tt.braceR) &&\n !this.match(tt.braceBarR)\n ) {\n this.raise(FlowErrors.UnexpectedExplicitInexactInObject, {\n at: inexactStartLoc,\n });\n }\n }\n\n this.expect(endDelim);\n\n /* The inexact flag should only be added on ObjectTypeAnnotations that\n * are not the body of an interface, declare interface, or declare class.\n * Since spreads are only allowed in object types, checking that is\n * sufficient here.\n */\n if (allowSpread) {\n nodeStart.inexact = inexact;\n }\n\n const out = this.finishNode(nodeStart, \"ObjectTypeAnnotation\");\n\n this.state.inType = oldInType;\n\n return out;\n }\n\n flowParseObjectTypeProperty(\n node: N.FlowObjectTypeProperty | N.FlowObjectTypeSpreadProperty,\n isStatic: boolean,\n protoStartLoc: ?Position,\n variance: ?N.FlowVariance,\n kind: string,\n allowSpread: boolean,\n allowInexact: boolean,\n ): (N.FlowObjectTypeProperty | N.FlowObjectTypeSpreadProperty) | null {\n if (this.eat(tt.ellipsis)) {\n const isInexactToken =\n this.match(tt.comma) ||\n this.match(tt.semi) ||\n this.match(tt.braceR) ||\n this.match(tt.braceBarR);\n\n if (isInexactToken) {\n if (!allowSpread) {\n this.raise(FlowErrors.InexactInsideNonObject, {\n at: this.state.lastTokStartLoc,\n });\n } else if (!allowInexact) {\n this.raise(FlowErrors.InexactInsideExact, {\n at: this.state.lastTokStartLoc,\n });\n }\n if (variance) {\n this.raise(FlowErrors.InexactVariance, { at: variance });\n }\n\n return null;\n }\n\n if (!allowSpread) {\n this.raise(FlowErrors.UnexpectedSpreadType, {\n at: this.state.lastTokStartLoc,\n });\n }\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n if (variance) {\n this.raise(FlowErrors.SpreadVariance, { at: variance });\n }\n\n node.argument = this.flowParseType();\n return this.finishNode(node, \"ObjectTypeSpreadProperty\");\n } else {\n node.key = this.flowParseObjectPropertyKey();\n node.static = isStatic;\n node.proto = protoStartLoc != null;\n node.kind = kind;\n\n let optional = false;\n if (this.match(tt.lt) || this.match(tt.parenL)) {\n // This is a method property\n node.method = true;\n\n if (protoStartLoc != null) {\n this.unexpected(protoStartLoc);\n }\n if (variance) {\n this.unexpected(variance.loc.start);\n }\n\n node.value = this.flowParseObjectTypeMethodish(\n this.startNodeAt(node.start, node.loc.start),\n );\n if (kind === \"get\" || kind === \"set\") {\n this.flowCheckGetterSetterParams(node);\n }\n /** Declared classes/interfaces do not allow spread */\n if (\n !allowSpread &&\n node.key.name === \"constructor\" &&\n node.value.this\n ) {\n this.raise(FlowErrors.ThisParamBannedInConstructor, {\n at: node.value.this,\n });\n }\n } else {\n if (kind !== \"init\") this.unexpected();\n\n node.method = false;\n\n if (this.eat(tt.question)) {\n optional = true;\n }\n node.value = this.flowParseTypeInitialiser();\n node.variance = variance;\n }\n\n node.optional = optional;\n\n return this.finishNode(node, \"ObjectTypeProperty\");\n }\n }\n\n // This is similar to checkGetterSetterParams, but as\n // @babel/parser uses non estree properties we cannot reuse it here\n flowCheckGetterSetterParams(\n property: N.FlowObjectTypeProperty | N.FlowObjectTypeSpreadProperty,\n ): void {\n const paramCount = property.kind === \"get\" ? 0 : 1;\n const length =\n property.value.params.length + (property.value.rest ? 1 : 0);\n\n if (property.value.this) {\n this.raise(\n property.kind === \"get\"\n ? FlowErrors.GetterMayNotHaveThisParam\n : FlowErrors.SetterMayNotHaveThisParam,\n { at: property.value.this },\n );\n }\n\n if (length !== paramCount) {\n this.raise(\n property.kind === \"get\"\n ? Errors.BadGetterArity\n : Errors.BadSetterArity,\n { at: property },\n );\n }\n\n if (property.kind === \"set\" && property.value.rest) {\n this.raise(Errors.BadSetterRestParameter, { at: property });\n }\n }\n\n flowObjectTypeSemicolon(): void {\n if (\n !this.eat(tt.semi) &&\n !this.eat(tt.comma) &&\n !this.match(tt.braceR) &&\n !this.match(tt.braceBarR)\n ) {\n this.unexpected();\n }\n }\n\n flowParseQualifiedTypeIdentifier(\n startPos?: number,\n startLoc?: Position,\n id?: N.Identifier,\n ): N.FlowQualifiedTypeIdentifier {\n startPos = startPos || this.state.start;\n startLoc = startLoc || this.state.startLoc;\n let node = id || this.flowParseRestrictedIdentifier(true);\n\n while (this.eat(tt.dot)) {\n const node2 = this.startNodeAt(startPos, startLoc);\n node2.qualification = node;\n node2.id = this.flowParseRestrictedIdentifier(true);\n node = this.finishNode(node2, \"QualifiedTypeIdentifier\");\n }\n\n return node;\n }\n\n flowParseGenericType(\n startPos: number,\n startLoc: Position,\n id: N.Identifier,\n ): N.FlowGenericTypeAnnotation {\n const node = this.startNodeAt(startPos, startLoc);\n\n node.typeParameters = null;\n node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id);\n\n if (this.match(tt.lt)) {\n node.typeParameters = this.flowParseTypeParameterInstantiation();\n }\n\n return this.finishNode(node, \"GenericTypeAnnotation\");\n }\n\n flowParseTypeofType(): N.FlowTypeofTypeAnnotation {\n const node = this.startNode();\n this.expect(tt._typeof);\n node.argument = this.flowParsePrimaryType();\n return this.finishNode(node, \"TypeofTypeAnnotation\");\n }\n\n flowParseTupleType(): N.FlowTupleTypeAnnotation {\n const node = this.startNode();\n node.types = [];\n this.expect(tt.bracketL);\n // We allow trailing commas\n while (this.state.pos < this.length && !this.match(tt.bracketR)) {\n node.types.push(this.flowParseType());\n if (this.match(tt.bracketR)) break;\n this.expect(tt.comma);\n }\n this.expect(tt.bracketR);\n return this.finishNode(node, \"TupleTypeAnnotation\");\n }\n\n flowParseFunctionTypeParam(first: boolean): N.FlowFunctionTypeParam {\n let name = null;\n let optional = false;\n let typeAnnotation = null;\n const node = this.startNode();\n const lh = this.lookahead();\n const isThis = this.state.type === tt._this;\n\n if (lh.type === tt.colon || lh.type === tt.question) {\n if (isThis && !first) {\n this.raise(FlowErrors.ThisParamMustBeFirst, { at: node });\n }\n name = this.parseIdentifier(isThis);\n if (this.eat(tt.question)) {\n optional = true;\n if (isThis) {\n this.raise(FlowErrors.ThisParamMayNotBeOptional, { at: node });\n }\n }\n typeAnnotation = this.flowParseTypeInitialiser();\n } else {\n typeAnnotation = this.flowParseType();\n }\n node.name = name;\n node.optional = optional;\n node.typeAnnotation = typeAnnotation;\n return this.finishNode(node, \"FunctionTypeParam\");\n }\n\n reinterpretTypeAsFunctionTypeParam(\n type: N.FlowType,\n ): N.FlowFunctionTypeParam {\n const node = this.startNodeAt(type.start, type.loc.start);\n node.name = null;\n node.optional = false;\n node.typeAnnotation = type;\n return this.finishNode(node, \"FunctionTypeParam\");\n }\n\n flowParseFunctionTypeParams(params: N.FlowFunctionTypeParam[] = []): {\n params: N.FlowFunctionTypeParam[],\n rest: ?N.FlowFunctionTypeParam,\n _this: ?N.FlowFunctionTypeParam,\n } {\n let rest: ?N.FlowFunctionTypeParam = null;\n let _this: ?N.FlowFunctionTypeParam = null;\n if (this.match(tt._this)) {\n _this = this.flowParseFunctionTypeParam(/* first */ true);\n // match Flow parser behavior\n _this.name = null;\n if (!this.match(tt.parenR)) {\n this.expect(tt.comma);\n }\n }\n while (!this.match(tt.parenR) && !this.match(tt.ellipsis)) {\n params.push(this.flowParseFunctionTypeParam(false));\n if (!this.match(tt.parenR)) {\n this.expect(tt.comma);\n }\n }\n if (this.eat(tt.ellipsis)) {\n rest = this.flowParseFunctionTypeParam(false);\n }\n return { params, rest, _this };\n }\n\n flowIdentToTypeAnnotation(\n startPos: number,\n startLoc: Position,\n node: N.FlowTypeAnnotation,\n id: N.Identifier,\n ): N.FlowTypeAnnotation {\n switch (id.name) {\n case \"any\":\n return this.finishNode(node, \"AnyTypeAnnotation\");\n\n case \"bool\":\n case \"boolean\":\n return this.finishNode(node, \"BooleanTypeAnnotation\");\n\n case \"mixed\":\n return this.finishNode(node, \"MixedTypeAnnotation\");\n\n case \"empty\":\n return this.finishNode(node, \"EmptyTypeAnnotation\");\n\n case \"number\":\n return this.finishNode(node, \"NumberTypeAnnotation\");\n\n case \"string\":\n return this.finishNode(node, \"StringTypeAnnotation\");\n\n case \"symbol\":\n return this.finishNode(node, \"SymbolTypeAnnotation\");\n\n default:\n this.checkNotUnderscore(id.name);\n return this.flowParseGenericType(startPos, startLoc, id);\n }\n }\n\n // The parsing of types roughly parallels the parsing of expressions, and\n // primary types are kind of like primary expressions...they're the\n // primitives with which other types are constructed.\n flowParsePrimaryType(): N.FlowTypeAnnotation {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const node = this.startNode();\n let tmp;\n let type;\n let isGroupedType = false;\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n\n switch (this.state.type) {\n case tt.braceL:\n return this.flowParseObjectType({\n allowStatic: false,\n allowExact: false,\n allowSpread: true,\n allowProto: false,\n allowInexact: true,\n });\n\n case tt.braceBarL:\n return this.flowParseObjectType({\n allowStatic: false,\n allowExact: true,\n allowSpread: true,\n allowProto: false,\n allowInexact: false,\n });\n\n case tt.bracketL:\n this.state.noAnonFunctionType = false;\n type = this.flowParseTupleType();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n return type;\n\n case tt.lt:\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n this.expect(tt.parenL);\n tmp = this.flowParseFunctionTypeParams();\n node.params = tmp.params;\n node.rest = tmp.rest;\n node.this = tmp._this;\n this.expect(tt.parenR);\n\n this.expect(tt.arrow);\n\n node.returnType = this.flowParseType();\n\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n\n case tt.parenL:\n this.next();\n\n // Check to see if this is actually a grouped type\n if (!this.match(tt.parenR) && !this.match(tt.ellipsis)) {\n if (tokenIsIdentifier(this.state.type) || this.match(tt._this)) {\n const token = this.lookahead().type;\n isGroupedType = token !== tt.question && token !== tt.colon;\n } else {\n isGroupedType = true;\n }\n }\n\n if (isGroupedType) {\n this.state.noAnonFunctionType = false;\n type = this.flowParseType();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n\n // A `,` or a `) =>` means this is an anonymous function type\n if (\n this.state.noAnonFunctionType ||\n !(\n this.match(tt.comma) ||\n (this.match(tt.parenR) && this.lookahead().type === tt.arrow)\n )\n ) {\n this.expect(tt.parenR);\n return type;\n } else {\n // Eat a comma if there is one\n this.eat(tt.comma);\n }\n }\n\n if (type) {\n tmp = this.flowParseFunctionTypeParams([\n this.reinterpretTypeAsFunctionTypeParam(type),\n ]);\n } else {\n tmp = this.flowParseFunctionTypeParams();\n }\n\n node.params = tmp.params;\n node.rest = tmp.rest;\n node.this = tmp._this;\n\n this.expect(tt.parenR);\n\n this.expect(tt.arrow);\n\n node.returnType = this.flowParseType();\n\n node.typeParameters = null;\n\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n\n case tt.string:\n return this.parseLiteral<N.StringLiteralTypeAnnotation>(\n this.state.value,\n \"StringLiteralTypeAnnotation\",\n );\n\n case tt._true:\n case tt._false:\n node.value = this.match(tt._true);\n this.next();\n return this.finishNode<N.BooleanLiteralTypeAnnotation>(\n node,\n \"BooleanLiteralTypeAnnotation\",\n );\n\n case tt.plusMin:\n if (this.state.value === \"-\") {\n this.next();\n if (this.match(tt.num)) {\n return this.parseLiteralAtNode<N.NumberLiteralTypeAnnotation>(\n -this.state.value,\n \"NumberLiteralTypeAnnotation\",\n node,\n );\n }\n\n if (this.match(tt.bigint)) {\n return this.parseLiteralAtNode<N.BigIntLiteralTypeAnnotation>(\n -this.state.value,\n \"BigIntLiteralTypeAnnotation\",\n node,\n );\n }\n\n throw this.raise(FlowErrors.UnexpectedSubtractionOperand, {\n at: this.state.startLoc,\n });\n }\n\n throw this.unexpected();\n case tt.num:\n return this.parseLiteral(\n this.state.value,\n \"NumberLiteralTypeAnnotation\",\n );\n\n case tt.bigint:\n return this.parseLiteral(\n this.state.value,\n \"BigIntLiteralTypeAnnotation\",\n );\n\n case tt._void:\n this.next();\n return this.finishNode(node, \"VoidTypeAnnotation\");\n\n case tt._null:\n this.next();\n return this.finishNode(node, \"NullLiteralTypeAnnotation\");\n\n case tt._this:\n this.next();\n return this.finishNode(node, \"ThisTypeAnnotation\");\n\n case tt.star:\n this.next();\n return this.finishNode(node, \"ExistsTypeAnnotation\");\n\n case tt._typeof:\n return this.flowParseTypeofType();\n\n default:\n if (tokenIsKeyword(this.state.type)) {\n const label = tokenLabelName(this.state.type);\n this.next();\n return super.createIdentifier(node, label);\n } else if (tokenIsIdentifier(this.state.type)) {\n if (this.isContextual(tt._interface)) {\n return this.flowParseInterfaceType();\n }\n\n return this.flowIdentToTypeAnnotation(\n startPos,\n startLoc,\n node,\n this.parseIdentifier(),\n );\n }\n }\n\n throw this.unexpected();\n }\n\n flowParsePostfixType(): N.FlowTypeAnnotation {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let type = this.flowParsePrimaryType();\n let seenOptionalIndexedAccess = false;\n while (\n (this.match(tt.bracketL) || this.match(tt.questionDot)) &&\n !this.canInsertSemicolon()\n ) {\n const node = this.startNodeAt(startPos, startLoc);\n const optional = this.eat(tt.questionDot);\n seenOptionalIndexedAccess = seenOptionalIndexedAccess || optional;\n this.expect(tt.bracketL);\n if (!optional && this.match(tt.bracketR)) {\n node.elementType = type;\n this.next(); // eat `]`\n type = this.finishNode(node, \"ArrayTypeAnnotation\");\n } else {\n node.objectType = type;\n node.indexType = this.flowParseType();\n this.expect(tt.bracketR);\n if (seenOptionalIndexedAccess) {\n node.optional = optional;\n type = this.finishNode<N.FlowOptionalIndexedAccessType>(\n node,\n \"OptionalIndexedAccessType\",\n );\n } else {\n type = this.finishNode<N.FlowIndexedAccessType>(\n node,\n \"IndexedAccessType\",\n );\n }\n }\n }\n return type;\n }\n\n flowParsePrefixType(): N.FlowTypeAnnotation {\n const node = this.startNode();\n if (this.eat(tt.question)) {\n node.typeAnnotation = this.flowParsePrefixType();\n return this.finishNode(node, \"NullableTypeAnnotation\");\n } else {\n return this.flowParsePostfixType();\n }\n }\n\n flowParseAnonFunctionWithoutParens(): N.FlowTypeAnnotation {\n const param = this.flowParsePrefixType();\n if (!this.state.noAnonFunctionType && this.eat(tt.arrow)) {\n // TODO: This should be a type error. Passing in a SourceLocation, and it expects a Position.\n const node = this.startNodeAt(param.start, param.loc.start);\n node.params = [this.reinterpretTypeAsFunctionTypeParam(param)];\n node.rest = null;\n node.this = null;\n node.returnType = this.flowParseType();\n node.typeParameters = null;\n return this.finishNode(node, \"FunctionTypeAnnotation\");\n }\n return param;\n }\n\n flowParseIntersectionType(): N.FlowTypeAnnotation {\n const node = this.startNode();\n this.eat(tt.bitwiseAND);\n const type = this.flowParseAnonFunctionWithoutParens();\n node.types = [type];\n while (this.eat(tt.bitwiseAND)) {\n node.types.push(this.flowParseAnonFunctionWithoutParens());\n }\n return node.types.length === 1\n ? type\n : this.finishNode(node, \"IntersectionTypeAnnotation\");\n }\n\n flowParseUnionType(): N.FlowTypeAnnotation {\n const node = this.startNode();\n this.eat(tt.bitwiseOR);\n const type = this.flowParseIntersectionType();\n node.types = [type];\n while (this.eat(tt.bitwiseOR)) {\n node.types.push(this.flowParseIntersectionType());\n }\n return node.types.length === 1\n ? type\n : this.finishNode(node, \"UnionTypeAnnotation\");\n }\n\n flowParseType(): N.FlowTypeAnnotation {\n const oldInType = this.state.inType;\n this.state.inType = true;\n const type = this.flowParseUnionType();\n this.state.inType = oldInType;\n return type;\n }\n\n flowParseTypeOrImplicitInstantiation(): N.FlowTypeAnnotation {\n if (this.state.type === tt.name && this.state.value === \"_\") {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const node = this.parseIdentifier();\n return this.flowParseGenericType(startPos, startLoc, node);\n } else {\n return this.flowParseType();\n }\n }\n\n flowParseTypeAnnotation(): N.FlowTypeAnnotation {\n const node = this.startNode();\n node.typeAnnotation = this.flowParseTypeInitialiser();\n return this.finishNode(node, \"TypeAnnotation\");\n }\n\n flowParseTypeAnnotatableIdentifier(\n allowPrimitiveOverride?: boolean,\n ): N.Identifier {\n const ident = allowPrimitiveOverride\n ? this.parseIdentifier()\n : this.flowParseRestrictedIdentifier();\n if (this.match(tt.colon)) {\n ident.typeAnnotation = this.flowParseTypeAnnotation();\n this.resetEndLocation(ident);\n }\n return ident;\n }\n\n typeCastToParameter(node: N.Node): N.Node {\n node.expression.typeAnnotation = node.typeAnnotation;\n\n this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);\n\n return node.expression;\n }\n\n flowParseVariance(): ?N.FlowVariance {\n let variance = null;\n if (this.match(tt.plusMin)) {\n variance = this.startNode();\n if (this.state.value === \"+\") {\n variance.kind = \"plus\";\n } else {\n variance.kind = \"minus\";\n }\n this.next();\n this.finishNode(variance, \"Variance\");\n }\n return variance;\n }\n\n // ==================================\n // Overrides\n // ==================================\n\n parseFunctionBody(\n node: N.Function,\n allowExpressionBody: ?boolean,\n isMethod?: boolean = false,\n ): void {\n if (allowExpressionBody) {\n return this.forwardNoArrowParamsConversionAt(node, () =>\n super.parseFunctionBody(node, true, isMethod),\n );\n }\n\n return super.parseFunctionBody(node, false, isMethod);\n }\n\n parseFunctionBodyAndFinish(\n node: N.BodilessFunctionOrMethodBase,\n type: string,\n isMethod?: boolean = false,\n ): void {\n if (this.match(tt.colon)) {\n const typeNode = this.startNode();\n\n [\n // $FlowFixMe (destructuring not supported yet)\n typeNode.typeAnnotation,\n // $FlowFixMe (destructuring not supported yet)\n node.predicate,\n ] = this.flowParseTypeAndPredicateInitialiser();\n\n node.returnType = typeNode.typeAnnotation\n ? this.finishNode(typeNode, \"TypeAnnotation\")\n : null;\n }\n\n super.parseFunctionBodyAndFinish(node, type, isMethod);\n }\n\n // interfaces and enums\n parseStatement(context: ?string, topLevel?: boolean): N.Statement {\n // strict mode handling of `interface` since it's a reserved word\n if (this.state.strict && this.isContextual(tt._interface)) {\n const lookahead = this.lookahead();\n if (tokenIsKeywordOrIdentifier(lookahead.type)) {\n const node = this.startNode();\n this.next();\n return this.flowParseInterface(node);\n }\n } else if (this.shouldParseEnums() && this.isContextual(tt._enum)) {\n const node = this.startNode();\n this.next();\n return this.flowParseEnumDeclaration(node);\n }\n const stmt = super.parseStatement(context, topLevel);\n // We will parse a flow pragma in any comment before the first statement.\n if (this.flowPragma === undefined && !this.isValidDirective(stmt)) {\n this.flowPragma = null;\n }\n return stmt;\n }\n\n // declares, interfaces and type aliases\n parseExpressionStatement(\n node: N.ExpressionStatement,\n expr: N.Expression,\n ): N.ExpressionStatement {\n if (expr.type === \"Identifier\") {\n if (expr.name === \"declare\") {\n if (\n this.match(tt._class) ||\n tokenIsIdentifier(this.state.type) ||\n this.match(tt._function) ||\n this.match(tt._var) ||\n this.match(tt._export)\n ) {\n return this.flowParseDeclare(node);\n }\n } else if (tokenIsIdentifier(this.state.type)) {\n if (expr.name === \"interface\") {\n return this.flowParseInterface(node);\n } else if (expr.name === \"type\") {\n return this.flowParseTypeAlias(node);\n } else if (expr.name === \"opaque\") {\n return this.flowParseOpaqueType(node, false);\n }\n }\n }\n\n return super.parseExpressionStatement(node, expr);\n }\n\n // export type\n shouldParseExportDeclaration(): boolean {\n const { type } = this.state;\n if (\n tokenIsFlowInterfaceOrTypeOrOpaque(type) ||\n (this.shouldParseEnums() && type === tt._enum)\n ) {\n return !this.state.containsEsc;\n }\n return super.shouldParseExportDeclaration();\n }\n\n isExportDefaultSpecifier(): boolean {\n const { type } = this.state;\n if (\n tokenIsFlowInterfaceOrTypeOrOpaque(type) ||\n (this.shouldParseEnums() && type === tt._enum)\n ) {\n return this.state.containsEsc;\n }\n\n return super.isExportDefaultSpecifier();\n }\n\n parseExportDefaultExpression(): N.Expression | N.Declaration {\n if (this.shouldParseEnums() && this.isContextual(tt._enum)) {\n const node = this.startNode();\n this.next();\n return this.flowParseEnumDeclaration(node);\n }\n return super.parseExportDefaultExpression();\n }\n\n parseConditional(\n expr: N.Expression,\n startPos: number,\n startLoc: Position,\n refExpressionErrors?: ?ExpressionErrors,\n ): N.Expression {\n if (!this.match(tt.question)) return expr;\n\n if (this.state.maybeInArrowParameters) {\n const nextCh = this.lookaheadCharCode();\n // These tokens cannot start an expression, so if one of them follows\n // ? then we are probably in an arrow function parameters list and we\n // don't parse the conditional expression.\n if (\n nextCh === charCodes.comma || // (a?, b) => c\n nextCh === charCodes.equalsTo || // (a? = b) => c\n nextCh === charCodes.colon || // (a?: b) => c\n nextCh === charCodes.rightParenthesis // (a?) => c\n ) {\n /*:: invariant(refExpressionErrors != null) */\n this.setOptionalParametersError(refExpressionErrors);\n return expr;\n }\n }\n\n this.expect(tt.question);\n const state = this.state.clone();\n const originalNoArrowAt = this.state.noArrowAt;\n const node = this.startNodeAt(startPos, startLoc);\n let { consequent, failed } = this.tryParseConditionalConsequent();\n let [valid, invalid] = this.getArrowLikeExpressions(consequent);\n\n if (failed || invalid.length > 0) {\n const noArrowAt = [...originalNoArrowAt];\n\n if (invalid.length > 0) {\n this.state = state;\n this.state.noArrowAt = noArrowAt;\n\n for (let i = 0; i < invalid.length; i++) {\n noArrowAt.push(invalid[i].start);\n }\n\n ({ consequent, failed } = this.tryParseConditionalConsequent());\n [valid, invalid] = this.getArrowLikeExpressions(consequent);\n }\n\n if (failed && valid.length > 1) {\n // if there are two or more possible correct ways of parsing, throw an\n // error.\n // e.g. Source: a ? (b): c => (d): e => f\n // Result 1: a ? b : (c => ((d): e => f))\n // Result 2: a ? ((b): c => d) : (e => f)\n this.raise(FlowErrors.AmbiguousConditionalArrow, {\n at: state.startLoc,\n });\n }\n\n if (failed && valid.length === 1) {\n this.state = state;\n noArrowAt.push(valid[0].start);\n this.state.noArrowAt = noArrowAt;\n ({ consequent, failed } = this.tryParseConditionalConsequent());\n }\n }\n\n this.getArrowLikeExpressions(consequent, true);\n\n this.state.noArrowAt = originalNoArrowAt;\n this.expect(tt.colon);\n\n node.test = expr;\n node.consequent = consequent;\n node.alternate = this.forwardNoArrowParamsConversionAt(node, () =>\n this.parseMaybeAssign(undefined, undefined),\n );\n\n return this.finishNode(node, \"ConditionalExpression\");\n }\n\n tryParseConditionalConsequent(): {\n consequent: N.Expression,\n failed: boolean,\n } {\n this.state.noArrowParamsConversionAt.push(this.state.start);\n\n const consequent = this.parseMaybeAssignAllowIn();\n const failed = !this.match(tt.colon);\n\n this.state.noArrowParamsConversionAt.pop();\n\n return { consequent, failed };\n }\n\n // Given an expression, walks through out its arrow functions whose body is\n // an expression and through out conditional expressions. It returns every\n // function which has been parsed with a return type but could have been\n // parenthesized expressions.\n // These functions are separated into two arrays: one containing the ones\n // whose parameters can be converted to assignable lists, one containing the\n // others.\n getArrowLikeExpressions(\n node: N.Expression,\n disallowInvalid?: boolean,\n ): [N.ArrowFunctionExpression[], N.ArrowFunctionExpression[]] {\n const stack = [node];\n const arrows: N.ArrowFunctionExpression[] = [];\n\n while (stack.length !== 0) {\n const node = stack.pop();\n if (node.type === \"ArrowFunctionExpression\") {\n if (node.typeParameters || !node.returnType) {\n // This is an arrow expression without ambiguity, so check its parameters\n this.finishArrowValidation(node);\n } else {\n arrows.push(node);\n }\n stack.push(node.body);\n } else if (node.type === \"ConditionalExpression\") {\n stack.push(node.consequent);\n stack.push(node.alternate);\n }\n }\n\n if (disallowInvalid) {\n arrows.forEach(node => this.finishArrowValidation(node));\n return [arrows, []];\n }\n\n return partition(arrows, node =>\n node.params.every(param => this.isAssignable(param, true)),\n );\n }\n\n finishArrowValidation(node: N.ArrowFunctionExpression) {\n this.toAssignableList(\n // node.params is Expression[] instead of $ReadOnlyArray<Pattern> because it\n // has not been converted yet.\n ((node.params: any): N.Expression[]),\n node.extra?.trailingCommaLoc,\n /* isLHS */ false,\n );\n // Enter scope, as checkParams defines bindings\n this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);\n // Use super's method to force the parameters to be checked\n super.checkParams(node, false, true);\n this.scope.exit();\n }\n\n forwardNoArrowParamsConversionAt<T>(node: N.Node, parse: () => T): T {\n let result: T;\n if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {\n this.state.noArrowParamsConversionAt.push(this.state.start);\n result = parse();\n this.state.noArrowParamsConversionAt.pop();\n } else {\n result = parse();\n }\n\n return result;\n }\n\n parseParenItem(\n node: N.Expression,\n startPos: number,\n startLoc: Position,\n ): N.Expression {\n node = super.parseParenItem(node, startPos, startLoc);\n if (this.eat(tt.question)) {\n node.optional = true;\n // Include questionmark in location of node\n // Don't use this.finishNode() as otherwise we might process comments twice and\n // include already consumed parens\n this.resetEndLocation(node);\n }\n\n if (this.match(tt.colon)) {\n const typeCastNode = this.startNodeAt(startPos, startLoc);\n typeCastNode.expression = node;\n typeCastNode.typeAnnotation = this.flowParseTypeAnnotation();\n\n return this.finishNode(typeCastNode, \"TypeCastExpression\");\n }\n\n return node;\n }\n\n assertModuleNodeAllowed(node: N.Node) {\n if (\n (node.type === \"ImportDeclaration\" &&\n (node.importKind === \"type\" || node.importKind === \"typeof\")) ||\n (node.type === \"ExportNamedDeclaration\" &&\n node.exportKind === \"type\") ||\n (node.type === \"ExportAllDeclaration\" && node.exportKind === \"type\")\n ) {\n // Allow Flowtype imports and exports in all conditions because\n // Flow itself does not care about 'sourceType'.\n return;\n }\n\n super.assertModuleNodeAllowed(node);\n }\n\n parseExport(node: N.Node): N.AnyExport {\n const decl = super.parseExport(node);\n if (\n decl.type === \"ExportNamedDeclaration\" ||\n decl.type === \"ExportAllDeclaration\"\n ) {\n decl.exportKind = decl.exportKind || \"value\";\n }\n return decl;\n }\n\n parseExportDeclaration(node: N.ExportNamedDeclaration): ?N.Declaration {\n if (this.isContextual(tt._type)) {\n node.exportKind = \"type\";\n\n const declarationNode = this.startNode();\n this.next();\n\n if (this.match(tt.braceL)) {\n // export type { foo, bar };\n node.specifiers = this.parseExportSpecifiers(\n /* isInTypeExport */ true,\n );\n this.parseExportFrom(node);\n return null;\n } else {\n // export type Foo = Bar;\n return this.flowParseTypeAlias(declarationNode);\n }\n } else if (this.isContextual(tt._opaque)) {\n node.exportKind = \"type\";\n\n const declarationNode = this.startNode();\n this.next();\n // export opaque type Foo = Bar;\n return this.flowParseOpaqueType(declarationNode, false);\n } else if (this.isContextual(tt._interface)) {\n node.exportKind = \"type\";\n const declarationNode = this.startNode();\n this.next();\n return this.flowParseInterface(declarationNode);\n } else if (this.shouldParseEnums() && this.isContextual(tt._enum)) {\n node.exportKind = \"value\";\n const declarationNode = this.startNode();\n this.next();\n return this.flowParseEnumDeclaration(declarationNode);\n } else {\n return super.parseExportDeclaration(node);\n }\n }\n\n eatExportStar(node: N.Node): boolean {\n if (super.eatExportStar(...arguments)) return true;\n\n if (this.isContextual(tt._type) && this.lookahead().type === tt.star) {\n node.exportKind = \"type\";\n this.next();\n this.next();\n return true;\n }\n\n return false;\n }\n\n maybeParseExportNamespaceSpecifier(node: N.Node): boolean {\n const { startLoc } = this.state;\n const hasNamespace = super.maybeParseExportNamespaceSpecifier(node);\n if (hasNamespace && node.exportKind === \"type\") {\n this.unexpected(startLoc);\n }\n return hasNamespace;\n }\n\n parseClassId(node: N.Class, isStatement: boolean, optionalId: ?boolean) {\n super.parseClassId(node, isStatement, optionalId);\n if (this.match(tt.lt)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n }\n\n parseClassMember(\n classBody: N.ClassBody,\n member: any,\n state: N.ParseClassMemberState,\n ): void {\n const { startLoc } = this.state;\n if (this.isContextual(tt._declare)) {\n if (this.parseClassMemberFromModifier(classBody, member)) {\n // 'declare' is a class element name\n return;\n }\n\n member.declare = true;\n }\n\n super.parseClassMember(classBody, member, state);\n\n if (member.declare) {\n if (\n member.type !== \"ClassProperty\" &&\n member.type !== \"ClassPrivateProperty\" &&\n member.type !== \"PropertyDefinition\" // Used by estree plugin\n ) {\n this.raise(FlowErrors.DeclareClassElement, { at: startLoc });\n } else if (member.value) {\n this.raise(FlowErrors.DeclareClassFieldInitializer, {\n at: member.value,\n });\n }\n }\n }\n\n isIterator(word: string): boolean {\n return word === \"iterator\" || word === \"asyncIterator\";\n }\n\n readIterator(): void {\n const word = super.readWord1();\n const fullWord = \"@@\" + word;\n\n // Allow @@iterator and @@asyncIterator as a identifier only inside type\n if (!this.isIterator(word) || !this.state.inType) {\n this.raise(Errors.InvalidIdentifier, {\n at: this.state.curPosition(),\n identifierName: fullWord,\n });\n }\n\n this.finishToken(tt.name, fullWord);\n }\n\n // ensure that inside flow types, we bypass the jsx parser plugin\n getTokenFromCode(code: number): void {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (code === charCodes.leftCurlyBrace && next === charCodes.verticalBar) {\n return this.finishOp(tt.braceBarL, 2);\n } else if (\n this.state.inType &&\n (code === charCodes.greaterThan || code === charCodes.lessThan)\n ) {\n return this.finishOp(code === charCodes.greaterThan ? tt.gt : tt.lt, 1);\n } else if (this.state.inType && code === charCodes.questionMark) {\n if (next === charCodes.dot) {\n return this.finishOp(tt.questionDot, 2);\n }\n // allow double nullable types in Flow: ??string\n return this.finishOp(tt.question, 1);\n } else if (\n isIteratorStart(code, next, this.input.charCodeAt(this.state.pos + 2))\n ) {\n this.state.pos += 2; // eat \"@@\"\n return this.readIterator();\n } else {\n return super.getTokenFromCode(code);\n }\n }\n\n isAssignable(node: N.Node, isBinding?: boolean): boolean {\n if (node.type === \"TypeCastExpression\") {\n return this.isAssignable(node.expression, isBinding);\n } else {\n return super.isAssignable(node, isBinding);\n }\n }\n\n toAssignable(node: N.Node, isLHS: boolean = false): void {\n if (\n !isLHS &&\n node.type === \"AssignmentExpression\" &&\n node.left.type === \"TypeCastExpression\"\n ) {\n node.left = this.typeCastToParameter(node.left);\n }\n super.toAssignable(...arguments);\n }\n\n // turn type casts that we found in function parameter head into type annotated params\n toAssignableList(\n exprList: N.Expression[],\n trailingCommaLoc?: ?Position,\n isLHS: boolean,\n ): void {\n for (let i = 0; i < exprList.length; i++) {\n const expr = exprList[i];\n if (expr?.type === \"TypeCastExpression\") {\n exprList[i] = this.typeCastToParameter(expr);\n }\n }\n super.toAssignableList(exprList, trailingCommaLoc, isLHS);\n }\n\n // this is a list of nodes, from something like a call expression, we need to filter the\n // type casts that we've found that are illegal in this context\n toReferencedList(\n exprList: $ReadOnlyArray<?N.Expression>,\n isParenthesizedExpr?: boolean,\n ): $ReadOnlyArray<?N.Expression> {\n for (let i = 0; i < exprList.length; i++) {\n const expr = exprList[i];\n if (\n expr &&\n expr.type === \"TypeCastExpression\" &&\n !expr.extra?.parenthesized &&\n (exprList.length > 1 || !isParenthesizedExpr)\n ) {\n this.raise(FlowErrors.TypeCastInPattern, {\n at: expr.typeAnnotation,\n });\n }\n }\n\n return exprList;\n }\n\n parseArrayLike(\n close: TokenType,\n canBePattern: boolean,\n isTuple: boolean,\n refExpressionErrors: ?ExpressionErrors,\n ): N.ArrayExpression | N.TupleExpression {\n const node = super.parseArrayLike(\n close,\n canBePattern,\n isTuple,\n refExpressionErrors,\n );\n\n // This could be an array pattern:\n // ([a: string, b: string]) => {}\n // In this case, we don't have to call toReferencedList. We will\n // call it, if needed, when we are sure that it is a parenthesized\n // expression by calling toReferencedListDeep.\n if (canBePattern && !this.state.maybeInArrowParameters) {\n this.toReferencedList(node.elements);\n }\n\n return node;\n }\n\n isValidLVal(type: string, ...rest) {\n return type === \"TypeCastExpression\" || super.isValidLVal(type, ...rest);\n }\n\n // parse class property type annotations\n parseClassProperty(node: N.ClassProperty): N.ClassProperty {\n if (this.match(tt.colon)) {\n node.typeAnnotation = this.flowParseTypeAnnotation();\n }\n return super.parseClassProperty(node);\n }\n\n parseClassPrivateProperty(\n node: N.ClassPrivateProperty,\n ): N.ClassPrivateProperty {\n if (this.match(tt.colon)) {\n node.typeAnnotation = this.flowParseTypeAnnotation();\n }\n return super.parseClassPrivateProperty(node);\n }\n\n // determine whether or not we're currently in the position where a class method would appear\n isClassMethod(): boolean {\n return this.match(tt.lt) || super.isClassMethod();\n }\n\n // determine whether or not we're currently in the position where a class property would appear\n isClassProperty(): boolean {\n return this.match(tt.colon) || super.isClassProperty();\n }\n\n isNonstaticConstructor(method: N.ClassMethod | N.ClassProperty): boolean {\n return !this.match(tt.colon) && super.isNonstaticConstructor(method);\n }\n\n // parse type parameters for class methods\n pushClassMethod(\n classBody: N.ClassBody,\n method: N.ClassMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowsDirectSuper: boolean,\n ): void {\n if ((method: $FlowFixMe).variance) {\n this.unexpected((method: $FlowFixMe).variance.loc.start);\n }\n delete (method: $FlowFixMe).variance;\n if (this.match(tt.lt)) {\n method.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n\n super.pushClassMethod(\n classBody,\n method,\n isGenerator,\n isAsync,\n isConstructor,\n allowsDirectSuper,\n );\n\n if (method.params && isConstructor) {\n const params = method.params;\n if (params.length > 0 && this.isThisParam(params[0])) {\n this.raise(FlowErrors.ThisParamBannedInConstructor, { at: method });\n }\n // estree support\n } else if (\n // $FlowFixMe flow does not know about the face that estree can replace ClassMethod with MethodDefinition\n method.type === \"MethodDefinition\" &&\n isConstructor &&\n method.value.params\n ) {\n const params = method.value.params;\n if (params.length > 0 && this.isThisParam(params[0])) {\n this.raise(FlowErrors.ThisParamBannedInConstructor, { at: method });\n }\n }\n }\n\n pushClassPrivateMethod(\n classBody: N.ClassBody,\n method: N.ClassPrivateMethod,\n isGenerator: boolean,\n isAsync: boolean,\n ): void {\n if ((method: $FlowFixMe).variance) {\n this.unexpected((method: $FlowFixMe).variance.loc.start);\n }\n delete (method: $FlowFixMe).variance;\n if (this.match(tt.lt)) {\n method.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n\n super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync);\n }\n\n // parse a the super class type parameters and implements\n parseClassSuper(node: N.Class): void {\n super.parseClassSuper(node);\n if (node.superClass && this.match(tt.lt)) {\n node.superTypeParameters = this.flowParseTypeParameterInstantiation();\n }\n if (this.isContextual(tt._implements)) {\n this.next();\n const implemented: N.FlowClassImplements[] = (node.implements = []);\n do {\n const node = this.startNode();\n node.id = this.flowParseRestrictedIdentifier(/*liberal*/ true);\n if (this.match(tt.lt)) {\n node.typeParameters = this.flowParseTypeParameterInstantiation();\n } else {\n node.typeParameters = null;\n }\n implemented.push(this.finishNode(node, \"ClassImplements\"));\n } while (this.eat(tt.comma));\n }\n }\n\n checkGetterSetterParams(method: N.ObjectMethod | N.ClassMethod): void {\n super.checkGetterSetterParams(method);\n const params = this.getObjectOrClassMethodParams(method);\n if (params.length > 0) {\n const param = params[0];\n if (this.isThisParam(param) && method.kind === \"get\") {\n this.raise(FlowErrors.GetterMayNotHaveThisParam, { at: param });\n } else if (this.isThisParam(param)) {\n this.raise(FlowErrors.SetterMayNotHaveThisParam, { at: param });\n }\n }\n }\n\n parsePropertyNamePrefixOperator(\n node: N.ObjectOrClassMember | N.ClassMember,\n ): void {\n node.variance = this.flowParseVariance();\n }\n\n // parse type parameters for object method shorthand\n parseObjPropValue(\n prop: N.ObjectMember,\n startPos: ?number,\n startLoc: ?Position,\n isGenerator: boolean,\n isAsync: boolean,\n isPattern: boolean,\n isAccessor: boolean,\n refExpressionErrors: ?ExpressionErrors,\n ): void {\n if ((prop: $FlowFixMe).variance) {\n this.unexpected((prop: $FlowFixMe).variance.loc.start);\n }\n delete (prop: $FlowFixMe).variance;\n\n let typeParameters;\n\n // method shorthand\n if (this.match(tt.lt) && !isAccessor) {\n typeParameters = this.flowParseTypeParameterDeclaration();\n if (!this.match(tt.parenL)) this.unexpected();\n }\n\n super.parseObjPropValue(\n prop,\n startPos,\n startLoc,\n isGenerator,\n isAsync,\n isPattern,\n isAccessor,\n refExpressionErrors,\n );\n\n // add typeParameters if we found them\n if (typeParameters) {\n (prop.value || prop).typeParameters = typeParameters;\n }\n }\n\n parseAssignableListItemTypes(param: N.Pattern): N.Pattern {\n if (this.eat(tt.question)) {\n if (param.type !== \"Identifier\") {\n this.raise(FlowErrors.PatternIsOptional, { at: param });\n }\n if (this.isThisParam(param)) {\n this.raise(FlowErrors.ThisParamMayNotBeOptional, { at: param });\n }\n\n ((param: any): N.Identifier).optional = true;\n }\n if (this.match(tt.colon)) {\n param.typeAnnotation = this.flowParseTypeAnnotation();\n } else if (this.isThisParam(param)) {\n this.raise(FlowErrors.ThisParamAnnotationRequired, { at: param });\n }\n\n if (this.match(tt.eq) && this.isThisParam(param)) {\n this.raise(FlowErrors.ThisParamNoDefault, { at: param });\n }\n\n this.resetEndLocation(param);\n return param;\n }\n\n parseMaybeDefault(\n startPos?: ?number,\n startLoc?: ?Position,\n left?: ?N.Pattern,\n ): N.Pattern {\n const node = super.parseMaybeDefault(startPos, startLoc, left);\n\n if (\n node.type === \"AssignmentPattern\" &&\n node.typeAnnotation &&\n node.right.start < node.typeAnnotation.start\n ) {\n this.raise(FlowErrors.TypeBeforeInitializer, {\n at: node.typeAnnotation,\n });\n }\n\n return node;\n }\n\n shouldParseDefaultImport(node: N.ImportDeclaration): boolean {\n if (!hasTypeImportKind(node)) {\n return super.shouldParseDefaultImport(node);\n }\n\n return isMaybeDefaultImport(this.state.type);\n }\n\n parseImportSpecifierLocal(\n node: N.ImportDeclaration,\n specifier: N.Node,\n type: string,\n ): void {\n specifier.local = hasTypeImportKind(node)\n ? this.flowParseRestrictedIdentifier(\n /* liberal */ true,\n /* declaration */ true,\n )\n : this.parseIdentifier();\n\n node.specifiers.push(this.finishImportSpecifier(specifier, type));\n }\n\n // parse typeof and type imports\n maybeParseDefaultImportSpecifier(node: N.ImportDeclaration): boolean {\n node.importKind = \"value\";\n\n let kind = null;\n if (this.match(tt._typeof)) {\n kind = \"typeof\";\n } else if (this.isContextual(tt._type)) {\n kind = \"type\";\n }\n if (kind) {\n const lh = this.lookahead();\n const { type } = lh;\n\n // import type * is not allowed\n if (kind === \"type\" && type === tt.star) {\n // FIXME: lh.start?\n this.unexpected(null, lh.type);\n }\n\n if (\n isMaybeDefaultImport(type) ||\n type === tt.braceL ||\n type === tt.star\n ) {\n this.next();\n node.importKind = kind;\n }\n }\n\n return super.maybeParseDefaultImportSpecifier(node);\n }\n\n // parse import-type/typeof shorthand\n parseImportSpecifier(\n specifier: any,\n importedIsString: boolean,\n isInTypeOnlyImport: boolean,\n // eslint-disable-next-line no-unused-vars\n isMaybeTypeOnly: boolean,\n ): N.ImportSpecifier {\n const firstIdent = specifier.imported;\n\n let specifierTypeKind = null;\n if (firstIdent.type === \"Identifier\") {\n if (firstIdent.name === \"type\") {\n specifierTypeKind = \"type\";\n } else if (firstIdent.name === \"typeof\") {\n specifierTypeKind = \"typeof\";\n }\n }\n\n let isBinding = false;\n if (this.isContextual(tt._as) && !this.isLookaheadContextual(\"as\")) {\n const as_ident = this.parseIdentifier(true);\n if (\n specifierTypeKind !== null &&\n !tokenIsKeywordOrIdentifier(this.state.type)\n ) {\n // `import {type as ,` or `import {type as }`\n specifier.imported = as_ident;\n specifier.importKind = specifierTypeKind;\n specifier.local = cloneIdentifier(as_ident);\n } else {\n // `import {type as foo`\n specifier.imported = firstIdent;\n specifier.importKind = null;\n specifier.local = this.parseIdentifier();\n }\n } else {\n if (\n specifierTypeKind !== null &&\n tokenIsKeywordOrIdentifier(this.state.type)\n ) {\n // `import {type foo`\n specifier.imported = this.parseIdentifier(true);\n specifier.importKind = specifierTypeKind;\n } else {\n if (importedIsString) {\n /*:: invariant(firstIdent instanceof N.StringLiteral) */\n throw this.raise(Errors.ImportBindingIsString, {\n at: specifier,\n importName: firstIdent.value,\n });\n }\n /*:: invariant(firstIdent instanceof N.Node) */\n specifier.imported = firstIdent;\n specifier.importKind = null;\n }\n\n if (this.eatContextual(tt._as)) {\n specifier.local = this.parseIdentifier();\n } else {\n isBinding = true;\n specifier.local = cloneIdentifier(specifier.imported);\n }\n }\n\n const specifierIsTypeImport = hasTypeImportKind(specifier);\n\n if (isInTypeOnlyImport && specifierIsTypeImport) {\n this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport, {\n at: specifier,\n });\n }\n\n if (isInTypeOnlyImport || specifierIsTypeImport) {\n this.checkReservedType(\n specifier.local.name,\n specifier.local.loc.start,\n /* declaration */ true,\n );\n }\n\n if (isBinding && !isInTypeOnlyImport && !specifierIsTypeImport) {\n this.checkReservedWord(\n specifier.local.name,\n specifier.loc.start,\n true,\n true,\n );\n }\n\n return this.finishImportSpecifier(specifier, \"ImportSpecifier\");\n }\n\n parseBindingAtom(): N.Pattern {\n switch (this.state.type) {\n case tt._this:\n // \"this\" may be the name of a parameter, so allow it.\n return this.parseIdentifier(/* liberal */ true);\n default:\n return super.parseBindingAtom();\n }\n }\n\n // parse function type parameters - function foo<T>() {}\n parseFunctionParams(node: N.Function, allowModifiers?: boolean): void {\n // $FlowFixMe\n const kind = node.kind;\n if (kind !== \"get\" && kind !== \"set\" && this.match(tt.lt)) {\n node.typeParameters = this.flowParseTypeParameterDeclaration();\n }\n super.parseFunctionParams(node, allowModifiers);\n }\n\n // parse flow type annotations on variable declarator heads - let foo: string = bar\n parseVarId(\n decl: N.VariableDeclarator,\n kind: \"var\" | \"let\" | \"const\",\n ): void {\n super.parseVarId(decl, kind);\n if (this.match(tt.colon)) {\n decl.id.typeAnnotation = this.flowParseTypeAnnotation();\n this.resetEndLocation(decl.id); // set end position to end of type\n }\n }\n\n // parse the return type of an async arrow function - let foo = (async (): number => {});\n parseAsyncArrowFromCallExpression(\n node: N.ArrowFunctionExpression,\n call: N.CallExpression,\n ): N.ArrowFunctionExpression {\n if (this.match(tt.colon)) {\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n this.state.noAnonFunctionType = true;\n node.returnType = this.flowParseTypeAnnotation();\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n }\n\n return super.parseAsyncArrowFromCallExpression(node, call);\n }\n\n // todo description\n shouldParseAsyncArrow(): boolean {\n return this.match(tt.colon) || super.shouldParseAsyncArrow();\n }\n\n // We need to support type parameter declarations for arrow functions. This\n // is tricky. There are three situations we need to handle\n //\n // 1. This is either JSX or an arrow function. We'll try JSX first. If that\n // fails, we'll try an arrow function. If that fails, we'll throw the JSX\n // error.\n // 2. This is an arrow function. We'll parse the type parameter declaration,\n // parse the rest, make sure the rest is an arrow function, and go from\n // there\n // 3. This is neither. Just call the super method\n parseMaybeAssign(\n refExpressionErrors?: ?ExpressionErrors,\n afterLeftParse?: Function,\n ): N.Expression {\n let state = null;\n\n let jsx;\n\n if (\n this.hasPlugin(\"jsx\") &&\n (this.match(tt.jsxTagStart) || this.match(tt.lt))\n ) {\n state = this.state.clone();\n\n jsx = this.tryParse(\n () => super.parseMaybeAssign(refExpressionErrors, afterLeftParse),\n state,\n );\n\n /*:: invariant(!jsx.aborted) */\n /*:: invariant(jsx.node != null) */\n if (!jsx.error) return jsx.node;\n\n // Remove `tc.j_expr` and `tc.j_oTag` from context added\n // by parsing `jsxTagStart` to stop the JSX plugin from\n // messing with the tokens\n const { context } = this.state;\n const currentContext = context[context.length - 1];\n if (currentContext === tc.j_oTag || currentContext === tc.j_expr) {\n context.pop();\n }\n }\n\n if (jsx?.error || this.match(tt.lt)) {\n state = state || this.state.clone();\n\n let typeParameters;\n\n const arrow = this.tryParse(abort => {\n typeParameters = this.flowParseTypeParameterDeclaration();\n\n const arrowExpression = this.forwardNoArrowParamsConversionAt(\n typeParameters,\n () => {\n const result = super.parseMaybeAssign(\n refExpressionErrors,\n afterLeftParse,\n );\n\n this.resetStartLocationFromNode(result, typeParameters);\n\n return result;\n },\n );\n\n // <T>(() => {});\n // <T>(() => {}: any);\n if (arrowExpression.extra?.parenthesized) abort();\n\n // The above can return a TypeCastExpression when the arrow\n // expression is not wrapped in parens. See also `this.parseParenItem`.\n // (<T>() => {}: any);\n const expr = this.maybeUnwrapTypeCastExpression(arrowExpression);\n\n if (expr.type !== \"ArrowFunctionExpression\") abort();\n\n expr.typeParameters = typeParameters;\n this.resetStartLocationFromNode(expr, typeParameters);\n\n return arrowExpression;\n }, state);\n\n let arrowExpression: ?(\n | N.ArrowFunctionExpression\n | N.TypeCastExpression\n ) = null;\n\n if (\n arrow.node &&\n this.maybeUnwrapTypeCastExpression(arrow.node).type ===\n \"ArrowFunctionExpression\"\n ) {\n if (!arrow.error && !arrow.aborted) {\n // <T> async () => {}\n if (arrow.node.async) {\n /*:: invariant(typeParameters) */\n this.raise(\n FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction,\n { at: typeParameters },\n );\n }\n\n return arrow.node;\n }\n\n arrowExpression = arrow.node;\n }\n\n // If we are here, both JSX and Flow parsing attempts failed.\n // Give the precedence to the JSX error, except if JSX had an\n // unrecoverable error while Flow didn't.\n // If the error is recoverable, we can only re-report it if there is\n // a node we can return.\n\n if (jsx?.node) {\n /*:: invariant(jsx.failState) */\n this.state = jsx.failState;\n return jsx.node;\n }\n\n if (arrowExpression) {\n /*:: invariant(arrow.failState) */\n this.state = arrow.failState;\n return arrowExpression;\n }\n\n if (jsx?.thrown) throw jsx.error;\n if (arrow.thrown) throw arrow.error;\n\n /*:: invariant(typeParameters) */\n throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter, {\n at: typeParameters,\n });\n }\n\n return super.parseMaybeAssign(refExpressionErrors, afterLeftParse);\n }\n\n // handle return types for arrow functions\n parseArrow(node: N.ArrowFunctionExpression): ?N.ArrowFunctionExpression {\n if (this.match(tt.colon)) {\n const result = this.tryParse(() => {\n const oldNoAnonFunctionType = this.state.noAnonFunctionType;\n this.state.noAnonFunctionType = true;\n\n const typeNode = this.startNode();\n\n [\n // $FlowFixMe (destructuring not supported yet)\n typeNode.typeAnnotation,\n // $FlowFixMe (destructuring not supported yet)\n node.predicate,\n ] = this.flowParseTypeAndPredicateInitialiser();\n\n this.state.noAnonFunctionType = oldNoAnonFunctionType;\n\n if (this.canInsertSemicolon()) this.unexpected();\n if (!this.match(tt.arrow)) this.unexpected();\n\n return typeNode;\n });\n\n if (result.thrown) return null;\n /*:: invariant(result.node) */\n\n if (result.error) this.state = result.failState;\n\n // assign after it is clear it is an arrow\n node.returnType = result.node.typeAnnotation\n ? this.finishNode(result.node, \"TypeAnnotation\")\n : null;\n }\n\n return super.parseArrow(node);\n }\n\n shouldParseArrow(params: Array<N.Node>): boolean {\n return this.match(tt.colon) || super.shouldParseArrow(params);\n }\n\n setArrowFunctionParameters(\n node: N.ArrowFunctionExpression,\n params: N.Expression[],\n ): void {\n if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) {\n node.params = params;\n } else {\n super.setArrowFunctionParameters(node, params);\n }\n }\n\n checkParams(\n node: N.Function,\n allowDuplicates: boolean,\n isArrowFunction: ?boolean,\n ): void {\n if (\n isArrowFunction &&\n this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1\n ) {\n return;\n }\n\n // ensure the `this` param is first, if it exists\n for (let i = 0; i < node.params.length; i++) {\n if (this.isThisParam(node.params[i]) && i > 0) {\n this.raise(FlowErrors.ThisParamMustBeFirst, { at: node.params[i] });\n }\n }\n\n return super.checkParams(...arguments);\n }\n\n parseParenAndDistinguishExpression(canBeArrow: boolean): N.Expression {\n return super.parseParenAndDistinguishExpression(\n canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1,\n );\n }\n\n parseSubscripts(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n noCalls?: ?boolean,\n ): N.Expression {\n if (\n base.type === \"Identifier\" &&\n base.name === \"async\" &&\n this.state.noArrowAt.indexOf(startPos) !== -1\n ) {\n this.next();\n\n const node = this.startNodeAt(startPos, startLoc);\n node.callee = base;\n node.arguments = this.parseCallExpressionArguments(tt.parenR, false);\n base = this.finishNode(node, \"CallExpression\");\n } else if (\n base.type === \"Identifier\" &&\n base.name === \"async\" &&\n this.match(tt.lt)\n ) {\n const state = this.state.clone();\n const arrow = this.tryParse(\n abort =>\n this.parseAsyncArrowWithTypeParameters(startPos, startLoc) ||\n abort(),\n state,\n );\n\n /*:: invariant(arrow.node != null) */\n if (!arrow.error && !arrow.aborted) return arrow.node;\n\n const result = this.tryParse(\n () => super.parseSubscripts(base, startPos, startLoc, noCalls),\n state,\n );\n\n if (result.node && !result.error) return result.node;\n\n if (arrow.node) {\n this.state = arrow.failState;\n return arrow.node;\n }\n\n if (result.node) {\n this.state = result.failState;\n return result.node;\n }\n\n throw arrow.error || result.error;\n }\n\n return super.parseSubscripts(base, startPos, startLoc, noCalls);\n }\n\n parseSubscript(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n noCalls: ?boolean,\n subscriptState: N.ParseSubscriptState,\n ): N.Expression {\n if (this.match(tt.questionDot) && this.isLookaheadToken_lt()) {\n subscriptState.optionalChainMember = true;\n if (noCalls) {\n subscriptState.stop = true;\n return base;\n }\n this.next();\n const node: N.OptionalCallExpression = this.startNodeAt(\n startPos,\n startLoc,\n );\n node.callee = base;\n node.typeArguments = this.flowParseTypeParameterInstantiation();\n this.expect(tt.parenL);\n // $FlowFixMe\n node.arguments = this.parseCallExpressionArguments(tt.parenR, false);\n node.optional = true;\n return this.finishCallExpression(node, /* optional */ true);\n } else if (!noCalls && this.shouldParseTypes() && this.match(tt.lt)) {\n const node = this.startNodeAt(startPos, startLoc);\n node.callee = base;\n\n const result = this.tryParse(() => {\n node.typeArguments =\n this.flowParseTypeParameterInstantiationCallOrNew();\n this.expect(tt.parenL);\n node.arguments = this.parseCallExpressionArguments(tt.parenR, false);\n if (subscriptState.optionalChainMember) node.optional = false;\n return this.finishCallExpression(\n node,\n subscriptState.optionalChainMember,\n );\n });\n\n if (result.node) {\n if (result.error) this.state = result.failState;\n return result.node;\n }\n }\n\n return super.parseSubscript(\n base,\n startPos,\n startLoc,\n noCalls,\n subscriptState,\n );\n }\n\n parseNewCallee(node: N.NewExpression): void {\n super.parseNewCallee(node);\n\n let targs = null;\n if (this.shouldParseTypes() && this.match(tt.lt)) {\n targs = this.tryParse(() =>\n this.flowParseTypeParameterInstantiationCallOrNew(),\n ).node;\n }\n node.typeArguments = targs;\n }\n\n parseAsyncArrowWithTypeParameters(\n startPos: number,\n startLoc: Position,\n ): ?N.ArrowFunctionExpression {\n const node = this.startNodeAt(startPos, startLoc);\n this.parseFunctionParams(node);\n if (!this.parseArrow(node)) return;\n return this.parseArrowExpression(\n node,\n /* params */ undefined,\n /* isAsync */ true,\n );\n }\n\n readToken_mult_modulo(code: number): void {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (\n code === charCodes.asterisk &&\n next === charCodes.slash &&\n this.state.hasFlowComment\n ) {\n this.state.hasFlowComment = false;\n this.state.pos += 2;\n this.nextToken();\n return;\n }\n\n super.readToken_mult_modulo(code);\n }\n\n readToken_pipe_amp(code: number): void {\n const next = this.input.charCodeAt(this.state.pos + 1);\n if (\n code === charCodes.verticalBar &&\n next === charCodes.rightCurlyBrace\n ) {\n // '|}'\n this.finishOp(tt.braceBarR, 2);\n return;\n }\n\n super.readToken_pipe_amp(code);\n }\n\n parseTopLevel(file: N.File, program: N.Program): N.File {\n const fileNode = super.parseTopLevel(file, program);\n if (this.state.hasFlowComment) {\n this.raise(FlowErrors.UnterminatedFlowComment, {\n at: this.state.curPosition(),\n });\n }\n return fileNode;\n }\n\n skipBlockComment(): N.CommentBlock | void {\n if (this.hasPlugin(\"flowComments\") && this.skipFlowComment()) {\n if (this.state.hasFlowComment) {\n throw this.raise(FlowErrors.NestedFlowComment, {\n at: this.state.startLoc,\n });\n }\n this.hasFlowCommentCompletion();\n this.state.pos += this.skipFlowComment();\n this.state.hasFlowComment = true;\n return;\n }\n\n if (this.state.hasFlowComment) {\n const end = this.input.indexOf(\"*-/\", this.state.pos + 2);\n if (end === -1) {\n throw this.raise(Errors.UnterminatedComment, {\n at: this.state.curPosition(),\n });\n }\n this.state.pos = end + 2 + 3;\n return;\n }\n\n return super.skipBlockComment();\n }\n\n skipFlowComment(): number | boolean {\n const { pos } = this.state;\n let shiftToFirstNonWhiteSpace = 2;\n while (\n [charCodes.space, charCodes.tab].includes(\n this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace),\n )\n ) {\n shiftToFirstNonWhiteSpace++;\n }\n\n const ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos);\n const ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1);\n\n if (ch2 === charCodes.colon && ch3 === charCodes.colon) {\n return shiftToFirstNonWhiteSpace + 2; // check for /*::\n }\n if (\n this.input.slice(\n shiftToFirstNonWhiteSpace + pos,\n shiftToFirstNonWhiteSpace + pos + 12,\n ) === \"flow-include\"\n ) {\n return shiftToFirstNonWhiteSpace + 12; // check for /*flow-include\n }\n if (ch2 === charCodes.colon && ch3 !== charCodes.colon) {\n return shiftToFirstNonWhiteSpace; // check for /*:, advance up to :\n }\n return false;\n }\n\n hasFlowCommentCompletion(): void {\n const end = this.input.indexOf(\"*/\", this.state.pos);\n if (end === -1) {\n throw this.raise(Errors.UnterminatedComment, {\n at: this.state.curPosition(),\n });\n }\n }\n\n // Flow enum parsing\n\n flowEnumErrorBooleanMemberNotInitialized(\n loc: Position,\n { enumName, memberName }: { enumName: string, memberName: string },\n ): void {\n this.raise(FlowErrors.EnumBooleanMemberNotInitialized, {\n at: loc,\n memberName,\n enumName,\n });\n }\n\n flowEnumErrorInvalidMemberInitializer(\n loc: Position,\n enumContext: EnumContext,\n ) {\n return this.raise(\n !enumContext.explicitType\n ? FlowErrors.EnumInvalidMemberInitializerUnknownType\n : enumContext.explicitType === \"symbol\"\n ? FlowErrors.EnumInvalidMemberInitializerSymbolType\n : FlowErrors.EnumInvalidMemberInitializerPrimaryType,\n {\n at: loc,\n ...enumContext,\n },\n );\n }\n\n flowEnumErrorNumberMemberNotInitialized(\n loc: Position,\n { enumName, memberName }: { enumName: string, memberName: string },\n ): void {\n this.raise(FlowErrors.EnumNumberMemberNotInitialized, {\n at: loc,\n enumName,\n memberName,\n });\n }\n\n flowEnumErrorStringMemberInconsistentlyInitailized(\n node: N.Node,\n { enumName }: { enumName: string },\n ): void {\n this.raise(FlowErrors.EnumStringMemberInconsistentlyInitailized, {\n at: node,\n enumName,\n });\n }\n\n flowEnumMemberInit(): EnumMemberInit {\n const startLoc = this.state.startLoc;\n const endOfInit = () => this.match(tt.comma) || this.match(tt.braceR);\n switch (this.state.type) {\n case tt.num: {\n const literal = this.parseNumericLiteral(this.state.value);\n if (endOfInit()) {\n return { type: \"number\", loc: literal.loc.start, value: literal };\n }\n return { type: \"invalid\", loc: startLoc };\n }\n case tt.string: {\n const literal = this.parseStringLiteral(this.state.value);\n if (endOfInit()) {\n return { type: \"string\", loc: literal.loc.start, value: literal };\n }\n return { type: \"invalid\", loc: startLoc };\n }\n case tt._true:\n case tt._false: {\n const literal = this.parseBooleanLiteral(this.match(tt._true));\n if (endOfInit()) {\n return {\n type: \"boolean\",\n loc: literal.loc.start,\n value: literal,\n };\n }\n return { type: \"invalid\", loc: startLoc };\n }\n default:\n return { type: \"invalid\", loc: startLoc };\n }\n }\n\n flowEnumMemberRaw(): { id: N.Node, init: EnumMemberInit } {\n const loc = this.state.startLoc;\n const id = this.parseIdentifier(true);\n const init = this.eat(tt.eq)\n ? this.flowEnumMemberInit()\n : { type: \"none\", loc };\n return { id, init };\n }\n\n flowEnumCheckExplicitTypeMismatch(\n loc: Position,\n context: EnumContext,\n expectedType: EnumExplicitType,\n ): void {\n const { explicitType } = context;\n if (explicitType === null) {\n return;\n }\n if (explicitType !== expectedType) {\n this.flowEnumErrorInvalidMemberInitializer(loc, context);\n }\n }\n\n flowEnumMembers({\n enumName,\n explicitType,\n }: {\n enumName: string,\n explicitType: EnumExplicitType,\n }): {|\n members: {|\n booleanMembers: Array<N.Node>,\n numberMembers: Array<N.Node>,\n stringMembers: Array<N.Node>,\n defaultedMembers: Array<N.Node>,\n |},\n hasUnknownMembers: boolean,\n |} {\n const seenNames = new Set();\n const members = {\n booleanMembers: [],\n numberMembers: [],\n stringMembers: [],\n defaultedMembers: [],\n };\n let hasUnknownMembers = false;\n while (!this.match(tt.braceR)) {\n if (this.eat(tt.ellipsis)) {\n hasUnknownMembers = true;\n break;\n }\n const memberNode = this.startNode();\n const { id, init } = this.flowEnumMemberRaw();\n const memberName = id.name;\n if (memberName === \"\") {\n continue;\n }\n if (/^[a-z]/.test(memberName)) {\n this.raise(FlowErrors.EnumInvalidMemberName, {\n at: id,\n memberName,\n suggestion: memberName[0].toUpperCase() + memberName.slice(1),\n enumName,\n });\n }\n if (seenNames.has(memberName)) {\n this.raise(FlowErrors.EnumDuplicateMemberName, {\n at: id,\n memberName,\n enumName,\n });\n }\n seenNames.add(memberName);\n const context = { enumName, explicitType, memberName };\n memberNode.id = id;\n switch (init.type) {\n case \"boolean\": {\n this.flowEnumCheckExplicitTypeMismatch(\n init.loc,\n context,\n \"boolean\",\n );\n memberNode.init = init.value;\n members.booleanMembers.push(\n this.finishNode(memberNode, \"EnumBooleanMember\"),\n );\n break;\n }\n case \"number\": {\n this.flowEnumCheckExplicitTypeMismatch(init.loc, context, \"number\");\n memberNode.init = init.value;\n members.numberMembers.push(\n this.finishNode(memberNode, \"EnumNumberMember\"),\n );\n break;\n }\n case \"string\": {\n this.flowEnumCheckExplicitTypeMismatch(init.loc, context, \"string\");\n memberNode.init = init.value;\n members.stringMembers.push(\n this.finishNode(memberNode, \"EnumStringMember\"),\n );\n break;\n }\n case \"invalid\": {\n throw this.flowEnumErrorInvalidMemberInitializer(init.loc, context);\n }\n case \"none\": {\n switch (explicitType) {\n case \"boolean\":\n this.flowEnumErrorBooleanMemberNotInitialized(\n init.loc,\n context,\n );\n break;\n case \"number\":\n this.flowEnumErrorNumberMemberNotInitialized(init.loc, context);\n break;\n default:\n members.defaultedMembers.push(\n this.finishNode(memberNode, \"EnumDefaultedMember\"),\n );\n }\n }\n }\n\n if (!this.match(tt.braceR)) {\n this.expect(tt.comma);\n }\n }\n return { members, hasUnknownMembers };\n }\n\n flowEnumStringMembers(\n initializedMembers: Array<N.Node>,\n defaultedMembers: Array<N.Node>,\n { enumName }: { enumName: string },\n ): Array<N.Node> {\n if (initializedMembers.length === 0) {\n return defaultedMembers;\n } else if (defaultedMembers.length === 0) {\n return initializedMembers;\n } else if (defaultedMembers.length > initializedMembers.length) {\n for (const member of initializedMembers) {\n this.flowEnumErrorStringMemberInconsistentlyInitailized(member, {\n enumName,\n });\n }\n return defaultedMembers;\n } else {\n for (const member of defaultedMembers) {\n this.flowEnumErrorStringMemberInconsistentlyInitailized(member, {\n enumName,\n });\n }\n return initializedMembers;\n }\n }\n\n flowEnumParseExplicitType({\n enumName,\n }: {\n enumName: string,\n }): EnumExplicitType {\n if (!this.eatContextual(tt._of)) return null;\n\n if (!tokenIsIdentifier(this.state.type)) {\n throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied, {\n at: this.state.startLoc,\n enumName,\n });\n }\n\n const { value } = this.state;\n this.next();\n\n if (\n value !== \"boolean\" &&\n value !== \"number\" &&\n value !== \"string\" &&\n value !== \"symbol\"\n ) {\n this.raise(FlowErrors.EnumInvalidExplicitType, {\n at: this.state.startLoc,\n enumName,\n invalidEnumType: value,\n });\n }\n\n return value;\n }\n\n flowEnumBody(node: N.Node, id: N.Node): N.Node {\n const enumName = id.name;\n const nameLoc = id.loc.start;\n const explicitType = this.flowEnumParseExplicitType({ enumName });\n this.expect(tt.braceL);\n const { members, hasUnknownMembers } = this.flowEnumMembers({\n enumName,\n explicitType,\n });\n node.hasUnknownMembers = hasUnknownMembers;\n\n switch (explicitType) {\n case \"boolean\":\n node.explicitType = true;\n node.members = members.booleanMembers;\n this.expect(tt.braceR);\n return this.finishNode(node, \"EnumBooleanBody\");\n case \"number\":\n node.explicitType = true;\n node.members = members.numberMembers;\n this.expect(tt.braceR);\n return this.finishNode(node, \"EnumNumberBody\");\n case \"string\":\n node.explicitType = true;\n node.members = this.flowEnumStringMembers(\n members.stringMembers,\n members.defaultedMembers,\n { enumName },\n );\n this.expect(tt.braceR);\n return this.finishNode(node, \"EnumStringBody\");\n case \"symbol\":\n node.members = members.defaultedMembers;\n this.expect(tt.braceR);\n return this.finishNode(node, \"EnumSymbolBody\");\n default: {\n // `explicitType` is `null`\n const empty = () => {\n node.members = [];\n this.expect(tt.braceR);\n return this.finishNode(node, \"EnumStringBody\");\n };\n node.explicitType = false;\n\n const boolsLen = members.booleanMembers.length;\n const numsLen = members.numberMembers.length;\n const strsLen = members.stringMembers.length;\n const defaultedLen = members.defaultedMembers.length;\n\n if (!boolsLen && !numsLen && !strsLen && !defaultedLen) {\n return empty();\n } else if (!boolsLen && !numsLen) {\n node.members = this.flowEnumStringMembers(\n members.stringMembers,\n members.defaultedMembers,\n { enumName },\n );\n this.expect(tt.braceR);\n return this.finishNode(node, \"EnumStringBody\");\n } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) {\n for (const member of members.defaultedMembers) {\n this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start, {\n enumName,\n memberName: member.id.name,\n });\n }\n node.members = members.booleanMembers;\n this.expect(tt.braceR);\n return this.finishNode(node, \"EnumBooleanBody\");\n } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) {\n for (const member of members.defaultedMembers) {\n this.flowEnumErrorNumberMemberNotInitialized(member.loc.start, {\n enumName,\n memberName: member.id.name,\n });\n }\n node.members = members.numberMembers;\n this.expect(tt.braceR);\n return this.finishNode(node, \"EnumNumberBody\");\n } else {\n this.raise(FlowErrors.EnumInconsistentMemberValues, {\n at: nameLoc,\n enumName,\n });\n return empty();\n }\n }\n }\n }\n\n flowParseEnumDeclaration(node: N.Node): N.Node {\n const id = this.parseIdentifier();\n node.id = id;\n node.body = this.flowEnumBody(this.startNode(), id);\n return this.finishNode(node, \"EnumDeclaration\");\n }\n\n // check if the next token is a tt.lt\n isLookaheadToken_lt(): boolean {\n const next = this.nextTokenStart();\n if (this.input.charCodeAt(next) === charCodes.lessThan) {\n const afterNext = this.input.charCodeAt(next + 1);\n return (\n afterNext !== charCodes.lessThan && afterNext !== charCodes.equalsTo\n );\n }\n return false;\n }\n\n maybeUnwrapTypeCastExpression(node: N.Node) {\n return node.type === \"TypeCastExpression\" ? node.expression : node;\n }\n };\n","// @flow\n\nconst entities: { [name: string]: string, __proto__: null } = {\n __proto__: null,\n quot: \"\\u0022\",\n amp: \"&\",\n apos: \"\\u0027\",\n lt: \"<\",\n gt: \">\",\n nbsp: \"\\u00A0\",\n iexcl: \"\\u00A1\",\n cent: \"\\u00A2\",\n pound: \"\\u00A3\",\n curren: \"\\u00A4\",\n yen: \"\\u00A5\",\n brvbar: \"\\u00A6\",\n sect: \"\\u00A7\",\n uml: \"\\u00A8\",\n copy: \"\\u00A9\",\n ordf: \"\\u00AA\",\n laquo: \"\\u00AB\",\n not: \"\\u00AC\",\n shy: \"\\u00AD\",\n reg: \"\\u00AE\",\n macr: \"\\u00AF\",\n deg: \"\\u00B0\",\n plusmn: \"\\u00B1\",\n sup2: \"\\u00B2\",\n sup3: \"\\u00B3\",\n acute: \"\\u00B4\",\n micro: \"\\u00B5\",\n para: \"\\u00B6\",\n middot: \"\\u00B7\",\n cedil: \"\\u00B8\",\n sup1: \"\\u00B9\",\n ordm: \"\\u00BA\",\n raquo: \"\\u00BB\",\n frac14: \"\\u00BC\",\n frac12: \"\\u00BD\",\n frac34: \"\\u00BE\",\n iquest: \"\\u00BF\",\n Agrave: \"\\u00C0\",\n Aacute: \"\\u00C1\",\n Acirc: \"\\u00C2\",\n Atilde: \"\\u00C3\",\n Auml: \"\\u00C4\",\n Aring: \"\\u00C5\",\n AElig: \"\\u00C6\",\n Ccedil: \"\\u00C7\",\n Egrave: \"\\u00C8\",\n Eacute: \"\\u00C9\",\n Ecirc: \"\\u00CA\",\n Euml: \"\\u00CB\",\n Igrave: \"\\u00CC\",\n Iacute: \"\\u00CD\",\n Icirc: \"\\u00CE\",\n Iuml: \"\\u00CF\",\n ETH: \"\\u00D0\",\n Ntilde: \"\\u00D1\",\n Ograve: \"\\u00D2\",\n Oacute: \"\\u00D3\",\n Ocirc: \"\\u00D4\",\n Otilde: \"\\u00D5\",\n Ouml: \"\\u00D6\",\n times: \"\\u00D7\",\n Oslash: \"\\u00D8\",\n Ugrave: \"\\u00D9\",\n Uacute: \"\\u00DA\",\n Ucirc: \"\\u00DB\",\n Uuml: \"\\u00DC\",\n Yacute: \"\\u00DD\",\n THORN: \"\\u00DE\",\n szlig: \"\\u00DF\",\n agrave: \"\\u00E0\",\n aacute: \"\\u00E1\",\n acirc: \"\\u00E2\",\n atilde: \"\\u00E3\",\n auml: \"\\u00E4\",\n aring: \"\\u00E5\",\n aelig: \"\\u00E6\",\n ccedil: \"\\u00E7\",\n egrave: \"\\u00E8\",\n eacute: \"\\u00E9\",\n ecirc: \"\\u00EA\",\n euml: \"\\u00EB\",\n igrave: \"\\u00EC\",\n iacute: \"\\u00ED\",\n icirc: \"\\u00EE\",\n iuml: \"\\u00EF\",\n eth: \"\\u00F0\",\n ntilde: \"\\u00F1\",\n ograve: \"\\u00F2\",\n oacute: \"\\u00F3\",\n ocirc: \"\\u00F4\",\n otilde: \"\\u00F5\",\n ouml: \"\\u00F6\",\n divide: \"\\u00F7\",\n oslash: \"\\u00F8\",\n ugrave: \"\\u00F9\",\n uacute: \"\\u00FA\",\n ucirc: \"\\u00FB\",\n uuml: \"\\u00FC\",\n yacute: \"\\u00FD\",\n thorn: \"\\u00FE\",\n yuml: \"\\u00FF\",\n OElig: \"\\u0152\",\n oelig: \"\\u0153\",\n Scaron: \"\\u0160\",\n scaron: \"\\u0161\",\n Yuml: \"\\u0178\",\n fnof: \"\\u0192\",\n circ: \"\\u02C6\",\n tilde: \"\\u02DC\",\n Alpha: \"\\u0391\",\n Beta: \"\\u0392\",\n Gamma: \"\\u0393\",\n Delta: \"\\u0394\",\n Epsilon: \"\\u0395\",\n Zeta: \"\\u0396\",\n Eta: \"\\u0397\",\n Theta: \"\\u0398\",\n Iota: \"\\u0399\",\n Kappa: \"\\u039A\",\n Lambda: \"\\u039B\",\n Mu: \"\\u039C\",\n Nu: \"\\u039D\",\n Xi: \"\\u039E\",\n Omicron: \"\\u039F\",\n Pi: \"\\u03A0\",\n Rho: \"\\u03A1\",\n Sigma: \"\\u03A3\",\n Tau: \"\\u03A4\",\n Upsilon: \"\\u03A5\",\n Phi: \"\\u03A6\",\n Chi: \"\\u03A7\",\n Psi: \"\\u03A8\",\n Omega: \"\\u03A9\",\n alpha: \"\\u03B1\",\n beta: \"\\u03B2\",\n gamma: \"\\u03B3\",\n delta: \"\\u03B4\",\n epsilon: \"\\u03B5\",\n zeta: \"\\u03B6\",\n eta: \"\\u03B7\",\n theta: \"\\u03B8\",\n iota: \"\\u03B9\",\n kappa: \"\\u03BA\",\n lambda: \"\\u03BB\",\n mu: \"\\u03BC\",\n nu: \"\\u03BD\",\n xi: \"\\u03BE\",\n omicron: \"\\u03BF\",\n pi: \"\\u03C0\",\n rho: \"\\u03C1\",\n sigmaf: \"\\u03C2\",\n sigma: \"\\u03C3\",\n tau: \"\\u03C4\",\n upsilon: \"\\u03C5\",\n phi: \"\\u03C6\",\n chi: \"\\u03C7\",\n psi: \"\\u03C8\",\n omega: \"\\u03C9\",\n thetasym: \"\\u03D1\",\n upsih: \"\\u03D2\",\n piv: \"\\u03D6\",\n ensp: \"\\u2002\",\n emsp: \"\\u2003\",\n thinsp: \"\\u2009\",\n zwnj: \"\\u200C\",\n zwj: \"\\u200D\",\n lrm: \"\\u200E\",\n rlm: \"\\u200F\",\n ndash: \"\\u2013\",\n mdash: \"\\u2014\",\n lsquo: \"\\u2018\",\n rsquo: \"\\u2019\",\n sbquo: \"\\u201A\",\n ldquo: \"\\u201C\",\n rdquo: \"\\u201D\",\n bdquo: \"\\u201E\",\n dagger: \"\\u2020\",\n Dagger: \"\\u2021\",\n bull: \"\\u2022\",\n hellip: \"\\u2026\",\n permil: \"\\u2030\",\n prime: \"\\u2032\",\n Prime: \"\\u2033\",\n lsaquo: \"\\u2039\",\n rsaquo: \"\\u203A\",\n oline: \"\\u203E\",\n frasl: \"\\u2044\",\n euro: \"\\u20AC\",\n image: \"\\u2111\",\n weierp: \"\\u2118\",\n real: \"\\u211C\",\n trade: \"\\u2122\",\n alefsym: \"\\u2135\",\n larr: \"\\u2190\",\n uarr: \"\\u2191\",\n rarr: \"\\u2192\",\n darr: \"\\u2193\",\n harr: \"\\u2194\",\n crarr: \"\\u21B5\",\n lArr: \"\\u21D0\",\n uArr: \"\\u21D1\",\n rArr: \"\\u21D2\",\n dArr: \"\\u21D3\",\n hArr: \"\\u21D4\",\n forall: \"\\u2200\",\n part: \"\\u2202\",\n exist: \"\\u2203\",\n empty: \"\\u2205\",\n nabla: \"\\u2207\",\n isin: \"\\u2208\",\n notin: \"\\u2209\",\n ni: \"\\u220B\",\n prod: \"\\u220F\",\n sum: \"\\u2211\",\n minus: \"\\u2212\",\n lowast: \"\\u2217\",\n radic: \"\\u221A\",\n prop: \"\\u221D\",\n infin: \"\\u221E\",\n ang: \"\\u2220\",\n and: \"\\u2227\",\n or: \"\\u2228\",\n cap: \"\\u2229\",\n cup: \"\\u222A\",\n int: \"\\u222B\",\n there4: \"\\u2234\",\n sim: \"\\u223C\",\n cong: \"\\u2245\",\n asymp: \"\\u2248\",\n ne: \"\\u2260\",\n equiv: \"\\u2261\",\n le: \"\\u2264\",\n ge: \"\\u2265\",\n sub: \"\\u2282\",\n sup: \"\\u2283\",\n nsub: \"\\u2284\",\n sube: \"\\u2286\",\n supe: \"\\u2287\",\n oplus: \"\\u2295\",\n otimes: \"\\u2297\",\n perp: \"\\u22A5\",\n sdot: \"\\u22C5\",\n lceil: \"\\u2308\",\n rceil: \"\\u2309\",\n lfloor: \"\\u230A\",\n rfloor: \"\\u230B\",\n lang: \"\\u2329\",\n rang: \"\\u232A\",\n loz: \"\\u25CA\",\n spades: \"\\u2660\",\n clubs: \"\\u2663\",\n hearts: \"\\u2665\",\n diams: \"\\u2666\",\n};\nexport default entities;\n","// @flow\n\nimport * as charCodes from \"charcodes\";\n\nimport XHTMLEntities from \"./xhtml\";\nimport type Parser from \"../../parser\";\nimport type { ExpressionErrors } from \"../../parser/util\";\nimport {\n tokenComesBeforeExpression,\n tokenIsKeyword,\n tokenLabelName,\n type TokenType,\n tt,\n} from \"../../tokenizer/types\";\nimport { TokContext, types as tc } from \"../../tokenizer/context\";\nimport * as N from \"../../types\";\nimport { isIdentifierChar, isIdentifierStart } from \"../../util/identifier\";\nimport type { Position } from \"../../util/location\";\nimport { isNewLine } from \"../../util/whitespace\";\nimport { Errors, ParseErrorEnum } from \"../../parse-error\";\n\n/* eslint sort-keys: \"error\" */\nconst JsxErrors = ParseErrorEnum`jsx`(_ => ({\n AttributeIsEmpty: _(\n \"JSX attributes must only be assigned a non-empty expression.\",\n ),\n MissingClosingTagElement: _<{| openingTagName: string |}>(\n ({ openingTagName }) =>\n `Expected corresponding JSX closing tag for <${openingTagName}>.`,\n ),\n MissingClosingTagFragment: _(\n \"Expected corresponding JSX closing tag for <>.\",\n ),\n UnexpectedSequenceExpression: _(\n \"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?\",\n ),\n // FIXME: Unify with Errors.UnexpectedToken\n UnexpectedToken: _<{| unexpected: string, HTMLEntity: string |}>(\n ({ unexpected, HTMLEntity }) =>\n `Unexpected token \\`${unexpected}\\`. Did you mean \\`${HTMLEntity}\\` or \\`{'${unexpected}'}\\`?`,\n ),\n UnsupportedJsxValue: _(\n \"JSX value should be either an expression or a quoted JSX text.\",\n ),\n UnterminatedJsxContent: _(\"Unterminated JSX contents.\"),\n UnwrappedAdjacentJSXElements: _(\n \"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?\",\n ),\n}));\n\n/* eslint-disable sort-keys */\n\nfunction isFragment(object: ?N.JSXElement): boolean {\n return object\n ? object.type === \"JSXOpeningFragment\" ||\n object.type === \"JSXClosingFragment\"\n : false;\n}\n\n// Transforms JSX element name to string.\n\nfunction getQualifiedJSXName(\n object: N.JSXIdentifier | N.JSXNamespacedName | N.JSXMemberExpression,\n): string {\n if (object.type === \"JSXIdentifier\") {\n return object.name;\n }\n\n if (object.type === \"JSXNamespacedName\") {\n return object.namespace.name + \":\" + object.name.name;\n }\n\n if (object.type === \"JSXMemberExpression\") {\n return (\n getQualifiedJSXName(object.object) +\n \".\" +\n getQualifiedJSXName(object.property)\n );\n }\n\n // istanbul ignore next\n throw new Error(\"Node had unexpected type: \" + object.type);\n}\n\nexport default (superClass: Class<Parser>): Class<Parser> =>\n class extends superClass {\n // Reads inline JSX contents token.\n\n jsxReadToken(): void {\n let out = \"\";\n let chunkStart = this.state.pos;\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(JsxErrors.UnterminatedJsxContent, {\n at: this.state.startLoc,\n });\n }\n\n const ch = this.input.charCodeAt(this.state.pos);\n\n switch (ch) {\n case charCodes.lessThan:\n case charCodes.leftCurlyBrace:\n if (this.state.pos === this.state.start) {\n if (ch === charCodes.lessThan && this.state.canStartJSXElement) {\n ++this.state.pos;\n return this.finishToken(tt.jsxTagStart);\n }\n return super.getTokenFromCode(ch);\n }\n out += this.input.slice(chunkStart, this.state.pos);\n return this.finishToken(tt.jsxText, out);\n\n case charCodes.ampersand:\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadEntity();\n chunkStart = this.state.pos;\n break;\n\n case charCodes.greaterThan:\n case charCodes.rightCurlyBrace:\n if (process.env.BABEL_8_BREAKING) {\n this.raise(JsxErrors.UnexpectedToken, {\n at: this.state.curPosition(),\n unexpected: this.input[this.state.pos],\n HTMLEntity:\n ch === charCodes.rightCurlyBrace ? \"&rbrace;\" : \"&gt;\",\n });\n }\n /* falls through */\n\n default:\n if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadNewLine(true);\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n }\n }\n }\n\n jsxReadNewLine(normalizeCRLF: boolean): string {\n const ch = this.input.charCodeAt(this.state.pos);\n let out;\n ++this.state.pos;\n if (\n ch === charCodes.carriageReturn &&\n this.input.charCodeAt(this.state.pos) === charCodes.lineFeed\n ) {\n ++this.state.pos;\n out = normalizeCRLF ? \"\\n\" : \"\\r\\n\";\n } else {\n out = String.fromCharCode(ch);\n }\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n\n return out;\n }\n\n jsxReadString(quote: number): void {\n let out = \"\";\n let chunkStart = ++this.state.pos;\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(Errors.UnterminatedString, {\n at: this.state.startLoc,\n });\n }\n\n const ch = this.input.charCodeAt(this.state.pos);\n if (ch === quote) break;\n if (ch === charCodes.ampersand) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadEntity();\n chunkStart = this.state.pos;\n } else if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadNewLine(false);\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n }\n out += this.input.slice(chunkStart, this.state.pos++);\n return this.finishToken(tt.string, out);\n }\n\n jsxReadEntity(): string {\n const startPos = ++this.state.pos;\n if (this.codePointAtPos(this.state.pos) === charCodes.numberSign) {\n ++this.state.pos;\n\n let radix = 10;\n if (this.codePointAtPos(this.state.pos) === charCodes.lowercaseX) {\n radix = 16;\n ++this.state.pos;\n }\n\n const codePoint = this.readInt(\n radix,\n /* len */ undefined,\n /* forceLen */ false,\n /* allowNumSeparator */ \"bail\",\n );\n if (\n codePoint !== null &&\n this.codePointAtPos(this.state.pos) === charCodes.semicolon\n ) {\n ++this.state.pos;\n return String.fromCodePoint(codePoint);\n }\n } else {\n let count = 0;\n let semi = false;\n while (\n count++ < 10 &&\n this.state.pos < this.length &&\n !(semi = this.codePointAtPos(this.state.pos) == charCodes.semicolon)\n ) {\n ++this.state.pos;\n }\n\n if (semi) {\n const desc = this.input.slice(startPos, this.state.pos);\n const entity = XHTMLEntities[desc];\n ++this.state.pos;\n\n if (entity) {\n return entity;\n }\n }\n }\n\n // Not a valid entity\n this.state.pos = startPos;\n return \"&\";\n }\n\n // Read a JSX identifier (valid tag or attribute name).\n //\n // Optimized version since JSX identifiers can\"t contain\n // escape characters and so can be read as single slice.\n // Also assumes that first character was already checked\n // by isIdentifierStart in readToken.\n\n jsxReadWord(): void {\n let ch;\n const start = this.state.pos;\n do {\n ch = this.input.charCodeAt(++this.state.pos);\n } while (isIdentifierChar(ch) || ch === charCodes.dash);\n return this.finishToken(\n tt.jsxName,\n this.input.slice(start, this.state.pos),\n );\n }\n\n // Parse next token as JSX identifier\n\n jsxParseIdentifier(): N.JSXIdentifier {\n const node = this.startNode();\n if (this.match(tt.jsxName)) {\n node.name = this.state.value;\n } else if (tokenIsKeyword(this.state.type)) {\n node.name = tokenLabelName(this.state.type);\n } else {\n this.unexpected();\n }\n this.next();\n return this.finishNode(node, \"JSXIdentifier\");\n }\n\n // Parse namespaced identifier.\n\n jsxParseNamespacedName(): N.JSXNamespacedName {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const name = this.jsxParseIdentifier();\n if (!this.eat(tt.colon)) return name;\n\n const node = this.startNodeAt(startPos, startLoc);\n node.namespace = name;\n node.name = this.jsxParseIdentifier();\n return this.finishNode(node, \"JSXNamespacedName\");\n }\n\n // Parses element name in any form - namespaced, member\n // or single identifier.\n\n jsxParseElementName():\n | N.JSXIdentifier\n | N.JSXNamespacedName\n | N.JSXMemberExpression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let node = this.jsxParseNamespacedName();\n if (node.type === \"JSXNamespacedName\") {\n return node;\n }\n while (this.eat(tt.dot)) {\n const newNode = this.startNodeAt(startPos, startLoc);\n newNode.object = node;\n newNode.property = this.jsxParseIdentifier();\n node = this.finishNode(newNode, \"JSXMemberExpression\");\n }\n return node;\n }\n\n // Parses any type of JSX attribute value.\n\n jsxParseAttributeValue(): N.Expression {\n let node;\n switch (this.state.type) {\n case tt.braceL:\n node = this.startNode();\n this.setContext(tc.brace);\n this.next();\n node = this.jsxParseExpressionContainer(node, tc.j_oTag);\n if (node.expression.type === \"JSXEmptyExpression\") {\n this.raise(JsxErrors.AttributeIsEmpty, { at: node });\n }\n return node;\n\n case tt.jsxTagStart:\n case tt.string:\n return this.parseExprAtom();\n\n default:\n throw this.raise(JsxErrors.UnsupportedJsxValue, {\n at: this.state.startLoc,\n });\n }\n }\n\n // JSXEmptyExpression is unique type since it doesn't actually parse anything,\n // and so it should start at the end of last read token (left brace) and finish\n // at the beginning of the next one (right brace).\n\n jsxParseEmptyExpression(): N.JSXEmptyExpression {\n const node = this.startNodeAt(\n this.state.lastTokEndLoc.index,\n this.state.lastTokEndLoc,\n );\n return this.finishNodeAt(node, \"JSXEmptyExpression\", this.state.startLoc);\n }\n\n // Parse JSX spread child\n\n jsxParseSpreadChild(node: N.JSXSpreadChild): N.JSXSpreadChild {\n this.next(); // ellipsis\n node.expression = this.parseExpression();\n this.setContext(tc.j_oTag);\n this.state.canStartJSXElement = true;\n this.expect(tt.braceR);\n\n return this.finishNode(node, \"JSXSpreadChild\");\n }\n\n // Parses JSX expression enclosed into curly brackets.\n\n jsxParseExpressionContainer(\n node: N.JSXExpressionContainer,\n previousContext: TokContext,\n ): N.JSXExpressionContainer {\n if (this.match(tt.braceR)) {\n node.expression = this.jsxParseEmptyExpression();\n } else {\n const expression = this.parseExpression();\n\n if (process.env.BABEL_8_BREAKING) {\n if (\n expression.type === \"SequenceExpression\" &&\n !expression.extra?.parenthesized\n ) {\n this.raise(JsxErrors.UnexpectedSequenceExpression, {\n at: expression.expressions[1],\n });\n }\n }\n\n node.expression = expression;\n }\n this.setContext(previousContext);\n this.state.canStartJSXElement = true;\n this.expect(tt.braceR);\n\n return this.finishNode(node, \"JSXExpressionContainer\");\n }\n\n // Parses following JSX attribute name-value pair.\n\n jsxParseAttribute(): N.JSXAttribute {\n const node = this.startNode();\n if (this.match(tt.braceL)) {\n this.setContext(tc.brace);\n this.next();\n this.expect(tt.ellipsis);\n node.argument = this.parseMaybeAssignAllowIn();\n this.setContext(tc.j_oTag);\n this.state.canStartJSXElement = true;\n this.expect(tt.braceR);\n return this.finishNode(node, \"JSXSpreadAttribute\");\n }\n node.name = this.jsxParseNamespacedName();\n node.value = this.eat(tt.eq) ? this.jsxParseAttributeValue() : null;\n return this.finishNode(node, \"JSXAttribute\");\n }\n\n // Parses JSX opening tag starting after \"<\".\n\n jsxParseOpeningElementAt(\n startPos: number,\n startLoc: Position,\n ): N.JSXOpeningElement {\n const node = this.startNodeAt(startPos, startLoc);\n if (this.eat(tt.jsxTagEnd)) {\n return this.finishNode(node, \"JSXOpeningFragment\");\n }\n node.name = this.jsxParseElementName();\n return this.jsxParseOpeningElementAfterName(node);\n }\n\n jsxParseOpeningElementAfterName(\n node: N.JSXOpeningElement,\n ): N.JSXOpeningElement {\n const attributes: N.JSXAttribute[] = [];\n while (!this.match(tt.slash) && !this.match(tt.jsxTagEnd)) {\n attributes.push(this.jsxParseAttribute());\n }\n node.attributes = attributes;\n node.selfClosing = this.eat(tt.slash);\n this.expect(tt.jsxTagEnd);\n return this.finishNode(node, \"JSXOpeningElement\");\n }\n\n // Parses JSX closing tag starting after \"</\".\n\n jsxParseClosingElementAt(\n startPos: number,\n startLoc: Position,\n ): N.JSXClosingElement {\n const node = this.startNodeAt(startPos, startLoc);\n if (this.eat(tt.jsxTagEnd)) {\n return this.finishNode(node, \"JSXClosingFragment\");\n }\n node.name = this.jsxParseElementName();\n this.expect(tt.jsxTagEnd);\n return this.finishNode(node, \"JSXClosingElement\");\n }\n\n // Parses entire JSX element, including it\"s opening tag\n // (starting after \"<\"), attributes, contents and closing tag.\n\n jsxParseElementAt(startPos: number, startLoc: Position): N.JSXElement {\n const node = this.startNodeAt(startPos, startLoc);\n const children = [];\n const openingElement = this.jsxParseOpeningElementAt(startPos, startLoc);\n let closingElement = null;\n\n if (!openingElement.selfClosing) {\n contents: for (;;) {\n switch (this.state.type) {\n case tt.jsxTagStart:\n startPos = this.state.start;\n startLoc = this.state.startLoc;\n this.next();\n if (this.eat(tt.slash)) {\n closingElement = this.jsxParseClosingElementAt(\n startPos,\n startLoc,\n );\n break contents;\n }\n children.push(this.jsxParseElementAt(startPos, startLoc));\n break;\n\n case tt.jsxText:\n children.push(this.parseExprAtom());\n break;\n\n case tt.braceL: {\n const node = this.startNode();\n this.setContext(tc.brace);\n this.next();\n if (this.match(tt.ellipsis)) {\n children.push(this.jsxParseSpreadChild(node));\n } else {\n children.push(\n this.jsxParseExpressionContainer(node, tc.j_expr),\n );\n }\n\n break;\n }\n // istanbul ignore next - should never happen\n default:\n throw this.unexpected();\n }\n }\n\n if (\n isFragment(openingElement) &&\n !isFragment(closingElement) &&\n closingElement !== null\n ) {\n this.raise(JsxErrors.MissingClosingTagFragment, {\n at: closingElement,\n });\n } else if (!isFragment(openingElement) && isFragment(closingElement)) {\n this.raise(JsxErrors.MissingClosingTagElement, {\n // $FlowIgnore\n at: closingElement,\n openingTagName: getQualifiedJSXName(openingElement.name),\n });\n } else if (!isFragment(openingElement) && !isFragment(closingElement)) {\n if (\n // $FlowIgnore\n getQualifiedJSXName(closingElement.name) !==\n getQualifiedJSXName(openingElement.name)\n ) {\n this.raise(JsxErrors.MissingClosingTagElement, {\n // $FlowIgnore\n at: closingElement,\n openingTagName: getQualifiedJSXName(openingElement.name),\n });\n }\n }\n }\n\n if (isFragment(openingElement)) {\n node.openingFragment = openingElement;\n node.closingFragment = closingElement;\n } else {\n node.openingElement = openingElement;\n node.closingElement = closingElement;\n }\n node.children = children;\n if (this.match(tt.lt)) {\n throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, {\n at: this.state.startLoc,\n });\n }\n\n return isFragment(openingElement)\n ? this.finishNode(node, \"JSXFragment\")\n : this.finishNode(node, \"JSXElement\");\n }\n\n // Parses entire JSX element from current position.\n\n jsxParseElement(): N.JSXElement {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n this.next();\n return this.jsxParseElementAt(startPos, startLoc);\n }\n\n setContext(newContext: TokContext) {\n const { context } = this.state;\n context[context.length - 1] = newContext;\n }\n\n // ==================================\n // Overrides\n // ==================================\n\n parseExprAtom(refExpressionErrors: ?ExpressionErrors): N.Expression {\n if (this.match(tt.jsxText)) {\n return this.parseLiteral(this.state.value, \"JSXText\");\n } else if (this.match(tt.jsxTagStart)) {\n return this.jsxParseElement();\n } else if (\n this.match(tt.lt) &&\n this.input.charCodeAt(this.state.pos) !== charCodes.exclamationMark\n ) {\n // In case we encounter an lt token here it will always be the start of\n // jsx as the lt sign is not allowed in places that expect an expression\n this.replaceToken(tt.jsxTagStart);\n return this.jsxParseElement();\n } else {\n return super.parseExprAtom(refExpressionErrors);\n }\n }\n\n skipSpace() {\n const curContext = this.curContext();\n if (!curContext.preserveSpace) super.skipSpace();\n }\n\n getTokenFromCode(code: number): void {\n const context = this.curContext();\n\n if (context === tc.j_expr) {\n return this.jsxReadToken();\n }\n\n if (context === tc.j_oTag || context === tc.j_cTag) {\n if (isIdentifierStart(code)) {\n return this.jsxReadWord();\n }\n\n if (code === charCodes.greaterThan) {\n ++this.state.pos;\n return this.finishToken(tt.jsxTagEnd);\n }\n\n if (\n (code === charCodes.quotationMark || code === charCodes.apostrophe) &&\n context === tc.j_oTag\n ) {\n return this.jsxReadString(code);\n }\n }\n\n if (\n code === charCodes.lessThan &&\n this.state.canStartJSXElement &&\n this.input.charCodeAt(this.state.pos + 1) !== charCodes.exclamationMark\n ) {\n ++this.state.pos;\n return this.finishToken(tt.jsxTagStart);\n }\n\n return super.getTokenFromCode(code);\n }\n\n updateContext(prevType: TokenType): void {\n const { context, type } = this.state;\n if (type === tt.slash && prevType === tt.jsxTagStart) {\n // do not consider JSX expr -> JSX open tag -> ... anymore\n // reconsider as closing tag context\n context.splice(-2, 2, tc.j_cTag);\n this.state.canStartJSXElement = false;\n } else if (type === tt.jsxTagStart) {\n // start opening tag context\n context.push(tc.j_oTag);\n } else if (type === tt.jsxTagEnd) {\n const out = context[context.length - 1];\n if ((out === tc.j_oTag && prevType === tt.slash) || out === tc.j_cTag) {\n context.pop();\n this.state.canStartJSXElement =\n context[context.length - 1] === tc.j_expr;\n } else {\n this.setContext(tc.j_expr);\n this.state.canStartJSXElement = true;\n }\n } else {\n this.state.canStartJSXElement = tokenComesBeforeExpression(type);\n }\n }\n };\n","// @flow\n\nimport { Position } from \"../../util/location\";\nimport ScopeHandler, { Scope } from \"../../util/scope\";\nimport {\n BIND_KIND_TYPE,\n BIND_FLAGS_TS_ENUM,\n BIND_FLAGS_TS_CONST_ENUM,\n BIND_FLAGS_TS_EXPORT_ONLY,\n BIND_KIND_VALUE,\n BIND_FLAGS_CLASS,\n type ScopeFlags,\n type BindingTypes,\n} from \"../../util/scopeflags\";\nimport * as N from \"../../types\";\n\nclass TypeScriptScope extends Scope {\n types: Set<string> = new Set();\n\n // enums (which are also in .types)\n enums: Set<string> = new Set();\n\n // const enums (which are also in .enums and .types)\n constEnums: Set<string> = new Set();\n\n // classes (which are also in .lexical) and interface (which are also in .types)\n classes: Set<string> = new Set();\n\n // namespaces and ambient functions (or classes) are too difficult to track,\n // especially without type analysis.\n // We need to track them anyway, to avoid \"X is not defined\" errors\n // when exporting them.\n exportOnlyBindings: Set<string> = new Set();\n}\n\n// See https://github.com/babel/babel/pull/9766#discussion_r268920730 for an\n// explanation of how typescript handles scope.\n\nexport default class TypeScriptScopeHandler extends ScopeHandler<TypeScriptScope> {\n createScope(flags: ScopeFlags): TypeScriptScope {\n return new TypeScriptScope(flags);\n }\n\n declareName(name: string, bindingType: BindingTypes, loc: Position) {\n const scope = this.currentScope();\n if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) {\n this.maybeExportDefined(scope, name);\n scope.exportOnlyBindings.add(name);\n return;\n }\n\n super.declareName(...arguments);\n\n if (bindingType & BIND_KIND_TYPE) {\n if (!(bindingType & BIND_KIND_VALUE)) {\n // \"Value\" bindings have already been registered by the superclass.\n this.checkRedeclarationInScope(scope, name, bindingType, loc);\n this.maybeExportDefined(scope, name);\n }\n scope.types.add(name);\n }\n if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.add(name);\n if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.add(name);\n if (bindingType & BIND_FLAGS_CLASS) scope.classes.add(name);\n }\n\n isRedeclaredInScope(\n scope: TypeScriptScope,\n name: string,\n bindingType: BindingTypes,\n ): boolean {\n if (scope.enums.has(name)) {\n if (bindingType & BIND_FLAGS_TS_ENUM) {\n // Enums can be merged with other enums if they are both\n // const or both non-const.\n const isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM);\n const wasConst = scope.constEnums.has(name);\n return isConst !== wasConst;\n }\n return true;\n }\n if (bindingType & BIND_FLAGS_CLASS && scope.classes.has(name)) {\n if (scope.lexical.has(name)) {\n // Classes can be merged with interfaces\n return !!(bindingType & BIND_KIND_VALUE);\n } else {\n // Interface can be merged with other classes or interfaces\n return false;\n }\n }\n if (bindingType & BIND_KIND_TYPE && scope.types.has(name)) {\n return true;\n }\n\n return super.isRedeclaredInScope(...arguments);\n }\n\n checkLocalExport(id: N.Identifier) {\n const topLevelScope = this.scopeStack[0];\n const { name } = id;\n if (\n !topLevelScope.types.has(name) &&\n !topLevelScope.exportOnlyBindings.has(name)\n ) {\n super.checkLocalExport(id);\n }\n }\n}\n","// @flow\n\n/*:: declare var invariant; */\n\nimport type State from \"../../tokenizer/state\";\nimport {\n tokenIsIdentifier,\n tokenIsTSDeclarationStart,\n tokenIsTSTypeOperator,\n tokenOperatorPrecedence,\n tokenIsKeywordOrIdentifier,\n tt,\n type TokenType,\n tokenIsTemplate,\n tokenCanStartExpression,\n tokenIsBinaryOperator,\n} from \"../../tokenizer/types\";\nimport { types as tc } from \"../../tokenizer/context\";\nimport * as N from \"../../types\";\nimport { Position, createPositionWithColumnOffset } from \"../../util/location\";\nimport type Parser from \"../../parser\";\nimport {\n type BindingTypes,\n SCOPE_TS_MODULE,\n SCOPE_OTHER,\n BIND_TS_ENUM,\n BIND_TS_CONST_ENUM,\n BIND_TS_TYPE,\n BIND_TS_INTERFACE,\n BIND_TS_AMBIENT,\n BIND_TS_NAMESPACE,\n BIND_CLASS,\n BIND_LEXICAL,\n BIND_NONE,\n} from \"../../util/scopeflags\";\nimport TypeScriptScopeHandler from \"./scope\";\nimport * as charCodes from \"charcodes\";\nimport type { ExpressionErrors } from \"../../parser/util\";\nimport { PARAM } from \"../../util/production-parameter\";\nimport { Errors, ParseErrorEnum } from \"../../parse-error\";\nimport { cloneIdentifier } from \"../../parser/node\";\n\nconst getOwn = (object, key) =>\n Object.hasOwnProperty.call(object, key) && object[key];\n\ntype TsModifier =\n | \"readonly\"\n | \"abstract\"\n | \"declare\"\n | \"static\"\n | \"override\"\n | N.Accessibility\n | N.VarianceAnnotations;\n\nfunction nonNull<T>(x: ?T): T {\n if (x == null) {\n // $FlowIgnore\n throw new Error(`Unexpected ${x} value.`);\n }\n return x;\n}\n\nfunction assert(x: boolean): void {\n if (!x) {\n throw new Error(\"Assert fail\");\n }\n}\n\nfunction tsTokenCanStartExpression(token: TokenType) {\n // tsc considers binary operators as \"can start expression\" tokens:\n // https://github.com/microsoft/TypeScript/blob/eca1b4/src/compiler/parser.ts#L4260-L4266\n return tokenCanStartExpression(token) || tokenIsBinaryOperator(token);\n}\n\ntype ParsingContext =\n | \"EnumMembers\"\n | \"HeritageClauseElement\"\n | \"TupleElementTypes\"\n | \"TypeMembers\"\n | \"TypeParametersOrArguments\";\n\n/* eslint sort-keys: \"error\" */\nconst TSErrors = ParseErrorEnum`typescript`(_ => ({\n AbstractMethodHasImplementation: _<{| methodName: string |}>(\n ({ methodName }) =>\n `Method '${methodName}' cannot have an implementation because it is marked abstract.`,\n ),\n AbstractPropertyHasInitializer: _<{| propertyName: string |}>(\n ({ propertyName }) =>\n `Property '${propertyName}' cannot have an initializer because it is marked abstract.`,\n ),\n AccesorCannotDeclareThisParameter: _(\n \"'get' and 'set' accessors cannot declare 'this' parameters.\",\n ),\n AccesorCannotHaveTypeParameters: _(\n \"An accessor cannot have type parameters.\",\n ),\n CannotFindName: _<{| name: string |}>(\n ({ name }) => `Cannot find name '${name}'.`,\n ),\n ClassMethodHasDeclare: _(\"Class methods cannot have the 'declare' modifier.\"),\n ClassMethodHasReadonly: _(\n \"Class methods cannot have the 'readonly' modifier.\",\n ),\n ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference: _(\n \"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.\",\n ),\n ConstructorHasTypeParameters: _(\n \"Type parameters cannot appear on a constructor declaration.\",\n ),\n DeclareAccessor: _<{| kind: \"get\" | \"set\" |}>(\n ({ kind }) => `'declare' is not allowed in ${kind}ters.`,\n ),\n DeclareClassFieldHasInitializer: _(\n \"Initializers are not allowed in ambient contexts.\",\n ),\n DeclareFunctionHasImplementation: _(\n \"An implementation cannot be declared in ambient contexts.\",\n ),\n DuplicateAccessibilityModifier: _<{| modifier: N.Accessibility |}>(\n // `Accessibility modifier already seen: ${modifier}` would be more helpful.\n // eslint-disable-next-line no-unused-vars\n ({ modifier }) => `Accessibility modifier already seen.`,\n ),\n DuplicateModifier: _<{| modifier: TsModifier |}>(\n ({ modifier }) => `Duplicate modifier: '${modifier}'.`,\n ),\n // `token` matches the terminology used by typescript:\n // https://github.com/microsoft/TypeScript/blob/main/src/compiler/types.ts#L2915\n EmptyHeritageClauseType: _<{| token: \"extends\" | \"implements\" |}>(\n ({ token }) => `'${token}' list cannot be empty.`,\n ),\n EmptyTypeArguments: _(\"Type argument list cannot be empty.\"),\n EmptyTypeParameters: _(\"Type parameter list cannot be empty.\"),\n ExpectedAmbientAfterExportDeclare: _(\n \"'export declare' must be followed by an ambient declaration.\",\n ),\n ImportAliasHasImportType: _(\"An import alias can not use 'import type'.\"),\n IncompatibleModifiers: _<{| modifiers: [TsModifier, TsModifier] |}>(\n ({ modifiers }) =>\n `'${modifiers[0]}' modifier cannot be used with '${modifiers[1]}' modifier.`,\n ),\n IndexSignatureHasAbstract: _(\n \"Index signatures cannot have the 'abstract' modifier.\",\n ),\n IndexSignatureHasAccessibility: _<{| modifier: N.Accessibility |}>(\n ({ modifier }) =>\n `Index signatures cannot have an accessibility modifier ('${modifier}').`,\n ),\n IndexSignatureHasDeclare: _(\n \"Index signatures cannot have the 'declare' modifier.\",\n ),\n IndexSignatureHasOverride: _(\n \"'override' modifier cannot appear on an index signature.\",\n ),\n IndexSignatureHasStatic: _(\n \"Index signatures cannot have the 'static' modifier.\",\n ),\n InitializerNotAllowedInAmbientContext: _(\n \"Initializers are not allowed in ambient contexts.\",\n ),\n InvalidModifierOnTypeMember: _<{| modifier: TsModifier |}>(\n ({ modifier }) => `'${modifier}' modifier cannot appear on a type member.`,\n ),\n InvalidModifierOnTypeParameter: _<{| modifier: TsModifier |}>(\n ({ modifier }) =>\n `'${modifier}' modifier cannot appear on a type parameter.`,\n ),\n InvalidModifierOnTypeParameterPositions: _<{| modifier: TsModifier |}>(\n ({ modifier }) =>\n `'${modifier}' modifier can only appear on a type parameter of a class, interface or type alias.`,\n ),\n InvalidModifiersOrder: _<{| orderedModifiers: [TsModifier, TsModifier] |}>(\n ({ orderedModifiers }) =>\n `'${orderedModifiers[0]}' modifier must precede '${orderedModifiers[1]}' modifier.`,\n ),\n InvalidTupleMemberLabel: _(\n \"Tuple members must be labeled with a simple identifier.\",\n ),\n MissingInterfaceName: _(\n \"'interface' declarations must be followed by an identifier.\",\n ),\n MixedLabeledAndUnlabeledElements: _(\n \"Tuple members must all have names or all not have names.\",\n ),\n NonAbstractClassHasAbstractMethod: _(\n \"Abstract methods can only appear within an abstract class.\",\n ),\n NonClassMethodPropertyHasAbstractModifer: _(\n \"'abstract' modifier can only appear on a class, method, or property declaration.\",\n ),\n OptionalTypeBeforeRequired: _(\n \"A required element cannot follow an optional element.\",\n ),\n OverrideNotInSubClass: _(\n \"This member cannot have an 'override' modifier because its containing class does not extend another class.\",\n ),\n PatternIsOptional: _(\n \"A binding pattern parameter cannot be optional in an implementation signature.\",\n ),\n PrivateElementHasAbstract: _(\n \"Private elements cannot have the 'abstract' modifier.\",\n ),\n PrivateElementHasAccessibility: _<{| modifier: N.Accessibility |}>(\n ({ modifier }) =>\n `Private elements cannot have an accessibility modifier ('${modifier}').`,\n ),\n ReadonlyForMethodSignature: _(\n \"'readonly' modifier can only appear on a property declaration or index signature.\",\n ),\n ReservedArrowTypeParam: _(\n \"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.\",\n ),\n ReservedTypeAssertion: _(\n \"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.\",\n ),\n SetAccesorCannotHaveOptionalParameter: _(\n \"A 'set' accessor cannot have an optional parameter.\",\n ),\n SetAccesorCannotHaveRestParameter: _(\n \"A 'set' accessor cannot have rest parameter.\",\n ),\n SetAccesorCannotHaveReturnType: _(\n \"A 'set' accessor cannot have a return type annotation.\",\n ),\n SingleTypeParameterWithoutTrailingComma: _<{| typeParameterName: string |}>(\n ({ typeParameterName }) =>\n `Single type parameter ${typeParameterName} should have a trailing comma. Example usage: <${typeParameterName},>.`,\n ),\n StaticBlockCannotHaveModifier: _(\n \"Static class blocks cannot have any modifier.\",\n ),\n TypeAnnotationAfterAssign: _(\n \"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.\",\n ),\n TypeImportCannotSpecifyDefaultAndNamed: _(\n \"A type-only import can specify a default import or named bindings, but not both.\",\n ),\n TypeModifierIsUsedInTypeExports: _(\n \"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.\",\n ),\n TypeModifierIsUsedInTypeImports: _(\n \"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.\",\n ),\n UnexpectedParameterModifier: _(\n \"A parameter property is only allowed in a constructor implementation.\",\n ),\n UnexpectedReadonly: _(\n \"'readonly' type modifier is only permitted on array and tuple literal types.\",\n ),\n UnexpectedTypeAnnotation: _(\"Did not expect a type annotation here.\"),\n UnexpectedTypeCastInParameter: _(\n \"Unexpected type cast in parameter position.\",\n ),\n UnsupportedImportTypeArgument: _(\n \"Argument in a type import must be a string literal.\",\n ),\n UnsupportedParameterPropertyKind: _(\n \"A parameter property may not be declared using a binding pattern.\",\n ),\n UnsupportedSignatureParameterKind: _<{| type: string |}>(\n ({ type }) =>\n `Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${type}.`,\n ),\n}));\n\n/* eslint-disable sort-keys */\n\n// Doesn't handle \"void\" or \"null\" because those are keywords, not identifiers.\n// It also doesn't handle \"intrinsic\", since usually it's not a keyword.\nfunction keywordTypeFromName(\n value: string,\n): N.TsKeywordTypeType | typeof undefined {\n switch (value) {\n case \"any\":\n return \"TSAnyKeyword\";\n case \"boolean\":\n return \"TSBooleanKeyword\";\n case \"bigint\":\n return \"TSBigIntKeyword\";\n case \"never\":\n return \"TSNeverKeyword\";\n case \"number\":\n return \"TSNumberKeyword\";\n case \"object\":\n return \"TSObjectKeyword\";\n case \"string\":\n return \"TSStringKeyword\";\n case \"symbol\":\n return \"TSSymbolKeyword\";\n case \"undefined\":\n return \"TSUndefinedKeyword\";\n case \"unknown\":\n return \"TSUnknownKeyword\";\n default:\n return undefined;\n }\n}\n\nfunction tsIsAccessModifier(modifier: string): boolean %checks {\n return (\n modifier === \"private\" || modifier === \"public\" || modifier === \"protected\"\n );\n}\n\nfunction tsIsVarianceAnnotations(modifier: string): boolean %checks {\n return modifier === \"in\" || modifier === \"out\";\n}\n\nexport default (superClass: Class<Parser>): Class<Parser> =>\n class extends superClass {\n getScopeHandler(): Class<TypeScriptScopeHandler> {\n return TypeScriptScopeHandler;\n }\n\n tsIsIdentifier(): boolean {\n // TODO: actually a bit more complex in TypeScript, but shouldn't matter.\n // See https://github.com/Microsoft/TypeScript/issues/15008\n return tokenIsIdentifier(this.state.type);\n }\n\n tsTokenCanFollowModifier() {\n return (\n (this.match(tt.bracketL) ||\n this.match(tt.braceL) ||\n this.match(tt.star) ||\n this.match(tt.ellipsis) ||\n this.match(tt.privateName) ||\n this.isLiteralPropertyName()) &&\n !this.hasPrecedingLineBreak()\n );\n }\n\n tsNextTokenCanFollowModifier() {\n // Note: TypeScript's implementation is much more complicated because\n // more things are considered modifiers there.\n // This implementation only handles modifiers not handled by @babel/parser itself. And \"static\".\n // TODO: Would be nice to avoid lookahead. Want a hasLineBreakUpNext() method...\n this.next();\n return this.tsTokenCanFollowModifier();\n }\n\n /** Parses a modifier matching one the given modifier names. */\n tsParseModifier<T: TsModifier>(\n allowedModifiers: T[],\n stopOnStartOfClassStaticBlock?: boolean,\n ): ?T {\n if (!tokenIsIdentifier(this.state.type) && this.state.type !== tt._in) {\n return undefined;\n }\n\n const modifier = this.state.value;\n if (allowedModifiers.indexOf(modifier) !== -1) {\n if (stopOnStartOfClassStaticBlock && this.tsIsStartOfStaticBlocks()) {\n return undefined;\n }\n if (this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) {\n return modifier;\n }\n }\n return undefined;\n }\n\n /** Parses a list of modifiers, in any order.\n * If you need a specific order, you must call this function multiple times:\n * this.tsParseModifiers({ modified: node, allowedModifiers: [\"public\"] });\n * this.tsParseModifiers({ modified: node, allowedModifiers: [\"abstract\", \"readonly\"] });\n */\n tsParseModifiers({\n modified,\n allowedModifiers,\n disallowedModifiers,\n stopOnStartOfClassStaticBlock,\n errorTemplate = TSErrors.InvalidModifierOnTypeMember,\n }: {\n modified: {\n [key: TsModifier]: ?true,\n accessibility?: N.Accessibility,\n },\n allowedModifiers: TsModifier[],\n disallowedModifiers?: TsModifier[],\n stopOnStartOfClassStaticBlock?: boolean,\n // FIXME: make sure errorTemplate can receive `modifier`\n errorTemplate?: any,\n }): void {\n const enforceOrder = (loc, modifier, before, after) => {\n if (modifier === before && modified[after]) {\n this.raise(TSErrors.InvalidModifiersOrder, {\n at: loc,\n orderedModifiers: [before, after],\n });\n }\n };\n const incompatible = (loc, modifier, mod1, mod2) => {\n if (\n (modified[mod1] && modifier === mod2) ||\n (modified[mod2] && modifier === mod1)\n ) {\n this.raise(TSErrors.IncompatibleModifiers, {\n at: loc,\n modifiers: [mod1, mod2],\n });\n }\n };\n\n for (;;) {\n const { startLoc } = this.state;\n const modifier: ?TsModifier = this.tsParseModifier(\n allowedModifiers.concat(disallowedModifiers ?? []),\n stopOnStartOfClassStaticBlock,\n );\n\n if (!modifier) break;\n\n if (tsIsAccessModifier(modifier)) {\n if (modified.accessibility) {\n this.raise(TSErrors.DuplicateAccessibilityModifier, {\n at: startLoc,\n modifier,\n });\n } else {\n enforceOrder(startLoc, modifier, modifier, \"override\");\n enforceOrder(startLoc, modifier, modifier, \"static\");\n enforceOrder(startLoc, modifier, modifier, \"readonly\");\n\n modified.accessibility = modifier;\n }\n } else if (tsIsVarianceAnnotations(modifier)) {\n if (modified[modifier]) {\n this.raise(TSErrors.DuplicateModifier, { at: startLoc, modifier });\n }\n modified[modifier] = true;\n\n enforceOrder(startLoc, modifier, \"in\", \"out\");\n } else {\n if (Object.hasOwnProperty.call(modified, modifier)) {\n this.raise(TSErrors.DuplicateModifier, { at: startLoc, modifier });\n } else {\n enforceOrder(startLoc, modifier, \"static\", \"readonly\");\n enforceOrder(startLoc, modifier, \"static\", \"override\");\n enforceOrder(startLoc, modifier, \"override\", \"readonly\");\n enforceOrder(startLoc, modifier, \"abstract\", \"override\");\n\n incompatible(startLoc, modifier, \"declare\", \"override\");\n incompatible(startLoc, modifier, \"static\", \"abstract\");\n }\n modified[modifier] = true;\n }\n\n if (disallowedModifiers?.includes(modifier)) {\n this.raise(errorTemplate, {\n at: startLoc,\n modifier,\n });\n }\n }\n }\n\n tsIsListTerminator(kind: ParsingContext): boolean {\n switch (kind) {\n case \"EnumMembers\":\n case \"TypeMembers\":\n return this.match(tt.braceR);\n case \"HeritageClauseElement\":\n return this.match(tt.braceL);\n case \"TupleElementTypes\":\n return this.match(tt.bracketR);\n case \"TypeParametersOrArguments\":\n return this.match(tt.gt);\n }\n\n throw new Error(\"Unreachable\");\n }\n\n tsParseList<T: N.Node>(kind: ParsingContext, parseElement: () => T): T[] {\n const result: T[] = [];\n while (!this.tsIsListTerminator(kind)) {\n // Skipping \"parseListElement\" from the TS source since that's just for error handling.\n result.push(parseElement());\n }\n return result;\n }\n\n tsParseDelimitedList<T: N.Node>(\n kind: ParsingContext,\n parseElement: () => T,\n refTrailingCommaPos?: { value: number },\n ): T[] {\n return nonNull(\n this.tsParseDelimitedListWorker(\n kind,\n parseElement,\n /* expectSuccess */ true,\n refTrailingCommaPos,\n ),\n );\n }\n\n /**\n * If !expectSuccess, returns undefined instead of failing to parse.\n * If expectSuccess, parseElement should always return a defined value.\n */\n tsParseDelimitedListWorker<T: N.Node>(\n kind: ParsingContext,\n parseElement: () => ?T,\n expectSuccess: boolean,\n refTrailingCommaPos?: { value: number },\n ): ?(T[]) {\n const result = [];\n let trailingCommaPos = -1;\n\n for (;;) {\n if (this.tsIsListTerminator(kind)) {\n break;\n }\n trailingCommaPos = -1;\n\n const element = parseElement();\n if (element == null) {\n return undefined;\n }\n result.push(element);\n\n if (this.eat(tt.comma)) {\n trailingCommaPos = this.state.lastTokStart;\n continue;\n }\n\n if (this.tsIsListTerminator(kind)) {\n break;\n }\n\n if (expectSuccess) {\n // This will fail with an error about a missing comma\n this.expect(tt.comma);\n }\n return undefined;\n }\n\n if (refTrailingCommaPos) {\n refTrailingCommaPos.value = trailingCommaPos;\n }\n\n return result;\n }\n\n tsParseBracketedList<T: N.Node>(\n kind: ParsingContext,\n parseElement: () => T,\n bracket: boolean,\n skipFirstToken: boolean,\n refTrailingCommaPos?: { value: number },\n ): T[] {\n if (!skipFirstToken) {\n if (bracket) {\n this.expect(tt.bracketL);\n } else {\n this.expect(tt.lt);\n }\n }\n\n const result = this.tsParseDelimitedList(\n kind,\n parseElement,\n refTrailingCommaPos,\n );\n\n if (bracket) {\n this.expect(tt.bracketR);\n } else {\n this.expect(tt.gt);\n }\n\n return result;\n }\n\n tsParseImportType(): N.TsImportType {\n const node: N.TsImportType = this.startNode();\n this.expect(tt._import);\n this.expect(tt.parenL);\n if (!this.match(tt.string)) {\n this.raise(TSErrors.UnsupportedImportTypeArgument, {\n at: this.state.startLoc,\n });\n }\n\n // For compatibility to estree we cannot call parseLiteral directly here\n node.argument = this.parseExprAtom();\n this.expect(tt.parenR);\n\n if (this.eat(tt.dot)) {\n // In this instance, the entity name will actually itself be a\n // qualifier, so allow it to be a reserved word as well.\n node.qualifier = this.tsParseEntityName();\n }\n if (this.match(tt.lt)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n return this.finishNode(node, \"TSImportType\");\n }\n\n tsParseEntityName(allowReservedWords: boolean = true): N.TsEntityName {\n let entity: N.TsEntityName = this.parseIdentifier(allowReservedWords);\n while (this.eat(tt.dot)) {\n const node: N.TsQualifiedName = this.startNodeAtNode(entity);\n node.left = entity;\n node.right = this.parseIdentifier(allowReservedWords);\n entity = this.finishNode(node, \"TSQualifiedName\");\n }\n return entity;\n }\n\n tsParseTypeReference(): N.TsTypeReference {\n const node: N.TsTypeReference = this.startNode();\n node.typeName = this.tsParseEntityName();\n if (!this.hasPrecedingLineBreak() && this.match(tt.lt)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n return this.finishNode(node, \"TSTypeReference\");\n }\n\n tsParseThisTypePredicate(lhs: N.TsThisType): N.TsTypePredicate {\n this.next();\n const node: N.TsTypePredicate = this.startNodeAtNode(lhs);\n node.parameterName = lhs;\n node.typeAnnotation = this.tsParseTypeAnnotation(/* eatColon */ false);\n node.asserts = false;\n return this.finishNode(node, \"TSTypePredicate\");\n }\n\n tsParseThisTypeNode(): N.TsThisType {\n const node: N.TsThisType = this.startNode();\n this.next();\n return this.finishNode(node, \"TSThisType\");\n }\n\n tsParseTypeQuery(): N.TsTypeQuery {\n const node: N.TsTypeQuery = this.startNode();\n this.expect(tt._typeof);\n if (this.match(tt._import)) {\n node.exprName = this.tsParseImportType();\n } else {\n node.exprName = this.tsParseEntityName();\n }\n if (!this.hasPrecedingLineBreak() && this.match(tt.lt)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n return this.finishNode(node, \"TSTypeQuery\");\n }\n\n tsParseInOutModifiers(node: N.TsTypeParameter) {\n this.tsParseModifiers({\n modified: node,\n allowedModifiers: [\"in\", \"out\"],\n disallowedModifiers: [\n \"public\",\n \"private\",\n \"protected\",\n \"readonly\",\n \"declare\",\n \"abstract\",\n \"override\",\n ],\n errorTemplate: TSErrors.InvalidModifierOnTypeParameter,\n });\n }\n\n // for better error recover\n tsParseNoneModifiers(node: N.TsTypeParameter) {\n this.tsParseModifiers({\n modified: node,\n allowedModifiers: [],\n disallowedModifiers: [\"in\", \"out\"],\n errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions,\n });\n }\n\n tsParseTypeParameter(\n parseModifiers: (\n node: N.TsTypeParameter,\n ) => void = this.tsParseNoneModifiers.bind(this),\n ): N.TsTypeParameter {\n const node: N.TsTypeParameter = this.startNode();\n\n parseModifiers(node);\n\n node.name = this.tsParseTypeParameterName();\n node.constraint = this.tsEatThenParseType(tt._extends);\n node.default = this.tsEatThenParseType(tt.eq);\n return this.finishNode(node, \"TSTypeParameter\");\n }\n\n tsTryParseTypeParameters(\n parseModifiers: ?(node: N.TsTypeParameter) => void,\n ): ?N.TsTypeParameterDeclaration {\n if (this.match(tt.lt)) {\n return this.tsParseTypeParameters(parseModifiers);\n }\n }\n\n tsParseTypeParameters(parseModifiers: ?(node: N.TsTypeParameter) => void) {\n const node: N.TsTypeParameterDeclaration = this.startNode();\n\n if (this.match(tt.lt) || this.match(tt.jsxTagStart)) {\n this.next();\n } else {\n this.unexpected();\n }\n\n const refTrailingCommaPos = { value: -1 };\n\n node.params = this.tsParseBracketedList(\n \"TypeParametersOrArguments\",\n this.tsParseTypeParameter.bind(this, parseModifiers),\n /* bracket */ false,\n /* skipFirstToken */ true,\n refTrailingCommaPos,\n );\n if (node.params.length === 0) {\n this.raise(TSErrors.EmptyTypeParameters, { at: node });\n }\n if (refTrailingCommaPos.value !== -1) {\n this.addExtra(node, \"trailingComma\", refTrailingCommaPos.value);\n }\n return this.finishNode(node, \"TSTypeParameterDeclaration\");\n }\n\n tsTryNextParseConstantContext(): ?N.TsTypeReference {\n if (this.lookahead().type !== tt._const) return null;\n\n this.next();\n const typeReference = this.tsParseTypeReference();\n\n // If the type reference has type parameters, then you are using it as a\n // type and not as a const signifier. We'll *never* be able to find this\n // name, since const isn't allowed as a type name. So in this instance we\n // get to pretend we're the type checker.\n if (typeReference.typeParameters) {\n this.raise(TSErrors.CannotFindName, {\n at: typeReference.typeName,\n name: \"const\",\n });\n }\n\n return typeReference;\n }\n\n // Note: In TypeScript implementation we must provide `yieldContext` and `awaitContext`,\n // but here it's always false, because this is only used for types.\n tsFillSignature(\n returnToken: TokenType,\n signature: N.TsSignatureDeclaration,\n ): void {\n // Arrow fns *must* have return token (`=>`). Normal functions can omit it.\n const returnTokenRequired = returnToken === tt.arrow;\n\n // https://github.com/babel/babel/issues/9231\n const paramsKey = process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\";\n const returnTypeKey = process.env.BABEL_8_BREAKING\n ? \"returnType\"\n : \"typeAnnotation\";\n\n signature.typeParameters = this.tsTryParseTypeParameters();\n this.expect(tt.parenL);\n signature[paramsKey] = this.tsParseBindingListForSignature();\n if (returnTokenRequired) {\n signature[returnTypeKey] =\n this.tsParseTypeOrTypePredicateAnnotation(returnToken);\n } else if (this.match(returnToken)) {\n signature[returnTypeKey] =\n this.tsParseTypeOrTypePredicateAnnotation(returnToken);\n }\n }\n\n tsParseBindingListForSignature(): $ReadOnlyArray<\n N.Identifier | N.RestElement | N.ObjectPattern | N.ArrayPattern,\n > {\n return this.parseBindingList(tt.parenR, charCodes.rightParenthesis).map(\n pattern => {\n if (\n pattern.type !== \"Identifier\" &&\n pattern.type !== \"RestElement\" &&\n pattern.type !== \"ObjectPattern\" &&\n pattern.type !== \"ArrayPattern\"\n ) {\n this.raise(TSErrors.UnsupportedSignatureParameterKind, {\n at: pattern,\n type: pattern.type,\n });\n }\n return (pattern: any);\n },\n );\n }\n\n tsParseTypeMemberSemicolon(): void {\n if (!this.eat(tt.comma) && !this.isLineTerminator()) {\n this.expect(tt.semi);\n }\n }\n\n tsParseSignatureMember(\n kind: \"TSCallSignatureDeclaration\" | \"TSConstructSignatureDeclaration\",\n node: N.TsCallSignatureDeclaration | N.TsConstructSignatureDeclaration,\n ): N.TsCallSignatureDeclaration | N.TsConstructSignatureDeclaration {\n this.tsFillSignature(tt.colon, node);\n this.tsParseTypeMemberSemicolon();\n return this.finishNode(node, kind);\n }\n\n tsIsUnambiguouslyIndexSignature() {\n this.next(); // Skip '{'\n if (tokenIsIdentifier(this.state.type)) {\n this.next();\n return this.match(tt.colon);\n }\n return false;\n }\n\n tsTryParseIndexSignature(node: N.Node): ?N.TsIndexSignature {\n if (\n !(\n this.match(tt.bracketL) &&\n this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))\n )\n ) {\n return undefined;\n }\n\n this.expect(tt.bracketL);\n const id = this.parseIdentifier();\n id.typeAnnotation = this.tsParseTypeAnnotation();\n this.resetEndLocation(id); // set end position to end of type\n\n this.expect(tt.bracketR);\n node.parameters = [id];\n\n const type = this.tsTryParseTypeAnnotation();\n if (type) node.typeAnnotation = type;\n this.tsParseTypeMemberSemicolon();\n return this.finishNode(node, \"TSIndexSignature\");\n }\n\n tsParsePropertyOrMethodSignature(\n node: N.TsPropertySignature | N.TsMethodSignature,\n readonly: boolean,\n ): N.TsPropertySignature | N.TsMethodSignature {\n if (this.eat(tt.question)) node.optional = true;\n const nodeAny: any = node;\n\n if (this.match(tt.parenL) || this.match(tt.lt)) {\n if (readonly) {\n this.raise(TSErrors.ReadonlyForMethodSignature, { at: node });\n }\n const method: N.TsMethodSignature = nodeAny;\n if (method.kind && this.match(tt.lt)) {\n this.raise(TSErrors.AccesorCannotHaveTypeParameters, {\n at: this.state.curPosition(),\n });\n }\n this.tsFillSignature(tt.colon, method);\n this.tsParseTypeMemberSemicolon();\n const paramsKey = process.env.BABEL_8_BREAKING\n ? \"params\"\n : \"parameters\";\n const returnTypeKey = process.env.BABEL_8_BREAKING\n ? \"returnType\"\n : \"typeAnnotation\";\n if (method.kind === \"get\") {\n if (method[paramsKey].length > 0) {\n this.raise(Errors.BadGetterArity, { at: this.state.curPosition() });\n if (this.isThisParam(method[paramsKey][0])) {\n this.raise(TSErrors.AccesorCannotDeclareThisParameter, {\n at: this.state.curPosition(),\n });\n }\n }\n } else if (method.kind === \"set\") {\n if (method[paramsKey].length !== 1) {\n this.raise(Errors.BadSetterArity, { at: this.state.curPosition() });\n } else {\n const firstParameter = method[paramsKey][0];\n if (this.isThisParam(firstParameter)) {\n this.raise(TSErrors.AccesorCannotDeclareThisParameter, {\n at: this.state.curPosition(),\n });\n }\n if (\n firstParameter.type === \"Identifier\" &&\n firstParameter.optional\n ) {\n this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter, {\n at: this.state.curPosition(),\n });\n }\n if (firstParameter.type === \"RestElement\") {\n this.raise(TSErrors.SetAccesorCannotHaveRestParameter, {\n at: this.state.curPosition(),\n });\n }\n }\n if (method[returnTypeKey]) {\n this.raise(TSErrors.SetAccesorCannotHaveReturnType, {\n at: method[returnTypeKey],\n });\n }\n } else {\n method.kind = \"method\";\n }\n return this.finishNode(method, \"TSMethodSignature\");\n } else {\n const property: N.TsPropertySignature = nodeAny;\n if (readonly) property.readonly = true;\n const type = this.tsTryParseTypeAnnotation();\n if (type) property.typeAnnotation = type;\n this.tsParseTypeMemberSemicolon();\n return this.finishNode(property, \"TSPropertySignature\");\n }\n }\n\n tsParseTypeMember(): N.TsTypeElement {\n const node: any = this.startNode();\n\n if (this.match(tt.parenL) || this.match(tt.lt)) {\n return this.tsParseSignatureMember(\"TSCallSignatureDeclaration\", node);\n }\n\n if (this.match(tt._new)) {\n const id: N.Identifier = this.startNode();\n this.next();\n if (this.match(tt.parenL) || this.match(tt.lt)) {\n return this.tsParseSignatureMember(\n \"TSConstructSignatureDeclaration\",\n node,\n );\n } else {\n node.key = this.createIdentifier(id, \"new\");\n return this.tsParsePropertyOrMethodSignature(node, false);\n }\n }\n\n this.tsParseModifiers({\n modified: node,\n allowedModifiers: [\"readonly\"],\n disallowedModifiers: [\n \"declare\",\n \"abstract\",\n \"private\",\n \"protected\",\n \"public\",\n \"static\",\n \"override\",\n ],\n });\n\n const idx = this.tsTryParseIndexSignature(node);\n if (idx) {\n return idx;\n }\n\n this.parsePropertyName(node);\n if (\n !node.computed &&\n node.key.type === \"Identifier\" &&\n (node.key.name === \"get\" || node.key.name === \"set\") &&\n this.tsTokenCanFollowModifier()\n ) {\n node.kind = node.key.name;\n this.parsePropertyName(node);\n }\n return this.tsParsePropertyOrMethodSignature(node, !!node.readonly);\n }\n\n tsParseTypeLiteral(): N.TsTypeLiteral {\n const node: N.TsTypeLiteral = this.startNode();\n node.members = this.tsParseObjectTypeMembers();\n return this.finishNode(node, \"TSTypeLiteral\");\n }\n\n tsParseObjectTypeMembers(): $ReadOnlyArray<N.TsTypeElement> {\n this.expect(tt.braceL);\n const members = this.tsParseList(\n \"TypeMembers\",\n this.tsParseTypeMember.bind(this),\n );\n this.expect(tt.braceR);\n return members;\n }\n\n tsIsStartOfMappedType(): boolean {\n this.next();\n if (this.eat(tt.plusMin)) {\n return this.isContextual(tt._readonly);\n }\n if (this.isContextual(tt._readonly)) {\n this.next();\n }\n if (!this.match(tt.bracketL)) {\n return false;\n }\n this.next();\n if (!this.tsIsIdentifier()) {\n return false;\n }\n this.next();\n return this.match(tt._in);\n }\n\n tsParseMappedTypeParameter(): N.TsTypeParameter {\n const node: N.TsTypeParameter = this.startNode();\n node.name = this.tsParseTypeParameterName();\n node.constraint = this.tsExpectThenParseType(tt._in);\n return this.finishNode(node, \"TSTypeParameter\");\n }\n\n tsParseMappedType(): N.TsMappedType {\n const node: N.TsMappedType = this.startNode();\n\n this.expect(tt.braceL);\n\n if (this.match(tt.plusMin)) {\n node.readonly = this.state.value;\n this.next();\n this.expectContextual(tt._readonly);\n } else if (this.eatContextual(tt._readonly)) {\n node.readonly = true;\n }\n\n this.expect(tt.bracketL);\n node.typeParameter = this.tsParseMappedTypeParameter();\n node.nameType = this.eatContextual(tt._as) ? this.tsParseType() : null;\n\n this.expect(tt.bracketR);\n\n if (this.match(tt.plusMin)) {\n node.optional = this.state.value;\n this.next();\n this.expect(tt.question);\n } else if (this.eat(tt.question)) {\n node.optional = true;\n }\n\n node.typeAnnotation = this.tsTryParseType();\n this.semicolon();\n this.expect(tt.braceR);\n\n return this.finishNode(node, \"TSMappedType\");\n }\n\n tsParseTupleType(): N.TsTupleType {\n const node: N.TsTupleType = this.startNode();\n node.elementTypes = this.tsParseBracketedList(\n \"TupleElementTypes\",\n this.tsParseTupleElementType.bind(this),\n /* bracket */ true,\n /* skipFirstToken */ false,\n );\n\n // Validate the elementTypes to ensure that no mandatory elements\n // follow optional elements\n let seenOptionalElement = false;\n let labeledElements = null;\n node.elementTypes.forEach(elementNode => {\n let { type } = elementNode;\n\n if (\n seenOptionalElement &&\n type !== \"TSRestType\" &&\n type !== \"TSOptionalType\" &&\n !(type === \"TSNamedTupleMember\" && elementNode.optional)\n ) {\n this.raise(TSErrors.OptionalTypeBeforeRequired, {\n at: elementNode,\n });\n }\n\n // Flow doesn't support ||=\n seenOptionalElement =\n seenOptionalElement ||\n (type === \"TSNamedTupleMember\" && elementNode.optional) ||\n type === \"TSOptionalType\";\n\n // When checking labels, check the argument of the spread operator\n if (type === \"TSRestType\") {\n elementNode = elementNode.typeAnnotation;\n type = elementNode.type;\n }\n\n const isLabeled = type === \"TSNamedTupleMember\";\n // Flow doesn't support ??=\n labeledElements = labeledElements ?? isLabeled;\n if (labeledElements !== isLabeled) {\n this.raise(TSErrors.MixedLabeledAndUnlabeledElements, {\n at: elementNode,\n });\n }\n });\n\n return this.finishNode(node, \"TSTupleType\");\n }\n\n tsParseTupleElementType(): N.TsType | N.TsNamedTupleMember {\n // parses `...TsType[]`\n\n const { start: startPos, startLoc } = this.state;\n\n const rest = this.eat(tt.ellipsis);\n let type = this.tsParseType();\n const optional = this.eat(tt.question);\n const labeled = this.eat(tt.colon);\n\n if (labeled) {\n const labeledNode: N.TsNamedTupleMember = this.startNodeAtNode(type);\n labeledNode.optional = optional;\n\n if (\n type.type === \"TSTypeReference\" &&\n !type.typeParameters &&\n type.typeName.type === \"Identifier\"\n ) {\n labeledNode.label = (type.typeName: N.Identifier);\n } else {\n this.raise(TSErrors.InvalidTupleMemberLabel, { at: type });\n // This produces an invalid AST, but at least we don't drop\n // nodes representing the invalid source.\n // $FlowIgnore\n labeledNode.label = type;\n }\n\n labeledNode.elementType = this.tsParseType();\n type = this.finishNode(labeledNode, \"TSNamedTupleMember\");\n } else if (optional) {\n const optionalTypeNode: N.TsOptionalType = this.startNodeAtNode(type);\n optionalTypeNode.typeAnnotation = type;\n type = this.finishNode(optionalTypeNode, \"TSOptionalType\");\n }\n\n if (rest) {\n const restNode: N.TsRestType = this.startNodeAt(startPos, startLoc);\n restNode.typeAnnotation = type;\n type = this.finishNode(restNode, \"TSRestType\");\n }\n\n return type;\n }\n\n tsParseParenthesizedType(): N.TsParenthesizedType {\n const node = this.startNode();\n this.expect(tt.parenL);\n node.typeAnnotation = this.tsParseType();\n this.expect(tt.parenR);\n return this.finishNode(node, \"TSParenthesizedType\");\n }\n\n tsParseFunctionOrConstructorType(\n type: \"TSFunctionType\" | \"TSConstructorType\",\n abstract?: boolean,\n ): N.TsFunctionOrConstructorType {\n const node: N.TsFunctionOrConstructorType = this.startNode();\n if (type === \"TSConstructorType\") {\n // $FlowIgnore\n node.abstract = !!abstract;\n if (abstract) this.next();\n this.next(); // eat `new`\n }\n this.tsInAllowConditionalTypesContext(() =>\n this.tsFillSignature(tt.arrow, node),\n );\n return this.finishNode(node, type);\n }\n\n tsParseLiteralTypeNode(): N.TsLiteralType {\n const node: N.TsLiteralType = this.startNode();\n node.literal = (() => {\n switch (this.state.type) {\n case tt.num:\n case tt.bigint:\n case tt.string:\n case tt._true:\n case tt._false:\n // For compatibility to estree we cannot call parseLiteral directly here\n return this.parseExprAtom();\n default:\n throw this.unexpected();\n }\n })();\n return this.finishNode(node, \"TSLiteralType\");\n }\n\n tsParseTemplateLiteralType(): N.TsType {\n const node: N.TsLiteralType = this.startNode();\n node.literal = this.parseTemplate(false);\n return this.finishNode(node, \"TSLiteralType\");\n }\n\n parseTemplateSubstitution(): N.TsType {\n if (this.state.inType) return this.tsParseType();\n return super.parseTemplateSubstitution();\n }\n\n tsParseThisTypeOrThisTypePredicate(): N.TsThisType | N.TsTypePredicate {\n const thisKeyword = this.tsParseThisTypeNode();\n if (this.isContextual(tt._is) && !this.hasPrecedingLineBreak()) {\n return this.tsParseThisTypePredicate(thisKeyword);\n } else {\n return thisKeyword;\n }\n }\n\n tsParseNonArrayType(): N.TsType {\n switch (this.state.type) {\n case tt.string:\n case tt.num:\n case tt.bigint:\n case tt._true:\n case tt._false:\n return this.tsParseLiteralTypeNode();\n case tt.plusMin:\n if (this.state.value === \"-\") {\n const node: N.TsLiteralType = this.startNode();\n const nextToken = this.lookahead();\n if (nextToken.type !== tt.num && nextToken.type !== tt.bigint) {\n throw this.unexpected();\n }\n node.literal = this.parseMaybeUnary();\n return this.finishNode(node, \"TSLiteralType\");\n }\n break;\n case tt._this:\n return this.tsParseThisTypeOrThisTypePredicate();\n case tt._typeof:\n return this.tsParseTypeQuery();\n case tt._import:\n return this.tsParseImportType();\n case tt.braceL:\n return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))\n ? this.tsParseMappedType()\n : this.tsParseTypeLiteral();\n case tt.bracketL:\n return this.tsParseTupleType();\n case tt.parenL:\n if (process.env.BABEL_8_BREAKING) {\n if (!this.options.createParenthesizedExpressions) {\n const startPos = this.state.start;\n this.next();\n const type = this.tsParseType();\n this.expect(tt.parenR);\n this.addExtra(type, \"parenthesized\", true);\n this.addExtra(type, \"parenStart\", startPos);\n return type;\n }\n }\n\n return this.tsParseParenthesizedType();\n case tt.templateNonTail:\n case tt.templateTail:\n return this.tsParseTemplateLiteralType();\n default: {\n const { type } = this.state;\n if (\n tokenIsIdentifier(type) ||\n type === tt._void ||\n type === tt._null\n ) {\n const nodeType =\n type === tt._void\n ? \"TSVoidKeyword\"\n : type === tt._null\n ? \"TSNullKeyword\"\n : keywordTypeFromName(this.state.value);\n if (\n nodeType !== undefined &&\n this.lookaheadCharCode() !== charCodes.dot\n ) {\n const node: N.TsKeywordType = this.startNode();\n this.next();\n return this.finishNode(node, nodeType);\n }\n return this.tsParseTypeReference();\n }\n }\n }\n\n throw this.unexpected();\n }\n\n tsParseArrayTypeOrHigher(): N.TsType {\n let type = this.tsParseNonArrayType();\n while (!this.hasPrecedingLineBreak() && this.eat(tt.bracketL)) {\n if (this.match(tt.bracketR)) {\n const node: N.TsArrayType = this.startNodeAtNode(type);\n node.elementType = type;\n this.expect(tt.bracketR);\n type = this.finishNode(node, \"TSArrayType\");\n } else {\n const node: N.TsIndexedAccessType = this.startNodeAtNode(type);\n node.objectType = type;\n node.indexType = this.tsParseType();\n this.expect(tt.bracketR);\n type = this.finishNode(node, \"TSIndexedAccessType\");\n }\n }\n return type;\n }\n\n tsParseTypeOperator(): N.TsTypeOperator {\n const node: N.TsTypeOperator = this.startNode();\n const operator = this.state.value;\n this.next(); // eat operator\n node.operator = operator;\n node.typeAnnotation = this.tsParseTypeOperatorOrHigher();\n\n if (operator === \"readonly\") {\n this.tsCheckTypeAnnotationForReadOnly(node);\n }\n\n return this.finishNode(node, \"TSTypeOperator\");\n }\n\n tsCheckTypeAnnotationForReadOnly(node: N.Node) {\n switch (node.typeAnnotation.type) {\n case \"TSTupleType\":\n case \"TSArrayType\":\n return;\n default:\n this.raise(TSErrors.UnexpectedReadonly, { at: node });\n }\n }\n\n tsParseInferType(): N.TsInferType {\n const node = this.startNode();\n this.expectContextual(tt._infer);\n const typeParameter = this.startNode();\n typeParameter.name = this.tsParseTypeParameterName();\n typeParameter.constraint = this.tsTryParse(() =>\n this.tsParseConstraintForInferType(),\n );\n node.typeParameter = this.finishNode(typeParameter, \"TSTypeParameter\");\n return this.finishNode(node, \"TSInferType\");\n }\n\n tsParseConstraintForInferType() {\n if (this.eat(tt._extends)) {\n const constraint = this.tsInDisallowConditionalTypesContext(() =>\n this.tsParseType(),\n );\n if (\n this.state.inDisallowConditionalTypesContext ||\n !this.match(tt.question)\n ) {\n return constraint;\n }\n }\n }\n\n tsParseTypeOperatorOrHigher(): N.TsType {\n const isTypeOperator =\n tokenIsTSTypeOperator(this.state.type) && !this.state.containsEsc;\n return isTypeOperator\n ? this.tsParseTypeOperator()\n : this.isContextual(tt._infer)\n ? this.tsParseInferType()\n : this.tsInAllowConditionalTypesContext(() =>\n this.tsParseArrayTypeOrHigher(),\n );\n }\n\n tsParseUnionOrIntersectionType(\n kind: \"TSUnionType\" | \"TSIntersectionType\",\n parseConstituentType: () => N.TsType,\n operator: TokenType,\n ): N.TsType {\n const node: N.TsUnionType | N.TsIntersectionType = this.startNode();\n const hasLeadingOperator = this.eat(operator);\n const types = [];\n do {\n types.push(parseConstituentType());\n } while (this.eat(operator));\n if (types.length === 1 && !hasLeadingOperator) {\n return types[0];\n }\n node.types = types;\n return this.finishNode(node, kind);\n }\n\n tsParseIntersectionTypeOrHigher(): N.TsType {\n return this.tsParseUnionOrIntersectionType(\n \"TSIntersectionType\",\n this.tsParseTypeOperatorOrHigher.bind(this),\n tt.bitwiseAND,\n );\n }\n\n tsParseUnionTypeOrHigher() {\n return this.tsParseUnionOrIntersectionType(\n \"TSUnionType\",\n this.tsParseIntersectionTypeOrHigher.bind(this),\n tt.bitwiseOR,\n );\n }\n\n tsIsStartOfFunctionType() {\n if (this.match(tt.lt)) {\n return true;\n }\n return (\n this.match(tt.parenL) &&\n this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))\n );\n }\n\n tsSkipParameterStart(): boolean {\n if (tokenIsIdentifier(this.state.type) || this.match(tt._this)) {\n this.next();\n return true;\n }\n\n if (this.match(tt.braceL)) {\n // Return true if we can parse an object pattern without errors\n const { errors } = this.state;\n const previousErrorCount = errors.length;\n try {\n this.parseObjectLike(tt.braceR, true);\n return errors.length === previousErrorCount;\n } catch {\n return false;\n }\n }\n\n if (this.match(tt.bracketL)) {\n this.next();\n // Return true if we can parse an array pattern without errors\n const { errors } = this.state;\n const previousErrorCount = errors.length;\n try {\n this.parseBindingList(\n tt.bracketR,\n charCodes.rightSquareBracket,\n true,\n );\n return errors.length === previousErrorCount;\n } catch {\n return false;\n }\n }\n\n return false;\n }\n\n tsIsUnambiguouslyStartOfFunctionType(): boolean {\n this.next();\n if (this.match(tt.parenR) || this.match(tt.ellipsis)) {\n // ( )\n // ( ...\n return true;\n }\n if (this.tsSkipParameterStart()) {\n if (\n this.match(tt.colon) ||\n this.match(tt.comma) ||\n this.match(tt.question) ||\n this.match(tt.eq)\n ) {\n // ( xxx :\n // ( xxx ,\n // ( xxx ?\n // ( xxx =\n return true;\n }\n if (this.match(tt.parenR)) {\n this.next();\n if (this.match(tt.arrow)) {\n // ( xxx ) =>\n return true;\n }\n }\n }\n return false;\n }\n\n tsParseTypeOrTypePredicateAnnotation(\n returnToken: TokenType,\n ): N.TsTypeAnnotation {\n return this.tsInType(() => {\n const t: N.TsTypeAnnotation = this.startNode();\n this.expect(returnToken);\n\n const node = this.startNode<N.TsTypePredicate>();\n\n const asserts = !!this.tsTryParse(\n this.tsParseTypePredicateAsserts.bind(this),\n );\n\n if (asserts && this.match(tt._this)) {\n // When asserts is false, thisKeyword is handled by tsParseNonArrayType\n // : asserts this is type\n let thisTypePredicate = this.tsParseThisTypeOrThisTypePredicate();\n // if it turns out to be a `TSThisType`, wrap it with `TSTypePredicate`\n // : asserts this\n if (thisTypePredicate.type === \"TSThisType\") {\n node.parameterName = (thisTypePredicate: N.TsThisType);\n node.asserts = true;\n (node: N.TsTypePredicate).typeAnnotation = null;\n thisTypePredicate = this.finishNode(node, \"TSTypePredicate\");\n } else {\n this.resetStartLocationFromNode(thisTypePredicate, node);\n (thisTypePredicate: N.TsTypePredicate).asserts = true;\n }\n t.typeAnnotation = thisTypePredicate;\n return this.finishNode(t, \"TSTypeAnnotation\");\n }\n\n const typePredicateVariable =\n this.tsIsIdentifier() &&\n this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));\n\n if (!typePredicateVariable) {\n if (!asserts) {\n // : type\n return this.tsParseTypeAnnotation(/* eatColon */ false, t);\n }\n\n // : asserts foo\n node.parameterName = this.parseIdentifier();\n node.asserts = asserts;\n (node: N.TsTypePredicate).typeAnnotation = null;\n t.typeAnnotation = this.finishNode(node, \"TSTypePredicate\");\n return this.finishNode(t, \"TSTypeAnnotation\");\n }\n\n // : asserts foo is type\n const type = this.tsParseTypeAnnotation(/* eatColon */ false);\n node.parameterName = typePredicateVariable;\n node.typeAnnotation = type;\n node.asserts = asserts;\n t.typeAnnotation = this.finishNode(node, \"TSTypePredicate\");\n return this.finishNode(t, \"TSTypeAnnotation\");\n });\n }\n\n tsTryParseTypeOrTypePredicateAnnotation(): ?N.TsTypeAnnotation {\n return this.match(tt.colon)\n ? this.tsParseTypeOrTypePredicateAnnotation(tt.colon)\n : undefined;\n }\n\n tsTryParseTypeAnnotation(): ?N.TsTypeAnnotation {\n return this.match(tt.colon) ? this.tsParseTypeAnnotation() : undefined;\n }\n\n tsTryParseType(): ?N.TsType {\n return this.tsEatThenParseType(tt.colon);\n }\n\n tsParseTypePredicatePrefix(): ?N.Identifier {\n const id = this.parseIdentifier();\n if (this.isContextual(tt._is) && !this.hasPrecedingLineBreak()) {\n this.next();\n return id;\n }\n }\n\n tsParseTypePredicateAsserts(): boolean {\n if (this.state.type !== tt._asserts) {\n return false;\n }\n const containsEsc = this.state.containsEsc;\n this.next();\n if (!tokenIsIdentifier(this.state.type) && !this.match(tt._this)) {\n return false;\n }\n\n if (containsEsc) {\n this.raise(Errors.InvalidEscapedReservedWord, {\n at: this.state.lastTokStartLoc,\n reservedWord: \"asserts\",\n });\n }\n\n return true;\n }\n\n tsParseTypeAnnotation(\n eatColon = true,\n t: N.TsTypeAnnotation = this.startNode(),\n ): N.TsTypeAnnotation {\n this.tsInType(() => {\n if (eatColon) this.expect(tt.colon);\n t.typeAnnotation = this.tsParseType();\n });\n return this.finishNode(t, \"TSTypeAnnotation\");\n }\n\n /** Be sure to be in a type context before calling this, using `tsInType`. */\n tsParseType(): N.TsType {\n // Need to set `state.inType` so that we don't parse JSX in a type context.\n assert(this.state.inType);\n const type = this.tsParseNonConditionalType();\n\n if (\n this.state.inDisallowConditionalTypesContext ||\n this.hasPrecedingLineBreak() ||\n !this.eat(tt._extends)\n ) {\n return type;\n }\n const node: N.TsConditionalType = this.startNodeAtNode(type);\n node.checkType = type;\n\n node.extendsType = this.tsInDisallowConditionalTypesContext(() =>\n this.tsParseNonConditionalType(),\n );\n\n this.expect(tt.question);\n node.trueType = this.tsInAllowConditionalTypesContext(() =>\n this.tsParseType(),\n );\n\n this.expect(tt.colon);\n node.falseType = this.tsInAllowConditionalTypesContext(() =>\n this.tsParseType(),\n );\n\n return this.finishNode(node, \"TSConditionalType\");\n }\n\n isAbstractConstructorSignature(): boolean {\n return (\n this.isContextual(tt._abstract) && this.lookahead().type === tt._new\n );\n }\n\n tsParseNonConditionalType(): N.TsType {\n if (this.tsIsStartOfFunctionType()) {\n return this.tsParseFunctionOrConstructorType(\"TSFunctionType\");\n }\n if (this.match(tt._new)) {\n // As in `new () => Date`\n return this.tsParseFunctionOrConstructorType(\"TSConstructorType\");\n } else if (this.isAbstractConstructorSignature()) {\n // As in `abstract new () => Date`\n return this.tsParseFunctionOrConstructorType(\n \"TSConstructorType\",\n /* abstract */ true,\n );\n }\n return this.tsParseUnionTypeOrHigher();\n }\n\n tsParseTypeAssertion(): N.TsTypeAssertion {\n if (this.getPluginOption(\"typescript\", \"disallowAmbiguousJSXLike\")) {\n this.raise(TSErrors.ReservedTypeAssertion, { at: this.state.startLoc });\n }\n\n const node: N.TsTypeAssertion = this.startNode();\n const _const = this.tsTryNextParseConstantContext();\n node.typeAnnotation = _const || this.tsNextThenParseType();\n this.expect(tt.gt);\n node.expression = this.parseMaybeUnary();\n return this.finishNode(node, \"TSTypeAssertion\");\n }\n\n tsParseHeritageClause(\n token: \"extends\" | \"implements\",\n ): $ReadOnlyArray<N.TsExpressionWithTypeArguments> {\n const originalStartLoc = this.state.startLoc;\n\n const delimitedList = this.tsParseDelimitedList(\n \"HeritageClauseElement\",\n () => {\n const node: N.TsExpressionWithTypeArguments = this.startNode();\n node.expression = this.tsParseEntityName();\n if (this.match(tt.lt)) {\n node.typeParameters = this.tsParseTypeArguments();\n }\n\n return this.finishNode(node, \"TSExpressionWithTypeArguments\");\n },\n );\n\n if (!delimitedList.length) {\n this.raise(TSErrors.EmptyHeritageClauseType, {\n at: originalStartLoc,\n token,\n });\n }\n\n return delimitedList;\n }\n\n tsParseInterfaceDeclaration(\n node: N.TsInterfaceDeclaration,\n properties: { declare?: true } = {},\n ): ?N.TsInterfaceDeclaration {\n if (this.hasFollowingLineBreak()) return null;\n this.expectContextual(tt._interface);\n if (properties.declare) node.declare = true;\n if (tokenIsIdentifier(this.state.type)) {\n node.id = this.parseIdentifier();\n this.checkIdentifier(node.id, BIND_TS_INTERFACE);\n } else {\n node.id = null;\n this.raise(TSErrors.MissingInterfaceName, { at: this.state.startLoc });\n }\n\n node.typeParameters = this.tsTryParseTypeParameters(\n this.tsParseInOutModifiers.bind(this),\n );\n if (this.eat(tt._extends)) {\n node.extends = this.tsParseHeritageClause(\"extends\");\n }\n const body: N.TSInterfaceBody = this.startNode();\n body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this));\n node.body = this.finishNode(body, \"TSInterfaceBody\");\n return this.finishNode(node, \"TSInterfaceDeclaration\");\n }\n\n tsParseTypeAliasDeclaration(\n node: N.TsTypeAliasDeclaration,\n ): N.TsTypeAliasDeclaration {\n node.id = this.parseIdentifier();\n this.checkIdentifier(node.id, BIND_TS_TYPE);\n\n node.typeAnnotation = this.tsInType(() => {\n node.typeParameters = this.tsTryParseTypeParameters(\n this.tsParseInOutModifiers.bind(this),\n );\n\n this.expect(tt.eq);\n\n if (\n this.isContextual(tt._intrinsic) &&\n this.lookahead().type !== tt.dot\n ) {\n const node: N.TsKeywordType = this.startNode();\n this.next();\n return this.finishNode(node, \"TSIntrinsicKeyword\");\n }\n\n return this.tsParseType();\n });\n\n this.semicolon();\n return this.finishNode(node, \"TSTypeAliasDeclaration\");\n }\n\n tsInNoContext<T>(cb: () => T): T {\n const oldContext = this.state.context;\n this.state.context = [oldContext[0]];\n try {\n return cb();\n } finally {\n this.state.context = oldContext;\n }\n }\n\n /**\n * Runs `cb` in a type context.\n * This should be called one token *before* the first type token,\n * so that the call to `next()` is run in type context.\n */\n tsInType<T>(cb: () => T): T {\n const oldInType = this.state.inType;\n this.state.inType = true;\n try {\n return cb();\n } finally {\n this.state.inType = oldInType;\n }\n }\n\n tsInDisallowConditionalTypesContext<T>(cb: () => T): T {\n const oldInDisallowConditionalTypesContext =\n this.state.inDisallowConditionalTypesContext;\n this.state.inDisallowConditionalTypesContext = true;\n try {\n return cb();\n } finally {\n this.state.inDisallowConditionalTypesContext =\n oldInDisallowConditionalTypesContext;\n }\n }\n\n tsInAllowConditionalTypesContext<T>(cb: () => T): T {\n const oldInDisallowConditionalTypesContext =\n this.state.inDisallowConditionalTypesContext;\n this.state.inDisallowConditionalTypesContext = false;\n try {\n return cb();\n } finally {\n this.state.inDisallowConditionalTypesContext =\n oldInDisallowConditionalTypesContext;\n }\n }\n\n tsEatThenParseType(token: TokenType): N.TsType | typeof undefined {\n return !this.match(token) ? undefined : this.tsNextThenParseType();\n }\n\n tsExpectThenParseType(token: TokenType): N.TsType {\n return this.tsDoThenParseType(() => this.expect(token));\n }\n\n tsNextThenParseType(): N.TsType {\n return this.tsDoThenParseType(() => this.next());\n }\n\n tsDoThenParseType(cb: () => void): N.TsType {\n return this.tsInType(() => {\n cb();\n return this.tsParseType();\n });\n }\n\n tsParseEnumMember(): N.TsEnumMember {\n const node: N.TsEnumMember = this.startNode();\n // Computed property names are grammar errors in an enum, so accept just string literal or identifier.\n node.id = this.match(tt.string)\n ? this.parseExprAtom()\n : this.parseIdentifier(/* liberal */ true);\n if (this.eat(tt.eq)) {\n node.initializer = this.parseMaybeAssignAllowIn();\n }\n return this.finishNode(node, \"TSEnumMember\");\n }\n\n tsParseEnumDeclaration(\n node: N.TsEnumDeclaration,\n properties: { const?: true, declare?: true } = {},\n ): N.TsEnumDeclaration {\n if (properties.const) node.const = true;\n if (properties.declare) node.declare = true;\n this.expectContextual(tt._enum);\n node.id = this.parseIdentifier();\n this.checkIdentifier(\n node.id,\n node.const ? BIND_TS_CONST_ENUM : BIND_TS_ENUM,\n );\n\n this.expect(tt.braceL);\n node.members = this.tsParseDelimitedList(\n \"EnumMembers\",\n this.tsParseEnumMember.bind(this),\n );\n this.expect(tt.braceR);\n return this.finishNode(node, \"TSEnumDeclaration\");\n }\n\n tsParseModuleBlock(): N.TsModuleBlock {\n const node: N.TsModuleBlock = this.startNode();\n this.scope.enter(SCOPE_OTHER);\n\n this.expect(tt.braceL);\n // Inside of a module block is considered \"top-level\", meaning it can have imports and exports.\n this.parseBlockOrModuleBlockBody(\n (node.body = []),\n /* directives */ undefined,\n /* topLevel */ true,\n /* end */ tt.braceR,\n );\n this.scope.exit();\n return this.finishNode(node, \"TSModuleBlock\");\n }\n\n tsParseModuleOrNamespaceDeclaration(\n node: N.TsModuleDeclaration,\n nested?: boolean = false,\n ): N.TsModuleDeclaration {\n node.id = this.parseIdentifier();\n\n if (!nested) {\n this.checkIdentifier(node.id, BIND_TS_NAMESPACE);\n }\n\n if (this.eat(tt.dot)) {\n const inner = this.startNode();\n this.tsParseModuleOrNamespaceDeclaration(inner, true);\n node.body = inner;\n } else {\n this.scope.enter(SCOPE_TS_MODULE);\n this.prodParam.enter(PARAM);\n node.body = this.tsParseModuleBlock();\n this.prodParam.exit();\n this.scope.exit();\n }\n return this.finishNode(node, \"TSModuleDeclaration\");\n }\n\n tsParseAmbientExternalModuleDeclaration(\n node: N.TsModuleDeclaration,\n ): N.TsModuleDeclaration {\n if (this.isContextual(tt._global)) {\n node.global = true;\n node.id = this.parseIdentifier();\n } else if (this.match(tt.string)) {\n node.id = this.parseExprAtom();\n } else {\n this.unexpected();\n }\n if (this.match(tt.braceL)) {\n this.scope.enter(SCOPE_TS_MODULE);\n this.prodParam.enter(PARAM);\n node.body = this.tsParseModuleBlock();\n this.prodParam.exit();\n this.scope.exit();\n } else {\n this.semicolon();\n }\n\n return this.finishNode(node, \"TSModuleDeclaration\");\n }\n\n tsParseImportEqualsDeclaration(\n node: N.TsImportEqualsDeclaration,\n isExport?: boolean,\n ): N.TsImportEqualsDeclaration {\n node.isExport = isExport || false;\n node.id = this.parseIdentifier();\n this.checkIdentifier(node.id, BIND_LEXICAL);\n this.expect(tt.eq);\n const moduleReference = this.tsParseModuleReference();\n if (\n node.importKind === \"type\" &&\n moduleReference.type !== \"TSExternalModuleReference\"\n ) {\n this.raise(TSErrors.ImportAliasHasImportType, {\n at: moduleReference,\n });\n }\n node.moduleReference = moduleReference;\n this.semicolon();\n return this.finishNode(node, \"TSImportEqualsDeclaration\");\n }\n\n tsIsExternalModuleReference(): boolean {\n return (\n this.isContextual(tt._require) &&\n this.lookaheadCharCode() === charCodes.leftParenthesis\n );\n }\n\n tsParseModuleReference(): N.TsModuleReference {\n return this.tsIsExternalModuleReference()\n ? this.tsParseExternalModuleReference()\n : this.tsParseEntityName(/* allowReservedWords */ false);\n }\n\n tsParseExternalModuleReference(): N.TsExternalModuleReference {\n const node: N.TsExternalModuleReference = this.startNode();\n this.expectContextual(tt._require);\n this.expect(tt.parenL);\n if (!this.match(tt.string)) {\n throw this.unexpected();\n }\n // For compatibility to estree we cannot call parseLiteral directly here\n node.expression = this.parseExprAtom();\n this.expect(tt.parenR);\n return this.finishNode(node, \"TSExternalModuleReference\");\n }\n\n // Utilities\n\n tsLookAhead<T>(f: () => T): T {\n const state = this.state.clone();\n const res = f();\n this.state = state;\n return res;\n }\n\n tsTryParseAndCatch<T: ?N.NodeBase>(f: () => T): ?T {\n const result = this.tryParse(abort => f() || abort());\n\n if (result.aborted || !result.node) return undefined;\n if (result.error) this.state = result.failState;\n return result.node;\n }\n\n tsTryParse<T>(f: () => ?T): ?T {\n const state = this.state.clone();\n const result = f();\n if (result !== undefined && result !== false) {\n return result;\n } else {\n this.state = state;\n return undefined;\n }\n }\n\n tsTryParseDeclare(nany: any): ?N.Declaration {\n if (this.isLineTerminator()) {\n return;\n }\n let starttype = this.state.type;\n let kind;\n\n if (this.isContextual(tt._let)) {\n starttype = tt._var;\n kind = \"let\";\n }\n\n return this.tsInAmbientContext(() => {\n if (starttype === tt._function) {\n nany.declare = true;\n return this.parseFunctionStatement(\n nany,\n /* async */ false,\n /* declarationPosition */ true,\n );\n }\n\n if (starttype === tt._class) {\n // While this is also set by tsParseExpressionStatement, we need to set it\n // before parsing the class declaration to know how to register it in the scope.\n nany.declare = true;\n return this.parseClass(\n nany,\n /* isStatement */ true,\n /* optionalId */ false,\n );\n }\n\n if (starttype === tt._enum) {\n return this.tsParseEnumDeclaration(nany, { declare: true });\n }\n\n if (starttype === tt._global) {\n return this.tsParseAmbientExternalModuleDeclaration(nany);\n }\n\n if (starttype === tt._const || starttype === tt._var) {\n if (!this.match(tt._const) || !this.isLookaheadContextual(\"enum\")) {\n nany.declare = true;\n return this.parseVarStatement(nany, kind || this.state.value, true);\n }\n\n // `const enum = 0;` not allowed because \"enum\" is a strict mode reserved word.\n this.expect(tt._const);\n return this.tsParseEnumDeclaration(nany, {\n const: true,\n declare: true,\n });\n }\n\n if (starttype === tt._interface) {\n const result = this.tsParseInterfaceDeclaration(nany, {\n declare: true,\n });\n if (result) return result;\n }\n\n if (tokenIsIdentifier(starttype)) {\n return this.tsParseDeclaration(\n nany,\n this.state.value,\n /* next */ true,\n );\n }\n });\n }\n\n // Note: this won't be called unless the keyword is allowed in `shouldParseExportDeclaration`.\n tsTryParseExportDeclaration(): ?N.Declaration {\n return this.tsParseDeclaration(\n this.startNode(),\n this.state.value,\n /* next */ true,\n );\n }\n\n tsParseExpressionStatement(node: any, expr: N.Identifier): ?N.Declaration {\n switch (expr.name) {\n case \"declare\": {\n const declaration = this.tsTryParseDeclare(node);\n if (declaration) {\n declaration.declare = true;\n return declaration;\n }\n break;\n }\n case \"global\":\n // `global { }` (with no `declare`) may appear inside an ambient module declaration.\n // Would like to use tsParseAmbientExternalModuleDeclaration here, but already ran past \"global\".\n if (this.match(tt.braceL)) {\n this.scope.enter(SCOPE_TS_MODULE);\n this.prodParam.enter(PARAM);\n const mod: N.TsModuleDeclaration = node;\n mod.global = true;\n mod.id = expr;\n mod.body = this.tsParseModuleBlock();\n this.scope.exit();\n this.prodParam.exit();\n return this.finishNode(mod, \"TSModuleDeclaration\");\n }\n break;\n\n default:\n return this.tsParseDeclaration(node, expr.name, /* next */ false);\n }\n }\n\n // Common to tsTryParseDeclare, tsTryParseExportDeclaration, and tsParseExpressionStatement.\n tsParseDeclaration(\n node: any,\n value: string,\n next: boolean,\n ): ?N.Declaration {\n // no declaration apart from enum can be followed by a line break.\n switch (value) {\n case \"abstract\":\n if (\n this.tsCheckLineTerminator(next) &&\n (this.match(tt._class) || tokenIsIdentifier(this.state.type))\n ) {\n return this.tsParseAbstractDeclaration(node);\n }\n break;\n\n case \"module\":\n if (this.tsCheckLineTerminator(next)) {\n if (this.match(tt.string)) {\n return this.tsParseAmbientExternalModuleDeclaration(node);\n } else if (tokenIsIdentifier(this.state.type)) {\n return this.tsParseModuleOrNamespaceDeclaration(node);\n }\n }\n break;\n\n case \"namespace\":\n if (\n this.tsCheckLineTerminator(next) &&\n tokenIsIdentifier(this.state.type)\n ) {\n return this.tsParseModuleOrNamespaceDeclaration(node);\n }\n break;\n\n case \"type\":\n if (\n this.tsCheckLineTerminator(next) &&\n tokenIsIdentifier(this.state.type)\n ) {\n return this.tsParseTypeAliasDeclaration(node);\n }\n break;\n }\n }\n\n tsCheckLineTerminator(next: boolean) {\n if (next) {\n if (this.hasFollowingLineBreak()) return false;\n this.next();\n return true;\n }\n return !this.isLineTerminator();\n }\n\n tsTryParseGenericAsyncArrowFunction(\n startPos: number,\n startLoc: Position,\n ): ?N.ArrowFunctionExpression {\n if (!this.match(tt.lt)) {\n return undefined;\n }\n\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n this.state.maybeInArrowParameters = true;\n\n const res: ?N.ArrowFunctionExpression = this.tsTryParseAndCatch(() => {\n const node: N.ArrowFunctionExpression = this.startNodeAt(\n startPos,\n startLoc,\n );\n node.typeParameters = this.tsParseTypeParameters();\n // Don't use overloaded parseFunctionParams which would look for \"<\" again.\n super.parseFunctionParams(node);\n node.returnType = this.tsTryParseTypeOrTypePredicateAnnotation();\n this.expect(tt.arrow);\n return node;\n });\n\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n\n if (!res) {\n return undefined;\n }\n\n return this.parseArrowExpression(\n res,\n /* params are already set */ null,\n /* async */ true,\n );\n }\n\n // Used when parsing type arguments from ES productions, where the first token\n // has been created without state.inType. Thus we need to rescan the lt token.\n tsParseTypeArgumentsInExpression(): N.TsTypeParameterInstantiation | void {\n if (this.reScan_lt() !== tt.lt) {\n return undefined;\n }\n return this.tsParseTypeArguments();\n }\n\n tsParseTypeArguments(): N.TsTypeParameterInstantiation {\n const node = this.startNode();\n node.params = this.tsInType(() =>\n // Temporarily remove a JSX parsing context, which makes us scan different tokens.\n this.tsInNoContext(() => {\n this.expect(tt.lt);\n return this.tsParseDelimitedList(\n \"TypeParametersOrArguments\",\n this.tsParseType.bind(this),\n );\n }),\n );\n if (node.params.length === 0) {\n this.raise(TSErrors.EmptyTypeArguments, { at: node });\n }\n this.expect(tt.gt);\n return this.finishNode(node, \"TSTypeParameterInstantiation\");\n }\n\n tsIsDeclarationStart(): boolean {\n return tokenIsTSDeclarationStart(this.state.type);\n }\n\n // ======================================================\n // OVERRIDES\n // ======================================================\n\n isExportDefaultSpecifier(): boolean {\n if (this.tsIsDeclarationStart()) return false;\n return super.isExportDefaultSpecifier();\n }\n\n parseAssignableListItem(\n allowModifiers: ?boolean,\n decorators: N.Decorator[],\n ): N.Pattern | N.TSParameterProperty {\n // Store original location/position to include modifiers in range\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n\n let accessibility: ?N.Accessibility;\n let readonly = false;\n let override = false;\n if (allowModifiers !== undefined) {\n const modified = {};\n this.tsParseModifiers({\n modified,\n allowedModifiers: [\n \"public\",\n \"private\",\n \"protected\",\n \"override\",\n \"readonly\",\n ],\n });\n accessibility = modified.accessibility;\n override = modified.override;\n readonly = modified.readonly;\n if (\n allowModifiers === false &&\n (accessibility || readonly || override)\n ) {\n this.raise(TSErrors.UnexpectedParameterModifier, { at: startLoc });\n }\n }\n\n const left = this.parseMaybeDefault();\n this.parseAssignableListItemTypes(left);\n const elt = this.parseMaybeDefault(left.start, left.loc.start, left);\n if (accessibility || readonly || override) {\n const pp: N.TSParameterProperty = this.startNodeAt(startPos, startLoc);\n if (decorators.length) {\n pp.decorators = decorators;\n }\n if (accessibility) pp.accessibility = accessibility;\n if (readonly) pp.readonly = readonly;\n if (override) pp.override = override;\n if (elt.type !== \"Identifier\" && elt.type !== \"AssignmentPattern\") {\n this.raise(TSErrors.UnsupportedParameterPropertyKind, { at: pp });\n }\n pp.parameter = ((elt: any): N.Identifier | N.AssignmentPattern);\n return this.finishNode(pp, \"TSParameterProperty\");\n }\n\n if (decorators.length) {\n left.decorators = decorators;\n }\n\n return elt;\n }\n\n isSimpleParameter(node) {\n return (\n (node.type === \"TSParameterProperty\" &&\n super.isSimpleParameter(node.parameter)) ||\n super.isSimpleParameter(node)\n );\n }\n\n parseFunctionBodyAndFinish(\n node: N.BodilessFunctionOrMethodBase,\n type: string,\n isMethod?: boolean = false,\n ): void {\n if (this.match(tt.colon)) {\n node.returnType = this.tsParseTypeOrTypePredicateAnnotation(tt.colon);\n }\n\n const bodilessType =\n type === \"FunctionDeclaration\"\n ? \"TSDeclareFunction\"\n : type === \"ClassMethod\" || type === \"ClassPrivateMethod\"\n ? \"TSDeclareMethod\"\n : undefined;\n if (bodilessType && !this.match(tt.braceL) && this.isLineTerminator()) {\n this.finishNode(node, bodilessType);\n return;\n }\n if (bodilessType === \"TSDeclareFunction\" && this.state.isAmbientContext) {\n this.raise(TSErrors.DeclareFunctionHasImplementation, { at: node });\n if (\n // $FlowIgnore\n node.declare\n ) {\n super.parseFunctionBodyAndFinish(node, bodilessType, isMethod);\n return;\n }\n }\n\n super.parseFunctionBodyAndFinish(node, type, isMethod);\n }\n\n registerFunctionStatementId(node: N.Function): void {\n if (!node.body && node.id) {\n // Function ids are validated after parsing their body.\n // For bodyless function, we need to do it here.\n this.checkIdentifier(node.id, BIND_TS_AMBIENT);\n } else {\n super.registerFunctionStatementId(...arguments);\n }\n }\n\n tsCheckForInvalidTypeCasts(items: $ReadOnlyArray<?N.Expression>) {\n items.forEach(node => {\n if (node?.type === \"TSTypeCastExpression\") {\n this.raise(TSErrors.UnexpectedTypeAnnotation, {\n at: node.typeAnnotation,\n });\n }\n });\n }\n\n toReferencedList(\n exprList: $ReadOnlyArray<?N.Expression>,\n isInParens?: boolean, // eslint-disable-line no-unused-vars\n ): $ReadOnlyArray<?N.Expression> {\n // Handles invalid scenarios like: `f(a:b)`, `(a:b);`, and `(a:b,c:d)`.\n //\n // Note that `f<T>(a:b)` goes through a different path and is handled\n // in `parseSubscript` directly.\n this.tsCheckForInvalidTypeCasts(exprList);\n return exprList;\n }\n\n parseArrayLike(...args): N.ArrayExpression | N.TupleExpression {\n const node = super.parseArrayLike(...args);\n\n if (node.type === \"ArrayExpression\") {\n this.tsCheckForInvalidTypeCasts(node.elements);\n }\n\n return node;\n }\n\n parseSubscript(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n noCalls: ?boolean,\n state: N.ParseSubscriptState,\n ): N.Expression {\n if (!this.hasPrecedingLineBreak() && this.match(tt.bang)) {\n // When ! is consumed as a postfix operator (non-null assertion),\n // disallow JSX tag forming after. e.g. When parsing `p! < n.p!`\n // `<n.p` can not be a start of JSX tag\n this.state.canStartJSXElement = false;\n this.next();\n\n const nonNullExpression: N.TsNonNullExpression = this.startNodeAt(\n startPos,\n startLoc,\n );\n nonNullExpression.expression = base;\n return this.finishNode(nonNullExpression, \"TSNonNullExpression\");\n }\n\n let isOptionalCall = false;\n if (\n this.match(tt.questionDot) &&\n this.lookaheadCharCode() === charCodes.lessThan\n ) {\n if (noCalls) {\n state.stop = true;\n return base;\n }\n state.optionalChainMember = isOptionalCall = true;\n this.next();\n }\n\n // handles 'f<<T>'\n if (this.match(tt.lt) || this.match(tt.bitShiftL)) {\n let missingParenErrorLoc;\n // tsTryParseAndCatch is expensive, so avoid if not necessary.\n // There are number of things we are going to \"maybe\" parse, like type arguments on\n // tagged template expressions. If any of them fail, walk it back and continue.\n const result = this.tsTryParseAndCatch(() => {\n if (!noCalls && this.atPossibleAsyncArrow(base)) {\n // Almost certainly this is a generic async function `async <T>() => ...\n // But it might be a call with a type argument `async<T>();`\n const asyncArrowFn = this.tsTryParseGenericAsyncArrowFunction(\n startPos,\n startLoc,\n );\n if (asyncArrowFn) {\n return asyncArrowFn;\n }\n }\n\n const typeArguments = this.tsParseTypeArgumentsInExpression();\n if (!typeArguments) throw this.unexpected();\n\n if (isOptionalCall && !this.match(tt.parenL)) {\n missingParenErrorLoc = this.state.curPosition();\n throw this.unexpected();\n }\n\n if (tokenIsTemplate(this.state.type)) {\n const result = this.parseTaggedTemplateExpression(\n base,\n startPos,\n startLoc,\n state,\n );\n result.typeParameters = typeArguments;\n return result;\n }\n\n if (!noCalls && this.eat(tt.parenL)) {\n const node: N.CallExpression = this.startNodeAt(startPos, startLoc);\n node.callee = base;\n // possibleAsync always false here, because we would have handled it above.\n // $FlowIgnore (won't be any undefined arguments)\n node.arguments = this.parseCallExpressionArguments(\n tt.parenR,\n /* possibleAsync */ false,\n );\n\n // Handles invalid case: `f<T>(a:b)`\n this.tsCheckForInvalidTypeCasts(node.arguments);\n\n node.typeParameters = typeArguments;\n if (state.optionalChainMember) {\n // $FlowIgnore\n node.optional = isOptionalCall;\n }\n\n return this.finishCallExpression(node, state.optionalChainMember);\n }\n\n // TODO: This doesn't exactly match what TS does when it comes to ASI.\n // For example,\n // a<b>\n // if (0);\n // is not valid TS code (https://github.com/microsoft/TypeScript/issues/48654)\n // However, it should correctly parse anything that is correctly parsed by TS.\n if (\n tsTokenCanStartExpression(this.state.type) &&\n this.state.type !== tt.parenL\n ) {\n // Bail out. We have something like a<b>c, which is not an expression with\n // type arguments but an (a < b) > c comparison.\n throw this.unexpected();\n }\n\n const node: N.TsInstantiationExpression = this.startNodeAt(\n startPos,\n startLoc,\n );\n node.expression = base;\n node.typeParameters = typeArguments;\n return this.finishNode(node, \"TSInstantiationExpression\");\n });\n\n if (missingParenErrorLoc) {\n this.unexpected(missingParenErrorLoc, tt.parenL);\n }\n\n if (result) return result;\n }\n\n return super.parseSubscript(base, startPos, startLoc, noCalls, state);\n }\n\n parseNewCallee(node: N.NewExpression): void {\n super.parseNewCallee(node);\n\n const { callee } = node;\n if (\n callee.type === \"TSInstantiationExpression\" &&\n !callee.extra?.parenthesized\n ) {\n node.typeParameters = callee.typeParameters;\n node.callee = callee.expression;\n }\n }\n\n parseExprOp(\n left: N.Expression,\n leftStartPos: number,\n leftStartLoc: Position,\n minPrec: number,\n ) {\n if (\n tokenOperatorPrecedence(tt._in) > minPrec &&\n !this.hasPrecedingLineBreak() &&\n this.isContextual(tt._as)\n ) {\n const node: N.TsAsExpression = this.startNodeAt(\n leftStartPos,\n leftStartLoc,\n );\n node.expression = left;\n const _const = this.tsTryNextParseConstantContext();\n if (_const) {\n node.typeAnnotation = _const;\n } else {\n node.typeAnnotation = this.tsNextThenParseType();\n }\n this.finishNode(node, \"TSAsExpression\");\n // rescan `<`, `>` because they were scanned when this.state.inType was true\n this.reScan_lt_gt();\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec);\n }\n\n return super.parseExprOp(left, leftStartPos, leftStartLoc, minPrec);\n }\n\n checkReservedWord(\n word: string,\n startLoc: Position,\n checkKeywords: boolean,\n isBinding: boolean,\n ): void {\n // Strict mode words may be allowed as in `declare namespace N { const static: number; }`.\n // And we have a type checker anyway, so don't bother having the parser do it.\n if (!this.state.isAmbientContext) {\n super.checkReservedWord(word, startLoc, checkKeywords, isBinding);\n }\n }\n\n /*\n Don't bother doing this check in TypeScript code because:\n 1. We may have a nested export statement with the same name:\n export const x = 0;\n export namespace N {\n export const x = 1;\n }\n 2. We have a type checker to warn us about this sort of thing.\n */\n checkDuplicateExports() {}\n\n parseImport(node: N.Node): N.AnyImport {\n node.importKind = \"value\";\n if (\n tokenIsIdentifier(this.state.type) ||\n this.match(tt.star) ||\n this.match(tt.braceL)\n ) {\n let ahead = this.lookahead();\n\n if (\n this.isContextual(tt._type) &&\n // import type, { a } from \"b\";\n ahead.type !== tt.comma &&\n // import type from \"a\";\n ahead.type !== tt._from &&\n // import type = require(\"a\");\n ahead.type !== tt.eq\n ) {\n node.importKind = \"type\";\n this.next();\n ahead = this.lookahead();\n }\n\n if (tokenIsIdentifier(this.state.type) && ahead.type === tt.eq) {\n return this.tsParseImportEqualsDeclaration(node);\n }\n }\n\n const importNode = super.parseImport(node);\n /*:: invariant(importNode.type !== \"TSImportEqualsDeclaration\") */\n\n // `import type` can only be used on imports with named imports or with a\n // default import - but not both\n if (\n importNode.importKind === \"type\" &&\n importNode.specifiers.length > 1 &&\n importNode.specifiers[0].type === \"ImportDefaultSpecifier\"\n ) {\n this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed, {\n at: importNode,\n });\n }\n\n return importNode;\n }\n\n parseExport(node: N.Node): N.AnyExport {\n if (this.match(tt._import)) {\n // `export import A = B;`\n this.next(); // eat `tt._import`\n if (\n this.isContextual(tt._type) &&\n this.lookaheadCharCode() !== charCodes.equalsTo\n ) {\n node.importKind = \"type\";\n this.next(); // eat \"type\"\n } else {\n node.importKind = \"value\";\n }\n return this.tsParseImportEqualsDeclaration(node, /* isExport */ true);\n } else if (this.eat(tt.eq)) {\n // `export = x;`\n const assign: N.TsExportAssignment = node;\n assign.expression = this.parseExpression();\n this.semicolon();\n return this.finishNode(assign, \"TSExportAssignment\");\n } else if (this.eatContextual(tt._as)) {\n // `export as namespace A;`\n const decl: N.TsNamespaceExportDeclaration = node;\n // See `parseNamespaceExportDeclaration` in TypeScript's own parser\n this.expectContextual(tt._namespace);\n decl.id = this.parseIdentifier();\n this.semicolon();\n return this.finishNode(decl, \"TSNamespaceExportDeclaration\");\n } else {\n if (\n this.isContextual(tt._type) &&\n this.lookahead().type === tt.braceL\n ) {\n this.next();\n node.exportKind = \"type\";\n } else {\n node.exportKind = \"value\";\n }\n\n return super.parseExport(node);\n }\n }\n\n isAbstractClass(): boolean {\n return (\n this.isContextual(tt._abstract) && this.lookahead().type === tt._class\n );\n }\n\n parseExportDefaultExpression(): N.Expression | N.Declaration {\n if (this.isAbstractClass()) {\n const cls = this.startNode();\n this.next(); // Skip \"abstract\"\n cls.abstract = true;\n this.parseClass(cls, true, true);\n return cls;\n }\n\n // export default interface allowed in:\n // https://github.com/Microsoft/TypeScript/pull/16040\n if (this.match(tt._interface)) {\n const result = this.tsParseInterfaceDeclaration(this.startNode());\n if (result) return result;\n }\n\n return super.parseExportDefaultExpression();\n }\n\n parseVarStatement(\n node: N.VariableDeclaration,\n kind: \"var\" | \"let\" | \"const\",\n allowMissingInitializer: boolean = false,\n ) {\n const { isAmbientContext } = this.state;\n const declaration = super.parseVarStatement(\n node,\n kind,\n allowMissingInitializer || isAmbientContext,\n );\n\n if (!isAmbientContext) return declaration;\n\n for (const { id, init } of declaration.declarations) {\n // Empty initializer is the easy case that we want.\n if (!init) continue;\n\n // var and let aren't ever allowed initializers.\n //\n // If a const declaration has no type annotation and is initiailized to\n // a string literal, numeric literal, or enum reference, then it is\n // allowed. In an ideal world, we'd check whether init was *actually* an\n // enum reference, but we allow anything that \"could be\" a literal enum\n // in `isPossiblyLiteralEnum` since we don't have all the information\n // that the typescript compiler has.\n if (kind !== \"const\" || !!id.typeAnnotation) {\n this.raise(TSErrors.InitializerNotAllowedInAmbientContext, {\n at: init,\n });\n } else if (\n init.type !== \"StringLiteral\" &&\n init.type !== \"BooleanLiteral\" &&\n init.type !== \"NumericLiteral\" &&\n init.type !== \"BigIntLiteral\" &&\n (init.type !== \"TemplateLiteral\" || init.expressions.length > 0) &&\n !isPossiblyLiteralEnum(init)\n ) {\n this.raise(\n TSErrors.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference,\n { at: init },\n );\n }\n }\n\n return declaration;\n }\n\n parseStatementContent(context: ?string, topLevel: ?boolean): N.Statement {\n if (this.match(tt._const) && this.isLookaheadContextual(\"enum\")) {\n const node: N.TsEnumDeclaration = this.startNode();\n this.expect(tt._const); // eat 'const'\n return this.tsParseEnumDeclaration(node, { const: true });\n }\n\n if (this.isContextual(tt._enum)) {\n return this.tsParseEnumDeclaration(this.startNode());\n }\n\n if (this.isContextual(tt._interface)) {\n const result = this.tsParseInterfaceDeclaration(this.startNode());\n if (result) return result;\n }\n\n return super.parseStatementContent(context, topLevel);\n }\n\n parseAccessModifier(): ?N.Accessibility {\n return this.tsParseModifier([\"public\", \"protected\", \"private\"]);\n }\n\n tsHasSomeModifiers(member: any, modifiers: TsModifier[]): boolean {\n return modifiers.some(modifier => {\n if (tsIsAccessModifier(modifier)) {\n return member.accessibility === modifier;\n }\n return !!member[modifier];\n });\n }\n\n tsIsStartOfStaticBlocks() {\n return (\n this.isContextual(tt._static) &&\n this.lookaheadCharCode() === charCodes.leftCurlyBrace\n );\n }\n\n parseClassMember(\n classBody: N.ClassBody,\n member: any,\n state: N.ParseClassMemberState,\n ): void {\n const modifiers = [\n \"declare\",\n \"private\",\n \"public\",\n \"protected\",\n \"override\",\n \"abstract\",\n \"readonly\",\n \"static\",\n ];\n this.tsParseModifiers({\n modified: member,\n allowedModifiers: modifiers,\n disallowedModifiers: [\"in\", \"out\"],\n stopOnStartOfClassStaticBlock: true,\n errorTemplate: TSErrors.InvalidModifierOnTypeParameterPositions,\n });\n\n const callParseClassMemberWithIsStatic = () => {\n if (this.tsIsStartOfStaticBlocks()) {\n this.next(); // eat \"static\"\n this.next(); // eat \"{\"\n if (this.tsHasSomeModifiers(member, modifiers)) {\n this.raise(TSErrors.StaticBlockCannotHaveModifier, {\n at: this.state.curPosition(),\n });\n }\n this.parseClassStaticBlock(classBody, ((member: any): N.StaticBlock));\n } else {\n this.parseClassMemberWithIsStatic(\n classBody,\n member,\n state,\n !!member.static,\n );\n }\n };\n if (member.declare) {\n this.tsInAmbientContext(callParseClassMemberWithIsStatic);\n } else {\n callParseClassMemberWithIsStatic();\n }\n }\n\n parseClassMemberWithIsStatic(\n classBody: N.ClassBody,\n member: N.ClassMember | N.TsIndexSignature,\n state: N.ParseClassMemberState,\n isStatic: boolean,\n ): void {\n const idx = this.tsTryParseIndexSignature(member);\n if (idx) {\n classBody.body.push(idx);\n\n if ((member: any).abstract) {\n this.raise(TSErrors.IndexSignatureHasAbstract, { at: member });\n }\n if ((member: any).accessibility) {\n this.raise(TSErrors.IndexSignatureHasAccessibility, {\n at: member,\n modifier: (member: any).accessibility,\n });\n }\n if ((member: any).declare) {\n this.raise(TSErrors.IndexSignatureHasDeclare, { at: member });\n }\n if ((member: any).override) {\n this.raise(TSErrors.IndexSignatureHasOverride, { at: member });\n }\n\n return;\n }\n\n if (!this.state.inAbstractClass && (member: any).abstract) {\n this.raise(TSErrors.NonAbstractClassHasAbstractMethod, {\n at: member,\n });\n }\n\n if ((member: any).override) {\n if (!state.hadSuperClass) {\n this.raise(TSErrors.OverrideNotInSubClass, { at: member });\n }\n }\n\n /*:: invariant(member.type !== \"TSIndexSignature\") */\n\n super.parseClassMemberWithIsStatic(classBody, member, state, isStatic);\n }\n\n parsePostMemberNameModifiers(\n methodOrProp: N.ClassMethod | N.ClassProperty | N.ClassPrivateProperty,\n ): void {\n const optional = this.eat(tt.question);\n if (optional) methodOrProp.optional = true;\n\n if ((methodOrProp: any).readonly && this.match(tt.parenL)) {\n this.raise(TSErrors.ClassMethodHasReadonly, { at: methodOrProp });\n }\n\n if ((methodOrProp: any).declare && this.match(tt.parenL)) {\n this.raise(TSErrors.ClassMethodHasDeclare, { at: methodOrProp });\n }\n }\n\n // Note: The reason we do this in `parseExpressionStatement` and not `parseStatement`\n // is that e.g. `type()` is valid JS, so we must try parsing that first.\n // If it's really a type, we will parse `type` as the statement, and can correct it here\n // by parsing the rest.\n parseExpressionStatement(\n node: N.ExpressionStatement,\n expr: N.Expression,\n ): N.Statement {\n const decl =\n expr.type === \"Identifier\"\n ? this.tsParseExpressionStatement(node, expr)\n : undefined;\n return decl || super.parseExpressionStatement(node, expr);\n }\n\n // export type\n // Should be true for anything parsed by `tsTryParseExportDeclaration`.\n shouldParseExportDeclaration(): boolean {\n if (this.tsIsDeclarationStart()) return true;\n return super.shouldParseExportDeclaration();\n }\n\n // An apparent conditional expression could actually be an optional parameter in an arrow function.\n parseConditional(\n expr: N.Expression,\n startPos: number,\n startLoc: Position,\n refExpressionErrors?: ?ExpressionErrors,\n ): N.Expression {\n // only do the expensive clone if there is a question mark\n // and if we come from inside parens\n if (!this.state.maybeInArrowParameters || !this.match(tt.question)) {\n return super.parseConditional(\n expr,\n startPos,\n startLoc,\n refExpressionErrors,\n );\n }\n\n const result = this.tryParse(() =>\n super.parseConditional(expr, startPos, startLoc),\n );\n\n if (!result.node) {\n if (result.error) {\n /*:: invariant(refExpressionErrors != null) */\n super.setOptionalParametersError(refExpressionErrors, result.error);\n }\n\n return expr;\n }\n if (result.error) this.state = result.failState;\n return result.node;\n }\n\n // Note: These \"type casts\" are *not* valid TS expressions.\n // But we parse them here and change them when completing the arrow function.\n parseParenItem(\n node: N.Expression,\n startPos: number,\n startLoc: Position,\n ): N.Expression {\n node = super.parseParenItem(node, startPos, startLoc);\n if (this.eat(tt.question)) {\n node.optional = true;\n // Include questionmark in location of node\n // Don't use this.finishNode() as otherwise we might process comments twice and\n // include already consumed parens\n this.resetEndLocation(node);\n }\n\n if (this.match(tt.colon)) {\n const typeCastNode: N.TsTypeCastExpression = this.startNodeAt(\n startPos,\n startLoc,\n );\n typeCastNode.expression = node;\n typeCastNode.typeAnnotation = this.tsParseTypeAnnotation();\n\n return this.finishNode(typeCastNode, \"TSTypeCastExpression\");\n }\n\n return node;\n }\n\n parseExportDeclaration(node: N.ExportNamedDeclaration): ?N.Declaration {\n if (!this.state.isAmbientContext && this.isContextual(tt._declare)) {\n return this.tsInAmbientContext(() => this.parseExportDeclaration(node));\n }\n\n // Store original location/position\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n\n const isDeclare = this.eatContextual(tt._declare);\n\n if (\n isDeclare &&\n (this.isContextual(tt._declare) || !this.shouldParseExportDeclaration())\n ) {\n throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare, {\n at: this.state.startLoc,\n });\n }\n\n const isIdentifier = tokenIsIdentifier(this.state.type);\n const declaration: ?N.Declaration =\n (isIdentifier && this.tsTryParseExportDeclaration()) ||\n super.parseExportDeclaration(node);\n\n if (!declaration) return null;\n\n if (\n declaration.type === \"TSInterfaceDeclaration\" ||\n declaration.type === \"TSTypeAliasDeclaration\" ||\n isDeclare\n ) {\n node.exportKind = \"type\";\n }\n\n if (isDeclare) {\n // Reset location to include `declare` in range\n this.resetStartLocation(declaration, startPos, startLoc);\n\n declaration.declare = true;\n }\n\n return declaration;\n }\n\n parseClassId(\n node: N.Class,\n isStatement: boolean,\n optionalId: ?boolean,\n ): void {\n if ((!isStatement || optionalId) && this.isContextual(tt._implements)) {\n return;\n }\n\n super.parseClassId(\n node,\n isStatement,\n optionalId,\n (node: any).declare ? BIND_TS_AMBIENT : BIND_CLASS,\n );\n const typeParameters = this.tsTryParseTypeParameters(\n this.tsParseInOutModifiers.bind(this),\n );\n if (typeParameters) node.typeParameters = typeParameters;\n }\n\n parseClassPropertyAnnotation(\n node: N.ClassProperty | N.ClassPrivateProperty,\n ): void {\n if (!node.optional && this.eat(tt.bang)) {\n node.definite = true;\n }\n\n const type = this.tsTryParseTypeAnnotation();\n if (type) node.typeAnnotation = type;\n }\n\n parseClassProperty(node: N.ClassProperty): N.ClassProperty {\n this.parseClassPropertyAnnotation(node);\n\n if (this.state.isAmbientContext && this.match(tt.eq)) {\n this.raise(TSErrors.DeclareClassFieldHasInitializer, {\n at: this.state.startLoc,\n });\n }\n if (node.abstract && this.match(tt.eq)) {\n const { key } = node;\n this.raise(TSErrors.AbstractPropertyHasInitializer, {\n at: this.state.startLoc,\n propertyName:\n key.type === \"Identifier\" && !node.computed\n ? key.name\n : `[${this.input.slice(key.start, key.end)}]`,\n });\n }\n\n return super.parseClassProperty(node);\n }\n\n parseClassPrivateProperty(\n node: N.ClassPrivateProperty,\n ): N.ClassPrivateProperty {\n // $FlowIgnore\n if (node.abstract) {\n this.raise(TSErrors.PrivateElementHasAbstract, { at: node });\n }\n\n // $FlowIgnore\n if (node.accessibility) {\n this.raise(TSErrors.PrivateElementHasAccessibility, {\n at: node,\n modifier: node.accessibility,\n });\n }\n\n this.parseClassPropertyAnnotation(node);\n return super.parseClassPrivateProperty(node);\n }\n\n pushClassMethod(\n classBody: N.ClassBody,\n method: N.ClassMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowsDirectSuper: boolean,\n ): void {\n const typeParameters = this.tsTryParseTypeParameters();\n if (typeParameters && isConstructor) {\n this.raise(TSErrors.ConstructorHasTypeParameters, {\n at: typeParameters,\n });\n }\n\n // $FlowIgnore\n const { declare = false, kind } = method;\n\n if (declare && (kind === \"get\" || kind === \"set\")) {\n this.raise(TSErrors.DeclareAccessor, { at: method, kind });\n }\n if (typeParameters) method.typeParameters = typeParameters;\n super.pushClassMethod(\n classBody,\n method,\n isGenerator,\n isAsync,\n isConstructor,\n allowsDirectSuper,\n );\n }\n\n pushClassPrivateMethod(\n classBody: N.ClassBody,\n method: N.ClassPrivateMethod,\n isGenerator: boolean,\n isAsync: boolean,\n ): void {\n const typeParameters = this.tsTryParseTypeParameters();\n if (typeParameters) method.typeParameters = typeParameters;\n super.pushClassPrivateMethod(classBody, method, isGenerator, isAsync);\n }\n\n declareClassPrivateMethodInScope(\n node: N.ClassPrivateMethod | N.EstreeMethodDefinition | N.TSDeclareMethod,\n kind: number,\n ) {\n if (node.type === \"TSDeclareMethod\") return;\n // This happens when using the \"estree\" plugin.\n if (node.type === \"MethodDefinition\" && !node.value.body) return;\n\n super.declareClassPrivateMethodInScope(node, kind);\n }\n\n parseClassSuper(node: N.Class): void {\n super.parseClassSuper(node);\n // handle `extends f<<T>\n if (node.superClass && (this.match(tt.lt) || this.match(tt.bitShiftL))) {\n node.superTypeParameters = this.tsParseTypeArgumentsInExpression();\n }\n if (this.eatContextual(tt._implements)) {\n node.implements = this.tsParseHeritageClause(\"implements\");\n }\n }\n\n parseObjPropValue(prop: N.ObjectMember, ...args): void {\n const typeParameters = this.tsTryParseTypeParameters();\n if (typeParameters) prop.typeParameters = typeParameters;\n\n super.parseObjPropValue(prop, ...args);\n }\n\n parseFunctionParams(node: N.Function, allowModifiers?: boolean): void {\n const typeParameters = this.tsTryParseTypeParameters();\n if (typeParameters) node.typeParameters = typeParameters;\n super.parseFunctionParams(node, allowModifiers);\n }\n\n // `let x: number;`\n parseVarId(\n decl: N.VariableDeclarator,\n kind: \"var\" | \"let\" | \"const\",\n ): void {\n super.parseVarId(decl, kind);\n if (\n decl.id.type === \"Identifier\" &&\n !this.hasPrecedingLineBreak() &&\n this.eat(tt.bang)\n ) {\n decl.definite = true;\n }\n\n const type = this.tsTryParseTypeAnnotation();\n if (type) {\n decl.id.typeAnnotation = type;\n this.resetEndLocation(decl.id); // set end position to end of type\n }\n }\n\n // parse the return type of an async arrow function - let foo = (async (): number => {});\n parseAsyncArrowFromCallExpression(\n node: N.ArrowFunctionExpression,\n call: N.CallExpression,\n ): N.ArrowFunctionExpression {\n if (this.match(tt.colon)) {\n node.returnType = this.tsParseTypeAnnotation();\n }\n return super.parseAsyncArrowFromCallExpression(node, call);\n }\n\n parseMaybeAssign(...args): N.Expression {\n // Note: When the JSX plugin is on, type assertions (`<T> x`) aren't valid syntax.\n\n let state: ?State;\n let jsx;\n let typeCast;\n\n if (\n this.hasPlugin(\"jsx\") &&\n (this.match(tt.jsxTagStart) || this.match(tt.lt))\n ) {\n // Prefer to parse JSX if possible. But may be an arrow fn.\n state = this.state.clone();\n\n jsx = this.tryParse(() => super.parseMaybeAssign(...args), state);\n\n /*:: invariant(!jsx.aborted) */\n /*:: invariant(jsx.node != null) */\n if (!jsx.error) return jsx.node;\n\n // Remove `tc.j_expr` or `tc.j_oTag` from context added\n // by parsing `jsxTagStart` to stop the JSX plugin from\n // messing with the tokens\n const { context } = this.state;\n const currentContext = context[context.length - 1];\n if (currentContext === tc.j_oTag || currentContext === tc.j_expr) {\n context.pop();\n }\n }\n\n if (!jsx?.error && !this.match(tt.lt)) {\n return super.parseMaybeAssign(...args);\n }\n\n // Either way, we're looking at a '<': tt.jsxTagStart or relational.\n\n let typeParameters: ?N.TsTypeParameterDeclaration;\n let invalidSingleType: ?N.TsTypeParameter;\n state = state || this.state.clone();\n\n const arrow = this.tryParse(abort => {\n // This is similar to TypeScript's `tryParseParenthesizedArrowFunctionExpression`.\n typeParameters = this.tsParseTypeParameters();\n const expr = super.parseMaybeAssign(...args);\n\n if (\n expr.type !== \"ArrowFunctionExpression\" ||\n expr.extra?.parenthesized\n ) {\n abort();\n }\n\n // Correct TypeScript code should have at least 1 type parameter, but don't crash on bad code.\n if (typeParameters?.params.length !== 0) {\n this.resetStartLocationFromNode(expr, typeParameters);\n }\n expr.typeParameters = typeParameters;\n\n // report error if single type parameter used without trailing comma.\n if (\n this.hasPlugin(\"jsx\") &&\n expr.typeParameters.params.length === 1 &&\n !expr.typeParameters.extra?.trailingComma\n ) {\n const parameter = expr.typeParameters.params[0];\n if (!parameter.constraint) {\n // A single type parameter must either have constraints\n // or a trailing comma, otherwise it's ambiguous with JSX.\n invalidSingleType = parameter;\n }\n }\n\n return expr;\n }, state);\n\n if (process.env.BABEL_8_BREAKING) {\n if (invalidSingleType) {\n this.raise(TSErrors.SingleTypeParameterWithoutTrailingComma, {\n at: createPositionWithColumnOffset(invalidSingleType.loc.end, 1),\n typeParameterName: invalidSingleType.name.name,\n });\n }\n }\n\n /*:: invariant(arrow.node != null) */\n if (!arrow.error && !arrow.aborted) {\n // This error is reported outside of the this.tryParse call so that\n // in case of <T>(x) => 2, we don't consider <T>(x) as a type assertion\n // because of this error.\n if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);\n return arrow.node;\n }\n\n if (!jsx) {\n // Try parsing a type cast instead of an arrow function.\n // This will never happen outside of JSX.\n // (Because in JSX the '<' should be a jsxTagStart and not a relational.\n assert(!this.hasPlugin(\"jsx\"));\n\n // This will start with a type assertion (via parseMaybeUnary).\n // But don't directly call `this.tsParseTypeAssertion` because we want to handle any binary after it.\n typeCast = this.tryParse(() => super.parseMaybeAssign(...args), state);\n /*:: invariant(!typeCast.aborted) */\n /*:: invariant(typeCast.node != null) */\n if (!typeCast.error) return typeCast.node;\n }\n\n if (jsx?.node) {\n /*:: invariant(jsx.failState) */\n this.state = jsx.failState;\n return jsx.node;\n }\n\n if (arrow.node) {\n /*:: invariant(arrow.failState) */\n this.state = arrow.failState;\n if (typeParameters) this.reportReservedArrowTypeParam(typeParameters);\n return arrow.node;\n }\n\n if (typeCast?.node) {\n /*:: invariant(typeCast.failState) */\n this.state = typeCast.failState;\n return typeCast.node;\n }\n\n if (jsx?.thrown) throw jsx.error;\n if (arrow.thrown) throw arrow.error;\n if (typeCast?.thrown) throw typeCast.error;\n\n throw jsx?.error || arrow.error || typeCast?.error;\n }\n\n reportReservedArrowTypeParam(node: any) {\n if (\n node.params.length === 1 &&\n !node.extra?.trailingComma &&\n this.getPluginOption(\"typescript\", \"disallowAmbiguousJSXLike\")\n ) {\n this.raise(TSErrors.ReservedArrowTypeParam, { at: node });\n }\n }\n\n // Handle type assertions\n parseMaybeUnary(refExpressionErrors?: ?ExpressionErrors): N.Expression {\n if (!this.hasPlugin(\"jsx\") && this.match(tt.lt)) {\n return this.tsParseTypeAssertion();\n } else {\n return super.parseMaybeUnary(refExpressionErrors);\n }\n }\n\n parseArrow(node: N.ArrowFunctionExpression): ?N.ArrowFunctionExpression {\n if (this.match(tt.colon)) {\n // This is different from how the TS parser does it.\n // TS uses lookahead. The Babel Parser parses it as a parenthesized expression and converts.\n\n const result = this.tryParse(abort => {\n const returnType = this.tsParseTypeOrTypePredicateAnnotation(\n tt.colon,\n );\n if (this.canInsertSemicolon() || !this.match(tt.arrow)) abort();\n return returnType;\n });\n\n if (result.aborted) return;\n\n if (!result.thrown) {\n if (result.error) this.state = result.failState;\n node.returnType = result.node;\n }\n }\n\n return super.parseArrow(node);\n }\n\n // Allow type annotations inside of a parameter list.\n parseAssignableListItemTypes(param: N.Pattern) {\n if (this.eat(tt.question)) {\n if (\n param.type !== \"Identifier\" &&\n !this.state.isAmbientContext &&\n !this.state.inType\n ) {\n this.raise(TSErrors.PatternIsOptional, { at: param });\n }\n\n ((param: any): N.Identifier).optional = true;\n }\n const type = this.tsTryParseTypeAnnotation();\n if (type) param.typeAnnotation = type;\n this.resetEndLocation(param);\n\n return param;\n }\n\n isAssignable(node: N.Node, isBinding?: boolean): boolean {\n switch (node.type) {\n case \"TSTypeCastExpression\":\n return this.isAssignable(node.expression, isBinding);\n case \"TSParameterProperty\":\n return true;\n default:\n return super.isAssignable(node, isBinding);\n }\n }\n\n toAssignable(node: N.Node, isLHS: boolean = false): void {\n switch (node.type) {\n case \"ParenthesizedExpression\":\n this.toAssignableParenthesizedExpression(node, isLHS);\n break;\n case \"TSAsExpression\":\n case \"TSNonNullExpression\":\n case \"TSTypeAssertion\":\n if (isLHS) {\n this.expressionScope.recordArrowParemeterBindingError(\n TSErrors.UnexpectedTypeCastInParameter,\n { at: node },\n );\n } else {\n this.raise(TSErrors.UnexpectedTypeCastInParameter, { at: node });\n }\n this.toAssignable(node.expression, isLHS);\n break;\n case \"AssignmentExpression\":\n if (!isLHS && node.left.type === \"TSTypeCastExpression\") {\n node.left = this.typeCastToParameter(node.left);\n }\n /* fall through */\n default:\n super.toAssignable(node, isLHS);\n }\n }\n\n toAssignableParenthesizedExpression(node: N.Node, isLHS: boolean): void {\n switch (node.expression.type) {\n case \"TSAsExpression\":\n case \"TSNonNullExpression\":\n case \"TSTypeAssertion\":\n case \"ParenthesizedExpression\":\n this.toAssignable(node.expression, isLHS);\n break;\n default:\n super.toAssignable(node, isLHS);\n }\n }\n\n checkToRestConversion(node: N.Node, allowPattern: boolean): void {\n switch (node.type) {\n case \"TSAsExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n this.checkToRestConversion(node.expression, false);\n break;\n default:\n super.checkToRestConversion(node, allowPattern);\n }\n }\n\n isValidLVal(\n type: string,\n isUnparenthesizedInAssign: boolean,\n binding: BindingTypes,\n ) {\n return (\n getOwn(\n {\n // Allow \"typecasts\" to appear on the left of assignment expressions,\n // because it may be in an arrow function.\n // e.g. `const f = (foo: number = 0) => foo;`\n TSTypeCastExpression: true,\n TSParameterProperty: \"parameter\",\n TSNonNullExpression: \"expression\",\n TSAsExpression: (binding !== BIND_NONE ||\n !isUnparenthesizedInAssign) && [\"expression\", true],\n TSTypeAssertion: (binding !== BIND_NONE ||\n !isUnparenthesizedInAssign) && [\"expression\", true],\n },\n type,\n ) || super.isValidLVal(type, isUnparenthesizedInAssign, binding)\n );\n }\n\n parseBindingAtom(): N.Pattern {\n switch (this.state.type) {\n case tt._this:\n // \"this\" may be the name of a parameter, so allow it.\n return this.parseIdentifier(/* liberal */ true);\n default:\n return super.parseBindingAtom();\n }\n }\n\n parseMaybeDecoratorArguments(expr: N.Expression): N.Expression {\n // handles `@f<<T>`\n if (this.match(tt.lt) || this.match(tt.bitShiftL)) {\n const typeArguments = this.tsParseTypeArgumentsInExpression();\n\n if (this.match(tt.parenL)) {\n const call = super.parseMaybeDecoratorArguments(expr);\n call.typeParameters = typeArguments;\n return call;\n }\n\n this.unexpected(null, tt.parenL);\n }\n\n return super.parseMaybeDecoratorArguments(expr);\n }\n\n checkCommaAfterRest(close): boolean {\n if (\n this.state.isAmbientContext &&\n this.match(tt.comma) &&\n this.lookaheadCharCode() === close\n ) {\n this.next();\n return false;\n } else {\n return super.checkCommaAfterRest(close);\n }\n }\n\n // === === === === === === === === === === === === === === === ===\n // Note: All below methods are duplicates of something in flow.js.\n // Not sure what the best way to combine these is.\n // === === === === === === === === === === === === === === === ===\n\n isClassMethod(): boolean {\n return this.match(tt.lt) || super.isClassMethod();\n }\n\n isClassProperty(): boolean {\n return (\n this.match(tt.bang) || this.match(tt.colon) || super.isClassProperty()\n );\n }\n\n parseMaybeDefault(...args): N.Pattern {\n const node = super.parseMaybeDefault(...args);\n\n if (\n node.type === \"AssignmentPattern\" &&\n node.typeAnnotation &&\n node.right.start < node.typeAnnotation.start\n ) {\n this.raise(TSErrors.TypeAnnotationAfterAssign, {\n at: node.typeAnnotation,\n });\n }\n\n return node;\n }\n\n // ensure that inside types, we bypass the jsx parser plugin\n getTokenFromCode(code: number): void {\n if (this.state.inType) {\n if (code === charCodes.greaterThan) {\n return this.finishOp(tt.gt, 1);\n }\n if (code === charCodes.lessThan) {\n return this.finishOp(tt.lt, 1);\n }\n }\n return super.getTokenFromCode(code);\n }\n\n // used after we have finished parsing types\n reScan_lt_gt() {\n const { type } = this.state;\n if (type === tt.lt) {\n this.state.pos -= 1;\n this.readToken_lt();\n } else if (type === tt.gt) {\n this.state.pos -= 1;\n this.readToken_gt();\n }\n }\n\n reScan_lt() {\n const { type } = this.state;\n if (type === tt.bitShiftL) {\n this.state.pos -= 2;\n this.finishOp(tt.lt, 1);\n return tt.lt;\n }\n return type;\n }\n\n toAssignableList(exprList: N.Expression[]): void {\n for (let i = 0; i < exprList.length; i++) {\n const expr = exprList[i];\n if (expr?.type === \"TSTypeCastExpression\") {\n exprList[i] = this.typeCastToParameter(expr);\n }\n }\n super.toAssignableList(...arguments);\n }\n\n typeCastToParameter(node: N.TsTypeCastExpression): N.Node {\n node.expression.typeAnnotation = node.typeAnnotation;\n\n this.resetEndLocation(node.expression, node.typeAnnotation.loc.end);\n\n return node.expression;\n }\n\n shouldParseArrow(params: Array<N.Node>) {\n if (this.match(tt.colon)) {\n return params.every(expr => this.isAssignable(expr, true));\n }\n return super.shouldParseArrow(params);\n }\n\n shouldParseAsyncArrow(): boolean {\n return this.match(tt.colon) || super.shouldParseAsyncArrow();\n }\n\n canHaveLeadingDecorator() {\n // Avoid unnecessary lookahead in checking for abstract class unless needed!\n return super.canHaveLeadingDecorator() || this.isAbstractClass();\n }\n\n jsxParseOpeningElementAfterName(\n node: N.JSXOpeningElement,\n ): N.JSXOpeningElement {\n // handles `<Component<<T>`\n if (this.match(tt.lt) || this.match(tt.bitShiftL)) {\n const typeArguments = this.tsTryParseAndCatch(() =>\n this.tsParseTypeArgumentsInExpression(),\n );\n if (typeArguments) node.typeParameters = typeArguments;\n }\n return super.jsxParseOpeningElementAfterName(node);\n }\n\n getGetterSetterExpectedParamCount(\n method: N.ObjectMethod | N.ClassMethod,\n ): number {\n const baseCount = super.getGetterSetterExpectedParamCount(method);\n const params = this.getObjectOrClassMethodParams(method);\n const firstParam = params[0];\n const hasContextParam = firstParam && this.isThisParam(firstParam);\n\n return hasContextParam ? baseCount + 1 : baseCount;\n }\n\n parseCatchClauseParam(): N.Pattern {\n const param = super.parseCatchClauseParam();\n const type = this.tsTryParseTypeAnnotation();\n\n if (type) {\n param.typeAnnotation = type;\n this.resetEndLocation(param);\n }\n\n return param;\n }\n\n tsInAmbientContext<T>(cb: () => T): T {\n const oldIsAmbientContext = this.state.isAmbientContext;\n this.state.isAmbientContext = true;\n try {\n return cb();\n } finally {\n this.state.isAmbientContext = oldIsAmbientContext;\n }\n }\n\n parseClass<T: N.Class>(node: T, ...args: any[]): T {\n const oldInAbstractClass = this.state.inAbstractClass;\n this.state.inAbstractClass = !!(node: any).abstract;\n try {\n return super.parseClass(node, ...args);\n } finally {\n this.state.inAbstractClass = oldInAbstractClass;\n }\n }\n\n tsParseAbstractDeclaration(\n node: any,\n ): N.ClassDeclaration | ?N.TsInterfaceDeclaration {\n if (this.match(tt._class)) {\n node.abstract = true;\n return this.parseClass<N.ClassDeclaration>(\n (node: N.ClassDeclaration),\n /* isStatement */ true,\n /* optionalId */ false,\n );\n } else if (this.isContextual(tt._interface)) {\n // for invalid abstract interface\n\n // To avoid\n // abstract interface\n // Foo {}\n if (!this.hasFollowingLineBreak()) {\n node.abstract = true;\n this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer, {\n at: node,\n });\n return this.tsParseInterfaceDeclaration(\n (node: N.TsInterfaceDeclaration),\n );\n }\n } else {\n this.unexpected(null, tt._class);\n }\n }\n\n parseMethod(...args: any[]) {\n const method = super.parseMethod(...args);\n if (method.abstract) {\n const hasBody = this.hasPlugin(\"estree\")\n ? !!method.value.body\n : !!method.body;\n if (hasBody) {\n const { key } = method;\n this.raise(TSErrors.AbstractMethodHasImplementation, {\n at: method,\n methodName:\n key.type === \"Identifier\" && !method.computed\n ? key.name\n : `[${this.input.slice(key.start, key.end)}]`,\n });\n }\n }\n return method;\n }\n\n tsParseTypeParameterName(): N.Identifier | string {\n const typeName: N.Identifier = this.parseIdentifier();\n return process.env.BABEL_8_BREAKING ? typeName : typeName.name;\n }\n\n shouldParseAsAmbientContext(): boolean {\n return !!this.getPluginOption(\"typescript\", \"dts\");\n }\n\n parse() {\n if (this.shouldParseAsAmbientContext()) {\n this.state.isAmbientContext = true;\n }\n return super.parse();\n }\n\n getExpression() {\n if (this.shouldParseAsAmbientContext()) {\n this.state.isAmbientContext = true;\n }\n return super.getExpression();\n }\n\n parseExportSpecifier(\n node: any,\n isString: boolean,\n isInTypeExport: boolean,\n isMaybeTypeOnly: boolean,\n ) {\n if (!isString && isMaybeTypeOnly) {\n this.parseTypeOnlyImportExportSpecifier(\n node,\n /* isImport */ false,\n isInTypeExport,\n );\n return this.finishNode<N.ExportSpecifier>(node, \"ExportSpecifier\");\n }\n node.exportKind = \"value\";\n return super.parseExportSpecifier(\n node,\n isString,\n isInTypeExport,\n isMaybeTypeOnly,\n );\n }\n\n parseImportSpecifier(\n specifier: any,\n importedIsString: boolean,\n isInTypeOnlyImport: boolean,\n isMaybeTypeOnly: boolean,\n ): N.ImportSpecifier {\n if (!importedIsString && isMaybeTypeOnly) {\n this.parseTypeOnlyImportExportSpecifier(\n specifier,\n /* isImport */ true,\n isInTypeOnlyImport,\n );\n return this.finishNode<N.ImportSpecifier>(specifier, \"ImportSpecifier\");\n }\n specifier.importKind = \"value\";\n return super.parseImportSpecifier(\n specifier,\n importedIsString,\n isInTypeOnlyImport,\n isMaybeTypeOnly,\n );\n }\n\n parseTypeOnlyImportExportSpecifier(\n node: any,\n isImport: boolean,\n isInTypeOnlyImportExport: boolean,\n ): void {\n const leftOfAsKey = isImport ? \"imported\" : \"local\";\n const rightOfAsKey = isImport ? \"local\" : \"exported\";\n\n let leftOfAs = node[leftOfAsKey];\n let rightOfAs;\n\n let hasTypeSpecifier = false;\n let canParseAsKeyword = true;\n\n const loc = leftOfAs.loc.start;\n\n // https://github.com/microsoft/TypeScript/blob/fc4f9d83d5939047aa6bb2a43965c6e9bbfbc35b/src/compiler/parser.ts#L7411-L7456\n // import { type } from \"mod\"; - hasTypeSpecifier: false, leftOfAs: type\n // import { type as } from \"mod\"; - hasTypeSpecifier: true, leftOfAs: as\n // import { type as as } from \"mod\"; - hasTypeSpecifier: false, leftOfAs: type, rightOfAs: as\n // import { type as as as } from \"mod\"; - hasTypeSpecifier: true, leftOfAs: as, rightOfAs: as\n if (this.isContextual(tt._as)) {\n // { type as ...? }\n const firstAs = this.parseIdentifier();\n if (this.isContextual(tt._as)) {\n // { type as as ...? }\n const secondAs = this.parseIdentifier();\n if (tokenIsKeywordOrIdentifier(this.state.type)) {\n // { type as as something }\n hasTypeSpecifier = true;\n leftOfAs = firstAs;\n rightOfAs = isImport\n ? this.parseIdentifier()\n : this.parseModuleExportName();\n canParseAsKeyword = false;\n } else {\n // { type as as }\n rightOfAs = secondAs;\n canParseAsKeyword = false;\n }\n } else if (tokenIsKeywordOrIdentifier(this.state.type)) {\n // { type as something }\n canParseAsKeyword = false;\n rightOfAs = isImport\n ? this.parseIdentifier()\n : this.parseModuleExportName();\n } else {\n // { type as }\n hasTypeSpecifier = true;\n leftOfAs = firstAs;\n }\n } else if (tokenIsKeywordOrIdentifier(this.state.type)) {\n // { type something ...? }\n hasTypeSpecifier = true;\n if (isImport) {\n leftOfAs = this.parseIdentifier(true);\n if (!this.isContextual(tt._as)) {\n this.checkReservedWord(\n leftOfAs.name,\n leftOfAs.loc.start,\n true,\n true,\n );\n }\n } else {\n leftOfAs = this.parseModuleExportName();\n }\n }\n if (hasTypeSpecifier && isInTypeOnlyImportExport) {\n this.raise(\n isImport\n ? TSErrors.TypeModifierIsUsedInTypeImports\n : TSErrors.TypeModifierIsUsedInTypeExports,\n { at: loc },\n );\n }\n\n node[leftOfAsKey] = leftOfAs;\n node[rightOfAsKey] = rightOfAs;\n\n const kindKey = isImport ? \"importKind\" : \"exportKind\";\n node[kindKey] = hasTypeSpecifier ? \"type\" : \"value\";\n\n if (canParseAsKeyword && this.eatContextual(tt._as)) {\n node[rightOfAsKey] = isImport\n ? this.parseIdentifier()\n : this.parseModuleExportName();\n }\n if (!node[rightOfAsKey]) {\n node[rightOfAsKey] = cloneIdentifier(node[leftOfAsKey]);\n }\n if (isImport) {\n this.checkIdentifier(node[rightOfAsKey], BIND_LEXICAL);\n }\n }\n };\n\nfunction isPossiblyLiteralEnum(expression: N.Expression): boolean {\n if (expression.type !== \"MemberExpression\") return false;\n\n const { computed, property } = expression;\n\n if (\n computed &&\n property.type !== \"StringLiteral\" &&\n (property.type !== \"TemplateLiteral\" || property.expressions.length > 0)\n ) {\n return false;\n }\n\n return isUncomputedMemberExpressionChain(expression.object);\n}\n\nfunction isUncomputedMemberExpressionChain(expression: N.Expression): boolean {\n if (expression.type === \"Identifier\") return true;\n if (expression.type !== \"MemberExpression\") return false;\n if (expression.computed) return false;\n\n return isUncomputedMemberExpressionChain(expression.object);\n}\n","// @flow\n\nimport * as charCodes from \"charcodes\";\n\nimport { tokenLabelName, tt } from \"../tokenizer/types\";\nimport type Parser from \"../parser\";\nimport * as N from \"../types\";\nimport { ParseErrorEnum } from \"../parse-error\";\n\nexport type PlaceholderTypes =\n | \"Identifier\"\n | \"StringLiteral\"\n | \"Expression\"\n | \"Statement\"\n | \"Declaration\"\n | \"BlockStatement\"\n | \"ClassBody\"\n | \"Pattern\";\n\n// $PropertyType doesn't support enums. Use a fake \"switch\" (GetPlaceholderNode)\n//type MaybePlaceholder<T: PlaceholderTypes> = $PropertyType<N, T> | N.Placeholder<T>;\n\ntype _Switch<Value, Cases, Index> = $Call<\n (\n $ElementType<$ElementType<Cases, Index>, 0>,\n ) => $ElementType<$ElementType<Cases, Index>, 1>,\n Value,\n>;\ntype $Switch<Value, Cases> = _Switch<Value, Cases, *>;\n\ntype NodeOf<T: PlaceholderTypes> = $Switch<\n T,\n [\n [\"Identifier\", N.Identifier],\n [\"StringLiteral\", N.StringLiteral],\n [\"Expression\", N.Expression],\n [\"Statement\", N.Statement],\n [\"Declaration\", N.Declaration],\n [\"BlockStatement\", N.BlockStatement],\n [\"ClassBody\", N.ClassBody],\n [\"Pattern\", N.Pattern],\n ],\n>;\n\n// Placeholder<T> breaks everything, because its type is incompatible with\n// the substituted nodes.\ntype MaybePlaceholder<T: PlaceholderTypes> = NodeOf<T>; // | Placeholder<T>\n\n/* eslint sort-keys: \"error\" */\nconst PlaceholderErrors = ParseErrorEnum`placeholders`(_ => ({\n ClassNameIsRequired: _(\"A class name is required.\"),\n UnexpectedSpace: _(\"Unexpected space in placeholder.\"),\n}));\n/* eslint-disable sort-keys */\n\nexport default (superClass: Class<Parser>): Class<Parser> =>\n class extends superClass {\n parsePlaceholder<T: PlaceholderTypes>(\n expectedNode: T,\n ): /*?N.Placeholder<T>*/ ?MaybePlaceholder<T> {\n if (this.match(tt.placeholder)) {\n const node = this.startNode();\n this.next();\n this.assertNoSpace();\n\n // We can't use this.parseIdentifier because\n // we don't want nested placeholders.\n node.name = super.parseIdentifier(/* liberal */ true);\n\n this.assertNoSpace();\n this.expect(tt.placeholder);\n return this.finishPlaceholder(node, expectedNode);\n }\n }\n\n finishPlaceholder<T: PlaceholderTypes>(\n node: N.Node,\n expectedNode: T,\n ): /*N.Placeholder<T>*/ MaybePlaceholder<T> {\n const isFinished = !!(node.expectedNode && node.type === \"Placeholder\");\n node.expectedNode = expectedNode;\n\n return isFinished ? node : this.finishNode(node, \"Placeholder\");\n }\n\n /* ============================================================ *\n * tokenizer/index.js *\n * ============================================================ */\n\n getTokenFromCode(code: number) {\n if (\n code === charCodes.percentSign &&\n this.input.charCodeAt(this.state.pos + 1) === charCodes.percentSign\n ) {\n return this.finishOp(tt.placeholder, 2);\n }\n\n return super.getTokenFromCode(...arguments);\n }\n\n /* ============================================================ *\n * parser/expression.js *\n * ============================================================ */\n\n parseExprAtom(): MaybePlaceholder<\"Expression\"> {\n return (\n this.parsePlaceholder(\"Expression\") || super.parseExprAtom(...arguments)\n );\n }\n\n parseIdentifier(): MaybePlaceholder<\"Identifier\"> {\n // NOTE: This function only handles identifiers outside of\n // expressions and binding patterns, since they are already\n // handled by the parseExprAtom and parseBindingAtom functions.\n // This is needed, for example, to parse \"class %%NAME%% {}\".\n return (\n this.parsePlaceholder(\"Identifier\") ||\n super.parseIdentifier(...arguments)\n );\n }\n\n checkReservedWord(word: string): void {\n // Sometimes we call #checkReservedWord(node.name), expecting\n // that node is an Identifier. If it is a Placeholder, name\n // will be undefined.\n if (word !== undefined) super.checkReservedWord(...arguments);\n }\n\n /* ============================================================ *\n * parser/lval.js *\n * ============================================================ */\n\n parseBindingAtom(): MaybePlaceholder<\"Pattern\"> {\n return (\n this.parsePlaceholder(\"Pattern\") || super.parseBindingAtom(...arguments)\n );\n }\n\n isValidLVal(type: string, ...rest) {\n return type === \"Placeholder\" || super.isValidLVal(type, ...rest);\n }\n\n toAssignable(node: N.Node): void {\n if (\n node &&\n node.type === \"Placeholder\" &&\n node.expectedNode === \"Expression\"\n ) {\n node.expectedNode = \"Pattern\";\n } else {\n super.toAssignable(...arguments);\n }\n }\n\n /* ============================================================ *\n * parser/statement.js *\n * ============================================================ */\n\n isLet(context: ?string): boolean {\n if (super.isLet(context)) {\n return true;\n }\n\n // Replicate the original checks that lead to looking ahead for an\n // identifier.\n if (!this.isContextual(tt._let)) {\n return false;\n }\n if (context) return false;\n\n // Accept \"let %%\" as the start of \"let %%placeholder%%\", as though the\n // placeholder were an identifier.\n const nextToken = this.lookahead();\n if (nextToken.type === tt.placeholder) {\n return true;\n }\n\n return false;\n }\n\n verifyBreakContinue(node: N.BreakStatement | N.ContinueStatement) {\n if (node.label && node.label.type === \"Placeholder\") return;\n super.verifyBreakContinue(...arguments);\n }\n\n parseExpressionStatement(\n node: MaybePlaceholder<\"Statement\">,\n expr: N.Expression,\n ): MaybePlaceholder<\"Statement\"> {\n if (\n expr.type !== \"Placeholder\" ||\n (expr.extra && expr.extra.parenthesized)\n ) {\n return super.parseExpressionStatement(...arguments);\n }\n\n if (this.match(tt.colon)) {\n const stmt: N.LabeledStatement = node;\n stmt.label = this.finishPlaceholder(expr, \"Identifier\");\n this.next();\n stmt.body = this.parseStatement(\"label\");\n return this.finishNode(stmt, \"LabeledStatement\");\n }\n\n this.semicolon();\n\n node.name = expr.name;\n return this.finishPlaceholder(node, \"Statement\");\n }\n\n parseBlock(): MaybePlaceholder<\"BlockStatement\"> {\n return (\n this.parsePlaceholder(\"BlockStatement\") ||\n super.parseBlock(...arguments)\n );\n }\n\n parseFunctionId(): ?MaybePlaceholder<\"Identifier\"> {\n return (\n this.parsePlaceholder(\"Identifier\") ||\n super.parseFunctionId(...arguments)\n );\n }\n\n parseClass<T: N.Class>(\n node: T,\n isStatement: /* T === ClassDeclaration */ boolean,\n optionalId?: boolean,\n ): T {\n const type = isStatement ? \"ClassDeclaration\" : \"ClassExpression\";\n\n this.next();\n this.takeDecorators(node);\n const oldStrict = this.state.strict;\n\n const placeholder = this.parsePlaceholder(\"Identifier\");\n if (placeholder) {\n if (\n this.match(tt._extends) ||\n this.match(tt.placeholder) ||\n this.match(tt.braceL)\n ) {\n node.id = placeholder;\n } else if (optionalId || !isStatement) {\n node.id = null;\n node.body = this.finishPlaceholder(placeholder, \"ClassBody\");\n return this.finishNode(node, type);\n } else {\n throw this.raise(PlaceholderErrors.ClassNameIsRequired, {\n at: this.state.startLoc,\n });\n }\n } else {\n this.parseClassId(node, isStatement, optionalId);\n }\n\n this.parseClassSuper(node);\n node.body =\n this.parsePlaceholder(\"ClassBody\") ||\n this.parseClassBody(!!node.superClass, oldStrict);\n return this.finishNode(node, type);\n }\n\n parseExport(node: N.Node): N.Node {\n const placeholder = this.parsePlaceholder(\"Identifier\");\n if (!placeholder) return super.parseExport(...arguments);\n\n if (!this.isContextual(tt._from) && !this.match(tt.comma)) {\n // export %%DECL%%;\n node.specifiers = [];\n node.source = null;\n node.declaration = this.finishPlaceholder(placeholder, \"Declaration\");\n return this.finishNode(node, \"ExportNamedDeclaration\");\n }\n\n // export %%NAME%% from \"foo\";\n this.expectPlugin(\"exportDefaultFrom\");\n const specifier = this.startNode();\n specifier.exported = placeholder;\n node.specifiers = [this.finishNode(specifier, \"ExportDefaultSpecifier\")];\n\n return super.parseExport(node);\n }\n\n isExportDefaultSpecifier(): boolean {\n if (this.match(tt._default)) {\n const next = this.nextTokenStart();\n if (this.isUnparsedContextual(next, \"from\")) {\n if (\n this.input.startsWith(\n tokenLabelName(tt.placeholder),\n this.nextTokenStartSince(next + 4),\n )\n ) {\n return true;\n }\n }\n }\n return super.isExportDefaultSpecifier();\n }\n\n maybeParseExportDefaultSpecifier(node: N.Node): boolean {\n if (node.specifiers && node.specifiers.length > 0) {\n // \"export %%NAME%%\" has already been parsed by #parseExport.\n return true;\n }\n return super.maybeParseExportDefaultSpecifier(...arguments);\n }\n\n checkExport(node: N.ExportNamedDeclaration): void {\n const { specifiers } = node;\n if (specifiers?.length) {\n node.specifiers = specifiers.filter(\n node => node.exported.type === \"Placeholder\",\n );\n }\n super.checkExport(node);\n node.specifiers = specifiers;\n }\n\n parseImport(\n node: N.Node,\n ): N.ImportDeclaration | N.TsImportEqualsDeclaration {\n const placeholder = this.parsePlaceholder(\"Identifier\");\n if (!placeholder) return super.parseImport(...arguments);\n\n node.specifiers = [];\n\n if (!this.isContextual(tt._from) && !this.match(tt.comma)) {\n // import %%STRING%%;\n node.source = this.finishPlaceholder(placeholder, \"StringLiteral\");\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n }\n\n // import %%DEFAULT%% ...\n const specifier = this.startNodeAtNode(placeholder);\n specifier.local = placeholder;\n this.finishNode(specifier, \"ImportDefaultSpecifier\");\n node.specifiers.push(specifier);\n\n if (this.eat(tt.comma)) {\n // import %%DEFAULT%%, * as ...\n const hasStarImport = this.maybeParseStarImportSpecifier(node);\n\n // import %%DEFAULT%%, { ...\n if (!hasStarImport) this.parseNamedImportSpecifiers(node);\n }\n\n this.expectContextual(tt._from);\n node.source = this.parseImportSource();\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n }\n\n parseImportSource(): MaybePlaceholder<\"StringLiteral\"> {\n // import ... from %%STRING%%;\n\n return (\n this.parsePlaceholder(\"StringLiteral\") ||\n super.parseImportSource(...arguments)\n );\n }\n\n // Throws if the current token and the prev one are separated by a space.\n assertNoSpace(): void {\n if (this.state.start > this.state.lastTokEndLoc.index) {\n this.raise(PlaceholderErrors.UnexpectedSpace, {\n at: this.state.lastTokEndLoc,\n });\n }\n }\n };\n","import type Parser from \"../parser\";\nimport { tokenIsIdentifier, tt } from \"../tokenizer/types\";\nimport * as N from \"../types\";\n\nexport default (superClass: Class<Parser>): Class<Parser> =>\n class extends superClass {\n parseV8Intrinsic(): N.Expression {\n if (this.match(tt.modulo)) {\n const v8IntrinsicStartLoc = this.state.startLoc;\n // let the `loc` of Identifier starts from `%`\n const node = this.startNode();\n this.next(); // eat '%'\n if (tokenIsIdentifier(this.state.type)) {\n const name = this.parseIdentifierName(this.state.start);\n const identifier = this.createIdentifier(node, name);\n identifier.type = \"V8IntrinsicIdentifier\";\n if (this.match(tt.parenL)) {\n return identifier;\n }\n }\n this.unexpected(v8IntrinsicStartLoc);\n }\n }\n\n /* ============================================================ *\n * parser/expression.js *\n * ============================================================ */\n\n parseExprAtom(): N.Expression {\n return this.parseV8Intrinsic() || super.parseExprAtom(...arguments);\n }\n };\n","// @flow\n\nimport type Parser from \"./parser\";\nimport type { PluginConfig } from \"./parser/base\";\n\nexport type Plugin = PluginConfig;\n\nexport type PluginList = $ReadOnlyArray<PluginConfig>;\n\nexport type MixinPlugin = (superClass: Class<Parser>) => Class<Parser>;\n\n// This function’s second parameter accepts either a string (plugin name) or an\n// array pair (plugin name and options object). If an options object is given,\n// then each value is non-recursively checked for identity with the actual\n// option value of each plugin in the first argument (which is an array of\n// plugin names or array pairs).\nexport function hasPlugin(\n plugins: PluginList,\n expectedConfig: PluginConfig,\n): boolean {\n // The expectedOptions object is by default an empty object if the given\n // expectedConfig argument does not give an options object (i.e., if it is a\n // string).\n const [expectedName, expectedOptions] =\n typeof expectedConfig === \"string\" ? [expectedConfig, {}] : expectedConfig;\n\n const expectedKeys = Object.keys(expectedOptions);\n\n const expectedOptionsIsEmpty = expectedKeys.length === 0;\n\n return plugins.some(p => {\n if (typeof p === \"string\") {\n return expectedOptionsIsEmpty && p === expectedName;\n } else {\n const [pluginName, pluginOptions] = p;\n if (pluginName !== expectedName) {\n return false;\n }\n for (const key of expectedKeys) {\n if (pluginOptions[key] !== expectedOptions[key]) {\n return false;\n }\n }\n return true;\n }\n });\n}\n\nexport function getPluginOption(\n plugins: PluginList,\n name: string,\n option: string,\n) {\n const plugin = plugins.find(plugin => {\n if (Array.isArray(plugin)) {\n return plugin[0] === name;\n } else {\n return plugin === name;\n }\n });\n\n if (plugin && Array.isArray(plugin)) {\n return plugin[1][option];\n }\n\n return null;\n}\n\nconst PIPELINE_PROPOSALS = [\"minimal\", \"fsharp\", \"hack\", \"smart\"];\nconst TOPIC_TOKENS = [\"^^\", \"@@\", \"^\", \"%\", \"#\"];\nconst RECORD_AND_TUPLE_SYNTAX_TYPES = [\"hash\", \"bar\"];\n\nexport function validatePlugins(plugins: PluginList) {\n if (hasPlugin(plugins, \"decorators\")) {\n if (hasPlugin(plugins, \"decorators-legacy\")) {\n throw new Error(\n \"Cannot use the decorators and decorators-legacy plugin together\",\n );\n }\n\n const decoratorsBeforeExport = getPluginOption(\n plugins,\n \"decorators\",\n \"decoratorsBeforeExport\",\n );\n if (decoratorsBeforeExport == null) {\n throw new Error(\n \"The 'decorators' plugin requires a 'decoratorsBeforeExport' option,\" +\n \" whose value must be a boolean. If you are migrating from\" +\n \" Babylon/Babel 6 or want to use the old decorators proposal, you\" +\n \" should use the 'decorators-legacy' plugin instead of 'decorators'.\",\n );\n } else if (typeof decoratorsBeforeExport !== \"boolean\") {\n throw new Error(\"'decoratorsBeforeExport' must be a boolean.\");\n }\n }\n\n if (hasPlugin(plugins, \"flow\") && hasPlugin(plugins, \"typescript\")) {\n throw new Error(\"Cannot combine flow and typescript plugins.\");\n }\n\n if (hasPlugin(plugins, \"placeholders\") && hasPlugin(plugins, \"v8intrinsic\")) {\n throw new Error(\"Cannot combine placeholders and v8intrinsic plugins.\");\n }\n\n if (hasPlugin(plugins, \"pipelineOperator\")) {\n const proposal = getPluginOption(plugins, \"pipelineOperator\", \"proposal\");\n\n if (!PIPELINE_PROPOSALS.includes(proposal)) {\n const proposalList = PIPELINE_PROPOSALS.map(p => `\"${p}\"`).join(\", \");\n throw new Error(\n `\"pipelineOperator\" requires \"proposal\" option whose value must be one of: ${proposalList}.`,\n );\n }\n\n const tupleSyntaxIsHash = hasPlugin(plugins, [\n \"recordAndTuple\",\n { syntaxType: \"hash\" },\n ]);\n\n if (proposal === \"hack\") {\n if (hasPlugin(plugins, \"placeholders\")) {\n throw new Error(\n \"Cannot combine placeholders plugin and Hack-style pipes.\",\n );\n }\n\n if (hasPlugin(plugins, \"v8intrinsic\")) {\n throw new Error(\n \"Cannot combine v8intrinsic plugin and Hack-style pipes.\",\n );\n }\n\n const topicToken = getPluginOption(\n plugins,\n \"pipelineOperator\",\n \"topicToken\",\n );\n\n if (!TOPIC_TOKENS.includes(topicToken)) {\n const tokenList = TOPIC_TOKENS.map(t => `\"${t}\"`).join(\", \");\n\n throw new Error(\n `\"pipelineOperator\" in \"proposal\": \"hack\" mode also requires a \"topicToken\" option whose value must be one of: ${tokenList}.`,\n );\n }\n\n if (topicToken === \"#\" && tupleSyntaxIsHash) {\n throw new Error(\n 'Plugin conflict between `[\"pipelineOperator\", { proposal: \"hack\", topicToken: \"#\" }]` and `[\"recordAndtuple\", { syntaxType: \"hash\"}]`.',\n );\n }\n } else if (proposal === \"smart\" && tupleSyntaxIsHash) {\n throw new Error(\n 'Plugin conflict between `[\"pipelineOperator\", { proposal: \"smart\" }]` and `[\"recordAndtuple\", { syntaxType: \"hash\"}]`.',\n );\n }\n }\n\n if (hasPlugin(plugins, \"moduleAttributes\")) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(\n \"`moduleAttributes` has been removed in Babel 8, please use `importAssertions` parser plugin, or `@babel/plugin-syntax-import-assertions`.\",\n );\n } else {\n if (hasPlugin(plugins, \"importAssertions\")) {\n throw new Error(\n \"Cannot combine importAssertions and moduleAttributes plugins.\",\n );\n }\n const moduleAttributesVersionPluginOption = getPluginOption(\n plugins,\n \"moduleAttributes\",\n \"version\",\n );\n if (moduleAttributesVersionPluginOption !== \"may-2020\") {\n throw new Error(\n \"The 'moduleAttributes' plugin requires a 'version' option,\" +\n \" representing the last proposal update. Currently, the\" +\n \" only supported value is 'may-2020'.\",\n );\n }\n }\n }\n\n if (\n hasPlugin(plugins, \"recordAndTuple\") &&\n !RECORD_AND_TUPLE_SYNTAX_TYPES.includes(\n getPluginOption(plugins, \"recordAndTuple\", \"syntaxType\"),\n )\n ) {\n throw new Error(\n \"'recordAndTuple' requires 'syntaxType' option whose value should be one of: \" +\n RECORD_AND_TUPLE_SYNTAX_TYPES.map(p => `'${p}'`).join(\", \"),\n );\n }\n\n if (\n hasPlugin(plugins, \"asyncDoExpressions\") &&\n !hasPlugin(plugins, \"doExpressions\")\n ) {\n const error = new Error(\n \"'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.\",\n );\n // $FlowIgnore\n error.missingPlugins = \"doExpressions\"; // so @babel/core can provide better error message\n throw error;\n }\n}\n\n// These plugins are defined using a mixin which extends the parser class.\n\nimport estree from \"./plugins/estree\";\nimport flow from \"./plugins/flow\";\nimport jsx from \"./plugins/jsx\";\nimport typescript from \"./plugins/typescript\";\nimport placeholders from \"./plugins/placeholders\";\nimport v8intrinsic from \"./plugins/v8intrinsic\";\n\n// NOTE: order is important. estree must come first; placeholders must come last.\nexport const mixinPlugins: { [name: string]: MixinPlugin } = {\n estree,\n jsx,\n flow,\n typescript,\n v8intrinsic,\n placeholders,\n};\n\nexport const mixinPluginNames: $ReadOnlyArray<string> =\n Object.keys(mixinPlugins);\n","// @flow\n\nimport type { PluginList } from \"./plugin-utils\";\n\n// A second optional argument can be given to further configure\n// the parser process. These options are recognized:\n\nexport type SourceType = \"script\" | \"module\" | \"unambiguous\";\n\nexport type Options = {\n sourceType: SourceType,\n sourceFilename?: string,\n startColumn: number,\n startLine: number,\n allowAwaitOutsideFunction: boolean,\n allowReturnOutsideFunction: boolean,\n allowImportExportEverywhere: boolean,\n allowSuperOutsideMethod: boolean,\n allowUndeclaredExports: boolean,\n plugins: PluginList,\n strictMode: ?boolean,\n ranges: boolean,\n tokens: boolean,\n createParenthesizedExpressions: boolean,\n errorRecovery: boolean,\n attachComment: boolean,\n};\n\nexport const defaultOptions: Options = {\n // Source type (\"script\" or \"module\") for different semantics\n sourceType: \"script\",\n // Source filename.\n sourceFilename: undefined,\n // Column (0-based) from which to start counting source. Useful for\n // integration with other tools.\n startColumn: 0,\n // Line (1-based) from which to start counting source. Useful for\n // integration with other tools.\n startLine: 1,\n // When enabled, await at the top level is not considered an\n // error.\n allowAwaitOutsideFunction: false,\n // When enabled, a return at the top level is not considered an\n // error.\n allowReturnOutsideFunction: false,\n // When enabled, import/export statements are not constrained to\n // appearing at the top of the program.\n allowImportExportEverywhere: false,\n // TODO\n allowSuperOutsideMethod: false,\n // When enabled, export statements can reference undeclared variables.\n allowUndeclaredExports: false,\n // An array of plugins to enable\n plugins: [],\n // TODO\n strictMode: null,\n // Nodes have their start and end characters offsets recorded in\n // `start` and `end` properties (directly on the node, rather than\n // the `loc` object, which holds line/column data. To also add a\n // [semi-standardized][range] `range` property holding a `[start,\n // end]` array with the same numbers, set the `ranges` option to\n // `true`.\n //\n // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678\n ranges: false,\n // Adds all parsed tokens to a `tokens` property on the `File` node\n tokens: false,\n // Whether to create ParenthesizedExpression AST nodes (if false\n // the parser sets extra.parenthesized on the expression nodes instead).\n createParenthesizedExpressions: false,\n // When enabled, errors are attached to the AST instead of being directly thrown.\n // Some errors will still throw, because @babel/parser can't always recover.\n errorRecovery: false,\n // When enabled, comments will be attached to adjacent AST nodes as one of\n // `leadingComments`, `trailingComments` and `innerComments`. The comment attachment\n // is vital to preserve comments after transform. If you don't print AST back,\n // consider set this option to `false` for performance\n attachComment: true,\n};\n\n// Interpret and default an options object\n\nexport function getOptions(opts: ?Options): Options {\n const options: any = {};\n for (const key of Object.keys(defaultOptions)) {\n options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key];\n }\n return options;\n}\n","// @flow\n\n/*:: declare var invariant; */\nimport * as charCodes from \"charcodes\";\nimport { tt, type TokenType } from \"../tokenizer/types\";\nimport type {\n TSParameterProperty,\n Decorator,\n Expression,\n Identifier,\n Node,\n Pattern,\n RestElement,\n SpreadElement,\n /*:: ObjectOrClassMember, */\n /*:: ClassMember, */\n ObjectMember,\n /*:: TsNamedTypeElementBase, */\n /*:: PrivateName, */\n /*:: ObjectExpression, */\n /*:: ObjectPattern, */\n} from \"../types\";\nimport type { Pos, Position } from \"../util/location\";\nimport {\n isStrictBindOnlyReservedWord,\n isStrictBindReservedWord,\n} from \"../util/identifier\";\nimport { NodeUtils } from \"./node\";\nimport {\n type BindingTypes,\n BIND_NONE,\n BIND_SCOPE_LEXICAL,\n} from \"../util/scopeflags\";\nimport { ExpressionErrors } from \"./util\";\nimport { Errors, type LValAncestor } from \"../parse-error\";\n\nconst getOwn = (object, key) =>\n Object.hasOwnProperty.call(object, key) && object[key];\n\nconst unwrapParenthesizedExpression = (node: Node): Node => {\n return node.type === \"ParenthesizedExpression\"\n ? unwrapParenthesizedExpression(node.expression)\n : node;\n};\n\nexport default class LValParser extends NodeUtils {\n // Forward-declaration: defined in expression.js\n /*::\n +parseIdentifier: (liberal?: boolean) => Identifier;\n +parseMaybeAssignAllowIn: (\n refExpressionErrors?: ?ExpressionErrors,\n afterLeftParse?: Function,\n refNeedsArrowPos?: ?Pos,\n ) => Expression;\n +parseObjectLike: <T: ObjectPattern | ObjectExpression>(\n close: TokenType,\n isPattern: boolean,\n isRecord?: ?boolean,\n refExpressionErrors?: ?ExpressionErrors,\n ) => T;\n +parseObjPropValue: (\n prop: any,\n startPos: ?number,\n startLoc: ?Position,\n isGenerator: boolean,\n isAsync: boolean,\n isPattern: boolean,\n isAccessor: boolean,\n refExpressionErrors?: ?ExpressionErrors,\n ) => void;\n +parsePropertyName: (\n prop: ObjectOrClassMember | ClassMember | TsNamedTypeElementBase,\n ) => Expression | Identifier;\n +parsePrivateName: () => PrivateName\n */\n // Forward-declaration: defined in statement.js\n /*::\n +parseDecorator: () => Decorator;\n */\n\n /**\n * Convert existing expression atom to assignable pattern\n * if possible. Also checks invalid destructuring targets:\n\n - Parenthesized Destructuring patterns\n - RestElement is not the last element\n - Missing `=` in assignment pattern\n\n NOTE: There is a corresponding \"isAssignable\" method.\n When this one is updated, please check if also that one needs to be updated.\n\n * @param {Node} node The expression atom\n * @param {boolean} [isLHS=false] Whether we are parsing a LeftHandSideExpression.\n * If isLHS is `true`, the following cases are allowed: `[(a)] = [0]`, `[(a.b)] = [0]`\n * If isLHS is `false`, we are in an arrow function parameters list.\n * @memberof LValParser\n */\n toAssignable(node: Node, isLHS: boolean = false): void {\n let parenthesized = undefined;\n if (node.type === \"ParenthesizedExpression\" || node.extra?.parenthesized) {\n parenthesized = unwrapParenthesizedExpression(node);\n if (isLHS) {\n // an LHS can be reinterpreted to a binding pattern but not vice versa.\n // therefore a parenthesized identifier is ambiguous until we are sure it is an assignment expression\n // i.e. `([(a) = []] = []) => {}`\n // see also `recordArrowParemeterBindingError` signature in packages/babel-parser/src/util/expression-scope.js\n if (parenthesized.type === \"Identifier\") {\n this.expressionScope.recordArrowParemeterBindingError(\n Errors.InvalidParenthesizedAssignment,\n { at: node },\n );\n } else if (parenthesized.type !== \"MemberExpression\") {\n // A parenthesized member expression can be in LHS but not in pattern.\n // If the LHS is later interpreted as a pattern, `checkLVal` will throw for member expression binding\n // i.e. `([(a.b) = []] = []) => {}`\n this.raise(Errors.InvalidParenthesizedAssignment, { at: node });\n }\n } else {\n this.raise(Errors.InvalidParenthesizedAssignment, { at: node });\n }\n }\n\n switch (node.type) {\n case \"Identifier\":\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"AssignmentPattern\":\n case \"RestElement\":\n break;\n\n case \"ObjectExpression\":\n node.type = \"ObjectPattern\";\n for (\n let i = 0, length = node.properties.length, last = length - 1;\n i < length;\n i++\n ) {\n const prop = node.properties[i];\n const isLast = i === last;\n this.toAssignableObjectExpressionProp(prop, isLast, isLHS);\n\n if (\n isLast &&\n prop.type === \"RestElement\" &&\n node.extra?.trailingCommaLoc\n ) {\n this.raise(Errors.RestTrailingComma, {\n at: node.extra.trailingCommaLoc,\n });\n }\n }\n break;\n\n case \"ObjectProperty\": {\n const { key, value } = node;\n if (this.isPrivateName(key)) {\n this.classScope.usePrivateName(\n this.getPrivateNameSV(key),\n key.loc.start,\n );\n }\n this.toAssignable(value, isLHS);\n break;\n }\n\n case \"SpreadElement\": {\n throw new Error(\n \"Internal @babel/parser error (this is a bug, please report it).\" +\n \" SpreadElement should be converted by .toAssignable's caller.\",\n );\n }\n\n case \"ArrayExpression\":\n node.type = \"ArrayPattern\";\n this.toAssignableList(\n node.elements,\n node.extra?.trailingCommaLoc,\n isLHS,\n );\n break;\n\n case \"AssignmentExpression\":\n if (node.operator !== \"=\") {\n this.raise(Errors.MissingEqInAssignment, { at: node.left.loc.end });\n }\n\n node.type = \"AssignmentPattern\";\n delete node.operator;\n this.toAssignable(node.left, isLHS);\n break;\n\n case \"ParenthesizedExpression\":\n /*::invariant (parenthesized !== undefined) */\n this.toAssignable(parenthesized, isLHS);\n break;\n\n default:\n // We don't know how to deal with this node. It will\n // be reported by a later call to checkLVal\n }\n }\n\n toAssignableObjectExpressionProp(\n prop: Node,\n isLast: boolean,\n isLHS: boolean,\n ) {\n if (prop.type === \"ObjectMethod\") {\n this.raise(\n prop.kind === \"get\" || prop.kind === \"set\"\n ? Errors.PatternHasAccessor\n : Errors.PatternHasMethod,\n { at: prop.key },\n );\n } else if (prop.type === \"SpreadElement\") {\n prop.type = \"RestElement\";\n const arg = prop.argument;\n this.checkToRestConversion(arg, /* allowPattern */ false);\n this.toAssignable(arg, isLHS);\n\n if (!isLast) {\n this.raise(Errors.RestTrailingComma, { at: prop });\n }\n } else {\n this.toAssignable(prop, isLHS);\n }\n }\n\n // Convert list of expression atoms to binding list.\n\n toAssignableList(\n exprList: Expression[],\n trailingCommaLoc?: ?Position,\n isLHS: boolean,\n ): void {\n const end = exprList.length - 1;\n\n for (let i = 0; i <= end; i++) {\n const elt = exprList[i];\n if (!elt) continue;\n\n if (elt.type === \"SpreadElement\") {\n elt.type = \"RestElement\";\n const arg = elt.argument;\n this.checkToRestConversion(arg, /* allowPattern */ true);\n this.toAssignable(arg, isLHS);\n } else {\n this.toAssignable(elt, isLHS);\n }\n\n if (elt.type === \"RestElement\") {\n if (i < end) {\n this.raise(Errors.RestTrailingComma, { at: elt });\n } else if (trailingCommaLoc) {\n this.raise(Errors.RestTrailingComma, { at: trailingCommaLoc });\n }\n }\n }\n }\n\n isAssignable(node: Node, isBinding?: boolean): boolean {\n switch (node.type) {\n case \"Identifier\":\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n case \"AssignmentPattern\":\n case \"RestElement\":\n return true;\n\n case \"ObjectExpression\": {\n const last = node.properties.length - 1;\n return node.properties.every((prop, i) => {\n return (\n prop.type !== \"ObjectMethod\" &&\n (i === last || prop.type !== \"SpreadElement\") &&\n this.isAssignable(prop)\n );\n });\n }\n\n case \"ObjectProperty\":\n return this.isAssignable(node.value);\n\n case \"SpreadElement\":\n return this.isAssignable(node.argument);\n\n case \"ArrayExpression\":\n return node.elements.every(\n element => element === null || this.isAssignable(element),\n );\n\n case \"AssignmentExpression\":\n return node.operator === \"=\";\n\n case \"ParenthesizedExpression\":\n return this.isAssignable(node.expression);\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n return !isBinding;\n\n default:\n return false;\n }\n }\n\n // Convert list of expression atoms to a list of\n\n toReferencedList(\n exprList: $ReadOnlyArray<?Expression>,\n isParenthesizedExpr?: boolean, // eslint-disable-line no-unused-vars\n ): $ReadOnlyArray<?Expression> {\n return exprList;\n }\n\n toReferencedListDeep(\n exprList: $ReadOnlyArray<?Expression>,\n isParenthesizedExpr?: boolean,\n ): void {\n this.toReferencedList(exprList, isParenthesizedExpr);\n\n for (const expr of exprList) {\n if (expr?.type === \"ArrayExpression\") {\n this.toReferencedListDeep(expr.elements);\n }\n }\n }\n\n // Parses spread element.\n\n parseSpread(\n refExpressionErrors: ?ExpressionErrors,\n refNeedsArrowPos?: ?Pos,\n ): SpreadElement {\n const node = this.startNode();\n this.next();\n node.argument = this.parseMaybeAssignAllowIn(\n refExpressionErrors,\n undefined,\n refNeedsArrowPos,\n );\n return this.finishNode(node, \"SpreadElement\");\n }\n\n // https://tc39.es/ecma262/#prod-BindingRestProperty\n // https://tc39.es/ecma262/#prod-BindingRestElement\n parseRestBinding(): RestElement {\n const node = this.startNode();\n this.next(); // eat `...`\n node.argument = this.parseBindingAtom();\n return this.finishNode(node, \"RestElement\");\n }\n\n // Parses lvalue (assignable) atom.\n parseBindingAtom(): Pattern {\n // https://tc39.es/ecma262/#prod-BindingPattern\n switch (this.state.type) {\n case tt.bracketL: {\n const node = this.startNode();\n this.next();\n node.elements = this.parseBindingList(\n tt.bracketR,\n charCodes.rightSquareBracket,\n true,\n );\n return this.finishNode(node, \"ArrayPattern\");\n }\n\n case tt.braceL:\n return this.parseObjectLike(tt.braceR, true);\n }\n\n // https://tc39.es/ecma262/#prod-BindingIdentifier\n return this.parseIdentifier();\n }\n\n // https://tc39.es/ecma262/#prod-BindingElementList\n parseBindingList(\n close: TokenType,\n closeCharCode: $Values<typeof charCodes>,\n allowEmpty?: boolean,\n allowModifiers?: boolean,\n ): $ReadOnlyArray<Pattern | TSParameterProperty> {\n const elts: Array<Pattern | TSParameterProperty> = [];\n let first = true;\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(tt.comma);\n }\n if (allowEmpty && this.match(tt.comma)) {\n // $FlowFixMe This method returns `$ReadOnlyArray<?Pattern>` if `allowEmpty` is set.\n elts.push(null);\n } else if (this.eat(close)) {\n break;\n } else if (this.match(tt.ellipsis)) {\n elts.push(this.parseAssignableListItemTypes(this.parseRestBinding()));\n if (!this.checkCommaAfterRest(closeCharCode)) {\n this.expect(close);\n break;\n }\n } else {\n const decorators = [];\n if (this.match(tt.at) && this.hasPlugin(\"decorators\")) {\n this.raise(Errors.UnsupportedParameterDecorator, {\n at: this.state.startLoc,\n });\n }\n // invariant: hasPlugin(\"decorators-legacy\")\n while (this.match(tt.at)) {\n decorators.push(this.parseDecorator());\n }\n elts.push(this.parseAssignableListItem(allowModifiers, decorators));\n }\n }\n return elts;\n }\n\n // https://tc39.es/ecma262/#prod-BindingRestProperty\n parseBindingRestProperty(prop: RestElement): RestElement {\n this.next(); // eat '...'\n // Don't use parseRestBinding() as we only allow Identifier here.\n prop.argument = this.parseIdentifier();\n this.checkCommaAfterRest(charCodes.rightCurlyBrace);\n return this.finishNode(prop, \"RestElement\");\n }\n\n // https://tc39.es/ecma262/#prod-BindingProperty\n parseBindingProperty(): ObjectMember | RestElement {\n const prop = this.startNode();\n const { type, start: startPos, startLoc } = this.state;\n if (type === tt.ellipsis) {\n return this.parseBindingRestProperty(prop);\n } else if (type === tt.privateName) {\n this.expectPlugin(\"destructuringPrivate\", startLoc);\n this.classScope.usePrivateName(this.state.value, startLoc);\n prop.key = this.parsePrivateName();\n } else {\n this.parsePropertyName(prop);\n }\n prop.method = false;\n this.parseObjPropValue(\n prop,\n startPos,\n startLoc,\n false /* isGenerator */,\n false /* isAsync */,\n true /* isPattern */,\n false /* isAccessor */,\n );\n\n return prop;\n }\n\n parseAssignableListItem(\n allowModifiers: ?boolean,\n decorators: Decorator[],\n ): Pattern | TSParameterProperty {\n const left = this.parseMaybeDefault();\n this.parseAssignableListItemTypes(left);\n const elt = this.parseMaybeDefault(left.start, left.loc.start, left);\n if (decorators.length) {\n left.decorators = decorators;\n }\n return elt;\n }\n\n // Used by flow/typescript plugin to add type annotations to binding elements\n parseAssignableListItemTypes(param: Pattern): Pattern {\n return param;\n }\n\n // Parses assignment pattern around given atom if possible.\n // https://tc39.es/ecma262/#prod-BindingElement\n parseMaybeDefault(\n startPos?: ?number,\n startLoc?: ?Position,\n left?: ?Pattern,\n ): Pattern {\n startLoc = startLoc ?? this.state.startLoc;\n startPos = startPos ?? this.state.start;\n // $FlowIgnore\n left = left ?? this.parseBindingAtom();\n if (!this.eat(tt.eq)) return left;\n\n const node = this.startNodeAt(startPos, startLoc);\n node.left = left;\n node.right = this.parseMaybeAssignAllowIn();\n return this.finishNode(node, \"AssignmentPattern\");\n }\n /**\n * Return information use in determining whether a Node of a given type is an LVal,\n * possibly given certain additional context information.\n *\n * Subclasser notes: This method has kind of a lot of mixed, but related,\n * responsibilities. If we can definitively determine with the information\n * provided that this either *is* or *isn't* a valid `LVal`, then the return\n * value is easy: just return `true` or `false`. However, if it is a valid\n * LVal *ancestor*, and thus it's descendents must be subsquently visited to\n * continue the \"investigation\", then this method should return the relevant\n * child key as a `string`. In some special cases, you additionally want to\n * convey that this node should be treated as if it were parenthesized. In\n * that case, a tuple of [key: string, parenthesized: boolean] is returned.\n * The `string`-only return option is actually just a shorthand for:\n * `[key: string, parenthesized: false]`.\n *\n * @param {NodeType} type A Node `type` string\n * @param {boolean} isUnparenthesizedInAssign\n * Whether the node in question is unparenthesized and its parent\n * is either an assignment pattern or an assignment expression.\n * @param {BindingTypes} binding\n * The binding operation that is being considered for this potential\n * LVal.\n * @returns { boolean | string | [string, boolean] }\n * `true` or `false` if we can immediately determine whether the node\n * type in question can be treated as an `LVal`.\n * A `string` key to traverse if we must check this child.\n * A `[string, boolean]` tuple if we need to check this child and\n * treat is as parenthesized.\n */\n isValidLVal(\n type: string,\n // eslint-disable-next-line no-unused-vars\n isUnparenthesizedInAssign: boolean,\n // eslint-disable-next-line no-unused-vars\n binding: BindingTypes,\n ) {\n return getOwn(\n {\n AssignmentPattern: \"left\",\n RestElement: \"argument\",\n ObjectProperty: \"value\",\n ParenthesizedExpression: \"expression\",\n ArrayPattern: \"elements\",\n ObjectPattern: \"properties\",\n },\n type,\n );\n }\n\n /**\n * Verify that a target expression is an lval (something that can be assigned to).\n *\n * @param {Expression} expression The expression in question to check.\n * @param {Object} options A set of options described below.\n * @param {LValAncestor} options.in\n * The relevant ancestor to provide context information for the error\n * if the check fails.\n * @param {BindingTypes} [options.binding=BIND_NONE]\n * The desired binding type. If the given expression is an identifier\n * and `binding` is not `BIND_NONE`, `checkLVal` will register binding\n * to the parser scope See also `src/util/scopeflags.js`\n * @param {Set<string>|false} [options.checkClashes=false]\n * An optional string set to check if an identifier name is included.\n * `checkLVal` will add checked identifier name to `checkClashes` It is\n * used in tracking duplicates in function parameter lists. If it is\n * false, `checkLVal` will skip duplicate checks\n * @param {boolean} [options.allowingSloppyLetBinding]\n * Whether an identifier named \"let\" should be allowed in sloppy mode.\n * Defaults to `true` unless lexical scope its being used. This property\n * is only relevant if the parser's state is in sloppy mode.\n * @param {boolean} [options.strictModeChanged=false]\n * Whether an identifier has been parsed in a sloppy context but should\n * be reinterpreted as strict-mode. e.g. `(arguments) => { \"use strict \"}`\n * @param {boolean} [options.hasParenthesizedAncestor=false]\n * This is only used internally during recursive calls, and you should\n * not have to set it yourself.\n * @memberof LValParser\n */\n\n checkLVal(\n expression: Expression | ObjectMember | RestElement,\n {\n in: ancestor,\n binding = BIND_NONE,\n checkClashes = false,\n strictModeChanged = false,\n allowingSloppyLetBinding = !(binding & BIND_SCOPE_LEXICAL),\n hasParenthesizedAncestor = false,\n }: {\n in: LValAncestor,\n binding?: BindingTypes,\n checkClashes?: Set<string> | false,\n strictModeChanged?: boolean,\n allowingSloppyLetBinding?: boolean,\n hasParenthesizedAncestor?: boolean,\n },\n ): void {\n const type = expression.type;\n\n // If we find here an ObjectMethod, it's because this was originally\n // an ObjectExpression which has then been converted.\n // toAssignable already reported this error with a nicer message.\n if (this.isObjectMethod(expression)) return;\n\n if (type === \"MemberExpression\") {\n if (binding !== BIND_NONE) {\n this.raise(Errors.InvalidPropertyBindingPattern, { at: expression });\n }\n return;\n }\n\n if (expression.type === \"Identifier\") {\n this.checkIdentifier(\n expression,\n binding,\n strictModeChanged,\n allowingSloppyLetBinding,\n );\n\n const { name } = expression;\n\n if (checkClashes) {\n if (checkClashes.has(name)) {\n this.raise(Errors.ParamDupe, { at: expression });\n } else {\n checkClashes.add(name);\n }\n }\n\n return;\n }\n\n const validity = this.isValidLVal(\n expression.type,\n !(hasParenthesizedAncestor || expression.extra?.parenthesized) &&\n ancestor.type === \"AssignmentExpression\",\n binding,\n );\n\n if (validity === true) return;\n\n if (validity === false) {\n const ParseErrorClass =\n binding === BIND_NONE ? Errors.InvalidLhs : Errors.InvalidLhsBinding;\n\n this.raise(ParseErrorClass, {\n at: expression,\n ancestor:\n ancestor.type === \"UpdateExpression\"\n ? { type: \"UpdateExpression\", prefix: ancestor.prefix }\n : { type: ancestor.type },\n });\n return;\n }\n\n const [key, isParenthesizedExpression] = Array.isArray(validity)\n ? validity\n : [validity, type === \"ParenthesizedExpression\"];\n const nextAncestor =\n expression.type === \"ArrayPattern\" ||\n expression.type === \"ObjectPattern\" ||\n expression.type === \"ParenthesizedExpression\"\n ? expression\n : ancestor;\n\n // Flow has difficulty tracking `key` and `expression`, but only if we use\n // null-proto objects. If we use normal objects, everything works fine.\n // $FlowIgnore\n for (const child of [].concat(expression[key])) {\n if (child) {\n this.checkLVal(child, {\n in: nextAncestor,\n binding,\n checkClashes,\n allowingSloppyLetBinding,\n strictModeChanged,\n hasParenthesizedAncestor: isParenthesizedExpression,\n });\n }\n }\n }\n\n checkIdentifier(\n at: Identifier,\n bindingType: BindingTypes,\n strictModeChanged: boolean = false,\n allowLetBinding: boolean = !(bindingType & BIND_SCOPE_LEXICAL),\n ) {\n if (\n this.state.strict &&\n (strictModeChanged\n ? isStrictBindReservedWord(at.name, this.inModule)\n : isStrictBindOnlyReservedWord(at.name))\n ) {\n if (bindingType === BIND_NONE) {\n this.raise(Errors.StrictEvalArguments, { at, referenceName: at.name });\n } else {\n this.raise(Errors.StrictEvalArgumentsBinding, {\n at,\n bindingName: at.name,\n });\n }\n }\n\n if (!allowLetBinding && at.name === \"let\") {\n this.raise(Errors.LetInLexicalBinding, { at });\n }\n\n if (!(bindingType & BIND_NONE)) {\n this.declareNameFromIdentifier(at, bindingType);\n }\n }\n\n declareNameFromIdentifier(identifier: Identifier, binding: BindingTypes) {\n this.scope.declareName(identifier.name, binding, identifier.loc.start);\n }\n\n checkToRestConversion(node: Node, allowPattern: boolean): void {\n switch (node.type) {\n case \"ParenthesizedExpression\":\n this.checkToRestConversion(node.expression, allowPattern);\n break;\n case \"Identifier\":\n case \"MemberExpression\":\n break;\n case \"ArrayExpression\":\n case \"ObjectExpression\":\n if (allowPattern) break;\n /* falls through */\n default:\n this.raise(Errors.InvalidRestAssignmentPattern, { at: node });\n }\n }\n\n checkCommaAfterRest(close: $Values<typeof charCodes>): boolean {\n if (!this.match(tt.comma)) {\n return false;\n }\n\n this.raise(\n this.lookaheadCharCode() === close\n ? Errors.RestTrailingComma\n : Errors.ElementAfterRest,\n { at: this.state.startLoc },\n );\n\n return true;\n }\n}\n","// @flow\n\n// A recursive descent parser operates by defining functions for all\n// syntactic elements, and recursively calling those, each function\n// advancing the input stream and returning an AST node. Precedence\n// of constructs (for example, the fact that `!x[1]` means `!(x[1])`\n// instead of `(!x)[1]` is handled by the fact that the parser\n// function that parses unary prefix operators is called first, and\n// in turn calls the function that parses `[]` subscripts — that\n// way, it'll receive the node for `x[1]` already parsed, and wraps\n// *that* in the unary operator node.\n//\n// Acorn uses an [operator precedence parser][opp] to handle binary\n// operator precedence, because it is much more compact than using\n// the technique outlined above, which uses different, nesting\n// functions to specify precedence, for all of the ten binary\n// precedence levels that JavaScript defines.\n//\n// [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser\n\nimport {\n tokenCanStartExpression,\n tokenIsAssignment,\n tokenIsIdentifier,\n tokenIsKeywordOrIdentifier,\n tokenIsOperator,\n tokenIsPostfix,\n tokenIsPrefix,\n tokenIsRightAssociative,\n tokenIsTemplate,\n tokenKeywordOrIdentifierIsKeyword,\n tokenLabelName,\n tokenOperatorPrecedence,\n tt,\n type TokenType,\n} from \"../tokenizer/types\";\nimport * as N from \"../types\";\nimport LValParser from \"./lval\";\nimport {\n isKeyword,\n isReservedWord,\n isStrictReservedWord,\n isStrictBindReservedWord,\n isIdentifierStart,\n canBeReservedWord,\n} from \"../util/identifier\";\nimport { Position, createPositionWithColumnOffset } from \"../util/location\";\nimport * as charCodes from \"charcodes\";\nimport {\n BIND_OUTSIDE,\n BIND_VAR,\n SCOPE_ARROW,\n SCOPE_CLASS,\n SCOPE_DIRECT_SUPER,\n SCOPE_FUNCTION,\n SCOPE_SUPER,\n} from \"../util/scopeflags\";\nimport { ExpressionErrors } from \"./util\";\nimport {\n PARAM_AWAIT,\n PARAM_IN,\n PARAM_RETURN,\n functionFlags,\n} from \"../util/production-parameter\";\nimport {\n newArrowHeadScope,\n newAsyncArrowScope,\n newExpressionScope,\n} from \"../util/expression-scope\";\nimport { Errors, type ParseError } from \"../parse-error\";\nimport { UnparenthesizedPipeBodyDescriptions } from \"../parse-error/pipeline-operator-errors\";\nimport { setInnerComments } from \"./comments\";\nimport { cloneIdentifier } from \"./node\";\n\n/*::\nimport type { SourceType } from \"../options\";\ndeclare var invariant;\n*/\n\nexport default class ExpressionParser extends LValParser {\n // Forward-declaration: defined in statement.js\n /*::\n +parseBlock: (\n allowDirectives?: boolean,\n createNewLexicalScope?: boolean,\n afterBlockParse?: (hasStrictModeDirective: boolean) => void,\n ) => N.BlockStatement;\n +parseClass: (\n node: N.Class,\n isStatement: boolean,\n optionalId?: boolean,\n ) => N.Class;\n +parseDecorators: (allowExport?: boolean) => void;\n +parseFunction: <T: N.NormalFunction>(\n node: T,\n statement?: number,\n allowExpressionBody?: boolean,\n isAsync?: boolean,\n ) => T;\n +parseFunctionParams: (node: N.Function, allowModifiers?: boolean) => void;\n +takeDecorators: (node: N.HasDecorators) => void;\n +parseBlockOrModuleBlockBody: (\n body: N.Statement[],\n directives: ?(N.Directive[]),\n topLevel: boolean,\n end: TokenType,\n afterBlockParse?: (hasStrictModeDirective: boolean) => void\n ) => void\n +parseProgram: (\n program: N.Program, end: TokenType, sourceType?: SourceType\n ) => N.Program\n */\n\n // For object literal, check if property __proto__ has been used more than once.\n // If the expression is a destructuring assignment, then __proto__ may appear\n // multiple times. Otherwise, __proto__ is a duplicated key.\n\n // For record expression, check if property __proto__ exists\n\n checkProto(\n prop: N.ObjectMember | N.SpreadElement,\n isRecord: ?boolean,\n protoRef: { used: boolean },\n refExpressionErrors: ?ExpressionErrors,\n ): void {\n if (\n prop.type === \"SpreadElement\" ||\n this.isObjectMethod(prop) ||\n prop.computed ||\n // $FlowIgnore\n prop.shorthand\n ) {\n return;\n }\n\n const key = prop.key;\n // It is either an Identifier or a String/NumericLiteral\n const name = key.type === \"Identifier\" ? key.name : key.value;\n\n if (name === \"__proto__\") {\n if (isRecord) {\n this.raise(Errors.RecordNoProto, { at: key });\n return;\n }\n if (protoRef.used) {\n if (refExpressionErrors) {\n // Store the first redefinition's position, otherwise ignore because\n // we are parsing ambiguous pattern\n if (refExpressionErrors.doubleProtoLoc === null) {\n refExpressionErrors.doubleProtoLoc = key.loc.start;\n }\n } else {\n this.raise(Errors.DuplicateProto, { at: key });\n }\n }\n\n protoRef.used = true;\n }\n }\n\n shouldExitDescending(expr: N.Expression, potentialArrowAt: number): boolean {\n return (\n expr.type === \"ArrowFunctionExpression\" && expr.start === potentialArrowAt\n );\n }\n\n // Convenience method to parse an Expression only\n getExpression(): N.Expression & N.ParserOutput {\n this.enterInitialScopes();\n this.nextToken();\n const expr = this.parseExpression();\n if (!this.match(tt.eof)) {\n this.unexpected();\n }\n // Unlike parseTopLevel, we need to drain remaining commentStacks\n // because the top level node is _not_ Program.\n this.finalizeRemainingComments();\n expr.comments = this.state.comments;\n expr.errors = this.state.errors;\n if (this.options.tokens) {\n expr.tokens = this.tokens;\n }\n return expr;\n }\n\n // ### Expression parsing\n\n // These nest, from the most general expression type at the top to\n // 'atomic', nondivisible expression types at the bottom. Most of\n // the functions will simply let the function (s) below them parse,\n // and, *if* the syntactic construct they handle is present, wrap\n // the AST node that the inner parser gave them in another node.\n\n // Parse a full expression.\n // - `disallowIn`\n // is used to forbid the `in` operator (in for loops initialization expressions)\n // When `disallowIn` is true, the production parameter [In] is not present.\n\n // - `refExpressionErrors `\n // provides reference for storing '=' operator inside shorthand\n // property assignment in contexts where both object expression\n // and object pattern might appear (so it's possible to raise\n // delayed syntax error at correct position).\n\n parseExpression(\n disallowIn?: boolean,\n refExpressionErrors?: ExpressionErrors,\n ): N.Expression {\n if (disallowIn) {\n return this.disallowInAnd(() =>\n this.parseExpressionBase(refExpressionErrors),\n );\n }\n return this.allowInAnd(() => this.parseExpressionBase(refExpressionErrors));\n }\n\n // https://tc39.es/ecma262/#prod-Expression\n parseExpressionBase(refExpressionErrors?: ExpressionErrors): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const expr = this.parseMaybeAssign(refExpressionErrors);\n if (this.match(tt.comma)) {\n const node = this.startNodeAt(startPos, startLoc);\n node.expressions = [expr];\n while (this.eat(tt.comma)) {\n node.expressions.push(this.parseMaybeAssign(refExpressionErrors));\n }\n this.toReferencedList(node.expressions);\n return this.finishNode(node, \"SequenceExpression\");\n }\n return expr;\n }\n\n // Set [~In] parameter for assignment expression\n parseMaybeAssignDisallowIn(\n refExpressionErrors?: ?ExpressionErrors,\n afterLeftParse?: Function,\n ) {\n return this.disallowInAnd(() =>\n this.parseMaybeAssign(refExpressionErrors, afterLeftParse),\n );\n }\n\n // Set [+In] parameter for assignment expression\n parseMaybeAssignAllowIn(\n refExpressionErrors?: ?ExpressionErrors,\n afterLeftParse?: Function,\n ) {\n return this.allowInAnd(() =>\n this.parseMaybeAssign(refExpressionErrors, afterLeftParse),\n );\n }\n\n // This method is only used by\n // the typescript and flow plugins.\n setOptionalParametersError(\n refExpressionErrors: ExpressionErrors,\n resultError?: ParseError<any>,\n ) {\n refExpressionErrors.optionalParametersLoc =\n resultError?.loc ?? this.state.startLoc;\n }\n\n // Parse an assignment expression. This includes applications of\n // operators like `+=`.\n // https://tc39.es/ecma262/#prod-AssignmentExpression\n parseMaybeAssign(\n refExpressionErrors?: ?ExpressionErrors,\n afterLeftParse?: Function,\n ): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n if (this.isContextual(tt._yield)) {\n if (this.prodParam.hasYield) {\n let left = this.parseYield();\n if (afterLeftParse) {\n left = afterLeftParse.call(this, left, startPos, startLoc);\n }\n return left;\n }\n }\n\n let ownExpressionErrors;\n if (refExpressionErrors) {\n ownExpressionErrors = false;\n } else {\n refExpressionErrors = new ExpressionErrors();\n ownExpressionErrors = true;\n }\n const { type } = this.state;\n\n if (type === tt.parenL || tokenIsIdentifier(type)) {\n this.state.potentialArrowAt = this.state.start;\n }\n\n let left = this.parseMaybeConditional(refExpressionErrors);\n if (afterLeftParse) {\n left = afterLeftParse.call(this, left, startPos, startLoc);\n }\n if (tokenIsAssignment(this.state.type)) {\n const node = this.startNodeAt(startPos, startLoc);\n const operator = this.state.value;\n node.operator = operator;\n\n if (this.match(tt.eq)) {\n this.toAssignable(left, /* isLHS */ true);\n node.left = left;\n\n if (\n refExpressionErrors.doubleProtoLoc != null &&\n refExpressionErrors.doubleProtoLoc.index >= startPos\n ) {\n refExpressionErrors.doubleProtoLoc = null; // reset because double __proto__ is valid in assignment expression\n }\n if (\n refExpressionErrors.shorthandAssignLoc != null &&\n refExpressionErrors.shorthandAssignLoc.index >= startPos\n ) {\n refExpressionErrors.shorthandAssignLoc = null; // reset because shorthand default was used correctly\n }\n if (\n refExpressionErrors.privateKeyLoc != null &&\n refExpressionErrors.privateKeyLoc.index >= startPos\n ) {\n this.checkDestructuringPrivate(refExpressionErrors);\n refExpressionErrors.privateKeyLoc = null; // reset because `({ #x: x })` is an assignable pattern\n }\n } else {\n node.left = left;\n }\n\n this.next();\n node.right = this.parseMaybeAssign();\n this.checkLVal(left, {\n in: this.finishNode(node, \"AssignmentExpression\"),\n });\n return node;\n } else if (ownExpressionErrors) {\n this.checkExpressionErrors(refExpressionErrors, true);\n }\n\n return left;\n }\n\n // Parse a ternary conditional (`?:`) operator.\n // https://tc39.es/ecma262/#prod-ConditionalExpression\n\n parseMaybeConditional(refExpressionErrors: ExpressionErrors): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const potentialArrowAt = this.state.potentialArrowAt;\n const expr = this.parseExprOps(refExpressionErrors);\n\n if (this.shouldExitDescending(expr, potentialArrowAt)) {\n return expr;\n }\n\n return this.parseConditional(expr, startPos, startLoc, refExpressionErrors);\n }\n\n parseConditional(\n expr: N.Expression,\n startPos: number,\n startLoc: Position,\n // eslint-disable-next-line no-unused-vars\n refExpressionErrors?: ?ExpressionErrors,\n ): N.Expression {\n if (this.eat(tt.question)) {\n const node = this.startNodeAt(startPos, startLoc);\n node.test = expr;\n node.consequent = this.parseMaybeAssignAllowIn();\n this.expect(tt.colon);\n node.alternate = this.parseMaybeAssign();\n return this.finishNode(node, \"ConditionalExpression\");\n }\n return expr;\n }\n\n parseMaybeUnaryOrPrivate(\n refExpressionErrors?: ExpressionErrors,\n ): N.Expression | N.PrivateName {\n return this.match(tt.privateName)\n ? this.parsePrivateName()\n : this.parseMaybeUnary(refExpressionErrors);\n }\n\n // Start the precedence parser.\n // https://tc39.es/ecma262/#prod-ShortCircuitExpression\n\n parseExprOps(refExpressionErrors: ExpressionErrors): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const potentialArrowAt = this.state.potentialArrowAt;\n const expr = this.parseMaybeUnaryOrPrivate(refExpressionErrors);\n\n if (this.shouldExitDescending(expr, potentialArrowAt)) {\n return expr;\n }\n\n return this.parseExprOp(expr, startPos, startLoc, -1);\n }\n\n // Parse binary operators with the operator precedence parsing\n // algorithm. `left` is the left-hand side of the operator.\n // `minPrec` provides context that allows the function to stop and\n // defer further parser to one of its callers when it encounters an\n // operator that has a lower precedence than the set it is parsing.\n\n parseExprOp(\n left: N.Expression | N.PrivateName,\n leftStartPos: number,\n leftStartLoc: Position,\n minPrec: number,\n ): N.Expression {\n if (this.isPrivateName(left)) {\n // https://tc39.es/ecma262/#prod-RelationalExpression\n // RelationalExpression [In, Yield, Await]\n // [+In] PrivateIdentifier in ShiftExpression[?Yield, ?Await]\n\n const value = this.getPrivateNameSV(left);\n\n if (\n minPrec >= tokenOperatorPrecedence(tt._in) ||\n !this.prodParam.hasIn ||\n !this.match(tt._in)\n ) {\n this.raise(Errors.PrivateInExpectedIn, {\n at: left,\n identifierName: value,\n });\n }\n\n this.classScope.usePrivateName(value, left.loc.start);\n }\n\n const op = this.state.type;\n if (tokenIsOperator(op) && (this.prodParam.hasIn || !this.match(tt._in))) {\n let prec = tokenOperatorPrecedence(op);\n if (prec > minPrec) {\n if (op === tt.pipeline) {\n this.expectPlugin(\"pipelineOperator\");\n if (this.state.inFSharpPipelineDirectBody) {\n return left;\n }\n this.checkPipelineAtInfixOperator(left, leftStartLoc);\n }\n const node = this.startNodeAt(leftStartPos, leftStartLoc);\n node.left = left;\n node.operator = this.state.value;\n\n const logical = op === tt.logicalOR || op === tt.logicalAND;\n const coalesce = op === tt.nullishCoalescing;\n\n if (coalesce) {\n // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions.\n // In other words, `node.right` shouldn't contain logical expressions in order to check the mixed error.\n prec = tokenOperatorPrecedence(tt.logicalAND);\n }\n\n this.next();\n\n if (\n op === tt.pipeline &&\n this.hasPlugin([\"pipelineOperator\", { proposal: \"minimal\" }])\n ) {\n if (this.state.type === tt._await && this.prodParam.hasAwait) {\n throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody, {\n at: this.state.startLoc,\n });\n }\n }\n\n node.right = this.parseExprOpRightExpr(op, prec);\n this.finishNode(\n node,\n logical || coalesce ? \"LogicalExpression\" : \"BinaryExpression\",\n );\n /* this check is for all ?? operators\n * a ?? b && c for this example\n * when op is coalesce and nextOp is logical (&&), throw at the pos of nextOp that it can not be mixed.\n * Symmetrically it also throws when op is logical and nextOp is coalesce\n */\n const nextOp = this.state.type;\n if (\n (coalesce && (nextOp === tt.logicalOR || nextOp === tt.logicalAND)) ||\n (logical && nextOp === tt.nullishCoalescing)\n ) {\n throw this.raise(Errors.MixingCoalesceWithLogical, {\n at: this.state.startLoc,\n });\n }\n\n return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec);\n }\n }\n return left;\n }\n\n // Helper function for `parseExprOp`. Parse the right-hand side of binary-\n // operator expressions, then apply any operator-specific functions.\n\n parseExprOpRightExpr(op: TokenType, prec: number): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n switch (op) {\n case tt.pipeline:\n switch (this.getPluginOption(\"pipelineOperator\", \"proposal\")) {\n case \"hack\":\n return this.withTopicBindingContext(() => {\n return this.parseHackPipeBody();\n });\n\n case \"smart\":\n return this.withTopicBindingContext(() => {\n if (this.prodParam.hasYield && this.isContextual(tt._yield)) {\n throw this.raise(Errors.PipeBodyIsTighter, {\n at: this.state.startLoc,\n });\n }\n return this.parseSmartPipelineBodyInStyle(\n this.parseExprOpBaseRightExpr(op, prec),\n startPos,\n startLoc,\n );\n });\n\n case \"fsharp\":\n return this.withSoloAwaitPermittingContext(() => {\n return this.parseFSharpPipelineBody(prec);\n });\n }\n\n // Falls through.\n default:\n return this.parseExprOpBaseRightExpr(op, prec);\n }\n }\n\n // Helper function for `parseExprOpRightExpr`. Parse the right-hand side of\n // binary-operator expressions without applying any operator-specific functions.\n\n parseExprOpBaseRightExpr(op: TokenType, prec: number): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n\n return this.parseExprOp(\n this.parseMaybeUnaryOrPrivate(),\n startPos,\n startLoc,\n tokenIsRightAssociative(op) ? prec - 1 : prec,\n );\n }\n\n parseHackPipeBody(): N.Expression {\n const { startLoc } = this.state;\n const body = this.parseMaybeAssign();\n const requiredParentheses = UnparenthesizedPipeBodyDescriptions.has(\n body.type,\n );\n\n // TODO: Check how to handle type casts in Flow and TS once they are supported\n if (requiredParentheses && !body.extra?.parenthesized) {\n this.raise(Errors.PipeUnparenthesizedBody, {\n at: startLoc,\n type: body.type,\n });\n }\n if (!this.topicReferenceWasUsedInCurrentContext()) {\n // A Hack pipe body must use the topic reference at least once.\n this.raise(Errors.PipeTopicUnused, { at: startLoc });\n }\n\n return body;\n }\n\n checkExponentialAfterUnary(node: N.AwaitExpression | N.UnaryExpression) {\n if (this.match(tt.exponent)) {\n this.raise(Errors.UnexpectedTokenUnaryExponentiation, {\n at: node.argument,\n });\n }\n }\n\n // Parse unary operators, both prefix and postfix.\n // https://tc39.es/ecma262/#prod-UnaryExpression\n parseMaybeUnary(\n refExpressionErrors: ?ExpressionErrors,\n sawUnary?: boolean,\n ): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const isAwait = this.isContextual(tt._await);\n\n if (isAwait && this.isAwaitAllowed()) {\n this.next();\n const expr = this.parseAwait(startPos, startLoc);\n if (!sawUnary) this.checkExponentialAfterUnary(expr);\n return expr;\n }\n const update = this.match(tt.incDec);\n const node = this.startNode();\n if (tokenIsPrefix(this.state.type)) {\n node.operator = this.state.value;\n node.prefix = true;\n\n if (this.match(tt._throw)) {\n this.expectPlugin(\"throwExpressions\");\n }\n const isDelete = this.match(tt._delete);\n this.next();\n\n node.argument = this.parseMaybeUnary(null, true);\n\n this.checkExpressionErrors(refExpressionErrors, true);\n\n if (this.state.strict && isDelete) {\n const arg = node.argument;\n\n if (arg.type === \"Identifier\") {\n this.raise(Errors.StrictDelete, { at: node });\n } else if (this.hasPropertyAsPrivateName(arg)) {\n this.raise(Errors.DeletePrivateField, { at: node });\n }\n }\n\n if (!update) {\n if (!sawUnary) this.checkExponentialAfterUnary(node);\n return this.finishNode(node, \"UnaryExpression\");\n }\n }\n\n const expr = this.parseUpdate(node, update, refExpressionErrors);\n\n if (isAwait) {\n const { type } = this.state;\n const startsExpr = this.hasPlugin(\"v8intrinsic\")\n ? tokenCanStartExpression(type)\n : tokenCanStartExpression(type) && !this.match(tt.modulo);\n if (startsExpr && !this.isAmbiguousAwait()) {\n this.raiseOverwrite(Errors.AwaitNotInAsyncContext, { at: startLoc });\n return this.parseAwait(startPos, startLoc);\n }\n }\n\n return expr;\n }\n\n // https://tc39.es/ecma262/#prod-UpdateExpression\n parseUpdate(\n node: N.Expression,\n update: boolean,\n refExpressionErrors: ?ExpressionErrors,\n ): N.Expression {\n if (update) {\n this.checkLVal(node.argument, {\n in: this.finishNode(node, \"UpdateExpression\"),\n });\n return node;\n }\n\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let expr = this.parseExprSubscripts(refExpressionErrors);\n if (this.checkExpressionErrors(refExpressionErrors, false)) return expr;\n while (tokenIsPostfix(this.state.type) && !this.canInsertSemicolon()) {\n const node = this.startNodeAt(startPos, startLoc);\n node.operator = this.state.value;\n node.prefix = false;\n node.argument = expr;\n this.next();\n this.checkLVal(expr, {\n in: (expr = this.finishNode(node, \"UpdateExpression\")),\n });\n }\n return expr;\n }\n\n // Parse call, dot, and `[]`-subscript expressions.\n // https://tc39.es/ecma262/#prod-LeftHandSideExpression\n parseExprSubscripts(refExpressionErrors: ?ExpressionErrors): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n const potentialArrowAt = this.state.potentialArrowAt;\n const expr = this.parseExprAtom(refExpressionErrors);\n\n if (this.shouldExitDescending(expr, potentialArrowAt)) {\n return expr;\n }\n\n return this.parseSubscripts(expr, startPos, startLoc);\n }\n\n parseSubscripts(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n noCalls?: ?boolean,\n ): N.Expression {\n const state = {\n optionalChainMember: false,\n maybeAsyncArrow: this.atPossibleAsyncArrow(base),\n stop: false,\n };\n do {\n base = this.parseSubscript(base, startPos, startLoc, noCalls, state);\n\n // After parsing a subscript, this isn't \"async\" for sure.\n state.maybeAsyncArrow = false;\n } while (!state.stop);\n return base;\n }\n\n /**\n * @param state Set 'state.stop = true' to indicate that we should stop parsing subscripts.\n * state.optionalChainMember to indicate that the member is currently in OptionalChain\n */\n parseSubscript(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n noCalls: ?boolean,\n state: N.ParseSubscriptState,\n ): N.Expression {\n const { type } = this.state;\n if (!noCalls && type === tt.doubleColon) {\n return this.parseBind(base, startPos, startLoc, noCalls, state);\n } else if (tokenIsTemplate(type)) {\n return this.parseTaggedTemplateExpression(\n base,\n startPos,\n startLoc,\n state,\n );\n }\n\n let optional = false;\n\n if (type === tt.questionDot) {\n if (noCalls && this.lookaheadCharCode() === charCodes.leftParenthesis) {\n // stop at `?.` when parsing `new a?.()`\n state.stop = true;\n return base;\n }\n state.optionalChainMember = optional = true;\n this.next();\n }\n\n if (!noCalls && this.match(tt.parenL)) {\n return this.parseCoverCallAndAsyncArrowHead(\n base,\n startPos,\n startLoc,\n state,\n optional,\n );\n } else {\n const computed = this.eat(tt.bracketL);\n if (computed || optional || this.eat(tt.dot)) {\n return this.parseMember(\n base,\n startPos,\n startLoc,\n state,\n computed,\n optional,\n );\n } else {\n state.stop = true;\n return base;\n }\n }\n }\n\n // base[?Yield, ?Await] [ Expression[+In, ?Yield, ?Await] ]\n // base[?Yield, ?Await] . IdentifierName\n // base[?Yield, ?Await] . PrivateIdentifier\n // where `base` is one of CallExpression, MemberExpression and OptionalChain\n parseMember(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n state: N.ParseSubscriptState,\n computed: boolean,\n optional: boolean,\n ): N.OptionalMemberExpression | N.MemberExpression {\n const node = this.startNodeAt(startPos, startLoc);\n node.object = base;\n node.computed = computed;\n if (computed) {\n node.property = this.parseExpression();\n this.expect(tt.bracketR);\n } else if (this.match(tt.privateName)) {\n if (base.type === \"Super\") {\n this.raise(Errors.SuperPrivateField, { at: startLoc });\n }\n this.classScope.usePrivateName(this.state.value, this.state.startLoc);\n node.property = this.parsePrivateName();\n } else {\n node.property = this.parseIdentifier(true);\n }\n\n if (state.optionalChainMember) {\n node.optional = optional;\n return this.finishNode(node, \"OptionalMemberExpression\");\n } else {\n return this.finishNode(node, \"MemberExpression\");\n }\n }\n\n // https://github.com/tc39/proposal-bind-operator#syntax\n parseBind(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n noCalls: ?boolean,\n state: N.ParseSubscriptState,\n ): N.Expression {\n const node = this.startNodeAt(startPos, startLoc);\n node.object = base;\n this.next(); // eat '::'\n node.callee = this.parseNoCallExpr();\n state.stop = true;\n return this.parseSubscripts(\n this.finishNode(node, \"BindExpression\"),\n startPos,\n startLoc,\n noCalls,\n );\n }\n\n // https://tc39.es/ecma262/#prod-CoverCallExpressionAndAsyncArrowHead\n // CoverCallExpressionAndAsyncArrowHead\n // CallExpression[?Yield, ?Await] Arguments[?Yield, ?Await]\n // OptionalChain[?Yield, ?Await] Arguments[?Yield, ?Await]\n parseCoverCallAndAsyncArrowHead(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n state: N.ParseSubscriptState,\n optional: boolean,\n ): N.Expression {\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n let refExpressionErrors = null;\n\n this.state.maybeInArrowParameters = true;\n this.next(); // eat `(`\n\n let node = this.startNodeAt(startPos, startLoc);\n node.callee = base;\n const { maybeAsyncArrow, optionalChainMember } = state;\n\n if (maybeAsyncArrow) {\n this.expressionScope.enter(newAsyncArrowScope());\n refExpressionErrors = new ExpressionErrors();\n }\n\n if (optionalChainMember) {\n node.optional = optional;\n }\n\n if (optional) {\n node.arguments = this.parseCallExpressionArguments(tt.parenR);\n } else {\n node.arguments = this.parseCallExpressionArguments(\n tt.parenR,\n base.type === \"Import\",\n base.type !== \"Super\",\n node,\n refExpressionErrors,\n );\n }\n this.finishCallExpression(node, optionalChainMember);\n\n if (maybeAsyncArrow && this.shouldParseAsyncArrow() && !optional) {\n /*:: invariant(refExpressionErrors != null) */\n state.stop = true;\n this.checkDestructuringPrivate(refExpressionErrors);\n this.expressionScope.validateAsPattern();\n this.expressionScope.exit();\n node = this.parseAsyncArrowFromCallExpression(\n this.startNodeAt(startPos, startLoc),\n node,\n );\n } else {\n if (maybeAsyncArrow) {\n this.checkExpressionErrors(refExpressionErrors, true);\n this.expressionScope.exit();\n }\n this.toReferencedArguments(node);\n }\n\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n\n return node;\n }\n\n toReferencedArguments(\n node: N.CallExpression | N.OptionalCallExpression,\n isParenthesizedExpr?: boolean,\n ) {\n this.toReferencedListDeep(node.arguments, isParenthesizedExpr);\n }\n\n // MemberExpression [?Yield, ?Await] TemplateLiteral[?Yield, ?Await, +Tagged]\n // CallExpression [?Yield, ?Await] TemplateLiteral[?Yield, ?Await, +Tagged]\n parseTaggedTemplateExpression(\n base: N.Expression,\n startPos: number,\n startLoc: Position,\n state: N.ParseSubscriptState,\n ): N.TaggedTemplateExpression {\n const node: N.TaggedTemplateExpression = this.startNodeAt(\n startPos,\n startLoc,\n );\n node.tag = base;\n node.quasi = this.parseTemplate(true);\n if (state.optionalChainMember) {\n this.raise(Errors.OptionalChainingNoTemplate, { at: startLoc });\n }\n return this.finishNode(node, \"TaggedTemplateExpression\");\n }\n\n atPossibleAsyncArrow(base: N.Expression): boolean {\n return (\n base.type === \"Identifier\" &&\n base.name === \"async\" &&\n this.state.lastTokEndLoc.index === base.end &&\n !this.canInsertSemicolon() &&\n // check there are no escape sequences, such as \\u{61}sync\n base.end - base.start === 5 &&\n base.start === this.state.potentialArrowAt\n );\n }\n\n finishCallExpression<T: N.CallExpression | N.OptionalCallExpression>(\n node: T,\n optional: boolean,\n ): N.Expression {\n if (node.callee.type === \"Import\") {\n if (node.arguments.length === 2) {\n if (process.env.BABEL_8_BREAKING) {\n this.expectPlugin(\"importAssertions\");\n } else {\n if (!this.hasPlugin(\"moduleAttributes\")) {\n this.expectPlugin(\"importAssertions\");\n }\n }\n }\n if (node.arguments.length === 0 || node.arguments.length > 2) {\n this.raise(Errors.ImportCallArity, {\n at: node,\n maxArgumentCount:\n this.hasPlugin(\"importAssertions\") ||\n this.hasPlugin(\"moduleAttributes\")\n ? 2\n : 1,\n });\n } else {\n for (const arg of node.arguments) {\n if (arg.type === \"SpreadElement\") {\n this.raise(Errors.ImportCallSpreadArgument, { at: arg });\n }\n }\n }\n }\n return this.finishNode(\n node,\n optional ? \"OptionalCallExpression\" : \"CallExpression\",\n );\n }\n\n parseCallExpressionArguments(\n close: TokenType,\n dynamicImport?: boolean,\n allowPlaceholder?: boolean,\n nodeForExtra?: ?N.Node,\n refExpressionErrors?: ?ExpressionErrors,\n ): $ReadOnlyArray<?N.Expression> {\n const elts = [];\n let first = true;\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = false;\n\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(tt.comma);\n if (this.match(close)) {\n if (\n dynamicImport &&\n !this.hasPlugin(\"importAssertions\") &&\n !this.hasPlugin(\"moduleAttributes\")\n ) {\n this.raise(Errors.ImportCallArgumentTrailingComma, {\n at: this.state.lastTokStartLoc,\n });\n }\n if (nodeForExtra) {\n this.addTrailingCommaExtraToNode(nodeForExtra);\n }\n this.next();\n break;\n }\n }\n\n elts.push(\n this.parseExprListItem(false, refExpressionErrors, allowPlaceholder),\n );\n }\n\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n\n return elts;\n }\n\n shouldParseAsyncArrow(): boolean {\n return this.match(tt.arrow) && !this.canInsertSemicolon();\n }\n\n parseAsyncArrowFromCallExpression(\n node: N.ArrowFunctionExpression,\n call: N.CallExpression,\n ): N.ArrowFunctionExpression {\n this.resetPreviousNodeTrailingComments(call);\n this.expect(tt.arrow);\n this.parseArrowExpression(\n node,\n call.arguments,\n true,\n call.extra?.trailingCommaLoc,\n );\n // mark inner comments of `async()` as inner comments of `async () =>`\n if (call.innerComments) {\n setInnerComments(node, call.innerComments);\n }\n // mark trailing comments of `async` to be inner comments\n if (call.callee.trailingComments) {\n setInnerComments(node, call.callee.trailingComments);\n }\n return node;\n }\n\n // Parse a no-call expression (like argument of `new` or `::` operators).\n // https://tc39.es/ecma262/#prod-MemberExpression\n parseNoCallExpr(): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n return this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);\n }\n\n // Parse an atomic expression — either a single token that is an\n // expression, an expression started by a keyword like `function` or\n // `new`, or an expression wrapped in punctuation like `()`, `[]`,\n // or `{}`.\n\n // https://tc39.es/ecma262/#prod-PrimaryExpression\n // https://tc39.es/ecma262/#prod-AsyncArrowFunction\n // PrimaryExpression\n // Super\n // Import\n // AsyncArrowFunction\n\n parseExprAtom(refExpressionErrors?: ?ExpressionErrors): N.Expression {\n let node;\n\n const { type } = this.state;\n switch (type) {\n case tt._super:\n return this.parseSuper();\n\n case tt._import:\n node = this.startNode();\n this.next();\n\n if (this.match(tt.dot)) {\n return this.parseImportMetaProperty(node);\n }\n\n if (!this.match(tt.parenL)) {\n this.raise(Errors.UnsupportedImport, {\n at: this.state.lastTokStartLoc,\n });\n }\n return this.finishNode(node, \"Import\");\n case tt._this:\n node = this.startNode();\n this.next();\n return this.finishNode(node, \"ThisExpression\");\n\n case tt._do: {\n return this.parseDo(this.startNode(), false);\n }\n\n case tt.slash:\n case tt.slashAssign: {\n this.readRegexp();\n return this.parseRegExpLiteral(this.state.value);\n }\n\n case tt.num:\n return this.parseNumericLiteral(this.state.value);\n\n case tt.bigint:\n return this.parseBigIntLiteral(this.state.value);\n\n case tt.decimal:\n return this.parseDecimalLiteral(this.state.value);\n\n case tt.string:\n return this.parseStringLiteral(this.state.value);\n\n case tt._null:\n return this.parseNullLiteral();\n\n case tt._true:\n return this.parseBooleanLiteral(true);\n case tt._false:\n return this.parseBooleanLiteral(false);\n\n case tt.parenL: {\n const canBeArrow = this.state.potentialArrowAt === this.state.start;\n return this.parseParenAndDistinguishExpression(canBeArrow);\n }\n\n case tt.bracketBarL:\n case tt.bracketHashL: {\n return this.parseArrayLike(\n this.state.type === tt.bracketBarL ? tt.bracketBarR : tt.bracketR,\n /* canBePattern */ false,\n /* isTuple */ true,\n );\n }\n case tt.bracketL: {\n return this.parseArrayLike(\n tt.bracketR,\n /* canBePattern */ true,\n /* isTuple */ false,\n refExpressionErrors,\n );\n }\n case tt.braceBarL:\n case tt.braceHashL: {\n return this.parseObjectLike(\n this.state.type === tt.braceBarL ? tt.braceBarR : tt.braceR,\n /* isPattern */ false,\n /* isRecord */ true,\n );\n }\n case tt.braceL: {\n return this.parseObjectLike(\n tt.braceR,\n /* isPattern */ false,\n /* isRecord */ false,\n refExpressionErrors,\n );\n }\n case tt._function:\n return this.parseFunctionOrFunctionSent();\n\n case tt.at:\n this.parseDecorators();\n // fall through\n case tt._class:\n node = this.startNode();\n this.takeDecorators(node);\n return this.parseClass(node, false);\n\n case tt._new:\n return this.parseNewOrNewTarget();\n\n case tt.templateNonTail:\n case tt.templateTail:\n return this.parseTemplate(false);\n\n // BindExpression[Yield]\n // :: MemberExpression[?Yield]\n case tt.doubleColon: {\n node = this.startNode();\n this.next();\n node.object = null;\n const callee = (node.callee = this.parseNoCallExpr());\n if (callee.type === \"MemberExpression\") {\n return this.finishNode(node, \"BindExpression\");\n } else {\n throw this.raise(Errors.UnsupportedBind, { at: callee });\n }\n }\n\n case tt.privateName: {\n // Standalone private names are only allowed in \"#x in obj\"\n // expressions, and they are directly handled by callers of\n // parseExprOp. If we reach this, the input is always invalid.\n // We can throw a better error message and recover, rather than\n // just throwing \"Unexpected token\" (which is the default\n // behavior of this big switch statement).\n this.raise(Errors.PrivateInExpectedIn, {\n at: this.state.startLoc,\n identifierName: this.state.value,\n });\n return this.parsePrivateName();\n }\n\n case tt.moduloAssign: {\n return this.parseTopicReferenceThenEqualsSign(tt.modulo, \"%\");\n }\n\n case tt.xorAssign: {\n return this.parseTopicReferenceThenEqualsSign(tt.bitwiseXOR, \"^\");\n }\n\n case tt.doubleCaret:\n case tt.doubleAt: {\n return this.parseTopicReference(\"hack\");\n }\n\n case tt.bitwiseXOR:\n case tt.modulo:\n case tt.hash: {\n const pipeProposal = this.getPluginOption(\n \"pipelineOperator\",\n \"proposal\",\n );\n\n if (pipeProposal) {\n return this.parseTopicReference(pipeProposal);\n } else {\n throw this.unexpected();\n }\n }\n\n case tt.lt: {\n const lookaheadCh = this.input.codePointAt(this.nextTokenStart());\n if (\n isIdentifierStart(lookaheadCh) || // Element/Type Parameter <foo>\n lookaheadCh === charCodes.greaterThan // Fragment <>\n ) {\n this.expectOnePlugin([\"jsx\", \"flow\", \"typescript\"]);\n break;\n } else {\n throw this.unexpected();\n }\n }\n\n default:\n if (tokenIsIdentifier(type)) {\n if (\n this.isContextual(tt._module) &&\n this.lookaheadCharCode() === charCodes.leftCurlyBrace &&\n !this.hasFollowingLineBreak()\n ) {\n return this.parseModuleExpression();\n }\n const canBeArrow = this.state.potentialArrowAt === this.state.start;\n const containsEsc = this.state.containsEsc;\n const id = this.parseIdentifier();\n\n if (\n !containsEsc &&\n id.name === \"async\" &&\n !this.canInsertSemicolon()\n ) {\n const { type } = this.state;\n if (type === tt._function) {\n this.resetPreviousNodeTrailingComments(id);\n this.next();\n return this.parseFunction(\n this.startNodeAtNode(id),\n undefined,\n true,\n );\n } else if (tokenIsIdentifier(type)) {\n // If the next token begins with \"=\", commit to parsing an async\n // arrow function. (Peeking ahead for \"=\" lets us avoid a more\n // expensive full-token lookahead on this common path.)\n if (this.lookaheadCharCode() === charCodes.equalsTo) {\n // although `id` is not used in async arrow unary function,\n // we don't need to reset `async`'s trailing comments because\n // it will be attached to the upcoming async arrow binding identifier\n return this.parseAsyncArrowUnaryFunction(\n this.startNodeAtNode(id),\n );\n } else {\n // Otherwise, treat \"async\" as an identifier and let calling code\n // deal with the current tt.name token.\n return id;\n }\n } else if (type === tt._do) {\n this.resetPreviousNodeTrailingComments(id);\n return this.parseDo(this.startNodeAtNode(id), true);\n }\n }\n\n if (\n canBeArrow &&\n this.match(tt.arrow) &&\n !this.canInsertSemicolon()\n ) {\n this.next();\n return this.parseArrowExpression(\n this.startNodeAtNode(id),\n [id],\n false,\n );\n }\n\n return id;\n } else {\n throw this.unexpected();\n }\n }\n }\n\n // This helper method should only be called\n // when the parser has reached a potential Hack pipe topic token\n // that is followed by an equals sign.\n // See <https://github.com/js-choi/proposal-hack-pipes>.\n // If we find ^= or %= in an expression position\n // (i.e., the tt.moduloAssign or tt.xorAssign token types), and if the\n // Hack-pipes proposal is active with ^ or % as its topicToken, then the ^ or\n // % could be the topic token (e.g., in x |> ^==y or x |> ^===y), and so we\n // reparse the current token as ^ or %.\n // Otherwise, this throws an unexpected-token error.\n parseTopicReferenceThenEqualsSign(\n topicTokenType: TokenType,\n topicTokenValue: string,\n ): N.Expression {\n const pipeProposal = this.getPluginOption(\"pipelineOperator\", \"proposal\");\n\n if (pipeProposal) {\n // Set the most-recent token to be a topic token\n // given by the tokenType and tokenValue.\n // Now the next readToken() call (in parseTopicReference)\n // will consume that “topic token”.\n this.state.type = topicTokenType;\n this.state.value = topicTokenValue;\n // Rewind the tokenizer to the end of the “topic token”, so that the\n // following token starts at the equals sign after that topic token.\n this.state.pos--;\n this.state.end--;\n // This is safe to do since the preceding character was either ^ or %, and\n // thus not a newline.\n this.state.endLoc = createPositionWithColumnOffset(this.state.endLoc, -1);\n // Now actually consume the topic token.\n return this.parseTopicReference(pipeProposal);\n } else {\n throw this.unexpected();\n }\n }\n\n // This helper method should only be called\n // when the proposal-pipeline-operator plugin is active,\n // and when the parser has reached a potential Hack pipe topic token.\n // Although a pipe-operator proposal is assumed to be active,\n // its configuration might not match the current token’s type.\n // See <https://github.com/js-choi/proposal-hack-pipes>.\n parseTopicReference(pipeProposal: string): N.Expression {\n const node = this.startNode();\n const startLoc = this.state.startLoc;\n const tokenType = this.state.type;\n\n // Consume the current token.\n this.next();\n\n // If the pipe-operator plugin’s configuration matches the current token’s type,\n // then this will return `node`, will have been finished as a topic reference.\n // Otherwise, this will throw a `PipeTopicUnconfiguredToken` error.\n return this.finishTopicReference(node, startLoc, pipeProposal, tokenType);\n }\n\n // This helper method attempts to finish the given `node`\n // into a topic-reference node for the given `pipeProposal`.\n // See <https://github.com/js-choi/proposal-hack-pipes>.\n //\n // The method assumes that any topic token was consumed before it was called.\n //\n // If the `pipelineOperator` plugin is active,\n // and if the given `tokenType` matches the plugin’s configuration,\n // then this method will return the finished `node`.\n //\n // If the `pipelineOperator` plugin is active,\n // but if the given `tokenType` does not match the plugin’s configuration,\n // then this method will throw a `PipeTopicUnconfiguredToken` error.\n finishTopicReference(\n node: N.Node,\n startLoc: Position,\n pipeProposal: string,\n tokenType: TokenType,\n ): N.Expression {\n if (\n this.testTopicReferenceConfiguration(pipeProposal, startLoc, tokenType)\n ) {\n // The token matches the plugin’s configuration.\n // The token is therefore a topic reference.\n\n // Determine the node type for the topic reference\n // that is appropriate for the active pipe-operator proposal.\n const nodeType =\n pipeProposal === \"smart\"\n ? \"PipelinePrimaryTopicReference\"\n : // The proposal must otherwise be \"hack\",\n // as enforced by testTopicReferenceConfiguration.\n \"TopicReference\";\n\n if (!this.topicReferenceIsAllowedInCurrentContext()) {\n this.raise(\n // The topic reference is not allowed in the current context:\n // it is outside of a pipe body.\n // Raise recoverable errors.\n pipeProposal === \"smart\"\n ? Errors.PrimaryTopicNotAllowed\n : // In this case, `pipeProposal === \"hack\"` is true.\n Errors.PipeTopicUnbound,\n { at: startLoc },\n );\n }\n\n // Register the topic reference so that its pipe body knows\n // that its topic was used at least once.\n this.registerTopicReference();\n\n return this.finishNode(node, nodeType);\n } else {\n // The token does not match the plugin’s configuration.\n throw this.raise(Errors.PipeTopicUnconfiguredToken, {\n at: startLoc,\n token: tokenLabelName(tokenType),\n });\n }\n }\n\n // This helper method tests whether the given token type\n // matches the pipelineOperator parser plugin’s configuration.\n // If the active pipe proposal is Hack style,\n // and if the given token is the same as the plugin configuration’s `topicToken`,\n // then this is a valid topic reference.\n // If the active pipe proposal is smart mix,\n // then the topic token must always be `#`.\n // If the active pipe proposal is neither (e.g., \"minimal\" or \"fsharp\"),\n // then an error is thrown.\n testTopicReferenceConfiguration(\n pipeProposal: string,\n startLoc: Position,\n tokenType: TokenType,\n ): boolean {\n switch (pipeProposal) {\n case \"hack\": {\n return this.hasPlugin([\n \"pipelineOperator\",\n {\n topicToken: tokenLabelName(tokenType),\n },\n ]);\n }\n case \"smart\":\n return tokenType === tt.hash;\n default:\n throw this.raise(Errors.PipeTopicRequiresHackPipes, { at: startLoc });\n }\n }\n\n // async [no LineTerminator here] AsyncArrowBindingIdentifier[?Yield] [no LineTerminator here] => AsyncConciseBody[?In]\n parseAsyncArrowUnaryFunction(node: N.Node): N.ArrowFunctionExpression {\n // We don't need to push a new ParameterDeclarationScope here since we are sure\n // 1) it is an async arrow, 2) no biding pattern is allowed in params\n this.prodParam.enter(functionFlags(true, this.prodParam.hasYield));\n const params = [this.parseIdentifier()];\n this.prodParam.exit();\n if (this.hasPrecedingLineBreak()) {\n this.raise(Errors.LineTerminatorBeforeArrow, {\n at: this.state.curPosition(),\n });\n }\n this.expect(tt.arrow);\n // let foo = async bar => {};\n this.parseArrowExpression(node, params, true);\n return node;\n }\n\n // https://github.com/tc39/proposal-do-expressions\n // https://github.com/tc39/proposal-async-do-expressions\n parseDo(node: N.Node, isAsync: boolean): N.DoExpression {\n this.expectPlugin(\"doExpressions\");\n if (isAsync) {\n this.expectPlugin(\"asyncDoExpressions\");\n }\n node.async = isAsync;\n this.next(); // eat `do`\n const oldLabels = this.state.labels;\n this.state.labels = [];\n if (isAsync) {\n // AsyncDoExpression :\n // async [no LineTerminator here] do Block[~Yield, +Await, ~Return]\n this.prodParam.enter(PARAM_AWAIT);\n node.body = this.parseBlock();\n this.prodParam.exit();\n } else {\n node.body = this.parseBlock();\n }\n\n this.state.labels = oldLabels;\n return this.finishNode(node, \"DoExpression\");\n }\n\n // Parse the `super` keyword\n parseSuper(): N.Super {\n const node = this.startNode();\n this.next(); // eat `super`\n if (\n this.match(tt.parenL) &&\n !this.scope.allowDirectSuper &&\n !this.options.allowSuperOutsideMethod\n ) {\n this.raise(Errors.SuperNotAllowed, { at: node });\n } else if (\n !this.scope.allowSuper &&\n !this.options.allowSuperOutsideMethod\n ) {\n this.raise(Errors.UnexpectedSuper, { at: node });\n }\n\n if (\n !this.match(tt.parenL) &&\n !this.match(tt.bracketL) &&\n !this.match(tt.dot)\n ) {\n this.raise(Errors.UnsupportedSuper, { at: node });\n }\n\n return this.finishNode(node, \"Super\");\n }\n\n parsePrivateName(): N.PrivateName {\n const node = this.startNode();\n const id = this.startNodeAt(\n this.state.start + 1,\n // The position is hardcoded because we merge `#` and name into a single\n // tt.privateName token\n new Position(\n this.state.curLine,\n this.state.start + 1 - this.state.lineStart,\n this.state.start + 1,\n ),\n );\n const name = this.state.value;\n this.next(); // eat #name;\n node.id = this.createIdentifier(id, name);\n return this.finishNode(node, \"PrivateName\");\n }\n\n parseFunctionOrFunctionSent(): N.FunctionExpression | N.MetaProperty {\n const node = this.startNode();\n\n // We do not do parseIdentifier here because when parseFunctionOrFunctionSent\n // is called we already know that the current token is a \"name\" with the value \"function\"\n // This will improve perf a tiny little bit as we do not do validation but more importantly\n // here is that parseIdentifier will remove an item from the expression stack\n // if \"function\" or \"class\" is parsed as identifier (in objects e.g.), which should not happen here.\n this.next(); // eat `function`\n\n if (this.prodParam.hasYield && this.match(tt.dot)) {\n const meta = this.createIdentifier(\n this.startNodeAtNode(node),\n \"function\",\n );\n this.next(); // eat `.`\n // https://github.com/tc39/proposal-function.sent#syntax-1\n if (this.match(tt._sent)) {\n this.expectPlugin(\"functionSent\");\n } else if (!this.hasPlugin(\"functionSent\")) {\n // The code wasn't `function.sent` but just `function.`, so a simple error is less confusing.\n this.unexpected();\n }\n return this.parseMetaProperty(node, meta, \"sent\");\n }\n return this.parseFunction(node);\n }\n\n parseMetaProperty(\n node: N.MetaProperty,\n meta: N.Identifier,\n propertyName: string,\n ): N.MetaProperty {\n node.meta = meta;\n\n const containsEsc = this.state.containsEsc;\n\n node.property = this.parseIdentifier(true);\n\n if (node.property.name !== propertyName || containsEsc) {\n this.raise(Errors.UnsupportedMetaProperty, {\n at: node.property,\n target: meta.name,\n onlyValidPropertyName: propertyName,\n });\n }\n\n return this.finishNode(node, \"MetaProperty\");\n }\n\n // https://tc39.es/ecma262/#prod-ImportMeta\n parseImportMetaProperty(node: N.MetaProperty): N.MetaProperty {\n const id = this.createIdentifier(this.startNodeAtNode(node), \"import\");\n this.next(); // eat `.`\n\n if (this.isContextual(tt._meta)) {\n if (!this.inModule) {\n this.raise(Errors.ImportMetaOutsideModule, { at: id });\n }\n this.sawUnambiguousESM = true;\n }\n\n return this.parseMetaProperty(node, id, \"meta\");\n }\n\n parseLiteralAtNode<T: N.Node>(\n value: any,\n type: $ElementType<T, \"type\">,\n node: any,\n ): T {\n this.addExtra(node, \"rawValue\", value);\n this.addExtra(node, \"raw\", this.input.slice(node.start, this.state.end));\n node.value = value;\n this.next();\n return this.finishNode<T>(node, type);\n }\n\n parseLiteral<T: N.Node>(value: any, type: $ElementType<T, \"type\">): T {\n const node = this.startNode();\n return this.parseLiteralAtNode(value, type, node);\n }\n\n parseStringLiteral(value: any) {\n return this.parseLiteral<N.StringLiteral>(value, \"StringLiteral\");\n }\n\n parseNumericLiteral(value: any) {\n return this.parseLiteral<N.NumericLiteral>(value, \"NumericLiteral\");\n }\n\n parseBigIntLiteral(value: any) {\n return this.parseLiteral<N.BigIntLiteral>(value, \"BigIntLiteral\");\n }\n\n parseDecimalLiteral(value: any) {\n return this.parseLiteral<N.DecimalLiteral>(value, \"DecimalLiteral\");\n }\n\n parseRegExpLiteral(value: { value: any, pattern: string, flags: string }) {\n const node = this.parseLiteral<N.RegExpLiteral>(\n value.value,\n \"RegExpLiteral\",\n );\n node.pattern = value.pattern;\n node.flags = value.flags;\n return node;\n }\n\n parseBooleanLiteral(value: boolean) {\n const node = this.startNode();\n node.value = value;\n this.next();\n return this.finishNode<N.BooleanLiteral>(node, \"BooleanLiteral\");\n }\n\n parseNullLiteral() {\n const node = this.startNode();\n this.next();\n return this.finishNode<N.NullLiteral>(node, \"NullLiteral\");\n }\n\n // https://tc39.es/ecma262/#prod-CoverParenthesizedExpressionAndArrowParameterList\n parseParenAndDistinguishExpression(canBeArrow: boolean): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n\n let val;\n this.next(); // eat `(`\n this.expressionScope.enter(newArrowHeadScope());\n\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.maybeInArrowParameters = true;\n this.state.inFSharpPipelineDirectBody = false;\n\n const innerStartPos = this.state.start;\n const innerStartLoc = this.state.startLoc;\n const exprList = [];\n const refExpressionErrors = new ExpressionErrors();\n let first = true;\n let spreadStartLoc;\n let optionalCommaStartLoc;\n\n while (!this.match(tt.parenR)) {\n if (first) {\n first = false;\n } else {\n this.expect(\n tt.comma,\n refExpressionErrors.optionalParametersLoc === null\n ? null\n : refExpressionErrors.optionalParametersLoc,\n );\n if (this.match(tt.parenR)) {\n optionalCommaStartLoc = this.state.startLoc;\n break;\n }\n }\n\n if (this.match(tt.ellipsis)) {\n const spreadNodeStartPos = this.state.start;\n const spreadNodeStartLoc = this.state.startLoc;\n spreadStartLoc = this.state.startLoc;\n exprList.push(\n this.parseParenItem(\n this.parseRestBinding(),\n spreadNodeStartPos,\n spreadNodeStartLoc,\n ),\n );\n\n if (!this.checkCommaAfterRest(charCodes.rightParenthesis)) {\n break;\n }\n } else {\n exprList.push(\n this.parseMaybeAssignAllowIn(\n refExpressionErrors,\n this.parseParenItem,\n ),\n );\n }\n }\n\n const innerEndLoc = this.state.lastTokEndLoc;\n this.expect(tt.parenR);\n\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n\n let arrowNode = this.startNodeAt(startPos, startLoc);\n if (\n canBeArrow &&\n this.shouldParseArrow(exprList) &&\n (arrowNode = this.parseArrow(arrowNode))\n ) {\n this.checkDestructuringPrivate(refExpressionErrors);\n this.expressionScope.validateAsPattern();\n this.expressionScope.exit();\n this.parseArrowExpression(arrowNode, exprList, false);\n return arrowNode;\n }\n this.expressionScope.exit();\n\n if (!exprList.length) {\n this.unexpected(this.state.lastTokStartLoc);\n }\n if (optionalCommaStartLoc) this.unexpected(optionalCommaStartLoc);\n if (spreadStartLoc) this.unexpected(spreadStartLoc);\n this.checkExpressionErrors(refExpressionErrors, true);\n\n this.toReferencedListDeep(exprList, /* isParenthesizedExpr */ true);\n if (exprList.length > 1) {\n val = this.startNodeAt(innerStartPos, innerStartLoc);\n val.expressions = exprList;\n // finish node at current location so it can pick up comments after `)`\n this.finishNode(val, \"SequenceExpression\");\n this.resetEndLocation(val, innerEndLoc);\n } else {\n val = exprList[0];\n }\n\n return this.wrapParenthesis(startPos, startLoc, val);\n }\n\n wrapParenthesis(\n startPos: number,\n startLoc: Position,\n expression: N.Expression,\n ): N.Expression {\n if (!this.options.createParenthesizedExpressions) {\n this.addExtra(expression, \"parenthesized\", true);\n this.addExtra(expression, \"parenStart\", startPos);\n\n this.takeSurroundingComments(\n expression,\n startPos,\n this.state.lastTokEndLoc.index,\n );\n\n return expression;\n }\n\n const parenExpression = this.startNodeAt(startPos, startLoc);\n parenExpression.expression = expression;\n this.finishNode(parenExpression, \"ParenthesizedExpression\");\n return parenExpression;\n }\n\n // eslint-disable-next-line no-unused-vars -- `params` is used in typescript plugin\n shouldParseArrow(params: Array<N.Node>): boolean {\n return !this.canInsertSemicolon();\n }\n\n parseArrow(node: N.ArrowFunctionExpression): ?N.ArrowFunctionExpression {\n if (this.eat(tt.arrow)) {\n return node;\n }\n }\n\n parseParenItem(\n node: N.Expression,\n startPos: number, // eslint-disable-line no-unused-vars\n startLoc: Position, // eslint-disable-line no-unused-vars\n ): N.Expression {\n return node;\n }\n\n parseNewOrNewTarget(): N.NewExpression | N.MetaProperty {\n const node = this.startNode();\n this.next();\n if (this.match(tt.dot)) {\n // https://tc39.es/ecma262/#prod-NewTarget\n const meta = this.createIdentifier(this.startNodeAtNode(node), \"new\");\n this.next();\n const metaProp = this.parseMetaProperty(node, meta, \"target\");\n\n if (!this.scope.inNonArrowFunction && !this.scope.inClass) {\n this.raise(Errors.UnexpectedNewTarget, { at: metaProp });\n }\n\n return metaProp;\n }\n\n return this.parseNew(node);\n }\n\n // New's precedence is slightly tricky. It must allow its argument to\n // be a `[]` or dot subscript expression, but not a call — at least,\n // not without wrapping it in parentheses. Thus, it uses the noCalls\n // argument to parseSubscripts to prevent it from consuming the\n // argument list.\n // https://tc39.es/ecma262/#prod-NewExpression\n parseNew(node: N.NewExpression): N.NewExpression {\n this.parseNewCallee(node);\n\n if (this.eat(tt.parenL)) {\n const args = this.parseExprList(tt.parenR);\n this.toReferencedList(args);\n // $FlowFixMe (parseExprList should be all non-null in this case)\n node.arguments = args;\n } else {\n node.arguments = [];\n }\n\n return this.finishNode(node, \"NewExpression\");\n }\n\n parseNewCallee(node: N.NewExpression): void {\n node.callee = this.parseNoCallExpr();\n if (node.callee.type === \"Import\") {\n this.raise(Errors.ImportCallNotNewExpression, { at: node.callee });\n } else if (this.isOptionalChain(node.callee)) {\n this.raise(Errors.OptionalChainingNoNew, {\n at: this.state.lastTokEndLoc,\n });\n } else if (this.eat(tt.questionDot)) {\n this.raise(Errors.OptionalChainingNoNew, {\n at: this.state.startLoc,\n });\n }\n }\n\n // Parse template expression.\n\n parseTemplateElement(isTagged: boolean): N.TemplateElement {\n const { start, startLoc, end, value } = this.state;\n const elemStart = start + 1;\n const elem = this.startNodeAt(\n elemStart,\n createPositionWithColumnOffset(startLoc, 1),\n );\n if (value === null) {\n if (!isTagged) {\n this.raise(Errors.InvalidEscapeSequenceTemplate, {\n // FIXME: explain\n at: createPositionWithColumnOffset(startLoc, 2),\n });\n }\n }\n\n const isTail = this.match(tt.templateTail);\n const endOffset = isTail ? -1 : -2;\n const elemEnd = end + endOffset;\n elem.value = {\n raw: this.input.slice(elemStart, elemEnd).replace(/\\r\\n?/g, \"\\n\"),\n cooked: value === null ? null : value.slice(1, endOffset),\n };\n elem.tail = isTail;\n this.next();\n this.finishNode(elem, \"TemplateElement\");\n this.resetEndLocation(\n elem,\n createPositionWithColumnOffset(this.state.lastTokEndLoc, endOffset),\n );\n return elem;\n }\n\n // https://tc39.es/ecma262/#prod-TemplateLiteral\n parseTemplate(isTagged: boolean): N.TemplateLiteral {\n const node = this.startNode();\n node.expressions = [];\n let curElt = this.parseTemplateElement(isTagged);\n node.quasis = [curElt];\n while (!curElt.tail) {\n node.expressions.push(this.parseTemplateSubstitution());\n this.readTemplateContinuation();\n node.quasis.push((curElt = this.parseTemplateElement(isTagged)));\n }\n return this.finishNode(node, \"TemplateLiteral\");\n }\n\n // This is overwritten by the TypeScript plugin to parse template types\n parseTemplateSubstitution(): N.Expression {\n return this.parseExpression();\n }\n\n // Parse an object literal, binding pattern, or record.\n\n parseObjectLike<T: N.ObjectPattern | N.ObjectExpression>(\n close: TokenType,\n isPattern: boolean,\n isRecord?: ?boolean,\n refExpressionErrors?: ?ExpressionErrors,\n ): T {\n if (isRecord) {\n this.expectPlugin(\"recordAndTuple\");\n }\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = false;\n const propHash: any = Object.create(null);\n let first = true;\n const node = this.startNode();\n\n node.properties = [];\n this.next();\n\n while (!this.match(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(tt.comma);\n if (this.match(close)) {\n this.addTrailingCommaExtraToNode(node);\n break;\n }\n }\n\n let prop;\n if (isPattern) {\n prop = this.parseBindingProperty();\n } else {\n prop = this.parsePropertyDefinition(refExpressionErrors);\n this.checkProto(prop, isRecord, propHash, refExpressionErrors);\n }\n\n if (\n isRecord &&\n !this.isObjectProperty(prop) &&\n prop.type !== \"SpreadElement\"\n ) {\n this.raise(Errors.InvalidRecordProperty, { at: prop });\n }\n\n // $FlowIgnore\n if (prop.shorthand) {\n this.addExtra(prop, \"shorthand\", true);\n }\n\n node.properties.push(prop);\n }\n\n this.next();\n\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n let type = \"ObjectExpression\";\n if (isPattern) {\n type = \"ObjectPattern\";\n } else if (isRecord) {\n type = \"RecordExpression\";\n }\n return this.finishNode(node, type);\n }\n\n addTrailingCommaExtraToNode(node: N.Node): void {\n this.addExtra(node, \"trailingComma\", this.state.lastTokStart);\n this.addExtra(node, \"trailingCommaLoc\", this.state.lastTokStartLoc, false);\n }\n\n // Check grammar production:\n // IdentifierName *_opt PropertyName\n // It is used in `parsePropertyDefinition` to detect AsyncMethod and Accessors\n maybeAsyncOrAccessorProp(prop: N.ObjectProperty): boolean {\n return (\n !prop.computed &&\n prop.key.type === \"Identifier\" &&\n (this.isLiteralPropertyName() ||\n this.match(tt.bracketL) ||\n this.match(tt.star))\n );\n }\n\n // https://tc39.es/ecma262/#prod-PropertyDefinition\n parsePropertyDefinition(\n refExpressionErrors?: ?ExpressionErrors,\n ): N.ObjectMember | N.SpreadElement {\n let decorators = [];\n if (this.match(tt.at)) {\n if (this.hasPlugin(\"decorators\")) {\n this.raise(Errors.UnsupportedPropertyDecorator, {\n at: this.state.startLoc,\n });\n }\n\n // we needn't check if decorators (stage 0) plugin is enabled since it's checked by\n // the call to this.parseDecorator\n while (this.match(tt.at)) {\n decorators.push(this.parseDecorator());\n }\n }\n\n const prop = this.startNode();\n let isAsync = false;\n let isAccessor = false;\n let startPos;\n let startLoc;\n\n if (this.match(tt.ellipsis)) {\n if (decorators.length) this.unexpected();\n return this.parseSpread();\n }\n\n if (decorators.length) {\n prop.decorators = decorators;\n decorators = [];\n }\n\n prop.method = false;\n\n if (refExpressionErrors) {\n startPos = this.state.start;\n startLoc = this.state.startLoc;\n }\n\n let isGenerator = this.eat(tt.star);\n this.parsePropertyNamePrefixOperator(prop);\n const containsEsc = this.state.containsEsc;\n const key = this.parsePropertyName(prop, refExpressionErrors);\n\n if (!isGenerator && !containsEsc && this.maybeAsyncOrAccessorProp(prop)) {\n const keyName = key.name;\n // https://tc39.es/ecma262/#prod-AsyncMethod\n // https://tc39.es/ecma262/#prod-AsyncGeneratorMethod\n if (keyName === \"async\" && !this.hasPrecedingLineBreak()) {\n isAsync = true;\n this.resetPreviousNodeTrailingComments(key);\n isGenerator = this.eat(tt.star);\n this.parsePropertyName(prop);\n }\n // get PropertyName[?Yield, ?Await] () { FunctionBody[~Yield, ~Await] }\n // set PropertyName[?Yield, ?Await] ( PropertySetParameterList ) { FunctionBody[~Yield, ~Await] }\n if (keyName === \"get\" || keyName === \"set\") {\n isAccessor = true;\n this.resetPreviousNodeTrailingComments(key);\n prop.kind = keyName;\n if (this.match(tt.star)) {\n isGenerator = true;\n this.raise(Errors.AccessorIsGenerator, {\n at: this.state.curPosition(),\n kind: keyName,\n });\n this.next();\n }\n this.parsePropertyName(prop);\n }\n }\n\n this.parseObjPropValue(\n prop,\n startPos,\n startLoc,\n isGenerator,\n isAsync,\n false /* isPattern */,\n isAccessor,\n refExpressionErrors,\n );\n\n return prop;\n }\n\n getGetterSetterExpectedParamCount(\n method: N.ObjectMethod | N.ClassMethod,\n ): number {\n return method.kind === \"get\" ? 0 : 1;\n }\n\n // This exists so we can override within the ESTree plugin\n getObjectOrClassMethodParams(method: N.ObjectMethod | N.ClassMethod) {\n return method.params;\n }\n\n // get methods aren't allowed to have any parameters\n // set methods must have exactly 1 parameter which is not a rest parameter\n checkGetterSetterParams(method: N.ObjectMethod | N.ClassMethod): void {\n const paramCount = this.getGetterSetterExpectedParamCount(method);\n const params = this.getObjectOrClassMethodParams(method);\n\n if (params.length !== paramCount) {\n this.raise(\n method.kind === \"get\" ? Errors.BadGetterArity : Errors.BadSetterArity,\n { at: method },\n );\n }\n\n if (\n method.kind === \"set\" &&\n params[params.length - 1]?.type === \"RestElement\"\n ) {\n this.raise(Errors.BadSetterRestParameter, { at: method });\n }\n }\n\n // https://tc39.es/ecma262/#prod-MethodDefinition\n parseObjectMethod(\n prop: N.ObjectMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isPattern: boolean,\n isAccessor: boolean,\n ): ?N.ObjectMethod {\n if (isAccessor) {\n // isAccessor implies isAsync: false, isPattern: false, isGenerator: false\n this.parseMethod(\n prop,\n // This _should_ be false, but with error recovery, we allow it to be\n // set for informational purposes\n isGenerator,\n /* isAsync */ false,\n /* isConstructor */ false,\n false,\n \"ObjectMethod\",\n );\n this.checkGetterSetterParams(prop);\n return prop;\n }\n\n if (isAsync || isGenerator || this.match(tt.parenL)) {\n if (isPattern) this.unexpected();\n prop.kind = \"method\";\n prop.method = true;\n return this.parseMethod(\n prop,\n isGenerator,\n isAsync,\n /* isConstructor */ false,\n false,\n \"ObjectMethod\",\n );\n }\n }\n\n // if `isPattern` is true, parse https://tc39.es/ecma262/#prod-BindingProperty\n // else https://tc39.es/ecma262/#prod-PropertyDefinition\n parseObjectProperty(\n prop: N.ObjectProperty,\n startPos: ?number,\n startLoc: ?Position,\n isPattern: boolean,\n refExpressionErrors: ?ExpressionErrors,\n ): ?N.ObjectProperty {\n prop.shorthand = false;\n\n if (this.eat(tt.colon)) {\n prop.value = isPattern\n ? this.parseMaybeDefault(this.state.start, this.state.startLoc)\n : this.parseMaybeAssignAllowIn(refExpressionErrors);\n\n return this.finishNode(prop, \"ObjectProperty\");\n }\n\n if (!prop.computed && prop.key.type === \"Identifier\") {\n // PropertyDefinition:\n // IdentifierReference\n // CoverInitializedName\n // Note: `{ eval } = {}` will be checked in `checkLVal` later.\n this.checkReservedWord(prop.key.name, prop.key.loc.start, true, false);\n\n if (isPattern) {\n prop.value = this.parseMaybeDefault(\n startPos,\n startLoc,\n cloneIdentifier(prop.key),\n );\n } else if (this.match(tt.eq)) {\n const shorthandAssignLoc = this.state.startLoc;\n if (refExpressionErrors != null) {\n if (refExpressionErrors.shorthandAssignLoc === null) {\n refExpressionErrors.shorthandAssignLoc = shorthandAssignLoc;\n }\n } else {\n this.raise(Errors.InvalidCoverInitializedName, {\n at: shorthandAssignLoc,\n });\n }\n prop.value = this.parseMaybeDefault(\n startPos,\n startLoc,\n cloneIdentifier(prop.key),\n );\n } else {\n prop.value = cloneIdentifier(prop.key);\n }\n prop.shorthand = true;\n\n return this.finishNode(prop, \"ObjectProperty\");\n }\n }\n\n parseObjPropValue(\n prop: any,\n startPos: ?number,\n startLoc: ?Position,\n isGenerator: boolean,\n isAsync: boolean,\n isPattern: boolean,\n isAccessor: boolean,\n refExpressionErrors?: ?ExpressionErrors,\n ): void {\n const node =\n this.parseObjectMethod(\n prop,\n isGenerator,\n isAsync,\n isPattern,\n isAccessor,\n ) ||\n this.parseObjectProperty(\n prop,\n startPos,\n startLoc,\n isPattern,\n refExpressionErrors,\n );\n\n if (!node) this.unexpected();\n\n // $FlowFixMe\n return node;\n }\n\n // https://tc39.es/ecma262/#prod-PropertyName\n // when refExpressionErrors presents, it will parse private name\n // and record the position of the first private name\n parsePropertyName(\n prop: N.ObjectOrClassMember | N.ClassMember | N.TsNamedTypeElementBase,\n refExpressionErrors?: ?ExpressionErrors,\n ): N.Expression | N.Identifier {\n if (this.eat(tt.bracketL)) {\n (prop: $FlowSubtype<N.ObjectOrClassMember>).computed = true;\n prop.key = this.parseMaybeAssignAllowIn();\n this.expect(tt.bracketR);\n } else {\n // We check if it's valid for it to be a private name when we push it.\n const { type, value } = this.state;\n let key;\n // most un-computed property names are identifiers\n if (tokenIsKeywordOrIdentifier(type)) {\n key = this.parseIdentifier(true);\n } else {\n switch (type) {\n case tt.num:\n key = this.parseNumericLiteral(value);\n break;\n case tt.string:\n key = this.parseStringLiteral(value);\n break;\n case tt.bigint:\n key = this.parseBigIntLiteral(value);\n break;\n case tt.decimal:\n key = this.parseDecimalLiteral(value);\n break;\n case tt.privateName: {\n // the class private key has been handled in parseClassElementName\n const privateKeyLoc = this.state.startLoc;\n if (refExpressionErrors != null) {\n if (refExpressionErrors.privateKeyLoc === null) {\n refExpressionErrors.privateKeyLoc = privateKeyLoc;\n }\n } else {\n this.raise(Errors.UnexpectedPrivateField, {\n at: privateKeyLoc,\n });\n }\n key = this.parsePrivateName();\n break;\n }\n default:\n throw this.unexpected();\n }\n }\n (prop: $FlowFixMe).key = key;\n if (type !== tt.privateName) {\n // ClassPrivateProperty is never computed, so we don't assign in that case.\n prop.computed = false;\n }\n }\n\n return prop.key;\n }\n\n // Initialize empty function node.\n\n initFunction(node: N.BodilessFunctionOrMethodBase, isAsync: ?boolean): void {\n node.id = null;\n node.generator = false;\n node.async = !!isAsync;\n }\n\n // Parse object or class method.\n\n parseMethod<T: N.MethodLike>(\n node: T,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowDirectSuper: boolean,\n type: string,\n inClassScope: boolean = false,\n ): T {\n this.initFunction(node, isAsync);\n node.generator = !!isGenerator;\n const allowModifiers = isConstructor; // For TypeScript parameter properties\n this.scope.enter(\n SCOPE_FUNCTION |\n SCOPE_SUPER |\n (inClassScope ? SCOPE_CLASS : 0) |\n (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0),\n );\n this.prodParam.enter(functionFlags(isAsync, node.generator));\n this.parseFunctionParams((node: any), allowModifiers);\n this.parseFunctionBodyAndFinish(node, type, true);\n this.prodParam.exit();\n this.scope.exit();\n\n return node;\n }\n\n // parse an array literal or tuple literal\n // https://tc39.es/ecma262/#prod-ArrayLiteral\n // https://tc39.es/proposal-record-tuple/#prod-TupleLiteral\n parseArrayLike(\n close: TokenType,\n canBePattern: boolean,\n isTuple: boolean,\n refExpressionErrors: ?ExpressionErrors,\n ): N.ArrayExpression | N.TupleExpression {\n if (isTuple) {\n this.expectPlugin(\"recordAndTuple\");\n }\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = false;\n const node = this.startNode();\n this.next();\n node.elements = this.parseExprList(\n close,\n /* allowEmpty */ !isTuple,\n refExpressionErrors,\n node,\n );\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n return this.finishNode(\n node,\n isTuple ? \"TupleExpression\" : \"ArrayExpression\",\n );\n }\n\n // Parse arrow function expression.\n // If the parameters are provided, they will be converted to an\n // assignable list.\n parseArrowExpression(\n node: N.ArrowFunctionExpression,\n params: ?(N.Expression[]),\n isAsync: boolean,\n trailingCommaLoc: ?Position,\n ): N.ArrowFunctionExpression {\n this.scope.enter(SCOPE_FUNCTION | SCOPE_ARROW);\n let flags = functionFlags(isAsync, false);\n // ConciseBody[In] :\n // [lookahead ≠ {] ExpressionBody[?In, ~Await]\n // { FunctionBody[~Yield, ~Await] }\n if (!this.match(tt.braceL) && this.prodParam.hasIn) {\n flags |= PARAM_IN;\n }\n this.prodParam.enter(flags);\n this.initFunction(node, isAsync);\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n\n if (params) {\n this.state.maybeInArrowParameters = true;\n this.setArrowFunctionParameters(node, params, trailingCommaLoc);\n }\n this.state.maybeInArrowParameters = false;\n this.parseFunctionBody(node, true);\n\n this.prodParam.exit();\n this.scope.exit();\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n\n return this.finishNode(node, \"ArrowFunctionExpression\");\n }\n\n setArrowFunctionParameters(\n node: N.ArrowFunctionExpression,\n params: N.Expression[],\n trailingCommaLoc: ?Position,\n ): void {\n this.toAssignableList(params, trailingCommaLoc, false);\n node.params = params;\n }\n\n parseFunctionBodyAndFinish(\n node: N.BodilessFunctionOrMethodBase,\n type: string,\n isMethod?: boolean = false,\n ): void {\n // $FlowIgnore (node is not bodiless if we get here)\n this.parseFunctionBody(node, false, isMethod);\n this.finishNode(node, type);\n }\n\n // Parse function body and check parameters.\n parseFunctionBody(\n node: N.Function,\n allowExpression: ?boolean,\n isMethod?: boolean = false,\n ): void {\n const isExpression = allowExpression && !this.match(tt.braceL);\n this.expressionScope.enter(newExpressionScope());\n\n if (isExpression) {\n // https://tc39.es/ecma262/#prod-ExpressionBody\n node.body = this.parseMaybeAssign();\n this.checkParams(node, false, allowExpression, false);\n } else {\n const oldStrict = this.state.strict;\n // Start a new scope with regard to labels\n // flag (restore them to their old value afterwards).\n const oldLabels = this.state.labels;\n this.state.labels = [];\n\n // FunctionBody[Yield, Await]:\n // StatementList[?Yield, ?Await, +Return] opt\n this.prodParam.enter(this.prodParam.currentFlags() | PARAM_RETURN);\n node.body = this.parseBlock(\n true,\n false,\n // Strict mode function checks after we parse the statements in the function body.\n (hasStrictModeDirective: boolean) => {\n const nonSimple = !this.isSimpleParamList(node.params);\n\n if (hasStrictModeDirective && nonSimple) {\n // This logic is here to align the error location with the ESTree plugin.\n this.raise(Errors.IllegalLanguageModeDirective, {\n at:\n // $FlowIgnore\n (node.kind === \"method\" || node.kind === \"constructor\") &&\n // $FlowIgnore\n !!node.key\n ? node.key.loc.end\n : node,\n });\n }\n\n const strictModeChanged = !oldStrict && this.state.strict;\n\n // Add the params to varDeclaredNames to ensure that an error is thrown\n // if a let/const declaration in the function clashes with one of the params.\n this.checkParams(\n node,\n !this.state.strict && !allowExpression && !isMethod && !nonSimple,\n allowExpression,\n strictModeChanged,\n );\n\n // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'\n if (this.state.strict && node.id) {\n this.checkIdentifier(node.id, BIND_OUTSIDE, strictModeChanged);\n }\n },\n );\n this.prodParam.exit();\n this.state.labels = oldLabels;\n }\n this.expressionScope.exit();\n }\n\n isSimpleParameter(node: N.Pattern | N.TSParameterProperty) {\n return node.type === \"Identifier\";\n }\n\n isSimpleParamList(\n params: $ReadOnlyArray<N.Pattern | N.TSParameterProperty>,\n ): boolean {\n for (let i = 0, len = params.length; i < len; i++) {\n if (!this.isSimpleParameter(params[i])) return false;\n }\n return true;\n }\n\n checkParams(\n node: N.Function,\n allowDuplicates: boolean,\n // eslint-disable-next-line no-unused-vars\n isArrowFunction: ?boolean,\n strictModeChanged?: boolean = true,\n ): void {\n const checkClashes = !allowDuplicates && new Set();\n // We create a fake node with the \"ephemeral\" type `FormalParameters`[1]\n // since we just store an array of parameters. Perhaps someday we can have\n // something like class FormalParameters extends Array { ... }, which would\n // also be helpful when traversing this node.\n //\n // 1. https://tc39.es/ecma262/#prod-FormalParameters\n const formalParameters = { type: \"FormalParameters\" };\n for (const param of node.params) {\n this.checkLVal(param, {\n in: formalParameters,\n binding: BIND_VAR,\n checkClashes,\n strictModeChanged,\n });\n }\n }\n\n // Parses a comma-separated list of expressions, and returns them as\n // an array. `close` is the token type that ends the list, and\n // `allowEmpty` can be turned on to allow subsequent commas with\n // nothing in between them to be parsed as `null` (which is needed\n // for array literals).\n\n parseExprList(\n close: TokenType,\n allowEmpty?: boolean,\n refExpressionErrors?: ?ExpressionErrors,\n nodeForExtra?: ?N.Node,\n ): $ReadOnlyArray<?N.Expression> {\n const elts = [];\n let first = true;\n\n while (!this.eat(close)) {\n if (first) {\n first = false;\n } else {\n this.expect(tt.comma);\n if (this.match(close)) {\n if (nodeForExtra) {\n this.addTrailingCommaExtraToNode(nodeForExtra);\n }\n this.next();\n break;\n }\n }\n\n elts.push(this.parseExprListItem(allowEmpty, refExpressionErrors));\n }\n return elts;\n }\n\n parseExprListItem(\n allowEmpty: ?boolean,\n refExpressionErrors?: ?ExpressionErrors,\n allowPlaceholder: ?boolean,\n ): ?N.Expression {\n let elt;\n if (this.match(tt.comma)) {\n if (!allowEmpty) {\n this.raise(Errors.UnexpectedToken, {\n at: this.state.curPosition(),\n unexpected: \",\",\n });\n }\n elt = null;\n } else if (this.match(tt.ellipsis)) {\n const spreadNodeStartPos = this.state.start;\n const spreadNodeStartLoc = this.state.startLoc;\n\n elt = this.parseParenItem(\n this.parseSpread(refExpressionErrors),\n spreadNodeStartPos,\n spreadNodeStartLoc,\n );\n } else if (this.match(tt.question)) {\n this.expectPlugin(\"partialApplication\");\n if (!allowPlaceholder) {\n this.raise(Errors.UnexpectedArgumentPlaceholder, {\n at: this.state.startLoc,\n });\n }\n const node = this.startNode();\n this.next();\n elt = this.finishNode(node, \"ArgumentPlaceholder\");\n } else {\n elt = this.parseMaybeAssignAllowIn(\n refExpressionErrors,\n this.parseParenItem,\n );\n }\n return elt;\n }\n\n // Parse the next token as an identifier. If `liberal` is true (used\n // when parsing properties), it will also convert keywords into\n // identifiers.\n // This shouldn't be used to parse the keywords of meta properties, since they\n // are not identifiers and cannot contain escape sequences.\n\n parseIdentifier(liberal?: boolean): N.Identifier {\n const node = this.startNode();\n const name = this.parseIdentifierName(node.start, liberal);\n\n return this.createIdentifier(node, name);\n }\n\n createIdentifier(node: N.Identifier, name: string): N.Identifier {\n node.name = name;\n node.loc.identifierName = name;\n\n return this.finishNode(node, \"Identifier\");\n }\n\n parseIdentifierName(pos: number, liberal?: boolean): string {\n let name: string;\n\n const { startLoc, type } = this.state;\n\n if (tokenIsKeywordOrIdentifier(type)) {\n name = this.state.value;\n } else {\n throw this.unexpected();\n }\n\n const tokenIsKeyword = tokenKeywordOrIdentifierIsKeyword(type);\n\n if (liberal) {\n // If the current token is not used as a keyword, set its type to \"tt.name\".\n // This will prevent this.next() from throwing about unexpected escapes.\n if (tokenIsKeyword) {\n this.replaceToken(tt.name);\n }\n } else {\n this.checkReservedWord(name, startLoc, tokenIsKeyword, false);\n }\n\n this.next();\n\n return name;\n }\n\n checkReservedWord(\n word: string,\n startLoc: Position,\n checkKeywords: boolean,\n isBinding: boolean,\n ): void {\n // Every JavaScript reserved word is 10 characters or less.\n if (word.length > 10) {\n return;\n }\n // Most identifiers are not reservedWord-like, they don't need special\n // treatments afterward, which very likely ends up throwing errors\n if (!canBeReservedWord(word)) {\n return;\n }\n\n if (word === \"yield\") {\n if (this.prodParam.hasYield) {\n this.raise(Errors.YieldBindingIdentifier, { at: startLoc });\n return;\n }\n } else if (word === \"await\") {\n if (this.prodParam.hasAwait) {\n this.raise(Errors.AwaitBindingIdentifier, { at: startLoc });\n return;\n }\n\n if (this.scope.inStaticBlock) {\n this.raise(Errors.AwaitBindingIdentifierInStaticBlock, {\n at: startLoc,\n });\n return;\n }\n\n this.expressionScope.recordAsyncArrowParametersError({ at: startLoc });\n } else if (word === \"arguments\") {\n if (this.scope.inClassAndNotInNonArrowFunction) {\n this.raise(Errors.ArgumentsInClass, { at: startLoc });\n return;\n }\n }\n\n if (checkKeywords && isKeyword(word)) {\n this.raise(Errors.UnexpectedKeyword, {\n at: startLoc,\n keyword: word,\n });\n return;\n }\n\n const reservedTest = !this.state.strict\n ? isReservedWord\n : isBinding\n ? isStrictBindReservedWord\n : isStrictReservedWord;\n\n if (reservedTest(word, this.inModule)) {\n this.raise(Errors.UnexpectedReservedWord, {\n at: startLoc,\n reservedWord: word,\n });\n }\n }\n\n isAwaitAllowed(): boolean {\n if (this.prodParam.hasAwait) return true;\n if (this.options.allowAwaitOutsideFunction && !this.scope.inFunction) {\n return true;\n }\n return false;\n }\n\n // Parses await expression inside async function.\n\n parseAwait(startPos: number, startLoc: Position): N.AwaitExpression {\n const node = this.startNodeAt(startPos, startLoc);\n\n this.expressionScope.recordParameterInitializerError(\n Errors.AwaitExpressionFormalParameter,\n { at: node },\n );\n\n if (this.eat(tt.star)) {\n this.raise(Errors.ObsoleteAwaitStar, { at: node });\n }\n\n if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) {\n if (this.isAmbiguousAwait()) {\n this.ambiguousScriptDifferentAst = true;\n } else {\n this.sawUnambiguousESM = true;\n }\n }\n\n if (!this.state.soloAwait) {\n node.argument = this.parseMaybeUnary(null, true);\n }\n\n return this.finishNode(node, \"AwaitExpression\");\n }\n\n isAmbiguousAwait(): boolean {\n if (this.hasPrecedingLineBreak()) return true;\n const { type } = this.state;\n return (\n // All the following expressions are ambiguous:\n // await + 0, await - 0, await ( 0 ), await [ 0 ], await / 0 /u, await ``\n type === tt.plusMin ||\n type === tt.parenL ||\n type === tt.bracketL ||\n tokenIsTemplate(type) ||\n // Sometimes the tokenizer generates tt.slash for regexps, and this is\n // handler by parseExprAtom\n type === tt.regexp ||\n type === tt.slash ||\n // This code could be parsed both as a modulo operator or as an intrinsic:\n // await %x(0)\n (this.hasPlugin(\"v8intrinsic\") && type === tt.modulo)\n );\n }\n\n // Parses yield expression inside generator.\n\n parseYield(): N.YieldExpression {\n const node = this.startNode();\n\n this.expressionScope.recordParameterInitializerError(\n Errors.YieldInParameter,\n { at: node },\n );\n\n this.next();\n let delegating = false;\n let argument = null;\n if (!this.hasPrecedingLineBreak()) {\n delegating = this.eat(tt.star);\n switch (this.state.type) {\n case tt.semi:\n case tt.eof:\n case tt.braceR:\n case tt.parenR:\n case tt.bracketR:\n case tt.braceBarR:\n case tt.colon:\n case tt.comma:\n // The above is the complete set of tokens that can\n // follow an AssignmentExpression, and none of them\n // can start an AssignmentExpression\n if (!delegating) break;\n /* fallthrough */\n default:\n argument = this.parseMaybeAssign();\n }\n }\n node.delegate = delegating;\n node.argument = argument;\n return this.finishNode(node, \"YieldExpression\");\n }\n\n // Validates a pipeline (for any of the pipeline Babylon plugins) at the point\n // of the infix operator `|>`.\n\n checkPipelineAtInfixOperator(left: N.Expression, leftStartLoc: Position) {\n if (this.hasPlugin([\"pipelineOperator\", { proposal: \"smart\" }])) {\n if (left.type === \"SequenceExpression\") {\n // Ensure that the pipeline head is not a comma-delimited\n // sequence expression.\n this.raise(Errors.PipelineHeadSequenceExpression, {\n at: leftStartLoc,\n });\n }\n }\n }\n\n parseSmartPipelineBodyInStyle(\n childExpr: N.Expression,\n startPos: number,\n startLoc: Position,\n ): N.PipelineBody {\n const bodyNode = this.startNodeAt(startPos, startLoc);\n if (this.isSimpleReference(childExpr)) {\n bodyNode.callee = childExpr;\n return this.finishNode(bodyNode, \"PipelineBareFunction\");\n } else {\n this.checkSmartPipeTopicBodyEarlyErrors(startLoc);\n bodyNode.expression = childExpr;\n return this.finishNode(bodyNode, \"PipelineTopicExpression\");\n }\n }\n\n isSimpleReference(expression: N.Expression): boolean {\n switch (expression.type) {\n case \"MemberExpression\":\n return (\n !expression.computed && this.isSimpleReference(expression.object)\n );\n case \"Identifier\":\n return true;\n default:\n return false;\n }\n }\n\n // This helper method is to be called immediately\n // after a topic-style smart-mix pipe body is parsed.\n // The `startLoc` is the starting position of the pipe body.\n\n checkSmartPipeTopicBodyEarlyErrors(startLoc: Position): void {\n // If the following token is invalidly `=>`, then throw a human-friendly error\n // instead of something like 'Unexpected token, expected \";\"'.\n // For example, `x => x |> y => #` (assuming `#` is the topic reference)\n // groups into `x => (x |> y) => #`,\n // and `(x |> y) => #` is an invalid arrow function.\n // This is because smart-mix `|>` has tighter precedence than `=>`.\n if (this.match(tt.arrow)) {\n throw this.raise(Errors.PipelineBodyNoArrow, { at: this.state.startLoc });\n }\n\n // A topic-style smart-mix pipe body must use the topic reference at least once.\n if (!this.topicReferenceWasUsedInCurrentContext()) {\n this.raise(Errors.PipelineTopicUnused, { at: startLoc });\n }\n }\n\n // Enable topic references from outer contexts within Hack-style pipe bodies.\n // The function modifies the parser's topic-context state to enable or disable\n // the use of topic references.\n // The function then calls a callback, then resets the parser\n // to the old topic-context state that it had before the function was called.\n\n withTopicBindingContext<T>(callback: () => T): T {\n const outerContextTopicState = this.state.topicContext;\n this.state.topicContext = {\n // Enable the use of the primary topic reference.\n maxNumOfResolvableTopics: 1,\n // Hide the use of any topic references from outer contexts.\n maxTopicIndex: null,\n };\n\n try {\n return callback();\n } finally {\n this.state.topicContext = outerContextTopicState;\n }\n }\n\n // This helper method is used only with the deprecated smart-mix pipe proposal.\n // Disables topic references from outer contexts within syntax constructs\n // such as the bodies of iteration statements.\n // The function modifies the parser's topic-context state to enable or disable\n // the use of topic references with the smartPipelines plugin. They then run a\n // callback, then they reset the parser to the old topic-context state that it\n // had before the function was called.\n\n withSmartMixTopicForbiddingContext<T>(callback: () => T): T {\n if (this.hasPlugin([\"pipelineOperator\", { proposal: \"smart\" }])) {\n // Reset the parser’s topic context only if the smart-mix pipe proposal is active.\n const outerContextTopicState = this.state.topicContext;\n this.state.topicContext = {\n // Disable the use of the primary topic reference.\n maxNumOfResolvableTopics: 0,\n // Hide the use of any topic references from outer contexts.\n maxTopicIndex: null,\n };\n\n try {\n return callback();\n } finally {\n this.state.topicContext = outerContextTopicState;\n }\n } else {\n // If the pipe proposal is \"minimal\", \"fsharp\", or \"hack\",\n // or if no pipe proposal is active,\n // then the callback result is returned\n // without touching any extra parser state.\n return callback();\n }\n }\n\n withSoloAwaitPermittingContext<T>(callback: () => T): T {\n const outerContextSoloAwaitState = this.state.soloAwait;\n this.state.soloAwait = true;\n\n try {\n return callback();\n } finally {\n this.state.soloAwait = outerContextSoloAwaitState;\n }\n }\n\n allowInAnd<T>(callback: () => T): T {\n const flags = this.prodParam.currentFlags();\n const prodParamToSet = PARAM_IN & ~flags;\n if (prodParamToSet) {\n this.prodParam.enter(flags | PARAM_IN);\n try {\n return callback();\n } finally {\n this.prodParam.exit();\n }\n }\n return callback();\n }\n\n disallowInAnd<T>(callback: () => T): T {\n const flags = this.prodParam.currentFlags();\n const prodParamToClear = PARAM_IN & flags;\n if (prodParamToClear) {\n this.prodParam.enter(flags & ~PARAM_IN);\n try {\n return callback();\n } finally {\n this.prodParam.exit();\n }\n }\n return callback();\n }\n\n // Register the use of a topic reference within the current\n // topic-binding context.\n registerTopicReference(): void {\n this.state.topicContext.maxTopicIndex = 0;\n }\n\n topicReferenceIsAllowedInCurrentContext(): boolean {\n return this.state.topicContext.maxNumOfResolvableTopics >= 1;\n }\n\n topicReferenceWasUsedInCurrentContext(): boolean {\n return (\n this.state.topicContext.maxTopicIndex != null &&\n this.state.topicContext.maxTopicIndex >= 0\n );\n }\n\n parseFSharpPipelineBody(prec: number): N.Expression {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n\n this.state.potentialArrowAt = this.state.start;\n const oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody;\n this.state.inFSharpPipelineDirectBody = true;\n\n const ret = this.parseExprOp(\n this.parseMaybeUnaryOrPrivate(),\n startPos,\n startLoc,\n prec,\n );\n\n this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody;\n\n return ret;\n }\n\n // https://github.com/tc39/proposal-js-module-blocks\n parseModuleExpression(): N.ModuleExpression {\n this.expectPlugin(\"moduleBlocks\");\n const node = this.startNode<N.ModuleExpression>();\n this.next(); // eat \"module\"\n this.eat(tt.braceL);\n\n const revertScopes = this.initializeScopes(/** inModule */ true);\n this.enterInitialScopes();\n\n const program = this.startNode<N.Program>();\n try {\n node.body = this.parseProgram(program, tt.braceR, \"module\");\n } finally {\n revertScopes();\n }\n this.eat(tt.braceR);\n return this.finishNode<N.ModuleExpression>(node, \"ModuleExpression\");\n }\n\n // Used in Flow plugin\n parsePropertyNamePrefixOperator(\n // eslint-disable-next-line no-unused-vars\n prop: N.ObjectOrClassMember | N.ClassMember,\n ): void {}\n}\n","// @flow\n\nimport * as N from \"../types\";\nimport {\n tokenIsIdentifier,\n tokenIsLoop,\n tokenIsTemplate,\n tt,\n type TokenType,\n getExportedToken,\n} from \"../tokenizer/types\";\nimport ExpressionParser from \"./expression\";\nimport { Errors } from \"../parse-error\";\nimport { isIdentifierChar, isIdentifierStart } from \"../util/identifier\";\nimport { lineBreak } from \"../util/whitespace\";\nimport * as charCodes from \"charcodes\";\nimport {\n BIND_CLASS,\n BIND_LEXICAL,\n BIND_VAR,\n BIND_FUNCTION,\n SCOPE_CLASS,\n SCOPE_FUNCTION,\n SCOPE_OTHER,\n SCOPE_SIMPLE_CATCH,\n SCOPE_STATIC_BLOCK,\n SCOPE_SUPER,\n CLASS_ELEMENT_OTHER,\n CLASS_ELEMENT_INSTANCE_GETTER,\n CLASS_ELEMENT_INSTANCE_SETTER,\n CLASS_ELEMENT_STATIC_GETTER,\n CLASS_ELEMENT_STATIC_SETTER,\n type BindingTypes,\n} from \"../util/scopeflags\";\nimport { ExpressionErrors } from \"./util\";\nimport { PARAM, functionFlags } from \"../util/production-parameter\";\nimport {\n newExpressionScope,\n newParameterDeclarationScope,\n} from \"../util/expression-scope\";\nimport type { SourceType } from \"../options\";\nimport { Token } from \"../tokenizer\";\nimport { Position, createPositionWithColumnOffset } from \"../util/location\";\nimport { cloneStringLiteral, cloneIdentifier } from \"./node\";\n\nconst loopLabel = { kind: \"loop\" },\n switchLabel = { kind: \"switch\" };\n\nconst FUNC_NO_FLAGS = 0b000,\n FUNC_STATEMENT = 0b001,\n FUNC_HANGING_STATEMENT = 0b010,\n FUNC_NULLABLE_ID = 0b100;\n\nconst loneSurrogate = /[\\uD800-\\uDFFF]/u;\n\nconst keywordRelationalOperator = /in(?:stanceof)?/y;\n\n/**\n * Convert tokens for backward Babel 7 compat.\n * tt.privateName => tt.hash + tt.name\n * tt.templateTail => tt.backquote/tt.braceR + tt.template + tt.backquote\n * tt.templateNonTail => tt.backquote/tt.braceR + tt.template + tt.dollarBraceL\n * For performance reasons this routine mutates `tokens`, it is okay\n * here since we execute `parseTopLevel` once for every file.\n * @param {*} tokens\n * @returns\n */\nfunction babel7CompatTokens(tokens, input) {\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n const { type } = token;\n if (typeof type === \"number\") {\n if (!process.env.BABEL_8_BREAKING) {\n if (type === tt.privateName) {\n const { loc, start, value, end } = token;\n const hashEndPos = start + 1;\n const hashEndLoc = createPositionWithColumnOffset(loc.start, 1);\n tokens.splice(\n i,\n 1,\n // $FlowIgnore: hacky way to create token\n new Token({\n type: getExportedToken(tt.hash),\n value: \"#\",\n start: start,\n end: hashEndPos,\n startLoc: loc.start,\n endLoc: hashEndLoc,\n }),\n // $FlowIgnore: hacky way to create token\n new Token({\n type: getExportedToken(tt.name),\n value: value,\n start: hashEndPos,\n end: end,\n startLoc: hashEndLoc,\n endLoc: loc.end,\n }),\n );\n i++;\n continue;\n }\n\n if (tokenIsTemplate(type)) {\n const { loc, start, value, end } = token;\n const backquoteEnd = start + 1;\n const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1);\n let startToken;\n if (input.charCodeAt(start) === charCodes.graveAccent) {\n // $FlowIgnore: hacky way to create token\n startToken = new Token({\n type: getExportedToken(tt.backQuote),\n value: \"`\",\n start: start,\n end: backquoteEnd,\n startLoc: loc.start,\n endLoc: backquoteEndLoc,\n });\n } else {\n // $FlowIgnore: hacky way to create token\n startToken = new Token({\n type: getExportedToken(tt.braceR),\n value: \"}\",\n start: start,\n end: backquoteEnd,\n startLoc: loc.start,\n endLoc: backquoteEndLoc,\n });\n }\n let templateValue,\n templateElementEnd,\n templateElementEndLoc,\n endToken;\n if (type === tt.templateTail) {\n // ends with '`'\n templateElementEnd = end - 1;\n templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1);\n templateValue = value === null ? null : value.slice(1, -1);\n // $FlowIgnore: hacky way to create token\n endToken = new Token({\n type: getExportedToken(tt.backQuote),\n value: \"`\",\n start: templateElementEnd,\n end: end,\n startLoc: templateElementEndLoc,\n endLoc: loc.end,\n });\n } else {\n // ends with `${`\n templateElementEnd = end - 2;\n templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2);\n templateValue = value === null ? null : value.slice(1, -2);\n // $FlowIgnore: hacky way to create token\n endToken = new Token({\n type: getExportedToken(tt.dollarBraceL),\n value: \"${\",\n start: templateElementEnd,\n end: end,\n startLoc: templateElementEndLoc,\n endLoc: loc.end,\n });\n }\n tokens.splice(\n i,\n 1,\n startToken,\n // $FlowIgnore: hacky way to create token\n new Token({\n type: getExportedToken(tt.template),\n value: templateValue,\n start: backquoteEnd,\n end: templateElementEnd,\n startLoc: backquoteEndLoc,\n endLoc: templateElementEndLoc,\n }),\n endToken,\n );\n i += 2;\n continue;\n }\n }\n // $FlowIgnore: we manipulate `token` for performance reasons\n token.type = getExportedToken(type);\n }\n }\n return tokens;\n}\nexport default class StatementParser extends ExpressionParser {\n // ### Statement parsing\n\n // Parse a program. Initializes the parser, reads any number of\n // statements, and wraps them in a Program node. Optionally takes a\n // `program` argument. If present, the statements will be appended\n // to its body instead of creating a new node.\n\n parseTopLevel(file: N.File, program: N.Program): N.File {\n file.program = this.parseProgram(program);\n file.comments = this.state.comments;\n\n if (this.options.tokens) {\n file.tokens = babel7CompatTokens(this.tokens, this.input);\n }\n\n return this.finishNode(file, \"File\");\n }\n\n parseProgram(\n program: N.Program,\n end: TokenType = tt.eof,\n sourceType: SourceType = this.options.sourceType,\n ): N.Program {\n program.sourceType = sourceType;\n program.interpreter = this.parseInterpreterDirective();\n this.parseBlockBody(program, true, true, end);\n if (\n this.inModule &&\n !this.options.allowUndeclaredExports &&\n this.scope.undefinedExports.size > 0\n ) {\n for (const [localName, at] of Array.from(this.scope.undefinedExports)) {\n this.raise(Errors.ModuleExportUndefined, { at, localName });\n }\n }\n return this.finishNode<N.Program>(program, \"Program\");\n }\n\n // TODO\n\n /**\n * cast a Statement to a Directive. This method mutates input statement.\n *\n * @param {N.Statement} stmt\n * @returns {N.Directive}\n * @memberof StatementParser\n */\n stmtToDirective(stmt: N.Statement): N.Directive {\n const directive = (stmt: any);\n directive.type = \"Directive\";\n directive.value = directive.expression;\n delete directive.expression;\n\n const directiveLiteral = directive.value;\n const expressionValue = directiveLiteral.value;\n const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end);\n const val = (directiveLiteral.value = raw.slice(1, -1)); // remove quotes\n\n this.addExtra(directiveLiteral, \"raw\", raw);\n this.addExtra(directiveLiteral, \"rawValue\", val);\n this.addExtra(directiveLiteral, \"expressionValue\", expressionValue);\n\n directiveLiteral.type = \"DirectiveLiteral\";\n\n return directive;\n }\n\n parseInterpreterDirective(): N.InterpreterDirective | null {\n if (!this.match(tt.interpreterDirective)) {\n return null;\n }\n\n const node = this.startNode();\n node.value = this.state.value;\n this.next();\n return this.finishNode(node, \"InterpreterDirective\");\n }\n\n isLet(context: ?string): boolean {\n if (!this.isContextual(tt._let)) {\n return false;\n }\n return this.isLetKeyword(context);\n }\n\n /**\n * Assuming we have seen a contextual `let`, check if it starts a variable declaration\n so that `left` should be interpreted as a `let` keyword.\n *\n * @param {?string} context When `context` is non nullish, it will return early and _skip_ checking\n if the next token after `let` is `{` or a keyword relational operator\n * @returns {boolean}\n * @memberof StatementParser\n */\n isLetKeyword(context: ?string): boolean {\n const next = this.nextTokenStart();\n const nextCh = this.codePointAtPos(next);\n // For ambiguous cases, determine if a LexicalDeclaration (or only a\n // Statement) is allowed here. If context is not empty then only a Statement\n // is allowed. However, `let [` is an explicit negative lookahead for\n // ExpressionStatement, so special-case it first.\n // Also, `let \\` is never valid as an expression so this must be a keyword.\n if (\n nextCh === charCodes.backslash ||\n nextCh === charCodes.leftSquareBracket\n ) {\n return true;\n }\n if (context) return false;\n\n if (nextCh === charCodes.leftCurlyBrace) return true;\n\n if (isIdentifierStart(nextCh)) {\n keywordRelationalOperator.lastIndex = next;\n if (keywordRelationalOperator.test(this.input)) {\n // We have seen `in` or `instanceof` so far, now check if the identfier\n // ends here\n const endCh = this.codePointAtPos(keywordRelationalOperator.lastIndex);\n if (!isIdentifierChar(endCh) && endCh !== charCodes.backslash) {\n return false;\n }\n }\n return true;\n }\n return false;\n }\n\n // Parse a single statement.\n //\n // If expecting a statement and finding a slash operator, parse a\n // regular expression literal. This is to handle cases like\n // `if (foo) /blah/.exec(foo)`, where looking at the previous token\n // does not help.\n // https://tc39.es/ecma262/#prod-Statement\n // ImportDeclaration and ExportDeclaration are also handled here so we can throw recoverable errors\n // when they are not at the top level\n parseStatement(context: ?string, topLevel?: boolean): N.Statement {\n if (this.match(tt.at)) {\n this.parseDecorators(true);\n }\n return this.parseStatementContent(context, topLevel);\n }\n\n parseStatementContent(context: ?string, topLevel: ?boolean): N.Statement {\n let starttype = this.state.type;\n const node = this.startNode();\n let kind;\n\n if (this.isLet(context)) {\n starttype = tt._var;\n kind = \"let\";\n }\n\n // Most types of statements are recognized by the keyword they\n // start with. Many are trivial to parse, some require a bit of\n // complexity.\n\n switch (starttype) {\n case tt._break:\n return this.parseBreakContinueStatement(node, /* isBreak */ true);\n case tt._continue:\n return this.parseBreakContinueStatement(node, /* isBreak */ false);\n case tt._debugger:\n return this.parseDebuggerStatement(node);\n case tt._do:\n return this.parseDoStatement(node);\n case tt._for:\n return this.parseForStatement(node);\n case tt._function:\n if (this.lookaheadCharCode() === charCodes.dot) break;\n if (context) {\n if (this.state.strict) {\n this.raise(Errors.StrictFunction, { at: this.state.startLoc });\n } else if (context !== \"if\" && context !== \"label\") {\n this.raise(Errors.SloppyFunction, { at: this.state.startLoc });\n }\n }\n return this.parseFunctionStatement(node, false, !context);\n\n case tt._class:\n if (context) this.unexpected();\n return this.parseClass(node, true);\n\n case tt._if:\n return this.parseIfStatement(node);\n case tt._return:\n return this.parseReturnStatement(node);\n case tt._switch:\n return this.parseSwitchStatement(node);\n case tt._throw:\n return this.parseThrowStatement(node);\n case tt._try:\n return this.parseTryStatement(node);\n\n case tt._const:\n case tt._var:\n kind = kind || this.state.value;\n if (context && kind !== \"var\") {\n this.raise(Errors.UnexpectedLexicalDeclaration, {\n at: this.state.startLoc,\n });\n }\n return this.parseVarStatement(node, kind);\n\n case tt._while:\n return this.parseWhileStatement(node);\n case tt._with:\n return this.parseWithStatement(node);\n case tt.braceL:\n return this.parseBlock();\n case tt.semi:\n return this.parseEmptyStatement(node);\n case tt._import: {\n const nextTokenCharCode = this.lookaheadCharCode();\n if (\n nextTokenCharCode === charCodes.leftParenthesis || // import()\n nextTokenCharCode === charCodes.dot // import.meta\n ) {\n break;\n }\n }\n // fall through\n case tt._export: {\n if (!this.options.allowImportExportEverywhere && !topLevel) {\n this.raise(Errors.UnexpectedImportExport, {\n at: this.state.startLoc,\n });\n }\n\n this.next(); // eat `import`/`export`\n\n let result;\n if (starttype === tt._import) {\n result = this.parseImport(node);\n\n if (\n result.type === \"ImportDeclaration\" &&\n (!result.importKind || result.importKind === \"value\")\n ) {\n this.sawUnambiguousESM = true;\n }\n } else {\n result = this.parseExport(node);\n\n if (\n (result.type === \"ExportNamedDeclaration\" &&\n (!result.exportKind || result.exportKind === \"value\")) ||\n (result.type === \"ExportAllDeclaration\" &&\n (!result.exportKind || result.exportKind === \"value\")) ||\n result.type === \"ExportDefaultDeclaration\"\n ) {\n this.sawUnambiguousESM = true;\n }\n }\n\n this.assertModuleNodeAllowed(node);\n\n return result;\n }\n\n default: {\n if (this.isAsyncFunction()) {\n if (context) {\n this.raise(Errors.AsyncFunctionInSingleStatementContext, {\n at: this.state.startLoc,\n });\n }\n this.next();\n return this.parseFunctionStatement(node, true, !context);\n }\n }\n }\n\n // If the statement does not start with a statement keyword or a\n // brace, it's an ExpressionStatement or LabeledStatement. We\n // simply start parsing an expression, and afterwards, if the\n // next token is a colon and the expression was a simple\n // Identifier node, we switch to interpreting it as a label.\n const maybeName = this.state.value;\n const expr = this.parseExpression();\n\n if (\n tokenIsIdentifier(starttype) &&\n expr.type === \"Identifier\" &&\n this.eat(tt.colon)\n ) {\n return this.parseLabeledStatement(node, maybeName, expr, context);\n } else {\n return this.parseExpressionStatement(node, expr);\n }\n }\n\n assertModuleNodeAllowed(node: N.Node): void {\n if (!this.options.allowImportExportEverywhere && !this.inModule) {\n this.raise(Errors.ImportOutsideModule, { at: node });\n }\n }\n\n takeDecorators(node: N.HasDecorators): void {\n const decorators =\n this.state.decoratorStack[this.state.decoratorStack.length - 1];\n if (decorators.length) {\n node.decorators = decorators;\n this.resetStartLocationFromNode(node, decorators[0]);\n this.state.decoratorStack[this.state.decoratorStack.length - 1] = [];\n }\n }\n\n canHaveLeadingDecorator(): boolean {\n return this.match(tt._class);\n }\n\n parseDecorators(allowExport?: boolean): void {\n const currentContextDecorators =\n this.state.decoratorStack[this.state.decoratorStack.length - 1];\n while (this.match(tt.at)) {\n const decorator = this.parseDecorator();\n currentContextDecorators.push(decorator);\n }\n\n if (this.match(tt._export)) {\n if (!allowExport) {\n this.unexpected();\n }\n\n if (\n this.hasPlugin(\"decorators\") &&\n !this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\")\n ) {\n this.raise(Errors.DecoratorExportClass, { at: this.state.startLoc });\n }\n } else if (!this.canHaveLeadingDecorator()) {\n throw this.raise(Errors.UnexpectedLeadingDecorator, {\n at: this.state.startLoc,\n });\n }\n }\n\n parseDecorator(): N.Decorator {\n this.expectOnePlugin([\"decorators-legacy\", \"decorators\"]);\n\n const node = this.startNode();\n this.next();\n\n if (this.hasPlugin(\"decorators\")) {\n // Every time a decorator class expression is evaluated, a new empty array is pushed onto the stack\n // So that the decorators of any nested class expressions will be dealt with separately\n this.state.decoratorStack.push([]);\n\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n let expr: N.Expression;\n\n if (this.match(tt.parenL)) {\n const startPos = this.state.start;\n const startLoc = this.state.startLoc;\n this.next(); // eat '('\n expr = this.parseExpression();\n this.expect(tt.parenR);\n expr = this.wrapParenthesis(startPos, startLoc, expr);\n } else {\n expr = this.parseIdentifier(false);\n\n while (this.eat(tt.dot)) {\n const node = this.startNodeAt(startPos, startLoc);\n node.object = expr;\n node.property = this.parseIdentifier(true);\n node.computed = false;\n expr = this.finishNode(node, \"MemberExpression\");\n }\n }\n\n node.expression = this.parseMaybeDecoratorArguments(expr);\n this.state.decoratorStack.pop();\n } else {\n node.expression = this.parseExprSubscripts();\n }\n return this.finishNode(node, \"Decorator\");\n }\n\n parseMaybeDecoratorArguments(expr: N.Expression): N.Expression {\n if (this.eat(tt.parenL)) {\n const node = this.startNodeAtNode(expr);\n node.callee = expr;\n node.arguments = this.parseCallExpressionArguments(tt.parenR, false);\n this.toReferencedList(node.arguments);\n return this.finishNode(node, \"CallExpression\");\n }\n\n return expr;\n }\n\n parseBreakContinueStatement(\n node: N.BreakStatement | N.ContinueStatement,\n isBreak: boolean,\n ): N.BreakStatement | N.ContinueStatement {\n this.next();\n\n if (this.isLineTerminator()) {\n node.label = null;\n } else {\n node.label = this.parseIdentifier();\n this.semicolon();\n }\n\n this.verifyBreakContinue(node, isBreak);\n\n return this.finishNode(\n node,\n isBreak ? \"BreakStatement\" : \"ContinueStatement\",\n );\n }\n\n verifyBreakContinue(\n node: N.BreakStatement | N.ContinueStatement,\n isBreak: boolean,\n ) {\n let i;\n for (i = 0; i < this.state.labels.length; ++i) {\n const lab = this.state.labels[i];\n if (node.label == null || lab.name === node.label.name) {\n if (lab.kind != null && (isBreak || lab.kind === \"loop\")) break;\n if (node.label && isBreak) break;\n }\n }\n if (i === this.state.labels.length) {\n const type = isBreak ? \"BreakStatement\" : \"ContinueStatement\";\n this.raise(Errors.IllegalBreakContinue, { at: node, type });\n }\n }\n\n parseDebuggerStatement(node: N.DebuggerStatement): N.DebuggerStatement {\n this.next();\n this.semicolon();\n return this.finishNode(node, \"DebuggerStatement\");\n }\n\n parseHeaderExpression(): N.Expression {\n this.expect(tt.parenL);\n const val = this.parseExpression();\n this.expect(tt.parenR);\n return val;\n }\n\n parseDoStatement(node: N.DoWhileStatement): N.DoWhileStatement {\n this.next();\n this.state.labels.push(loopLabel);\n\n // Parse the loop body's body.\n node.body =\n // For the smartPipelines plugin: Disable topic references from outer\n // contexts within the loop body. They are permitted in test expressions,\n // outside of the loop body.\n this.withSmartMixTopicForbiddingContext(() =>\n // Parse the loop body's body.\n this.parseStatement(\"do\"),\n );\n\n this.state.labels.pop();\n\n this.expect(tt._while);\n node.test = this.parseHeaderExpression();\n this.eat(tt.semi);\n return this.finishNode(node, \"DoWhileStatement\");\n }\n\n // Disambiguating between a `for` and a `for`/`in` or `for`/`of`\n // loop is non-trivial. Basically, we have to parse the init `var`\n // statement or expression, disallowing the `in` operator (see\n // the second parameter to `parseExpression`), and then check\n // whether the next token is `in` or `of`. When there is no init\n // part (semicolon immediately after the opening parenthesis), it\n // is a regular `for` loop.\n\n parseForStatement(node: N.Node): N.ForLike {\n this.next();\n this.state.labels.push(loopLabel);\n\n let awaitAt = null;\n\n if (this.isAwaitAllowed() && this.eatContextual(tt._await)) {\n awaitAt = this.state.lastTokStartLoc;\n }\n this.scope.enter(SCOPE_OTHER);\n this.expect(tt.parenL);\n\n if (this.match(tt.semi)) {\n if (awaitAt !== null) {\n this.unexpected(awaitAt);\n }\n return this.parseFor(node, null);\n }\n\n const startsWithLet = this.isContextual(tt._let);\n const isLet = startsWithLet && this.isLetKeyword();\n if (this.match(tt._var) || this.match(tt._const) || isLet) {\n const init = this.startNode();\n const kind = isLet ? \"let\" : this.state.value;\n this.next();\n this.parseVar(init, true, kind);\n this.finishNode(init, \"VariableDeclaration\");\n\n if (\n (this.match(tt._in) || this.isContextual(tt._of)) &&\n init.declarations.length === 1\n ) {\n return this.parseForIn(node, init, awaitAt);\n }\n if (awaitAt !== null) {\n this.unexpected(awaitAt);\n }\n return this.parseFor(node, init);\n }\n\n // Check whether the first token is possibly a contextual keyword, so that\n // we can forbid `for (async of` if this turns out to be a for-of loop.\n const startsWithAsync = this.isContextual(tt._async);\n\n const refExpressionErrors = new ExpressionErrors();\n const init = this.parseExpression(true, refExpressionErrors);\n const isForOf = this.isContextual(tt._of);\n if (isForOf) {\n // Check for leading tokens that are forbidden in for-of loops:\n if (startsWithLet) {\n this.raise(Errors.ForOfLet, { at: init });\n }\n\n if (\n // `for await (async of []);` is allowed.\n awaitAt === null &&\n startsWithAsync &&\n init.type === \"Identifier\"\n ) {\n // This catches the case where the `async` in `for (async of` was\n // parsed as an identifier. If it was parsed as the start of an async\n // arrow function (e.g. `for (async of => {} of []);`), the LVal check\n // further down will raise a more appropriate error.\n this.raise(Errors.ForOfAsync, { at: init });\n }\n }\n if (isForOf || this.match(tt._in)) {\n this.checkDestructuringPrivate(refExpressionErrors);\n this.toAssignable(init, /* isLHS */ true);\n const type = isForOf ? \"ForOfStatement\" : \"ForInStatement\";\n this.checkLVal(init, { in: { type } });\n return this.parseForIn(node, init, awaitAt);\n } else {\n this.checkExpressionErrors(refExpressionErrors, true);\n }\n if (awaitAt !== null) {\n this.unexpected(awaitAt);\n }\n return this.parseFor(node, init);\n }\n\n parseFunctionStatement(\n node: N.FunctionDeclaration,\n isAsync?: boolean,\n declarationPosition?: boolean,\n ): N.FunctionDeclaration {\n this.next();\n return this.parseFunction(\n node,\n FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT),\n isAsync,\n );\n }\n\n parseIfStatement(node: N.IfStatement): N.IfStatement {\n this.next();\n node.test = this.parseHeaderExpression();\n node.consequent = this.parseStatement(\"if\");\n node.alternate = this.eat(tt._else) ? this.parseStatement(\"if\") : null;\n return this.finishNode(node, \"IfStatement\");\n }\n\n parseReturnStatement(node: N.ReturnStatement): N.ReturnStatement {\n if (!this.prodParam.hasReturn && !this.options.allowReturnOutsideFunction) {\n this.raise(Errors.IllegalReturn, { at: this.state.startLoc });\n }\n\n this.next();\n\n // In `return` (and `break`/`continue`), the keywords with\n // optional arguments, we eagerly look for a semicolon or the\n // possibility to insert one.\n\n if (this.isLineTerminator()) {\n node.argument = null;\n } else {\n node.argument = this.parseExpression();\n this.semicolon();\n }\n\n return this.finishNode(node, \"ReturnStatement\");\n }\n\n parseSwitchStatement(node: N.SwitchStatement): N.SwitchStatement {\n this.next();\n node.discriminant = this.parseHeaderExpression();\n const cases = (node.cases = []);\n this.expect(tt.braceL);\n this.state.labels.push(switchLabel);\n this.scope.enter(SCOPE_OTHER);\n\n // Statements under must be grouped (by label) in SwitchCase\n // nodes. `cur` is used to keep the node that we are currently\n // adding statements to.\n\n let cur;\n for (let sawDefault; !this.match(tt.braceR); ) {\n if (this.match(tt._case) || this.match(tt._default)) {\n const isCase = this.match(tt._case);\n if (cur) this.finishNode(cur, \"SwitchCase\");\n cases.push((cur = this.startNode()));\n cur.consequent = [];\n this.next();\n if (isCase) {\n cur.test = this.parseExpression();\n } else {\n if (sawDefault) {\n this.raise(Errors.MultipleDefaultsInSwitch, {\n at: this.state.lastTokStartLoc,\n });\n }\n sawDefault = true;\n cur.test = null;\n }\n this.expect(tt.colon);\n } else {\n if (cur) {\n cur.consequent.push(this.parseStatement(null));\n } else {\n this.unexpected();\n }\n }\n }\n this.scope.exit();\n if (cur) this.finishNode(cur, \"SwitchCase\");\n this.next(); // Closing brace\n this.state.labels.pop();\n return this.finishNode(node, \"SwitchStatement\");\n }\n\n parseThrowStatement(node: N.ThrowStatement): N.ThrowStatement {\n this.next();\n if (this.hasPrecedingLineBreak()) {\n this.raise(Errors.NewlineAfterThrow, { at: this.state.lastTokEndLoc });\n }\n node.argument = this.parseExpression();\n this.semicolon();\n return this.finishNode(node, \"ThrowStatement\");\n }\n\n parseCatchClauseParam(): N.Pattern {\n const param = this.parseBindingAtom();\n\n const simple = param.type === \"Identifier\";\n this.scope.enter(simple ? SCOPE_SIMPLE_CATCH : 0);\n this.checkLVal(param, {\n in: { type: \"CatchClause\" },\n binding: BIND_LEXICAL,\n allowingSloppyLetBinding: true,\n });\n\n return param;\n }\n\n parseTryStatement(node: N.TryStatement): N.TryStatement {\n this.next();\n\n node.block = this.parseBlock();\n node.handler = null;\n\n if (this.match(tt._catch)) {\n const clause = this.startNode();\n this.next();\n if (this.match(tt.parenL)) {\n this.expect(tt.parenL);\n clause.param = this.parseCatchClauseParam();\n this.expect(tt.parenR);\n } else {\n clause.param = null;\n this.scope.enter(SCOPE_OTHER);\n }\n\n // Parse the catch clause's body.\n clause.body =\n // For the smartPipelines plugin: Disable topic references from outer\n // contexts within the catch clause's body.\n this.withSmartMixTopicForbiddingContext(() =>\n // Parse the catch clause's body.\n this.parseBlock(false, false),\n );\n\n this.scope.exit();\n node.handler = this.finishNode(clause, \"CatchClause\");\n }\n\n node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null;\n\n if (!node.handler && !node.finalizer) {\n this.raise(Errors.NoCatchOrFinally, { at: node });\n }\n\n return this.finishNode(node, \"TryStatement\");\n }\n\n parseVarStatement(\n node: N.VariableDeclaration,\n kind: \"var\" | \"let\" | \"const\",\n allowMissingInitializer: boolean = false,\n ): N.VariableDeclaration {\n this.next();\n this.parseVar(node, false, kind, allowMissingInitializer);\n this.semicolon();\n return this.finishNode(node, \"VariableDeclaration\");\n }\n\n parseWhileStatement(node: N.WhileStatement): N.WhileStatement {\n this.next();\n node.test = this.parseHeaderExpression();\n this.state.labels.push(loopLabel);\n\n // Parse the loop body.\n node.body =\n // For the smartPipelines plugin:\n // Disable topic references from outer contexts within the loop body.\n // They are permitted in test expressions, outside of the loop body.\n this.withSmartMixTopicForbiddingContext(() =>\n // Parse loop body.\n this.parseStatement(\"while\"),\n );\n\n this.state.labels.pop();\n\n return this.finishNode(node, \"WhileStatement\");\n }\n\n parseWithStatement(node: N.WithStatement): N.WithStatement {\n if (this.state.strict) {\n this.raise(Errors.StrictWith, { at: this.state.startLoc });\n }\n this.next();\n node.object = this.parseHeaderExpression();\n\n // Parse the statement body.\n node.body =\n // For the smartPipelines plugin:\n // Disable topic references from outer contexts within the with statement's body.\n // They are permitted in function default-parameter expressions, which are\n // part of the outer context, outside of the with statement's body.\n this.withSmartMixTopicForbiddingContext(() =>\n // Parse the statement body.\n this.parseStatement(\"with\"),\n );\n\n return this.finishNode(node, \"WithStatement\");\n }\n\n parseEmptyStatement(node: N.EmptyStatement): N.EmptyStatement {\n this.next();\n return this.finishNode(node, \"EmptyStatement\");\n }\n\n parseLabeledStatement(\n node: N.LabeledStatement,\n maybeName: string,\n expr: N.Identifier,\n context: ?string,\n ): N.LabeledStatement {\n for (const label of this.state.labels) {\n if (label.name === maybeName) {\n this.raise(Errors.LabelRedeclaration, {\n at: expr,\n labelName: maybeName,\n });\n }\n }\n\n const kind = tokenIsLoop(this.state.type)\n ? \"loop\"\n : this.match(tt._switch)\n ? \"switch\"\n : null;\n for (let i = this.state.labels.length - 1; i >= 0; i--) {\n const label = this.state.labels[i];\n if (label.statementStart === node.start) {\n label.statementStart = this.state.start;\n label.kind = kind;\n } else {\n break;\n }\n }\n\n this.state.labels.push({\n name: maybeName,\n kind: kind,\n statementStart: this.state.start,\n });\n node.body = this.parseStatement(\n context\n ? context.indexOf(\"label\") === -1\n ? context + \"label\"\n : context\n : \"label\",\n );\n\n this.state.labels.pop();\n node.label = expr;\n return this.finishNode(node, \"LabeledStatement\");\n }\n\n parseExpressionStatement(\n node: N.ExpressionStatement,\n expr: N.Expression,\n ): N.Statement {\n node.expression = expr;\n this.semicolon();\n return this.finishNode(node, \"ExpressionStatement\");\n }\n\n // Parse a semicolon-enclosed block of statements, handling `\"use\n // strict\"` declarations when `allowDirectives` is true (used for\n // function bodies).\n\n parseBlock(\n allowDirectives?: boolean = false,\n createNewLexicalScope?: boolean = true,\n afterBlockParse?: (hasStrictModeDirective: boolean) => void,\n ): N.BlockStatement {\n const node = this.startNode();\n if (allowDirectives) {\n this.state.strictErrors.clear();\n }\n this.expect(tt.braceL);\n if (createNewLexicalScope) {\n this.scope.enter(SCOPE_OTHER);\n }\n this.parseBlockBody(\n node,\n allowDirectives,\n false,\n tt.braceR,\n afterBlockParse,\n );\n if (createNewLexicalScope) {\n this.scope.exit();\n }\n return this.finishNode(node, \"BlockStatement\");\n }\n\n isValidDirective(stmt: N.Statement): boolean {\n return (\n stmt.type === \"ExpressionStatement\" &&\n stmt.expression.type === \"StringLiteral\" &&\n !stmt.expression.extra.parenthesized\n );\n }\n\n parseBlockBody(\n node: N.BlockStatementLike,\n allowDirectives: ?boolean,\n topLevel: boolean,\n end: TokenType,\n afterBlockParse?: (hasStrictModeDirective: boolean) => void,\n ): void {\n const body = (node.body = []);\n const directives = (node.directives = []);\n this.parseBlockOrModuleBlockBody(\n body,\n allowDirectives ? directives : undefined,\n topLevel,\n end,\n afterBlockParse,\n );\n }\n\n // Undefined directives means that directives are not allowed.\n // https://tc39.es/ecma262/#prod-Block\n // https://tc39.es/ecma262/#prod-ModuleBody\n parseBlockOrModuleBlockBody(\n body: N.Statement[],\n directives: ?(N.Directive[]),\n topLevel: boolean,\n end: TokenType,\n afterBlockParse?: (hasStrictModeDirective: boolean) => void,\n ): void {\n const oldStrict = this.state.strict;\n let hasStrictModeDirective = false;\n let parsedNonDirective = false;\n\n while (!this.match(end)) {\n const stmt = this.parseStatement(null, topLevel);\n\n if (directives && !parsedNonDirective) {\n if (this.isValidDirective(stmt)) {\n const directive = this.stmtToDirective(stmt);\n directives.push(directive);\n\n if (\n !hasStrictModeDirective &&\n directive.value.value === \"use strict\"\n ) {\n hasStrictModeDirective = true;\n this.setStrict(true);\n }\n\n continue;\n }\n parsedNonDirective = true;\n // clear strict errors since the strict mode will not change within the block\n this.state.strictErrors.clear();\n }\n body.push(stmt);\n }\n\n if (afterBlockParse) {\n afterBlockParse.call(this, hasStrictModeDirective);\n }\n\n if (!oldStrict) {\n this.setStrict(false);\n }\n\n this.next();\n }\n\n // Parse a regular `for` loop. The disambiguation code in\n // `parseStatement` will already have parsed the init statement or\n // expression.\n\n parseFor(\n node: N.ForStatement,\n init: ?(N.VariableDeclaration | N.Expression),\n ): N.ForStatement {\n node.init = init;\n this.semicolon(/* allowAsi */ false);\n node.test = this.match(tt.semi) ? null : this.parseExpression();\n this.semicolon(/* allowAsi */ false);\n node.update = this.match(tt.parenR) ? null : this.parseExpression();\n this.expect(tt.parenR);\n\n // Parse the loop body.\n node.body =\n // For the smartPipelines plugin: Disable topic references from outer\n // contexts within the loop body. They are permitted in test expressions,\n // outside of the loop body.\n this.withSmartMixTopicForbiddingContext(() =>\n // Parse the loop body.\n this.parseStatement(\"for\"),\n );\n\n this.scope.exit();\n this.state.labels.pop();\n\n return this.finishNode(node, \"ForStatement\");\n }\n\n // Parse a `for`/`in` and `for`/`of` loop, which are almost\n // same from parser's perspective.\n\n parseForIn(\n node: N.ForInOf,\n init: N.VariableDeclaration | N.AssignmentPattern,\n awaitAt: ?Position,\n ): N.ForInOf {\n const isForIn = this.match(tt._in);\n this.next();\n\n if (isForIn) {\n if (awaitAt !== null) this.unexpected(awaitAt);\n } else {\n node.await = awaitAt !== null;\n }\n\n if (\n init.type === \"VariableDeclaration\" &&\n init.declarations[0].init != null &&\n (!isForIn ||\n this.state.strict ||\n init.kind !== \"var\" ||\n init.declarations[0].id.type !== \"Identifier\")\n ) {\n this.raise(Errors.ForInOfLoopInitializer, {\n at: init,\n type: isForIn ? \"ForInStatement\" : \"ForOfStatement\",\n });\n }\n\n if (init.type === \"AssignmentPattern\") {\n this.raise(Errors.InvalidLhs, {\n at: init,\n ancestor: { type: \"ForStatement\" },\n });\n }\n\n node.left = init;\n node.right = isForIn\n ? this.parseExpression()\n : this.parseMaybeAssignAllowIn();\n this.expect(tt.parenR);\n\n // Parse the loop body.\n node.body =\n // For the smartPipelines plugin:\n // Disable topic references from outer contexts within the loop body.\n // They are permitted in test expressions, outside of the loop body.\n this.withSmartMixTopicForbiddingContext(() =>\n // Parse loop body.\n this.parseStatement(\"for\"),\n );\n\n this.scope.exit();\n this.state.labels.pop();\n\n return this.finishNode(node, isForIn ? \"ForInStatement\" : \"ForOfStatement\");\n }\n\n // Parse a list of variable declarations.\n\n parseVar(\n node: N.VariableDeclaration,\n isFor: boolean,\n kind: \"var\" | \"let\" | \"const\",\n allowMissingInitializer: boolean = false,\n ): N.VariableDeclaration {\n const declarations = (node.declarations = []);\n node.kind = kind;\n for (;;) {\n const decl = this.startNode();\n this.parseVarId(decl, kind);\n decl.init = !this.eat(tt.eq)\n ? null\n : isFor\n ? this.parseMaybeAssignDisallowIn()\n : this.parseMaybeAssignAllowIn();\n\n if (decl.init === null && !allowMissingInitializer) {\n if (\n decl.id.type !== \"Identifier\" &&\n !(isFor && (this.match(tt._in) || this.isContextual(tt._of)))\n ) {\n this.raise(Errors.DeclarationMissingInitializer, {\n at: this.state.lastTokEndLoc,\n kind: \"destructuring\",\n });\n } else if (\n kind === \"const\" &&\n !(this.match(tt._in) || this.isContextual(tt._of))\n ) {\n this.raise(Errors.DeclarationMissingInitializer, {\n at: this.state.lastTokEndLoc,\n kind: \"const\",\n });\n }\n }\n declarations.push(this.finishNode(decl, \"VariableDeclarator\"));\n if (!this.eat(tt.comma)) break;\n }\n return node;\n }\n\n parseVarId(decl: N.VariableDeclarator, kind: \"var\" | \"let\" | \"const\"): void {\n decl.id = this.parseBindingAtom();\n this.checkLVal(decl.id, {\n in: { type: \"VariableDeclarator\" },\n binding: kind === \"var\" ? BIND_VAR : BIND_LEXICAL,\n });\n }\n\n // Parse a function declaration or literal (depending on the\n // `isStatement` parameter).\n\n parseFunction<T: N.NormalFunction>(\n node: T,\n statement?: number = FUNC_NO_FLAGS,\n isAsync?: boolean = false,\n ): T {\n const isStatement = statement & FUNC_STATEMENT;\n const isHangingStatement = statement & FUNC_HANGING_STATEMENT;\n const requireId = !!isStatement && !(statement & FUNC_NULLABLE_ID);\n\n this.initFunction(node, isAsync);\n\n if (this.match(tt.star) && isHangingStatement) {\n this.raise(Errors.GeneratorInSingleStatementContext, {\n at: this.state.startLoc,\n });\n }\n node.generator = this.eat(tt.star);\n\n if (isStatement) {\n node.id = this.parseFunctionId(requireId);\n }\n\n const oldMaybeInArrowParameters = this.state.maybeInArrowParameters;\n this.state.maybeInArrowParameters = false;\n this.scope.enter(SCOPE_FUNCTION);\n this.prodParam.enter(functionFlags(isAsync, node.generator));\n\n if (!isStatement) {\n node.id = this.parseFunctionId();\n }\n\n this.parseFunctionParams(node, /* allowModifiers */ false);\n\n // For the smartPipelines plugin: Disable topic references from outer\n // contexts within the function body. They are permitted in function\n // default-parameter expressions, outside of the function body.\n this.withSmartMixTopicForbiddingContext(() => {\n // Parse the function body.\n this.parseFunctionBodyAndFinish(\n node,\n isStatement ? \"FunctionDeclaration\" : \"FunctionExpression\",\n );\n });\n\n this.prodParam.exit();\n this.scope.exit();\n\n if (isStatement && !isHangingStatement) {\n // We need to register this _after_ parsing the function body\n // because of TypeScript body-less function declarations,\n // which shouldn't be added to the scope.\n this.registerFunctionStatementId(node);\n }\n\n this.state.maybeInArrowParameters = oldMaybeInArrowParameters;\n return node;\n }\n\n parseFunctionId(requireId?: boolean): ?N.Identifier {\n return requireId || tokenIsIdentifier(this.state.type)\n ? this.parseIdentifier()\n : null;\n }\n\n parseFunctionParams(node: N.Function, allowModifiers?: boolean): void {\n this.expect(tt.parenL);\n this.expressionScope.enter(newParameterDeclarationScope());\n node.params = this.parseBindingList(\n tt.parenR,\n charCodes.rightParenthesis,\n /* allowEmpty */ false,\n allowModifiers,\n );\n\n this.expressionScope.exit();\n }\n\n registerFunctionStatementId(node: N.Function): void {\n if (!node.id) return;\n\n // If it is a regular function declaration in sloppy mode, then it is\n // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding\n // mode depends on properties of the current scope (see\n // treatFunctionsAsVar).\n this.scope.declareName(\n node.id.name,\n this.state.strict || node.generator || node.async\n ? this.scope.treatFunctionsAsVar\n ? BIND_VAR\n : BIND_LEXICAL\n : BIND_FUNCTION,\n node.id.loc.start,\n );\n }\n\n // Parse a class declaration or literal (depending on the\n // `isStatement` parameter).\n\n parseClass<T: N.Class>(\n node: T,\n isStatement: /* T === ClassDeclaration */ boolean,\n optionalId?: boolean,\n ): T {\n this.next();\n this.takeDecorators(node);\n\n // A class definition is always strict mode code.\n const oldStrict = this.state.strict;\n this.state.strict = true;\n\n this.parseClassId(node, isStatement, optionalId);\n this.parseClassSuper(node);\n // this.state.strict is restored in parseClassBody\n node.body = this.parseClassBody(!!node.superClass, oldStrict);\n\n return this.finishNode(\n node,\n isStatement ? \"ClassDeclaration\" : \"ClassExpression\",\n );\n }\n\n isClassProperty(): boolean {\n return this.match(tt.eq) || this.match(tt.semi) || this.match(tt.braceR);\n }\n\n isClassMethod(): boolean {\n return this.match(tt.parenL);\n }\n\n isNonstaticConstructor(method: N.ClassMethod | N.ClassProperty): boolean {\n return (\n !method.computed &&\n !method.static &&\n (method.key.name === \"constructor\" || // Identifier\n method.key.value === \"constructor\") // String literal\n );\n }\n\n // https://tc39.es/ecma262/#prod-ClassBody\n parseClassBody(hadSuperClass: boolean, oldStrict: boolean): N.ClassBody {\n this.classScope.enter();\n\n const state: N.ParseClassMemberState = {\n hadConstructor: false,\n hadSuperClass,\n };\n let decorators: N.Decorator[] = [];\n const classBody: N.ClassBody = this.startNode();\n classBody.body = [];\n\n this.expect(tt.braceL);\n\n // For the smartPipelines plugin: Disable topic references from outer\n // contexts within the class body.\n this.withSmartMixTopicForbiddingContext(() => {\n // Parse the contents within the braces.\n while (!this.match(tt.braceR)) {\n if (this.eat(tt.semi)) {\n if (decorators.length > 0) {\n throw this.raise(Errors.DecoratorSemicolon, {\n at: this.state.lastTokEndLoc,\n });\n }\n continue;\n }\n\n if (this.match(tt.at)) {\n decorators.push(this.parseDecorator());\n continue;\n }\n\n const member = this.startNode();\n\n // steal the decorators if there are any\n if (decorators.length) {\n member.decorators = decorators;\n this.resetStartLocationFromNode(member, decorators[0]);\n decorators = [];\n }\n\n this.parseClassMember(classBody, member, state);\n\n if (\n member.kind === \"constructor\" &&\n member.decorators &&\n member.decorators.length > 0\n ) {\n this.raise(Errors.DecoratorConstructor, { at: member });\n }\n }\n });\n\n this.state.strict = oldStrict;\n\n this.next(); // eat `}`\n\n if (decorators.length) {\n throw this.raise(Errors.TrailingDecorator, { at: this.state.startLoc });\n }\n\n this.classScope.exit();\n\n return this.finishNode(classBody, \"ClassBody\");\n }\n\n // returns true if the current identifier is a method/field name,\n // false if it is a modifier\n parseClassMemberFromModifier(\n classBody: N.ClassBody,\n member: N.ClassMember,\n ): boolean {\n const key = this.parseIdentifier(true); // eats the modifier\n\n if (this.isClassMethod()) {\n const method: N.ClassMethod = (member: any);\n\n // a method named like the modifier\n method.kind = \"method\";\n method.computed = false;\n method.key = key;\n method.static = false;\n this.pushClassMethod(\n classBody,\n method,\n false,\n false,\n /* isConstructor */ false,\n false,\n );\n return true;\n } else if (this.isClassProperty()) {\n const prop: N.ClassProperty = (member: any);\n\n // a property named like the modifier\n prop.computed = false;\n prop.key = key;\n prop.static = false;\n classBody.body.push(this.parseClassProperty(prop));\n return true;\n }\n this.resetPreviousNodeTrailingComments(key);\n return false;\n }\n\n parseClassMember(\n classBody: N.ClassBody,\n member: N.ClassMember,\n state: N.ParseClassMemberState,\n ): void {\n const isStatic = this.isContextual(tt._static);\n\n if (isStatic) {\n if (this.parseClassMemberFromModifier(classBody, member)) {\n // a class element named 'static'\n return;\n }\n if (this.eat(tt.braceL)) {\n this.parseClassStaticBlock(classBody, ((member: any): N.StaticBlock));\n return;\n }\n }\n\n this.parseClassMemberWithIsStatic(classBody, member, state, isStatic);\n }\n\n parseClassMemberWithIsStatic(\n classBody: N.ClassBody,\n member: N.ClassMember,\n state: N.ParseClassMemberState,\n isStatic: boolean,\n ) {\n const publicMethod: $FlowSubtype<N.ClassMethod> = member;\n const privateMethod: $FlowSubtype<N.ClassPrivateMethod> = member;\n const publicProp: $FlowSubtype<N.ClassProperty> = member;\n const privateProp: $FlowSubtype<N.ClassPrivateProperty> = member;\n const accessorProp: $FlowSubtype<N.ClassAccessorProperty> = member;\n\n const method: typeof publicMethod | typeof privateMethod = publicMethod;\n const publicMember: typeof publicMethod | typeof publicProp = publicMethod;\n\n member.static = isStatic;\n this.parsePropertyNamePrefixOperator(member);\n\n if (this.eat(tt.star)) {\n // a generator\n method.kind = \"method\";\n const isPrivateName = this.match(tt.privateName);\n this.parseClassElementName(method);\n\n if (isPrivateName) {\n // Private generator method\n this.pushClassPrivateMethod(classBody, privateMethod, true, false);\n return;\n }\n\n if (this.isNonstaticConstructor(publicMethod)) {\n this.raise(Errors.ConstructorIsGenerator, {\n at: publicMethod.key,\n });\n }\n\n this.pushClassMethod(\n classBody,\n publicMethod,\n true,\n false,\n /* isConstructor */ false,\n false,\n );\n\n return;\n }\n\n const isContextual =\n tokenIsIdentifier(this.state.type) && !this.state.containsEsc;\n const isPrivate = this.match(tt.privateName);\n const key = this.parseClassElementName(member);\n const maybeQuestionTokenStartLoc = this.state.startLoc;\n\n this.parsePostMemberNameModifiers(publicMember);\n\n if (this.isClassMethod()) {\n method.kind = \"method\";\n\n if (isPrivate) {\n this.pushClassPrivateMethod(classBody, privateMethod, false, false);\n return;\n }\n\n // a normal method\n const isConstructor = this.isNonstaticConstructor(publicMethod);\n let allowsDirectSuper = false;\n if (isConstructor) {\n publicMethod.kind = \"constructor\";\n\n // TypeScript allows multiple overloaded constructor declarations.\n if (state.hadConstructor && !this.hasPlugin(\"typescript\")) {\n this.raise(Errors.DuplicateConstructor, { at: key });\n }\n if (isConstructor && this.hasPlugin(\"typescript\") && member.override) {\n this.raise(Errors.OverrideOnConstructor, { at: key });\n }\n state.hadConstructor = true;\n allowsDirectSuper = state.hadSuperClass;\n }\n\n this.pushClassMethod(\n classBody,\n publicMethod,\n false,\n false,\n isConstructor,\n allowsDirectSuper,\n );\n } else if (this.isClassProperty()) {\n if (isPrivate) {\n this.pushClassPrivateProperty(classBody, privateProp);\n } else {\n this.pushClassProperty(classBody, publicProp);\n }\n } else if (\n isContextual &&\n key.name === \"async\" &&\n !this.isLineTerminator()\n ) {\n // an async method\n this.resetPreviousNodeTrailingComments(key);\n const isGenerator = this.eat(tt.star);\n\n if (publicMember.optional) {\n this.unexpected(maybeQuestionTokenStartLoc);\n }\n\n method.kind = \"method\";\n // The so-called parsed name would have been \"async\": get the real name.\n const isPrivate = this.match(tt.privateName);\n this.parseClassElementName(method);\n this.parsePostMemberNameModifiers(publicMember);\n\n if (isPrivate) {\n // private async method\n this.pushClassPrivateMethod(\n classBody,\n privateMethod,\n isGenerator,\n true,\n );\n } else {\n if (this.isNonstaticConstructor(publicMethod)) {\n this.raise(Errors.ConstructorIsAsync, { at: publicMethod.key });\n }\n\n this.pushClassMethod(\n classBody,\n publicMethod,\n isGenerator,\n true,\n /* isConstructor */ false,\n false,\n );\n }\n } else if (\n isContextual &&\n (key.name === \"get\" || key.name === \"set\") &&\n !(this.match(tt.star) && this.isLineTerminator())\n ) {\n // `get\\n*` is an uninitialized property named 'get' followed by a generator.\n // a getter or setter\n this.resetPreviousNodeTrailingComments(key);\n method.kind = key.name;\n // The so-called parsed name would have been \"get/set\": get the real name.\n const isPrivate = this.match(tt.privateName);\n this.parseClassElementName(publicMethod);\n\n if (isPrivate) {\n // private getter/setter\n this.pushClassPrivateMethod(classBody, privateMethod, false, false);\n } else {\n if (this.isNonstaticConstructor(publicMethod)) {\n this.raise(Errors.ConstructorIsAccessor, { at: publicMethod.key });\n }\n this.pushClassMethod(\n classBody,\n publicMethod,\n false,\n false,\n /* isConstructor */ false,\n false,\n );\n }\n\n this.checkGetterSetterParams(publicMethod);\n } else if (\n isContextual &&\n key.name === \"accessor\" &&\n !this.isLineTerminator()\n ) {\n this.expectPlugin(\"decoratorAutoAccessors\");\n this.resetPreviousNodeTrailingComments(key);\n\n // The so-called parsed name would have been \"accessor\": get the real name.\n const isPrivate = this.match(tt.privateName);\n this.parseClassElementName(publicProp);\n this.pushClassAccessorProperty(classBody, accessorProp, isPrivate);\n } else if (this.isLineTerminator()) {\n // an uninitialized class property (due to ASI, since we don't otherwise recognize the next token)\n if (isPrivate) {\n this.pushClassPrivateProperty(classBody, privateProp);\n } else {\n this.pushClassProperty(classBody, publicProp);\n }\n } else {\n this.unexpected();\n }\n }\n\n // https://tc39.es/ecma262/#prod-ClassElementName\n parseClassElementName(member: N.ClassMember): N.Expression | N.Identifier {\n const { type, value } = this.state;\n if (\n (type === tt.name || type === tt.string) &&\n member.static &&\n value === \"prototype\"\n ) {\n this.raise(Errors.StaticPrototype, { at: this.state.startLoc });\n }\n\n if (type === tt.privateName) {\n if (value === \"constructor\") {\n this.raise(Errors.ConstructorClassPrivateField, {\n at: this.state.startLoc,\n });\n }\n const key = this.parsePrivateName();\n member.key = key;\n return key;\n }\n\n return this.parsePropertyName(member);\n }\n\n parseClassStaticBlock(\n classBody: N.ClassBody,\n member: N.StaticBlock & { decorators?: Array<N.Decorator> },\n ) {\n // Start a new lexical scope\n this.scope.enter(SCOPE_CLASS | SCOPE_STATIC_BLOCK | SCOPE_SUPER);\n // Start a new scope with regard to loop labels\n const oldLabels = this.state.labels;\n this.state.labels = [];\n // ClassStaticBlockStatementList:\n // StatementList[~Yield, ~Await, ~Return] opt\n this.prodParam.enter(PARAM);\n const body = (member.body = []);\n this.parseBlockOrModuleBlockBody(body, undefined, false, tt.braceR);\n this.prodParam.exit();\n this.scope.exit();\n this.state.labels = oldLabels;\n classBody.body.push(this.finishNode<N.StaticBlock>(member, \"StaticBlock\"));\n if (member.decorators?.length) {\n this.raise(Errors.DecoratorStaticBlock, { at: member });\n }\n }\n\n pushClassProperty(classBody: N.ClassBody, prop: N.ClassProperty) {\n if (\n !prop.computed &&\n (prop.key.name === \"constructor\" || prop.key.value === \"constructor\")\n ) {\n // Non-computed field, which is either an identifier named \"constructor\"\n // or a string literal named \"constructor\"\n this.raise(Errors.ConstructorClassField, { at: prop.key });\n }\n\n classBody.body.push(this.parseClassProperty(prop));\n }\n\n pushClassPrivateProperty(\n classBody: N.ClassBody,\n prop: N.ClassPrivateProperty,\n ) {\n const node = this.parseClassPrivateProperty(prop);\n classBody.body.push(node);\n\n this.classScope.declarePrivateName(\n this.getPrivateNameSV(node.key),\n CLASS_ELEMENT_OTHER,\n node.key.loc.start,\n );\n }\n\n pushClassAccessorProperty(\n classBody: N.ClassBody,\n prop: N.ClassAccessorProperty,\n isPrivate: boolean,\n ) {\n if (!isPrivate && !prop.computed) {\n // Not private, so not node is not a PrivateName and we can safely cast\n const key = (prop.key: N.Expression);\n\n if (key.name === \"constructor\" || key.value === \"constructor\") {\n // Non-computed field, which is either an identifier named \"constructor\"\n // or a string literal named \"constructor\"\n this.raise(Errors.ConstructorClassField, { at: key });\n }\n }\n\n const node = this.parseClassAccessorProperty(prop);\n classBody.body.push(node);\n\n if (isPrivate) {\n this.classScope.declarePrivateName(\n this.getPrivateNameSV(node.key),\n CLASS_ELEMENT_OTHER,\n node.key.loc.start,\n );\n }\n }\n\n pushClassMethod(\n classBody: N.ClassBody,\n method: N.ClassMethod,\n isGenerator: boolean,\n isAsync: boolean,\n isConstructor: boolean,\n allowsDirectSuper: boolean,\n ): void {\n classBody.body.push(\n this.parseMethod(\n method,\n isGenerator,\n isAsync,\n isConstructor,\n allowsDirectSuper,\n \"ClassMethod\",\n true,\n ),\n );\n }\n\n pushClassPrivateMethod(\n classBody: N.ClassBody,\n method: N.ClassPrivateMethod,\n isGenerator: boolean,\n isAsync: boolean,\n ): void {\n const node = this.parseMethod(\n method,\n isGenerator,\n isAsync,\n /* isConstructor */ false,\n false,\n \"ClassPrivateMethod\",\n true,\n );\n classBody.body.push(node);\n\n const kind =\n node.kind === \"get\"\n ? node.static\n ? CLASS_ELEMENT_STATIC_GETTER\n : CLASS_ELEMENT_INSTANCE_GETTER\n : node.kind === \"set\"\n ? node.static\n ? CLASS_ELEMENT_STATIC_SETTER\n : CLASS_ELEMENT_INSTANCE_SETTER\n : CLASS_ELEMENT_OTHER;\n this.declareClassPrivateMethodInScope(node, kind);\n }\n\n declareClassPrivateMethodInScope(\n node: N.ClassPrivateMethod | N.EstreeMethodDefinition | N.TSDeclareMethod,\n kind: number,\n ) {\n this.classScope.declarePrivateName(\n this.getPrivateNameSV(node.key),\n kind,\n node.key.loc.start,\n );\n }\n\n // Overridden in typescript.js\n parsePostMemberNameModifiers(\n // eslint-disable-next-line no-unused-vars\n methodOrProp: N.ClassMethod | N.ClassProperty,\n ): void {}\n\n // https://tc39.es/ecma262/#prod-FieldDefinition\n parseClassPrivateProperty(\n node: N.ClassPrivateProperty,\n ): N.ClassPrivateProperty {\n this.parseInitializer(node);\n this.semicolon();\n return this.finishNode(node, \"ClassPrivateProperty\");\n }\n\n // https://tc39.es/ecma262/#prod-FieldDefinition\n parseClassProperty(node: N.ClassProperty): N.ClassProperty {\n this.parseInitializer(node);\n this.semicolon();\n return this.finishNode(node, \"ClassProperty\");\n }\n\n parseClassAccessorProperty(\n node: N.ClassAccessorProperty,\n ): N.ClassAccessorProperty {\n this.parseInitializer(node);\n this.semicolon();\n return this.finishNode(node, \"ClassAccessorProperty\");\n }\n\n // https://tc39.es/ecma262/#prod-Initializer\n parseInitializer(\n node: N.ClassProperty | N.ClassPrivateProperty | N.ClassAccessorProperty,\n ): void {\n this.scope.enter(SCOPE_CLASS | SCOPE_SUPER);\n this.expressionScope.enter(newExpressionScope());\n this.prodParam.enter(PARAM);\n node.value = this.eat(tt.eq) ? this.parseMaybeAssignAllowIn() : null;\n this.expressionScope.exit();\n this.prodParam.exit();\n this.scope.exit();\n }\n\n parseClassId(\n node: N.Class,\n isStatement: boolean,\n optionalId: ?boolean,\n bindingType: BindingTypes = BIND_CLASS,\n ): void {\n if (tokenIsIdentifier(this.state.type)) {\n node.id = this.parseIdentifier();\n if (isStatement) {\n this.declareNameFromIdentifier(node.id, bindingType);\n }\n } else {\n if (optionalId || !isStatement) {\n node.id = null;\n } else {\n throw this.raise(Errors.MissingClassName, { at: this.state.startLoc });\n }\n }\n }\n\n // https://tc39.es/ecma262/#prod-ClassHeritage\n parseClassSuper(node: N.Class): void {\n node.superClass = this.eat(tt._extends) ? this.parseExprSubscripts() : null;\n }\n\n // Parses module export declaration.\n // https://tc39.es/ecma262/#prod-ExportDeclaration\n\n parseExport(node: N.Node): N.AnyExport {\n const hasDefault = this.maybeParseExportDefaultSpecifier(node);\n const parseAfterDefault = !hasDefault || this.eat(tt.comma);\n const hasStar = parseAfterDefault && this.eatExportStar(node);\n const hasNamespace =\n hasStar && this.maybeParseExportNamespaceSpecifier(node);\n const parseAfterNamespace =\n parseAfterDefault && (!hasNamespace || this.eat(tt.comma));\n const isFromRequired = hasDefault || hasStar;\n\n if (hasStar && !hasNamespace) {\n if (hasDefault) this.unexpected();\n this.parseExportFrom(node, true);\n\n return this.finishNode(node, \"ExportAllDeclaration\");\n }\n\n const hasSpecifiers = this.maybeParseExportNamedSpecifiers(node);\n\n if (\n (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers) ||\n (hasNamespace && parseAfterNamespace && !hasSpecifiers)\n ) {\n throw this.unexpected(null, tt.braceL);\n }\n\n let hasDeclaration;\n if (isFromRequired || hasSpecifiers) {\n hasDeclaration = false;\n this.parseExportFrom(node, isFromRequired);\n } else {\n hasDeclaration = this.maybeParseExportDeclaration(node);\n }\n\n if (isFromRequired || hasSpecifiers || hasDeclaration) {\n this.checkExport(node, true, false, !!node.source);\n return this.finishNode(node, \"ExportNamedDeclaration\");\n }\n\n if (this.eat(tt._default)) {\n // export default ...\n node.declaration = this.parseExportDefaultExpression();\n this.checkExport(node, true, true);\n\n return this.finishNode(node, \"ExportDefaultDeclaration\");\n }\n\n throw this.unexpected(null, tt.braceL);\n }\n\n // eslint-disable-next-line no-unused-vars\n eatExportStar(node: N.Node): boolean {\n return this.eat(tt.star);\n }\n\n maybeParseExportDefaultSpecifier(node: N.Node): boolean {\n if (this.isExportDefaultSpecifier()) {\n // export defaultObj ...\n this.expectPlugin(\"exportDefaultFrom\");\n const specifier = this.startNode();\n specifier.exported = this.parseIdentifier(true);\n node.specifiers = [this.finishNode(specifier, \"ExportDefaultSpecifier\")];\n return true;\n }\n return false;\n }\n\n maybeParseExportNamespaceSpecifier(node: N.Node): boolean {\n if (this.isContextual(tt._as)) {\n if (!node.specifiers) node.specifiers = [];\n\n const specifier = this.startNodeAt(\n this.state.lastTokStart,\n this.state.lastTokStartLoc,\n );\n\n this.next();\n\n specifier.exported = this.parseModuleExportName();\n node.specifiers.push(\n this.finishNode(specifier, \"ExportNamespaceSpecifier\"),\n );\n return true;\n }\n return false;\n }\n\n maybeParseExportNamedSpecifiers(node: N.Node): boolean {\n if (this.match(tt.braceL)) {\n if (!node.specifiers) node.specifiers = [];\n const isTypeExport = node.exportKind === \"type\";\n node.specifiers.push(...this.parseExportSpecifiers(isTypeExport));\n\n node.source = null;\n node.declaration = null;\n if (this.hasPlugin(\"importAssertions\")) {\n node.assertions = [];\n }\n\n return true;\n }\n return false;\n }\n\n maybeParseExportDeclaration(node: N.Node): boolean {\n if (this.shouldParseExportDeclaration()) {\n node.specifiers = [];\n node.source = null;\n if (this.hasPlugin(\"importAssertions\")) {\n node.assertions = [];\n }\n node.declaration = this.parseExportDeclaration(node);\n return true;\n }\n return false;\n }\n\n isAsyncFunction(): boolean {\n if (!this.isContextual(tt._async)) return false;\n const next = this.nextTokenStart();\n return (\n !lineBreak.test(this.input.slice(this.state.pos, next)) &&\n this.isUnparsedContextual(next, \"function\")\n );\n }\n\n parseExportDefaultExpression(): N.Expression | N.Declaration {\n const expr = this.startNode();\n\n const isAsync = this.isAsyncFunction();\n\n if (this.match(tt._function) || isAsync) {\n this.next();\n if (isAsync) {\n this.next();\n }\n\n return this.parseFunction(\n expr,\n FUNC_STATEMENT | FUNC_NULLABLE_ID,\n isAsync,\n );\n }\n\n if (this.match(tt._class)) {\n return this.parseClass(expr, true, true);\n }\n\n if (this.match(tt.at)) {\n if (\n this.hasPlugin(\"decorators\") &&\n this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\")\n ) {\n this.raise(Errors.DecoratorBeforeExport, { at: this.state.startLoc });\n }\n this.parseDecorators(false);\n return this.parseClass(expr, true, true);\n }\n\n if (this.match(tt._const) || this.match(tt._var) || this.isLet()) {\n throw this.raise(Errors.UnsupportedDefaultExport, {\n at: this.state.startLoc,\n });\n }\n\n const res = this.parseMaybeAssignAllowIn();\n this.semicolon();\n return res;\n }\n\n // eslint-disable-next-line no-unused-vars\n parseExportDeclaration(node: N.ExportNamedDeclaration): ?N.Declaration {\n return this.parseStatement(null);\n }\n\n isExportDefaultSpecifier(): boolean {\n const { type } = this.state;\n if (tokenIsIdentifier(type)) {\n if ((type === tt._async && !this.state.containsEsc) || type === tt._let) {\n return false;\n }\n if (\n (type === tt._type || type === tt._interface) &&\n !this.state.containsEsc\n ) {\n const { type: nextType } = this.lookahead();\n // If we see any variable name other than `from` after `type` keyword,\n // we consider it as flow/typescript type exports\n // note that this approach may fail on some pedantic cases\n // export type from = number\n if (\n (tokenIsIdentifier(nextType) && nextType !== tt._from) ||\n nextType === tt.braceL\n ) {\n this.expectOnePlugin([\"flow\", \"typescript\"]);\n return false;\n }\n }\n } else if (!this.match(tt._default)) {\n return false;\n }\n\n const next = this.nextTokenStart();\n const hasFrom = this.isUnparsedContextual(next, \"from\");\n if (\n this.input.charCodeAt(next) === charCodes.comma ||\n (tokenIsIdentifier(this.state.type) && hasFrom)\n ) {\n return true;\n }\n // lookahead again when `export default from` is seen\n if (this.match(tt._default) && hasFrom) {\n const nextAfterFrom = this.input.charCodeAt(\n this.nextTokenStartSince(next + 4),\n );\n return (\n nextAfterFrom === charCodes.quotationMark ||\n nextAfterFrom === charCodes.apostrophe\n );\n }\n return false;\n }\n\n parseExportFrom(node: N.ExportNamedDeclaration, expect?: boolean): void {\n if (this.eatContextual(tt._from)) {\n node.source = this.parseImportSource();\n this.checkExport(node);\n const assertions = this.maybeParseImportAssertions();\n if (assertions) {\n node.assertions = assertions;\n }\n } else if (expect) {\n this.unexpected();\n }\n\n this.semicolon();\n }\n\n shouldParseExportDeclaration(): boolean {\n const { type } = this.state;\n if (type === tt.at) {\n this.expectOnePlugin([\"decorators\", \"decorators-legacy\"]);\n if (this.hasPlugin(\"decorators\")) {\n if (this.getPluginOption(\"decorators\", \"decoratorsBeforeExport\")) {\n throw this.raise(Errors.DecoratorBeforeExport, {\n at: this.state.startLoc,\n });\n }\n\n return true;\n }\n }\n\n return (\n type === tt._var ||\n type === tt._const ||\n type === tt._function ||\n type === tt._class ||\n this.isLet() ||\n this.isAsyncFunction()\n );\n }\n\n checkExport(\n node: N.ExportNamedDeclaration,\n checkNames?: boolean,\n isDefault?: boolean,\n isFrom?: boolean,\n ): void {\n if (checkNames) {\n // Check for duplicate exports\n if (isDefault) {\n // Default exports\n this.checkDuplicateExports(node, \"default\");\n if (this.hasPlugin(\"exportDefaultFrom\")) {\n const declaration = ((node: any): N.ExportDefaultDeclaration)\n .declaration;\n if (\n declaration.type === \"Identifier\" &&\n declaration.name === \"from\" &&\n declaration.end - declaration.start === 4 && // does not contain escape\n !declaration.extra?.parenthesized\n ) {\n this.raise(Errors.ExportDefaultFromAsIdentifier, {\n at: declaration,\n });\n }\n }\n } else if (node.specifiers && node.specifiers.length) {\n // Named exports\n for (const specifier of node.specifiers) {\n const { exported } = specifier;\n const exportName =\n exported.type === \"Identifier\" ? exported.name : exported.value;\n this.checkDuplicateExports(specifier, exportName);\n // $FlowIgnore\n if (!isFrom && specifier.local) {\n const { local } = specifier;\n if (local.type !== \"Identifier\") {\n this.raise(Errors.ExportBindingIsString, {\n at: specifier,\n localName: local.value,\n exportName,\n });\n } else {\n // check for keywords used as local names\n this.checkReservedWord(local.name, local.loc.start, true, false);\n // check if export is defined\n this.scope.checkLocalExport(local);\n }\n }\n }\n } else if (node.declaration) {\n // Exported declarations\n if (\n node.declaration.type === \"FunctionDeclaration\" ||\n node.declaration.type === \"ClassDeclaration\"\n ) {\n const id = node.declaration.id;\n if (!id) throw new Error(\"Assertion failure\");\n\n this.checkDuplicateExports(node, id.name);\n } else if (node.declaration.type === \"VariableDeclaration\") {\n for (const declaration of node.declaration.declarations) {\n this.checkDeclaration(declaration.id);\n }\n }\n }\n }\n\n const currentContextDecorators =\n this.state.decoratorStack[this.state.decoratorStack.length - 1];\n // If node.declaration is a class, it will take all decorators in the current context.\n // Thus we should throw if we see non-empty decorators here.\n if (currentContextDecorators.length) {\n throw this.raise(Errors.UnsupportedDecoratorExport, { at: node });\n }\n }\n\n checkDeclaration(node: N.Pattern | N.ObjectProperty): void {\n if (node.type === \"Identifier\") {\n this.checkDuplicateExports(node, node.name);\n } else if (node.type === \"ObjectPattern\") {\n for (const prop of node.properties) {\n this.checkDeclaration(prop);\n }\n } else if (node.type === \"ArrayPattern\") {\n for (const elem of node.elements) {\n if (elem) {\n this.checkDeclaration(elem);\n }\n }\n } else if (node.type === \"ObjectProperty\") {\n this.checkDeclaration(node.value);\n } else if (node.type === \"RestElement\") {\n this.checkDeclaration(node.argument);\n } else if (node.type === \"AssignmentPattern\") {\n this.checkDeclaration(node.left);\n }\n }\n\n checkDuplicateExports(\n node:\n | N.Identifier\n | N.StringLiteral\n | N.ExportNamedDeclaration\n | N.ExportSpecifier\n | N.ExportDefaultSpecifier,\n exportName: string,\n ): void {\n if (this.exportedIdentifiers.has(exportName)) {\n if (exportName === \"default\") {\n this.raise(Errors.DuplicateDefaultExport, { at: node });\n } else {\n this.raise(Errors.DuplicateExport, { at: node, exportName });\n }\n }\n this.exportedIdentifiers.add(exportName);\n }\n\n // Parses a comma-separated list of module exports.\n\n parseExportSpecifiers(isInTypeExport: boolean): Array<N.ExportSpecifier> {\n const nodes = [];\n let first = true;\n\n // export { x, y as z } [from '...']\n this.expect(tt.braceL);\n\n while (!this.eat(tt.braceR)) {\n if (first) {\n first = false;\n } else {\n this.expect(tt.comma);\n if (this.eat(tt.braceR)) break;\n }\n const isMaybeTypeOnly = this.isContextual(tt._type);\n const isString = this.match(tt.string);\n const node = this.startNode();\n node.local = this.parseModuleExportName();\n nodes.push(\n this.parseExportSpecifier(\n node,\n isString,\n isInTypeExport,\n isMaybeTypeOnly,\n ),\n );\n }\n\n return nodes;\n }\n\n parseExportSpecifier(\n node: any,\n isString: boolean,\n /* eslint-disable no-unused-vars -- used in TypeScript parser */\n isInTypeExport: boolean,\n isMaybeTypeOnly: boolean,\n /* eslint-enable no-unused-vars */\n ): N.ExportSpecifier {\n if (this.eatContextual(tt._as)) {\n node.exported = this.parseModuleExportName();\n } else if (isString) {\n node.exported = cloneStringLiteral(node.local);\n } else if (!node.exported) {\n node.exported = cloneIdentifier(node.local);\n }\n return this.finishNode<N.ExportSpecifier>(node, \"ExportSpecifier\");\n }\n\n // https://tc39.es/ecma262/#prod-ModuleExportName\n parseModuleExportName(): N.StringLiteral | N.Identifier {\n if (this.match(tt.string)) {\n const result = this.parseStringLiteral(this.state.value);\n const surrogate = result.value.match(loneSurrogate);\n if (surrogate) {\n this.raise(Errors.ModuleExportNameHasLoneSurrogate, {\n at: result,\n surrogateCharCode: surrogate[0].charCodeAt(0),\n });\n }\n return result;\n }\n return this.parseIdentifier(true);\n }\n\n // Parses import declaration.\n // https://tc39.es/ecma262/#prod-ImportDeclaration\n\n parseImport(node: N.Node): N.AnyImport {\n // import '...'\n node.specifiers = [];\n if (!this.match(tt.string)) {\n // check if we have a default import like\n // import React from \"react\";\n const hasDefault = this.maybeParseDefaultImportSpecifier(node);\n /* we are checking if we do not have a default import, then it is obvious that we need named imports\n * import { get } from \"axios\";\n * but if we do have a default import\n * we need to check if we have a comma after that and\n * that is where this `|| this.eat` condition comes into play\n */\n const parseNext = !hasDefault || this.eat(tt.comma);\n // if we do have to parse the next set of specifiers, we first check for star imports\n // import React, * from \"react\";\n const hasStar = parseNext && this.maybeParseStarImportSpecifier(node);\n // now we check if we need to parse the next imports\n // but only if they are not importing * (everything)\n if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node);\n this.expectContextual(tt._from);\n }\n node.source = this.parseImportSource();\n // https://github.com/tc39/proposal-import-assertions\n // parse module import assertions if the next token is `assert` or ignore\n // and finish the ImportDeclaration node.\n const assertions = this.maybeParseImportAssertions();\n if (assertions) {\n node.assertions = assertions;\n } else if (!process.env.BABEL_8_BREAKING) {\n const attributes = this.maybeParseModuleAttributes();\n if (attributes) {\n node.attributes = attributes;\n }\n }\n\n this.semicolon();\n return this.finishNode(node, \"ImportDeclaration\");\n }\n\n parseImportSource(): N.StringLiteral {\n if (!this.match(tt.string)) this.unexpected();\n return this.parseExprAtom();\n }\n\n // eslint-disable-next-line no-unused-vars\n shouldParseDefaultImport(node: N.ImportDeclaration): boolean {\n return tokenIsIdentifier(this.state.type);\n }\n\n parseImportSpecifierLocal(\n node: N.ImportDeclaration,\n specifier: N.Node,\n type: string,\n ): void {\n specifier.local = this.parseIdentifier();\n node.specifiers.push(this.finishImportSpecifier(specifier, type));\n }\n\n finishImportSpecifier(specifier: N.Node, type: string) {\n this.checkLVal(specifier.local, {\n in: specifier,\n binding: BIND_LEXICAL,\n });\n return this.finishNode(specifier, type);\n }\n\n /**\n * parse assert entries\n *\n * @see {@link https://tc39.es/proposal-import-assertions/#prod-AssertEntries |AssertEntries}\n * @returns {N.ImportAttribute[]}\n * @memberof StatementParser\n */\n parseAssertEntries(): N.ImportAttribute[] {\n const attrs = [];\n const attrNames = new Set();\n\n do {\n if (this.match(tt.braceR)) {\n break;\n }\n\n const node = this.startNode<N.ImportAttribute>();\n\n // parse AssertionKey : IdentifierName, StringLiteral\n const keyName = this.state.value;\n // check if we already have an entry for an attribute\n // if a duplicate entry is found, throw an error\n // for now this logic will come into play only when someone declares `type` twice\n if (attrNames.has(keyName)) {\n this.raise(Errors.ModuleAttributesWithDuplicateKeys, {\n at: this.state.startLoc,\n key: keyName,\n });\n }\n attrNames.add(keyName);\n if (this.match(tt.string)) {\n node.key = this.parseStringLiteral(keyName);\n } else {\n node.key = this.parseIdentifier(true);\n }\n this.expect(tt.colon);\n\n if (!this.match(tt.string)) {\n throw this.raise(Errors.ModuleAttributeInvalidValue, {\n at: this.state.startLoc,\n });\n }\n node.value = this.parseStringLiteral(this.state.value);\n this.finishNode<N.ImportAttribute>(node, \"ImportAttribute\");\n attrs.push(node);\n } while (this.eat(tt.comma));\n\n return attrs;\n }\n\n /**\n * parse module attributes\n * @deprecated It will be removed in Babel 8\n * @returns\n * @memberof StatementParser\n */\n maybeParseModuleAttributes() {\n if (this.match(tt._with) && !this.hasPrecedingLineBreak()) {\n this.expectPlugin(\"moduleAttributes\");\n this.next();\n } else {\n if (this.hasPlugin(\"moduleAttributes\")) return [];\n return null;\n }\n const attrs = [];\n const attributes = new Set();\n do {\n const node = this.startNode();\n node.key = this.parseIdentifier(true);\n\n if (node.key.name !== \"type\") {\n this.raise(Errors.ModuleAttributeDifferentFromType, {\n at: node.key,\n });\n }\n\n if (attributes.has(node.key.name)) {\n this.raise(Errors.ModuleAttributesWithDuplicateKeys, {\n at: node.key,\n key: node.key.name,\n });\n }\n attributes.add(node.key.name);\n this.expect(tt.colon);\n if (!this.match(tt.string)) {\n throw this.raise(Errors.ModuleAttributeInvalidValue, {\n at: this.state.startLoc,\n });\n }\n node.value = this.parseStringLiteral(this.state.value);\n this.finishNode(node, \"ImportAttribute\");\n attrs.push(node);\n } while (this.eat(tt.comma));\n\n return attrs;\n }\n\n maybeParseImportAssertions() {\n // [no LineTerminator here] AssertClause\n if (this.isContextual(tt._assert) && !this.hasPrecedingLineBreak()) {\n this.expectPlugin(\"importAssertions\");\n this.next(); // eat `assert`\n } else {\n if (this.hasPlugin(\"importAssertions\")) return [];\n return null;\n }\n // https://tc39.es/proposal-import-assertions/#prod-AssertClause\n this.eat(tt.braceL);\n const attrs = this.parseAssertEntries();\n this.eat(tt.braceR);\n\n return attrs;\n }\n\n maybeParseDefaultImportSpecifier(node: N.ImportDeclaration): boolean {\n if (this.shouldParseDefaultImport(node)) {\n // import defaultObj, { x, y as z } from '...'\n this.parseImportSpecifierLocal(\n node,\n this.startNode(),\n \"ImportDefaultSpecifier\",\n );\n return true;\n }\n return false;\n }\n\n maybeParseStarImportSpecifier(node: N.ImportDeclaration): boolean {\n if (this.match(tt.star)) {\n const specifier = this.startNode();\n this.next();\n this.expectContextual(tt._as);\n\n this.parseImportSpecifierLocal(\n node,\n specifier,\n \"ImportNamespaceSpecifier\",\n );\n return true;\n }\n return false;\n }\n\n parseNamedImportSpecifiers(node: N.ImportDeclaration) {\n let first = true;\n this.expect(tt.braceL);\n while (!this.eat(tt.braceR)) {\n if (first) {\n first = false;\n } else {\n // Detect an attempt to deep destructure\n if (this.eat(tt.colon)) {\n throw this.raise(Errors.DestructureNamedImport, {\n at: this.state.startLoc,\n });\n }\n\n this.expect(tt.comma);\n if (this.eat(tt.braceR)) break;\n }\n\n const specifier = this.startNode();\n const importedIsString = this.match(tt.string);\n const isMaybeTypeOnly = this.isContextual(tt._type);\n specifier.imported = this.parseModuleExportName();\n const importSpecifier = this.parseImportSpecifier(\n specifier,\n importedIsString,\n node.importKind === \"type\" || node.importKind === \"typeof\",\n isMaybeTypeOnly,\n );\n node.specifiers.push(importSpecifier);\n }\n }\n\n // https://tc39.es/ecma262/#prod-ImportSpecifier\n parseImportSpecifier(\n specifier: any,\n importedIsString: boolean,\n /* eslint-disable no-unused-vars -- used in TypeScript and Flow parser */\n isInTypeOnlyImport: boolean,\n isMaybeTypeOnly: boolean,\n /* eslint-enable no-unused-vars */\n ): N.ImportSpecifier {\n if (this.eatContextual(tt._as)) {\n specifier.local = this.parseIdentifier();\n } else {\n const { imported } = specifier;\n if (importedIsString) {\n throw this.raise(Errors.ImportBindingIsString, {\n at: specifier,\n importName: imported.value,\n });\n }\n this.checkReservedWord(imported.name, specifier.loc.start, true, true);\n if (!specifier.local) {\n specifier.local = cloneIdentifier(imported);\n }\n }\n return this.finishImportSpecifier(specifier, \"ImportSpecifier\");\n }\n\n // This is used in flow and typescript plugin\n // Determine whether a parameter is a this param\n isThisParam(\n param: N.Pattern | N.Identifier | N.TSParameterProperty,\n ): boolean {\n return param.type === \"Identifier\" && param.name === \"this\";\n }\n}\n","// @flow\n\nimport type { Options } from \"../options\";\nimport type { File /*::, JSXOpeningElement */ } from \"../types\";\nimport type { PluginList } from \"../plugin-utils\";\nimport { getOptions } from \"../options\";\nimport StatementParser from \"./statement\";\nimport ScopeHandler from \"../util/scope\";\n\nexport type PluginsMap = Map<string, { [string]: any }>;\n\nexport default class Parser extends StatementParser {\n // Forward-declaration so typescript plugin can override jsx plugin\n /*::\n +jsxParseOpeningElementAfterName: (\n node: JSXOpeningElement,\n ) => JSXOpeningElement;\n */\n\n constructor(options: ?Options, input: string) {\n options = getOptions(options);\n super(options, input);\n\n this.options = options;\n this.initializeScopes();\n this.plugins = pluginsMap(this.options.plugins);\n this.filename = options.sourceFilename;\n }\n\n // This can be overwritten, for example, by the TypeScript plugin.\n getScopeHandler(): Class<ScopeHandler<*>> {\n return ScopeHandler;\n }\n\n parse(): File {\n this.enterInitialScopes();\n const file = this.startNode();\n const program = this.startNode();\n this.nextToken();\n file.errors = null;\n this.parseTopLevel(file, program);\n file.errors = this.state.errors;\n return file;\n }\n}\n\nfunction pluginsMap(plugins: PluginList): PluginsMap {\n const pluginMap: PluginsMap = new Map();\n for (const plugin of plugins) {\n const [name, options] = Array.isArray(plugin) ? plugin : [plugin, {}];\n if (!pluginMap.has(name)) pluginMap.set(name, options || {});\n }\n return pluginMap;\n}\n","// @flow\n\nimport { type Options } from \"./options\";\nimport {\n hasPlugin,\n validatePlugins,\n mixinPluginNames,\n mixinPlugins,\n type PluginList,\n} from \"./plugin-utils\";\nimport Parser from \"./parser\";\n\nimport { getExportedToken, tt as internalTokenTypes } from \"./tokenizer/types\";\nimport \"./tokenizer/context\";\n\nimport type { Expression, File } from \"./types\";\n\nexport function parse(input: string, options?: Options): File {\n if (options?.sourceType === \"unambiguous\") {\n options = {\n ...options,\n };\n try {\n options.sourceType = \"module\";\n const parser = getParser(options, input);\n const ast = parser.parse();\n\n if (parser.sawUnambiguousESM) {\n return ast;\n }\n\n if (parser.ambiguousScriptDifferentAst) {\n // Top level await introduces code which can be both a valid script and\n // a valid module, but which produces different ASTs:\n // await\n // 0\n // can be parsed either as an AwaitExpression, or as two ExpressionStatements.\n try {\n options.sourceType = \"script\";\n return getParser(options, input).parse();\n } catch {}\n } else {\n // This is both a valid module and a valid script, but\n // we parse it as a script by default\n ast.program.sourceType = \"script\";\n }\n\n return ast;\n } catch (moduleError) {\n try {\n options.sourceType = \"script\";\n return getParser(options, input).parse();\n } catch {}\n\n throw moduleError;\n }\n } else {\n return getParser(options, input).parse();\n }\n}\n\nexport function parseExpression(input: string, options?: Options): Expression {\n const parser = getParser(options, input);\n if (parser.options.strictMode) {\n parser.state.strict = true;\n }\n return parser.getExpression();\n}\n\nfunction generateExportedTokenTypes(internalTokenTypes) {\n const tokenTypes = {};\n for (const typeName of Object.keys(internalTokenTypes)) {\n tokenTypes[typeName] = getExportedToken(internalTokenTypes[typeName]);\n }\n return tokenTypes;\n}\n\nexport const tokTypes = generateExportedTokenTypes(internalTokenTypes);\n\nfunction getParser(options: ?Options, input: string): Parser {\n let cls = Parser;\n if (options?.plugins) {\n validatePlugins(options.plugins);\n cls = getParserClass(options.plugins);\n }\n\n return new cls(options, input);\n}\n\nconst parserClassCache: { [key: string]: Class<Parser> } = {};\n\n/** Get a Parser class with plugins applied. */\nfunction getParserClass(pluginsFromOptions: PluginList): Class<Parser> {\n const pluginList = mixinPluginNames.filter(name =>\n hasPlugin(pluginsFromOptions, name),\n );\n\n const key = pluginList.join(\"/\");\n let cls = parserClassCache[key];\n if (!cls) {\n cls = Parser;\n for (const plugin of pluginList) {\n cls = mixinPlugins[plugin](cls);\n }\n parserClassCache[key] = cls;\n }\n return cls;\n}\n"],"names":["Position","constructor","line","col","index","column","SourceLocation","start","end","filename","identifierName","createPositionWithColumnOffset","position","columnOffset","ParseErrorCodes","Object","freeze","SyntaxError","SourceTypeModuleError","reflect","keys","last","length","get","reduce","object","key","set","value","item","i","instantiate","properties","descriptors","map","filter","descriptor","enumerable","split","instance","defineProperty","configurable","assign","_","ImportMetaOutsideModule","code","ImportOutsideModule","NodeDescriptions","ArrayPattern","AssignmentExpression","AssignmentPattern","ArrowFunctionExpression","ConditionalExpression","ForOfStatement","ForInStatement","ForStatement","FormalParameters","Identifier","ObjectPattern","ParenthesizedExpression","RestElement","UpdateExpression","true","false","VariableDeclarator","YieldExpression","toNodeDescription","type","prefix","String","AccessorIsGenerator","kind","ArgumentsInClass","AsyncFunctionInSingleStatementContext","AwaitBindingIdentifier","AwaitBindingIdentifierInStaticBlock","AwaitExpressionFormalParameter","AwaitNotInAsyncContext","AwaitNotInAsyncFunction","BadGetterArity","BadSetterArity","BadSetterRestParameter","ConstructorClassField","ConstructorClassPrivateField","ConstructorIsAccessor","ConstructorIsAsync","ConstructorIsGenerator","DeclarationMissingInitializer","DecoratorBeforeExport","DecoratorConstructor","DecoratorExportClass","DecoratorSemicolon","DecoratorStaticBlock","DeletePrivateField","DestructureNamedImport","DuplicateConstructor","DuplicateDefaultExport","DuplicateExport","exportName","DuplicateProto","DuplicateRegExpFlags","ElementAfterRest","EscapedCharNotAnIdentifier","ExportBindingIsString","localName","ExportDefaultFromAsIdentifier","ForInOfLoopInitializer","ForOfAsync","ForOfLet","GeneratorInSingleStatementContext","IllegalBreakContinue","IllegalLanguageModeDirective","IllegalReturn","ImportBindingIsString","importName","ImportCallArgumentTrailingComma","ImportCallArity","maxArgumentCount","ImportCallNotNewExpression","ImportCallSpreadArgument","IncompatibleRegExpUVFlags","InvalidBigIntLiteral","InvalidCodePoint","InvalidCoverInitializedName","InvalidDecimal","InvalidDigit","radix","InvalidEscapeSequence","InvalidEscapeSequenceTemplate","InvalidEscapedReservedWord","reservedWord","InvalidIdentifier","InvalidLhs","ancestor","InvalidLhsBinding","InvalidNumber","InvalidOrMissingExponent","InvalidOrUnexpectedToken","unexpected","InvalidParenthesizedAssignment","InvalidPrivateFieldResolution","InvalidPropertyBindingPattern","InvalidRecordProperty","InvalidRestAssignmentPattern","LabelRedeclaration","labelName","LetInLexicalBinding","LineTerminatorBeforeArrow","MalformedRegExpFlags","MissingClassName","MissingEqInAssignment","MissingSemicolon","MissingPlugin","missingPlugin","name","JSON","stringify","join","MissingOneOfPlugins","MissingUnicodeEscape","MixingCoalesceWithLogical","ModuleAttributeDifferentFromType","ModuleAttributeInvalidValue","ModuleAttributesWithDuplicateKeys","ModuleExportNameHasLoneSurrogate","surrogateCharCode","toString","ModuleExportUndefined","MultipleDefaultsInSwitch","NewlineAfterThrow","NoCatchOrFinally","NumberIdentifier","NumericSeparatorInEscapeSequence","ObsoleteAwaitStar","OptionalChainingNoNew","OptionalChainingNoTemplate","OverrideOnConstructor","ParamDupe","PatternHasAccessor","PatternHasMethod","PrivateInExpectedIn","PrivateNameRedeclaration","RecordExpressionBarIncorrectEndSyntaxType","RecordExpressionBarIncorrectStartSyntaxType","RecordExpressionHashIncorrectStartSyntaxType","RecordNoProto","RestTrailingComma","SloppyFunction","StaticPrototype","SuperNotAllowed","SuperPrivateField","TrailingDecorator","TupleExpressionBarIncorrectEndSyntaxType","TupleExpressionBarIncorrectStartSyntaxType","TupleExpressionHashIncorrectStartSyntaxType","UnexpectedArgumentPlaceholder","UnexpectedAwaitAfterPipelineBody","UnexpectedDigitAfterHash","UnexpectedImportExport","UnexpectedKeyword","keyword","UnexpectedLeadingDecorator","UnexpectedLexicalDeclaration","UnexpectedNewTarget","UnexpectedNumericSeparator","UnexpectedPrivateField","UnexpectedReservedWord","UnexpectedSuper","UnexpectedToken","expected","UnexpectedTokenUnaryExponentiation","UnsupportedBind","UnsupportedDecoratorExport","UnsupportedDefaultExport","UnsupportedImport","UnsupportedMetaProperty","target","onlyValidPropertyName","UnsupportedParameterDecorator","UnsupportedPropertyDecorator","UnsupportedSuper","UnterminatedComment","UnterminatedRegExp","UnterminatedString","UnterminatedTemplate","VarRedeclaration","YieldBindingIdentifier","YieldInParameter","ZeroDigitNumericSeparator","StrictDelete","StrictEvalArguments","referenceName","StrictEvalArgumentsBinding","bindingName","StrictFunction","StrictNumericEscape","StrictOctalLiteral","StrictWith","UnparenthesizedPipeBodyDescriptions","Set","PipeBodyIsTighter","PipeTopicRequiresHackPipes","PipeTopicUnbound","PipeTopicUnconfiguredToken","token","PipeTopicUnused","PipeUnparenthesizedBody","PipelineBodyNoArrow","PipelineBodySequenceExpression","PipelineHeadSequenceExpression","PipelineTopicUnused","PrimaryTopicNotAllowed","PrimaryTopicRequiresSmartPipeline","toParseErrorConstructor","toMessage","_excluded","loc","details","clone","overrides","message","pos","toParseErrorCredentials","toMessageOrMessage","credentials","ParseErrorEnum","argument","syntaxPlugin","Array","isArray","toParseErrorCredentialsMap","partialCredentials","ParseErrorConstructors","reasonCode","Errors","ModuleErrors","StandardErrors","StrictModeErrors","PipelineOperatorErrors","toUnenumerable","toESTreeLocation","node","superClass","parse","file","options","tokens","parseRegExpLiteral","pattern","flags","regex","RegExp","e","estreeParseLiteral","parseBigIntLiteral","bigInt","BigInt","bigint","parseDecimalLiteral","decimal","parseLiteral","parseStringLiteral","parseNumericLiteral","parseNullLiteral","parseBooleanLiteral","directiveToStmt","directive","directiveLiteral","stmt","startNodeAt","expression","extra","expressionValue","raw","finishNodeAt","slice","initFunction","isAsync","checkDeclaration","isObjectProperty","getObjectOrClassMethodParams","method","params","isValidDirective","parenthesized","parseBlockBody","args","directiveStatements","directives","d","body","concat","pushClassMethod","classBody","isGenerator","isConstructor","allowsDirectSuper","parseMethod","typeParameters","push","parsePrivateName","getPluginOption","convertPrivateNameToPrivateIdentifier","getPrivateNameSV","id","isPrivateName","parseFunctionBody","allowExpression","isMethod","allowDirectSuper","inClassScope","funcNode","startNode","computed","finishNode","parseClassProperty","propertyNode","parseClassPrivateProperty","parseObjectMethod","prop","isPattern","isAccessor","shorthand","parseObjectProperty","startPos","startLoc","refExpressionErrors","isValidLVal","rest","isAssignable","isBinding","toAssignable","isLHS","classScope","usePrivateName","toAssignableObjectExpressionProp","raise","at","arguments","finishCallExpression","optional","callee","source","hasPlugin","attributes","toReferencedArguments","parseExport","exported","specifiers","parseSubscript","base","noCalls","state","optionalChainMember","substring","stop","chain","startNodeAtNode","hasPropertyAsPrivateName","isOptionalChain","isObjectMethod","endLoc","resetStartLocation","resetEndLocation","lastTokEndLoc","TokContext","preserveSpace","types","brace","j_oTag","j_cTag","j_expr","template","beforeExpr","startsExpr","isLoop","isAssign","postfix","ExportedTokenType","label","conf","rightAssociative","binop","updateContext","keywords","Map","createKeyword","createToken","createBinop","tokenTypeCounter","tokenTypes","tokenLabels","tokenBinops","tokenBeforeExprs","tokenStartsExprs","tokenPrefixes","createKeywordLike","tt","bracketL","bracketHashL","bracketBarL","bracketR","bracketBarR","braceL","braceBarL","braceHashL","braceR","braceBarR","parenL","parenR","comma","semi","colon","doubleColon","dot","question","questionDot","arrow","ellipsis","backQuote","dollarBraceL","templateTail","templateNonTail","hash","interpreterDirective","eq","slashAssign","xorAssign","moduloAssign","incDec","bang","tilde","doubleCaret","doubleAt","pipeline","nullishCoalescing","logicalOR","logicalAND","bitwiseOR","bitwiseXOR","bitwiseAND","equality","lt","gt","relational","bitShift","bitShiftL","bitShiftR","plusMin","modulo","star","slash","exponent","_in","_instanceof","_break","_case","_catch","_continue","_debugger","_default","_else","_finally","_function","_if","_return","_switch","_throw","_try","_var","_const","_with","_new","_this","_super","_class","_extends","_export","_import","_null","_true","_false","_typeof","_void","_delete","_do","_for","_while","_as","_assert","_async","_await","_from","_get","_let","_meta","_of","_sent","_set","_static","_yield","_asserts","_checks","_exports","_global","_implements","_intrinsic","_infer","_is","_mixins","_proto","_require","_keyof","_readonly","_unique","_abstract","_declare","_enum","_module","_namespace","_interface","_type","_opaque","string","num","regexp","privateName","eof","jsxName","jsxText","jsxTagStart","jsxTagEnd","placeholder","tokenIsIdentifier","tokenKeywordOrIdentifierIsKeyword","tokenIsKeywordOrIdentifier","tokenIsLiteralPropertyName","tokenComesBeforeExpression","tokenCanStartExpression","tokenIsAssignment","tokenIsFlowInterfaceOrTypeOrOpaque","tokenIsLoop","tokenIsKeyword","tokenIsOperator","tokenIsPostfix","tokenIsPrefix","tokenIsTSTypeOperator","tokenIsTSDeclarationStart","tokenLabelName","tokenOperatorPrecedence","tokenIsBinaryOperator","tokenIsRightAssociative","tokenIsTemplate","getExportedToken","context","pop","tc","nonASCIIidentifierStartChars","nonASCIIidentifierChars","nonASCIIidentifierStart","nonASCIIidentifier","astralIdentifierStartCodes","astralIdentifierCodes","isInAstralSet","isIdentifierStart","test","fromCharCode","isIdentifierChar","reservedWords","strict","strictBind","reservedWordsStrictSet","reservedWordsStrictBindSet","isReservedWord","word","inModule","isStrictReservedWord","has","isStrictBindOnlyReservedWord","isStrictBindReservedWord","isKeyword","isIteratorStart","current","next","next2","reservedWordLikeSet","canBeReservedWord","SCOPE_OTHER","SCOPE_PROGRAM","SCOPE_FUNCTION","SCOPE_ARROW","SCOPE_SIMPLE_CATCH","SCOPE_SUPER","SCOPE_DIRECT_SUPER","SCOPE_CLASS","SCOPE_STATIC_BLOCK","SCOPE_TS_MODULE","SCOPE_VAR","BIND_KIND_VALUE","BIND_KIND_TYPE","BIND_SCOPE_VAR","BIND_SCOPE_LEXICAL","BIND_SCOPE_FUNCTION","BIND_FLAGS_NONE","BIND_FLAGS_CLASS","BIND_FLAGS_TS_ENUM","BIND_FLAGS_TS_CONST_ENUM","BIND_FLAGS_TS_EXPORT_ONLY","BIND_FLAGS_FLOW_DECLARE_FN","BIND_CLASS","BIND_LEXICAL","BIND_VAR","BIND_FUNCTION","BIND_TS_INTERFACE","BIND_TS_TYPE","BIND_TS_ENUM","BIND_TS_AMBIENT","BIND_NONE","BIND_OUTSIDE","BIND_TS_CONST_ENUM","BIND_TS_NAMESPACE","BIND_FLOW_DECLARE_FN","CLASS_ELEMENT_FLAG_STATIC","CLASS_ELEMENT_KIND_GETTER","CLASS_ELEMENT_KIND_SETTER","CLASS_ELEMENT_KIND_ACCESSOR","CLASS_ELEMENT_STATIC_GETTER","CLASS_ELEMENT_STATIC_SETTER","CLASS_ELEMENT_INSTANCE_GETTER","CLASS_ELEMENT_INSTANCE_SETTER","CLASS_ELEMENT_OTHER","BaseParser","sawUnambiguousESM","ambiguousScriptDifferentAst","pluginConfig","plugins","pluginName","pluginOptions","actualOptions","plugin","setTrailingComments","comments","trailingComments","undefined","unshift","setLeadingComments","leadingComments","setInnerComments","innerComments","adjustInnerComments","elements","commentWS","lastElement","CommentsParser","addComment","comment","processComment","commentStack","commentStackLength","lastCommentWS","leadingNode","nodeStart","commentEnd","containingNode","finalizeComment","splice","trailingNode","commentStart","input","charCodeAt","finalizeRemainingComments","resetPreviousNodeTrailingComments","takeSurroundingComments","lineBreak","lineBreakG","isNewLine","skipWhiteSpace","skipWhiteSpaceInLine","skipWhiteSpaceToLineBreak","isWhitespace","State","curLine","lineStart","errors","potentialArrowAt","noArrowAt","noArrowParamsConversionAt","maybeInArrowParameters","inType","noAnonFunctionType","hasFlowComment","isAmbientContext","inAbstractClass","inDisallowConditionalTypesContext","topicContext","maxNumOfResolvableTopics","maxTopicIndex","soloAwait","inFSharpPipelineDirectBody","labels","decoratorStack","lastTokStartLoc","lastTokStart","ct","canStartJSXElement","containsEsc","strictErrors","tokensLength","init","strictMode","sourceType","startLine","startColumn","curPosition","skipArrays","val","isDigit","VALID_REGEX_FLAGS","forbiddenNumericSeparatorSiblings","decBinOct","hex","isAllowedNumericSeparatorSibling","bin","ch","oct","dec","Token","Tokenizer","isLookahead","pushToken","checkKeywordEscapes","nextToken","eat","match","createLookaheadState","curContext","lookahead","old","curr","nextTokenStart","nextTokenStartSince","lastIndex","lookaheadCharCode","codePointAtPos","cp","trail","setStrict","forEach","toParseError","clear","skipSpace","finishToken","getTokenFromCode","skipBlockComment","indexOf","skipLineComment","startSkip","spaceStart","loop","attachComment","CommentWhitespace","prevType","replaceToken","readToken_numberSign","readToken_interpreter","nextPos","expectPlugin","readWord1","finishOp","readToken_dot","readNumber","readToken_slash","readToken_mult_modulo","width","readToken_pipe_amp","readToken_caret","proposal","topicToken","lookaheadCh","codePointAt","readToken_atSign","readToken_plus_min","readToken_lt","readToken_gt","size","readToken_eq_excl","readToken_question","readTemplateToken","readRadixNumber","readString","readWord","fromCodePoint","str","readRegexp","escaped","inClass","content","mods","char","includes","readInt","len","forceLen","allowNumSeparator","forbiddenSiblings","isAllowedSibling","invalid","total","Infinity","prev","Number","isNaN","errorRecovery","isBigInt","replace","startsWithDot","isFloat","isDecimal","hasExponent","isOctal","hasLeadingZero","integer","recordStrictModeErrors","underscorePos","parseInt","parseFloat","readCodePoint","throwOnInvalid","readHexChar","quote","out","chunkStart","readEscapedChar","readTemplateContinuation","containsInvalid","inTemplate","codePos","octalStr","octal","codeLoc","n","firstCode","escStart","identifierCheck","esc","keywordTypes","raiseProperties","error","raiseOverwrite","expectOnePlugin","pluginNames","some","Scope","var","lexical","functions","ScopeHandler","parser","scopeStack","undefinedExports","inFunction","currentVarScopeFlags","allowSuper","currentThisScopeFlags","inClassAndNotInNonArrowFunction","inStaticBlock","inNonArrowFunction","treatFunctionsAsVar","treatFunctionsAsVarInScope","currentScope","createScope","enter","exit","scope","declareName","bindingType","checkRedeclarationInScope","add","maybeExportDefined","delete","isRedeclaredInScope","values","checkLocalExport","topLevelScope","FlowScope","declareFunctions","FlowScopeHandler","ClassScope","privateNames","loneAccessors","undefinedPrivateNames","ClassScopeHandler","stack","oldClassScope","from","declarePrivateName","elementType","redefined","accessor","oldStatic","newStatic","oldKind","newKind","kExpression","kMaybeArrowParameterDeclaration","kMaybeAsyncArrowParameterDeclaration","kParameterDeclaration","ExpressionScope","canBeArrowParameterDeclaration","isCertainlyParameterDeclaration","ArrowHeadParsingScope","declarationErrors","recordDeclarationError","ParsingErrorClass","clearDeclarationError","iterateErrors","iterator","ExpressionScopeHandler","recordParameterInitializerError","origin","recordArrowParemeterBindingError","recordAsyncArrowParametersError","validateAsPattern","newParameterDeclarationScope","newArrowHeadScope","newAsyncArrowScope","newExpressionScope","PARAM","PARAM_YIELD","PARAM_AWAIT","PARAM_RETURN","PARAM_IN","ProductionParameterHandler","stacks","currentFlags","hasAwait","hasYield","hasReturn","hasIn","functionFlags","UtilParser","addExtra","isContextual","isUnparsedContextual","nameStart","nameEnd","nextCh","isLookaheadContextual","eatContextual","expectContextual","canInsertSemicolon","hasPrecedingLineBreak","hasFollowingLineBreak","isLineTerminator","semicolon","allowAsi","expect","tryParse","fn","oldState","abortSignal","failState","thrown","aborted","checkExpressionErrors","andThrow","shorthandAssignLoc","doubleProtoLoc","privateKeyLoc","optionalParametersLoc","hasErrors","isLiteralPropertyName","property","initializeScopes","oldLabels","oldExportedIdentifiers","exportedIdentifiers","oldInModule","oldScope","getScopeHandler","oldProdParam","prodParam","oldExpressionScope","expressionScope","enterInitialScopes","paramFlags","checkDestructuringPrivate","ExpressionErrors","Node","ranges","range","NodePrototype","prototype","__clone","newNode","clonePlaceholder","cloneIdentifier","cloned","create","expectedNode","cloneStringLiteral","NodeUtils","resetStartLocationFromNode","locationNode","reservedTypes","FlowErrors","AmbiguousConditionalArrow","AmbiguousDeclareModuleKind","AssignReservedType","reservedType","DeclareClassElement","DeclareClassFieldInitializer","DuplicateDeclareModuleExports","EnumBooleanMemberNotInitialized","memberName","enumName","EnumDuplicateMemberName","EnumInconsistentMemberValues","EnumInvalidExplicitType","invalidEnumType","EnumInvalidExplicitTypeUnknownSupplied","EnumInvalidMemberInitializerPrimaryType","explicitType","EnumInvalidMemberInitializerSymbolType","EnumInvalidMemberInitializerUnknownType","EnumInvalidMemberName","suggestion","EnumNumberMemberNotInitialized","EnumStringMemberInconsistentlyInitailized","GetterMayNotHaveThisParam","ImportTypeShorthandOnlyInPureImport","InexactInsideExact","InexactInsideNonObject","InexactVariance","InvalidNonTypeImportInDeclareModule","MissingTypeParamDefault","NestedDeclareModule","NestedFlowComment","PatternIsOptional","SetterMayNotHaveThisParam","SpreadVariance","ThisParamAnnotationRequired","ThisParamBannedInConstructor","ThisParamMayNotBeOptional","ThisParamMustBeFirst","ThisParamNoDefault","TypeBeforeInitializer","TypeCastInPattern","UnexpectedExplicitInexactInObject","UnexpectedReservedType","UnexpectedReservedUnderscore","UnexpectedSpaceBetweenModuloChecks","UnexpectedSpreadType","UnexpectedSubtractionOperand","UnexpectedTokenAfterTypeParameter","UnexpectedTypeParameterBeforeAsyncArrowFunction","UnsupportedDeclareExportKind","unsupportedExportKind","UnsupportedStatementInDeclareModule","UnterminatedFlowComment","isEsModuleType","bodyElement","declaration","hasTypeImportKind","importKind","isMaybeDefaultImport","exportSuggestions","const","let","interface","partition","list","list1","list2","FLOW_PRAGMA_REGEX","flowPragma","shouldParseTypes","shouldParseEnums","matches","exec","Error","flowParseTypeInitialiser","tok","oldInType","flowParseType","flowParsePredicate","moduloLoc","parseExpression","flowParseTypeAndPredicateInitialiser","predicate","flowParseDeclareClass","flowParseInterfaceish","flowParseDeclareFunction","parseIdentifier","typeNode","typeContainer","flowParseTypeParameterDeclaration","tmp","flowParseFunctionTypeParams","this","returnType","typeAnnotation","flowParseDeclare","insideModule","flowParseDeclareVariable","flowParseDeclareModuleExports","flowParseDeclareModule","flowParseDeclareTypeAlias","flowParseDeclareOpaqueType","flowParseDeclareInterface","flowParseDeclareExportDeclaration","flowParseTypeAnnotatableIdentifier","parseExprAtom","bodyNode","parseImport","hasModuleExport","default","isLet","exportKind","flowParseTypeAnnotation","flowParseTypeAlias","flowParseOpaqueType","isClass","flowParseRestrictedIdentifier","extends","implements","mixins","flowParseInterfaceExtends","flowParseObjectType","allowStatic","allowExact","allowSpread","allowProto","allowInexact","flowParseQualifiedTypeIdentifier","flowParseTypeParameterInstantiation","flowParseInterface","checkNotUnderscore","checkReservedType","liberal","right","declare","supertype","impltype","flowParseTypeParameter","requireDefault","nodeStartLoc","variance","flowParseVariance","ident","bound","defaultRequired","typeParameter","oldNoAnonFunctionType","flowParseTypeParameterInstantiationCallOrNew","flowParseTypeOrImplicitInstantiation","flowParseInterfaceType","flowParseObjectPropertyKey","flowParseObjectTypeIndexer","isStatic","static","flowParseObjectTypeInternalSlot","flowParseObjectTypeMethodish","flowParseFunctionTypeParam","flowParseObjectTypeCallProperty","valueNode","callProperties","indexers","internalSlots","endDelim","exact","inexact","protoStartLoc","inexactStartLoc","propOrInexact","flowParseObjectTypeProperty","flowObjectTypeSemicolon","isInexactToken","proto","flowCheckGetterSetterParams","paramCount","node2","qualification","flowParseGenericType","flowParseTypeofType","flowParsePrimaryType","flowParseTupleType","first","lh","isThis","reinterpretTypeAsFunctionTypeParam","flowIdentToTypeAnnotation","isGroupedType","parseLiteralAtNode","createIdentifier","flowParsePostfixType","seenOptionalIndexedAccess","objectType","indexType","flowParsePrefixType","flowParseAnonFunctionWithoutParens","param","flowParseIntersectionType","flowParseUnionType","allowPrimitiveOverride","typeCastToParameter","allowExpressionBody","forwardNoArrowParamsConversionAt","parseFunctionBodyAndFinish","parseStatement","topLevel","flowParseEnumDeclaration","parseExpressionStatement","expr","shouldParseExportDeclaration","isExportDefaultSpecifier","parseExportDefaultExpression","parseConditional","setOptionalParametersError","originalNoArrowAt","consequent","failed","tryParseConditionalConsequent","valid","getArrowLikeExpressions","alternate","parseMaybeAssign","parseMaybeAssignAllowIn","disallowInvalid","arrows","finishArrowValidation","every","toAssignableList","trailingCommaLoc","checkParams","result","parseParenItem","typeCastNode","assertModuleNodeAllowed","decl","parseExportDeclaration","declarationNode","parseExportSpecifiers","parseExportFrom","eatExportStar","maybeParseExportNamespaceSpecifier","hasNamespace","parseClassId","isStatement","optionalId","parseClassMember","member","parseClassMemberFromModifier","isIterator","readIterator","fullWord","left","exprList","toReferencedList","isParenthesizedExpr","parseArrayLike","close","canBePattern","isTuple","isClassMethod","isClassProperty","isNonstaticConstructor","isThisParam","pushClassPrivateMethod","parseClassSuper","superTypeParameters","implemented","checkGetterSetterParams","parsePropertyNamePrefixOperator","parseObjPropValue","parseAssignableListItemTypes","parseMaybeDefault","shouldParseDefaultImport","parseImportSpecifierLocal","specifier","local","finishImportSpecifier","maybeParseDefaultImportSpecifier","parseImportSpecifier","importedIsString","isInTypeOnlyImport","isMaybeTypeOnly","firstIdent","imported","specifierTypeKind","as_ident","specifierIsTypeImport","checkReservedWord","parseBindingAtom","parseFunctionParams","allowModifiers","parseVarId","parseAsyncArrowFromCallExpression","call","shouldParseAsyncArrow","afterLeftParse","jsx","currentContext","abort","arrowExpression","maybeUnwrapTypeCastExpression","async","parseArrow","shouldParseArrow","setArrowFunctionParameters","allowDuplicates","isArrowFunction","parseParenAndDistinguishExpression","canBeArrow","parseSubscripts","parseCallExpressionArguments","parseAsyncArrowWithTypeParameters","subscriptState","isLookaheadToken_lt","typeArguments","parseNewCallee","targs","parseArrowExpression","parseTopLevel","program","fileNode","skipFlowComment","hasFlowCommentCompletion","shiftToFirstNonWhiteSpace","ch2","ch3","flowEnumErrorBooleanMemberNotInitialized","flowEnumErrorInvalidMemberInitializer","enumContext","flowEnumErrorNumberMemberNotInitialized","flowEnumErrorStringMemberInconsistentlyInitailized","flowEnumMemberInit","endOfInit","literal","flowEnumMemberRaw","flowEnumCheckExplicitTypeMismatch","expectedType","flowEnumMembers","seenNames","members","booleanMembers","numberMembers","stringMembers","defaultedMembers","hasUnknownMembers","memberNode","toUpperCase","flowEnumStringMembers","initializedMembers","flowEnumParseExplicitType","flowEnumBody","nameLoc","empty","boolsLen","numsLen","strsLen","defaultedLen","afterNext","entities","__proto__","quot","amp","apos","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","times","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","OElig","oelig","Scaron","scaron","Yuml","fnof","circ","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","alpha","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","bull","hellip","permil","prime","Prime","lsaquo","rsaquo","oline","frasl","euro","image","weierp","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","part","exist","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","infin","ang","and","or","cap","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","lang","rang","loz","spades","clubs","hearts","diams","JsxErrors","AttributeIsEmpty","MissingClosingTagElement","openingTagName","MissingClosingTagFragment","UnexpectedSequenceExpression","HTMLEntity","UnsupportedJsxValue","UnterminatedJsxContent","UnwrappedAdjacentJSXElements","isFragment","getQualifiedJSXName","namespace","jsxReadToken","jsxReadEntity","jsxReadNewLine","normalizeCRLF","jsxReadString","codePoint","count","desc","entity","XHTMLEntities","jsxReadWord","jsxParseIdentifier","jsxParseNamespacedName","jsxParseElementName","jsxParseAttributeValue","setContext","jsxParseExpressionContainer","jsxParseEmptyExpression","jsxParseSpreadChild","previousContext","jsxParseAttribute","jsxParseOpeningElementAt","jsxParseOpeningElementAfterName","selfClosing","jsxParseClosingElementAt","jsxParseElementAt","children","openingElement","closingElement","contents","openingFragment","closingFragment","jsxParseElement","newContext","TypeScriptScope","enums","constEnums","classes","exportOnlyBindings","TypeScriptScopeHandler","isConst","wasConst","getOwn","hasOwnProperty","nonNull","x","assert","tsTokenCanStartExpression","TSErrors","AbstractMethodHasImplementation","methodName","AbstractPropertyHasInitializer","propertyName","AccesorCannotDeclareThisParameter","AccesorCannotHaveTypeParameters","CannotFindName","ClassMethodHasDeclare","ClassMethodHasReadonly","ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference","ConstructorHasTypeParameters","DeclareAccessor","DeclareClassFieldHasInitializer","DeclareFunctionHasImplementation","DuplicateAccessibilityModifier","modifier","DuplicateModifier","EmptyHeritageClauseType","EmptyTypeArguments","EmptyTypeParameters","ExpectedAmbientAfterExportDeclare","ImportAliasHasImportType","IncompatibleModifiers","modifiers","IndexSignatureHasAbstract","IndexSignatureHasAccessibility","IndexSignatureHasDeclare","IndexSignatureHasOverride","IndexSignatureHasStatic","InitializerNotAllowedInAmbientContext","InvalidModifierOnTypeMember","InvalidModifierOnTypeParameter","InvalidModifierOnTypeParameterPositions","InvalidModifiersOrder","orderedModifiers","InvalidTupleMemberLabel","MissingInterfaceName","MixedLabeledAndUnlabeledElements","NonAbstractClassHasAbstractMethod","NonClassMethodPropertyHasAbstractModifer","OptionalTypeBeforeRequired","OverrideNotInSubClass","PrivateElementHasAbstract","PrivateElementHasAccessibility","ReadonlyForMethodSignature","ReservedArrowTypeParam","ReservedTypeAssertion","SetAccesorCannotHaveOptionalParameter","SetAccesorCannotHaveRestParameter","SetAccesorCannotHaveReturnType","SingleTypeParameterWithoutTrailingComma","typeParameterName","StaticBlockCannotHaveModifier","TypeAnnotationAfterAssign","TypeImportCannotSpecifyDefaultAndNamed","TypeModifierIsUsedInTypeExports","TypeModifierIsUsedInTypeImports","UnexpectedParameterModifier","UnexpectedReadonly","UnexpectedTypeAnnotation","UnexpectedTypeCastInParameter","UnsupportedImportTypeArgument","UnsupportedParameterPropertyKind","UnsupportedSignatureParameterKind","keywordTypeFromName","tsIsAccessModifier","tsIsVarianceAnnotations","tsIsIdentifier","tsTokenCanFollowModifier","tsNextTokenCanFollowModifier","tsParseModifier","allowedModifiers","stopOnStartOfClassStaticBlock","tsIsStartOfStaticBlocks","tsTryParse","bind","tsParseModifiers","modified","disallowedModifiers","errorTemplate","enforceOrder","before","after","incompatible","mod1","mod2","accessibility","tsIsListTerminator","tsParseList","parseElement","tsParseDelimitedList","refTrailingCommaPos","tsParseDelimitedListWorker","expectSuccess","trailingCommaPos","element","tsParseBracketedList","bracket","skipFirstToken","tsParseImportType","qualifier","tsParseEntityName","tsParseTypeArguments","allowReservedWords","tsParseTypeReference","typeName","tsParseThisTypePredicate","lhs","parameterName","tsParseTypeAnnotation","asserts","tsParseThisTypeNode","tsParseTypeQuery","exprName","tsParseInOutModifiers","tsParseNoneModifiers","tsParseTypeParameter","parseModifiers","tsParseTypeParameterName","constraint","tsEatThenParseType","tsTryParseTypeParameters","tsParseTypeParameters","tsTryNextParseConstantContext","typeReference","tsFillSignature","returnToken","signature","returnTokenRequired","paramsKey","returnTypeKey","tsParseBindingListForSignature","tsParseTypeOrTypePredicateAnnotation","parseBindingList","tsParseTypeMemberSemicolon","tsParseSignatureMember","tsIsUnambiguouslyIndexSignature","tsTryParseIndexSignature","tsLookAhead","parameters","tsTryParseTypeAnnotation","tsParsePropertyOrMethodSignature","readonly","nodeAny","firstParameter","tsParseTypeMember","idx","parsePropertyName","tsParseTypeLiteral","tsParseObjectTypeMembers","tsIsStartOfMappedType","tsParseMappedTypeParameter","tsExpectThenParseType","tsParseMappedType","nameType","tsParseType","tsTryParseType","tsParseTupleType","elementTypes","tsParseTupleElementType","seenOptionalElement","labeledElements","elementNode","isLabeled","labeled","labeledNode","optionalTypeNode","restNode","tsParseParenthesizedType","tsParseFunctionOrConstructorType","abstract","tsInAllowConditionalTypesContext","tsParseLiteralTypeNode","tsParseTemplateLiteralType","parseTemplate","parseTemplateSubstitution","tsParseThisTypeOrThisTypePredicate","thisKeyword","tsParseNonArrayType","parseMaybeUnary","nodeType","tsParseArrayTypeOrHigher","tsParseTypeOperator","operator","tsParseTypeOperatorOrHigher","tsCheckTypeAnnotationForReadOnly","tsParseInferType","tsParseConstraintForInferType","tsInDisallowConditionalTypesContext","isTypeOperator","tsParseUnionOrIntersectionType","parseConstituentType","hasLeadingOperator","tsParseIntersectionTypeOrHigher","tsParseUnionTypeOrHigher","tsIsStartOfFunctionType","tsIsUnambiguouslyStartOfFunctionType","tsSkipParameterStart","previousErrorCount","parseObjectLike","tsInType","t","tsParseTypePredicateAsserts","thisTypePredicate","typePredicateVariable","tsParseTypePredicatePrefix","tsTryParseTypeOrTypePredicateAnnotation","eatColon","tsParseNonConditionalType","checkType","extendsType","trueType","falseType","isAbstractConstructorSignature","tsParseTypeAssertion","tsNextThenParseType","tsParseHeritageClause","originalStartLoc","delimitedList","tsParseInterfaceDeclaration","checkIdentifier","tsParseTypeAliasDeclaration","tsInNoContext","cb","oldContext","oldInDisallowConditionalTypesContext","tsDoThenParseType","tsParseEnumMember","initializer","tsParseEnumDeclaration","tsParseModuleBlock","parseBlockOrModuleBlockBody","tsParseModuleOrNamespaceDeclaration","nested","inner","tsParseAmbientExternalModuleDeclaration","global","tsParseImportEqualsDeclaration","isExport","moduleReference","tsParseModuleReference","tsIsExternalModuleReference","tsParseExternalModuleReference","f","res","tsTryParseAndCatch","tsTryParseDeclare","nany","starttype","tsInAmbientContext","parseFunctionStatement","parseClass","parseVarStatement","tsParseDeclaration","tsTryParseExportDeclaration","tsParseExpressionStatement","mod","tsCheckLineTerminator","tsParseAbstractDeclaration","tsTryParseGenericAsyncArrowFunction","oldMaybeInArrowParameters","tsParseTypeArgumentsInExpression","reScan_lt","tsIsDeclarationStart","parseAssignableListItem","decorators","override","elt","pp","parameter","isSimpleParameter","bodilessType","registerFunctionStatementId","tsCheckForInvalidTypeCasts","items","isInParens","nonNullExpression","isOptionalCall","missingParenErrorLoc","atPossibleAsyncArrow","asyncArrowFn","parseTaggedTemplateExpression","parseExprOp","leftStartPos","leftStartLoc","minPrec","reScan_lt_gt","checkKeywords","checkDuplicateExports","ahead","importNode","isAbstractClass","cls","allowMissingInitializer","declarations","expressions","isPossiblyLiteralEnum","parseStatementContent","parseAccessModifier","tsHasSomeModifiers","callParseClassMemberWithIsStatic","parseClassStaticBlock","parseClassMemberWithIsStatic","hadSuperClass","parsePostMemberNameModifiers","methodOrProp","isDeclare","isIdentifier","parseClassPropertyAnnotation","definite","declareClassPrivateMethodInScope","typeCast","trailingComma","reportReservedArrowTypeParam","toAssignableParenthesizedExpression","checkToRestConversion","allowPattern","isUnparenthesizedInAssign","binding","TSTypeCastExpression","TSParameterProperty","TSNonNullExpression","TSAsExpression","TSTypeAssertion","parseMaybeDecoratorArguments","checkCommaAfterRest","canHaveLeadingDecorator","getGetterSetterExpectedParamCount","baseCount","firstParam","hasContextParam","parseCatchClauseParam","oldIsAmbientContext","oldInAbstractClass","hasBody","shouldParseAsAmbientContext","getExpression","parseExportSpecifier","isString","isInTypeExport","parseTypeOnlyImportExportSpecifier","isImport","isInTypeOnlyImportExport","leftOfAsKey","rightOfAsKey","leftOfAs","rightOfAs","hasTypeSpecifier","canParseAsKeyword","firstAs","secondAs","parseModuleExportName","kindKey","isUncomputedMemberExpressionChain","PlaceholderErrors","ClassNameIsRequired","UnexpectedSpace","parsePlaceholder","assertNoSpace","finishPlaceholder","isFinished","verifyBreakContinue","parseBlock","parseFunctionId","takeDecorators","oldStrict","parseClassBody","startsWith","maybeParseExportDefaultSpecifier","checkExport","hasStarImport","maybeParseStarImportSpecifier","parseNamedImportSpecifiers","parseImportSource","parseV8Intrinsic","v8IntrinsicStartLoc","parseIdentifierName","identifier","expectedConfig","expectedName","expectedOptions","expectedKeys","expectedOptionsIsEmpty","p","option","find","PIPELINE_PROPOSALS","TOPIC_TOKENS","RECORD_AND_TUPLE_SYNTAX_TYPES","validatePlugins","decoratorsBeforeExport","proposalList","tupleSyntaxIsHash","syntaxType","tokenList","moduleAttributesVersionPluginOption","missingPlugins","mixinPlugins","estree","flow","typescript","v8intrinsic","placeholders","mixinPluginNames","defaultOptions","sourceFilename","allowAwaitOutsideFunction","allowReturnOutsideFunction","allowImportExportEverywhere","allowSuperOutsideMethod","allowUndeclaredExports","createParenthesizedExpressions","getOptions","opts","unwrapParenthesizedExpression","LValParser","isLast","arg","toReferencedListDeep","parseSpread","refNeedsArrowPos","parseRestBinding","closeCharCode","allowEmpty","elts","parseDecorator","parseBindingRestProperty","parseBindingProperty","ObjectProperty","checkLVal","in","checkClashes","strictModeChanged","allowingSloppyLetBinding","hasParenthesizedAncestor","validity","ParseErrorClass","isParenthesizedExpression","nextAncestor","child","allowLetBinding","declareNameFromIdentifier","ExpressionParser","checkProto","isRecord","protoRef","used","shouldExitDescending","disallowIn","disallowInAnd","parseExpressionBase","allowInAnd","parseMaybeAssignDisallowIn","resultError","parseYield","ownExpressionErrors","parseMaybeConditional","parseExprOps","parseMaybeUnaryOrPrivate","op","prec","checkPipelineAtInfixOperator","logical","coalesce","parseExprOpRightExpr","nextOp","withTopicBindingContext","parseHackPipeBody","parseSmartPipelineBodyInStyle","parseExprOpBaseRightExpr","withSoloAwaitPermittingContext","parseFSharpPipelineBody","requiredParentheses","topicReferenceWasUsedInCurrentContext","checkExponentialAfterUnary","sawUnary","isAwait","isAwaitAllowed","parseAwait","update","isDelete","parseUpdate","isAmbiguousAwait","parseExprSubscripts","maybeAsyncArrow","parseBind","parseCoverCallAndAsyncArrowHead","parseMember","parseNoCallExpr","tag","quasi","dynamicImport","allowPlaceholder","nodeForExtra","oldInFSharpPipelineDirectBody","addTrailingCommaExtraToNode","parseExprListItem","parseSuper","parseImportMetaProperty","parseDo","parseFunctionOrFunctionSent","parseDecorators","parseNewOrNewTarget","parseTopicReferenceThenEqualsSign","parseTopicReference","pipeProposal","parseModuleExpression","parseFunction","parseAsyncArrowUnaryFunction","topicTokenType","topicTokenValue","tokenType","finishTopicReference","testTopicReferenceConfiguration","topicReferenceIsAllowedInCurrentContext","registerTopicReference","meta","parseMetaProperty","innerStartPos","innerStartLoc","spreadStartLoc","optionalCommaStartLoc","spreadNodeStartPos","spreadNodeStartLoc","innerEndLoc","arrowNode","wrapParenthesis","parenExpression","metaProp","parseNew","parseExprList","parseTemplateElement","isTagged","elemStart","elem","isTail","endOffset","elemEnd","cooked","tail","curElt","quasis","propHash","parsePropertyDefinition","maybeAsyncOrAccessorProp","keyName","generator","isExpression","hasStrictModeDirective","nonSimple","isSimpleParamList","formalParameters","reservedTest","delegating","delegate","childExpr","isSimpleReference","checkSmartPipeTopicBodyEarlyErrors","callback","outerContextTopicState","withSmartMixTopicForbiddingContext","outerContextSoloAwaitState","prodParamToSet","prodParamToClear","ret","revertScopes","parseProgram","loopLabel","switchLabel","FUNC_NO_FLAGS","FUNC_STATEMENT","FUNC_HANGING_STATEMENT","FUNC_NULLABLE_ID","loneSurrogate","keywordRelationalOperator","babel7CompatTokens","hashEndPos","hashEndLoc","backquoteEnd","backquoteEndLoc","startToken","templateValue","templateElementEnd","templateElementEndLoc","endToken","StatementParser","interpreter","parseInterpreterDirective","stmtToDirective","isLetKeyword","endCh","parseBreakContinueStatement","parseDebuggerStatement","parseDoStatement","parseForStatement","parseIfStatement","parseReturnStatement","parseSwitchStatement","parseThrowStatement","parseTryStatement","parseWhileStatement","parseWithStatement","parseEmptyStatement","nextTokenCharCode","isAsyncFunction","maybeName","parseLabeledStatement","allowExport","currentContextDecorators","decorator","isBreak","lab","parseHeaderExpression","awaitAt","parseFor","startsWithLet","parseVar","parseForIn","startsWithAsync","isForOf","declarationPosition","discriminant","cases","cur","sawDefault","isCase","simple","block","handler","clause","finalizer","statementStart","allowDirectives","createNewLexicalScope","afterBlockParse","parsedNonDirective","isForIn","await","isFor","statement","isHangingStatement","requireId","hadConstructor","publicMethod","privateMethod","publicProp","privateProp","accessorProp","publicMember","parseClassElementName","isPrivate","maybeQuestionTokenStartLoc","pushClassPrivateProperty","pushClassProperty","pushClassAccessorProperty","parseClassAccessorProperty","parseInitializer","hasDefault","parseAfterDefault","hasStar","parseAfterNamespace","isFromRequired","hasSpecifiers","maybeParseExportNamedSpecifiers","hasDeclaration","maybeParseExportDeclaration","isTypeExport","assertions","nextType","hasFrom","nextAfterFrom","maybeParseImportAssertions","checkNames","isDefault","isFrom","nodes","surrogate","parseNext","maybeParseModuleAttributes","parseAssertEntries","attrs","attrNames","importSpecifier","Parser","pluginsMap","pluginMap","getParser","ast","moduleError","generateExportedTokenTypes","internalTokenTypes","tokTypes","getParserClass","parserClassCache","pluginsFromOptions","pluginList"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/parser/package.json b/includes/search/node_modules/@babel/parser/package.json
deleted file mode 100644
index ed3da11..0000000
--- a/includes/search/node_modules/@babel/parser/package.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "@babel/parser",
- "version": "7.18.4",
- "description": "A JavaScript parser",
- "author": "The Babel Team (https://babel.dev/team)",
- "homepage": "https://babel.dev/docs/en/next/babel-parser",
- "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A+parser+%28babylon%29%22+is%3Aopen",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "keywords": [
- "babel",
- "javascript",
- "parser",
- "tc39",
- "ecmascript",
- "@babel/parser"
- ],
- "repository": {
- "type": "git",
- "url": "https://github.com/babel/babel.git",
- "directory": "packages/babel-parser"
- },
- "main": "./lib/index.js",
- "types": "./typings/babel-parser.d.ts",
- "files": [
- "bin",
- "lib",
- "typings"
- ],
- "engines": {
- "node": ">=6.0.0"
- },
- "devDependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/helper-check-duplicate-nodes": "^7.18.4",
- "@babel/helper-fixtures": "^7.17.10",
- "@babel/helper-validator-identifier": "^7.16.7",
- "charcodes": "^0.2.0"
- },
- "bin": "./bin/babel-parser.js"
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/parser/typings/babel-parser.d.ts b/includes/search/node_modules/@babel/parser/typings/babel-parser.d.ts
deleted file mode 100644
index c293ea7..0000000
--- a/includes/search/node_modules/@babel/parser/typings/babel-parser.d.ts
+++ /dev/null
@@ -1,214 +0,0 @@
-// Type definitions for @babel/parser
-// Project: https://github.com/babel/babel/tree/main/packages/babel-parser
-// Definitions by: Troy Gerwien <https://github.com/yortus>
-// Marvin Hagemeister <https://github.com/marvinhagemeister>
-// Avi Vahl <https://github.com/AviVahl>
-// TypeScript Version: 2.9
-
-/**
- * Parse the provided code as an entire ECMAScript program.
- */
-export function parse(
- input: string,
- options?: ParserOptions
-): ParseResult<import("@babel/types").File>;
-
-/**
- * Parse the provided code as a single expression.
- */
-export function parseExpression(
- input: string,
- options?: ParserOptions
-): ParseResult<import("@babel/types").Expression>;
-
-export interface ParserOptions {
- /**
- * By default, import and export declarations can only appear at a program's top level.
- * Setting this option to true allows them anywhere where a statement is allowed.
- */
- allowImportExportEverywhere?: boolean;
-
- /**
- * By default, await use is not allowed outside of an async function.
- * Set this to true to accept such code.
- */
- allowAwaitOutsideFunction?: boolean;
-
- /**
- * By default, a return statement at the top level raises an error.
- * Set this to true to accept such code.
- */
- allowReturnOutsideFunction?: boolean;
-
- allowSuperOutsideMethod?: boolean;
-
- /**
- * By default, exported identifiers must refer to a declared variable.
- * Set this to true to allow export statements to reference undeclared variables.
- */
- allowUndeclaredExports?: boolean;
-
- /**
- * By default, Babel attaches comments to adjacent AST nodes.
- * When this option is set to false, comments are not attached.
- * It can provide up to 30% performance improvement when the input code has many comments.
- * @babel/eslint-parser will set it for you.
- * It is not recommended to use attachComment: false with Babel transform,
- * as doing so removes all the comments in output code, and renders annotations such as
- * /* istanbul ignore next *\/ nonfunctional.
- */
- attachComment?: boolean;
-
- /**
- * By default, Babel always throws an error when it finds some invalid code.
- * When this option is set to true, it will store the parsing error and
- * try to continue parsing the invalid input file.
- */
- errorRecovery?: boolean;
-
- /**
- * Indicate the mode the code should be parsed in.
- * Can be one of "script", "module", or "unambiguous". Defaults to "script".
- * "unambiguous" will make @babel/parser attempt to guess, based on the presence
- * of ES6 import or export statements.
- * Files with ES6 imports and exports are considered "module" and are otherwise "script".
- */
- sourceType?: "script" | "module" | "unambiguous";
-
- /**
- * Correlate output AST nodes with their source filename.
- * Useful when generating code and source maps from the ASTs of multiple input files.
- */
- sourceFilename?: string;
-
- /**
- * By default, the first line of code parsed is treated as line 1.
- * You can provide a line number to alternatively start with.
- * Useful for integration with other source tools.
- */
- startLine?: number;
-
- /**
- * By default, the parsed code is treated as if it starts from line 1, column 0.
- * You can provide a column number to alternatively start with.
- * Useful for integration with other source tools.
- */
- startColumn?: number;
-
- /**
- * Array containing the plugins that you want to enable.
- */
- plugins?: ParserPlugin[];
-
- /**
- * Should the parser work in strict mode.
- * Defaults to true if sourceType === 'module'. Otherwise, false.
- */
- strictMode?: boolean;
-
- /**
- * Adds a ranges property to each node: [node.start, node.end]
- */
- ranges?: boolean;
-
- /**
- * Adds all parsed tokens to a tokens property on the File node.
- */
- tokens?: boolean;
-
- /**
- * By default, the parser adds information about parentheses by setting
- * `extra.parenthesized` to `true` as needed.
- * When this option is `true` the parser creates `ParenthesizedExpression`
- * AST nodes instead of using the `extra` property.
- */
- createParenthesizedExpressions?: boolean;
-}
-
-export type ParserPlugin =
- | "asyncDoExpressions"
- | "asyncGenerators"
- | "bigInt"
- | "classPrivateMethods"
- | "classPrivateProperties"
- | "classProperties"
- | "classStaticBlock" // Enabled by default
- | "decimal"
- | "decorators"
- | "decorators-legacy"
- | "decoratorAutoAccessors"
- | "destructuringPrivate"
- | "doExpressions"
- | "dynamicImport"
- | "estree"
- | "exportDefaultFrom"
- | "exportNamespaceFrom" // deprecated
- | "flow"
- | "flowComments"
- | "functionBind"
- | "functionSent"
- | "importMeta"
- | "jsx"
- | "logicalAssignment"
- | "importAssertions"
- | "moduleBlocks"
- | "moduleStringNames"
- | "nullishCoalescingOperator"
- | "numericSeparator"
- | "objectRestSpread"
- | "optionalCatchBinding"
- | "optionalChaining"
- | "partialApplication"
- | "pipelineOperator"
- | "placeholders"
- | "privateIn" // Enabled by default
- | "regexpUnicodeSets"
- | "throwExpressions"
- | "topLevelAwait"
- | "typescript"
- | "v8intrinsic"
- | ParserPluginWithOptions;
-
-export type ParserPluginWithOptions =
- | ["decorators", DecoratorsPluginOptions]
- | ["pipelineOperator", PipelineOperatorPluginOptions]
- | ["recordAndTuple", RecordAndTuplePluginOptions]
- | ["flow", FlowPluginOptions]
- | ["typescript", TypeScriptPluginOptions];
-
-export interface DecoratorsPluginOptions {
- decoratorsBeforeExport?: boolean;
-}
-
-export interface PipelineOperatorPluginOptions {
- proposal: "minimal" | "fsharp" | "hack" | "smart";
- topicToken?: "%" | "#" | "@@" | "^^" | "^";
-}
-
-export interface RecordAndTuplePluginOptions {
- syntaxType: "bar" | "hash";
-}
-
-export interface FlowPluginOptions {
- all?: boolean;
- enums?: boolean;
-}
-
-export interface TypeScriptPluginOptions {
- dts?: boolean;
- disallowAmbiguousJSXLike?: boolean;
-}
-
-export const tokTypes: {
- // todo(flow->ts) real token type
- [name: string]: any;
-};
-
-export interface ParseError {
- code: string;
- reasonCode: string;
-}
-
-type ParseResult<Result> = Result & {
- errors: ParseError[];
-};
diff --git a/includes/search/node_modules/@babel/types/LICENSE b/includes/search/node_modules/@babel/types/LICENSE
deleted file mode 100644
index f31575e..0000000
--- a/includes/search/node_modules/@babel/types/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014-present Sebastian McKenzie and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/@babel/types/README.md b/includes/search/node_modules/@babel/types/README.md
deleted file mode 100644
index 0071bd7..0000000
--- a/includes/search/node_modules/@babel/types/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# @babel/types
-
-> Babel Types is a Lodash-esque utility library for AST nodes
-
-See our website [@babel/types](https://babeljs.io/docs/en/babel-types) for more information or the [issues](https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20types%22+is%3Aopen) associated with this package.
-
-## Install
-
-Using npm:
-
-```sh
-npm install --save-dev @babel/types
-```
-
-or using yarn:
-
-```sh
-yarn add @babel/types --dev
-```
diff --git a/includes/search/node_modules/@babel/types/lib/asserts/assertNode.js b/includes/search/node_modules/@babel/types/lib/asserts/assertNode.js
deleted file mode 100644
index 3fd195b..0000000
--- a/includes/search/node_modules/@babel/types/lib/asserts/assertNode.js
+++ /dev/null
@@ -1,19 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = assertNode;
-
-var _isNode = require("../validators/isNode");
-
-function assertNode(node) {
- if (!(0, _isNode.default)(node)) {
- var _node$type;
-
- const type = (_node$type = node == null ? void 0 : node.type) != null ? _node$type : JSON.stringify(node);
- throw new TypeError(`Not a valid node of type "${type}"`);
- }
-}
-
-//# sourceMappingURL=assertNode.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/asserts/assertNode.js.map b/includes/search/node_modules/@babel/types/lib/asserts/assertNode.js.map
deleted file mode 100644
index e2df952..0000000
--- a/includes/search/node_modules/@babel/types/lib/asserts/assertNode.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["assertNode","node","isNode","type","JSON","stringify","TypeError"],"sources":["../../src/asserts/assertNode.ts"],"sourcesContent":["import isNode from \"../validators/isNode\";\nimport type * as t from \"..\";\n\nexport default function assertNode(node?: any): asserts node is t.Node {\n if (!isNode(node)) {\n const type = node?.type ?? JSON.stringify(node);\n throw new TypeError(`Not a valid node of type \"${type as any}\"`);\n }\n}\n"],"mappings":";;;;;;;AAAA;;AAGe,SAASA,UAAT,CAAoBC,IAApB,EAAwD;EACrE,IAAI,CAAC,IAAAC,eAAA,EAAOD,IAAP,CAAL,EAAmB;IAAA;;IACjB,MAAME,IAAI,iBAAGF,IAAH,oBAAGA,IAAI,CAAEE,IAAT,yBAAiBC,IAAI,CAACC,SAAL,CAAeJ,IAAf,CAA3B;IACA,MAAM,IAAIK,SAAJ,CAAe,6BAA4BH,IAAY,GAAvD,CAAN;EACD;AACF"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/asserts/generated/index.js b/includes/search/node_modules/@babel/types/lib/asserts/generated/index.js
deleted file mode 100644
index b8c3649..0000000
--- a/includes/search/node_modules/@babel/types/lib/asserts/generated/index.js
+++ /dev/null
@@ -1,1524 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.assertAccessor = assertAccessor;
-exports.assertAnyTypeAnnotation = assertAnyTypeAnnotation;
-exports.assertArgumentPlaceholder = assertArgumentPlaceholder;
-exports.assertArrayExpression = assertArrayExpression;
-exports.assertArrayPattern = assertArrayPattern;
-exports.assertArrayTypeAnnotation = assertArrayTypeAnnotation;
-exports.assertArrowFunctionExpression = assertArrowFunctionExpression;
-exports.assertAssignmentExpression = assertAssignmentExpression;
-exports.assertAssignmentPattern = assertAssignmentPattern;
-exports.assertAwaitExpression = assertAwaitExpression;
-exports.assertBigIntLiteral = assertBigIntLiteral;
-exports.assertBinary = assertBinary;
-exports.assertBinaryExpression = assertBinaryExpression;
-exports.assertBindExpression = assertBindExpression;
-exports.assertBlock = assertBlock;
-exports.assertBlockParent = assertBlockParent;
-exports.assertBlockStatement = assertBlockStatement;
-exports.assertBooleanLiteral = assertBooleanLiteral;
-exports.assertBooleanLiteralTypeAnnotation = assertBooleanLiteralTypeAnnotation;
-exports.assertBooleanTypeAnnotation = assertBooleanTypeAnnotation;
-exports.assertBreakStatement = assertBreakStatement;
-exports.assertCallExpression = assertCallExpression;
-exports.assertCatchClause = assertCatchClause;
-exports.assertClass = assertClass;
-exports.assertClassAccessorProperty = assertClassAccessorProperty;
-exports.assertClassBody = assertClassBody;
-exports.assertClassDeclaration = assertClassDeclaration;
-exports.assertClassExpression = assertClassExpression;
-exports.assertClassImplements = assertClassImplements;
-exports.assertClassMethod = assertClassMethod;
-exports.assertClassPrivateMethod = assertClassPrivateMethod;
-exports.assertClassPrivateProperty = assertClassPrivateProperty;
-exports.assertClassProperty = assertClassProperty;
-exports.assertCompletionStatement = assertCompletionStatement;
-exports.assertConditional = assertConditional;
-exports.assertConditionalExpression = assertConditionalExpression;
-exports.assertContinueStatement = assertContinueStatement;
-exports.assertDebuggerStatement = assertDebuggerStatement;
-exports.assertDecimalLiteral = assertDecimalLiteral;
-exports.assertDeclaration = assertDeclaration;
-exports.assertDeclareClass = assertDeclareClass;
-exports.assertDeclareExportAllDeclaration = assertDeclareExportAllDeclaration;
-exports.assertDeclareExportDeclaration = assertDeclareExportDeclaration;
-exports.assertDeclareFunction = assertDeclareFunction;
-exports.assertDeclareInterface = assertDeclareInterface;
-exports.assertDeclareModule = assertDeclareModule;
-exports.assertDeclareModuleExports = assertDeclareModuleExports;
-exports.assertDeclareOpaqueType = assertDeclareOpaqueType;
-exports.assertDeclareTypeAlias = assertDeclareTypeAlias;
-exports.assertDeclareVariable = assertDeclareVariable;
-exports.assertDeclaredPredicate = assertDeclaredPredicate;
-exports.assertDecorator = assertDecorator;
-exports.assertDirective = assertDirective;
-exports.assertDirectiveLiteral = assertDirectiveLiteral;
-exports.assertDoExpression = assertDoExpression;
-exports.assertDoWhileStatement = assertDoWhileStatement;
-exports.assertEmptyStatement = assertEmptyStatement;
-exports.assertEmptyTypeAnnotation = assertEmptyTypeAnnotation;
-exports.assertEnumBody = assertEnumBody;
-exports.assertEnumBooleanBody = assertEnumBooleanBody;
-exports.assertEnumBooleanMember = assertEnumBooleanMember;
-exports.assertEnumDeclaration = assertEnumDeclaration;
-exports.assertEnumDefaultedMember = assertEnumDefaultedMember;
-exports.assertEnumMember = assertEnumMember;
-exports.assertEnumNumberBody = assertEnumNumberBody;
-exports.assertEnumNumberMember = assertEnumNumberMember;
-exports.assertEnumStringBody = assertEnumStringBody;
-exports.assertEnumStringMember = assertEnumStringMember;
-exports.assertEnumSymbolBody = assertEnumSymbolBody;
-exports.assertExistsTypeAnnotation = assertExistsTypeAnnotation;
-exports.assertExportAllDeclaration = assertExportAllDeclaration;
-exports.assertExportDeclaration = assertExportDeclaration;
-exports.assertExportDefaultDeclaration = assertExportDefaultDeclaration;
-exports.assertExportDefaultSpecifier = assertExportDefaultSpecifier;
-exports.assertExportNamedDeclaration = assertExportNamedDeclaration;
-exports.assertExportNamespaceSpecifier = assertExportNamespaceSpecifier;
-exports.assertExportSpecifier = assertExportSpecifier;
-exports.assertExpression = assertExpression;
-exports.assertExpressionStatement = assertExpressionStatement;
-exports.assertExpressionWrapper = assertExpressionWrapper;
-exports.assertFile = assertFile;
-exports.assertFlow = assertFlow;
-exports.assertFlowBaseAnnotation = assertFlowBaseAnnotation;
-exports.assertFlowDeclaration = assertFlowDeclaration;
-exports.assertFlowPredicate = assertFlowPredicate;
-exports.assertFlowType = assertFlowType;
-exports.assertFor = assertFor;
-exports.assertForInStatement = assertForInStatement;
-exports.assertForOfStatement = assertForOfStatement;
-exports.assertForStatement = assertForStatement;
-exports.assertForXStatement = assertForXStatement;
-exports.assertFunction = assertFunction;
-exports.assertFunctionDeclaration = assertFunctionDeclaration;
-exports.assertFunctionExpression = assertFunctionExpression;
-exports.assertFunctionParent = assertFunctionParent;
-exports.assertFunctionTypeAnnotation = assertFunctionTypeAnnotation;
-exports.assertFunctionTypeParam = assertFunctionTypeParam;
-exports.assertGenericTypeAnnotation = assertGenericTypeAnnotation;
-exports.assertIdentifier = assertIdentifier;
-exports.assertIfStatement = assertIfStatement;
-exports.assertImmutable = assertImmutable;
-exports.assertImport = assertImport;
-exports.assertImportAttribute = assertImportAttribute;
-exports.assertImportDeclaration = assertImportDeclaration;
-exports.assertImportDefaultSpecifier = assertImportDefaultSpecifier;
-exports.assertImportNamespaceSpecifier = assertImportNamespaceSpecifier;
-exports.assertImportSpecifier = assertImportSpecifier;
-exports.assertIndexedAccessType = assertIndexedAccessType;
-exports.assertInferredPredicate = assertInferredPredicate;
-exports.assertInterfaceDeclaration = assertInterfaceDeclaration;
-exports.assertInterfaceExtends = assertInterfaceExtends;
-exports.assertInterfaceTypeAnnotation = assertInterfaceTypeAnnotation;
-exports.assertInterpreterDirective = assertInterpreterDirective;
-exports.assertIntersectionTypeAnnotation = assertIntersectionTypeAnnotation;
-exports.assertJSX = assertJSX;
-exports.assertJSXAttribute = assertJSXAttribute;
-exports.assertJSXClosingElement = assertJSXClosingElement;
-exports.assertJSXClosingFragment = assertJSXClosingFragment;
-exports.assertJSXElement = assertJSXElement;
-exports.assertJSXEmptyExpression = assertJSXEmptyExpression;
-exports.assertJSXExpressionContainer = assertJSXExpressionContainer;
-exports.assertJSXFragment = assertJSXFragment;
-exports.assertJSXIdentifier = assertJSXIdentifier;
-exports.assertJSXMemberExpression = assertJSXMemberExpression;
-exports.assertJSXNamespacedName = assertJSXNamespacedName;
-exports.assertJSXOpeningElement = assertJSXOpeningElement;
-exports.assertJSXOpeningFragment = assertJSXOpeningFragment;
-exports.assertJSXSpreadAttribute = assertJSXSpreadAttribute;
-exports.assertJSXSpreadChild = assertJSXSpreadChild;
-exports.assertJSXText = assertJSXText;
-exports.assertLVal = assertLVal;
-exports.assertLabeledStatement = assertLabeledStatement;
-exports.assertLiteral = assertLiteral;
-exports.assertLogicalExpression = assertLogicalExpression;
-exports.assertLoop = assertLoop;
-exports.assertMemberExpression = assertMemberExpression;
-exports.assertMetaProperty = assertMetaProperty;
-exports.assertMethod = assertMethod;
-exports.assertMiscellaneous = assertMiscellaneous;
-exports.assertMixedTypeAnnotation = assertMixedTypeAnnotation;
-exports.assertModuleDeclaration = assertModuleDeclaration;
-exports.assertModuleExpression = assertModuleExpression;
-exports.assertModuleSpecifier = assertModuleSpecifier;
-exports.assertNewExpression = assertNewExpression;
-exports.assertNoop = assertNoop;
-exports.assertNullLiteral = assertNullLiteral;
-exports.assertNullLiteralTypeAnnotation = assertNullLiteralTypeAnnotation;
-exports.assertNullableTypeAnnotation = assertNullableTypeAnnotation;
-exports.assertNumberLiteral = assertNumberLiteral;
-exports.assertNumberLiteralTypeAnnotation = assertNumberLiteralTypeAnnotation;
-exports.assertNumberTypeAnnotation = assertNumberTypeAnnotation;
-exports.assertNumericLiteral = assertNumericLiteral;
-exports.assertObjectExpression = assertObjectExpression;
-exports.assertObjectMember = assertObjectMember;
-exports.assertObjectMethod = assertObjectMethod;
-exports.assertObjectPattern = assertObjectPattern;
-exports.assertObjectProperty = assertObjectProperty;
-exports.assertObjectTypeAnnotation = assertObjectTypeAnnotation;
-exports.assertObjectTypeCallProperty = assertObjectTypeCallProperty;
-exports.assertObjectTypeIndexer = assertObjectTypeIndexer;
-exports.assertObjectTypeInternalSlot = assertObjectTypeInternalSlot;
-exports.assertObjectTypeProperty = assertObjectTypeProperty;
-exports.assertObjectTypeSpreadProperty = assertObjectTypeSpreadProperty;
-exports.assertOpaqueType = assertOpaqueType;
-exports.assertOptionalCallExpression = assertOptionalCallExpression;
-exports.assertOptionalIndexedAccessType = assertOptionalIndexedAccessType;
-exports.assertOptionalMemberExpression = assertOptionalMemberExpression;
-exports.assertParenthesizedExpression = assertParenthesizedExpression;
-exports.assertPattern = assertPattern;
-exports.assertPatternLike = assertPatternLike;
-exports.assertPipelineBareFunction = assertPipelineBareFunction;
-exports.assertPipelinePrimaryTopicReference = assertPipelinePrimaryTopicReference;
-exports.assertPipelineTopicExpression = assertPipelineTopicExpression;
-exports.assertPlaceholder = assertPlaceholder;
-exports.assertPrivate = assertPrivate;
-exports.assertPrivateName = assertPrivateName;
-exports.assertProgram = assertProgram;
-exports.assertProperty = assertProperty;
-exports.assertPureish = assertPureish;
-exports.assertQualifiedTypeIdentifier = assertQualifiedTypeIdentifier;
-exports.assertRecordExpression = assertRecordExpression;
-exports.assertRegExpLiteral = assertRegExpLiteral;
-exports.assertRegexLiteral = assertRegexLiteral;
-exports.assertRestElement = assertRestElement;
-exports.assertRestProperty = assertRestProperty;
-exports.assertReturnStatement = assertReturnStatement;
-exports.assertScopable = assertScopable;
-exports.assertSequenceExpression = assertSequenceExpression;
-exports.assertSpreadElement = assertSpreadElement;
-exports.assertSpreadProperty = assertSpreadProperty;
-exports.assertStandardized = assertStandardized;
-exports.assertStatement = assertStatement;
-exports.assertStaticBlock = assertStaticBlock;
-exports.assertStringLiteral = assertStringLiteral;
-exports.assertStringLiteralTypeAnnotation = assertStringLiteralTypeAnnotation;
-exports.assertStringTypeAnnotation = assertStringTypeAnnotation;
-exports.assertSuper = assertSuper;
-exports.assertSwitchCase = assertSwitchCase;
-exports.assertSwitchStatement = assertSwitchStatement;
-exports.assertSymbolTypeAnnotation = assertSymbolTypeAnnotation;
-exports.assertTSAnyKeyword = assertTSAnyKeyword;
-exports.assertTSArrayType = assertTSArrayType;
-exports.assertTSAsExpression = assertTSAsExpression;
-exports.assertTSBaseType = assertTSBaseType;
-exports.assertTSBigIntKeyword = assertTSBigIntKeyword;
-exports.assertTSBooleanKeyword = assertTSBooleanKeyword;
-exports.assertTSCallSignatureDeclaration = assertTSCallSignatureDeclaration;
-exports.assertTSConditionalType = assertTSConditionalType;
-exports.assertTSConstructSignatureDeclaration = assertTSConstructSignatureDeclaration;
-exports.assertTSConstructorType = assertTSConstructorType;
-exports.assertTSDeclareFunction = assertTSDeclareFunction;
-exports.assertTSDeclareMethod = assertTSDeclareMethod;
-exports.assertTSEntityName = assertTSEntityName;
-exports.assertTSEnumDeclaration = assertTSEnumDeclaration;
-exports.assertTSEnumMember = assertTSEnumMember;
-exports.assertTSExportAssignment = assertTSExportAssignment;
-exports.assertTSExpressionWithTypeArguments = assertTSExpressionWithTypeArguments;
-exports.assertTSExternalModuleReference = assertTSExternalModuleReference;
-exports.assertTSFunctionType = assertTSFunctionType;
-exports.assertTSImportEqualsDeclaration = assertTSImportEqualsDeclaration;
-exports.assertTSImportType = assertTSImportType;
-exports.assertTSIndexSignature = assertTSIndexSignature;
-exports.assertTSIndexedAccessType = assertTSIndexedAccessType;
-exports.assertTSInferType = assertTSInferType;
-exports.assertTSInstantiationExpression = assertTSInstantiationExpression;
-exports.assertTSInterfaceBody = assertTSInterfaceBody;
-exports.assertTSInterfaceDeclaration = assertTSInterfaceDeclaration;
-exports.assertTSIntersectionType = assertTSIntersectionType;
-exports.assertTSIntrinsicKeyword = assertTSIntrinsicKeyword;
-exports.assertTSLiteralType = assertTSLiteralType;
-exports.assertTSMappedType = assertTSMappedType;
-exports.assertTSMethodSignature = assertTSMethodSignature;
-exports.assertTSModuleBlock = assertTSModuleBlock;
-exports.assertTSModuleDeclaration = assertTSModuleDeclaration;
-exports.assertTSNamedTupleMember = assertTSNamedTupleMember;
-exports.assertTSNamespaceExportDeclaration = assertTSNamespaceExportDeclaration;
-exports.assertTSNeverKeyword = assertTSNeverKeyword;
-exports.assertTSNonNullExpression = assertTSNonNullExpression;
-exports.assertTSNullKeyword = assertTSNullKeyword;
-exports.assertTSNumberKeyword = assertTSNumberKeyword;
-exports.assertTSObjectKeyword = assertTSObjectKeyword;
-exports.assertTSOptionalType = assertTSOptionalType;
-exports.assertTSParameterProperty = assertTSParameterProperty;
-exports.assertTSParenthesizedType = assertTSParenthesizedType;
-exports.assertTSPropertySignature = assertTSPropertySignature;
-exports.assertTSQualifiedName = assertTSQualifiedName;
-exports.assertTSRestType = assertTSRestType;
-exports.assertTSStringKeyword = assertTSStringKeyword;
-exports.assertTSSymbolKeyword = assertTSSymbolKeyword;
-exports.assertTSThisType = assertTSThisType;
-exports.assertTSTupleType = assertTSTupleType;
-exports.assertTSType = assertTSType;
-exports.assertTSTypeAliasDeclaration = assertTSTypeAliasDeclaration;
-exports.assertTSTypeAnnotation = assertTSTypeAnnotation;
-exports.assertTSTypeAssertion = assertTSTypeAssertion;
-exports.assertTSTypeElement = assertTSTypeElement;
-exports.assertTSTypeLiteral = assertTSTypeLiteral;
-exports.assertTSTypeOperator = assertTSTypeOperator;
-exports.assertTSTypeParameter = assertTSTypeParameter;
-exports.assertTSTypeParameterDeclaration = assertTSTypeParameterDeclaration;
-exports.assertTSTypeParameterInstantiation = assertTSTypeParameterInstantiation;
-exports.assertTSTypePredicate = assertTSTypePredicate;
-exports.assertTSTypeQuery = assertTSTypeQuery;
-exports.assertTSTypeReference = assertTSTypeReference;
-exports.assertTSUndefinedKeyword = assertTSUndefinedKeyword;
-exports.assertTSUnionType = assertTSUnionType;
-exports.assertTSUnknownKeyword = assertTSUnknownKeyword;
-exports.assertTSVoidKeyword = assertTSVoidKeyword;
-exports.assertTaggedTemplateExpression = assertTaggedTemplateExpression;
-exports.assertTemplateElement = assertTemplateElement;
-exports.assertTemplateLiteral = assertTemplateLiteral;
-exports.assertTerminatorless = assertTerminatorless;
-exports.assertThisExpression = assertThisExpression;
-exports.assertThisTypeAnnotation = assertThisTypeAnnotation;
-exports.assertThrowStatement = assertThrowStatement;
-exports.assertTopicReference = assertTopicReference;
-exports.assertTryStatement = assertTryStatement;
-exports.assertTupleExpression = assertTupleExpression;
-exports.assertTupleTypeAnnotation = assertTupleTypeAnnotation;
-exports.assertTypeAlias = assertTypeAlias;
-exports.assertTypeAnnotation = assertTypeAnnotation;
-exports.assertTypeCastExpression = assertTypeCastExpression;
-exports.assertTypeParameter = assertTypeParameter;
-exports.assertTypeParameterDeclaration = assertTypeParameterDeclaration;
-exports.assertTypeParameterInstantiation = assertTypeParameterInstantiation;
-exports.assertTypeScript = assertTypeScript;
-exports.assertTypeofTypeAnnotation = assertTypeofTypeAnnotation;
-exports.assertUnaryExpression = assertUnaryExpression;
-exports.assertUnaryLike = assertUnaryLike;
-exports.assertUnionTypeAnnotation = assertUnionTypeAnnotation;
-exports.assertUpdateExpression = assertUpdateExpression;
-exports.assertUserWhitespacable = assertUserWhitespacable;
-exports.assertV8IntrinsicIdentifier = assertV8IntrinsicIdentifier;
-exports.assertVariableDeclaration = assertVariableDeclaration;
-exports.assertVariableDeclarator = assertVariableDeclarator;
-exports.assertVariance = assertVariance;
-exports.assertVoidTypeAnnotation = assertVoidTypeAnnotation;
-exports.assertWhile = assertWhile;
-exports.assertWhileStatement = assertWhileStatement;
-exports.assertWithStatement = assertWithStatement;
-exports.assertYieldExpression = assertYieldExpression;
-
-var _is = require("../../validators/is");
-
-function assert(type, node, opts) {
- if (!(0, _is.default)(type, node, opts)) {
- throw new Error(`Expected type "${type}" with option ${JSON.stringify(opts)}, ` + `but instead got "${node.type}".`);
- }
-}
-
-function assertArrayExpression(node, opts) {
- assert("ArrayExpression", node, opts);
-}
-
-function assertAssignmentExpression(node, opts) {
- assert("AssignmentExpression", node, opts);
-}
-
-function assertBinaryExpression(node, opts) {
- assert("BinaryExpression", node, opts);
-}
-
-function assertInterpreterDirective(node, opts) {
- assert("InterpreterDirective", node, opts);
-}
-
-function assertDirective(node, opts) {
- assert("Directive", node, opts);
-}
-
-function assertDirectiveLiteral(node, opts) {
- assert("DirectiveLiteral", node, opts);
-}
-
-function assertBlockStatement(node, opts) {
- assert("BlockStatement", node, opts);
-}
-
-function assertBreakStatement(node, opts) {
- assert("BreakStatement", node, opts);
-}
-
-function assertCallExpression(node, opts) {
- assert("CallExpression", node, opts);
-}
-
-function assertCatchClause(node, opts) {
- assert("CatchClause", node, opts);
-}
-
-function assertConditionalExpression(node, opts) {
- assert("ConditionalExpression", node, opts);
-}
-
-function assertContinueStatement(node, opts) {
- assert("ContinueStatement", node, opts);
-}
-
-function assertDebuggerStatement(node, opts) {
- assert("DebuggerStatement", node, opts);
-}
-
-function assertDoWhileStatement(node, opts) {
- assert("DoWhileStatement", node, opts);
-}
-
-function assertEmptyStatement(node, opts) {
- assert("EmptyStatement", node, opts);
-}
-
-function assertExpressionStatement(node, opts) {
- assert("ExpressionStatement", node, opts);
-}
-
-function assertFile(node, opts) {
- assert("File", node, opts);
-}
-
-function assertForInStatement(node, opts) {
- assert("ForInStatement", node, opts);
-}
-
-function assertForStatement(node, opts) {
- assert("ForStatement", node, opts);
-}
-
-function assertFunctionDeclaration(node, opts) {
- assert("FunctionDeclaration", node, opts);
-}
-
-function assertFunctionExpression(node, opts) {
- assert("FunctionExpression", node, opts);
-}
-
-function assertIdentifier(node, opts) {
- assert("Identifier", node, opts);
-}
-
-function assertIfStatement(node, opts) {
- assert("IfStatement", node, opts);
-}
-
-function assertLabeledStatement(node, opts) {
- assert("LabeledStatement", node, opts);
-}
-
-function assertStringLiteral(node, opts) {
- assert("StringLiteral", node, opts);
-}
-
-function assertNumericLiteral(node, opts) {
- assert("NumericLiteral", node, opts);
-}
-
-function assertNullLiteral(node, opts) {
- assert("NullLiteral", node, opts);
-}
-
-function assertBooleanLiteral(node, opts) {
- assert("BooleanLiteral", node, opts);
-}
-
-function assertRegExpLiteral(node, opts) {
- assert("RegExpLiteral", node, opts);
-}
-
-function assertLogicalExpression(node, opts) {
- assert("LogicalExpression", node, opts);
-}
-
-function assertMemberExpression(node, opts) {
- assert("MemberExpression", node, opts);
-}
-
-function assertNewExpression(node, opts) {
- assert("NewExpression", node, opts);
-}
-
-function assertProgram(node, opts) {
- assert("Program", node, opts);
-}
-
-function assertObjectExpression(node, opts) {
- assert("ObjectExpression", node, opts);
-}
-
-function assertObjectMethod(node, opts) {
- assert("ObjectMethod", node, opts);
-}
-
-function assertObjectProperty(node, opts) {
- assert("ObjectProperty", node, opts);
-}
-
-function assertRestElement(node, opts) {
- assert("RestElement", node, opts);
-}
-
-function assertReturnStatement(node, opts) {
- assert("ReturnStatement", node, opts);
-}
-
-function assertSequenceExpression(node, opts) {
- assert("SequenceExpression", node, opts);
-}
-
-function assertParenthesizedExpression(node, opts) {
- assert("ParenthesizedExpression", node, opts);
-}
-
-function assertSwitchCase(node, opts) {
- assert("SwitchCase", node, opts);
-}
-
-function assertSwitchStatement(node, opts) {
- assert("SwitchStatement", node, opts);
-}
-
-function assertThisExpression(node, opts) {
- assert("ThisExpression", node, opts);
-}
-
-function assertThrowStatement(node, opts) {
- assert("ThrowStatement", node, opts);
-}
-
-function assertTryStatement(node, opts) {
- assert("TryStatement", node, opts);
-}
-
-function assertUnaryExpression(node, opts) {
- assert("UnaryExpression", node, opts);
-}
-
-function assertUpdateExpression(node, opts) {
- assert("UpdateExpression", node, opts);
-}
-
-function assertVariableDeclaration(node, opts) {
- assert("VariableDeclaration", node, opts);
-}
-
-function assertVariableDeclarator(node, opts) {
- assert("VariableDeclarator", node, opts);
-}
-
-function assertWhileStatement(node, opts) {
- assert("WhileStatement", node, opts);
-}
-
-function assertWithStatement(node, opts) {
- assert("WithStatement", node, opts);
-}
-
-function assertAssignmentPattern(node, opts) {
- assert("AssignmentPattern", node, opts);
-}
-
-function assertArrayPattern(node, opts) {
- assert("ArrayPattern", node, opts);
-}
-
-function assertArrowFunctionExpression(node, opts) {
- assert("ArrowFunctionExpression", node, opts);
-}
-
-function assertClassBody(node, opts) {
- assert("ClassBody", node, opts);
-}
-
-function assertClassExpression(node, opts) {
- assert("ClassExpression", node, opts);
-}
-
-function assertClassDeclaration(node, opts) {
- assert("ClassDeclaration", node, opts);
-}
-
-function assertExportAllDeclaration(node, opts) {
- assert("ExportAllDeclaration", node, opts);
-}
-
-function assertExportDefaultDeclaration(node, opts) {
- assert("ExportDefaultDeclaration", node, opts);
-}
-
-function assertExportNamedDeclaration(node, opts) {
- assert("ExportNamedDeclaration", node, opts);
-}
-
-function assertExportSpecifier(node, opts) {
- assert("ExportSpecifier", node, opts);
-}
-
-function assertForOfStatement(node, opts) {
- assert("ForOfStatement", node, opts);
-}
-
-function assertImportDeclaration(node, opts) {
- assert("ImportDeclaration", node, opts);
-}
-
-function assertImportDefaultSpecifier(node, opts) {
- assert("ImportDefaultSpecifier", node, opts);
-}
-
-function assertImportNamespaceSpecifier(node, opts) {
- assert("ImportNamespaceSpecifier", node, opts);
-}
-
-function assertImportSpecifier(node, opts) {
- assert("ImportSpecifier", node, opts);
-}
-
-function assertMetaProperty(node, opts) {
- assert("MetaProperty", node, opts);
-}
-
-function assertClassMethod(node, opts) {
- assert("ClassMethod", node, opts);
-}
-
-function assertObjectPattern(node, opts) {
- assert("ObjectPattern", node, opts);
-}
-
-function assertSpreadElement(node, opts) {
- assert("SpreadElement", node, opts);
-}
-
-function assertSuper(node, opts) {
- assert("Super", node, opts);
-}
-
-function assertTaggedTemplateExpression(node, opts) {
- assert("TaggedTemplateExpression", node, opts);
-}
-
-function assertTemplateElement(node, opts) {
- assert("TemplateElement", node, opts);
-}
-
-function assertTemplateLiteral(node, opts) {
- assert("TemplateLiteral", node, opts);
-}
-
-function assertYieldExpression(node, opts) {
- assert("YieldExpression", node, opts);
-}
-
-function assertAwaitExpression(node, opts) {
- assert("AwaitExpression", node, opts);
-}
-
-function assertImport(node, opts) {
- assert("Import", node, opts);
-}
-
-function assertBigIntLiteral(node, opts) {
- assert("BigIntLiteral", node, opts);
-}
-
-function assertExportNamespaceSpecifier(node, opts) {
- assert("ExportNamespaceSpecifier", node, opts);
-}
-
-function assertOptionalMemberExpression(node, opts) {
- assert("OptionalMemberExpression", node, opts);
-}
-
-function assertOptionalCallExpression(node, opts) {
- assert("OptionalCallExpression", node, opts);
-}
-
-function assertClassProperty(node, opts) {
- assert("ClassProperty", node, opts);
-}
-
-function assertClassAccessorProperty(node, opts) {
- assert("ClassAccessorProperty", node, opts);
-}
-
-function assertClassPrivateProperty(node, opts) {
- assert("ClassPrivateProperty", node, opts);
-}
-
-function assertClassPrivateMethod(node, opts) {
- assert("ClassPrivateMethod", node, opts);
-}
-
-function assertPrivateName(node, opts) {
- assert("PrivateName", node, opts);
-}
-
-function assertStaticBlock(node, opts) {
- assert("StaticBlock", node, opts);
-}
-
-function assertAnyTypeAnnotation(node, opts) {
- assert("AnyTypeAnnotation", node, opts);
-}
-
-function assertArrayTypeAnnotation(node, opts) {
- assert("ArrayTypeAnnotation", node, opts);
-}
-
-function assertBooleanTypeAnnotation(node, opts) {
- assert("BooleanTypeAnnotation", node, opts);
-}
-
-function assertBooleanLiteralTypeAnnotation(node, opts) {
- assert("BooleanLiteralTypeAnnotation", node, opts);
-}
-
-function assertNullLiteralTypeAnnotation(node, opts) {
- assert("NullLiteralTypeAnnotation", node, opts);
-}
-
-function assertClassImplements(node, opts) {
- assert("ClassImplements", node, opts);
-}
-
-function assertDeclareClass(node, opts) {
- assert("DeclareClass", node, opts);
-}
-
-function assertDeclareFunction(node, opts) {
- assert("DeclareFunction", node, opts);
-}
-
-function assertDeclareInterface(node, opts) {
- assert("DeclareInterface", node, opts);
-}
-
-function assertDeclareModule(node, opts) {
- assert("DeclareModule", node, opts);
-}
-
-function assertDeclareModuleExports(node, opts) {
- assert("DeclareModuleExports", node, opts);
-}
-
-function assertDeclareTypeAlias(node, opts) {
- assert("DeclareTypeAlias", node, opts);
-}
-
-function assertDeclareOpaqueType(node, opts) {
- assert("DeclareOpaqueType", node, opts);
-}
-
-function assertDeclareVariable(node, opts) {
- assert("DeclareVariable", node, opts);
-}
-
-function assertDeclareExportDeclaration(node, opts) {
- assert("DeclareExportDeclaration", node, opts);
-}
-
-function assertDeclareExportAllDeclaration(node, opts) {
- assert("DeclareExportAllDeclaration", node, opts);
-}
-
-function assertDeclaredPredicate(node, opts) {
- assert("DeclaredPredicate", node, opts);
-}
-
-function assertExistsTypeAnnotation(node, opts) {
- assert("ExistsTypeAnnotation", node, opts);
-}
-
-function assertFunctionTypeAnnotation(node, opts) {
- assert("FunctionTypeAnnotation", node, opts);
-}
-
-function assertFunctionTypeParam(node, opts) {
- assert("FunctionTypeParam", node, opts);
-}
-
-function assertGenericTypeAnnotation(node, opts) {
- assert("GenericTypeAnnotation", node, opts);
-}
-
-function assertInferredPredicate(node, opts) {
- assert("InferredPredicate", node, opts);
-}
-
-function assertInterfaceExtends(node, opts) {
- assert("InterfaceExtends", node, opts);
-}
-
-function assertInterfaceDeclaration(node, opts) {
- assert("InterfaceDeclaration", node, opts);
-}
-
-function assertInterfaceTypeAnnotation(node, opts) {
- assert("InterfaceTypeAnnotation", node, opts);
-}
-
-function assertIntersectionTypeAnnotation(node, opts) {
- assert("IntersectionTypeAnnotation", node, opts);
-}
-
-function assertMixedTypeAnnotation(node, opts) {
- assert("MixedTypeAnnotation", node, opts);
-}
-
-function assertEmptyTypeAnnotation(node, opts) {
- assert("EmptyTypeAnnotation", node, opts);
-}
-
-function assertNullableTypeAnnotation(node, opts) {
- assert("NullableTypeAnnotation", node, opts);
-}
-
-function assertNumberLiteralTypeAnnotation(node, opts) {
- assert("NumberLiteralTypeAnnotation", node, opts);
-}
-
-function assertNumberTypeAnnotation(node, opts) {
- assert("NumberTypeAnnotation", node, opts);
-}
-
-function assertObjectTypeAnnotation(node, opts) {
- assert("ObjectTypeAnnotation", node, opts);
-}
-
-function assertObjectTypeInternalSlot(node, opts) {
- assert("ObjectTypeInternalSlot", node, opts);
-}
-
-function assertObjectTypeCallProperty(node, opts) {
- assert("ObjectTypeCallProperty", node, opts);
-}
-
-function assertObjectTypeIndexer(node, opts) {
- assert("ObjectTypeIndexer", node, opts);
-}
-
-function assertObjectTypeProperty(node, opts) {
- assert("ObjectTypeProperty", node, opts);
-}
-
-function assertObjectTypeSpreadProperty(node, opts) {
- assert("ObjectTypeSpreadProperty", node, opts);
-}
-
-function assertOpaqueType(node, opts) {
- assert("OpaqueType", node, opts);
-}
-
-function assertQualifiedTypeIdentifier(node, opts) {
- assert("QualifiedTypeIdentifier", node, opts);
-}
-
-function assertStringLiteralTypeAnnotation(node, opts) {
- assert("StringLiteralTypeAnnotation", node, opts);
-}
-
-function assertStringTypeAnnotation(node, opts) {
- assert("StringTypeAnnotation", node, opts);
-}
-
-function assertSymbolTypeAnnotation(node, opts) {
- assert("SymbolTypeAnnotation", node, opts);
-}
-
-function assertThisTypeAnnotation(node, opts) {
- assert("ThisTypeAnnotation", node, opts);
-}
-
-function assertTupleTypeAnnotation(node, opts) {
- assert("TupleTypeAnnotation", node, opts);
-}
-
-function assertTypeofTypeAnnotation(node, opts) {
- assert("TypeofTypeAnnotation", node, opts);
-}
-
-function assertTypeAlias(node, opts) {
- assert("TypeAlias", node, opts);
-}
-
-function assertTypeAnnotation(node, opts) {
- assert("TypeAnnotation", node, opts);
-}
-
-function assertTypeCastExpression(node, opts) {
- assert("TypeCastExpression", node, opts);
-}
-
-function assertTypeParameter(node, opts) {
- assert("TypeParameter", node, opts);
-}
-
-function assertTypeParameterDeclaration(node, opts) {
- assert("TypeParameterDeclaration", node, opts);
-}
-
-function assertTypeParameterInstantiation(node, opts) {
- assert("TypeParameterInstantiation", node, opts);
-}
-
-function assertUnionTypeAnnotation(node, opts) {
- assert("UnionTypeAnnotation", node, opts);
-}
-
-function assertVariance(node, opts) {
- assert("Variance", node, opts);
-}
-
-function assertVoidTypeAnnotation(node, opts) {
- assert("VoidTypeAnnotation", node, opts);
-}
-
-function assertEnumDeclaration(node, opts) {
- assert("EnumDeclaration", node, opts);
-}
-
-function assertEnumBooleanBody(node, opts) {
- assert("EnumBooleanBody", node, opts);
-}
-
-function assertEnumNumberBody(node, opts) {
- assert("EnumNumberBody", node, opts);
-}
-
-function assertEnumStringBody(node, opts) {
- assert("EnumStringBody", node, opts);
-}
-
-function assertEnumSymbolBody(node, opts) {
- assert("EnumSymbolBody", node, opts);
-}
-
-function assertEnumBooleanMember(node, opts) {
- assert("EnumBooleanMember", node, opts);
-}
-
-function assertEnumNumberMember(node, opts) {
- assert("EnumNumberMember", node, opts);
-}
-
-function assertEnumStringMember(node, opts) {
- assert("EnumStringMember", node, opts);
-}
-
-function assertEnumDefaultedMember(node, opts) {
- assert("EnumDefaultedMember", node, opts);
-}
-
-function assertIndexedAccessType(node, opts) {
- assert("IndexedAccessType", node, opts);
-}
-
-function assertOptionalIndexedAccessType(node, opts) {
- assert("OptionalIndexedAccessType", node, opts);
-}
-
-function assertJSXAttribute(node, opts) {
- assert("JSXAttribute", node, opts);
-}
-
-function assertJSXClosingElement(node, opts) {
- assert("JSXClosingElement", node, opts);
-}
-
-function assertJSXElement(node, opts) {
- assert("JSXElement", node, opts);
-}
-
-function assertJSXEmptyExpression(node, opts) {
- assert("JSXEmptyExpression", node, opts);
-}
-
-function assertJSXExpressionContainer(node, opts) {
- assert("JSXExpressionContainer", node, opts);
-}
-
-function assertJSXSpreadChild(node, opts) {
- assert("JSXSpreadChild", node, opts);
-}
-
-function assertJSXIdentifier(node, opts) {
- assert("JSXIdentifier", node, opts);
-}
-
-function assertJSXMemberExpression(node, opts) {
- assert("JSXMemberExpression", node, opts);
-}
-
-function assertJSXNamespacedName(node, opts) {
- assert("JSXNamespacedName", node, opts);
-}
-
-function assertJSXOpeningElement(node, opts) {
- assert("JSXOpeningElement", node, opts);
-}
-
-function assertJSXSpreadAttribute(node, opts) {
- assert("JSXSpreadAttribute", node, opts);
-}
-
-function assertJSXText(node, opts) {
- assert("JSXText", node, opts);
-}
-
-function assertJSXFragment(node, opts) {
- assert("JSXFragment", node, opts);
-}
-
-function assertJSXOpeningFragment(node, opts) {
- assert("JSXOpeningFragment", node, opts);
-}
-
-function assertJSXClosingFragment(node, opts) {
- assert("JSXClosingFragment", node, opts);
-}
-
-function assertNoop(node, opts) {
- assert("Noop", node, opts);
-}
-
-function assertPlaceholder(node, opts) {
- assert("Placeholder", node, opts);
-}
-
-function assertV8IntrinsicIdentifier(node, opts) {
- assert("V8IntrinsicIdentifier", node, opts);
-}
-
-function assertArgumentPlaceholder(node, opts) {
- assert("ArgumentPlaceholder", node, opts);
-}
-
-function assertBindExpression(node, opts) {
- assert("BindExpression", node, opts);
-}
-
-function assertImportAttribute(node, opts) {
- assert("ImportAttribute", node, opts);
-}
-
-function assertDecorator(node, opts) {
- assert("Decorator", node, opts);
-}
-
-function assertDoExpression(node, opts) {
- assert("DoExpression", node, opts);
-}
-
-function assertExportDefaultSpecifier(node, opts) {
- assert("ExportDefaultSpecifier", node, opts);
-}
-
-function assertRecordExpression(node, opts) {
- assert("RecordExpression", node, opts);
-}
-
-function assertTupleExpression(node, opts) {
- assert("TupleExpression", node, opts);
-}
-
-function assertDecimalLiteral(node, opts) {
- assert("DecimalLiteral", node, opts);
-}
-
-function assertModuleExpression(node, opts) {
- assert("ModuleExpression", node, opts);
-}
-
-function assertTopicReference(node, opts) {
- assert("TopicReference", node, opts);
-}
-
-function assertPipelineTopicExpression(node, opts) {
- assert("PipelineTopicExpression", node, opts);
-}
-
-function assertPipelineBareFunction(node, opts) {
- assert("PipelineBareFunction", node, opts);
-}
-
-function assertPipelinePrimaryTopicReference(node, opts) {
- assert("PipelinePrimaryTopicReference", node, opts);
-}
-
-function assertTSParameterProperty(node, opts) {
- assert("TSParameterProperty", node, opts);
-}
-
-function assertTSDeclareFunction(node, opts) {
- assert("TSDeclareFunction", node, opts);
-}
-
-function assertTSDeclareMethod(node, opts) {
- assert("TSDeclareMethod", node, opts);
-}
-
-function assertTSQualifiedName(node, opts) {
- assert("TSQualifiedName", node, opts);
-}
-
-function assertTSCallSignatureDeclaration(node, opts) {
- assert("TSCallSignatureDeclaration", node, opts);
-}
-
-function assertTSConstructSignatureDeclaration(node, opts) {
- assert("TSConstructSignatureDeclaration", node, opts);
-}
-
-function assertTSPropertySignature(node, opts) {
- assert("TSPropertySignature", node, opts);
-}
-
-function assertTSMethodSignature(node, opts) {
- assert("TSMethodSignature", node, opts);
-}
-
-function assertTSIndexSignature(node, opts) {
- assert("TSIndexSignature", node, opts);
-}
-
-function assertTSAnyKeyword(node, opts) {
- assert("TSAnyKeyword", node, opts);
-}
-
-function assertTSBooleanKeyword(node, opts) {
- assert("TSBooleanKeyword", node, opts);
-}
-
-function assertTSBigIntKeyword(node, opts) {
- assert("TSBigIntKeyword", node, opts);
-}
-
-function assertTSIntrinsicKeyword(node, opts) {
- assert("TSIntrinsicKeyword", node, opts);
-}
-
-function assertTSNeverKeyword(node, opts) {
- assert("TSNeverKeyword", node, opts);
-}
-
-function assertTSNullKeyword(node, opts) {
- assert("TSNullKeyword", node, opts);
-}
-
-function assertTSNumberKeyword(node, opts) {
- assert("TSNumberKeyword", node, opts);
-}
-
-function assertTSObjectKeyword(node, opts) {
- assert("TSObjectKeyword", node, opts);
-}
-
-function assertTSStringKeyword(node, opts) {
- assert("TSStringKeyword", node, opts);
-}
-
-function assertTSSymbolKeyword(node, opts) {
- assert("TSSymbolKeyword", node, opts);
-}
-
-function assertTSUndefinedKeyword(node, opts) {
- assert("TSUndefinedKeyword", node, opts);
-}
-
-function assertTSUnknownKeyword(node, opts) {
- assert("TSUnknownKeyword", node, opts);
-}
-
-function assertTSVoidKeyword(node, opts) {
- assert("TSVoidKeyword", node, opts);
-}
-
-function assertTSThisType(node, opts) {
- assert("TSThisType", node, opts);
-}
-
-function assertTSFunctionType(node, opts) {
- assert("TSFunctionType", node, opts);
-}
-
-function assertTSConstructorType(node, opts) {
- assert("TSConstructorType", node, opts);
-}
-
-function assertTSTypeReference(node, opts) {
- assert("TSTypeReference", node, opts);
-}
-
-function assertTSTypePredicate(node, opts) {
- assert("TSTypePredicate", node, opts);
-}
-
-function assertTSTypeQuery(node, opts) {
- assert("TSTypeQuery", node, opts);
-}
-
-function assertTSTypeLiteral(node, opts) {
- assert("TSTypeLiteral", node, opts);
-}
-
-function assertTSArrayType(node, opts) {
- assert("TSArrayType", node, opts);
-}
-
-function assertTSTupleType(node, opts) {
- assert("TSTupleType", node, opts);
-}
-
-function assertTSOptionalType(node, opts) {
- assert("TSOptionalType", node, opts);
-}
-
-function assertTSRestType(node, opts) {
- assert("TSRestType", node, opts);
-}
-
-function assertTSNamedTupleMember(node, opts) {
- assert("TSNamedTupleMember", node, opts);
-}
-
-function assertTSUnionType(node, opts) {
- assert("TSUnionType", node, opts);
-}
-
-function assertTSIntersectionType(node, opts) {
- assert("TSIntersectionType", node, opts);
-}
-
-function assertTSConditionalType(node, opts) {
- assert("TSConditionalType", node, opts);
-}
-
-function assertTSInferType(node, opts) {
- assert("TSInferType", node, opts);
-}
-
-function assertTSParenthesizedType(node, opts) {
- assert("TSParenthesizedType", node, opts);
-}
-
-function assertTSTypeOperator(node, opts) {
- assert("TSTypeOperator", node, opts);
-}
-
-function assertTSIndexedAccessType(node, opts) {
- assert("TSIndexedAccessType", node, opts);
-}
-
-function assertTSMappedType(node, opts) {
- assert("TSMappedType", node, opts);
-}
-
-function assertTSLiteralType(node, opts) {
- assert("TSLiteralType", node, opts);
-}
-
-function assertTSExpressionWithTypeArguments(node, opts) {
- assert("TSExpressionWithTypeArguments", node, opts);
-}
-
-function assertTSInterfaceDeclaration(node, opts) {
- assert("TSInterfaceDeclaration", node, opts);
-}
-
-function assertTSInterfaceBody(node, opts) {
- assert("TSInterfaceBody", node, opts);
-}
-
-function assertTSTypeAliasDeclaration(node, opts) {
- assert("TSTypeAliasDeclaration", node, opts);
-}
-
-function assertTSInstantiationExpression(node, opts) {
- assert("TSInstantiationExpression", node, opts);
-}
-
-function assertTSAsExpression(node, opts) {
- assert("TSAsExpression", node, opts);
-}
-
-function assertTSTypeAssertion(node, opts) {
- assert("TSTypeAssertion", node, opts);
-}
-
-function assertTSEnumDeclaration(node, opts) {
- assert("TSEnumDeclaration", node, opts);
-}
-
-function assertTSEnumMember(node, opts) {
- assert("TSEnumMember", node, opts);
-}
-
-function assertTSModuleDeclaration(node, opts) {
- assert("TSModuleDeclaration", node, opts);
-}
-
-function assertTSModuleBlock(node, opts) {
- assert("TSModuleBlock", node, opts);
-}
-
-function assertTSImportType(node, opts) {
- assert("TSImportType", node, opts);
-}
-
-function assertTSImportEqualsDeclaration(node, opts) {
- assert("TSImportEqualsDeclaration", node, opts);
-}
-
-function assertTSExternalModuleReference(node, opts) {
- assert("TSExternalModuleReference", node, opts);
-}
-
-function assertTSNonNullExpression(node, opts) {
- assert("TSNonNullExpression", node, opts);
-}
-
-function assertTSExportAssignment(node, opts) {
- assert("TSExportAssignment", node, opts);
-}
-
-function assertTSNamespaceExportDeclaration(node, opts) {
- assert("TSNamespaceExportDeclaration", node, opts);
-}
-
-function assertTSTypeAnnotation(node, opts) {
- assert("TSTypeAnnotation", node, opts);
-}
-
-function assertTSTypeParameterInstantiation(node, opts) {
- assert("TSTypeParameterInstantiation", node, opts);
-}
-
-function assertTSTypeParameterDeclaration(node, opts) {
- assert("TSTypeParameterDeclaration", node, opts);
-}
-
-function assertTSTypeParameter(node, opts) {
- assert("TSTypeParameter", node, opts);
-}
-
-function assertStandardized(node, opts) {
- assert("Standardized", node, opts);
-}
-
-function assertExpression(node, opts) {
- assert("Expression", node, opts);
-}
-
-function assertBinary(node, opts) {
- assert("Binary", node, opts);
-}
-
-function assertScopable(node, opts) {
- assert("Scopable", node, opts);
-}
-
-function assertBlockParent(node, opts) {
- assert("BlockParent", node, opts);
-}
-
-function assertBlock(node, opts) {
- assert("Block", node, opts);
-}
-
-function assertStatement(node, opts) {
- assert("Statement", node, opts);
-}
-
-function assertTerminatorless(node, opts) {
- assert("Terminatorless", node, opts);
-}
-
-function assertCompletionStatement(node, opts) {
- assert("CompletionStatement", node, opts);
-}
-
-function assertConditional(node, opts) {
- assert("Conditional", node, opts);
-}
-
-function assertLoop(node, opts) {
- assert("Loop", node, opts);
-}
-
-function assertWhile(node, opts) {
- assert("While", node, opts);
-}
-
-function assertExpressionWrapper(node, opts) {
- assert("ExpressionWrapper", node, opts);
-}
-
-function assertFor(node, opts) {
- assert("For", node, opts);
-}
-
-function assertForXStatement(node, opts) {
- assert("ForXStatement", node, opts);
-}
-
-function assertFunction(node, opts) {
- assert("Function", node, opts);
-}
-
-function assertFunctionParent(node, opts) {
- assert("FunctionParent", node, opts);
-}
-
-function assertPureish(node, opts) {
- assert("Pureish", node, opts);
-}
-
-function assertDeclaration(node, opts) {
- assert("Declaration", node, opts);
-}
-
-function assertPatternLike(node, opts) {
- assert("PatternLike", node, opts);
-}
-
-function assertLVal(node, opts) {
- assert("LVal", node, opts);
-}
-
-function assertTSEntityName(node, opts) {
- assert("TSEntityName", node, opts);
-}
-
-function assertLiteral(node, opts) {
- assert("Literal", node, opts);
-}
-
-function assertImmutable(node, opts) {
- assert("Immutable", node, opts);
-}
-
-function assertUserWhitespacable(node, opts) {
- assert("UserWhitespacable", node, opts);
-}
-
-function assertMethod(node, opts) {
- assert("Method", node, opts);
-}
-
-function assertObjectMember(node, opts) {
- assert("ObjectMember", node, opts);
-}
-
-function assertProperty(node, opts) {
- assert("Property", node, opts);
-}
-
-function assertUnaryLike(node, opts) {
- assert("UnaryLike", node, opts);
-}
-
-function assertPattern(node, opts) {
- assert("Pattern", node, opts);
-}
-
-function assertClass(node, opts) {
- assert("Class", node, opts);
-}
-
-function assertModuleDeclaration(node, opts) {
- assert("ModuleDeclaration", node, opts);
-}
-
-function assertExportDeclaration(node, opts) {
- assert("ExportDeclaration", node, opts);
-}
-
-function assertModuleSpecifier(node, opts) {
- assert("ModuleSpecifier", node, opts);
-}
-
-function assertAccessor(node, opts) {
- assert("Accessor", node, opts);
-}
-
-function assertPrivate(node, opts) {
- assert("Private", node, opts);
-}
-
-function assertFlow(node, opts) {
- assert("Flow", node, opts);
-}
-
-function assertFlowType(node, opts) {
- assert("FlowType", node, opts);
-}
-
-function assertFlowBaseAnnotation(node, opts) {
- assert("FlowBaseAnnotation", node, opts);
-}
-
-function assertFlowDeclaration(node, opts) {
- assert("FlowDeclaration", node, opts);
-}
-
-function assertFlowPredicate(node, opts) {
- assert("FlowPredicate", node, opts);
-}
-
-function assertEnumBody(node, opts) {
- assert("EnumBody", node, opts);
-}
-
-function assertEnumMember(node, opts) {
- assert("EnumMember", node, opts);
-}
-
-function assertJSX(node, opts) {
- assert("JSX", node, opts);
-}
-
-function assertMiscellaneous(node, opts) {
- assert("Miscellaneous", node, opts);
-}
-
-function assertTypeScript(node, opts) {
- assert("TypeScript", node, opts);
-}
-
-function assertTSTypeElement(node, opts) {
- assert("TSTypeElement", node, opts);
-}
-
-function assertTSType(node, opts) {
- assert("TSType", node, opts);
-}
-
-function assertTSBaseType(node, opts) {
- assert("TSBaseType", node, opts);
-}
-
-function assertNumberLiteral(node, opts) {
- console.trace("The node type NumberLiteral has been renamed to NumericLiteral");
- assert("NumberLiteral", node, opts);
-}
-
-function assertRegexLiteral(node, opts) {
- console.trace("The node type RegexLiteral has been renamed to RegExpLiteral");
- assert("RegexLiteral", node, opts);
-}
-
-function assertRestProperty(node, opts) {
- console.trace("The node type RestProperty has been renamed to RestElement");
- assert("RestProperty", node, opts);
-}
-
-function assertSpreadProperty(node, opts) {
- console.trace("The node type SpreadProperty has been renamed to SpreadElement");
- assert("SpreadProperty", node, opts);
-}
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/asserts/generated/index.js.map b/includes/search/node_modules/@babel/types/lib/asserts/generated/index.js.map
deleted file mode 100644
index 5cbafe4..0000000
--- a/includes/search/node_modules/@babel/types/lib/asserts/generated/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["assert","type","node","opts","is","Error","JSON","stringify","assertArrayExpression","assertAssignmentExpression","assertBinaryExpression","assertInterpreterDirective","assertDirective","assertDirectiveLiteral","assertBlockStatement","assertBreakStatement","assertCallExpression","assertCatchClause","assertConditionalExpression","assertContinueStatement","assertDebuggerStatement","assertDoWhileStatement","assertEmptyStatement","assertExpressionStatement","assertFile","assertForInStatement","assertForStatement","assertFunctionDeclaration","assertFunctionExpression","assertIdentifier","assertIfStatement","assertLabeledStatement","assertStringLiteral","assertNumericLiteral","assertNullLiteral","assertBooleanLiteral","assertRegExpLiteral","assertLogicalExpression","assertMemberExpression","assertNewExpression","assertProgram","assertObjectExpression","assertObjectMethod","assertObjectProperty","assertRestElement","assertReturnStatement","assertSequenceExpression","assertParenthesizedExpression","assertSwitchCase","assertSwitchStatement","assertThisExpression","assertThrowStatement","assertTryStatement","assertUnaryExpression","assertUpdateExpression","assertVariableDeclaration","assertVariableDeclarator","assertWhileStatement","assertWithStatement","assertAssignmentPattern","assertArrayPattern","assertArrowFunctionExpression","assertClassBody","assertClassExpression","assertClassDeclaration","assertExportAllDeclaration","assertExportDefaultDeclaration","assertExportNamedDeclaration","assertExportSpecifier","assertForOfStatement","assertImportDeclaration","assertImportDefaultSpecifier","assertImportNamespaceSpecifier","assertImportSpecifier","assertMetaProperty","assertClassMethod","assertObjectPattern","assertSpreadElement","assertSuper","assertTaggedTemplateExpression","assertTemplateElement","assertTemplateLiteral","assertYieldExpression","assertAwaitExpression","assertImport","assertBigIntLiteral","assertExportNamespaceSpecifier","assertOptionalMemberExpression","assertOptionalCallExpression","assertClassProperty","assertClassAccessorProperty","assertClassPrivateProperty","assertClassPrivateMethod","assertPrivateName","assertStaticBlock","assertAnyTypeAnnotation","assertArrayTypeAnnotation","assertBooleanTypeAnnotation","assertBooleanLiteralTypeAnnotation","assertNullLiteralTypeAnnotation","assertClassImplements","assertDeclareClass","assertDeclareFunction","assertDeclareInterface","assertDeclareModule","assertDeclareModuleExports","assertDeclareTypeAlias","assertDeclareOpaqueType","assertDeclareVariable","assertDeclareExportDeclaration","assertDeclareExportAllDeclaration","assertDeclaredPredicate","assertExistsTypeAnnotation","assertFunctionTypeAnnotation","assertFunctionTypeParam","assertGenericTypeAnnotation","assertInferredPredicate","assertInterfaceExtends","assertInterfaceDeclaration","assertInterfaceTypeAnnotation","assertIntersectionTypeAnnotation","assertMixedTypeAnnotation","assertEmptyTypeAnnotation","assertNullableTypeAnnotation","assertNumberLiteralTypeAnnotation","assertNumberTypeAnnotation","assertObjectTypeAnnotation","assertObjectTypeInternalSlot","assertObjectTypeCallProperty","assertObjectTypeIndexer","assertObjectTypeProperty","assertObjectTypeSpreadProperty","assertOpaqueType","assertQualifiedTypeIdentifier","assertStringLiteralTypeAnnotation","assertStringTypeAnnotation","assertSymbolTypeAnnotation","assertThisTypeAnnotation","assertTupleTypeAnnotation","assertTypeofTypeAnnotation","assertTypeAlias","assertTypeAnnotation","assertTypeCastExpression","assertTypeParameter","assertTypeParameterDeclaration","assertTypeParameterInstantiation","assertUnionTypeAnnotation","assertVariance","assertVoidTypeAnnotation","assertEnumDeclaration","assertEnumBooleanBody","assertEnumNumberBody","assertEnumStringBody","assertEnumSymbolBody","assertEnumBooleanMember","assertEnumNumberMember","assertEnumStringMember","assertEnumDefaultedMember","assertIndexedAccessType","assertOptionalIndexedAccessType","assertJSXAttribute","assertJSXClosingElement","assertJSXElement","assertJSXEmptyExpression","assertJSXExpressionContainer","assertJSXSpreadChild","assertJSXIdentifier","assertJSXMemberExpression","assertJSXNamespacedName","assertJSXOpeningElement","assertJSXSpreadAttribute","assertJSXText","assertJSXFragment","assertJSXOpeningFragment","assertJSXClosingFragment","assertNoop","assertPlaceholder","assertV8IntrinsicIdentifier","assertArgumentPlaceholder","assertBindExpression","assertImportAttribute","assertDecorator","assertDoExpression","assertExportDefaultSpecifier","assertRecordExpression","assertTupleExpression","assertDecimalLiteral","assertModuleExpression","assertTopicReference","assertPipelineTopicExpression","assertPipelineBareFunction","assertPipelinePrimaryTopicReference","assertTSParameterProperty","assertTSDeclareFunction","assertTSDeclareMethod","assertTSQualifiedName","assertTSCallSignatureDeclaration","assertTSConstructSignatureDeclaration","assertTSPropertySignature","assertTSMethodSignature","assertTSIndexSignature","assertTSAnyKeyword","assertTSBooleanKeyword","assertTSBigIntKeyword","assertTSIntrinsicKeyword","assertTSNeverKeyword","assertTSNullKeyword","assertTSNumberKeyword","assertTSObjectKeyword","assertTSStringKeyword","assertTSSymbolKeyword","assertTSUndefinedKeyword","assertTSUnknownKeyword","assertTSVoidKeyword","assertTSThisType","assertTSFunctionType","assertTSConstructorType","assertTSTypeReference","assertTSTypePredicate","assertTSTypeQuery","assertTSTypeLiteral","assertTSArrayType","assertTSTupleType","assertTSOptionalType","assertTSRestType","assertTSNamedTupleMember","assertTSUnionType","assertTSIntersectionType","assertTSConditionalType","assertTSInferType","assertTSParenthesizedType","assertTSTypeOperator","assertTSIndexedAccessType","assertTSMappedType","assertTSLiteralType","assertTSExpressionWithTypeArguments","assertTSInterfaceDeclaration","assertTSInterfaceBody","assertTSTypeAliasDeclaration","assertTSInstantiationExpression","assertTSAsExpression","assertTSTypeAssertion","assertTSEnumDeclaration","assertTSEnumMember","assertTSModuleDeclaration","assertTSModuleBlock","assertTSImportType","assertTSImportEqualsDeclaration","assertTSExternalModuleReference","assertTSNonNullExpression","assertTSExportAssignment","assertTSNamespaceExportDeclaration","assertTSTypeAnnotation","assertTSTypeParameterInstantiation","assertTSTypeParameterDeclaration","assertTSTypeParameter","assertStandardized","assertExpression","assertBinary","assertScopable","assertBlockParent","assertBlock","assertStatement","assertTerminatorless","assertCompletionStatement","assertConditional","assertLoop","assertWhile","assertExpressionWrapper","assertFor","assertForXStatement","assertFunction","assertFunctionParent","assertPureish","assertDeclaration","assertPatternLike","assertLVal","assertTSEntityName","assertLiteral","assertImmutable","assertUserWhitespacable","assertMethod","assertObjectMember","assertProperty","assertUnaryLike","assertPattern","assertClass","assertModuleDeclaration","assertExportDeclaration","assertModuleSpecifier","assertAccessor","assertPrivate","assertFlow","assertFlowType","assertFlowBaseAnnotation","assertFlowDeclaration","assertFlowPredicate","assertEnumBody","assertEnumMember","assertJSX","assertMiscellaneous","assertTypeScript","assertTSTypeElement","assertTSType","assertTSBaseType","assertNumberLiteral","console","trace","assertRegexLiteral","assertRestProperty","assertSpreadProperty"],"sources":["../../../src/asserts/generated/index.ts"],"sourcesContent":["/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\nimport is from \"../../validators/is\";\nimport type * as t from \"../..\";\n\nfunction assert(type: string, node: any, opts?: any): void {\n if (!is(type, node, opts)) {\n throw new Error(\n `Expected type \"${type}\" with option ${JSON.stringify(opts)}, ` +\n `but instead got \"${node.type}\".`,\n );\n }\n}\n\nexport function assertArrayExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArrayExpression {\n assert(\"ArrayExpression\", node, opts);\n}\nexport function assertAssignmentExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.AssignmentExpression {\n assert(\"AssignmentExpression\", node, opts);\n}\nexport function assertBinaryExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BinaryExpression {\n assert(\"BinaryExpression\", node, opts);\n}\nexport function assertInterpreterDirective(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InterpreterDirective {\n assert(\"InterpreterDirective\", node, opts);\n}\nexport function assertDirective(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Directive {\n assert(\"Directive\", node, opts);\n}\nexport function assertDirectiveLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DirectiveLiteral {\n assert(\"DirectiveLiteral\", node, opts);\n}\nexport function assertBlockStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BlockStatement {\n assert(\"BlockStatement\", node, opts);\n}\nexport function assertBreakStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BreakStatement {\n assert(\"BreakStatement\", node, opts);\n}\nexport function assertCallExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.CallExpression {\n assert(\"CallExpression\", node, opts);\n}\nexport function assertCatchClause(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.CatchClause {\n assert(\"CatchClause\", node, opts);\n}\nexport function assertConditionalExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ConditionalExpression {\n assert(\"ConditionalExpression\", node, opts);\n}\nexport function assertContinueStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ContinueStatement {\n assert(\"ContinueStatement\", node, opts);\n}\nexport function assertDebuggerStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DebuggerStatement {\n assert(\"DebuggerStatement\", node, opts);\n}\nexport function assertDoWhileStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DoWhileStatement {\n assert(\"DoWhileStatement\", node, opts);\n}\nexport function assertEmptyStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EmptyStatement {\n assert(\"EmptyStatement\", node, opts);\n}\nexport function assertExpressionStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExpressionStatement {\n assert(\"ExpressionStatement\", node, opts);\n}\nexport function assertFile(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.File {\n assert(\"File\", node, opts);\n}\nexport function assertForInStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ForInStatement {\n assert(\"ForInStatement\", node, opts);\n}\nexport function assertForStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ForStatement {\n assert(\"ForStatement\", node, opts);\n}\nexport function assertFunctionDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionDeclaration {\n assert(\"FunctionDeclaration\", node, opts);\n}\nexport function assertFunctionExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionExpression {\n assert(\"FunctionExpression\", node, opts);\n}\nexport function assertIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Identifier {\n assert(\"Identifier\", node, opts);\n}\nexport function assertIfStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.IfStatement {\n assert(\"IfStatement\", node, opts);\n}\nexport function assertLabeledStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.LabeledStatement {\n assert(\"LabeledStatement\", node, opts);\n}\nexport function assertStringLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.StringLiteral {\n assert(\"StringLiteral\", node, opts);\n}\nexport function assertNumericLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NumericLiteral {\n assert(\"NumericLiteral\", node, opts);\n}\nexport function assertNullLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NullLiteral {\n assert(\"NullLiteral\", node, opts);\n}\nexport function assertBooleanLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BooleanLiteral {\n assert(\"BooleanLiteral\", node, opts);\n}\nexport function assertRegExpLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.RegExpLiteral {\n assert(\"RegExpLiteral\", node, opts);\n}\nexport function assertLogicalExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.LogicalExpression {\n assert(\"LogicalExpression\", node, opts);\n}\nexport function assertMemberExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.MemberExpression {\n assert(\"MemberExpression\", node, opts);\n}\nexport function assertNewExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NewExpression {\n assert(\"NewExpression\", node, opts);\n}\nexport function assertProgram(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Program {\n assert(\"Program\", node, opts);\n}\nexport function assertObjectExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectExpression {\n assert(\"ObjectExpression\", node, opts);\n}\nexport function assertObjectMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectMethod {\n assert(\"ObjectMethod\", node, opts);\n}\nexport function assertObjectProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectProperty {\n assert(\"ObjectProperty\", node, opts);\n}\nexport function assertRestElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.RestElement {\n assert(\"RestElement\", node, opts);\n}\nexport function assertReturnStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ReturnStatement {\n assert(\"ReturnStatement\", node, opts);\n}\nexport function assertSequenceExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SequenceExpression {\n assert(\"SequenceExpression\", node, opts);\n}\nexport function assertParenthesizedExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ParenthesizedExpression {\n assert(\"ParenthesizedExpression\", node, opts);\n}\nexport function assertSwitchCase(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SwitchCase {\n assert(\"SwitchCase\", node, opts);\n}\nexport function assertSwitchStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SwitchStatement {\n assert(\"SwitchStatement\", node, opts);\n}\nexport function assertThisExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ThisExpression {\n assert(\"ThisExpression\", node, opts);\n}\nexport function assertThrowStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ThrowStatement {\n assert(\"ThrowStatement\", node, opts);\n}\nexport function assertTryStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TryStatement {\n assert(\"TryStatement\", node, opts);\n}\nexport function assertUnaryExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UnaryExpression {\n assert(\"UnaryExpression\", node, opts);\n}\nexport function assertUpdateExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UpdateExpression {\n assert(\"UpdateExpression\", node, opts);\n}\nexport function assertVariableDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.VariableDeclaration {\n assert(\"VariableDeclaration\", node, opts);\n}\nexport function assertVariableDeclarator(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.VariableDeclarator {\n assert(\"VariableDeclarator\", node, opts);\n}\nexport function assertWhileStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.WhileStatement {\n assert(\"WhileStatement\", node, opts);\n}\nexport function assertWithStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.WithStatement {\n assert(\"WithStatement\", node, opts);\n}\nexport function assertAssignmentPattern(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.AssignmentPattern {\n assert(\"AssignmentPattern\", node, opts);\n}\nexport function assertArrayPattern(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArrayPattern {\n assert(\"ArrayPattern\", node, opts);\n}\nexport function assertArrowFunctionExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArrowFunctionExpression {\n assert(\"ArrowFunctionExpression\", node, opts);\n}\nexport function assertClassBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassBody {\n assert(\"ClassBody\", node, opts);\n}\nexport function assertClassExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassExpression {\n assert(\"ClassExpression\", node, opts);\n}\nexport function assertClassDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassDeclaration {\n assert(\"ClassDeclaration\", node, opts);\n}\nexport function assertExportAllDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportAllDeclaration {\n assert(\"ExportAllDeclaration\", node, opts);\n}\nexport function assertExportDefaultDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportDefaultDeclaration {\n assert(\"ExportDefaultDeclaration\", node, opts);\n}\nexport function assertExportNamedDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportNamedDeclaration {\n assert(\"ExportNamedDeclaration\", node, opts);\n}\nexport function assertExportSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportSpecifier {\n assert(\"ExportSpecifier\", node, opts);\n}\nexport function assertForOfStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ForOfStatement {\n assert(\"ForOfStatement\", node, opts);\n}\nexport function assertImportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportDeclaration {\n assert(\"ImportDeclaration\", node, opts);\n}\nexport function assertImportDefaultSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportDefaultSpecifier {\n assert(\"ImportDefaultSpecifier\", node, opts);\n}\nexport function assertImportNamespaceSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportNamespaceSpecifier {\n assert(\"ImportNamespaceSpecifier\", node, opts);\n}\nexport function assertImportSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportSpecifier {\n assert(\"ImportSpecifier\", node, opts);\n}\nexport function assertMetaProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.MetaProperty {\n assert(\"MetaProperty\", node, opts);\n}\nexport function assertClassMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassMethod {\n assert(\"ClassMethod\", node, opts);\n}\nexport function assertObjectPattern(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectPattern {\n assert(\"ObjectPattern\", node, opts);\n}\nexport function assertSpreadElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SpreadElement {\n assert(\"SpreadElement\", node, opts);\n}\nexport function assertSuper(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Super {\n assert(\"Super\", node, opts);\n}\nexport function assertTaggedTemplateExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TaggedTemplateExpression {\n assert(\"TaggedTemplateExpression\", node, opts);\n}\nexport function assertTemplateElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TemplateElement {\n assert(\"TemplateElement\", node, opts);\n}\nexport function assertTemplateLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TemplateLiteral {\n assert(\"TemplateLiteral\", node, opts);\n}\nexport function assertYieldExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.YieldExpression {\n assert(\"YieldExpression\", node, opts);\n}\nexport function assertAwaitExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.AwaitExpression {\n assert(\"AwaitExpression\", node, opts);\n}\nexport function assertImport(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Import {\n assert(\"Import\", node, opts);\n}\nexport function assertBigIntLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BigIntLiteral {\n assert(\"BigIntLiteral\", node, opts);\n}\nexport function assertExportNamespaceSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportNamespaceSpecifier {\n assert(\"ExportNamespaceSpecifier\", node, opts);\n}\nexport function assertOptionalMemberExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.OptionalMemberExpression {\n assert(\"OptionalMemberExpression\", node, opts);\n}\nexport function assertOptionalCallExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.OptionalCallExpression {\n assert(\"OptionalCallExpression\", node, opts);\n}\nexport function assertClassProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassProperty {\n assert(\"ClassProperty\", node, opts);\n}\nexport function assertClassAccessorProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassAccessorProperty {\n assert(\"ClassAccessorProperty\", node, opts);\n}\nexport function assertClassPrivateProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassPrivateProperty {\n assert(\"ClassPrivateProperty\", node, opts);\n}\nexport function assertClassPrivateMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassPrivateMethod {\n assert(\"ClassPrivateMethod\", node, opts);\n}\nexport function assertPrivateName(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PrivateName {\n assert(\"PrivateName\", node, opts);\n}\nexport function assertStaticBlock(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.StaticBlock {\n assert(\"StaticBlock\", node, opts);\n}\nexport function assertAnyTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.AnyTypeAnnotation {\n assert(\"AnyTypeAnnotation\", node, opts);\n}\nexport function assertArrayTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArrayTypeAnnotation {\n assert(\"ArrayTypeAnnotation\", node, opts);\n}\nexport function assertBooleanTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BooleanTypeAnnotation {\n assert(\"BooleanTypeAnnotation\", node, opts);\n}\nexport function assertBooleanLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BooleanLiteralTypeAnnotation {\n assert(\"BooleanLiteralTypeAnnotation\", node, opts);\n}\nexport function assertNullLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NullLiteralTypeAnnotation {\n assert(\"NullLiteralTypeAnnotation\", node, opts);\n}\nexport function assertClassImplements(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ClassImplements {\n assert(\"ClassImplements\", node, opts);\n}\nexport function assertDeclareClass(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareClass {\n assert(\"DeclareClass\", node, opts);\n}\nexport function assertDeclareFunction(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareFunction {\n assert(\"DeclareFunction\", node, opts);\n}\nexport function assertDeclareInterface(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareInterface {\n assert(\"DeclareInterface\", node, opts);\n}\nexport function assertDeclareModule(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareModule {\n assert(\"DeclareModule\", node, opts);\n}\nexport function assertDeclareModuleExports(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareModuleExports {\n assert(\"DeclareModuleExports\", node, opts);\n}\nexport function assertDeclareTypeAlias(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareTypeAlias {\n assert(\"DeclareTypeAlias\", node, opts);\n}\nexport function assertDeclareOpaqueType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareOpaqueType {\n assert(\"DeclareOpaqueType\", node, opts);\n}\nexport function assertDeclareVariable(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareVariable {\n assert(\"DeclareVariable\", node, opts);\n}\nexport function assertDeclareExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareExportDeclaration {\n assert(\"DeclareExportDeclaration\", node, opts);\n}\nexport function assertDeclareExportAllDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclareExportAllDeclaration {\n assert(\"DeclareExportAllDeclaration\", node, opts);\n}\nexport function assertDeclaredPredicate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DeclaredPredicate {\n assert(\"DeclaredPredicate\", node, opts);\n}\nexport function assertExistsTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExistsTypeAnnotation {\n assert(\"ExistsTypeAnnotation\", node, opts);\n}\nexport function assertFunctionTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionTypeAnnotation {\n assert(\"FunctionTypeAnnotation\", node, opts);\n}\nexport function assertFunctionTypeParam(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionTypeParam {\n assert(\"FunctionTypeParam\", node, opts);\n}\nexport function assertGenericTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.GenericTypeAnnotation {\n assert(\"GenericTypeAnnotation\", node, opts);\n}\nexport function assertInferredPredicate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InferredPredicate {\n assert(\"InferredPredicate\", node, opts);\n}\nexport function assertInterfaceExtends(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InterfaceExtends {\n assert(\"InterfaceExtends\", node, opts);\n}\nexport function assertInterfaceDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InterfaceDeclaration {\n assert(\"InterfaceDeclaration\", node, opts);\n}\nexport function assertInterfaceTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.InterfaceTypeAnnotation {\n assert(\"InterfaceTypeAnnotation\", node, opts);\n}\nexport function assertIntersectionTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.IntersectionTypeAnnotation {\n assert(\"IntersectionTypeAnnotation\", node, opts);\n}\nexport function assertMixedTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.MixedTypeAnnotation {\n assert(\"MixedTypeAnnotation\", node, opts);\n}\nexport function assertEmptyTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EmptyTypeAnnotation {\n assert(\"EmptyTypeAnnotation\", node, opts);\n}\nexport function assertNullableTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NullableTypeAnnotation {\n assert(\"NullableTypeAnnotation\", node, opts);\n}\nexport function assertNumberLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NumberLiteralTypeAnnotation {\n assert(\"NumberLiteralTypeAnnotation\", node, opts);\n}\nexport function assertNumberTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.NumberTypeAnnotation {\n assert(\"NumberTypeAnnotation\", node, opts);\n}\nexport function assertObjectTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeAnnotation {\n assert(\"ObjectTypeAnnotation\", node, opts);\n}\nexport function assertObjectTypeInternalSlot(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeInternalSlot {\n assert(\"ObjectTypeInternalSlot\", node, opts);\n}\nexport function assertObjectTypeCallProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeCallProperty {\n assert(\"ObjectTypeCallProperty\", node, opts);\n}\nexport function assertObjectTypeIndexer(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeIndexer {\n assert(\"ObjectTypeIndexer\", node, opts);\n}\nexport function assertObjectTypeProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeProperty {\n assert(\"ObjectTypeProperty\", node, opts);\n}\nexport function assertObjectTypeSpreadProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectTypeSpreadProperty {\n assert(\"ObjectTypeSpreadProperty\", node, opts);\n}\nexport function assertOpaqueType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.OpaqueType {\n assert(\"OpaqueType\", node, opts);\n}\nexport function assertQualifiedTypeIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.QualifiedTypeIdentifier {\n assert(\"QualifiedTypeIdentifier\", node, opts);\n}\nexport function assertStringLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.StringLiteralTypeAnnotation {\n assert(\"StringLiteralTypeAnnotation\", node, opts);\n}\nexport function assertStringTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.StringTypeAnnotation {\n assert(\"StringTypeAnnotation\", node, opts);\n}\nexport function assertSymbolTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.SymbolTypeAnnotation {\n assert(\"SymbolTypeAnnotation\", node, opts);\n}\nexport function assertThisTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ThisTypeAnnotation {\n assert(\"ThisTypeAnnotation\", node, opts);\n}\nexport function assertTupleTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TupleTypeAnnotation {\n assert(\"TupleTypeAnnotation\", node, opts);\n}\nexport function assertTypeofTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeofTypeAnnotation {\n assert(\"TypeofTypeAnnotation\", node, opts);\n}\nexport function assertTypeAlias(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeAlias {\n assert(\"TypeAlias\", node, opts);\n}\nexport function assertTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeAnnotation {\n assert(\"TypeAnnotation\", node, opts);\n}\nexport function assertTypeCastExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeCastExpression {\n assert(\"TypeCastExpression\", node, opts);\n}\nexport function assertTypeParameter(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeParameter {\n assert(\"TypeParameter\", node, opts);\n}\nexport function assertTypeParameterDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeParameterDeclaration {\n assert(\"TypeParameterDeclaration\", node, opts);\n}\nexport function assertTypeParameterInstantiation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeParameterInstantiation {\n assert(\"TypeParameterInstantiation\", node, opts);\n}\nexport function assertUnionTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UnionTypeAnnotation {\n assert(\"UnionTypeAnnotation\", node, opts);\n}\nexport function assertVariance(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Variance {\n assert(\"Variance\", node, opts);\n}\nexport function assertVoidTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.VoidTypeAnnotation {\n assert(\"VoidTypeAnnotation\", node, opts);\n}\nexport function assertEnumDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumDeclaration {\n assert(\"EnumDeclaration\", node, opts);\n}\nexport function assertEnumBooleanBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumBooleanBody {\n assert(\"EnumBooleanBody\", node, opts);\n}\nexport function assertEnumNumberBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumNumberBody {\n assert(\"EnumNumberBody\", node, opts);\n}\nexport function assertEnumStringBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumStringBody {\n assert(\"EnumStringBody\", node, opts);\n}\nexport function assertEnumSymbolBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumSymbolBody {\n assert(\"EnumSymbolBody\", node, opts);\n}\nexport function assertEnumBooleanMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumBooleanMember {\n assert(\"EnumBooleanMember\", node, opts);\n}\nexport function assertEnumNumberMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumNumberMember {\n assert(\"EnumNumberMember\", node, opts);\n}\nexport function assertEnumStringMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumStringMember {\n assert(\"EnumStringMember\", node, opts);\n}\nexport function assertEnumDefaultedMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumDefaultedMember {\n assert(\"EnumDefaultedMember\", node, opts);\n}\nexport function assertIndexedAccessType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.IndexedAccessType {\n assert(\"IndexedAccessType\", node, opts);\n}\nexport function assertOptionalIndexedAccessType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.OptionalIndexedAccessType {\n assert(\"OptionalIndexedAccessType\", node, opts);\n}\nexport function assertJSXAttribute(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXAttribute {\n assert(\"JSXAttribute\", node, opts);\n}\nexport function assertJSXClosingElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXClosingElement {\n assert(\"JSXClosingElement\", node, opts);\n}\nexport function assertJSXElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXElement {\n assert(\"JSXElement\", node, opts);\n}\nexport function assertJSXEmptyExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXEmptyExpression {\n assert(\"JSXEmptyExpression\", node, opts);\n}\nexport function assertJSXExpressionContainer(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXExpressionContainer {\n assert(\"JSXExpressionContainer\", node, opts);\n}\nexport function assertJSXSpreadChild(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXSpreadChild {\n assert(\"JSXSpreadChild\", node, opts);\n}\nexport function assertJSXIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXIdentifier {\n assert(\"JSXIdentifier\", node, opts);\n}\nexport function assertJSXMemberExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXMemberExpression {\n assert(\"JSXMemberExpression\", node, opts);\n}\nexport function assertJSXNamespacedName(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXNamespacedName {\n assert(\"JSXNamespacedName\", node, opts);\n}\nexport function assertJSXOpeningElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXOpeningElement {\n assert(\"JSXOpeningElement\", node, opts);\n}\nexport function assertJSXSpreadAttribute(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXSpreadAttribute {\n assert(\"JSXSpreadAttribute\", node, opts);\n}\nexport function assertJSXText(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXText {\n assert(\"JSXText\", node, opts);\n}\nexport function assertJSXFragment(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXFragment {\n assert(\"JSXFragment\", node, opts);\n}\nexport function assertJSXOpeningFragment(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXOpeningFragment {\n assert(\"JSXOpeningFragment\", node, opts);\n}\nexport function assertJSXClosingFragment(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSXClosingFragment {\n assert(\"JSXClosingFragment\", node, opts);\n}\nexport function assertNoop(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Noop {\n assert(\"Noop\", node, opts);\n}\nexport function assertPlaceholder(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Placeholder {\n assert(\"Placeholder\", node, opts);\n}\nexport function assertV8IntrinsicIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.V8IntrinsicIdentifier {\n assert(\"V8IntrinsicIdentifier\", node, opts);\n}\nexport function assertArgumentPlaceholder(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ArgumentPlaceholder {\n assert(\"ArgumentPlaceholder\", node, opts);\n}\nexport function assertBindExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BindExpression {\n assert(\"BindExpression\", node, opts);\n}\nexport function assertImportAttribute(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ImportAttribute {\n assert(\"ImportAttribute\", node, opts);\n}\nexport function assertDecorator(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Decorator {\n assert(\"Decorator\", node, opts);\n}\nexport function assertDoExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DoExpression {\n assert(\"DoExpression\", node, opts);\n}\nexport function assertExportDefaultSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportDefaultSpecifier {\n assert(\"ExportDefaultSpecifier\", node, opts);\n}\nexport function assertRecordExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.RecordExpression {\n assert(\"RecordExpression\", node, opts);\n}\nexport function assertTupleExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TupleExpression {\n assert(\"TupleExpression\", node, opts);\n}\nexport function assertDecimalLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.DecimalLiteral {\n assert(\"DecimalLiteral\", node, opts);\n}\nexport function assertModuleExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ModuleExpression {\n assert(\"ModuleExpression\", node, opts);\n}\nexport function assertTopicReference(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TopicReference {\n assert(\"TopicReference\", node, opts);\n}\nexport function assertPipelineTopicExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PipelineTopicExpression {\n assert(\"PipelineTopicExpression\", node, opts);\n}\nexport function assertPipelineBareFunction(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PipelineBareFunction {\n assert(\"PipelineBareFunction\", node, opts);\n}\nexport function assertPipelinePrimaryTopicReference(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PipelinePrimaryTopicReference {\n assert(\"PipelinePrimaryTopicReference\", node, opts);\n}\nexport function assertTSParameterProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSParameterProperty {\n assert(\"TSParameterProperty\", node, opts);\n}\nexport function assertTSDeclareFunction(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSDeclareFunction {\n assert(\"TSDeclareFunction\", node, opts);\n}\nexport function assertTSDeclareMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSDeclareMethod {\n assert(\"TSDeclareMethod\", node, opts);\n}\nexport function assertTSQualifiedName(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSQualifiedName {\n assert(\"TSQualifiedName\", node, opts);\n}\nexport function assertTSCallSignatureDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSCallSignatureDeclaration {\n assert(\"TSCallSignatureDeclaration\", node, opts);\n}\nexport function assertTSConstructSignatureDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSConstructSignatureDeclaration {\n assert(\"TSConstructSignatureDeclaration\", node, opts);\n}\nexport function assertTSPropertySignature(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSPropertySignature {\n assert(\"TSPropertySignature\", node, opts);\n}\nexport function assertTSMethodSignature(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSMethodSignature {\n assert(\"TSMethodSignature\", node, opts);\n}\nexport function assertTSIndexSignature(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSIndexSignature {\n assert(\"TSIndexSignature\", node, opts);\n}\nexport function assertTSAnyKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSAnyKeyword {\n assert(\"TSAnyKeyword\", node, opts);\n}\nexport function assertTSBooleanKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSBooleanKeyword {\n assert(\"TSBooleanKeyword\", node, opts);\n}\nexport function assertTSBigIntKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSBigIntKeyword {\n assert(\"TSBigIntKeyword\", node, opts);\n}\nexport function assertTSIntrinsicKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSIntrinsicKeyword {\n assert(\"TSIntrinsicKeyword\", node, opts);\n}\nexport function assertTSNeverKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNeverKeyword {\n assert(\"TSNeverKeyword\", node, opts);\n}\nexport function assertTSNullKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNullKeyword {\n assert(\"TSNullKeyword\", node, opts);\n}\nexport function assertTSNumberKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNumberKeyword {\n assert(\"TSNumberKeyword\", node, opts);\n}\nexport function assertTSObjectKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSObjectKeyword {\n assert(\"TSObjectKeyword\", node, opts);\n}\nexport function assertTSStringKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSStringKeyword {\n assert(\"TSStringKeyword\", node, opts);\n}\nexport function assertTSSymbolKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSSymbolKeyword {\n assert(\"TSSymbolKeyword\", node, opts);\n}\nexport function assertTSUndefinedKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSUndefinedKeyword {\n assert(\"TSUndefinedKeyword\", node, opts);\n}\nexport function assertTSUnknownKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSUnknownKeyword {\n assert(\"TSUnknownKeyword\", node, opts);\n}\nexport function assertTSVoidKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSVoidKeyword {\n assert(\"TSVoidKeyword\", node, opts);\n}\nexport function assertTSThisType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSThisType {\n assert(\"TSThisType\", node, opts);\n}\nexport function assertTSFunctionType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSFunctionType {\n assert(\"TSFunctionType\", node, opts);\n}\nexport function assertTSConstructorType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSConstructorType {\n assert(\"TSConstructorType\", node, opts);\n}\nexport function assertTSTypeReference(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeReference {\n assert(\"TSTypeReference\", node, opts);\n}\nexport function assertTSTypePredicate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypePredicate {\n assert(\"TSTypePredicate\", node, opts);\n}\nexport function assertTSTypeQuery(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeQuery {\n assert(\"TSTypeQuery\", node, opts);\n}\nexport function assertTSTypeLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeLiteral {\n assert(\"TSTypeLiteral\", node, opts);\n}\nexport function assertTSArrayType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSArrayType {\n assert(\"TSArrayType\", node, opts);\n}\nexport function assertTSTupleType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTupleType {\n assert(\"TSTupleType\", node, opts);\n}\nexport function assertTSOptionalType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSOptionalType {\n assert(\"TSOptionalType\", node, opts);\n}\nexport function assertTSRestType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSRestType {\n assert(\"TSRestType\", node, opts);\n}\nexport function assertTSNamedTupleMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNamedTupleMember {\n assert(\"TSNamedTupleMember\", node, opts);\n}\nexport function assertTSUnionType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSUnionType {\n assert(\"TSUnionType\", node, opts);\n}\nexport function assertTSIntersectionType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSIntersectionType {\n assert(\"TSIntersectionType\", node, opts);\n}\nexport function assertTSConditionalType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSConditionalType {\n assert(\"TSConditionalType\", node, opts);\n}\nexport function assertTSInferType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSInferType {\n assert(\"TSInferType\", node, opts);\n}\nexport function assertTSParenthesizedType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSParenthesizedType {\n assert(\"TSParenthesizedType\", node, opts);\n}\nexport function assertTSTypeOperator(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeOperator {\n assert(\"TSTypeOperator\", node, opts);\n}\nexport function assertTSIndexedAccessType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSIndexedAccessType {\n assert(\"TSIndexedAccessType\", node, opts);\n}\nexport function assertTSMappedType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSMappedType {\n assert(\"TSMappedType\", node, opts);\n}\nexport function assertTSLiteralType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSLiteralType {\n assert(\"TSLiteralType\", node, opts);\n}\nexport function assertTSExpressionWithTypeArguments(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSExpressionWithTypeArguments {\n assert(\"TSExpressionWithTypeArguments\", node, opts);\n}\nexport function assertTSInterfaceDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSInterfaceDeclaration {\n assert(\"TSInterfaceDeclaration\", node, opts);\n}\nexport function assertTSInterfaceBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSInterfaceBody {\n assert(\"TSInterfaceBody\", node, opts);\n}\nexport function assertTSTypeAliasDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeAliasDeclaration {\n assert(\"TSTypeAliasDeclaration\", node, opts);\n}\nexport function assertTSInstantiationExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSInstantiationExpression {\n assert(\"TSInstantiationExpression\", node, opts);\n}\nexport function assertTSAsExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSAsExpression {\n assert(\"TSAsExpression\", node, opts);\n}\nexport function assertTSTypeAssertion(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeAssertion {\n assert(\"TSTypeAssertion\", node, opts);\n}\nexport function assertTSEnumDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSEnumDeclaration {\n assert(\"TSEnumDeclaration\", node, opts);\n}\nexport function assertTSEnumMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSEnumMember {\n assert(\"TSEnumMember\", node, opts);\n}\nexport function assertTSModuleDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSModuleDeclaration {\n assert(\"TSModuleDeclaration\", node, opts);\n}\nexport function assertTSModuleBlock(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSModuleBlock {\n assert(\"TSModuleBlock\", node, opts);\n}\nexport function assertTSImportType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSImportType {\n assert(\"TSImportType\", node, opts);\n}\nexport function assertTSImportEqualsDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSImportEqualsDeclaration {\n assert(\"TSImportEqualsDeclaration\", node, opts);\n}\nexport function assertTSExternalModuleReference(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSExternalModuleReference {\n assert(\"TSExternalModuleReference\", node, opts);\n}\nexport function assertTSNonNullExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNonNullExpression {\n assert(\"TSNonNullExpression\", node, opts);\n}\nexport function assertTSExportAssignment(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSExportAssignment {\n assert(\"TSExportAssignment\", node, opts);\n}\nexport function assertTSNamespaceExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSNamespaceExportDeclaration {\n assert(\"TSNamespaceExportDeclaration\", node, opts);\n}\nexport function assertTSTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeAnnotation {\n assert(\"TSTypeAnnotation\", node, opts);\n}\nexport function assertTSTypeParameterInstantiation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeParameterInstantiation {\n assert(\"TSTypeParameterInstantiation\", node, opts);\n}\nexport function assertTSTypeParameterDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeParameterDeclaration {\n assert(\"TSTypeParameterDeclaration\", node, opts);\n}\nexport function assertTSTypeParameter(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeParameter {\n assert(\"TSTypeParameter\", node, opts);\n}\nexport function assertStandardized(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Standardized {\n assert(\"Standardized\", node, opts);\n}\nexport function assertExpression(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Expression {\n assert(\"Expression\", node, opts);\n}\nexport function assertBinary(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Binary {\n assert(\"Binary\", node, opts);\n}\nexport function assertScopable(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Scopable {\n assert(\"Scopable\", node, opts);\n}\nexport function assertBlockParent(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.BlockParent {\n assert(\"BlockParent\", node, opts);\n}\nexport function assertBlock(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Block {\n assert(\"Block\", node, opts);\n}\nexport function assertStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Statement {\n assert(\"Statement\", node, opts);\n}\nexport function assertTerminatorless(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Terminatorless {\n assert(\"Terminatorless\", node, opts);\n}\nexport function assertCompletionStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.CompletionStatement {\n assert(\"CompletionStatement\", node, opts);\n}\nexport function assertConditional(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Conditional {\n assert(\"Conditional\", node, opts);\n}\nexport function assertLoop(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Loop {\n assert(\"Loop\", node, opts);\n}\nexport function assertWhile(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.While {\n assert(\"While\", node, opts);\n}\nexport function assertExpressionWrapper(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExpressionWrapper {\n assert(\"ExpressionWrapper\", node, opts);\n}\nexport function assertFor(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.For {\n assert(\"For\", node, opts);\n}\nexport function assertForXStatement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ForXStatement {\n assert(\"ForXStatement\", node, opts);\n}\nexport function assertFunction(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Function {\n assert(\"Function\", node, opts);\n}\nexport function assertFunctionParent(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FunctionParent {\n assert(\"FunctionParent\", node, opts);\n}\nexport function assertPureish(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Pureish {\n assert(\"Pureish\", node, opts);\n}\nexport function assertDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Declaration {\n assert(\"Declaration\", node, opts);\n}\nexport function assertPatternLike(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.PatternLike {\n assert(\"PatternLike\", node, opts);\n}\nexport function assertLVal(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.LVal {\n assert(\"LVal\", node, opts);\n}\nexport function assertTSEntityName(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSEntityName {\n assert(\"TSEntityName\", node, opts);\n}\nexport function assertLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Literal {\n assert(\"Literal\", node, opts);\n}\nexport function assertImmutable(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Immutable {\n assert(\"Immutable\", node, opts);\n}\nexport function assertUserWhitespacable(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UserWhitespacable {\n assert(\"UserWhitespacable\", node, opts);\n}\nexport function assertMethod(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Method {\n assert(\"Method\", node, opts);\n}\nexport function assertObjectMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ObjectMember {\n assert(\"ObjectMember\", node, opts);\n}\nexport function assertProperty(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Property {\n assert(\"Property\", node, opts);\n}\nexport function assertUnaryLike(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.UnaryLike {\n assert(\"UnaryLike\", node, opts);\n}\nexport function assertPattern(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Pattern {\n assert(\"Pattern\", node, opts);\n}\nexport function assertClass(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Class {\n assert(\"Class\", node, opts);\n}\nexport function assertModuleDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ModuleDeclaration {\n assert(\"ModuleDeclaration\", node, opts);\n}\nexport function assertExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ExportDeclaration {\n assert(\"ExportDeclaration\", node, opts);\n}\nexport function assertModuleSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.ModuleSpecifier {\n assert(\"ModuleSpecifier\", node, opts);\n}\nexport function assertAccessor(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Accessor {\n assert(\"Accessor\", node, opts);\n}\nexport function assertPrivate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Private {\n assert(\"Private\", node, opts);\n}\nexport function assertFlow(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Flow {\n assert(\"Flow\", node, opts);\n}\nexport function assertFlowType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FlowType {\n assert(\"FlowType\", node, opts);\n}\nexport function assertFlowBaseAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FlowBaseAnnotation {\n assert(\"FlowBaseAnnotation\", node, opts);\n}\nexport function assertFlowDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FlowDeclaration {\n assert(\"FlowDeclaration\", node, opts);\n}\nexport function assertFlowPredicate(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.FlowPredicate {\n assert(\"FlowPredicate\", node, opts);\n}\nexport function assertEnumBody(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumBody {\n assert(\"EnumBody\", node, opts);\n}\nexport function assertEnumMember(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.EnumMember {\n assert(\"EnumMember\", node, opts);\n}\nexport function assertJSX(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.JSX {\n assert(\"JSX\", node, opts);\n}\nexport function assertMiscellaneous(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.Miscellaneous {\n assert(\"Miscellaneous\", node, opts);\n}\nexport function assertTypeScript(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TypeScript {\n assert(\"TypeScript\", node, opts);\n}\nexport function assertTSTypeElement(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSTypeElement {\n assert(\"TSTypeElement\", node, opts);\n}\nexport function assertTSType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSType {\n assert(\"TSType\", node, opts);\n}\nexport function assertTSBaseType(\n node: object | null | undefined,\n opts?: object | null,\n): asserts node is t.TSBaseType {\n assert(\"TSBaseType\", node, opts);\n}\nexport function assertNumberLiteral(node: any, opts: any): void {\n console.trace(\n \"The node type NumberLiteral has been renamed to NumericLiteral\",\n );\n assert(\"NumberLiteral\", node, opts);\n}\nexport function assertRegexLiteral(node: any, opts: any): void {\n console.trace(\"The node type RegexLiteral has been renamed to RegExpLiteral\");\n assert(\"RegexLiteral\", node, opts);\n}\nexport function assertRestProperty(node: any, opts: any): void {\n console.trace(\"The node type RestProperty has been renamed to RestElement\");\n assert(\"RestProperty\", node, opts);\n}\nexport function assertSpreadProperty(node: any, opts: any): void {\n console.trace(\n \"The node type SpreadProperty has been renamed to SpreadElement\",\n );\n assert(\"SpreadProperty\", node, opts);\n}\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/ast-types/generated/index.js b/includes/search/node_modules/@babel/types/lib/ast-types/generated/index.js
deleted file mode 100644
index d48e85e..0000000
--- a/includes/search/node_modules/@babel/types/lib/ast-types/generated/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/ast-types/generated/index.js.map b/includes/search/node_modules/@babel/types/lib/ast-types/generated/index.js.map
deleted file mode 100644
index cf3b662..0000000
--- a/includes/search/node_modules/@babel/types/lib/ast-types/generated/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":[],"sources":["../../../src/ast-types/generated/index.ts"],"sourcesContent":["// NOTE: This file is autogenerated. Do not modify.\n// See packages/babel-types/scripts/generators/ast-types.js for script used.\n\ninterface BaseComment {\n value: string;\n start?: number;\n end?: number;\n loc?: SourceLocation;\n // generator will skip the comment if ignore is true\n ignore?: boolean;\n type: \"CommentBlock\" | \"CommentLine\";\n}\n\nexport interface CommentBlock extends BaseComment {\n type: \"CommentBlock\";\n}\n\nexport interface CommentLine extends BaseComment {\n type: \"CommentLine\";\n}\n\nexport type Comment = CommentBlock | CommentLine;\n\nexport interface SourceLocation {\n start: {\n line: number;\n column: number;\n };\n\n end: {\n line: number;\n column: number;\n };\n}\n\ninterface BaseNode {\n type: Node[\"type\"];\n leadingComments?: Comment[] | null;\n innerComments?: Comment[] | null;\n trailingComments?: Comment[] | null;\n start?: number | null;\n end?: number | null;\n loc?: SourceLocation | null;\n range?: [number, number];\n extra?: Record<string, unknown>;\n}\n\nexport type CommentTypeShorthand = \"leading\" | \"inner\" | \"trailing\";\n\nexport type Node =\n | AnyTypeAnnotation\n | ArgumentPlaceholder\n | ArrayExpression\n | ArrayPattern\n | ArrayTypeAnnotation\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BigIntLiteral\n | BinaryExpression\n | BindExpression\n | BlockStatement\n | BooleanLiteral\n | BooleanLiteralTypeAnnotation\n | BooleanTypeAnnotation\n | BreakStatement\n | CallExpression\n | CatchClause\n | ClassAccessorProperty\n | ClassBody\n | ClassDeclaration\n | ClassExpression\n | ClassImplements\n | ClassMethod\n | ClassPrivateMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | ContinueStatement\n | DebuggerStatement\n | DecimalLiteral\n | DeclareClass\n | DeclareExportAllDeclaration\n | DeclareExportDeclaration\n | DeclareFunction\n | DeclareInterface\n | DeclareModule\n | DeclareModuleExports\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclareVariable\n | DeclaredPredicate\n | Decorator\n | Directive\n | DirectiveLiteral\n | DoExpression\n | DoWhileStatement\n | EmptyStatement\n | EmptyTypeAnnotation\n | EnumBooleanBody\n | EnumBooleanMember\n | EnumDeclaration\n | EnumDefaultedMember\n | EnumNumberBody\n | EnumNumberMember\n | EnumStringBody\n | EnumStringMember\n | EnumSymbolBody\n | ExistsTypeAnnotation\n | ExportAllDeclaration\n | ExportDefaultDeclaration\n | ExportDefaultSpecifier\n | ExportNamedDeclaration\n | ExportNamespaceSpecifier\n | ExportSpecifier\n | ExpressionStatement\n | File\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | FunctionDeclaration\n | FunctionExpression\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | GenericTypeAnnotation\n | Identifier\n | IfStatement\n | Import\n | ImportAttribute\n | ImportDeclaration\n | ImportDefaultSpecifier\n | ImportNamespaceSpecifier\n | ImportSpecifier\n | IndexedAccessType\n | InferredPredicate\n | InterfaceDeclaration\n | InterfaceExtends\n | InterfaceTypeAnnotation\n | InterpreterDirective\n | IntersectionTypeAnnotation\n | JSXAttribute\n | JSXClosingElement\n | JSXClosingFragment\n | JSXElement\n | JSXEmptyExpression\n | JSXExpressionContainer\n | JSXFragment\n | JSXIdentifier\n | JSXMemberExpression\n | JSXNamespacedName\n | JSXOpeningElement\n | JSXOpeningFragment\n | JSXSpreadAttribute\n | JSXSpreadChild\n | JSXText\n | LabeledStatement\n | LogicalExpression\n | MemberExpression\n | MetaProperty\n | MixedTypeAnnotation\n | ModuleExpression\n | NewExpression\n | Noop\n | NullLiteral\n | NullLiteralTypeAnnotation\n | NullableTypeAnnotation\n | NumberLiteral\n | NumberLiteralTypeAnnotation\n | NumberTypeAnnotation\n | NumericLiteral\n | ObjectExpression\n | ObjectMethod\n | ObjectPattern\n | ObjectProperty\n | ObjectTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalCallExpression\n | OptionalIndexedAccessType\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelinePrimaryTopicReference\n | PipelineTopicExpression\n | Placeholder\n | PrivateName\n | Program\n | QualifiedTypeIdentifier\n | RecordExpression\n | RegExpLiteral\n | RegexLiteral\n | RestElement\n | RestProperty\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SpreadProperty\n | StaticBlock\n | StringLiteral\n | StringLiteralTypeAnnotation\n | StringTypeAnnotation\n | Super\n | SwitchCase\n | SwitchStatement\n | SymbolTypeAnnotation\n | TSAnyKeyword\n | TSArrayType\n | TSAsExpression\n | TSBigIntKeyword\n | TSBooleanKeyword\n | TSCallSignatureDeclaration\n | TSConditionalType\n | TSConstructSignatureDeclaration\n | TSConstructorType\n | TSDeclareFunction\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSExpressionWithTypeArguments\n | TSExternalModuleReference\n | TSFunctionType\n | TSImportEqualsDeclaration\n | TSImportType\n | TSIndexSignature\n | TSIndexedAccessType\n | TSInferType\n | TSInstantiationExpression\n | TSInterfaceBody\n | TSInterfaceDeclaration\n | TSIntersectionType\n | TSIntrinsicKeyword\n | TSLiteralType\n | TSMappedType\n | TSMethodSignature\n | TSModuleBlock\n | TSModuleDeclaration\n | TSNamedTupleMember\n | TSNamespaceExportDeclaration\n | TSNeverKeyword\n | TSNonNullExpression\n | TSNullKeyword\n | TSNumberKeyword\n | TSObjectKeyword\n | TSOptionalType\n | TSParameterProperty\n | TSParenthesizedType\n | TSPropertySignature\n | TSQualifiedName\n | TSRestType\n | TSStringKeyword\n | TSSymbolKeyword\n | TSThisType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeLiteral\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterDeclaration\n | TSTypeParameterInstantiation\n | TSTypePredicate\n | TSTypeQuery\n | TSTypeReference\n | TSUndefinedKeyword\n | TSUnionType\n | TSUnknownKeyword\n | TSVoidKeyword\n | TaggedTemplateExpression\n | TemplateElement\n | TemplateLiteral\n | ThisExpression\n | ThisTypeAnnotation\n | ThrowStatement\n | TopicReference\n | TryStatement\n | TupleExpression\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeCastExpression\n | TypeParameter\n | TypeParameterDeclaration\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnaryExpression\n | UnionTypeAnnotation\n | UpdateExpression\n | V8IntrinsicIdentifier\n | VariableDeclaration\n | VariableDeclarator\n | Variance\n | VoidTypeAnnotation\n | WhileStatement\n | WithStatement\n | YieldExpression;\n\nexport interface ArrayExpression extends BaseNode {\n type: \"ArrayExpression\";\n elements: Array<null | Expression | SpreadElement>;\n}\n\nexport interface AssignmentExpression extends BaseNode {\n type: \"AssignmentExpression\";\n operator: string;\n left: LVal;\n right: Expression;\n}\n\nexport interface BinaryExpression extends BaseNode {\n type: \"BinaryExpression\";\n operator:\n | \"+\"\n | \"-\"\n | \"/\"\n | \"%\"\n | \"*\"\n | \"**\"\n | \"&\"\n | \"|\"\n | \">>\"\n | \">>>\"\n | \"<<\"\n | \"^\"\n | \"==\"\n | \"===\"\n | \"!=\"\n | \"!==\"\n | \"in\"\n | \"instanceof\"\n | \">\"\n | \"<\"\n | \">=\"\n | \"<=\"\n | \"|>\";\n left: Expression | PrivateName;\n right: Expression;\n}\n\nexport interface InterpreterDirective extends BaseNode {\n type: \"InterpreterDirective\";\n value: string;\n}\n\nexport interface Directive extends BaseNode {\n type: \"Directive\";\n value: DirectiveLiteral;\n}\n\nexport interface DirectiveLiteral extends BaseNode {\n type: \"DirectiveLiteral\";\n value: string;\n}\n\nexport interface BlockStatement extends BaseNode {\n type: \"BlockStatement\";\n body: Array<Statement>;\n directives: Array<Directive>;\n}\n\nexport interface BreakStatement extends BaseNode {\n type: \"BreakStatement\";\n label?: Identifier | null;\n}\n\nexport interface CallExpression extends BaseNode {\n type: \"CallExpression\";\n callee: Expression | Super | V8IntrinsicIdentifier;\n arguments: Array<\n Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder\n >;\n optional?: true | false | null;\n typeArguments?: TypeParameterInstantiation | null;\n typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface CatchClause extends BaseNode {\n type: \"CatchClause\";\n param?: Identifier | ArrayPattern | ObjectPattern | null;\n body: BlockStatement;\n}\n\nexport interface ConditionalExpression extends BaseNode {\n type: \"ConditionalExpression\";\n test: Expression;\n consequent: Expression;\n alternate: Expression;\n}\n\nexport interface ContinueStatement extends BaseNode {\n type: \"ContinueStatement\";\n label?: Identifier | null;\n}\n\nexport interface DebuggerStatement extends BaseNode {\n type: \"DebuggerStatement\";\n}\n\nexport interface DoWhileStatement extends BaseNode {\n type: \"DoWhileStatement\";\n test: Expression;\n body: Statement;\n}\n\nexport interface EmptyStatement extends BaseNode {\n type: \"EmptyStatement\";\n}\n\nexport interface ExpressionStatement extends BaseNode {\n type: \"ExpressionStatement\";\n expression: Expression;\n}\n\nexport interface File extends BaseNode {\n type: \"File\";\n program: Program;\n comments?: Array<CommentBlock | CommentLine> | null;\n tokens?: Array<any> | null;\n}\n\nexport interface ForInStatement extends BaseNode {\n type: \"ForInStatement\";\n left: VariableDeclaration | LVal;\n right: Expression;\n body: Statement;\n}\n\nexport interface ForStatement extends BaseNode {\n type: \"ForStatement\";\n init?: VariableDeclaration | Expression | null;\n test?: Expression | null;\n update?: Expression | null;\n body: Statement;\n}\n\nexport interface FunctionDeclaration extends BaseNode {\n type: \"FunctionDeclaration\";\n id?: Identifier | null;\n params: Array<Identifier | Pattern | RestElement>;\n body: BlockStatement;\n generator: boolean;\n async: boolean;\n declare?: boolean | null;\n predicate?: DeclaredPredicate | InferredPredicate | null;\n returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n typeParameters?:\n | TypeParameterDeclaration\n | TSTypeParameterDeclaration\n | Noop\n | null;\n}\n\nexport interface FunctionExpression extends BaseNode {\n type: \"FunctionExpression\";\n id?: Identifier | null;\n params: Array<Identifier | Pattern | RestElement>;\n body: BlockStatement;\n generator: boolean;\n async: boolean;\n predicate?: DeclaredPredicate | InferredPredicate | null;\n returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n typeParameters?:\n | TypeParameterDeclaration\n | TSTypeParameterDeclaration\n | Noop\n | null;\n}\n\nexport interface Identifier extends BaseNode {\n type: \"Identifier\";\n name: string;\n decorators?: Array<Decorator> | null;\n optional?: boolean | null;\n typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface IfStatement extends BaseNode {\n type: \"IfStatement\";\n test: Expression;\n consequent: Statement;\n alternate?: Statement | null;\n}\n\nexport interface LabeledStatement extends BaseNode {\n type: \"LabeledStatement\";\n label: Identifier;\n body: Statement;\n}\n\nexport interface StringLiteral extends BaseNode {\n type: \"StringLiteral\";\n value: string;\n}\n\nexport interface NumericLiteral extends BaseNode {\n type: \"NumericLiteral\";\n value: number;\n}\n\n/**\n * @deprecated Use `NumericLiteral`\n */\nexport interface NumberLiteral extends BaseNode {\n type: \"NumberLiteral\";\n value: number;\n}\n\nexport interface NullLiteral extends BaseNode {\n type: \"NullLiteral\";\n}\n\nexport interface BooleanLiteral extends BaseNode {\n type: \"BooleanLiteral\";\n value: boolean;\n}\n\nexport interface RegExpLiteral extends BaseNode {\n type: \"RegExpLiteral\";\n pattern: string;\n flags: string;\n}\n\n/**\n * @deprecated Use `RegExpLiteral`\n */\nexport interface RegexLiteral extends BaseNode {\n type: \"RegexLiteral\";\n pattern: string;\n flags: string;\n}\n\nexport interface LogicalExpression extends BaseNode {\n type: \"LogicalExpression\";\n operator: \"||\" | \"&&\" | \"??\";\n left: Expression;\n right: Expression;\n}\n\nexport interface MemberExpression extends BaseNode {\n type: \"MemberExpression\";\n object: Expression | Super;\n property: Expression | Identifier | PrivateName;\n computed: boolean;\n optional?: true | false | null;\n}\n\nexport interface NewExpression extends BaseNode {\n type: \"NewExpression\";\n callee: Expression | Super | V8IntrinsicIdentifier;\n arguments: Array<\n Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder\n >;\n optional?: true | false | null;\n typeArguments?: TypeParameterInstantiation | null;\n typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface Program extends BaseNode {\n type: \"Program\";\n body: Array<Statement>;\n directives: Array<Directive>;\n sourceType: \"script\" | \"module\";\n interpreter?: InterpreterDirective | null;\n sourceFile: string;\n}\n\nexport interface ObjectExpression extends BaseNode {\n type: \"ObjectExpression\";\n properties: Array<ObjectMethod | ObjectProperty | SpreadElement>;\n}\n\nexport interface ObjectMethod extends BaseNode {\n type: \"ObjectMethod\";\n kind: \"method\" | \"get\" | \"set\";\n key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral;\n params: Array<Identifier | Pattern | RestElement>;\n body: BlockStatement;\n computed: boolean;\n generator: boolean;\n async: boolean;\n decorators?: Array<Decorator> | null;\n returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n typeParameters?:\n | TypeParameterDeclaration\n | TSTypeParameterDeclaration\n | Noop\n | null;\n}\n\nexport interface ObjectProperty extends BaseNode {\n type: \"ObjectProperty\";\n key:\n | Expression\n | Identifier\n | StringLiteral\n | NumericLiteral\n | BigIntLiteral\n | DecimalLiteral\n | PrivateName;\n value: Expression | PatternLike;\n computed: boolean;\n shorthand: boolean;\n decorators?: Array<Decorator> | null;\n}\n\nexport interface RestElement extends BaseNode {\n type: \"RestElement\";\n argument: LVal;\n decorators?: Array<Decorator> | null;\n optional?: boolean | null;\n typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\n/**\n * @deprecated Use `RestElement`\n */\nexport interface RestProperty extends BaseNode {\n type: \"RestProperty\";\n argument: LVal;\n decorators?: Array<Decorator> | null;\n optional?: boolean | null;\n typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface ReturnStatement extends BaseNode {\n type: \"ReturnStatement\";\n argument?: Expression | null;\n}\n\nexport interface SequenceExpression extends BaseNode {\n type: \"SequenceExpression\";\n expressions: Array<Expression>;\n}\n\nexport interface ParenthesizedExpression extends BaseNode {\n type: \"ParenthesizedExpression\";\n expression: Expression;\n}\n\nexport interface SwitchCase extends BaseNode {\n type: \"SwitchCase\";\n test?: Expression | null;\n consequent: Array<Statement>;\n}\n\nexport interface SwitchStatement extends BaseNode {\n type: \"SwitchStatement\";\n discriminant: Expression;\n cases: Array<SwitchCase>;\n}\n\nexport interface ThisExpression extends BaseNode {\n type: \"ThisExpression\";\n}\n\nexport interface ThrowStatement extends BaseNode {\n type: \"ThrowStatement\";\n argument: Expression;\n}\n\nexport interface TryStatement extends BaseNode {\n type: \"TryStatement\";\n block: BlockStatement;\n handler?: CatchClause | null;\n finalizer?: BlockStatement | null;\n}\n\nexport interface UnaryExpression extends BaseNode {\n type: \"UnaryExpression\";\n operator: \"void\" | \"throw\" | \"delete\" | \"!\" | \"+\" | \"-\" | \"~\" | \"typeof\";\n argument: Expression;\n prefix: boolean;\n}\n\nexport interface UpdateExpression extends BaseNode {\n type: \"UpdateExpression\";\n operator: \"++\" | \"--\";\n argument: Expression;\n prefix: boolean;\n}\n\nexport interface VariableDeclaration extends BaseNode {\n type: \"VariableDeclaration\";\n kind: \"var\" | \"let\" | \"const\";\n declarations: Array<VariableDeclarator>;\n declare?: boolean | null;\n}\n\nexport interface VariableDeclarator extends BaseNode {\n type: \"VariableDeclarator\";\n id: LVal;\n init?: Expression | null;\n definite?: boolean | null;\n}\n\nexport interface WhileStatement extends BaseNode {\n type: \"WhileStatement\";\n test: Expression;\n body: Statement;\n}\n\nexport interface WithStatement extends BaseNode {\n type: \"WithStatement\";\n object: Expression;\n body: Statement;\n}\n\nexport interface AssignmentPattern extends BaseNode {\n type: \"AssignmentPattern\";\n left:\n | Identifier\n | ObjectPattern\n | ArrayPattern\n | MemberExpression\n | TSAsExpression\n | TSTypeAssertion\n | TSNonNullExpression;\n right: Expression;\n decorators?: Array<Decorator> | null;\n typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface ArrayPattern extends BaseNode {\n type: \"ArrayPattern\";\n elements: Array<null | PatternLike | LVal>;\n decorators?: Array<Decorator> | null;\n optional?: boolean | null;\n typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface ArrowFunctionExpression extends BaseNode {\n type: \"ArrowFunctionExpression\";\n params: Array<Identifier | Pattern | RestElement>;\n body: BlockStatement | Expression;\n async: boolean;\n expression: boolean;\n generator?: boolean;\n predicate?: DeclaredPredicate | InferredPredicate | null;\n returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n typeParameters?:\n | TypeParameterDeclaration\n | TSTypeParameterDeclaration\n | Noop\n | null;\n}\n\nexport interface ClassBody extends BaseNode {\n type: \"ClassBody\";\n body: Array<\n | ClassMethod\n | ClassPrivateMethod\n | ClassProperty\n | ClassPrivateProperty\n | ClassAccessorProperty\n | TSDeclareMethod\n | TSIndexSignature\n | StaticBlock\n >;\n}\n\nexport interface ClassExpression extends BaseNode {\n type: \"ClassExpression\";\n id?: Identifier | null;\n superClass?: Expression | null;\n body: ClassBody;\n decorators?: Array<Decorator> | null;\n implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null;\n mixins?: InterfaceExtends | null;\n superTypeParameters?:\n | TypeParameterInstantiation\n | TSTypeParameterInstantiation\n | null;\n typeParameters?:\n | TypeParameterDeclaration\n | TSTypeParameterDeclaration\n | Noop\n | null;\n}\n\nexport interface ClassDeclaration extends BaseNode {\n type: \"ClassDeclaration\";\n id: Identifier;\n superClass?: Expression | null;\n body: ClassBody;\n decorators?: Array<Decorator> | null;\n abstract?: boolean | null;\n declare?: boolean | null;\n implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null;\n mixins?: InterfaceExtends | null;\n superTypeParameters?:\n | TypeParameterInstantiation\n | TSTypeParameterInstantiation\n | null;\n typeParameters?:\n | TypeParameterDeclaration\n | TSTypeParameterDeclaration\n | Noop\n | null;\n}\n\nexport interface ExportAllDeclaration extends BaseNode {\n type: \"ExportAllDeclaration\";\n source: StringLiteral;\n assertions?: Array<ImportAttribute> | null;\n exportKind?: \"type\" | \"value\" | null;\n}\n\nexport interface ExportDefaultDeclaration extends BaseNode {\n type: \"ExportDefaultDeclaration\";\n declaration:\n | TSDeclareFunction\n | FunctionDeclaration\n | ClassDeclaration\n | Expression;\n exportKind?: \"value\" | null;\n}\n\nexport interface ExportNamedDeclaration extends BaseNode {\n type: \"ExportNamedDeclaration\";\n declaration?: Declaration | null;\n specifiers: Array<\n ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier\n >;\n source?: StringLiteral | null;\n assertions?: Array<ImportAttribute> | null;\n exportKind?: \"type\" | \"value\" | null;\n}\n\nexport interface ExportSpecifier extends BaseNode {\n type: \"ExportSpecifier\";\n local: Identifier;\n exported: Identifier | StringLiteral;\n exportKind?: \"type\" | \"value\" | null;\n}\n\nexport interface ForOfStatement extends BaseNode {\n type: \"ForOfStatement\";\n left: VariableDeclaration | LVal;\n right: Expression;\n body: Statement;\n await: boolean;\n}\n\nexport interface ImportDeclaration extends BaseNode {\n type: \"ImportDeclaration\";\n specifiers: Array<\n ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier\n >;\n source: StringLiteral;\n assertions?: Array<ImportAttribute> | null;\n importKind?: \"type\" | \"typeof\" | \"value\" | null;\n}\n\nexport interface ImportDefaultSpecifier extends BaseNode {\n type: \"ImportDefaultSpecifier\";\n local: Identifier;\n}\n\nexport interface ImportNamespaceSpecifier extends BaseNode {\n type: \"ImportNamespaceSpecifier\";\n local: Identifier;\n}\n\nexport interface ImportSpecifier extends BaseNode {\n type: \"ImportSpecifier\";\n local: Identifier;\n imported: Identifier | StringLiteral;\n importKind?: \"type\" | \"typeof\" | \"value\" | null;\n}\n\nexport interface MetaProperty extends BaseNode {\n type: \"MetaProperty\";\n meta: Identifier;\n property: Identifier;\n}\n\nexport interface ClassMethod extends BaseNode {\n type: \"ClassMethod\";\n kind: \"get\" | \"set\" | \"method\" | \"constructor\";\n key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;\n params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;\n body: BlockStatement;\n computed: boolean;\n static: boolean;\n generator: boolean;\n async: boolean;\n abstract?: boolean | null;\n access?: \"public\" | \"private\" | \"protected\" | null;\n accessibility?: \"public\" | \"private\" | \"protected\" | null;\n decorators?: Array<Decorator> | null;\n optional?: boolean | null;\n override?: boolean;\n returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n typeParameters?:\n | TypeParameterDeclaration\n | TSTypeParameterDeclaration\n | Noop\n | null;\n}\n\nexport interface ObjectPattern extends BaseNode {\n type: \"ObjectPattern\";\n properties: Array<RestElement | ObjectProperty>;\n decorators?: Array<Decorator> | null;\n typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n}\n\nexport interface SpreadElement extends BaseNode {\n type: \"SpreadElement\";\n argument: Expression;\n}\n\n/**\n * @deprecated Use `SpreadElement`\n */\nexport interface SpreadProperty extends BaseNode {\n type: \"SpreadProperty\";\n argument: Expression;\n}\n\nexport interface Super extends BaseNode {\n type: \"Super\";\n}\n\nexport interface TaggedTemplateExpression extends BaseNode {\n type: \"TaggedTemplateExpression\";\n tag: Expression;\n quasi: TemplateLiteral;\n typeParameters?:\n | TypeParameterInstantiation\n | TSTypeParameterInstantiation\n | null;\n}\n\nexport interface TemplateElement extends BaseNode {\n type: \"TemplateElement\";\n value: { raw: string; cooked?: string };\n tail: boolean;\n}\n\nexport interface TemplateLiteral extends BaseNode {\n type: \"TemplateLiteral\";\n quasis: Array<TemplateElement>;\n expressions: Array<Expression | TSType>;\n}\n\nexport interface YieldExpression extends BaseNode {\n type: \"YieldExpression\";\n argument?: Expression | null;\n delegate: boolean;\n}\n\nexport interface AwaitExpression extends BaseNode {\n type: \"AwaitExpression\";\n argument: Expression;\n}\n\nexport interface Import extends BaseNode {\n type: \"Import\";\n}\n\nexport interface BigIntLiteral extends BaseNode {\n type: \"BigIntLiteral\";\n value: string;\n}\n\nexport interface ExportNamespaceSpecifier extends BaseNode {\n type: \"ExportNamespaceSpecifier\";\n exported: Identifier;\n}\n\nexport interface OptionalMemberExpression extends BaseNode {\n type: \"OptionalMemberExpression\";\n object: Expression;\n property: Expression | Identifier;\n computed: boolean;\n optional: boolean;\n}\n\nexport interface OptionalCallExpression extends BaseNode {\n type: \"OptionalCallExpression\";\n callee: Expression;\n arguments: Array<\n Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder\n >;\n optional: boolean;\n typeArguments?: TypeParameterInstantiation | null;\n typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface ClassProperty extends BaseNode {\n type: \"ClassProperty\";\n key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;\n value?: Expression | null;\n typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n decorators?: Array<Decorator> | null;\n computed: boolean;\n static: boolean;\n abstract?: boolean | null;\n accessibility?: \"public\" | \"private\" | \"protected\" | null;\n declare?: boolean | null;\n definite?: boolean | null;\n optional?: boolean | null;\n override?: boolean;\n readonly?: boolean | null;\n variance?: Variance | null;\n}\n\nexport interface ClassAccessorProperty extends BaseNode {\n type: \"ClassAccessorProperty\";\n key:\n | Identifier\n | StringLiteral\n | NumericLiteral\n | BigIntLiteral\n | Expression\n | PrivateName;\n value?: Expression | null;\n typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n decorators?: Array<Decorator> | null;\n computed: boolean;\n static: boolean;\n abstract?: boolean | null;\n accessibility?: \"public\" | \"private\" | \"protected\" | null;\n declare?: boolean | null;\n definite?: boolean | null;\n optional?: boolean | null;\n override?: boolean;\n readonly?: boolean | null;\n variance?: Variance | null;\n}\n\nexport interface ClassPrivateProperty extends BaseNode {\n type: \"ClassPrivateProperty\";\n key: PrivateName;\n value?: Expression | null;\n decorators?: Array<Decorator> | null;\n static: boolean;\n definite?: boolean | null;\n readonly?: boolean | null;\n typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n variance?: Variance | null;\n}\n\nexport interface ClassPrivateMethod extends BaseNode {\n type: \"ClassPrivateMethod\";\n kind: \"get\" | \"set\" | \"method\";\n key: PrivateName;\n params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;\n body: BlockStatement;\n static: boolean;\n abstract?: boolean | null;\n access?: \"public\" | \"private\" | \"protected\" | null;\n accessibility?: \"public\" | \"private\" | \"protected\" | null;\n async?: boolean;\n computed?: boolean;\n decorators?: Array<Decorator> | null;\n generator?: boolean;\n optional?: boolean | null;\n override?: boolean;\n returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;\n typeParameters?:\n | TypeParameterDeclaration\n | TSTypeParameterDeclaration\n | Noop\n | null;\n}\n\nexport interface PrivateName extends BaseNode {\n type: \"PrivateName\";\n id: Identifier;\n}\n\nexport interface StaticBlock extends BaseNode {\n type: \"StaticBlock\";\n body: Array<Statement>;\n}\n\nexport interface AnyTypeAnnotation extends BaseNode {\n type: \"AnyTypeAnnotation\";\n}\n\nexport interface ArrayTypeAnnotation extends BaseNode {\n type: \"ArrayTypeAnnotation\";\n elementType: FlowType;\n}\n\nexport interface BooleanTypeAnnotation extends BaseNode {\n type: \"BooleanTypeAnnotation\";\n}\n\nexport interface BooleanLiteralTypeAnnotation extends BaseNode {\n type: \"BooleanLiteralTypeAnnotation\";\n value: boolean;\n}\n\nexport interface NullLiteralTypeAnnotation extends BaseNode {\n type: \"NullLiteralTypeAnnotation\";\n}\n\nexport interface ClassImplements extends BaseNode {\n type: \"ClassImplements\";\n id: Identifier;\n typeParameters?: TypeParameterInstantiation | null;\n}\n\nexport interface DeclareClass extends BaseNode {\n type: \"DeclareClass\";\n id: Identifier;\n typeParameters?: TypeParameterDeclaration | null;\n extends?: Array<InterfaceExtends> | null;\n body: ObjectTypeAnnotation;\n implements?: Array<ClassImplements> | null;\n mixins?: Array<InterfaceExtends> | null;\n}\n\nexport interface DeclareFunction extends BaseNode {\n type: \"DeclareFunction\";\n id: Identifier;\n predicate?: DeclaredPredicate | null;\n}\n\nexport interface DeclareInterface extends BaseNode {\n type: \"DeclareInterface\";\n id: Identifier;\n typeParameters?: TypeParameterDeclaration | null;\n extends?: Array<InterfaceExtends> | null;\n body: ObjectTypeAnnotation;\n implements?: Array<ClassImplements> | null;\n mixins?: Array<InterfaceExtends> | null;\n}\n\nexport interface DeclareModule extends BaseNode {\n type: \"DeclareModule\";\n id: Identifier | StringLiteral;\n body: BlockStatement;\n kind?: \"CommonJS\" | \"ES\" | null;\n}\n\nexport interface DeclareModuleExports extends BaseNode {\n type: \"DeclareModuleExports\";\n typeAnnotation: TypeAnnotation;\n}\n\nexport interface DeclareTypeAlias extends BaseNode {\n type: \"DeclareTypeAlias\";\n id: Identifier;\n typeParameters?: TypeParameterDeclaration | null;\n right: FlowType;\n}\n\nexport interface DeclareOpaqueType extends BaseNode {\n type: \"DeclareOpaqueType\";\n id: Identifier;\n typeParameters?: TypeParameterDeclaration | null;\n supertype?: FlowType | null;\n impltype?: FlowType | null;\n}\n\nexport interface DeclareVariable extends BaseNode {\n type: \"DeclareVariable\";\n id: Identifier;\n}\n\nexport interface DeclareExportDeclaration extends BaseNode {\n type: \"DeclareExportDeclaration\";\n declaration?: Flow | null;\n specifiers?: Array<ExportSpecifier | ExportNamespaceSpecifier> | null;\n source?: StringLiteral | null;\n default?: boolean | null;\n}\n\nexport interface DeclareExportAllDeclaration extends BaseNode {\n type: \"DeclareExportAllDeclaration\";\n source: StringLiteral;\n exportKind?: \"type\" | \"value\" | null;\n}\n\nexport interface DeclaredPredicate extends BaseNode {\n type: \"DeclaredPredicate\";\n value: Flow;\n}\n\nexport interface ExistsTypeAnnotation extends BaseNode {\n type: \"ExistsTypeAnnotation\";\n}\n\nexport interface FunctionTypeAnnotation extends BaseNode {\n type: \"FunctionTypeAnnotation\";\n typeParameters?: TypeParameterDeclaration | null;\n params: Array<FunctionTypeParam>;\n rest?: FunctionTypeParam | null;\n returnType: FlowType;\n this?: FunctionTypeParam | null;\n}\n\nexport interface FunctionTypeParam extends BaseNode {\n type: \"FunctionTypeParam\";\n name?: Identifier | null;\n typeAnnotation: FlowType;\n optional?: boolean | null;\n}\n\nexport interface GenericTypeAnnotation extends BaseNode {\n type: \"GenericTypeAnnotation\";\n id: Identifier | QualifiedTypeIdentifier;\n typeParameters?: TypeParameterInstantiation | null;\n}\n\nexport interface InferredPredicate extends BaseNode {\n type: \"InferredPredicate\";\n}\n\nexport interface InterfaceExtends extends BaseNode {\n type: \"InterfaceExtends\";\n id: Identifier | QualifiedTypeIdentifier;\n typeParameters?: TypeParameterInstantiation | null;\n}\n\nexport interface InterfaceDeclaration extends BaseNode {\n type: \"InterfaceDeclaration\";\n id: Identifier;\n typeParameters?: TypeParameterDeclaration | null;\n extends?: Array<InterfaceExtends> | null;\n body: ObjectTypeAnnotation;\n implements?: Array<ClassImplements> | null;\n mixins?: Array<InterfaceExtends> | null;\n}\n\nexport interface InterfaceTypeAnnotation extends BaseNode {\n type: \"InterfaceTypeAnnotation\";\n extends?: Array<InterfaceExtends> | null;\n body: ObjectTypeAnnotation;\n}\n\nexport interface IntersectionTypeAnnotation extends BaseNode {\n type: \"IntersectionTypeAnnotation\";\n types: Array<FlowType>;\n}\n\nexport interface MixedTypeAnnotation extends BaseNode {\n type: \"MixedTypeAnnotation\";\n}\n\nexport interface EmptyTypeAnnotation extends BaseNode {\n type: \"EmptyTypeAnnotation\";\n}\n\nexport interface NullableTypeAnnotation extends BaseNode {\n type: \"NullableTypeAnnotation\";\n typeAnnotation: FlowType;\n}\n\nexport interface NumberLiteralTypeAnnotation extends BaseNode {\n type: \"NumberLiteralTypeAnnotation\";\n value: number;\n}\n\nexport interface NumberTypeAnnotation extends BaseNode {\n type: \"NumberTypeAnnotation\";\n}\n\nexport interface ObjectTypeAnnotation extends BaseNode {\n type: \"ObjectTypeAnnotation\";\n properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty>;\n indexers?: Array<ObjectTypeIndexer>;\n callProperties?: Array<ObjectTypeCallProperty>;\n internalSlots?: Array<ObjectTypeInternalSlot>;\n exact: boolean;\n inexact?: boolean | null;\n}\n\nexport interface ObjectTypeInternalSlot extends BaseNode {\n type: \"ObjectTypeInternalSlot\";\n id: Identifier;\n value: FlowType;\n optional: boolean;\n static: boolean;\n method: boolean;\n}\n\nexport interface ObjectTypeCallProperty extends BaseNode {\n type: \"ObjectTypeCallProperty\";\n value: FlowType;\n static: boolean;\n}\n\nexport interface ObjectTypeIndexer extends BaseNode {\n type: \"ObjectTypeIndexer\";\n id?: Identifier | null;\n key: FlowType;\n value: FlowType;\n variance?: Variance | null;\n static: boolean;\n}\n\nexport interface ObjectTypeProperty extends BaseNode {\n type: \"ObjectTypeProperty\";\n key: Identifier | StringLiteral;\n value: FlowType;\n variance?: Variance | null;\n kind: \"init\" | \"get\" | \"set\";\n method: boolean;\n optional: boolean;\n proto: boolean;\n static: boolean;\n}\n\nexport interface ObjectTypeSpreadProperty extends BaseNode {\n type: \"ObjectTypeSpreadProperty\";\n argument: FlowType;\n}\n\nexport interface OpaqueType extends BaseNode {\n type: \"OpaqueType\";\n id: Identifier;\n typeParameters?: TypeParameterDeclaration | null;\n supertype?: FlowType | null;\n impltype: FlowType;\n}\n\nexport interface QualifiedTypeIdentifier extends BaseNode {\n type: \"QualifiedTypeIdentifier\";\n id: Identifier;\n qualification: Identifier | QualifiedTypeIdentifier;\n}\n\nexport interface StringLiteralTypeAnnotation extends BaseNode {\n type: \"StringLiteralTypeAnnotation\";\n value: string;\n}\n\nexport interface StringTypeAnnotation extends BaseNode {\n type: \"StringTypeAnnotation\";\n}\n\nexport interface SymbolTypeAnnotation extends BaseNode {\n type: \"SymbolTypeAnnotation\";\n}\n\nexport interface ThisTypeAnnotation extends BaseNode {\n type: \"ThisTypeAnnotation\";\n}\n\nexport interface TupleTypeAnnotation extends BaseNode {\n type: \"TupleTypeAnnotation\";\n types: Array<FlowType>;\n}\n\nexport interface TypeofTypeAnnotation extends BaseNode {\n type: \"TypeofTypeAnnotation\";\n argument: FlowType;\n}\n\nexport interface TypeAlias extends BaseNode {\n type: \"TypeAlias\";\n id: Identifier;\n typeParameters?: TypeParameterDeclaration | null;\n right: FlowType;\n}\n\nexport interface TypeAnnotation extends BaseNode {\n type: \"TypeAnnotation\";\n typeAnnotation: FlowType;\n}\n\nexport interface TypeCastExpression extends BaseNode {\n type: \"TypeCastExpression\";\n expression: Expression;\n typeAnnotation: TypeAnnotation;\n}\n\nexport interface TypeParameter extends BaseNode {\n type: \"TypeParameter\";\n bound?: TypeAnnotation | null;\n default?: FlowType | null;\n variance?: Variance | null;\n name: string;\n}\n\nexport interface TypeParameterDeclaration extends BaseNode {\n type: \"TypeParameterDeclaration\";\n params: Array<TypeParameter>;\n}\n\nexport interface TypeParameterInstantiation extends BaseNode {\n type: \"TypeParameterInstantiation\";\n params: Array<FlowType>;\n}\n\nexport interface UnionTypeAnnotation extends BaseNode {\n type: \"UnionTypeAnnotation\";\n types: Array<FlowType>;\n}\n\nexport interface Variance extends BaseNode {\n type: \"Variance\";\n kind: \"minus\" | \"plus\";\n}\n\nexport interface VoidTypeAnnotation extends BaseNode {\n type: \"VoidTypeAnnotation\";\n}\n\nexport interface EnumDeclaration extends BaseNode {\n type: \"EnumDeclaration\";\n id: Identifier;\n body: EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;\n}\n\nexport interface EnumBooleanBody extends BaseNode {\n type: \"EnumBooleanBody\";\n members: Array<EnumBooleanMember>;\n explicitType: boolean;\n hasUnknownMembers: boolean;\n}\n\nexport interface EnumNumberBody extends BaseNode {\n type: \"EnumNumberBody\";\n members: Array<EnumNumberMember>;\n explicitType: boolean;\n hasUnknownMembers: boolean;\n}\n\nexport interface EnumStringBody extends BaseNode {\n type: \"EnumStringBody\";\n members: Array<EnumStringMember | EnumDefaultedMember>;\n explicitType: boolean;\n hasUnknownMembers: boolean;\n}\n\nexport interface EnumSymbolBody extends BaseNode {\n type: \"EnumSymbolBody\";\n members: Array<EnumDefaultedMember>;\n hasUnknownMembers: boolean;\n}\n\nexport interface EnumBooleanMember extends BaseNode {\n type: \"EnumBooleanMember\";\n id: Identifier;\n init: BooleanLiteral;\n}\n\nexport interface EnumNumberMember extends BaseNode {\n type: \"EnumNumberMember\";\n id: Identifier;\n init: NumericLiteral;\n}\n\nexport interface EnumStringMember extends BaseNode {\n type: \"EnumStringMember\";\n id: Identifier;\n init: StringLiteral;\n}\n\nexport interface EnumDefaultedMember extends BaseNode {\n type: \"EnumDefaultedMember\";\n id: Identifier;\n}\n\nexport interface IndexedAccessType extends BaseNode {\n type: \"IndexedAccessType\";\n objectType: FlowType;\n indexType: FlowType;\n}\n\nexport interface OptionalIndexedAccessType extends BaseNode {\n type: \"OptionalIndexedAccessType\";\n objectType: FlowType;\n indexType: FlowType;\n optional: boolean;\n}\n\nexport interface JSXAttribute extends BaseNode {\n type: \"JSXAttribute\";\n name: JSXIdentifier | JSXNamespacedName;\n value?:\n | JSXElement\n | JSXFragment\n | StringLiteral\n | JSXExpressionContainer\n | null;\n}\n\nexport interface JSXClosingElement extends BaseNode {\n type: \"JSXClosingElement\";\n name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;\n}\n\nexport interface JSXElement extends BaseNode {\n type: \"JSXElement\";\n openingElement: JSXOpeningElement;\n closingElement?: JSXClosingElement | null;\n children: Array<\n JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment\n >;\n selfClosing?: boolean | null;\n}\n\nexport interface JSXEmptyExpression extends BaseNode {\n type: \"JSXEmptyExpression\";\n}\n\nexport interface JSXExpressionContainer extends BaseNode {\n type: \"JSXExpressionContainer\";\n expression: Expression | JSXEmptyExpression;\n}\n\nexport interface JSXSpreadChild extends BaseNode {\n type: \"JSXSpreadChild\";\n expression: Expression;\n}\n\nexport interface JSXIdentifier extends BaseNode {\n type: \"JSXIdentifier\";\n name: string;\n}\n\nexport interface JSXMemberExpression extends BaseNode {\n type: \"JSXMemberExpression\";\n object: JSXMemberExpression | JSXIdentifier;\n property: JSXIdentifier;\n}\n\nexport interface JSXNamespacedName extends BaseNode {\n type: \"JSXNamespacedName\";\n namespace: JSXIdentifier;\n name: JSXIdentifier;\n}\n\nexport interface JSXOpeningElement extends BaseNode {\n type: \"JSXOpeningElement\";\n name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;\n attributes: Array<JSXAttribute | JSXSpreadAttribute>;\n selfClosing: boolean;\n typeParameters?:\n | TypeParameterInstantiation\n | TSTypeParameterInstantiation\n | null;\n}\n\nexport interface JSXSpreadAttribute extends BaseNode {\n type: \"JSXSpreadAttribute\";\n argument: Expression;\n}\n\nexport interface JSXText extends BaseNode {\n type: \"JSXText\";\n value: string;\n}\n\nexport interface JSXFragment extends BaseNode {\n type: \"JSXFragment\";\n openingFragment: JSXOpeningFragment;\n closingFragment: JSXClosingFragment;\n children: Array<\n JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment\n >;\n}\n\nexport interface JSXOpeningFragment extends BaseNode {\n type: \"JSXOpeningFragment\";\n}\n\nexport interface JSXClosingFragment extends BaseNode {\n type: \"JSXClosingFragment\";\n}\n\nexport interface Noop extends BaseNode {\n type: \"Noop\";\n}\n\nexport interface Placeholder extends BaseNode {\n type: \"Placeholder\";\n expectedNode:\n | \"Identifier\"\n | \"StringLiteral\"\n | \"Expression\"\n | \"Statement\"\n | \"Declaration\"\n | \"BlockStatement\"\n | \"ClassBody\"\n | \"Pattern\";\n name: Identifier;\n}\n\nexport interface V8IntrinsicIdentifier extends BaseNode {\n type: \"V8IntrinsicIdentifier\";\n name: string;\n}\n\nexport interface ArgumentPlaceholder extends BaseNode {\n type: \"ArgumentPlaceholder\";\n}\n\nexport interface BindExpression extends BaseNode {\n type: \"BindExpression\";\n object: Expression;\n callee: Expression;\n}\n\nexport interface ImportAttribute extends BaseNode {\n type: \"ImportAttribute\";\n key: Identifier | StringLiteral;\n value: StringLiteral;\n}\n\nexport interface Decorator extends BaseNode {\n type: \"Decorator\";\n expression: Expression;\n}\n\nexport interface DoExpression extends BaseNode {\n type: \"DoExpression\";\n body: BlockStatement;\n async: boolean;\n}\n\nexport interface ExportDefaultSpecifier extends BaseNode {\n type: \"ExportDefaultSpecifier\";\n exported: Identifier;\n}\n\nexport interface RecordExpression extends BaseNode {\n type: \"RecordExpression\";\n properties: Array<ObjectProperty | SpreadElement>;\n}\n\nexport interface TupleExpression extends BaseNode {\n type: \"TupleExpression\";\n elements: Array<Expression | SpreadElement>;\n}\n\nexport interface DecimalLiteral extends BaseNode {\n type: \"DecimalLiteral\";\n value: string;\n}\n\nexport interface ModuleExpression extends BaseNode {\n type: \"ModuleExpression\";\n body: Program;\n}\n\nexport interface TopicReference extends BaseNode {\n type: \"TopicReference\";\n}\n\nexport interface PipelineTopicExpression extends BaseNode {\n type: \"PipelineTopicExpression\";\n expression: Expression;\n}\n\nexport interface PipelineBareFunction extends BaseNode {\n type: \"PipelineBareFunction\";\n callee: Expression;\n}\n\nexport interface PipelinePrimaryTopicReference extends BaseNode {\n type: \"PipelinePrimaryTopicReference\";\n}\n\nexport interface TSParameterProperty extends BaseNode {\n type: \"TSParameterProperty\";\n parameter: Identifier | AssignmentPattern;\n accessibility?: \"public\" | \"private\" | \"protected\" | null;\n decorators?: Array<Decorator> | null;\n override?: boolean | null;\n readonly?: boolean | null;\n}\n\nexport interface TSDeclareFunction extends BaseNode {\n type: \"TSDeclareFunction\";\n id?: Identifier | null;\n typeParameters?: TSTypeParameterDeclaration | Noop | null;\n params: Array<Identifier | Pattern | RestElement>;\n returnType?: TSTypeAnnotation | Noop | null;\n async?: boolean;\n declare?: boolean | null;\n generator?: boolean;\n}\n\nexport interface TSDeclareMethod extends BaseNode {\n type: \"TSDeclareMethod\";\n decorators?: Array<Decorator> | null;\n key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;\n typeParameters?: TSTypeParameterDeclaration | Noop | null;\n params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;\n returnType?: TSTypeAnnotation | Noop | null;\n abstract?: boolean | null;\n access?: \"public\" | \"private\" | \"protected\" | null;\n accessibility?: \"public\" | \"private\" | \"protected\" | null;\n async?: boolean;\n computed?: boolean;\n generator?: boolean;\n kind?: \"get\" | \"set\" | \"method\" | \"constructor\";\n optional?: boolean | null;\n override?: boolean;\n static?: boolean;\n}\n\nexport interface TSQualifiedName extends BaseNode {\n type: \"TSQualifiedName\";\n left: TSEntityName;\n right: Identifier;\n}\n\nexport interface TSCallSignatureDeclaration extends BaseNode {\n type: \"TSCallSignatureDeclaration\";\n typeParameters?: TSTypeParameterDeclaration | null;\n parameters: Array<Identifier | RestElement>;\n typeAnnotation?: TSTypeAnnotation | null;\n}\n\nexport interface TSConstructSignatureDeclaration extends BaseNode {\n type: \"TSConstructSignatureDeclaration\";\n typeParameters?: TSTypeParameterDeclaration | null;\n parameters: Array<Identifier | RestElement>;\n typeAnnotation?: TSTypeAnnotation | null;\n}\n\nexport interface TSPropertySignature extends BaseNode {\n type: \"TSPropertySignature\";\n key: Expression;\n typeAnnotation?: TSTypeAnnotation | null;\n initializer?: Expression | null;\n computed?: boolean;\n kind: \"get\" | \"set\";\n optional?: boolean | null;\n readonly?: boolean | null;\n}\n\nexport interface TSMethodSignature extends BaseNode {\n type: \"TSMethodSignature\";\n key: Expression;\n typeParameters?: TSTypeParameterDeclaration | null;\n parameters: Array<Identifier | RestElement>;\n typeAnnotation?: TSTypeAnnotation | null;\n computed?: boolean;\n kind: \"method\" | \"get\" | \"set\";\n optional?: boolean | null;\n}\n\nexport interface TSIndexSignature extends BaseNode {\n type: \"TSIndexSignature\";\n parameters: Array<Identifier>;\n typeAnnotation?: TSTypeAnnotation | null;\n readonly?: boolean | null;\n static?: boolean | null;\n}\n\nexport interface TSAnyKeyword extends BaseNode {\n type: \"TSAnyKeyword\";\n}\n\nexport interface TSBooleanKeyword extends BaseNode {\n type: \"TSBooleanKeyword\";\n}\n\nexport interface TSBigIntKeyword extends BaseNode {\n type: \"TSBigIntKeyword\";\n}\n\nexport interface TSIntrinsicKeyword extends BaseNode {\n type: \"TSIntrinsicKeyword\";\n}\n\nexport interface TSNeverKeyword extends BaseNode {\n type: \"TSNeverKeyword\";\n}\n\nexport interface TSNullKeyword extends BaseNode {\n type: \"TSNullKeyword\";\n}\n\nexport interface TSNumberKeyword extends BaseNode {\n type: \"TSNumberKeyword\";\n}\n\nexport interface TSObjectKeyword extends BaseNode {\n type: \"TSObjectKeyword\";\n}\n\nexport interface TSStringKeyword extends BaseNode {\n type: \"TSStringKeyword\";\n}\n\nexport interface TSSymbolKeyword extends BaseNode {\n type: \"TSSymbolKeyword\";\n}\n\nexport interface TSUndefinedKeyword extends BaseNode {\n type: \"TSUndefinedKeyword\";\n}\n\nexport interface TSUnknownKeyword extends BaseNode {\n type: \"TSUnknownKeyword\";\n}\n\nexport interface TSVoidKeyword extends BaseNode {\n type: \"TSVoidKeyword\";\n}\n\nexport interface TSThisType extends BaseNode {\n type: \"TSThisType\";\n}\n\nexport interface TSFunctionType extends BaseNode {\n type: \"TSFunctionType\";\n typeParameters?: TSTypeParameterDeclaration | null;\n parameters: Array<Identifier | RestElement>;\n typeAnnotation?: TSTypeAnnotation | null;\n}\n\nexport interface TSConstructorType extends BaseNode {\n type: \"TSConstructorType\";\n typeParameters?: TSTypeParameterDeclaration | null;\n parameters: Array<Identifier | RestElement>;\n typeAnnotation?: TSTypeAnnotation | null;\n abstract?: boolean | null;\n}\n\nexport interface TSTypeReference extends BaseNode {\n type: \"TSTypeReference\";\n typeName: TSEntityName;\n typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface TSTypePredicate extends BaseNode {\n type: \"TSTypePredicate\";\n parameterName: Identifier | TSThisType;\n typeAnnotation?: TSTypeAnnotation | null;\n asserts?: boolean | null;\n}\n\nexport interface TSTypeQuery extends BaseNode {\n type: \"TSTypeQuery\";\n exprName: TSEntityName | TSImportType;\n typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface TSTypeLiteral extends BaseNode {\n type: \"TSTypeLiteral\";\n members: Array<TSTypeElement>;\n}\n\nexport interface TSArrayType extends BaseNode {\n type: \"TSArrayType\";\n elementType: TSType;\n}\n\nexport interface TSTupleType extends BaseNode {\n type: \"TSTupleType\";\n elementTypes: Array<TSType | TSNamedTupleMember>;\n}\n\nexport interface TSOptionalType extends BaseNode {\n type: \"TSOptionalType\";\n typeAnnotation: TSType;\n}\n\nexport interface TSRestType extends BaseNode {\n type: \"TSRestType\";\n typeAnnotation: TSType;\n}\n\nexport interface TSNamedTupleMember extends BaseNode {\n type: \"TSNamedTupleMember\";\n label: Identifier;\n elementType: TSType;\n optional: boolean;\n}\n\nexport interface TSUnionType extends BaseNode {\n type: \"TSUnionType\";\n types: Array<TSType>;\n}\n\nexport interface TSIntersectionType extends BaseNode {\n type: \"TSIntersectionType\";\n types: Array<TSType>;\n}\n\nexport interface TSConditionalType extends BaseNode {\n type: \"TSConditionalType\";\n checkType: TSType;\n extendsType: TSType;\n trueType: TSType;\n falseType: TSType;\n}\n\nexport interface TSInferType extends BaseNode {\n type: \"TSInferType\";\n typeParameter: TSTypeParameter;\n}\n\nexport interface TSParenthesizedType extends BaseNode {\n type: \"TSParenthesizedType\";\n typeAnnotation: TSType;\n}\n\nexport interface TSTypeOperator extends BaseNode {\n type: \"TSTypeOperator\";\n typeAnnotation: TSType;\n operator: string;\n}\n\nexport interface TSIndexedAccessType extends BaseNode {\n type: \"TSIndexedAccessType\";\n objectType: TSType;\n indexType: TSType;\n}\n\nexport interface TSMappedType extends BaseNode {\n type: \"TSMappedType\";\n typeParameter: TSTypeParameter;\n typeAnnotation?: TSType | null;\n nameType?: TSType | null;\n optional?: true | false | \"+\" | \"-\" | null;\n readonly?: true | false | \"+\" | \"-\" | null;\n}\n\nexport interface TSLiteralType extends BaseNode {\n type: \"TSLiteralType\";\n literal:\n | NumericLiteral\n | StringLiteral\n | BooleanLiteral\n | BigIntLiteral\n | TemplateLiteral\n | UnaryExpression;\n}\n\nexport interface TSExpressionWithTypeArguments extends BaseNode {\n type: \"TSExpressionWithTypeArguments\";\n expression: TSEntityName;\n typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface TSInterfaceDeclaration extends BaseNode {\n type: \"TSInterfaceDeclaration\";\n id: Identifier;\n typeParameters?: TSTypeParameterDeclaration | null;\n extends?: Array<TSExpressionWithTypeArguments> | null;\n body: TSInterfaceBody;\n declare?: boolean | null;\n}\n\nexport interface TSInterfaceBody extends BaseNode {\n type: \"TSInterfaceBody\";\n body: Array<TSTypeElement>;\n}\n\nexport interface TSTypeAliasDeclaration extends BaseNode {\n type: \"TSTypeAliasDeclaration\";\n id: Identifier;\n typeParameters?: TSTypeParameterDeclaration | null;\n typeAnnotation: TSType;\n declare?: boolean | null;\n}\n\nexport interface TSInstantiationExpression extends BaseNode {\n type: \"TSInstantiationExpression\";\n expression: Expression;\n typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface TSAsExpression extends BaseNode {\n type: \"TSAsExpression\";\n expression: Expression;\n typeAnnotation: TSType;\n}\n\nexport interface TSTypeAssertion extends BaseNode {\n type: \"TSTypeAssertion\";\n typeAnnotation: TSType;\n expression: Expression;\n}\n\nexport interface TSEnumDeclaration extends BaseNode {\n type: \"TSEnumDeclaration\";\n id: Identifier;\n members: Array<TSEnumMember>;\n const?: boolean | null;\n declare?: boolean | null;\n initializer?: Expression | null;\n}\n\nexport interface TSEnumMember extends BaseNode {\n type: \"TSEnumMember\";\n id: Identifier | StringLiteral;\n initializer?: Expression | null;\n}\n\nexport interface TSModuleDeclaration extends BaseNode {\n type: \"TSModuleDeclaration\";\n id: Identifier | StringLiteral;\n body: TSModuleBlock | TSModuleDeclaration;\n declare?: boolean | null;\n global?: boolean | null;\n}\n\nexport interface TSModuleBlock extends BaseNode {\n type: \"TSModuleBlock\";\n body: Array<Statement>;\n}\n\nexport interface TSImportType extends BaseNode {\n type: \"TSImportType\";\n argument: StringLiteral;\n qualifier?: TSEntityName | null;\n typeParameters?: TSTypeParameterInstantiation | null;\n}\n\nexport interface TSImportEqualsDeclaration extends BaseNode {\n type: \"TSImportEqualsDeclaration\";\n id: Identifier;\n moduleReference: TSEntityName | TSExternalModuleReference;\n importKind?: \"type\" | \"value\" | null;\n isExport: boolean;\n}\n\nexport interface TSExternalModuleReference extends BaseNode {\n type: \"TSExternalModuleReference\";\n expression: StringLiteral;\n}\n\nexport interface TSNonNullExpression extends BaseNode {\n type: \"TSNonNullExpression\";\n expression: Expression;\n}\n\nexport interface TSExportAssignment extends BaseNode {\n type: \"TSExportAssignment\";\n expression: Expression;\n}\n\nexport interface TSNamespaceExportDeclaration extends BaseNode {\n type: \"TSNamespaceExportDeclaration\";\n id: Identifier;\n}\n\nexport interface TSTypeAnnotation extends BaseNode {\n type: \"TSTypeAnnotation\";\n typeAnnotation: TSType;\n}\n\nexport interface TSTypeParameterInstantiation extends BaseNode {\n type: \"TSTypeParameterInstantiation\";\n params: Array<TSType>;\n}\n\nexport interface TSTypeParameterDeclaration extends BaseNode {\n type: \"TSTypeParameterDeclaration\";\n params: Array<TSTypeParameter>;\n}\n\nexport interface TSTypeParameter extends BaseNode {\n type: \"TSTypeParameter\";\n constraint?: TSType | null;\n default?: TSType | null;\n name: string;\n in?: boolean | null;\n out?: boolean | null;\n}\n\nexport type Standardized =\n | ArrayExpression\n | AssignmentExpression\n | BinaryExpression\n | InterpreterDirective\n | Directive\n | DirectiveLiteral\n | BlockStatement\n | BreakStatement\n | CallExpression\n | CatchClause\n | ConditionalExpression\n | ContinueStatement\n | DebuggerStatement\n | DoWhileStatement\n | EmptyStatement\n | ExpressionStatement\n | File\n | ForInStatement\n | ForStatement\n | FunctionDeclaration\n | FunctionExpression\n | Identifier\n | IfStatement\n | LabeledStatement\n | StringLiteral\n | NumericLiteral\n | NullLiteral\n | BooleanLiteral\n | RegExpLiteral\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | Program\n | ObjectExpression\n | ObjectMethod\n | ObjectProperty\n | RestElement\n | ReturnStatement\n | SequenceExpression\n | ParenthesizedExpression\n | SwitchCase\n | SwitchStatement\n | ThisExpression\n | ThrowStatement\n | TryStatement\n | UnaryExpression\n | UpdateExpression\n | VariableDeclaration\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | AssignmentPattern\n | ArrayPattern\n | ArrowFunctionExpression\n | ClassBody\n | ClassExpression\n | ClassDeclaration\n | ExportAllDeclaration\n | ExportDefaultDeclaration\n | ExportNamedDeclaration\n | ExportSpecifier\n | ForOfStatement\n | ImportDeclaration\n | ImportDefaultSpecifier\n | ImportNamespaceSpecifier\n | ImportSpecifier\n | MetaProperty\n | ClassMethod\n | ObjectPattern\n | SpreadElement\n | Super\n | TaggedTemplateExpression\n | TemplateElement\n | TemplateLiteral\n | YieldExpression\n | AwaitExpression\n | Import\n | BigIntLiteral\n | ExportNamespaceSpecifier\n | OptionalMemberExpression\n | OptionalCallExpression\n | ClassProperty\n | ClassAccessorProperty\n | ClassPrivateProperty\n | ClassPrivateMethod\n | PrivateName\n | StaticBlock;\nexport type Expression =\n | ArrayExpression\n | AssignmentExpression\n | BinaryExpression\n | CallExpression\n | ConditionalExpression\n | FunctionExpression\n | Identifier\n | StringLiteral\n | NumericLiteral\n | NullLiteral\n | BooleanLiteral\n | RegExpLiteral\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectExpression\n | SequenceExpression\n | ParenthesizedExpression\n | ThisExpression\n | UnaryExpression\n | UpdateExpression\n | ArrowFunctionExpression\n | ClassExpression\n | MetaProperty\n | Super\n | TaggedTemplateExpression\n | TemplateLiteral\n | YieldExpression\n | AwaitExpression\n | Import\n | BigIntLiteral\n | OptionalMemberExpression\n | OptionalCallExpression\n | TypeCastExpression\n | JSXElement\n | JSXFragment\n | BindExpression\n | DoExpression\n | RecordExpression\n | TupleExpression\n | DecimalLiteral\n | ModuleExpression\n | TopicReference\n | PipelineTopicExpression\n | PipelineBareFunction\n | PipelinePrimaryTopicReference\n | TSInstantiationExpression\n | TSAsExpression\n | TSTypeAssertion\n | TSNonNullExpression;\nexport type Binary = BinaryExpression | LogicalExpression;\nexport type Scopable =\n | BlockStatement\n | CatchClause\n | DoWhileStatement\n | ForInStatement\n | ForStatement\n | FunctionDeclaration\n | FunctionExpression\n | Program\n | ObjectMethod\n | SwitchStatement\n | WhileStatement\n | ArrowFunctionExpression\n | ClassExpression\n | ClassDeclaration\n | ForOfStatement\n | ClassMethod\n | ClassPrivateMethod\n | StaticBlock\n | TSModuleBlock;\nexport type BlockParent =\n | BlockStatement\n | CatchClause\n | DoWhileStatement\n | ForInStatement\n | ForStatement\n | FunctionDeclaration\n | FunctionExpression\n | Program\n | ObjectMethod\n | SwitchStatement\n | WhileStatement\n | ArrowFunctionExpression\n | ForOfStatement\n | ClassMethod\n | ClassPrivateMethod\n | StaticBlock\n | TSModuleBlock;\nexport type Block = BlockStatement | Program | TSModuleBlock;\nexport type Statement =\n | BlockStatement\n | BreakStatement\n | ContinueStatement\n | DebuggerStatement\n | DoWhileStatement\n | EmptyStatement\n | ExpressionStatement\n | ForInStatement\n | ForStatement\n | FunctionDeclaration\n | IfStatement\n | LabeledStatement\n | ReturnStatement\n | SwitchStatement\n | ThrowStatement\n | TryStatement\n | VariableDeclaration\n | WhileStatement\n | WithStatement\n | ClassDeclaration\n | ExportAllDeclaration\n | ExportDefaultDeclaration\n | ExportNamedDeclaration\n | ForOfStatement\n | ImportDeclaration\n | DeclareClass\n | DeclareFunction\n | DeclareInterface\n | DeclareModule\n | DeclareModuleExports\n | DeclareTypeAlias\n | DeclareOpaqueType\n | DeclareVariable\n | DeclareExportDeclaration\n | DeclareExportAllDeclaration\n | InterfaceDeclaration\n | OpaqueType\n | TypeAlias\n | EnumDeclaration\n | TSDeclareFunction\n | TSInterfaceDeclaration\n | TSTypeAliasDeclaration\n | TSEnumDeclaration\n | TSModuleDeclaration\n | TSImportEqualsDeclaration\n | TSExportAssignment\n | TSNamespaceExportDeclaration;\nexport type Terminatorless =\n | BreakStatement\n | ContinueStatement\n | ReturnStatement\n | ThrowStatement\n | YieldExpression\n | AwaitExpression;\nexport type CompletionStatement =\n | BreakStatement\n | ContinueStatement\n | ReturnStatement\n | ThrowStatement;\nexport type Conditional = ConditionalExpression | IfStatement;\nexport type Loop =\n | DoWhileStatement\n | ForInStatement\n | ForStatement\n | WhileStatement\n | ForOfStatement;\nexport type While = DoWhileStatement | WhileStatement;\nexport type ExpressionWrapper =\n | ExpressionStatement\n | ParenthesizedExpression\n | TypeCastExpression;\nexport type For = ForInStatement | ForStatement | ForOfStatement;\nexport type ForXStatement = ForInStatement | ForOfStatement;\nexport type Function =\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | ArrowFunctionExpression\n | ClassMethod\n | ClassPrivateMethod;\nexport type FunctionParent =\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | ArrowFunctionExpression\n | ClassMethod\n | ClassPrivateMethod\n | StaticBlock;\nexport type Pureish =\n | FunctionDeclaration\n | FunctionExpression\n | StringLiteral\n | NumericLiteral\n | NullLiteral\n | BooleanLiteral\n | RegExpLiteral\n | ArrowFunctionExpression\n | BigIntLiteral\n | DecimalLiteral;\nexport type Declaration =\n | FunctionDeclaration\n | VariableDeclaration\n | ClassDeclaration\n | ExportAllDeclaration\n | ExportDefaultDeclaration\n | ExportNamedDeclaration\n | ImportDeclaration\n | DeclareClass\n | DeclareFunction\n | DeclareInterface\n | DeclareModule\n | DeclareModuleExports\n | DeclareTypeAlias\n | DeclareOpaqueType\n | DeclareVariable\n | DeclareExportDeclaration\n | DeclareExportAllDeclaration\n | InterfaceDeclaration\n | OpaqueType\n | TypeAlias\n | EnumDeclaration\n | TSDeclareFunction\n | TSInterfaceDeclaration\n | TSTypeAliasDeclaration\n | TSEnumDeclaration\n | TSModuleDeclaration;\nexport type PatternLike =\n | Identifier\n | RestElement\n | AssignmentPattern\n | ArrayPattern\n | ObjectPattern\n | TSAsExpression\n | TSTypeAssertion\n | TSNonNullExpression;\nexport type LVal =\n | Identifier\n | MemberExpression\n | RestElement\n | AssignmentPattern\n | ArrayPattern\n | ObjectPattern\n | TSParameterProperty\n | TSAsExpression\n | TSTypeAssertion\n | TSNonNullExpression;\nexport type TSEntityName = Identifier | TSQualifiedName;\nexport type Literal =\n | StringLiteral\n | NumericLiteral\n | NullLiteral\n | BooleanLiteral\n | RegExpLiteral\n | TemplateLiteral\n | BigIntLiteral\n | DecimalLiteral;\nexport type Immutable =\n | StringLiteral\n | NumericLiteral\n | NullLiteral\n | BooleanLiteral\n | BigIntLiteral\n | JSXAttribute\n | JSXClosingElement\n | JSXElement\n | JSXExpressionContainer\n | JSXSpreadChild\n | JSXOpeningElement\n | JSXText\n | JSXFragment\n | JSXOpeningFragment\n | JSXClosingFragment\n | DecimalLiteral;\nexport type UserWhitespacable =\n | ObjectMethod\n | ObjectProperty\n | ObjectTypeInternalSlot\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty;\nexport type Method = ObjectMethod | ClassMethod | ClassPrivateMethod;\nexport type ObjectMember = ObjectMethod | ObjectProperty;\nexport type Property =\n | ObjectProperty\n | ClassProperty\n | ClassAccessorProperty\n | ClassPrivateProperty;\nexport type UnaryLike = UnaryExpression | SpreadElement;\nexport type Pattern = AssignmentPattern | ArrayPattern | ObjectPattern;\nexport type Class = ClassExpression | ClassDeclaration;\nexport type ModuleDeclaration =\n | ExportAllDeclaration\n | ExportDefaultDeclaration\n | ExportNamedDeclaration\n | ImportDeclaration;\nexport type ExportDeclaration =\n | ExportAllDeclaration\n | ExportDefaultDeclaration\n | ExportNamedDeclaration;\nexport type ModuleSpecifier =\n | ExportSpecifier\n | ImportDefaultSpecifier\n | ImportNamespaceSpecifier\n | ImportSpecifier\n | ExportNamespaceSpecifier\n | ExportDefaultSpecifier;\nexport type Accessor = ClassAccessorProperty;\nexport type Private = ClassPrivateProperty | ClassPrivateMethod | PrivateName;\nexport type Flow =\n | AnyTypeAnnotation\n | ArrayTypeAnnotation\n | BooleanTypeAnnotation\n | BooleanLiteralTypeAnnotation\n | NullLiteralTypeAnnotation\n | ClassImplements\n | DeclareClass\n | DeclareFunction\n | DeclareInterface\n | DeclareModule\n | DeclareModuleExports\n | DeclareTypeAlias\n | DeclareOpaqueType\n | DeclareVariable\n | DeclareExportDeclaration\n | DeclareExportAllDeclaration\n | DeclaredPredicate\n | ExistsTypeAnnotation\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | GenericTypeAnnotation\n | InferredPredicate\n | InterfaceExtends\n | InterfaceDeclaration\n | InterfaceTypeAnnotation\n | IntersectionTypeAnnotation\n | MixedTypeAnnotation\n | EmptyTypeAnnotation\n | NullableTypeAnnotation\n | NumberLiteralTypeAnnotation\n | NumberTypeAnnotation\n | ObjectTypeAnnotation\n | ObjectTypeInternalSlot\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | QualifiedTypeIdentifier\n | StringLiteralTypeAnnotation\n | StringTypeAnnotation\n | SymbolTypeAnnotation\n | ThisTypeAnnotation\n | TupleTypeAnnotation\n | TypeofTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeCastExpression\n | TypeParameter\n | TypeParameterDeclaration\n | TypeParameterInstantiation\n | UnionTypeAnnotation\n | Variance\n | VoidTypeAnnotation\n | EnumDeclaration\n | EnumBooleanBody\n | EnumNumberBody\n | EnumStringBody\n | EnumSymbolBody\n | EnumBooleanMember\n | EnumNumberMember\n | EnumStringMember\n | EnumDefaultedMember\n | IndexedAccessType\n | OptionalIndexedAccessType;\nexport type FlowType =\n | AnyTypeAnnotation\n | ArrayTypeAnnotation\n | BooleanTypeAnnotation\n | BooleanLiteralTypeAnnotation\n | NullLiteralTypeAnnotation\n | ExistsTypeAnnotation\n | FunctionTypeAnnotation\n | GenericTypeAnnotation\n | InterfaceTypeAnnotation\n | IntersectionTypeAnnotation\n | MixedTypeAnnotation\n | EmptyTypeAnnotation\n | NullableTypeAnnotation\n | NumberLiteralTypeAnnotation\n | NumberTypeAnnotation\n | ObjectTypeAnnotation\n | StringLiteralTypeAnnotation\n | StringTypeAnnotation\n | SymbolTypeAnnotation\n | ThisTypeAnnotation\n | TupleTypeAnnotation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation\n | VoidTypeAnnotation\n | IndexedAccessType\n | OptionalIndexedAccessType;\nexport type FlowBaseAnnotation =\n | AnyTypeAnnotation\n | BooleanTypeAnnotation\n | NullLiteralTypeAnnotation\n | MixedTypeAnnotation\n | EmptyTypeAnnotation\n | NumberTypeAnnotation\n | StringTypeAnnotation\n | SymbolTypeAnnotation\n | ThisTypeAnnotation\n | VoidTypeAnnotation;\nexport type FlowDeclaration =\n | DeclareClass\n | DeclareFunction\n | DeclareInterface\n | DeclareModule\n | DeclareModuleExports\n | DeclareTypeAlias\n | DeclareOpaqueType\n | DeclareVariable\n | DeclareExportDeclaration\n | DeclareExportAllDeclaration\n | InterfaceDeclaration\n | OpaqueType\n | TypeAlias;\nexport type FlowPredicate = DeclaredPredicate | InferredPredicate;\nexport type EnumBody =\n | EnumBooleanBody\n | EnumNumberBody\n | EnumStringBody\n | EnumSymbolBody;\nexport type EnumMember =\n | EnumBooleanMember\n | EnumNumberMember\n | EnumStringMember\n | EnumDefaultedMember;\nexport type JSX =\n | JSXAttribute\n | JSXClosingElement\n | JSXElement\n | JSXEmptyExpression\n | JSXExpressionContainer\n | JSXSpreadChild\n | JSXIdentifier\n | JSXMemberExpression\n | JSXNamespacedName\n | JSXOpeningElement\n | JSXSpreadAttribute\n | JSXText\n | JSXFragment\n | JSXOpeningFragment\n | JSXClosingFragment;\nexport type Miscellaneous = Noop | Placeholder | V8IntrinsicIdentifier;\nexport type TypeScript =\n | TSParameterProperty\n | TSDeclareFunction\n | TSDeclareMethod\n | TSQualifiedName\n | TSCallSignatureDeclaration\n | TSConstructSignatureDeclaration\n | TSPropertySignature\n | TSMethodSignature\n | TSIndexSignature\n | TSAnyKeyword\n | TSBooleanKeyword\n | TSBigIntKeyword\n | TSIntrinsicKeyword\n | TSNeverKeyword\n | TSNullKeyword\n | TSNumberKeyword\n | TSObjectKeyword\n | TSStringKeyword\n | TSSymbolKeyword\n | TSUndefinedKeyword\n | TSUnknownKeyword\n | TSVoidKeyword\n | TSThisType\n | TSFunctionType\n | TSConstructorType\n | TSTypeReference\n | TSTypePredicate\n | TSTypeQuery\n | TSTypeLiteral\n | TSArrayType\n | TSTupleType\n | TSOptionalType\n | TSRestType\n | TSNamedTupleMember\n | TSUnionType\n | TSIntersectionType\n | TSConditionalType\n | TSInferType\n | TSParenthesizedType\n | TSTypeOperator\n | TSIndexedAccessType\n | TSMappedType\n | TSLiteralType\n | TSExpressionWithTypeArguments\n | TSInterfaceDeclaration\n | TSInterfaceBody\n | TSTypeAliasDeclaration\n | TSInstantiationExpression\n | TSAsExpression\n | TSTypeAssertion\n | TSEnumDeclaration\n | TSEnumMember\n | TSModuleDeclaration\n | TSModuleBlock\n | TSImportType\n | TSImportEqualsDeclaration\n | TSExternalModuleReference\n | TSNonNullExpression\n | TSExportAssignment\n | TSNamespaceExportDeclaration\n | TSTypeAnnotation\n | TSTypeParameterInstantiation\n | TSTypeParameterDeclaration\n | TSTypeParameter;\nexport type TSTypeElement =\n | TSCallSignatureDeclaration\n | TSConstructSignatureDeclaration\n | TSPropertySignature\n | TSMethodSignature\n | TSIndexSignature;\nexport type TSType =\n | TSAnyKeyword\n | TSBooleanKeyword\n | TSBigIntKeyword\n | TSIntrinsicKeyword\n | TSNeverKeyword\n | TSNullKeyword\n | TSNumberKeyword\n | TSObjectKeyword\n | TSStringKeyword\n | TSSymbolKeyword\n | TSUndefinedKeyword\n | TSUnknownKeyword\n | TSVoidKeyword\n | TSThisType\n | TSFunctionType\n | TSConstructorType\n | TSTypeReference\n | TSTypePredicate\n | TSTypeQuery\n | TSTypeLiteral\n | TSArrayType\n | TSTupleType\n | TSOptionalType\n | TSRestType\n | TSUnionType\n | TSIntersectionType\n | TSConditionalType\n | TSInferType\n | TSParenthesizedType\n | TSTypeOperator\n | TSIndexedAccessType\n | TSMappedType\n | TSLiteralType\n | TSExpressionWithTypeArguments\n | TSImportType;\nexport type TSBaseType =\n | TSAnyKeyword\n | TSBooleanKeyword\n | TSBigIntKeyword\n | TSIntrinsicKeyword\n | TSNeverKeyword\n | TSNullKeyword\n | TSNumberKeyword\n | TSObjectKeyword\n | TSStringKeyword\n | TSSymbolKeyword\n | TSUndefinedKeyword\n | TSUnknownKeyword\n | TSVoidKeyword\n | TSThisType\n | TSLiteralType;\n\nexport interface Aliases {\n Standardized: Standardized;\n Expression: Expression;\n Binary: Binary;\n Scopable: Scopable;\n BlockParent: BlockParent;\n Block: Block;\n Statement: Statement;\n Terminatorless: Terminatorless;\n CompletionStatement: CompletionStatement;\n Conditional: Conditional;\n Loop: Loop;\n While: While;\n ExpressionWrapper: ExpressionWrapper;\n For: For;\n ForXStatement: ForXStatement;\n Function: Function;\n FunctionParent: FunctionParent;\n Pureish: Pureish;\n Declaration: Declaration;\n PatternLike: PatternLike;\n LVal: LVal;\n TSEntityName: TSEntityName;\n Literal: Literal;\n Immutable: Immutable;\n UserWhitespacable: UserWhitespacable;\n Method: Method;\n ObjectMember: ObjectMember;\n Property: Property;\n UnaryLike: UnaryLike;\n Pattern: Pattern;\n Class: Class;\n ModuleDeclaration: ModuleDeclaration;\n ExportDeclaration: ExportDeclaration;\n ModuleSpecifier: ModuleSpecifier;\n Accessor: Accessor;\n Private: Private;\n Flow: Flow;\n FlowType: FlowType;\n FlowBaseAnnotation: FlowBaseAnnotation;\n FlowDeclaration: FlowDeclaration;\n FlowPredicate: FlowPredicate;\n EnumBody: EnumBody;\n EnumMember: EnumMember;\n JSX: JSX;\n Miscellaneous: Miscellaneous;\n TypeScript: TypeScript;\n TSTypeElement: TSTypeElement;\n TSType: TSType;\n TSBaseType: TSBaseType;\n}\n\nexport type DeprecatedAliases =\n | NumberLiteral\n | RegexLiteral\n | RestProperty\n | SpreadProperty;\n\nexport interface ParentMaps {\n AnyTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n ArgumentPlaceholder: CallExpression | NewExpression | OptionalCallExpression;\n ArrayExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n ArrayPattern:\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | CatchClause\n | ClassMethod\n | ClassPrivateMethod\n | ForInStatement\n | ForOfStatement\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | ObjectProperty\n | RestElement\n | TSDeclareFunction\n | TSDeclareMethod\n | VariableDeclarator;\n ArrayTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n ArrowFunctionExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n AssignmentExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n AssignmentPattern:\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentExpression\n | ClassMethod\n | ClassPrivateMethod\n | ForInStatement\n | ForOfStatement\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | ObjectProperty\n | RestElement\n | TSDeclareFunction\n | TSDeclareMethod\n | TSParameterProperty\n | VariableDeclarator;\n AwaitExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n BigIntLiteral:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSLiteralType\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n BinaryExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n BindExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n BlockStatement:\n | ArrowFunctionExpression\n | BlockStatement\n | CatchClause\n | ClassMethod\n | ClassPrivateMethod\n | DeclareModule\n | DoExpression\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | FunctionDeclaration\n | FunctionExpression\n | IfStatement\n | LabeledStatement\n | ObjectMethod\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | TryStatement\n | WhileStatement\n | WithStatement;\n BooleanLiteral:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | EnumBooleanMember\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSLiteralType\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n BooleanLiteralTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n BooleanTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n BreakStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n CallExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n CatchClause: TryStatement;\n ClassAccessorProperty: ClassBody;\n ClassBody: ClassDeclaration | ClassExpression;\n ClassDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n ClassExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n ClassImplements:\n | ClassDeclaration\n | ClassExpression\n | DeclareClass\n | DeclareExportDeclaration\n | DeclareInterface\n | DeclaredPredicate\n | InterfaceDeclaration;\n ClassMethod: ClassBody;\n ClassPrivateMethod: ClassBody;\n ClassPrivateProperty: ClassBody;\n ClassProperty: ClassBody;\n CommentBlock: File;\n CommentLine: File;\n ConditionalExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n ContinueStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DebuggerStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DecimalLiteral:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n DeclareClass:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclareExportAllDeclaration:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclareExportDeclaration:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclareFunction:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclareInterface:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclareModule:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclareModuleExports:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclareOpaqueType:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclareTypeAlias:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclareVariable:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n DeclaredPredicate:\n | ArrowFunctionExpression\n | DeclareExportDeclaration\n | DeclareFunction\n | DeclaredPredicate\n | FunctionDeclaration\n | FunctionExpression;\n Decorator:\n | ArrayPattern\n | AssignmentPattern\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateMethod\n | ClassPrivateProperty\n | ClassProperty\n | Identifier\n | ObjectMethod\n | ObjectPattern\n | ObjectProperty\n | RestElement\n | TSDeclareMethod\n | TSParameterProperty;\n Directive: BlockStatement | Program;\n DirectiveLiteral: Directive;\n DoExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n DoWhileStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n EmptyStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n EmptyTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n EnumBooleanBody:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | EnumDeclaration;\n EnumBooleanMember:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | EnumBooleanBody;\n EnumDeclaration:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n EnumDefaultedMember:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | EnumStringBody\n | EnumSymbolBody;\n EnumNumberBody:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | EnumDeclaration;\n EnumNumberMember:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | EnumNumberBody;\n EnumStringBody:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | EnumDeclaration;\n EnumStringMember:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | EnumStringBody;\n EnumSymbolBody:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | EnumDeclaration;\n ExistsTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n ExportAllDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n ExportDefaultDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n ExportDefaultSpecifier: ExportNamedDeclaration;\n ExportNamedDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n ExportNamespaceSpecifier: DeclareExportDeclaration | ExportNamedDeclaration;\n ExportSpecifier: DeclareExportDeclaration | ExportNamedDeclaration;\n ExpressionStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n File: null;\n ForInStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n ForOfStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n ForStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n FunctionDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n FunctionExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n FunctionTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n FunctionTypeParam:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | FunctionTypeAnnotation;\n GenericTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n Identifier:\n | ArrayExpression\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | BreakStatement\n | CallExpression\n | CatchClause\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassImplements\n | ClassMethod\n | ClassPrivateMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | ContinueStatement\n | DeclareClass\n | DeclareFunction\n | DeclareInterface\n | DeclareModule\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclareVariable\n | Decorator\n | DoWhileStatement\n | EnumBooleanMember\n | EnumDeclaration\n | EnumDefaultedMember\n | EnumNumberMember\n | EnumStringMember\n | ExportDefaultDeclaration\n | ExportDefaultSpecifier\n | ExportNamespaceSpecifier\n | ExportSpecifier\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | FunctionDeclaration\n | FunctionExpression\n | FunctionTypeParam\n | GenericTypeAnnotation\n | IfStatement\n | ImportAttribute\n | ImportDefaultSpecifier\n | ImportNamespaceSpecifier\n | ImportSpecifier\n | InterfaceDeclaration\n | InterfaceExtends\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LabeledStatement\n | LogicalExpression\n | MemberExpression\n | MetaProperty\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | OpaqueType\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | Placeholder\n | PrivateName\n | QualifiedTypeIdentifier\n | RestElement\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSCallSignatureDeclaration\n | TSConstructSignatureDeclaration\n | TSConstructorType\n | TSDeclareFunction\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSExpressionWithTypeArguments\n | TSFunctionType\n | TSImportEqualsDeclaration\n | TSImportType\n | TSIndexSignature\n | TSInstantiationExpression\n | TSInterfaceDeclaration\n | TSMethodSignature\n | TSModuleDeclaration\n | TSNamedTupleMember\n | TSNamespaceExportDeclaration\n | TSNonNullExpression\n | TSParameterProperty\n | TSPropertySignature\n | TSQualifiedName\n | TSTypeAliasDeclaration\n | TSTypeAssertion\n | TSTypePredicate\n | TSTypeQuery\n | TSTypeReference\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeAlias\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n IfStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n Import:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n ImportAttribute:\n | ExportAllDeclaration\n | ExportNamedDeclaration\n | ImportDeclaration;\n ImportDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n ImportDefaultSpecifier: ImportDeclaration;\n ImportNamespaceSpecifier: ImportDeclaration;\n ImportSpecifier: ImportDeclaration;\n IndexedAccessType:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n InferredPredicate:\n | ArrowFunctionExpression\n | DeclareExportDeclaration\n | DeclaredPredicate\n | FunctionDeclaration\n | FunctionExpression;\n InterfaceDeclaration:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n InterfaceExtends:\n | ClassDeclaration\n | ClassExpression\n | DeclareClass\n | DeclareExportDeclaration\n | DeclareInterface\n | DeclaredPredicate\n | InterfaceDeclaration\n | InterfaceTypeAnnotation;\n InterfaceTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n InterpreterDirective: Program;\n IntersectionTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n JSXAttribute: JSXOpeningElement;\n JSXClosingElement: JSXElement;\n JSXClosingFragment: JSXFragment;\n JSXElement:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXAttribute\n | JSXElement\n | JSXExpressionContainer\n | JSXFragment\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n JSXEmptyExpression: JSXExpressionContainer;\n JSXExpressionContainer: JSXAttribute | JSXElement | JSXFragment;\n JSXFragment:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXAttribute\n | JSXElement\n | JSXExpressionContainer\n | JSXFragment\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n JSXIdentifier:\n | JSXAttribute\n | JSXClosingElement\n | JSXMemberExpression\n | JSXNamespacedName\n | JSXOpeningElement;\n JSXMemberExpression:\n | JSXClosingElement\n | JSXMemberExpression\n | JSXOpeningElement;\n JSXNamespacedName:\n | CallExpression\n | JSXAttribute\n | JSXClosingElement\n | JSXOpeningElement\n | NewExpression\n | OptionalCallExpression;\n JSXOpeningElement: JSXElement;\n JSXOpeningFragment: JSXFragment;\n JSXSpreadAttribute: JSXOpeningElement;\n JSXSpreadChild: JSXElement | JSXFragment;\n JSXText: JSXElement | JSXFragment;\n LabeledStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n LogicalExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n MemberExpression:\n | ArrayExpression\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | RestElement\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n MetaProperty:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n MixedTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n ModuleExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n NewExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n Noop:\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentPattern\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateMethod\n | ClassPrivateProperty\n | ClassProperty\n | FunctionDeclaration\n | FunctionExpression\n | Identifier\n | ObjectMethod\n | ObjectPattern\n | RestElement\n | TSDeclareFunction\n | TSDeclareMethod;\n NullLiteral:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n NullLiteralTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n NullableTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n NumberLiteral: null;\n NumberLiteralTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n NumberTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n NumericLiteral:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | EnumNumberMember\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSLiteralType\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n ObjectExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n ObjectMethod: ObjectExpression;\n ObjectPattern:\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | CatchClause\n | ClassMethod\n | ClassPrivateMethod\n | ForInStatement\n | ForOfStatement\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | ObjectProperty\n | RestElement\n | TSDeclareFunction\n | TSDeclareMethod\n | VariableDeclarator;\n ObjectProperty: ObjectExpression | ObjectPattern | RecordExpression;\n ObjectTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareClass\n | DeclareExportDeclaration\n | DeclareInterface\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | InterfaceDeclaration\n | InterfaceTypeAnnotation\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n ObjectTypeCallProperty:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | ObjectTypeAnnotation;\n ObjectTypeIndexer:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | ObjectTypeAnnotation;\n ObjectTypeInternalSlot:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | ObjectTypeAnnotation;\n ObjectTypeProperty:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | ObjectTypeAnnotation;\n ObjectTypeSpreadProperty:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | ObjectTypeAnnotation;\n OpaqueType:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n OptionalCallExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n OptionalIndexedAccessType:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n OptionalMemberExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n ParenthesizedExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n PipelineBareFunction:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n PipelinePrimaryTopicReference:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n PipelineTopicExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n Placeholder: Node;\n PrivateName:\n | BinaryExpression\n | ClassAccessorProperty\n | ClassPrivateMethod\n | ClassPrivateProperty\n | MemberExpression\n | ObjectProperty;\n Program: File | ModuleExpression;\n QualifiedTypeIdentifier:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | GenericTypeAnnotation\n | InterfaceExtends\n | QualifiedTypeIdentifier;\n RecordExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n RegExpLiteral:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n RegexLiteral: null;\n RestElement:\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentExpression\n | ClassMethod\n | ClassPrivateMethod\n | ForInStatement\n | ForOfStatement\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | ObjectPattern\n | ObjectProperty\n | RestElement\n | TSCallSignatureDeclaration\n | TSConstructSignatureDeclaration\n | TSConstructorType\n | TSDeclareFunction\n | TSDeclareMethod\n | TSFunctionType\n | TSMethodSignature\n | VariableDeclarator;\n RestProperty: null;\n ReturnStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n SequenceExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n SpreadElement:\n | ArrayExpression\n | CallExpression\n | NewExpression\n | ObjectExpression\n | OptionalCallExpression\n | RecordExpression\n | TupleExpression;\n SpreadProperty: null;\n StaticBlock: ClassBody;\n StringLiteral:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | DeclareExportAllDeclaration\n | DeclareExportDeclaration\n | DeclareModule\n | Decorator\n | DoWhileStatement\n | EnumStringMember\n | ExportAllDeclaration\n | ExportDefaultDeclaration\n | ExportNamedDeclaration\n | ExportSpecifier\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | ImportAttribute\n | ImportDeclaration\n | ImportSpecifier\n | JSXAttribute\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | ObjectTypeProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSExternalModuleReference\n | TSImportType\n | TSInstantiationExpression\n | TSLiteralType\n | TSMethodSignature\n | TSModuleDeclaration\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n StringLiteralTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n StringTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n Super:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n SwitchCase: SwitchStatement;\n SwitchStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n SymbolTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n TSAnyKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSArrayType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSAsExpression:\n | ArrayExpression\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | RestElement\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n TSBigIntKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSBooleanKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSCallSignatureDeclaration: TSInterfaceBody | TSTypeLiteral;\n TSConditionalType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSConstructSignatureDeclaration: TSInterfaceBody | TSTypeLiteral;\n TSConstructorType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSDeclareFunction:\n | BlockStatement\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TSDeclareMethod: ClassBody;\n TSEnumDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TSEnumMember: TSEnumDeclaration;\n TSExportAssignment:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TSExpressionWithTypeArguments:\n | ClassDeclaration\n | ClassExpression\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSInterfaceDeclaration\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSExternalModuleReference: TSImportEqualsDeclaration;\n TSFunctionType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSImportEqualsDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TSImportType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSTypeQuery\n | TSUnionType\n | TemplateLiteral;\n TSIndexSignature: ClassBody | TSInterfaceBody | TSTypeLiteral;\n TSIndexedAccessType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSInferType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSInstantiationExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n TSInterfaceBody: TSInterfaceDeclaration;\n TSInterfaceDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TSIntersectionType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSIntrinsicKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSLiteralType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSMappedType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSMethodSignature: TSInterfaceBody | TSTypeLiteral;\n TSModuleBlock: TSModuleDeclaration;\n TSModuleDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | TSModuleDeclaration\n | WhileStatement\n | WithStatement;\n TSNamedTupleMember: TSTupleType;\n TSNamespaceExportDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TSNeverKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSNonNullExpression:\n | ArrayExpression\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | RestElement\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n TSNullKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSNumberKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSObjectKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSOptionalType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSParameterProperty:\n | ArrayPattern\n | AssignmentExpression\n | ClassMethod\n | ClassPrivateMethod\n | ForInStatement\n | ForOfStatement\n | RestElement\n | TSDeclareMethod\n | VariableDeclarator;\n TSParenthesizedType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSPropertySignature: TSInterfaceBody | TSTypeLiteral;\n TSQualifiedName:\n | TSExpressionWithTypeArguments\n | TSImportEqualsDeclaration\n | TSImportType\n | TSQualifiedName\n | TSTypeQuery\n | TSTypeReference;\n TSRestType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSStringKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSSymbolKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSThisType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSTypePredicate\n | TSUnionType\n | TemplateLiteral;\n TSTupleType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSTypeAliasDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TSTypeAnnotation:\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentPattern\n | ClassAccessorProperty\n | ClassMethod\n | ClassPrivateMethod\n | ClassPrivateProperty\n | ClassProperty\n | FunctionDeclaration\n | FunctionExpression\n | Identifier\n | ObjectMethod\n | ObjectPattern\n | RestElement\n | TSCallSignatureDeclaration\n | TSConstructSignatureDeclaration\n | TSConstructorType\n | TSDeclareFunction\n | TSDeclareMethod\n | TSFunctionType\n | TSIndexSignature\n | TSMethodSignature\n | TSPropertySignature\n | TSTypePredicate;\n TSTypeAssertion:\n | ArrayExpression\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | RestElement\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n TSTypeLiteral:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSTypeOperator:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSTypeParameter: TSInferType | TSMappedType | TSTypeParameterDeclaration;\n TSTypeParameterDeclaration:\n | ArrowFunctionExpression\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateMethod\n | FunctionDeclaration\n | FunctionExpression\n | ObjectMethod\n | TSCallSignatureDeclaration\n | TSConstructSignatureDeclaration\n | TSConstructorType\n | TSDeclareFunction\n | TSDeclareMethod\n | TSFunctionType\n | TSInterfaceDeclaration\n | TSMethodSignature\n | TSTypeAliasDeclaration;\n TSTypeParameterInstantiation:\n | CallExpression\n | ClassDeclaration\n | ClassExpression\n | JSXOpeningElement\n | NewExpression\n | OptionalCallExpression\n | TSExpressionWithTypeArguments\n | TSImportType\n | TSInstantiationExpression\n | TSTypeQuery\n | TSTypeReference\n | TaggedTemplateExpression;\n TSTypePredicate:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSTypeQuery:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSTypeReference:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSUndefinedKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSUnionType:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSUnknownKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TSVoidKeyword:\n | TSArrayType\n | TSAsExpression\n | TSConditionalType\n | TSIndexedAccessType\n | TSIntersectionType\n | TSMappedType\n | TSNamedTupleMember\n | TSOptionalType\n | TSParenthesizedType\n | TSRestType\n | TSTupleType\n | TSTypeAliasDeclaration\n | TSTypeAnnotation\n | TSTypeAssertion\n | TSTypeOperator\n | TSTypeParameter\n | TSTypeParameterInstantiation\n | TSUnionType\n | TemplateLiteral;\n TaggedTemplateExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n TemplateElement: TemplateLiteral;\n TemplateLiteral:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSLiteralType\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n ThisExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n ThisTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n ThrowStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TopicReference:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n TryStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TupleExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n TupleTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n TypeAlias:\n | BlockStatement\n | DeclareExportDeclaration\n | DeclaredPredicate\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n TypeAnnotation:\n | ArrayPattern\n | ArrowFunctionExpression\n | AssignmentPattern\n | ClassAccessorProperty\n | ClassMethod\n | ClassPrivateMethod\n | ClassPrivateProperty\n | ClassProperty\n | DeclareExportDeclaration\n | DeclareModuleExports\n | DeclaredPredicate\n | FunctionDeclaration\n | FunctionExpression\n | Identifier\n | ObjectMethod\n | ObjectPattern\n | RestElement\n | TypeCastExpression\n | TypeParameter;\n TypeCastExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | DeclareExportDeclaration\n | DeclaredPredicate\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n TypeParameter:\n | DeclareExportDeclaration\n | DeclaredPredicate\n | TypeParameterDeclaration;\n TypeParameterDeclaration:\n | ArrowFunctionExpression\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateMethod\n | DeclareClass\n | DeclareExportDeclaration\n | DeclareInterface\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionDeclaration\n | FunctionExpression\n | FunctionTypeAnnotation\n | InterfaceDeclaration\n | ObjectMethod\n | OpaqueType\n | TypeAlias;\n TypeParameterInstantiation:\n | CallExpression\n | ClassDeclaration\n | ClassExpression\n | ClassImplements\n | DeclareExportDeclaration\n | DeclaredPredicate\n | GenericTypeAnnotation\n | InterfaceExtends\n | JSXOpeningElement\n | NewExpression\n | OptionalCallExpression\n | TaggedTemplateExpression;\n TypeofTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n UnaryExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSLiteralType\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n UnionTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n UpdateExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n V8IntrinsicIdentifier: CallExpression | NewExpression;\n VariableDeclaration:\n | BlockStatement\n | DoWhileStatement\n | ExportNamedDeclaration\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n VariableDeclarator: VariableDeclaration;\n Variance:\n | ClassAccessorProperty\n | ClassPrivateProperty\n | ClassProperty\n | DeclareExportDeclaration\n | DeclaredPredicate\n | ObjectTypeIndexer\n | ObjectTypeProperty\n | TypeParameter;\n VoidTypeAnnotation:\n | ArrayTypeAnnotation\n | DeclareExportDeclaration\n | DeclareOpaqueType\n | DeclareTypeAlias\n | DeclaredPredicate\n | FunctionTypeAnnotation\n | FunctionTypeParam\n | IndexedAccessType\n | IntersectionTypeAnnotation\n | NullableTypeAnnotation\n | ObjectTypeCallProperty\n | ObjectTypeIndexer\n | ObjectTypeInternalSlot\n | ObjectTypeProperty\n | ObjectTypeSpreadProperty\n | OpaqueType\n | OptionalIndexedAccessType\n | TupleTypeAnnotation\n | TypeAlias\n | TypeAnnotation\n | TypeParameter\n | TypeParameterInstantiation\n | TypeofTypeAnnotation\n | UnionTypeAnnotation;\n WhileStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n WithStatement:\n | BlockStatement\n | DoWhileStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | LabeledStatement\n | Program\n | StaticBlock\n | SwitchCase\n | TSModuleBlock\n | WhileStatement\n | WithStatement;\n YieldExpression:\n | ArrayExpression\n | ArrowFunctionExpression\n | AssignmentExpression\n | AssignmentPattern\n | AwaitExpression\n | BinaryExpression\n | BindExpression\n | CallExpression\n | ClassAccessorProperty\n | ClassDeclaration\n | ClassExpression\n | ClassMethod\n | ClassPrivateProperty\n | ClassProperty\n | ConditionalExpression\n | Decorator\n | DoWhileStatement\n | ExportDefaultDeclaration\n | ExpressionStatement\n | ForInStatement\n | ForOfStatement\n | ForStatement\n | IfStatement\n | JSXExpressionContainer\n | JSXSpreadAttribute\n | JSXSpreadChild\n | LogicalExpression\n | MemberExpression\n | NewExpression\n | ObjectMethod\n | ObjectProperty\n | OptionalCallExpression\n | OptionalMemberExpression\n | ParenthesizedExpression\n | PipelineBareFunction\n | PipelineTopicExpression\n | ReturnStatement\n | SequenceExpression\n | SpreadElement\n | SwitchCase\n | SwitchStatement\n | TSAsExpression\n | TSDeclareMethod\n | TSEnumDeclaration\n | TSEnumMember\n | TSExportAssignment\n | TSInstantiationExpression\n | TSMethodSignature\n | TSNonNullExpression\n | TSPropertySignature\n | TSTypeAssertion\n | TaggedTemplateExpression\n | TemplateLiteral\n | ThrowStatement\n | TupleExpression\n | TypeCastExpression\n | UnaryExpression\n | UpdateExpression\n | VariableDeclarator\n | WhileStatement\n | WithStatement\n | YieldExpression;\n}\n"],"mappings":""} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js b/includes/search/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js
deleted file mode 100644
index bdab86a..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js
+++ /dev/null
@@ -1,22 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = createFlowUnionType;
-
-var _generated = require("../generated");
-
-var _removeTypeDuplicates = require("../../modifications/flow/removeTypeDuplicates");
-
-function createFlowUnionType(types) {
- const flattened = (0, _removeTypeDuplicates.default)(types);
-
- if (flattened.length === 1) {
- return flattened[0];
- } else {
- return (0, _generated.unionTypeAnnotation)(flattened);
- }
-}
-
-//# sourceMappingURL=createFlowUnionType.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map b/includes/search/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map
deleted file mode 100644
index 4434799..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["createFlowUnionType","types","flattened","removeTypeDuplicates","length","unionTypeAnnotation"],"sources":["../../../src/builders/flow/createFlowUnionType.ts"],"sourcesContent":["import { unionTypeAnnotation } from \"../generated\";\nimport removeTypeDuplicates from \"../../modifications/flow/removeTypeDuplicates\";\nimport type * as t from \"../..\";\n\n/**\n * Takes an array of `types` and flattens them, removing duplicates and\n * returns a `UnionTypeAnnotation` node containing them.\n */\nexport default function createFlowUnionType<T extends t.FlowType>(\n types: [T] | Array<T>,\n): T | t.UnionTypeAnnotation {\n const flattened = removeTypeDuplicates(types);\n\n if (flattened.length === 1) {\n return flattened[0] as T;\n } else {\n return unionTypeAnnotation(flattened);\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAOe,SAASA,mBAAT,CACbC,KADa,EAEc;EAC3B,MAAMC,SAAS,GAAG,IAAAC,6BAAA,EAAqBF,KAArB,CAAlB;;EAEA,IAAIC,SAAS,CAACE,MAAV,KAAqB,CAAzB,EAA4B;IAC1B,OAAOF,SAAS,CAAC,CAAD,CAAhB;EACD,CAFD,MAEO;IACL,OAAO,IAAAG,8BAAA,EAAoBH,SAApB,CAAP;EACD;AACF"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js b/includes/search/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js
deleted file mode 100644
index 1c3c98e..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js
+++ /dev/null
@@ -1,43 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = void 0;
-
-var _generated = require("../generated");
-
-var _default = createTypeAnnotationBasedOnTypeof;
-exports.default = _default;
-
-function createTypeAnnotationBasedOnTypeof(type) {
- switch (type) {
- case "string":
- return (0, _generated.stringTypeAnnotation)();
-
- case "number":
- return (0, _generated.numberTypeAnnotation)();
-
- case "undefined":
- return (0, _generated.voidTypeAnnotation)();
-
- case "boolean":
- return (0, _generated.booleanTypeAnnotation)();
-
- case "function":
- return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Function"));
-
- case "object":
- return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Object"));
-
- case "symbol":
- return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Symbol"));
-
- case "bigint":
- return (0, _generated.anyTypeAnnotation)();
- }
-
- throw new Error("Invalid typeof value: " + type);
-}
-
-//# sourceMappingURL=createTypeAnnotationBasedOnTypeof.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map b/includes/search/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map
deleted file mode 100644
index 7728a66..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["createTypeAnnotationBasedOnTypeof","type","stringTypeAnnotation","numberTypeAnnotation","voidTypeAnnotation","booleanTypeAnnotation","genericTypeAnnotation","identifier","anyTypeAnnotation","Error"],"sources":["../../../src/builders/flow/createTypeAnnotationBasedOnTypeof.ts"],"sourcesContent":["import {\n anyTypeAnnotation,\n stringTypeAnnotation,\n numberTypeAnnotation,\n voidTypeAnnotation,\n booleanTypeAnnotation,\n genericTypeAnnotation,\n identifier,\n} from \"../generated\";\nimport type * as t from \"../..\";\n\nexport default createTypeAnnotationBasedOnTypeof as {\n (type: \"string\"): t.StringTypeAnnotation;\n (type: \"number\"): t.NumberTypeAnnotation;\n (type: \"undefined\"): t.VoidTypeAnnotation;\n (type: \"boolean\"): t.BooleanTypeAnnotation;\n (type: \"function\"): t.GenericTypeAnnotation;\n (type: \"object\"): t.GenericTypeAnnotation;\n (type: \"symbol\"): t.GenericTypeAnnotation;\n (type: \"bigint\"): t.AnyTypeAnnotation;\n};\n\n/**\n * Create a type annotation based on typeof expression.\n */\nfunction createTypeAnnotationBasedOnTypeof(type: string): t.FlowType {\n switch (type) {\n case \"string\":\n return stringTypeAnnotation();\n case \"number\":\n return numberTypeAnnotation();\n case \"undefined\":\n return voidTypeAnnotation();\n case \"boolean\":\n return booleanTypeAnnotation();\n case \"function\":\n return genericTypeAnnotation(identifier(\"Function\"));\n case \"object\":\n return genericTypeAnnotation(identifier(\"Object\"));\n case \"symbol\":\n return genericTypeAnnotation(identifier(\"Symbol\"));\n case \"bigint\":\n // todo: use BigInt annotation when Flow supports BigInt\n // https://github.com/facebook/flow/issues/6639\n return anyTypeAnnotation();\n }\n throw new Error(\"Invalid typeof value: \" + type);\n}\n"],"mappings":";;;;;;;AAAA;;eAWeA,iC;;;AAcf,SAASA,iCAAT,CAA2CC,IAA3C,EAAqE;EACnE,QAAQA,IAAR;IACE,KAAK,QAAL;MACE,OAAO,IAAAC,+BAAA,GAAP;;IACF,KAAK,QAAL;MACE,OAAO,IAAAC,+BAAA,GAAP;;IACF,KAAK,WAAL;MACE,OAAO,IAAAC,6BAAA,GAAP;;IACF,KAAK,SAAL;MACE,OAAO,IAAAC,gCAAA,GAAP;;IACF,KAAK,UAAL;MACE,OAAO,IAAAC,gCAAA,EAAsB,IAAAC,qBAAA,EAAW,UAAX,CAAtB,CAAP;;IACF,KAAK,QAAL;MACE,OAAO,IAAAD,gCAAA,EAAsB,IAAAC,qBAAA,EAAW,QAAX,CAAtB,CAAP;;IACF,KAAK,QAAL;MACE,OAAO,IAAAD,gCAAA,EAAsB,IAAAC,qBAAA,EAAW,QAAX,CAAtB,CAAP;;IACF,KAAK,QAAL;MAGE,OAAO,IAAAC,4BAAA,GAAP;EAlBJ;;EAoBA,MAAM,IAAIC,KAAJ,CAAU,2BAA2BR,IAArC,CAAN;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/builders/generated/index.js b/includes/search/node_modules/@babel/types/lib/builders/generated/index.js
deleted file mode 100644
index c42f919..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/generated/index.js
+++ /dev/null
@@ -1,2229 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.anyTypeAnnotation = anyTypeAnnotation;
-exports.argumentPlaceholder = argumentPlaceholder;
-exports.arrayExpression = arrayExpression;
-exports.arrayPattern = arrayPattern;
-exports.arrayTypeAnnotation = arrayTypeAnnotation;
-exports.arrowFunctionExpression = arrowFunctionExpression;
-exports.assignmentExpression = assignmentExpression;
-exports.assignmentPattern = assignmentPattern;
-exports.awaitExpression = awaitExpression;
-exports.bigIntLiteral = bigIntLiteral;
-exports.binaryExpression = binaryExpression;
-exports.bindExpression = bindExpression;
-exports.blockStatement = blockStatement;
-exports.booleanLiteral = booleanLiteral;
-exports.booleanLiteralTypeAnnotation = booleanLiteralTypeAnnotation;
-exports.booleanTypeAnnotation = booleanTypeAnnotation;
-exports.breakStatement = breakStatement;
-exports.callExpression = callExpression;
-exports.catchClause = catchClause;
-exports.classAccessorProperty = classAccessorProperty;
-exports.classBody = classBody;
-exports.classDeclaration = classDeclaration;
-exports.classExpression = classExpression;
-exports.classImplements = classImplements;
-exports.classMethod = classMethod;
-exports.classPrivateMethod = classPrivateMethod;
-exports.classPrivateProperty = classPrivateProperty;
-exports.classProperty = classProperty;
-exports.conditionalExpression = conditionalExpression;
-exports.continueStatement = continueStatement;
-exports.debuggerStatement = debuggerStatement;
-exports.decimalLiteral = decimalLiteral;
-exports.declareClass = declareClass;
-exports.declareExportAllDeclaration = declareExportAllDeclaration;
-exports.declareExportDeclaration = declareExportDeclaration;
-exports.declareFunction = declareFunction;
-exports.declareInterface = declareInterface;
-exports.declareModule = declareModule;
-exports.declareModuleExports = declareModuleExports;
-exports.declareOpaqueType = declareOpaqueType;
-exports.declareTypeAlias = declareTypeAlias;
-exports.declareVariable = declareVariable;
-exports.declaredPredicate = declaredPredicate;
-exports.decorator = decorator;
-exports.directive = directive;
-exports.directiveLiteral = directiveLiteral;
-exports.doExpression = doExpression;
-exports.doWhileStatement = doWhileStatement;
-exports.emptyStatement = emptyStatement;
-exports.emptyTypeAnnotation = emptyTypeAnnotation;
-exports.enumBooleanBody = enumBooleanBody;
-exports.enumBooleanMember = enumBooleanMember;
-exports.enumDeclaration = enumDeclaration;
-exports.enumDefaultedMember = enumDefaultedMember;
-exports.enumNumberBody = enumNumberBody;
-exports.enumNumberMember = enumNumberMember;
-exports.enumStringBody = enumStringBody;
-exports.enumStringMember = enumStringMember;
-exports.enumSymbolBody = enumSymbolBody;
-exports.existsTypeAnnotation = existsTypeAnnotation;
-exports.exportAllDeclaration = exportAllDeclaration;
-exports.exportDefaultDeclaration = exportDefaultDeclaration;
-exports.exportDefaultSpecifier = exportDefaultSpecifier;
-exports.exportNamedDeclaration = exportNamedDeclaration;
-exports.exportNamespaceSpecifier = exportNamespaceSpecifier;
-exports.exportSpecifier = exportSpecifier;
-exports.expressionStatement = expressionStatement;
-exports.file = file;
-exports.forInStatement = forInStatement;
-exports.forOfStatement = forOfStatement;
-exports.forStatement = forStatement;
-exports.functionDeclaration = functionDeclaration;
-exports.functionExpression = functionExpression;
-exports.functionTypeAnnotation = functionTypeAnnotation;
-exports.functionTypeParam = functionTypeParam;
-exports.genericTypeAnnotation = genericTypeAnnotation;
-exports.identifier = identifier;
-exports.ifStatement = ifStatement;
-exports.import = _import;
-exports.importAttribute = importAttribute;
-exports.importDeclaration = importDeclaration;
-exports.importDefaultSpecifier = importDefaultSpecifier;
-exports.importNamespaceSpecifier = importNamespaceSpecifier;
-exports.importSpecifier = importSpecifier;
-exports.indexedAccessType = indexedAccessType;
-exports.inferredPredicate = inferredPredicate;
-exports.interfaceDeclaration = interfaceDeclaration;
-exports.interfaceExtends = interfaceExtends;
-exports.interfaceTypeAnnotation = interfaceTypeAnnotation;
-exports.interpreterDirective = interpreterDirective;
-exports.intersectionTypeAnnotation = intersectionTypeAnnotation;
-exports.jSXAttribute = exports.jsxAttribute = jsxAttribute;
-exports.jSXClosingElement = exports.jsxClosingElement = jsxClosingElement;
-exports.jSXClosingFragment = exports.jsxClosingFragment = jsxClosingFragment;
-exports.jSXElement = exports.jsxElement = jsxElement;
-exports.jSXEmptyExpression = exports.jsxEmptyExpression = jsxEmptyExpression;
-exports.jSXExpressionContainer = exports.jsxExpressionContainer = jsxExpressionContainer;
-exports.jSXFragment = exports.jsxFragment = jsxFragment;
-exports.jSXIdentifier = exports.jsxIdentifier = jsxIdentifier;
-exports.jSXMemberExpression = exports.jsxMemberExpression = jsxMemberExpression;
-exports.jSXNamespacedName = exports.jsxNamespacedName = jsxNamespacedName;
-exports.jSXOpeningElement = exports.jsxOpeningElement = jsxOpeningElement;
-exports.jSXOpeningFragment = exports.jsxOpeningFragment = jsxOpeningFragment;
-exports.jSXSpreadAttribute = exports.jsxSpreadAttribute = jsxSpreadAttribute;
-exports.jSXSpreadChild = exports.jsxSpreadChild = jsxSpreadChild;
-exports.jSXText = exports.jsxText = jsxText;
-exports.labeledStatement = labeledStatement;
-exports.logicalExpression = logicalExpression;
-exports.memberExpression = memberExpression;
-exports.metaProperty = metaProperty;
-exports.mixedTypeAnnotation = mixedTypeAnnotation;
-exports.moduleExpression = moduleExpression;
-exports.newExpression = newExpression;
-exports.noop = noop;
-exports.nullLiteral = nullLiteral;
-exports.nullLiteralTypeAnnotation = nullLiteralTypeAnnotation;
-exports.nullableTypeAnnotation = nullableTypeAnnotation;
-exports.numberLiteral = NumberLiteral;
-exports.numberLiteralTypeAnnotation = numberLiteralTypeAnnotation;
-exports.numberTypeAnnotation = numberTypeAnnotation;
-exports.numericLiteral = numericLiteral;
-exports.objectExpression = objectExpression;
-exports.objectMethod = objectMethod;
-exports.objectPattern = objectPattern;
-exports.objectProperty = objectProperty;
-exports.objectTypeAnnotation = objectTypeAnnotation;
-exports.objectTypeCallProperty = objectTypeCallProperty;
-exports.objectTypeIndexer = objectTypeIndexer;
-exports.objectTypeInternalSlot = objectTypeInternalSlot;
-exports.objectTypeProperty = objectTypeProperty;
-exports.objectTypeSpreadProperty = objectTypeSpreadProperty;
-exports.opaqueType = opaqueType;
-exports.optionalCallExpression = optionalCallExpression;
-exports.optionalIndexedAccessType = optionalIndexedAccessType;
-exports.optionalMemberExpression = optionalMemberExpression;
-exports.parenthesizedExpression = parenthesizedExpression;
-exports.pipelineBareFunction = pipelineBareFunction;
-exports.pipelinePrimaryTopicReference = pipelinePrimaryTopicReference;
-exports.pipelineTopicExpression = pipelineTopicExpression;
-exports.placeholder = placeholder;
-exports.privateName = privateName;
-exports.program = program;
-exports.qualifiedTypeIdentifier = qualifiedTypeIdentifier;
-exports.recordExpression = recordExpression;
-exports.regExpLiteral = regExpLiteral;
-exports.regexLiteral = RegexLiteral;
-exports.restElement = restElement;
-exports.restProperty = RestProperty;
-exports.returnStatement = returnStatement;
-exports.sequenceExpression = sequenceExpression;
-exports.spreadElement = spreadElement;
-exports.spreadProperty = SpreadProperty;
-exports.staticBlock = staticBlock;
-exports.stringLiteral = stringLiteral;
-exports.stringLiteralTypeAnnotation = stringLiteralTypeAnnotation;
-exports.stringTypeAnnotation = stringTypeAnnotation;
-exports.super = _super;
-exports.switchCase = switchCase;
-exports.switchStatement = switchStatement;
-exports.symbolTypeAnnotation = symbolTypeAnnotation;
-exports.taggedTemplateExpression = taggedTemplateExpression;
-exports.templateElement = templateElement;
-exports.templateLiteral = templateLiteral;
-exports.thisExpression = thisExpression;
-exports.thisTypeAnnotation = thisTypeAnnotation;
-exports.throwStatement = throwStatement;
-exports.topicReference = topicReference;
-exports.tryStatement = tryStatement;
-exports.tSAnyKeyword = exports.tsAnyKeyword = tsAnyKeyword;
-exports.tSArrayType = exports.tsArrayType = tsArrayType;
-exports.tSAsExpression = exports.tsAsExpression = tsAsExpression;
-exports.tSBigIntKeyword = exports.tsBigIntKeyword = tsBigIntKeyword;
-exports.tSBooleanKeyword = exports.tsBooleanKeyword = tsBooleanKeyword;
-exports.tSCallSignatureDeclaration = exports.tsCallSignatureDeclaration = tsCallSignatureDeclaration;
-exports.tSConditionalType = exports.tsConditionalType = tsConditionalType;
-exports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaration = tsConstructSignatureDeclaration;
-exports.tSConstructorType = exports.tsConstructorType = tsConstructorType;
-exports.tSDeclareFunction = exports.tsDeclareFunction = tsDeclareFunction;
-exports.tSDeclareMethod = exports.tsDeclareMethod = tsDeclareMethod;
-exports.tSEnumDeclaration = exports.tsEnumDeclaration = tsEnumDeclaration;
-exports.tSEnumMember = exports.tsEnumMember = tsEnumMember;
-exports.tSExportAssignment = exports.tsExportAssignment = tsExportAssignment;
-exports.tSExpressionWithTypeArguments = exports.tsExpressionWithTypeArguments = tsExpressionWithTypeArguments;
-exports.tSExternalModuleReference = exports.tsExternalModuleReference = tsExternalModuleReference;
-exports.tSFunctionType = exports.tsFunctionType = tsFunctionType;
-exports.tSImportEqualsDeclaration = exports.tsImportEqualsDeclaration = tsImportEqualsDeclaration;
-exports.tSImportType = exports.tsImportType = tsImportType;
-exports.tSIndexSignature = exports.tsIndexSignature = tsIndexSignature;
-exports.tSIndexedAccessType = exports.tsIndexedAccessType = tsIndexedAccessType;
-exports.tSInferType = exports.tsInferType = tsInferType;
-exports.tSInstantiationExpression = exports.tsInstantiationExpression = tsInstantiationExpression;
-exports.tSInterfaceBody = exports.tsInterfaceBody = tsInterfaceBody;
-exports.tSInterfaceDeclaration = exports.tsInterfaceDeclaration = tsInterfaceDeclaration;
-exports.tSIntersectionType = exports.tsIntersectionType = tsIntersectionType;
-exports.tSIntrinsicKeyword = exports.tsIntrinsicKeyword = tsIntrinsicKeyword;
-exports.tSLiteralType = exports.tsLiteralType = tsLiteralType;
-exports.tSMappedType = exports.tsMappedType = tsMappedType;
-exports.tSMethodSignature = exports.tsMethodSignature = tsMethodSignature;
-exports.tSModuleBlock = exports.tsModuleBlock = tsModuleBlock;
-exports.tSModuleDeclaration = exports.tsModuleDeclaration = tsModuleDeclaration;
-exports.tSNamedTupleMember = exports.tsNamedTupleMember = tsNamedTupleMember;
-exports.tSNamespaceExportDeclaration = exports.tsNamespaceExportDeclaration = tsNamespaceExportDeclaration;
-exports.tSNeverKeyword = exports.tsNeverKeyword = tsNeverKeyword;
-exports.tSNonNullExpression = exports.tsNonNullExpression = tsNonNullExpression;
-exports.tSNullKeyword = exports.tsNullKeyword = tsNullKeyword;
-exports.tSNumberKeyword = exports.tsNumberKeyword = tsNumberKeyword;
-exports.tSObjectKeyword = exports.tsObjectKeyword = tsObjectKeyword;
-exports.tSOptionalType = exports.tsOptionalType = tsOptionalType;
-exports.tSParameterProperty = exports.tsParameterProperty = tsParameterProperty;
-exports.tSParenthesizedType = exports.tsParenthesizedType = tsParenthesizedType;
-exports.tSPropertySignature = exports.tsPropertySignature = tsPropertySignature;
-exports.tSQualifiedName = exports.tsQualifiedName = tsQualifiedName;
-exports.tSRestType = exports.tsRestType = tsRestType;
-exports.tSStringKeyword = exports.tsStringKeyword = tsStringKeyword;
-exports.tSSymbolKeyword = exports.tsSymbolKeyword = tsSymbolKeyword;
-exports.tSThisType = exports.tsThisType = tsThisType;
-exports.tSTupleType = exports.tsTupleType = tsTupleType;
-exports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = tsTypeAliasDeclaration;
-exports.tSTypeAnnotation = exports.tsTypeAnnotation = tsTypeAnnotation;
-exports.tSTypeAssertion = exports.tsTypeAssertion = tsTypeAssertion;
-exports.tSTypeLiteral = exports.tsTypeLiteral = tsTypeLiteral;
-exports.tSTypeOperator = exports.tsTypeOperator = tsTypeOperator;
-exports.tSTypeParameter = exports.tsTypeParameter = tsTypeParameter;
-exports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = tsTypeParameterDeclaration;
-exports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = tsTypeParameterInstantiation;
-exports.tSTypePredicate = exports.tsTypePredicate = tsTypePredicate;
-exports.tSTypeQuery = exports.tsTypeQuery = tsTypeQuery;
-exports.tSTypeReference = exports.tsTypeReference = tsTypeReference;
-exports.tSUndefinedKeyword = exports.tsUndefinedKeyword = tsUndefinedKeyword;
-exports.tSUnionType = exports.tsUnionType = tsUnionType;
-exports.tSUnknownKeyword = exports.tsUnknownKeyword = tsUnknownKeyword;
-exports.tSVoidKeyword = exports.tsVoidKeyword = tsVoidKeyword;
-exports.tupleExpression = tupleExpression;
-exports.tupleTypeAnnotation = tupleTypeAnnotation;
-exports.typeAlias = typeAlias;
-exports.typeAnnotation = typeAnnotation;
-exports.typeCastExpression = typeCastExpression;
-exports.typeParameter = typeParameter;
-exports.typeParameterDeclaration = typeParameterDeclaration;
-exports.typeParameterInstantiation = typeParameterInstantiation;
-exports.typeofTypeAnnotation = typeofTypeAnnotation;
-exports.unaryExpression = unaryExpression;
-exports.unionTypeAnnotation = unionTypeAnnotation;
-exports.updateExpression = updateExpression;
-exports.v8IntrinsicIdentifier = v8IntrinsicIdentifier;
-exports.variableDeclaration = variableDeclaration;
-exports.variableDeclarator = variableDeclarator;
-exports.variance = variance;
-exports.voidTypeAnnotation = voidTypeAnnotation;
-exports.whileStatement = whileStatement;
-exports.withStatement = withStatement;
-exports.yieldExpression = yieldExpression;
-
-var _validateNode = require("../validateNode");
-
-function arrayExpression(elements = []) {
- return (0, _validateNode.default)({
- type: "ArrayExpression",
- elements
- });
-}
-
-function assignmentExpression(operator, left, right) {
- return (0, _validateNode.default)({
- type: "AssignmentExpression",
- operator,
- left,
- right
- });
-}
-
-function binaryExpression(operator, left, right) {
- return (0, _validateNode.default)({
- type: "BinaryExpression",
- operator,
- left,
- right
- });
-}
-
-function interpreterDirective(value) {
- return (0, _validateNode.default)({
- type: "InterpreterDirective",
- value
- });
-}
-
-function directive(value) {
- return (0, _validateNode.default)({
- type: "Directive",
- value
- });
-}
-
-function directiveLiteral(value) {
- return (0, _validateNode.default)({
- type: "DirectiveLiteral",
- value
- });
-}
-
-function blockStatement(body, directives = []) {
- return (0, _validateNode.default)({
- type: "BlockStatement",
- body,
- directives
- });
-}
-
-function breakStatement(label = null) {
- return (0, _validateNode.default)({
- type: "BreakStatement",
- label
- });
-}
-
-function callExpression(callee, _arguments) {
- return (0, _validateNode.default)({
- type: "CallExpression",
- callee,
- arguments: _arguments
- });
-}
-
-function catchClause(param = null, body) {
- return (0, _validateNode.default)({
- type: "CatchClause",
- param,
- body
- });
-}
-
-function conditionalExpression(test, consequent, alternate) {
- return (0, _validateNode.default)({
- type: "ConditionalExpression",
- test,
- consequent,
- alternate
- });
-}
-
-function continueStatement(label = null) {
- return (0, _validateNode.default)({
- type: "ContinueStatement",
- label
- });
-}
-
-function debuggerStatement() {
- return {
- type: "DebuggerStatement"
- };
-}
-
-function doWhileStatement(test, body) {
- return (0, _validateNode.default)({
- type: "DoWhileStatement",
- test,
- body
- });
-}
-
-function emptyStatement() {
- return {
- type: "EmptyStatement"
- };
-}
-
-function expressionStatement(expression) {
- return (0, _validateNode.default)({
- type: "ExpressionStatement",
- expression
- });
-}
-
-function file(program, comments = null, tokens = null) {
- return (0, _validateNode.default)({
- type: "File",
- program,
- comments,
- tokens
- });
-}
-
-function forInStatement(left, right, body) {
- return (0, _validateNode.default)({
- type: "ForInStatement",
- left,
- right,
- body
- });
-}
-
-function forStatement(init = null, test = null, update = null, body) {
- return (0, _validateNode.default)({
- type: "ForStatement",
- init,
- test,
- update,
- body
- });
-}
-
-function functionDeclaration(id = null, params, body, generator = false, async = false) {
- return (0, _validateNode.default)({
- type: "FunctionDeclaration",
- id,
- params,
- body,
- generator,
- async
- });
-}
-
-function functionExpression(id = null, params, body, generator = false, async = false) {
- return (0, _validateNode.default)({
- type: "FunctionExpression",
- id,
- params,
- body,
- generator,
- async
- });
-}
-
-function identifier(name) {
- return (0, _validateNode.default)({
- type: "Identifier",
- name
- });
-}
-
-function ifStatement(test, consequent, alternate = null) {
- return (0, _validateNode.default)({
- type: "IfStatement",
- test,
- consequent,
- alternate
- });
-}
-
-function labeledStatement(label, body) {
- return (0, _validateNode.default)({
- type: "LabeledStatement",
- label,
- body
- });
-}
-
-function stringLiteral(value) {
- return (0, _validateNode.default)({
- type: "StringLiteral",
- value
- });
-}
-
-function numericLiteral(value) {
- return (0, _validateNode.default)({
- type: "NumericLiteral",
- value
- });
-}
-
-function nullLiteral() {
- return {
- type: "NullLiteral"
- };
-}
-
-function booleanLiteral(value) {
- return (0, _validateNode.default)({
- type: "BooleanLiteral",
- value
- });
-}
-
-function regExpLiteral(pattern, flags = "") {
- return (0, _validateNode.default)({
- type: "RegExpLiteral",
- pattern,
- flags
- });
-}
-
-function logicalExpression(operator, left, right) {
- return (0, _validateNode.default)({
- type: "LogicalExpression",
- operator,
- left,
- right
- });
-}
-
-function memberExpression(object, property, computed = false, optional = null) {
- return (0, _validateNode.default)({
- type: "MemberExpression",
- object,
- property,
- computed,
- optional
- });
-}
-
-function newExpression(callee, _arguments) {
- return (0, _validateNode.default)({
- type: "NewExpression",
- callee,
- arguments: _arguments
- });
-}
-
-function program(body, directives = [], sourceType = "script", interpreter = null) {
- return (0, _validateNode.default)({
- type: "Program",
- body,
- directives,
- sourceType,
- interpreter,
- sourceFile: null
- });
-}
-
-function objectExpression(properties) {
- return (0, _validateNode.default)({
- type: "ObjectExpression",
- properties
- });
-}
-
-function objectMethod(kind = "method", key, params, body, computed = false, generator = false, async = false) {
- return (0, _validateNode.default)({
- type: "ObjectMethod",
- kind,
- key,
- params,
- body,
- computed,
- generator,
- async
- });
-}
-
-function objectProperty(key, value, computed = false, shorthand = false, decorators = null) {
- return (0, _validateNode.default)({
- type: "ObjectProperty",
- key,
- value,
- computed,
- shorthand,
- decorators
- });
-}
-
-function restElement(argument) {
- return (0, _validateNode.default)({
- type: "RestElement",
- argument
- });
-}
-
-function returnStatement(argument = null) {
- return (0, _validateNode.default)({
- type: "ReturnStatement",
- argument
- });
-}
-
-function sequenceExpression(expressions) {
- return (0, _validateNode.default)({
- type: "SequenceExpression",
- expressions
- });
-}
-
-function parenthesizedExpression(expression) {
- return (0, _validateNode.default)({
- type: "ParenthesizedExpression",
- expression
- });
-}
-
-function switchCase(test = null, consequent) {
- return (0, _validateNode.default)({
- type: "SwitchCase",
- test,
- consequent
- });
-}
-
-function switchStatement(discriminant, cases) {
- return (0, _validateNode.default)({
- type: "SwitchStatement",
- discriminant,
- cases
- });
-}
-
-function thisExpression() {
- return {
- type: "ThisExpression"
- };
-}
-
-function throwStatement(argument) {
- return (0, _validateNode.default)({
- type: "ThrowStatement",
- argument
- });
-}
-
-function tryStatement(block, handler = null, finalizer = null) {
- return (0, _validateNode.default)({
- type: "TryStatement",
- block,
- handler,
- finalizer
- });
-}
-
-function unaryExpression(operator, argument, prefix = true) {
- return (0, _validateNode.default)({
- type: "UnaryExpression",
- operator,
- argument,
- prefix
- });
-}
-
-function updateExpression(operator, argument, prefix = false) {
- return (0, _validateNode.default)({
- type: "UpdateExpression",
- operator,
- argument,
- prefix
- });
-}
-
-function variableDeclaration(kind, declarations) {
- return (0, _validateNode.default)({
- type: "VariableDeclaration",
- kind,
- declarations
- });
-}
-
-function variableDeclarator(id, init = null) {
- return (0, _validateNode.default)({
- type: "VariableDeclarator",
- id,
- init
- });
-}
-
-function whileStatement(test, body) {
- return (0, _validateNode.default)({
- type: "WhileStatement",
- test,
- body
- });
-}
-
-function withStatement(object, body) {
- return (0, _validateNode.default)({
- type: "WithStatement",
- object,
- body
- });
-}
-
-function assignmentPattern(left, right) {
- return (0, _validateNode.default)({
- type: "AssignmentPattern",
- left,
- right
- });
-}
-
-function arrayPattern(elements) {
- return (0, _validateNode.default)({
- type: "ArrayPattern",
- elements
- });
-}
-
-function arrowFunctionExpression(params, body, async = false) {
- return (0, _validateNode.default)({
- type: "ArrowFunctionExpression",
- params,
- body,
- async,
- expression: null
- });
-}
-
-function classBody(body) {
- return (0, _validateNode.default)({
- type: "ClassBody",
- body
- });
-}
-
-function classExpression(id = null, superClass = null, body, decorators = null) {
- return (0, _validateNode.default)({
- type: "ClassExpression",
- id,
- superClass,
- body,
- decorators
- });
-}
-
-function classDeclaration(id, superClass = null, body, decorators = null) {
- return (0, _validateNode.default)({
- type: "ClassDeclaration",
- id,
- superClass,
- body,
- decorators
- });
-}
-
-function exportAllDeclaration(source) {
- return (0, _validateNode.default)({
- type: "ExportAllDeclaration",
- source
- });
-}
-
-function exportDefaultDeclaration(declaration) {
- return (0, _validateNode.default)({
- type: "ExportDefaultDeclaration",
- declaration
- });
-}
-
-function exportNamedDeclaration(declaration = null, specifiers = [], source = null) {
- return (0, _validateNode.default)({
- type: "ExportNamedDeclaration",
- declaration,
- specifiers,
- source
- });
-}
-
-function exportSpecifier(local, exported) {
- return (0, _validateNode.default)({
- type: "ExportSpecifier",
- local,
- exported
- });
-}
-
-function forOfStatement(left, right, body, _await = false) {
- return (0, _validateNode.default)({
- type: "ForOfStatement",
- left,
- right,
- body,
- await: _await
- });
-}
-
-function importDeclaration(specifiers, source) {
- return (0, _validateNode.default)({
- type: "ImportDeclaration",
- specifiers,
- source
- });
-}
-
-function importDefaultSpecifier(local) {
- return (0, _validateNode.default)({
- type: "ImportDefaultSpecifier",
- local
- });
-}
-
-function importNamespaceSpecifier(local) {
- return (0, _validateNode.default)({
- type: "ImportNamespaceSpecifier",
- local
- });
-}
-
-function importSpecifier(local, imported) {
- return (0, _validateNode.default)({
- type: "ImportSpecifier",
- local,
- imported
- });
-}
-
-function metaProperty(meta, property) {
- return (0, _validateNode.default)({
- type: "MetaProperty",
- meta,
- property
- });
-}
-
-function classMethod(kind = "method", key, params, body, computed = false, _static = false, generator = false, async = false) {
- return (0, _validateNode.default)({
- type: "ClassMethod",
- kind,
- key,
- params,
- body,
- computed,
- static: _static,
- generator,
- async
- });
-}
-
-function objectPattern(properties) {
- return (0, _validateNode.default)({
- type: "ObjectPattern",
- properties
- });
-}
-
-function spreadElement(argument) {
- return (0, _validateNode.default)({
- type: "SpreadElement",
- argument
- });
-}
-
-function _super() {
- return {
- type: "Super"
- };
-}
-
-function taggedTemplateExpression(tag, quasi) {
- return (0, _validateNode.default)({
- type: "TaggedTemplateExpression",
- tag,
- quasi
- });
-}
-
-function templateElement(value, tail = false) {
- return (0, _validateNode.default)({
- type: "TemplateElement",
- value,
- tail
- });
-}
-
-function templateLiteral(quasis, expressions) {
- return (0, _validateNode.default)({
- type: "TemplateLiteral",
- quasis,
- expressions
- });
-}
-
-function yieldExpression(argument = null, delegate = false) {
- return (0, _validateNode.default)({
- type: "YieldExpression",
- argument,
- delegate
- });
-}
-
-function awaitExpression(argument) {
- return (0, _validateNode.default)({
- type: "AwaitExpression",
- argument
- });
-}
-
-function _import() {
- return {
- type: "Import"
- };
-}
-
-function bigIntLiteral(value) {
- return (0, _validateNode.default)({
- type: "BigIntLiteral",
- value
- });
-}
-
-function exportNamespaceSpecifier(exported) {
- return (0, _validateNode.default)({
- type: "ExportNamespaceSpecifier",
- exported
- });
-}
-
-function optionalMemberExpression(object, property, computed = false, optional) {
- return (0, _validateNode.default)({
- type: "OptionalMemberExpression",
- object,
- property,
- computed,
- optional
- });
-}
-
-function optionalCallExpression(callee, _arguments, optional) {
- return (0, _validateNode.default)({
- type: "OptionalCallExpression",
- callee,
- arguments: _arguments,
- optional
- });
-}
-
-function classProperty(key, value = null, typeAnnotation = null, decorators = null, computed = false, _static = false) {
- return (0, _validateNode.default)({
- type: "ClassProperty",
- key,
- value,
- typeAnnotation,
- decorators,
- computed,
- static: _static
- });
-}
-
-function classAccessorProperty(key, value = null, typeAnnotation = null, decorators = null, computed = false, _static = false) {
- return (0, _validateNode.default)({
- type: "ClassAccessorProperty",
- key,
- value,
- typeAnnotation,
- decorators,
- computed,
- static: _static
- });
-}
-
-function classPrivateProperty(key, value = null, decorators = null, _static = false) {
- return (0, _validateNode.default)({
- type: "ClassPrivateProperty",
- key,
- value,
- decorators,
- static: _static
- });
-}
-
-function classPrivateMethod(kind = "method", key, params, body, _static = false) {
- return (0, _validateNode.default)({
- type: "ClassPrivateMethod",
- kind,
- key,
- params,
- body,
- static: _static
- });
-}
-
-function privateName(id) {
- return (0, _validateNode.default)({
- type: "PrivateName",
- id
- });
-}
-
-function staticBlock(body) {
- return (0, _validateNode.default)({
- type: "StaticBlock",
- body
- });
-}
-
-function anyTypeAnnotation() {
- return {
- type: "AnyTypeAnnotation"
- };
-}
-
-function arrayTypeAnnotation(elementType) {
- return (0, _validateNode.default)({
- type: "ArrayTypeAnnotation",
- elementType
- });
-}
-
-function booleanTypeAnnotation() {
- return {
- type: "BooleanTypeAnnotation"
- };
-}
-
-function booleanLiteralTypeAnnotation(value) {
- return (0, _validateNode.default)({
- type: "BooleanLiteralTypeAnnotation",
- value
- });
-}
-
-function nullLiteralTypeAnnotation() {
- return {
- type: "NullLiteralTypeAnnotation"
- };
-}
-
-function classImplements(id, typeParameters = null) {
- return (0, _validateNode.default)({
- type: "ClassImplements",
- id,
- typeParameters
- });
-}
-
-function declareClass(id, typeParameters = null, _extends = null, body) {
- return (0, _validateNode.default)({
- type: "DeclareClass",
- id,
- typeParameters,
- extends: _extends,
- body
- });
-}
-
-function declareFunction(id) {
- return (0, _validateNode.default)({
- type: "DeclareFunction",
- id
- });
-}
-
-function declareInterface(id, typeParameters = null, _extends = null, body) {
- return (0, _validateNode.default)({
- type: "DeclareInterface",
- id,
- typeParameters,
- extends: _extends,
- body
- });
-}
-
-function declareModule(id, body, kind = null) {
- return (0, _validateNode.default)({
- type: "DeclareModule",
- id,
- body,
- kind
- });
-}
-
-function declareModuleExports(typeAnnotation) {
- return (0, _validateNode.default)({
- type: "DeclareModuleExports",
- typeAnnotation
- });
-}
-
-function declareTypeAlias(id, typeParameters = null, right) {
- return (0, _validateNode.default)({
- type: "DeclareTypeAlias",
- id,
- typeParameters,
- right
- });
-}
-
-function declareOpaqueType(id, typeParameters = null, supertype = null) {
- return (0, _validateNode.default)({
- type: "DeclareOpaqueType",
- id,
- typeParameters,
- supertype
- });
-}
-
-function declareVariable(id) {
- return (0, _validateNode.default)({
- type: "DeclareVariable",
- id
- });
-}
-
-function declareExportDeclaration(declaration = null, specifiers = null, source = null) {
- return (0, _validateNode.default)({
- type: "DeclareExportDeclaration",
- declaration,
- specifiers,
- source
- });
-}
-
-function declareExportAllDeclaration(source) {
- return (0, _validateNode.default)({
- type: "DeclareExportAllDeclaration",
- source
- });
-}
-
-function declaredPredicate(value) {
- return (0, _validateNode.default)({
- type: "DeclaredPredicate",
- value
- });
-}
-
-function existsTypeAnnotation() {
- return {
- type: "ExistsTypeAnnotation"
- };
-}
-
-function functionTypeAnnotation(typeParameters = null, params, rest = null, returnType) {
- return (0, _validateNode.default)({
- type: "FunctionTypeAnnotation",
- typeParameters,
- params,
- rest,
- returnType
- });
-}
-
-function functionTypeParam(name = null, typeAnnotation) {
- return (0, _validateNode.default)({
- type: "FunctionTypeParam",
- name,
- typeAnnotation
- });
-}
-
-function genericTypeAnnotation(id, typeParameters = null) {
- return (0, _validateNode.default)({
- type: "GenericTypeAnnotation",
- id,
- typeParameters
- });
-}
-
-function inferredPredicate() {
- return {
- type: "InferredPredicate"
- };
-}
-
-function interfaceExtends(id, typeParameters = null) {
- return (0, _validateNode.default)({
- type: "InterfaceExtends",
- id,
- typeParameters
- });
-}
-
-function interfaceDeclaration(id, typeParameters = null, _extends = null, body) {
- return (0, _validateNode.default)({
- type: "InterfaceDeclaration",
- id,
- typeParameters,
- extends: _extends,
- body
- });
-}
-
-function interfaceTypeAnnotation(_extends = null, body) {
- return (0, _validateNode.default)({
- type: "InterfaceTypeAnnotation",
- extends: _extends,
- body
- });
-}
-
-function intersectionTypeAnnotation(types) {
- return (0, _validateNode.default)({
- type: "IntersectionTypeAnnotation",
- types
- });
-}
-
-function mixedTypeAnnotation() {
- return {
- type: "MixedTypeAnnotation"
- };
-}
-
-function emptyTypeAnnotation() {
- return {
- type: "EmptyTypeAnnotation"
- };
-}
-
-function nullableTypeAnnotation(typeAnnotation) {
- return (0, _validateNode.default)({
- type: "NullableTypeAnnotation",
- typeAnnotation
- });
-}
-
-function numberLiteralTypeAnnotation(value) {
- return (0, _validateNode.default)({
- type: "NumberLiteralTypeAnnotation",
- value
- });
-}
-
-function numberTypeAnnotation() {
- return {
- type: "NumberTypeAnnotation"
- };
-}
-
-function objectTypeAnnotation(properties, indexers = [], callProperties = [], internalSlots = [], exact = false) {
- return (0, _validateNode.default)({
- type: "ObjectTypeAnnotation",
- properties,
- indexers,
- callProperties,
- internalSlots,
- exact
- });
-}
-
-function objectTypeInternalSlot(id, value, optional, _static, method) {
- return (0, _validateNode.default)({
- type: "ObjectTypeInternalSlot",
- id,
- value,
- optional,
- static: _static,
- method
- });
-}
-
-function objectTypeCallProperty(value) {
- return (0, _validateNode.default)({
- type: "ObjectTypeCallProperty",
- value,
- static: null
- });
-}
-
-function objectTypeIndexer(id = null, key, value, variance = null) {
- return (0, _validateNode.default)({
- type: "ObjectTypeIndexer",
- id,
- key,
- value,
- variance,
- static: null
- });
-}
-
-function objectTypeProperty(key, value, variance = null) {
- return (0, _validateNode.default)({
- type: "ObjectTypeProperty",
- key,
- value,
- variance,
- kind: null,
- method: null,
- optional: null,
- proto: null,
- static: null
- });
-}
-
-function objectTypeSpreadProperty(argument) {
- return (0, _validateNode.default)({
- type: "ObjectTypeSpreadProperty",
- argument
- });
-}
-
-function opaqueType(id, typeParameters = null, supertype = null, impltype) {
- return (0, _validateNode.default)({
- type: "OpaqueType",
- id,
- typeParameters,
- supertype,
- impltype
- });
-}
-
-function qualifiedTypeIdentifier(id, qualification) {
- return (0, _validateNode.default)({
- type: "QualifiedTypeIdentifier",
- id,
- qualification
- });
-}
-
-function stringLiteralTypeAnnotation(value) {
- return (0, _validateNode.default)({
- type: "StringLiteralTypeAnnotation",
- value
- });
-}
-
-function stringTypeAnnotation() {
- return {
- type: "StringTypeAnnotation"
- };
-}
-
-function symbolTypeAnnotation() {
- return {
- type: "SymbolTypeAnnotation"
- };
-}
-
-function thisTypeAnnotation() {
- return {
- type: "ThisTypeAnnotation"
- };
-}
-
-function tupleTypeAnnotation(types) {
- return (0, _validateNode.default)({
- type: "TupleTypeAnnotation",
- types
- });
-}
-
-function typeofTypeAnnotation(argument) {
- return (0, _validateNode.default)({
- type: "TypeofTypeAnnotation",
- argument
- });
-}
-
-function typeAlias(id, typeParameters = null, right) {
- return (0, _validateNode.default)({
- type: "TypeAlias",
- id,
- typeParameters,
- right
- });
-}
-
-function typeAnnotation(typeAnnotation) {
- return (0, _validateNode.default)({
- type: "TypeAnnotation",
- typeAnnotation
- });
-}
-
-function typeCastExpression(expression, typeAnnotation) {
- return (0, _validateNode.default)({
- type: "TypeCastExpression",
- expression,
- typeAnnotation
- });
-}
-
-function typeParameter(bound = null, _default = null, variance = null) {
- return (0, _validateNode.default)({
- type: "TypeParameter",
- bound,
- default: _default,
- variance,
- name: null
- });
-}
-
-function typeParameterDeclaration(params) {
- return (0, _validateNode.default)({
- type: "TypeParameterDeclaration",
- params
- });
-}
-
-function typeParameterInstantiation(params) {
- return (0, _validateNode.default)({
- type: "TypeParameterInstantiation",
- params
- });
-}
-
-function unionTypeAnnotation(types) {
- return (0, _validateNode.default)({
- type: "UnionTypeAnnotation",
- types
- });
-}
-
-function variance(kind) {
- return (0, _validateNode.default)({
- type: "Variance",
- kind
- });
-}
-
-function voidTypeAnnotation() {
- return {
- type: "VoidTypeAnnotation"
- };
-}
-
-function enumDeclaration(id, body) {
- return (0, _validateNode.default)({
- type: "EnumDeclaration",
- id,
- body
- });
-}
-
-function enumBooleanBody(members) {
- return (0, _validateNode.default)({
- type: "EnumBooleanBody",
- members,
- explicitType: null,
- hasUnknownMembers: null
- });
-}
-
-function enumNumberBody(members) {
- return (0, _validateNode.default)({
- type: "EnumNumberBody",
- members,
- explicitType: null,
- hasUnknownMembers: null
- });
-}
-
-function enumStringBody(members) {
- return (0, _validateNode.default)({
- type: "EnumStringBody",
- members,
- explicitType: null,
- hasUnknownMembers: null
- });
-}
-
-function enumSymbolBody(members) {
- return (0, _validateNode.default)({
- type: "EnumSymbolBody",
- members,
- hasUnknownMembers: null
- });
-}
-
-function enumBooleanMember(id) {
- return (0, _validateNode.default)({
- type: "EnumBooleanMember",
- id,
- init: null
- });
-}
-
-function enumNumberMember(id, init) {
- return (0, _validateNode.default)({
- type: "EnumNumberMember",
- id,
- init
- });
-}
-
-function enumStringMember(id, init) {
- return (0, _validateNode.default)({
- type: "EnumStringMember",
- id,
- init
- });
-}
-
-function enumDefaultedMember(id) {
- return (0, _validateNode.default)({
- type: "EnumDefaultedMember",
- id
- });
-}
-
-function indexedAccessType(objectType, indexType) {
- return (0, _validateNode.default)({
- type: "IndexedAccessType",
- objectType,
- indexType
- });
-}
-
-function optionalIndexedAccessType(objectType, indexType) {
- return (0, _validateNode.default)({
- type: "OptionalIndexedAccessType",
- objectType,
- indexType,
- optional: null
- });
-}
-
-function jsxAttribute(name, value = null) {
- return (0, _validateNode.default)({
- type: "JSXAttribute",
- name,
- value
- });
-}
-
-function jsxClosingElement(name) {
- return (0, _validateNode.default)({
- type: "JSXClosingElement",
- name
- });
-}
-
-function jsxElement(openingElement, closingElement = null, children, selfClosing = null) {
- return (0, _validateNode.default)({
- type: "JSXElement",
- openingElement,
- closingElement,
- children,
- selfClosing
- });
-}
-
-function jsxEmptyExpression() {
- return {
- type: "JSXEmptyExpression"
- };
-}
-
-function jsxExpressionContainer(expression) {
- return (0, _validateNode.default)({
- type: "JSXExpressionContainer",
- expression
- });
-}
-
-function jsxSpreadChild(expression) {
- return (0, _validateNode.default)({
- type: "JSXSpreadChild",
- expression
- });
-}
-
-function jsxIdentifier(name) {
- return (0, _validateNode.default)({
- type: "JSXIdentifier",
- name
- });
-}
-
-function jsxMemberExpression(object, property) {
- return (0, _validateNode.default)({
- type: "JSXMemberExpression",
- object,
- property
- });
-}
-
-function jsxNamespacedName(namespace, name) {
- return (0, _validateNode.default)({
- type: "JSXNamespacedName",
- namespace,
- name
- });
-}
-
-function jsxOpeningElement(name, attributes, selfClosing = false) {
- return (0, _validateNode.default)({
- type: "JSXOpeningElement",
- name,
- attributes,
- selfClosing
- });
-}
-
-function jsxSpreadAttribute(argument) {
- return (0, _validateNode.default)({
- type: "JSXSpreadAttribute",
- argument
- });
-}
-
-function jsxText(value) {
- return (0, _validateNode.default)({
- type: "JSXText",
- value
- });
-}
-
-function jsxFragment(openingFragment, closingFragment, children) {
- return (0, _validateNode.default)({
- type: "JSXFragment",
- openingFragment,
- closingFragment,
- children
- });
-}
-
-function jsxOpeningFragment() {
- return {
- type: "JSXOpeningFragment"
- };
-}
-
-function jsxClosingFragment() {
- return {
- type: "JSXClosingFragment"
- };
-}
-
-function noop() {
- return {
- type: "Noop"
- };
-}
-
-function placeholder(expectedNode, name) {
- return (0, _validateNode.default)({
- type: "Placeholder",
- expectedNode,
- name
- });
-}
-
-function v8IntrinsicIdentifier(name) {
- return (0, _validateNode.default)({
- type: "V8IntrinsicIdentifier",
- name
- });
-}
-
-function argumentPlaceholder() {
- return {
- type: "ArgumentPlaceholder"
- };
-}
-
-function bindExpression(object, callee) {
- return (0, _validateNode.default)({
- type: "BindExpression",
- object,
- callee
- });
-}
-
-function importAttribute(key, value) {
- return (0, _validateNode.default)({
- type: "ImportAttribute",
- key,
- value
- });
-}
-
-function decorator(expression) {
- return (0, _validateNode.default)({
- type: "Decorator",
- expression
- });
-}
-
-function doExpression(body, async = false) {
- return (0, _validateNode.default)({
- type: "DoExpression",
- body,
- async
- });
-}
-
-function exportDefaultSpecifier(exported) {
- return (0, _validateNode.default)({
- type: "ExportDefaultSpecifier",
- exported
- });
-}
-
-function recordExpression(properties) {
- return (0, _validateNode.default)({
- type: "RecordExpression",
- properties
- });
-}
-
-function tupleExpression(elements = []) {
- return (0, _validateNode.default)({
- type: "TupleExpression",
- elements
- });
-}
-
-function decimalLiteral(value) {
- return (0, _validateNode.default)({
- type: "DecimalLiteral",
- value
- });
-}
-
-function moduleExpression(body) {
- return (0, _validateNode.default)({
- type: "ModuleExpression",
- body
- });
-}
-
-function topicReference() {
- return {
- type: "TopicReference"
- };
-}
-
-function pipelineTopicExpression(expression) {
- return (0, _validateNode.default)({
- type: "PipelineTopicExpression",
- expression
- });
-}
-
-function pipelineBareFunction(callee) {
- return (0, _validateNode.default)({
- type: "PipelineBareFunction",
- callee
- });
-}
-
-function pipelinePrimaryTopicReference() {
- return {
- type: "PipelinePrimaryTopicReference"
- };
-}
-
-function tsParameterProperty(parameter) {
- return (0, _validateNode.default)({
- type: "TSParameterProperty",
- parameter
- });
-}
-
-function tsDeclareFunction(id = null, typeParameters = null, params, returnType = null) {
- return (0, _validateNode.default)({
- type: "TSDeclareFunction",
- id,
- typeParameters,
- params,
- returnType
- });
-}
-
-function tsDeclareMethod(decorators = null, key, typeParameters = null, params, returnType = null) {
- return (0, _validateNode.default)({
- type: "TSDeclareMethod",
- decorators,
- key,
- typeParameters,
- params,
- returnType
- });
-}
-
-function tsQualifiedName(left, right) {
- return (0, _validateNode.default)({
- type: "TSQualifiedName",
- left,
- right
- });
-}
-
-function tsCallSignatureDeclaration(typeParameters = null, parameters, typeAnnotation = null) {
- return (0, _validateNode.default)({
- type: "TSCallSignatureDeclaration",
- typeParameters,
- parameters,
- typeAnnotation
- });
-}
-
-function tsConstructSignatureDeclaration(typeParameters = null, parameters, typeAnnotation = null) {
- return (0, _validateNode.default)({
- type: "TSConstructSignatureDeclaration",
- typeParameters,
- parameters,
- typeAnnotation
- });
-}
-
-function tsPropertySignature(key, typeAnnotation = null, initializer = null) {
- return (0, _validateNode.default)({
- type: "TSPropertySignature",
- key,
- typeAnnotation,
- initializer,
- kind: null
- });
-}
-
-function tsMethodSignature(key, typeParameters = null, parameters, typeAnnotation = null) {
- return (0, _validateNode.default)({
- type: "TSMethodSignature",
- key,
- typeParameters,
- parameters,
- typeAnnotation,
- kind: null
- });
-}
-
-function tsIndexSignature(parameters, typeAnnotation = null) {
- return (0, _validateNode.default)({
- type: "TSIndexSignature",
- parameters,
- typeAnnotation
- });
-}
-
-function tsAnyKeyword() {
- return {
- type: "TSAnyKeyword"
- };
-}
-
-function tsBooleanKeyword() {
- return {
- type: "TSBooleanKeyword"
- };
-}
-
-function tsBigIntKeyword() {
- return {
- type: "TSBigIntKeyword"
- };
-}
-
-function tsIntrinsicKeyword() {
- return {
- type: "TSIntrinsicKeyword"
- };
-}
-
-function tsNeverKeyword() {
- return {
- type: "TSNeverKeyword"
- };
-}
-
-function tsNullKeyword() {
- return {
- type: "TSNullKeyword"
- };
-}
-
-function tsNumberKeyword() {
- return {
- type: "TSNumberKeyword"
- };
-}
-
-function tsObjectKeyword() {
- return {
- type: "TSObjectKeyword"
- };
-}
-
-function tsStringKeyword() {
- return {
- type: "TSStringKeyword"
- };
-}
-
-function tsSymbolKeyword() {
- return {
- type: "TSSymbolKeyword"
- };
-}
-
-function tsUndefinedKeyword() {
- return {
- type: "TSUndefinedKeyword"
- };
-}
-
-function tsUnknownKeyword() {
- return {
- type: "TSUnknownKeyword"
- };
-}
-
-function tsVoidKeyword() {
- return {
- type: "TSVoidKeyword"
- };
-}
-
-function tsThisType() {
- return {
- type: "TSThisType"
- };
-}
-
-function tsFunctionType(typeParameters = null, parameters, typeAnnotation = null) {
- return (0, _validateNode.default)({
- type: "TSFunctionType",
- typeParameters,
- parameters,
- typeAnnotation
- });
-}
-
-function tsConstructorType(typeParameters = null, parameters, typeAnnotation = null) {
- return (0, _validateNode.default)({
- type: "TSConstructorType",
- typeParameters,
- parameters,
- typeAnnotation
- });
-}
-
-function tsTypeReference(typeName, typeParameters = null) {
- return (0, _validateNode.default)({
- type: "TSTypeReference",
- typeName,
- typeParameters
- });
-}
-
-function tsTypePredicate(parameterName, typeAnnotation = null, asserts = null) {
- return (0, _validateNode.default)({
- type: "TSTypePredicate",
- parameterName,
- typeAnnotation,
- asserts
- });
-}
-
-function tsTypeQuery(exprName, typeParameters = null) {
- return (0, _validateNode.default)({
- type: "TSTypeQuery",
- exprName,
- typeParameters
- });
-}
-
-function tsTypeLiteral(members) {
- return (0, _validateNode.default)({
- type: "TSTypeLiteral",
- members
- });
-}
-
-function tsArrayType(elementType) {
- return (0, _validateNode.default)({
- type: "TSArrayType",
- elementType
- });
-}
-
-function tsTupleType(elementTypes) {
- return (0, _validateNode.default)({
- type: "TSTupleType",
- elementTypes
- });
-}
-
-function tsOptionalType(typeAnnotation) {
- return (0, _validateNode.default)({
- type: "TSOptionalType",
- typeAnnotation
- });
-}
-
-function tsRestType(typeAnnotation) {
- return (0, _validateNode.default)({
- type: "TSRestType",
- typeAnnotation
- });
-}
-
-function tsNamedTupleMember(label, elementType, optional = false) {
- return (0, _validateNode.default)({
- type: "TSNamedTupleMember",
- label,
- elementType,
- optional
- });
-}
-
-function tsUnionType(types) {
- return (0, _validateNode.default)({
- type: "TSUnionType",
- types
- });
-}
-
-function tsIntersectionType(types) {
- return (0, _validateNode.default)({
- type: "TSIntersectionType",
- types
- });
-}
-
-function tsConditionalType(checkType, extendsType, trueType, falseType) {
- return (0, _validateNode.default)({
- type: "TSConditionalType",
- checkType,
- extendsType,
- trueType,
- falseType
- });
-}
-
-function tsInferType(typeParameter) {
- return (0, _validateNode.default)({
- type: "TSInferType",
- typeParameter
- });
-}
-
-function tsParenthesizedType(typeAnnotation) {
- return (0, _validateNode.default)({
- type: "TSParenthesizedType",
- typeAnnotation
- });
-}
-
-function tsTypeOperator(typeAnnotation) {
- return (0, _validateNode.default)({
- type: "TSTypeOperator",
- typeAnnotation,
- operator: null
- });
-}
-
-function tsIndexedAccessType(objectType, indexType) {
- return (0, _validateNode.default)({
- type: "TSIndexedAccessType",
- objectType,
- indexType
- });
-}
-
-function tsMappedType(typeParameter, typeAnnotation = null, nameType = null) {
- return (0, _validateNode.default)({
- type: "TSMappedType",
- typeParameter,
- typeAnnotation,
- nameType
- });
-}
-
-function tsLiteralType(literal) {
- return (0, _validateNode.default)({
- type: "TSLiteralType",
- literal
- });
-}
-
-function tsExpressionWithTypeArguments(expression, typeParameters = null) {
- return (0, _validateNode.default)({
- type: "TSExpressionWithTypeArguments",
- expression,
- typeParameters
- });
-}
-
-function tsInterfaceDeclaration(id, typeParameters = null, _extends = null, body) {
- return (0, _validateNode.default)({
- type: "TSInterfaceDeclaration",
- id,
- typeParameters,
- extends: _extends,
- body
- });
-}
-
-function tsInterfaceBody(body) {
- return (0, _validateNode.default)({
- type: "TSInterfaceBody",
- body
- });
-}
-
-function tsTypeAliasDeclaration(id, typeParameters = null, typeAnnotation) {
- return (0, _validateNode.default)({
- type: "TSTypeAliasDeclaration",
- id,
- typeParameters,
- typeAnnotation
- });
-}
-
-function tsInstantiationExpression(expression, typeParameters = null) {
- return (0, _validateNode.default)({
- type: "TSInstantiationExpression",
- expression,
- typeParameters
- });
-}
-
-function tsAsExpression(expression, typeAnnotation) {
- return (0, _validateNode.default)({
- type: "TSAsExpression",
- expression,
- typeAnnotation
- });
-}
-
-function tsTypeAssertion(typeAnnotation, expression) {
- return (0, _validateNode.default)({
- type: "TSTypeAssertion",
- typeAnnotation,
- expression
- });
-}
-
-function tsEnumDeclaration(id, members) {
- return (0, _validateNode.default)({
- type: "TSEnumDeclaration",
- id,
- members
- });
-}
-
-function tsEnumMember(id, initializer = null) {
- return (0, _validateNode.default)({
- type: "TSEnumMember",
- id,
- initializer
- });
-}
-
-function tsModuleDeclaration(id, body) {
- return (0, _validateNode.default)({
- type: "TSModuleDeclaration",
- id,
- body
- });
-}
-
-function tsModuleBlock(body) {
- return (0, _validateNode.default)({
- type: "TSModuleBlock",
- body
- });
-}
-
-function tsImportType(argument, qualifier = null, typeParameters = null) {
- return (0, _validateNode.default)({
- type: "TSImportType",
- argument,
- qualifier,
- typeParameters
- });
-}
-
-function tsImportEqualsDeclaration(id, moduleReference) {
- return (0, _validateNode.default)({
- type: "TSImportEqualsDeclaration",
- id,
- moduleReference,
- isExport: null
- });
-}
-
-function tsExternalModuleReference(expression) {
- return (0, _validateNode.default)({
- type: "TSExternalModuleReference",
- expression
- });
-}
-
-function tsNonNullExpression(expression) {
- return (0, _validateNode.default)({
- type: "TSNonNullExpression",
- expression
- });
-}
-
-function tsExportAssignment(expression) {
- return (0, _validateNode.default)({
- type: "TSExportAssignment",
- expression
- });
-}
-
-function tsNamespaceExportDeclaration(id) {
- return (0, _validateNode.default)({
- type: "TSNamespaceExportDeclaration",
- id
- });
-}
-
-function tsTypeAnnotation(typeAnnotation) {
- return (0, _validateNode.default)({
- type: "TSTypeAnnotation",
- typeAnnotation
- });
-}
-
-function tsTypeParameterInstantiation(params) {
- return (0, _validateNode.default)({
- type: "TSTypeParameterInstantiation",
- params
- });
-}
-
-function tsTypeParameterDeclaration(params) {
- return (0, _validateNode.default)({
- type: "TSTypeParameterDeclaration",
- params
- });
-}
-
-function tsTypeParameter(constraint = null, _default = null, name) {
- return (0, _validateNode.default)({
- type: "TSTypeParameter",
- constraint,
- default: _default,
- name
- });
-}
-
-function NumberLiteral(value) {
- console.trace("The node type NumberLiteral has been renamed to NumericLiteral");
- return numericLiteral(value);
-}
-
-function RegexLiteral(pattern, flags = "") {
- console.trace("The node type RegexLiteral has been renamed to RegExpLiteral");
- return regExpLiteral(pattern, flags);
-}
-
-function RestProperty(argument) {
- console.trace("The node type RestProperty has been renamed to RestElement");
- return restElement(argument);
-}
-
-function SpreadProperty(argument) {
- console.trace("The node type SpreadProperty has been renamed to SpreadElement");
- return spreadElement(argument);
-}
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/builders/generated/index.js.map b/includes/search/node_modules/@babel/types/lib/builders/generated/index.js.map
deleted file mode 100644
index 8ec1420..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/generated/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["arrayExpression","elements","validateNode","type","assignmentExpression","operator","left","right","binaryExpression","interpreterDirective","value","directive","directiveLiteral","blockStatement","body","directives","breakStatement","label","callExpression","callee","_arguments","arguments","catchClause","param","conditionalExpression","test","consequent","alternate","continueStatement","debuggerStatement","doWhileStatement","emptyStatement","expressionStatement","expression","file","program","comments","tokens","forInStatement","forStatement","init","update","functionDeclaration","id","params","generator","async","functionExpression","identifier","name","ifStatement","labeledStatement","stringLiteral","numericLiteral","nullLiteral","booleanLiteral","regExpLiteral","pattern","flags","logicalExpression","memberExpression","object","property","computed","optional","newExpression","sourceType","interpreter","sourceFile","objectExpression","properties","objectMethod","kind","key","objectProperty","shorthand","decorators","restElement","argument","returnStatement","sequenceExpression","expressions","parenthesizedExpression","switchCase","switchStatement","discriminant","cases","thisExpression","throwStatement","tryStatement","block","handler","finalizer","unaryExpression","prefix","updateExpression","variableDeclaration","declarations","variableDeclarator","whileStatement","withStatement","assignmentPattern","arrayPattern","arrowFunctionExpression","classBody","classExpression","superClass","classDeclaration","exportAllDeclaration","source","exportDefaultDeclaration","declaration","exportNamedDeclaration","specifiers","exportSpecifier","local","exported","forOfStatement","_await","await","importDeclaration","importDefaultSpecifier","importNamespaceSpecifier","importSpecifier","imported","metaProperty","meta","classMethod","_static","static","objectPattern","spreadElement","_super","taggedTemplateExpression","tag","quasi","templateElement","tail","templateLiteral","quasis","yieldExpression","delegate","awaitExpression","_import","bigIntLiteral","exportNamespaceSpecifier","optionalMemberExpression","optionalCallExpression","classProperty","typeAnnotation","classAccessorProperty","classPrivateProperty","classPrivateMethod","privateName","staticBlock","anyTypeAnnotation","arrayTypeAnnotation","elementType","booleanTypeAnnotation","booleanLiteralTypeAnnotation","nullLiteralTypeAnnotation","classImplements","typeParameters","declareClass","_extends","extends","declareFunction","declareInterface","declareModule","declareModuleExports","declareTypeAlias","declareOpaqueType","supertype","declareVariable","declareExportDeclaration","declareExportAllDeclaration","declaredPredicate","existsTypeAnnotation","functionTypeAnnotation","rest","returnType","functionTypeParam","genericTypeAnnotation","inferredPredicate","interfaceExtends","interfaceDeclaration","interfaceTypeAnnotation","intersectionTypeAnnotation","types","mixedTypeAnnotation","emptyTypeAnnotation","nullableTypeAnnotation","numberLiteralTypeAnnotation","numberTypeAnnotation","objectTypeAnnotation","indexers","callProperties","internalSlots","exact","objectTypeInternalSlot","method","objectTypeCallProperty","objectTypeIndexer","variance","objectTypeProperty","proto","objectTypeSpreadProperty","opaqueType","impltype","qualifiedTypeIdentifier","qualification","stringLiteralTypeAnnotation","stringTypeAnnotation","symbolTypeAnnotation","thisTypeAnnotation","tupleTypeAnnotation","typeofTypeAnnotation","typeAlias","typeCastExpression","typeParameter","bound","_default","default","typeParameterDeclaration","typeParameterInstantiation","unionTypeAnnotation","voidTypeAnnotation","enumDeclaration","enumBooleanBody","members","explicitType","hasUnknownMembers","enumNumberBody","enumStringBody","enumSymbolBody","enumBooleanMember","enumNumberMember","enumStringMember","enumDefaultedMember","indexedAccessType","objectType","indexType","optionalIndexedAccessType","jsxAttribute","jsxClosingElement","jsxElement","openingElement","closingElement","children","selfClosing","jsxEmptyExpression","jsxExpressionContainer","jsxSpreadChild","jsxIdentifier","jsxMemberExpression","jsxNamespacedName","namespace","jsxOpeningElement","attributes","jsxSpreadAttribute","jsxText","jsxFragment","openingFragment","closingFragment","jsxOpeningFragment","jsxClosingFragment","noop","placeholder","expectedNode","v8IntrinsicIdentifier","argumentPlaceholder","bindExpression","importAttribute","decorator","doExpression","exportDefaultSpecifier","recordExpression","tupleExpression","decimalLiteral","moduleExpression","topicReference","pipelineTopicExpression","pipelineBareFunction","pipelinePrimaryTopicReference","tsParameterProperty","parameter","tsDeclareFunction","tsDeclareMethod","tsQualifiedName","tsCallSignatureDeclaration","parameters","tsConstructSignatureDeclaration","tsPropertySignature","initializer","tsMethodSignature","tsIndexSignature","tsAnyKeyword","tsBooleanKeyword","tsBigIntKeyword","tsIntrinsicKeyword","tsNeverKeyword","tsNullKeyword","tsNumberKeyword","tsObjectKeyword","tsStringKeyword","tsSymbolKeyword","tsUndefinedKeyword","tsUnknownKeyword","tsVoidKeyword","tsThisType","tsFunctionType","tsConstructorType","tsTypeReference","typeName","tsTypePredicate","parameterName","asserts","tsTypeQuery","exprName","tsTypeLiteral","tsArrayType","tsTupleType","elementTypes","tsOptionalType","tsRestType","tsNamedTupleMember","tsUnionType","tsIntersectionType","tsConditionalType","checkType","extendsType","trueType","falseType","tsInferType","tsParenthesizedType","tsTypeOperator","tsIndexedAccessType","tsMappedType","nameType","tsLiteralType","literal","tsExpressionWithTypeArguments","tsInterfaceDeclaration","tsInterfaceBody","tsTypeAliasDeclaration","tsInstantiationExpression","tsAsExpression","tsTypeAssertion","tsEnumDeclaration","tsEnumMember","tsModuleDeclaration","tsModuleBlock","tsImportType","qualifier","tsImportEqualsDeclaration","moduleReference","isExport","tsExternalModuleReference","tsNonNullExpression","tsExportAssignment","tsNamespaceExportDeclaration","tsTypeAnnotation","tsTypeParameterInstantiation","tsTypeParameterDeclaration","tsTypeParameter","constraint","NumberLiteral","console","trace","RegexLiteral","RestProperty","SpreadProperty"],"sources":["../../../src/builders/generated/index.ts"],"sourcesContent":["/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\nimport validateNode from \"../validateNode\";\nimport type * as t from \"../..\";\nexport function arrayExpression(\n elements: Array<null | t.Expression | t.SpreadElement> = [],\n): t.ArrayExpression {\n return validateNode<t.ArrayExpression>({\n type: \"ArrayExpression\",\n elements,\n });\n}\nexport function assignmentExpression(\n operator: string,\n left: t.LVal,\n right: t.Expression,\n): t.AssignmentExpression {\n return validateNode<t.AssignmentExpression>({\n type: \"AssignmentExpression\",\n operator,\n left,\n right,\n });\n}\nexport function binaryExpression(\n operator:\n | \"+\"\n | \"-\"\n | \"/\"\n | \"%\"\n | \"*\"\n | \"**\"\n | \"&\"\n | \"|\"\n | \">>\"\n | \">>>\"\n | \"<<\"\n | \"^\"\n | \"==\"\n | \"===\"\n | \"!=\"\n | \"!==\"\n | \"in\"\n | \"instanceof\"\n | \">\"\n | \"<\"\n | \">=\"\n | \"<=\"\n | \"|>\",\n left: t.Expression | t.PrivateName,\n right: t.Expression,\n): t.BinaryExpression {\n return validateNode<t.BinaryExpression>({\n type: \"BinaryExpression\",\n operator,\n left,\n right,\n });\n}\nexport function interpreterDirective(value: string): t.InterpreterDirective {\n return validateNode<t.InterpreterDirective>({\n type: \"InterpreterDirective\",\n value,\n });\n}\nexport function directive(value: t.DirectiveLiteral): t.Directive {\n return validateNode<t.Directive>({\n type: \"Directive\",\n value,\n });\n}\nexport function directiveLiteral(value: string): t.DirectiveLiteral {\n return validateNode<t.DirectiveLiteral>({\n type: \"DirectiveLiteral\",\n value,\n });\n}\nexport function blockStatement(\n body: Array<t.Statement>,\n directives: Array<t.Directive> = [],\n): t.BlockStatement {\n return validateNode<t.BlockStatement>({\n type: \"BlockStatement\",\n body,\n directives,\n });\n}\nexport function breakStatement(\n label: t.Identifier | null = null,\n): t.BreakStatement {\n return validateNode<t.BreakStatement>({\n type: \"BreakStatement\",\n label,\n });\n}\nexport function callExpression(\n callee: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n _arguments: Array<\n t.Expression | t.SpreadElement | t.JSXNamespacedName | t.ArgumentPlaceholder\n >,\n): t.CallExpression {\n return validateNode<t.CallExpression>({\n type: \"CallExpression\",\n callee,\n arguments: _arguments,\n });\n}\nexport function catchClause(\n param:\n | t.Identifier\n | t.ArrayPattern\n | t.ObjectPattern\n | null\n | undefined = null,\n body: t.BlockStatement,\n): t.CatchClause {\n return validateNode<t.CatchClause>({\n type: \"CatchClause\",\n param,\n body,\n });\n}\nexport function conditionalExpression(\n test: t.Expression,\n consequent: t.Expression,\n alternate: t.Expression,\n): t.ConditionalExpression {\n return validateNode<t.ConditionalExpression>({\n type: \"ConditionalExpression\",\n test,\n consequent,\n alternate,\n });\n}\nexport function continueStatement(\n label: t.Identifier | null = null,\n): t.ContinueStatement {\n return validateNode<t.ContinueStatement>({\n type: \"ContinueStatement\",\n label,\n });\n}\nexport function debuggerStatement(): t.DebuggerStatement {\n return {\n type: \"DebuggerStatement\",\n };\n}\nexport function doWhileStatement(\n test: t.Expression,\n body: t.Statement,\n): t.DoWhileStatement {\n return validateNode<t.DoWhileStatement>({\n type: \"DoWhileStatement\",\n test,\n body,\n });\n}\nexport function emptyStatement(): t.EmptyStatement {\n return {\n type: \"EmptyStatement\",\n };\n}\nexport function expressionStatement(\n expression: t.Expression,\n): t.ExpressionStatement {\n return validateNode<t.ExpressionStatement>({\n type: \"ExpressionStatement\",\n expression,\n });\n}\nexport function file(\n program: t.Program,\n comments: Array<t.CommentBlock | t.CommentLine> | null = null,\n tokens: Array<any> | null = null,\n): t.File {\n return validateNode<t.File>({\n type: \"File\",\n program,\n comments,\n tokens,\n });\n}\nexport function forInStatement(\n left: t.VariableDeclaration | t.LVal,\n right: t.Expression,\n body: t.Statement,\n): t.ForInStatement {\n return validateNode<t.ForInStatement>({\n type: \"ForInStatement\",\n left,\n right,\n body,\n });\n}\nexport function forStatement(\n init: t.VariableDeclaration | t.Expression | null | undefined = null,\n test: t.Expression | null | undefined = null,\n update: t.Expression | null | undefined = null,\n body: t.Statement,\n): t.ForStatement {\n return validateNode<t.ForStatement>({\n type: \"ForStatement\",\n init,\n test,\n update,\n body,\n });\n}\nexport function functionDeclaration(\n id: t.Identifier | null | undefined = null,\n params: Array<t.Identifier | t.Pattern | t.RestElement>,\n body: t.BlockStatement,\n generator: boolean = false,\n async: boolean = false,\n): t.FunctionDeclaration {\n return validateNode<t.FunctionDeclaration>({\n type: \"FunctionDeclaration\",\n id,\n params,\n body,\n generator,\n async,\n });\n}\nexport function functionExpression(\n id: t.Identifier | null | undefined = null,\n params: Array<t.Identifier | t.Pattern | t.RestElement>,\n body: t.BlockStatement,\n generator: boolean = false,\n async: boolean = false,\n): t.FunctionExpression {\n return validateNode<t.FunctionExpression>({\n type: \"FunctionExpression\",\n id,\n params,\n body,\n generator,\n async,\n });\n}\nexport function identifier(name: string): t.Identifier {\n return validateNode<t.Identifier>({\n type: \"Identifier\",\n name,\n });\n}\nexport function ifStatement(\n test: t.Expression,\n consequent: t.Statement,\n alternate: t.Statement | null = null,\n): t.IfStatement {\n return validateNode<t.IfStatement>({\n type: \"IfStatement\",\n test,\n consequent,\n alternate,\n });\n}\nexport function labeledStatement(\n label: t.Identifier,\n body: t.Statement,\n): t.LabeledStatement {\n return validateNode<t.LabeledStatement>({\n type: \"LabeledStatement\",\n label,\n body,\n });\n}\nexport function stringLiteral(value: string): t.StringLiteral {\n return validateNode<t.StringLiteral>({\n type: \"StringLiteral\",\n value,\n });\n}\nexport function numericLiteral(value: number): t.NumericLiteral {\n return validateNode<t.NumericLiteral>({\n type: \"NumericLiteral\",\n value,\n });\n}\nexport function nullLiteral(): t.NullLiteral {\n return {\n type: \"NullLiteral\",\n };\n}\nexport function booleanLiteral(value: boolean): t.BooleanLiteral {\n return validateNode<t.BooleanLiteral>({\n type: \"BooleanLiteral\",\n value,\n });\n}\nexport function regExpLiteral(\n pattern: string,\n flags: string = \"\",\n): t.RegExpLiteral {\n return validateNode<t.RegExpLiteral>({\n type: \"RegExpLiteral\",\n pattern,\n flags,\n });\n}\nexport function logicalExpression(\n operator: \"||\" | \"&&\" | \"??\",\n left: t.Expression,\n right: t.Expression,\n): t.LogicalExpression {\n return validateNode<t.LogicalExpression>({\n type: \"LogicalExpression\",\n operator,\n left,\n right,\n });\n}\nexport function memberExpression(\n object: t.Expression | t.Super,\n property: t.Expression | t.Identifier | t.PrivateName,\n computed: boolean = false,\n optional: true | false | null = null,\n): t.MemberExpression {\n return validateNode<t.MemberExpression>({\n type: \"MemberExpression\",\n object,\n property,\n computed,\n optional,\n });\n}\nexport function newExpression(\n callee: t.Expression | t.Super | t.V8IntrinsicIdentifier,\n _arguments: Array<\n t.Expression | t.SpreadElement | t.JSXNamespacedName | t.ArgumentPlaceholder\n >,\n): t.NewExpression {\n return validateNode<t.NewExpression>({\n type: \"NewExpression\",\n callee,\n arguments: _arguments,\n });\n}\nexport function program(\n body: Array<t.Statement>,\n directives: Array<t.Directive> = [],\n sourceType: \"script\" | \"module\" = \"script\",\n interpreter: t.InterpreterDirective | null = null,\n): t.Program {\n return validateNode<t.Program>({\n type: \"Program\",\n body,\n directives,\n sourceType,\n interpreter,\n sourceFile: null,\n });\n}\nexport function objectExpression(\n properties: Array<t.ObjectMethod | t.ObjectProperty | t.SpreadElement>,\n): t.ObjectExpression {\n return validateNode<t.ObjectExpression>({\n type: \"ObjectExpression\",\n properties,\n });\n}\nexport function objectMethod(\n kind: \"method\" | \"get\" | \"set\" | undefined = \"method\",\n key:\n | t.Expression\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral,\n params: Array<t.Identifier | t.Pattern | t.RestElement>,\n body: t.BlockStatement,\n computed: boolean = false,\n generator: boolean = false,\n async: boolean = false,\n): t.ObjectMethod {\n return validateNode<t.ObjectMethod>({\n type: \"ObjectMethod\",\n kind,\n key,\n params,\n body,\n computed,\n generator,\n async,\n });\n}\nexport function objectProperty(\n key:\n | t.Expression\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.DecimalLiteral\n | t.PrivateName,\n value: t.Expression | t.PatternLike,\n computed: boolean = false,\n shorthand: boolean = false,\n decorators: Array<t.Decorator> | null = null,\n): t.ObjectProperty {\n return validateNode<t.ObjectProperty>({\n type: \"ObjectProperty\",\n key,\n value,\n computed,\n shorthand,\n decorators,\n });\n}\nexport function restElement(argument: t.LVal): t.RestElement {\n return validateNode<t.RestElement>({\n type: \"RestElement\",\n argument,\n });\n}\nexport function returnStatement(\n argument: t.Expression | null = null,\n): t.ReturnStatement {\n return validateNode<t.ReturnStatement>({\n type: \"ReturnStatement\",\n argument,\n });\n}\nexport function sequenceExpression(\n expressions: Array<t.Expression>,\n): t.SequenceExpression {\n return validateNode<t.SequenceExpression>({\n type: \"SequenceExpression\",\n expressions,\n });\n}\nexport function parenthesizedExpression(\n expression: t.Expression,\n): t.ParenthesizedExpression {\n return validateNode<t.ParenthesizedExpression>({\n type: \"ParenthesizedExpression\",\n expression,\n });\n}\nexport function switchCase(\n test: t.Expression | null | undefined = null,\n consequent: Array<t.Statement>,\n): t.SwitchCase {\n return validateNode<t.SwitchCase>({\n type: \"SwitchCase\",\n test,\n consequent,\n });\n}\nexport function switchStatement(\n discriminant: t.Expression,\n cases: Array<t.SwitchCase>,\n): t.SwitchStatement {\n return validateNode<t.SwitchStatement>({\n type: \"SwitchStatement\",\n discriminant,\n cases,\n });\n}\nexport function thisExpression(): t.ThisExpression {\n return {\n type: \"ThisExpression\",\n };\n}\nexport function throwStatement(argument: t.Expression): t.ThrowStatement {\n return validateNode<t.ThrowStatement>({\n type: \"ThrowStatement\",\n argument,\n });\n}\nexport function tryStatement(\n block: t.BlockStatement,\n handler: t.CatchClause | null = null,\n finalizer: t.BlockStatement | null = null,\n): t.TryStatement {\n return validateNode<t.TryStatement>({\n type: \"TryStatement\",\n block,\n handler,\n finalizer,\n });\n}\nexport function unaryExpression(\n operator: \"void\" | \"throw\" | \"delete\" | \"!\" | \"+\" | \"-\" | \"~\" | \"typeof\",\n argument: t.Expression,\n prefix: boolean = true,\n): t.UnaryExpression {\n return validateNode<t.UnaryExpression>({\n type: \"UnaryExpression\",\n operator,\n argument,\n prefix,\n });\n}\nexport function updateExpression(\n operator: \"++\" | \"--\",\n argument: t.Expression,\n prefix: boolean = false,\n): t.UpdateExpression {\n return validateNode<t.UpdateExpression>({\n type: \"UpdateExpression\",\n operator,\n argument,\n prefix,\n });\n}\nexport function variableDeclaration(\n kind: \"var\" | \"let\" | \"const\",\n declarations: Array<t.VariableDeclarator>,\n): t.VariableDeclaration {\n return validateNode<t.VariableDeclaration>({\n type: \"VariableDeclaration\",\n kind,\n declarations,\n });\n}\nexport function variableDeclarator(\n id: t.LVal,\n init: t.Expression | null = null,\n): t.VariableDeclarator {\n return validateNode<t.VariableDeclarator>({\n type: \"VariableDeclarator\",\n id,\n init,\n });\n}\nexport function whileStatement(\n test: t.Expression,\n body: t.Statement,\n): t.WhileStatement {\n return validateNode<t.WhileStatement>({\n type: \"WhileStatement\",\n test,\n body,\n });\n}\nexport function withStatement(\n object: t.Expression,\n body: t.Statement,\n): t.WithStatement {\n return validateNode<t.WithStatement>({\n type: \"WithStatement\",\n object,\n body,\n });\n}\nexport function assignmentPattern(\n left:\n | t.Identifier\n | t.ObjectPattern\n | t.ArrayPattern\n | t.MemberExpression\n | t.TSAsExpression\n | t.TSTypeAssertion\n | t.TSNonNullExpression,\n right: t.Expression,\n): t.AssignmentPattern {\n return validateNode<t.AssignmentPattern>({\n type: \"AssignmentPattern\",\n left,\n right,\n });\n}\nexport function arrayPattern(\n elements: Array<null | t.PatternLike | t.LVal>,\n): t.ArrayPattern {\n return validateNode<t.ArrayPattern>({\n type: \"ArrayPattern\",\n elements,\n });\n}\nexport function arrowFunctionExpression(\n params: Array<t.Identifier | t.Pattern | t.RestElement>,\n body: t.BlockStatement | t.Expression,\n async: boolean = false,\n): t.ArrowFunctionExpression {\n return validateNode<t.ArrowFunctionExpression>({\n type: \"ArrowFunctionExpression\",\n params,\n body,\n async,\n expression: null,\n });\n}\nexport function classBody(\n body: Array<\n | t.ClassMethod\n | t.ClassPrivateMethod\n | t.ClassProperty\n | t.ClassPrivateProperty\n | t.ClassAccessorProperty\n | t.TSDeclareMethod\n | t.TSIndexSignature\n | t.StaticBlock\n >,\n): t.ClassBody {\n return validateNode<t.ClassBody>({\n type: \"ClassBody\",\n body,\n });\n}\nexport function classExpression(\n id: t.Identifier | null | undefined = null,\n superClass: t.Expression | null | undefined = null,\n body: t.ClassBody,\n decorators: Array<t.Decorator> | null = null,\n): t.ClassExpression {\n return validateNode<t.ClassExpression>({\n type: \"ClassExpression\",\n id,\n superClass,\n body,\n decorators,\n });\n}\nexport function classDeclaration(\n id: t.Identifier,\n superClass: t.Expression | null | undefined = null,\n body: t.ClassBody,\n decorators: Array<t.Decorator> | null = null,\n): t.ClassDeclaration {\n return validateNode<t.ClassDeclaration>({\n type: \"ClassDeclaration\",\n id,\n superClass,\n body,\n decorators,\n });\n}\nexport function exportAllDeclaration(\n source: t.StringLiteral,\n): t.ExportAllDeclaration {\n return validateNode<t.ExportAllDeclaration>({\n type: \"ExportAllDeclaration\",\n source,\n });\n}\nexport function exportDefaultDeclaration(\n declaration:\n | t.TSDeclareFunction\n | t.FunctionDeclaration\n | t.ClassDeclaration\n | t.Expression,\n): t.ExportDefaultDeclaration {\n return validateNode<t.ExportDefaultDeclaration>({\n type: \"ExportDefaultDeclaration\",\n declaration,\n });\n}\nexport function exportNamedDeclaration(\n declaration: t.Declaration | null = null,\n specifiers: Array<\n t.ExportSpecifier | t.ExportDefaultSpecifier | t.ExportNamespaceSpecifier\n > = [],\n source: t.StringLiteral | null = null,\n): t.ExportNamedDeclaration {\n return validateNode<t.ExportNamedDeclaration>({\n type: \"ExportNamedDeclaration\",\n declaration,\n specifiers,\n source,\n });\n}\nexport function exportSpecifier(\n local: t.Identifier,\n exported: t.Identifier | t.StringLiteral,\n): t.ExportSpecifier {\n return validateNode<t.ExportSpecifier>({\n type: \"ExportSpecifier\",\n local,\n exported,\n });\n}\nexport function forOfStatement(\n left: t.VariableDeclaration | t.LVal,\n right: t.Expression,\n body: t.Statement,\n _await: boolean = false,\n): t.ForOfStatement {\n return validateNode<t.ForOfStatement>({\n type: \"ForOfStatement\",\n left,\n right,\n body,\n await: _await,\n });\n}\nexport function importDeclaration(\n specifiers: Array<\n t.ImportSpecifier | t.ImportDefaultSpecifier | t.ImportNamespaceSpecifier\n >,\n source: t.StringLiteral,\n): t.ImportDeclaration {\n return validateNode<t.ImportDeclaration>({\n type: \"ImportDeclaration\",\n specifiers,\n source,\n });\n}\nexport function importDefaultSpecifier(\n local: t.Identifier,\n): t.ImportDefaultSpecifier {\n return validateNode<t.ImportDefaultSpecifier>({\n type: \"ImportDefaultSpecifier\",\n local,\n });\n}\nexport function importNamespaceSpecifier(\n local: t.Identifier,\n): t.ImportNamespaceSpecifier {\n return validateNode<t.ImportNamespaceSpecifier>({\n type: \"ImportNamespaceSpecifier\",\n local,\n });\n}\nexport function importSpecifier(\n local: t.Identifier,\n imported: t.Identifier | t.StringLiteral,\n): t.ImportSpecifier {\n return validateNode<t.ImportSpecifier>({\n type: \"ImportSpecifier\",\n local,\n imported,\n });\n}\nexport function metaProperty(\n meta: t.Identifier,\n property: t.Identifier,\n): t.MetaProperty {\n return validateNode<t.MetaProperty>({\n type: \"MetaProperty\",\n meta,\n property,\n });\n}\nexport function classMethod(\n kind: \"get\" | \"set\" | \"method\" | \"constructor\" | undefined = \"method\",\n key:\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.Expression,\n params: Array<\n t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty\n >,\n body: t.BlockStatement,\n computed: boolean = false,\n _static: boolean = false,\n generator: boolean = false,\n async: boolean = false,\n): t.ClassMethod {\n return validateNode<t.ClassMethod>({\n type: \"ClassMethod\",\n kind,\n key,\n params,\n body,\n computed,\n static: _static,\n generator,\n async,\n });\n}\nexport function objectPattern(\n properties: Array<t.RestElement | t.ObjectProperty>,\n): t.ObjectPattern {\n return validateNode<t.ObjectPattern>({\n type: \"ObjectPattern\",\n properties,\n });\n}\nexport function spreadElement(argument: t.Expression): t.SpreadElement {\n return validateNode<t.SpreadElement>({\n type: \"SpreadElement\",\n argument,\n });\n}\nfunction _super(): t.Super {\n return {\n type: \"Super\",\n };\n}\nexport { _super as super };\nexport function taggedTemplateExpression(\n tag: t.Expression,\n quasi: t.TemplateLiteral,\n): t.TaggedTemplateExpression {\n return validateNode<t.TaggedTemplateExpression>({\n type: \"TaggedTemplateExpression\",\n tag,\n quasi,\n });\n}\nexport function templateElement(\n value: { raw: string; cooked?: string },\n tail: boolean = false,\n): t.TemplateElement {\n return validateNode<t.TemplateElement>({\n type: \"TemplateElement\",\n value,\n tail,\n });\n}\nexport function templateLiteral(\n quasis: Array<t.TemplateElement>,\n expressions: Array<t.Expression | t.TSType>,\n): t.TemplateLiteral {\n return validateNode<t.TemplateLiteral>({\n type: \"TemplateLiteral\",\n quasis,\n expressions,\n });\n}\nexport function yieldExpression(\n argument: t.Expression | null = null,\n delegate: boolean = false,\n): t.YieldExpression {\n return validateNode<t.YieldExpression>({\n type: \"YieldExpression\",\n argument,\n delegate,\n });\n}\nexport function awaitExpression(argument: t.Expression): t.AwaitExpression {\n return validateNode<t.AwaitExpression>({\n type: \"AwaitExpression\",\n argument,\n });\n}\nfunction _import(): t.Import {\n return {\n type: \"Import\",\n };\n}\nexport { _import as import };\nexport function bigIntLiteral(value: string): t.BigIntLiteral {\n return validateNode<t.BigIntLiteral>({\n type: \"BigIntLiteral\",\n value,\n });\n}\nexport function exportNamespaceSpecifier(\n exported: t.Identifier,\n): t.ExportNamespaceSpecifier {\n return validateNode<t.ExportNamespaceSpecifier>({\n type: \"ExportNamespaceSpecifier\",\n exported,\n });\n}\nexport function optionalMemberExpression(\n object: t.Expression,\n property: t.Expression | t.Identifier,\n computed: boolean | undefined = false,\n optional: boolean,\n): t.OptionalMemberExpression {\n return validateNode<t.OptionalMemberExpression>({\n type: \"OptionalMemberExpression\",\n object,\n property,\n computed,\n optional,\n });\n}\nexport function optionalCallExpression(\n callee: t.Expression,\n _arguments: Array<\n t.Expression | t.SpreadElement | t.JSXNamespacedName | t.ArgumentPlaceholder\n >,\n optional: boolean,\n): t.OptionalCallExpression {\n return validateNode<t.OptionalCallExpression>({\n type: \"OptionalCallExpression\",\n callee,\n arguments: _arguments,\n optional,\n });\n}\nexport function classProperty(\n key:\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.Expression,\n value: t.Expression | null = null,\n typeAnnotation: t.TypeAnnotation | t.TSTypeAnnotation | t.Noop | null = null,\n decorators: Array<t.Decorator> | null = null,\n computed: boolean = false,\n _static: boolean = false,\n): t.ClassProperty {\n return validateNode<t.ClassProperty>({\n type: \"ClassProperty\",\n key,\n value,\n typeAnnotation,\n decorators,\n computed,\n static: _static,\n });\n}\nexport function classAccessorProperty(\n key:\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.Expression\n | t.PrivateName,\n value: t.Expression | null = null,\n typeAnnotation: t.TypeAnnotation | t.TSTypeAnnotation | t.Noop | null = null,\n decorators: Array<t.Decorator> | null = null,\n computed: boolean = false,\n _static: boolean = false,\n): t.ClassAccessorProperty {\n return validateNode<t.ClassAccessorProperty>({\n type: \"ClassAccessorProperty\",\n key,\n value,\n typeAnnotation,\n decorators,\n computed,\n static: _static,\n });\n}\nexport function classPrivateProperty(\n key: t.PrivateName,\n value: t.Expression | null = null,\n decorators: Array<t.Decorator> | null = null,\n _static: boolean = false,\n): t.ClassPrivateProperty {\n return validateNode<t.ClassPrivateProperty>({\n type: \"ClassPrivateProperty\",\n key,\n value,\n decorators,\n static: _static,\n });\n}\nexport function classPrivateMethod(\n kind: \"get\" | \"set\" | \"method\" | undefined = \"method\",\n key: t.PrivateName,\n params: Array<\n t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty\n >,\n body: t.BlockStatement,\n _static: boolean = false,\n): t.ClassPrivateMethod {\n return validateNode<t.ClassPrivateMethod>({\n type: \"ClassPrivateMethod\",\n kind,\n key,\n params,\n body,\n static: _static,\n });\n}\nexport function privateName(id: t.Identifier): t.PrivateName {\n return validateNode<t.PrivateName>({\n type: \"PrivateName\",\n id,\n });\n}\nexport function staticBlock(body: Array<t.Statement>): t.StaticBlock {\n return validateNode<t.StaticBlock>({\n type: \"StaticBlock\",\n body,\n });\n}\nexport function anyTypeAnnotation(): t.AnyTypeAnnotation {\n return {\n type: \"AnyTypeAnnotation\",\n };\n}\nexport function arrayTypeAnnotation(\n elementType: t.FlowType,\n): t.ArrayTypeAnnotation {\n return validateNode<t.ArrayTypeAnnotation>({\n type: \"ArrayTypeAnnotation\",\n elementType,\n });\n}\nexport function booleanTypeAnnotation(): t.BooleanTypeAnnotation {\n return {\n type: \"BooleanTypeAnnotation\",\n };\n}\nexport function booleanLiteralTypeAnnotation(\n value: boolean,\n): t.BooleanLiteralTypeAnnotation {\n return validateNode<t.BooleanLiteralTypeAnnotation>({\n type: \"BooleanLiteralTypeAnnotation\",\n value,\n });\n}\nexport function nullLiteralTypeAnnotation(): t.NullLiteralTypeAnnotation {\n return {\n type: \"NullLiteralTypeAnnotation\",\n };\n}\nexport function classImplements(\n id: t.Identifier,\n typeParameters: t.TypeParameterInstantiation | null = null,\n): t.ClassImplements {\n return validateNode<t.ClassImplements>({\n type: \"ClassImplements\",\n id,\n typeParameters,\n });\n}\nexport function declareClass(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n _extends: Array<t.InterfaceExtends> | null | undefined = null,\n body: t.ObjectTypeAnnotation,\n): t.DeclareClass {\n return validateNode<t.DeclareClass>({\n type: \"DeclareClass\",\n id,\n typeParameters,\n extends: _extends,\n body,\n });\n}\nexport function declareFunction(id: t.Identifier): t.DeclareFunction {\n return validateNode<t.DeclareFunction>({\n type: \"DeclareFunction\",\n id,\n });\n}\nexport function declareInterface(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n _extends: Array<t.InterfaceExtends> | null | undefined = null,\n body: t.ObjectTypeAnnotation,\n): t.DeclareInterface {\n return validateNode<t.DeclareInterface>({\n type: \"DeclareInterface\",\n id,\n typeParameters,\n extends: _extends,\n body,\n });\n}\nexport function declareModule(\n id: t.Identifier | t.StringLiteral,\n body: t.BlockStatement,\n kind: \"CommonJS\" | \"ES\" | null = null,\n): t.DeclareModule {\n return validateNode<t.DeclareModule>({\n type: \"DeclareModule\",\n id,\n body,\n kind,\n });\n}\nexport function declareModuleExports(\n typeAnnotation: t.TypeAnnotation,\n): t.DeclareModuleExports {\n return validateNode<t.DeclareModuleExports>({\n type: \"DeclareModuleExports\",\n typeAnnotation,\n });\n}\nexport function declareTypeAlias(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n right: t.FlowType,\n): t.DeclareTypeAlias {\n return validateNode<t.DeclareTypeAlias>({\n type: \"DeclareTypeAlias\",\n id,\n typeParameters,\n right,\n });\n}\nexport function declareOpaqueType(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null = null,\n supertype: t.FlowType | null = null,\n): t.DeclareOpaqueType {\n return validateNode<t.DeclareOpaqueType>({\n type: \"DeclareOpaqueType\",\n id,\n typeParameters,\n supertype,\n });\n}\nexport function declareVariable(id: t.Identifier): t.DeclareVariable {\n return validateNode<t.DeclareVariable>({\n type: \"DeclareVariable\",\n id,\n });\n}\nexport function declareExportDeclaration(\n declaration: t.Flow | null = null,\n specifiers: Array<\n t.ExportSpecifier | t.ExportNamespaceSpecifier\n > | null = null,\n source: t.StringLiteral | null = null,\n): t.DeclareExportDeclaration {\n return validateNode<t.DeclareExportDeclaration>({\n type: \"DeclareExportDeclaration\",\n declaration,\n specifiers,\n source,\n });\n}\nexport function declareExportAllDeclaration(\n source: t.StringLiteral,\n): t.DeclareExportAllDeclaration {\n return validateNode<t.DeclareExportAllDeclaration>({\n type: \"DeclareExportAllDeclaration\",\n source,\n });\n}\nexport function declaredPredicate(value: t.Flow): t.DeclaredPredicate {\n return validateNode<t.DeclaredPredicate>({\n type: \"DeclaredPredicate\",\n value,\n });\n}\nexport function existsTypeAnnotation(): t.ExistsTypeAnnotation {\n return {\n type: \"ExistsTypeAnnotation\",\n };\n}\nexport function functionTypeAnnotation(\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n params: Array<t.FunctionTypeParam>,\n rest: t.FunctionTypeParam | null | undefined = null,\n returnType: t.FlowType,\n): t.FunctionTypeAnnotation {\n return validateNode<t.FunctionTypeAnnotation>({\n type: \"FunctionTypeAnnotation\",\n typeParameters,\n params,\n rest,\n returnType,\n });\n}\nexport function functionTypeParam(\n name: t.Identifier | null | undefined = null,\n typeAnnotation: t.FlowType,\n): t.FunctionTypeParam {\n return validateNode<t.FunctionTypeParam>({\n type: \"FunctionTypeParam\",\n name,\n typeAnnotation,\n });\n}\nexport function genericTypeAnnotation(\n id: t.Identifier | t.QualifiedTypeIdentifier,\n typeParameters: t.TypeParameterInstantiation | null = null,\n): t.GenericTypeAnnotation {\n return validateNode<t.GenericTypeAnnotation>({\n type: \"GenericTypeAnnotation\",\n id,\n typeParameters,\n });\n}\nexport function inferredPredicate(): t.InferredPredicate {\n return {\n type: \"InferredPredicate\",\n };\n}\nexport function interfaceExtends(\n id: t.Identifier | t.QualifiedTypeIdentifier,\n typeParameters: t.TypeParameterInstantiation | null = null,\n): t.InterfaceExtends {\n return validateNode<t.InterfaceExtends>({\n type: \"InterfaceExtends\",\n id,\n typeParameters,\n });\n}\nexport function interfaceDeclaration(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n _extends: Array<t.InterfaceExtends> | null | undefined = null,\n body: t.ObjectTypeAnnotation,\n): t.InterfaceDeclaration {\n return validateNode<t.InterfaceDeclaration>({\n type: \"InterfaceDeclaration\",\n id,\n typeParameters,\n extends: _extends,\n body,\n });\n}\nexport function interfaceTypeAnnotation(\n _extends: Array<t.InterfaceExtends> | null | undefined = null,\n body: t.ObjectTypeAnnotation,\n): t.InterfaceTypeAnnotation {\n return validateNode<t.InterfaceTypeAnnotation>({\n type: \"InterfaceTypeAnnotation\",\n extends: _extends,\n body,\n });\n}\nexport function intersectionTypeAnnotation(\n types: Array<t.FlowType>,\n): t.IntersectionTypeAnnotation {\n return validateNode<t.IntersectionTypeAnnotation>({\n type: \"IntersectionTypeAnnotation\",\n types,\n });\n}\nexport function mixedTypeAnnotation(): t.MixedTypeAnnotation {\n return {\n type: \"MixedTypeAnnotation\",\n };\n}\nexport function emptyTypeAnnotation(): t.EmptyTypeAnnotation {\n return {\n type: \"EmptyTypeAnnotation\",\n };\n}\nexport function nullableTypeAnnotation(\n typeAnnotation: t.FlowType,\n): t.NullableTypeAnnotation {\n return validateNode<t.NullableTypeAnnotation>({\n type: \"NullableTypeAnnotation\",\n typeAnnotation,\n });\n}\nexport function numberLiteralTypeAnnotation(\n value: number,\n): t.NumberLiteralTypeAnnotation {\n return validateNode<t.NumberLiteralTypeAnnotation>({\n type: \"NumberLiteralTypeAnnotation\",\n value,\n });\n}\nexport function numberTypeAnnotation(): t.NumberTypeAnnotation {\n return {\n type: \"NumberTypeAnnotation\",\n };\n}\nexport function objectTypeAnnotation(\n properties: Array<t.ObjectTypeProperty | t.ObjectTypeSpreadProperty>,\n indexers: Array<t.ObjectTypeIndexer> = [],\n callProperties: Array<t.ObjectTypeCallProperty> = [],\n internalSlots: Array<t.ObjectTypeInternalSlot> = [],\n exact: boolean = false,\n): t.ObjectTypeAnnotation {\n return validateNode<t.ObjectTypeAnnotation>({\n type: \"ObjectTypeAnnotation\",\n properties,\n indexers,\n callProperties,\n internalSlots,\n exact,\n });\n}\nexport function objectTypeInternalSlot(\n id: t.Identifier,\n value: t.FlowType,\n optional: boolean,\n _static: boolean,\n method: boolean,\n): t.ObjectTypeInternalSlot {\n return validateNode<t.ObjectTypeInternalSlot>({\n type: \"ObjectTypeInternalSlot\",\n id,\n value,\n optional,\n static: _static,\n method,\n });\n}\nexport function objectTypeCallProperty(\n value: t.FlowType,\n): t.ObjectTypeCallProperty {\n return validateNode<t.ObjectTypeCallProperty>({\n type: \"ObjectTypeCallProperty\",\n value,\n static: null,\n });\n}\nexport function objectTypeIndexer(\n id: t.Identifier | null | undefined = null,\n key: t.FlowType,\n value: t.FlowType,\n variance: t.Variance | null = null,\n): t.ObjectTypeIndexer {\n return validateNode<t.ObjectTypeIndexer>({\n type: \"ObjectTypeIndexer\",\n id,\n key,\n value,\n variance,\n static: null,\n });\n}\nexport function objectTypeProperty(\n key: t.Identifier | t.StringLiteral,\n value: t.FlowType,\n variance: t.Variance | null = null,\n): t.ObjectTypeProperty {\n return validateNode<t.ObjectTypeProperty>({\n type: \"ObjectTypeProperty\",\n key,\n value,\n variance,\n kind: null,\n method: null,\n optional: null,\n proto: null,\n static: null,\n });\n}\nexport function objectTypeSpreadProperty(\n argument: t.FlowType,\n): t.ObjectTypeSpreadProperty {\n return validateNode<t.ObjectTypeSpreadProperty>({\n type: \"ObjectTypeSpreadProperty\",\n argument,\n });\n}\nexport function opaqueType(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n supertype: t.FlowType | null | undefined = null,\n impltype: t.FlowType,\n): t.OpaqueType {\n return validateNode<t.OpaqueType>({\n type: \"OpaqueType\",\n id,\n typeParameters,\n supertype,\n impltype,\n });\n}\nexport function qualifiedTypeIdentifier(\n id: t.Identifier,\n qualification: t.Identifier | t.QualifiedTypeIdentifier,\n): t.QualifiedTypeIdentifier {\n return validateNode<t.QualifiedTypeIdentifier>({\n type: \"QualifiedTypeIdentifier\",\n id,\n qualification,\n });\n}\nexport function stringLiteralTypeAnnotation(\n value: string,\n): t.StringLiteralTypeAnnotation {\n return validateNode<t.StringLiteralTypeAnnotation>({\n type: \"StringLiteralTypeAnnotation\",\n value,\n });\n}\nexport function stringTypeAnnotation(): t.StringTypeAnnotation {\n return {\n type: \"StringTypeAnnotation\",\n };\n}\nexport function symbolTypeAnnotation(): t.SymbolTypeAnnotation {\n return {\n type: \"SymbolTypeAnnotation\",\n };\n}\nexport function thisTypeAnnotation(): t.ThisTypeAnnotation {\n return {\n type: \"ThisTypeAnnotation\",\n };\n}\nexport function tupleTypeAnnotation(\n types: Array<t.FlowType>,\n): t.TupleTypeAnnotation {\n return validateNode<t.TupleTypeAnnotation>({\n type: \"TupleTypeAnnotation\",\n types,\n });\n}\nexport function typeofTypeAnnotation(\n argument: t.FlowType,\n): t.TypeofTypeAnnotation {\n return validateNode<t.TypeofTypeAnnotation>({\n type: \"TypeofTypeAnnotation\",\n argument,\n });\n}\nexport function typeAlias(\n id: t.Identifier,\n typeParameters: t.TypeParameterDeclaration | null | undefined = null,\n right: t.FlowType,\n): t.TypeAlias {\n return validateNode<t.TypeAlias>({\n type: \"TypeAlias\",\n id,\n typeParameters,\n right,\n });\n}\nexport function typeAnnotation(typeAnnotation: t.FlowType): t.TypeAnnotation {\n return validateNode<t.TypeAnnotation>({\n type: \"TypeAnnotation\",\n typeAnnotation,\n });\n}\nexport function typeCastExpression(\n expression: t.Expression,\n typeAnnotation: t.TypeAnnotation,\n): t.TypeCastExpression {\n return validateNode<t.TypeCastExpression>({\n type: \"TypeCastExpression\",\n expression,\n typeAnnotation,\n });\n}\nexport function typeParameter(\n bound: t.TypeAnnotation | null = null,\n _default: t.FlowType | null = null,\n variance: t.Variance | null = null,\n): t.TypeParameter {\n return validateNode<t.TypeParameter>({\n type: \"TypeParameter\",\n bound,\n default: _default,\n variance,\n name: null,\n });\n}\nexport function typeParameterDeclaration(\n params: Array<t.TypeParameter>,\n): t.TypeParameterDeclaration {\n return validateNode<t.TypeParameterDeclaration>({\n type: \"TypeParameterDeclaration\",\n params,\n });\n}\nexport function typeParameterInstantiation(\n params: Array<t.FlowType>,\n): t.TypeParameterInstantiation {\n return validateNode<t.TypeParameterInstantiation>({\n type: \"TypeParameterInstantiation\",\n params,\n });\n}\nexport function unionTypeAnnotation(\n types: Array<t.FlowType>,\n): t.UnionTypeAnnotation {\n return validateNode<t.UnionTypeAnnotation>({\n type: \"UnionTypeAnnotation\",\n types,\n });\n}\nexport function variance(kind: \"minus\" | \"plus\"): t.Variance {\n return validateNode<t.Variance>({\n type: \"Variance\",\n kind,\n });\n}\nexport function voidTypeAnnotation(): t.VoidTypeAnnotation {\n return {\n type: \"VoidTypeAnnotation\",\n };\n}\nexport function enumDeclaration(\n id: t.Identifier,\n body:\n | t.EnumBooleanBody\n | t.EnumNumberBody\n | t.EnumStringBody\n | t.EnumSymbolBody,\n): t.EnumDeclaration {\n return validateNode<t.EnumDeclaration>({\n type: \"EnumDeclaration\",\n id,\n body,\n });\n}\nexport function enumBooleanBody(\n members: Array<t.EnumBooleanMember>,\n): t.EnumBooleanBody {\n return validateNode<t.EnumBooleanBody>({\n type: \"EnumBooleanBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null,\n });\n}\nexport function enumNumberBody(\n members: Array<t.EnumNumberMember>,\n): t.EnumNumberBody {\n return validateNode<t.EnumNumberBody>({\n type: \"EnumNumberBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null,\n });\n}\nexport function enumStringBody(\n members: Array<t.EnumStringMember | t.EnumDefaultedMember>,\n): t.EnumStringBody {\n return validateNode<t.EnumStringBody>({\n type: \"EnumStringBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null,\n });\n}\nexport function enumSymbolBody(\n members: Array<t.EnumDefaultedMember>,\n): t.EnumSymbolBody {\n return validateNode<t.EnumSymbolBody>({\n type: \"EnumSymbolBody\",\n members,\n hasUnknownMembers: null,\n });\n}\nexport function enumBooleanMember(id: t.Identifier): t.EnumBooleanMember {\n return validateNode<t.EnumBooleanMember>({\n type: \"EnumBooleanMember\",\n id,\n init: null,\n });\n}\nexport function enumNumberMember(\n id: t.Identifier,\n init: t.NumericLiteral,\n): t.EnumNumberMember {\n return validateNode<t.EnumNumberMember>({\n type: \"EnumNumberMember\",\n id,\n init,\n });\n}\nexport function enumStringMember(\n id: t.Identifier,\n init: t.StringLiteral,\n): t.EnumStringMember {\n return validateNode<t.EnumStringMember>({\n type: \"EnumStringMember\",\n id,\n init,\n });\n}\nexport function enumDefaultedMember(id: t.Identifier): t.EnumDefaultedMember {\n return validateNode<t.EnumDefaultedMember>({\n type: \"EnumDefaultedMember\",\n id,\n });\n}\nexport function indexedAccessType(\n objectType: t.FlowType,\n indexType: t.FlowType,\n): t.IndexedAccessType {\n return validateNode<t.IndexedAccessType>({\n type: \"IndexedAccessType\",\n objectType,\n indexType,\n });\n}\nexport function optionalIndexedAccessType(\n objectType: t.FlowType,\n indexType: t.FlowType,\n): t.OptionalIndexedAccessType {\n return validateNode<t.OptionalIndexedAccessType>({\n type: \"OptionalIndexedAccessType\",\n objectType,\n indexType,\n optional: null,\n });\n}\nexport function jsxAttribute(\n name: t.JSXIdentifier | t.JSXNamespacedName,\n value:\n | t.JSXElement\n | t.JSXFragment\n | t.StringLiteral\n | t.JSXExpressionContainer\n | null = null,\n): t.JSXAttribute {\n return validateNode<t.JSXAttribute>({\n type: \"JSXAttribute\",\n name,\n value,\n });\n}\nexport { jsxAttribute as jSXAttribute };\nexport function jsxClosingElement(\n name: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName,\n): t.JSXClosingElement {\n return validateNode<t.JSXClosingElement>({\n type: \"JSXClosingElement\",\n name,\n });\n}\nexport { jsxClosingElement as jSXClosingElement };\nexport function jsxElement(\n openingElement: t.JSXOpeningElement,\n closingElement: t.JSXClosingElement | null | undefined = null,\n children: Array<\n | t.JSXText\n | t.JSXExpressionContainer\n | t.JSXSpreadChild\n | t.JSXElement\n | t.JSXFragment\n >,\n selfClosing: boolean | null = null,\n): t.JSXElement {\n return validateNode<t.JSXElement>({\n type: \"JSXElement\",\n openingElement,\n closingElement,\n children,\n selfClosing,\n });\n}\nexport { jsxElement as jSXElement };\nexport function jsxEmptyExpression(): t.JSXEmptyExpression {\n return {\n type: \"JSXEmptyExpression\",\n };\n}\nexport { jsxEmptyExpression as jSXEmptyExpression };\nexport function jsxExpressionContainer(\n expression: t.Expression | t.JSXEmptyExpression,\n): t.JSXExpressionContainer {\n return validateNode<t.JSXExpressionContainer>({\n type: \"JSXExpressionContainer\",\n expression,\n });\n}\nexport { jsxExpressionContainer as jSXExpressionContainer };\nexport function jsxSpreadChild(expression: t.Expression): t.JSXSpreadChild {\n return validateNode<t.JSXSpreadChild>({\n type: \"JSXSpreadChild\",\n expression,\n });\n}\nexport { jsxSpreadChild as jSXSpreadChild };\nexport function jsxIdentifier(name: string): t.JSXIdentifier {\n return validateNode<t.JSXIdentifier>({\n type: \"JSXIdentifier\",\n name,\n });\n}\nexport { jsxIdentifier as jSXIdentifier };\nexport function jsxMemberExpression(\n object: t.JSXMemberExpression | t.JSXIdentifier,\n property: t.JSXIdentifier,\n): t.JSXMemberExpression {\n return validateNode<t.JSXMemberExpression>({\n type: \"JSXMemberExpression\",\n object,\n property,\n });\n}\nexport { jsxMemberExpression as jSXMemberExpression };\nexport function jsxNamespacedName(\n namespace: t.JSXIdentifier,\n name: t.JSXIdentifier,\n): t.JSXNamespacedName {\n return validateNode<t.JSXNamespacedName>({\n type: \"JSXNamespacedName\",\n namespace,\n name,\n });\n}\nexport { jsxNamespacedName as jSXNamespacedName };\nexport function jsxOpeningElement(\n name: t.JSXIdentifier | t.JSXMemberExpression | t.JSXNamespacedName,\n attributes: Array<t.JSXAttribute | t.JSXSpreadAttribute>,\n selfClosing: boolean = false,\n): t.JSXOpeningElement {\n return validateNode<t.JSXOpeningElement>({\n type: \"JSXOpeningElement\",\n name,\n attributes,\n selfClosing,\n });\n}\nexport { jsxOpeningElement as jSXOpeningElement };\nexport function jsxSpreadAttribute(\n argument: t.Expression,\n): t.JSXSpreadAttribute {\n return validateNode<t.JSXSpreadAttribute>({\n type: \"JSXSpreadAttribute\",\n argument,\n });\n}\nexport { jsxSpreadAttribute as jSXSpreadAttribute };\nexport function jsxText(value: string): t.JSXText {\n return validateNode<t.JSXText>({\n type: \"JSXText\",\n value,\n });\n}\nexport { jsxText as jSXText };\nexport function jsxFragment(\n openingFragment: t.JSXOpeningFragment,\n closingFragment: t.JSXClosingFragment,\n children: Array<\n | t.JSXText\n | t.JSXExpressionContainer\n | t.JSXSpreadChild\n | t.JSXElement\n | t.JSXFragment\n >,\n): t.JSXFragment {\n return validateNode<t.JSXFragment>({\n type: \"JSXFragment\",\n openingFragment,\n closingFragment,\n children,\n });\n}\nexport { jsxFragment as jSXFragment };\nexport function jsxOpeningFragment(): t.JSXOpeningFragment {\n return {\n type: \"JSXOpeningFragment\",\n };\n}\nexport { jsxOpeningFragment as jSXOpeningFragment };\nexport function jsxClosingFragment(): t.JSXClosingFragment {\n return {\n type: \"JSXClosingFragment\",\n };\n}\nexport { jsxClosingFragment as jSXClosingFragment };\nexport function noop(): t.Noop {\n return {\n type: \"Noop\",\n };\n}\nexport function placeholder(\n expectedNode:\n | \"Identifier\"\n | \"StringLiteral\"\n | \"Expression\"\n | \"Statement\"\n | \"Declaration\"\n | \"BlockStatement\"\n | \"ClassBody\"\n | \"Pattern\",\n name: t.Identifier,\n): t.Placeholder {\n return validateNode<t.Placeholder>({\n type: \"Placeholder\",\n expectedNode,\n name,\n });\n}\nexport function v8IntrinsicIdentifier(name: string): t.V8IntrinsicIdentifier {\n return validateNode<t.V8IntrinsicIdentifier>({\n type: \"V8IntrinsicIdentifier\",\n name,\n });\n}\nexport function argumentPlaceholder(): t.ArgumentPlaceholder {\n return {\n type: \"ArgumentPlaceholder\",\n };\n}\nexport function bindExpression(\n object: t.Expression,\n callee: t.Expression,\n): t.BindExpression {\n return validateNode<t.BindExpression>({\n type: \"BindExpression\",\n object,\n callee,\n });\n}\nexport function importAttribute(\n key: t.Identifier | t.StringLiteral,\n value: t.StringLiteral,\n): t.ImportAttribute {\n return validateNode<t.ImportAttribute>({\n type: \"ImportAttribute\",\n key,\n value,\n });\n}\nexport function decorator(expression: t.Expression): t.Decorator {\n return validateNode<t.Decorator>({\n type: \"Decorator\",\n expression,\n });\n}\nexport function doExpression(\n body: t.BlockStatement,\n async: boolean = false,\n): t.DoExpression {\n return validateNode<t.DoExpression>({\n type: \"DoExpression\",\n body,\n async,\n });\n}\nexport function exportDefaultSpecifier(\n exported: t.Identifier,\n): t.ExportDefaultSpecifier {\n return validateNode<t.ExportDefaultSpecifier>({\n type: \"ExportDefaultSpecifier\",\n exported,\n });\n}\nexport function recordExpression(\n properties: Array<t.ObjectProperty | t.SpreadElement>,\n): t.RecordExpression {\n return validateNode<t.RecordExpression>({\n type: \"RecordExpression\",\n properties,\n });\n}\nexport function tupleExpression(\n elements: Array<t.Expression | t.SpreadElement> = [],\n): t.TupleExpression {\n return validateNode<t.TupleExpression>({\n type: \"TupleExpression\",\n elements,\n });\n}\nexport function decimalLiteral(value: string): t.DecimalLiteral {\n return validateNode<t.DecimalLiteral>({\n type: \"DecimalLiteral\",\n value,\n });\n}\nexport function moduleExpression(body: t.Program): t.ModuleExpression {\n return validateNode<t.ModuleExpression>({\n type: \"ModuleExpression\",\n body,\n });\n}\nexport function topicReference(): t.TopicReference {\n return {\n type: \"TopicReference\",\n };\n}\nexport function pipelineTopicExpression(\n expression: t.Expression,\n): t.PipelineTopicExpression {\n return validateNode<t.PipelineTopicExpression>({\n type: \"PipelineTopicExpression\",\n expression,\n });\n}\nexport function pipelineBareFunction(\n callee: t.Expression,\n): t.PipelineBareFunction {\n return validateNode<t.PipelineBareFunction>({\n type: \"PipelineBareFunction\",\n callee,\n });\n}\nexport function pipelinePrimaryTopicReference(): t.PipelinePrimaryTopicReference {\n return {\n type: \"PipelinePrimaryTopicReference\",\n };\n}\nexport function tsParameterProperty(\n parameter: t.Identifier | t.AssignmentPattern,\n): t.TSParameterProperty {\n return validateNode<t.TSParameterProperty>({\n type: \"TSParameterProperty\",\n parameter,\n });\n}\nexport { tsParameterProperty as tSParameterProperty };\nexport function tsDeclareFunction(\n id: t.Identifier | null | undefined = null,\n typeParameters:\n | t.TSTypeParameterDeclaration\n | t.Noop\n | null\n | undefined = null,\n params: Array<t.Identifier | t.Pattern | t.RestElement>,\n returnType: t.TSTypeAnnotation | t.Noop | null = null,\n): t.TSDeclareFunction {\n return validateNode<t.TSDeclareFunction>({\n type: \"TSDeclareFunction\",\n id,\n typeParameters,\n params,\n returnType,\n });\n}\nexport { tsDeclareFunction as tSDeclareFunction };\nexport function tsDeclareMethod(\n decorators: Array<t.Decorator> | null | undefined = null,\n key:\n | t.Identifier\n | t.StringLiteral\n | t.NumericLiteral\n | t.BigIntLiteral\n | t.Expression,\n typeParameters:\n | t.TSTypeParameterDeclaration\n | t.Noop\n | null\n | undefined = null,\n params: Array<\n t.Identifier | t.Pattern | t.RestElement | t.TSParameterProperty\n >,\n returnType: t.TSTypeAnnotation | t.Noop | null = null,\n): t.TSDeclareMethod {\n return validateNode<t.TSDeclareMethod>({\n type: \"TSDeclareMethod\",\n decorators,\n key,\n typeParameters,\n params,\n returnType,\n });\n}\nexport { tsDeclareMethod as tSDeclareMethod };\nexport function tsQualifiedName(\n left: t.TSEntityName,\n right: t.Identifier,\n): t.TSQualifiedName {\n return validateNode<t.TSQualifiedName>({\n type: \"TSQualifiedName\",\n left,\n right,\n });\n}\nexport { tsQualifiedName as tSQualifiedName };\nexport function tsCallSignatureDeclaration(\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<t.Identifier | t.RestElement>,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSCallSignatureDeclaration {\n return validateNode<t.TSCallSignatureDeclaration>({\n type: \"TSCallSignatureDeclaration\",\n typeParameters,\n parameters,\n typeAnnotation,\n });\n}\nexport { tsCallSignatureDeclaration as tSCallSignatureDeclaration };\nexport function tsConstructSignatureDeclaration(\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<t.Identifier | t.RestElement>,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSConstructSignatureDeclaration {\n return validateNode<t.TSConstructSignatureDeclaration>({\n type: \"TSConstructSignatureDeclaration\",\n typeParameters,\n parameters,\n typeAnnotation,\n });\n}\nexport { tsConstructSignatureDeclaration as tSConstructSignatureDeclaration };\nexport function tsPropertySignature(\n key: t.Expression,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n initializer: t.Expression | null = null,\n): t.TSPropertySignature {\n return validateNode<t.TSPropertySignature>({\n type: \"TSPropertySignature\",\n key,\n typeAnnotation,\n initializer,\n kind: null,\n });\n}\nexport { tsPropertySignature as tSPropertySignature };\nexport function tsMethodSignature(\n key: t.Expression,\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<t.Identifier | t.RestElement>,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSMethodSignature {\n return validateNode<t.TSMethodSignature>({\n type: \"TSMethodSignature\",\n key,\n typeParameters,\n parameters,\n typeAnnotation,\n kind: null,\n });\n}\nexport { tsMethodSignature as tSMethodSignature };\nexport function tsIndexSignature(\n parameters: Array<t.Identifier>,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSIndexSignature {\n return validateNode<t.TSIndexSignature>({\n type: \"TSIndexSignature\",\n parameters,\n typeAnnotation,\n });\n}\nexport { tsIndexSignature as tSIndexSignature };\nexport function tsAnyKeyword(): t.TSAnyKeyword {\n return {\n type: \"TSAnyKeyword\",\n };\n}\nexport { tsAnyKeyword as tSAnyKeyword };\nexport function tsBooleanKeyword(): t.TSBooleanKeyword {\n return {\n type: \"TSBooleanKeyword\",\n };\n}\nexport { tsBooleanKeyword as tSBooleanKeyword };\nexport function tsBigIntKeyword(): t.TSBigIntKeyword {\n return {\n type: \"TSBigIntKeyword\",\n };\n}\nexport { tsBigIntKeyword as tSBigIntKeyword };\nexport function tsIntrinsicKeyword(): t.TSIntrinsicKeyword {\n return {\n type: \"TSIntrinsicKeyword\",\n };\n}\nexport { tsIntrinsicKeyword as tSIntrinsicKeyword };\nexport function tsNeverKeyword(): t.TSNeverKeyword {\n return {\n type: \"TSNeverKeyword\",\n };\n}\nexport { tsNeverKeyword as tSNeverKeyword };\nexport function tsNullKeyword(): t.TSNullKeyword {\n return {\n type: \"TSNullKeyword\",\n };\n}\nexport { tsNullKeyword as tSNullKeyword };\nexport function tsNumberKeyword(): t.TSNumberKeyword {\n return {\n type: \"TSNumberKeyword\",\n };\n}\nexport { tsNumberKeyword as tSNumberKeyword };\nexport function tsObjectKeyword(): t.TSObjectKeyword {\n return {\n type: \"TSObjectKeyword\",\n };\n}\nexport { tsObjectKeyword as tSObjectKeyword };\nexport function tsStringKeyword(): t.TSStringKeyword {\n return {\n type: \"TSStringKeyword\",\n };\n}\nexport { tsStringKeyword as tSStringKeyword };\nexport function tsSymbolKeyword(): t.TSSymbolKeyword {\n return {\n type: \"TSSymbolKeyword\",\n };\n}\nexport { tsSymbolKeyword as tSSymbolKeyword };\nexport function tsUndefinedKeyword(): t.TSUndefinedKeyword {\n return {\n type: \"TSUndefinedKeyword\",\n };\n}\nexport { tsUndefinedKeyword as tSUndefinedKeyword };\nexport function tsUnknownKeyword(): t.TSUnknownKeyword {\n return {\n type: \"TSUnknownKeyword\",\n };\n}\nexport { tsUnknownKeyword as tSUnknownKeyword };\nexport function tsVoidKeyword(): t.TSVoidKeyword {\n return {\n type: \"TSVoidKeyword\",\n };\n}\nexport { tsVoidKeyword as tSVoidKeyword };\nexport function tsThisType(): t.TSThisType {\n return {\n type: \"TSThisType\",\n };\n}\nexport { tsThisType as tSThisType };\nexport function tsFunctionType(\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<t.Identifier | t.RestElement>,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSFunctionType {\n return validateNode<t.TSFunctionType>({\n type: \"TSFunctionType\",\n typeParameters,\n parameters,\n typeAnnotation,\n });\n}\nexport { tsFunctionType as tSFunctionType };\nexport function tsConstructorType(\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n parameters: Array<t.Identifier | t.RestElement>,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n): t.TSConstructorType {\n return validateNode<t.TSConstructorType>({\n type: \"TSConstructorType\",\n typeParameters,\n parameters,\n typeAnnotation,\n });\n}\nexport { tsConstructorType as tSConstructorType };\nexport function tsTypeReference(\n typeName: t.TSEntityName,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSTypeReference {\n return validateNode<t.TSTypeReference>({\n type: \"TSTypeReference\",\n typeName,\n typeParameters,\n });\n}\nexport { tsTypeReference as tSTypeReference };\nexport function tsTypePredicate(\n parameterName: t.Identifier | t.TSThisType,\n typeAnnotation: t.TSTypeAnnotation | null = null,\n asserts: boolean | null = null,\n): t.TSTypePredicate {\n return validateNode<t.TSTypePredicate>({\n type: \"TSTypePredicate\",\n parameterName,\n typeAnnotation,\n asserts,\n });\n}\nexport { tsTypePredicate as tSTypePredicate };\nexport function tsTypeQuery(\n exprName: t.TSEntityName | t.TSImportType,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSTypeQuery {\n return validateNode<t.TSTypeQuery>({\n type: \"TSTypeQuery\",\n exprName,\n typeParameters,\n });\n}\nexport { tsTypeQuery as tSTypeQuery };\nexport function tsTypeLiteral(\n members: Array<t.TSTypeElement>,\n): t.TSTypeLiteral {\n return validateNode<t.TSTypeLiteral>({\n type: \"TSTypeLiteral\",\n members,\n });\n}\nexport { tsTypeLiteral as tSTypeLiteral };\nexport function tsArrayType(elementType: t.TSType): t.TSArrayType {\n return validateNode<t.TSArrayType>({\n type: \"TSArrayType\",\n elementType,\n });\n}\nexport { tsArrayType as tSArrayType };\nexport function tsTupleType(\n elementTypes: Array<t.TSType | t.TSNamedTupleMember>,\n): t.TSTupleType {\n return validateNode<t.TSTupleType>({\n type: \"TSTupleType\",\n elementTypes,\n });\n}\nexport { tsTupleType as tSTupleType };\nexport function tsOptionalType(typeAnnotation: t.TSType): t.TSOptionalType {\n return validateNode<t.TSOptionalType>({\n type: \"TSOptionalType\",\n typeAnnotation,\n });\n}\nexport { tsOptionalType as tSOptionalType };\nexport function tsRestType(typeAnnotation: t.TSType): t.TSRestType {\n return validateNode<t.TSRestType>({\n type: \"TSRestType\",\n typeAnnotation,\n });\n}\nexport { tsRestType as tSRestType };\nexport function tsNamedTupleMember(\n label: t.Identifier,\n elementType: t.TSType,\n optional: boolean = false,\n): t.TSNamedTupleMember {\n return validateNode<t.TSNamedTupleMember>({\n type: \"TSNamedTupleMember\",\n label,\n elementType,\n optional,\n });\n}\nexport { tsNamedTupleMember as tSNamedTupleMember };\nexport function tsUnionType(types: Array<t.TSType>): t.TSUnionType {\n return validateNode<t.TSUnionType>({\n type: \"TSUnionType\",\n types,\n });\n}\nexport { tsUnionType as tSUnionType };\nexport function tsIntersectionType(\n types: Array<t.TSType>,\n): t.TSIntersectionType {\n return validateNode<t.TSIntersectionType>({\n type: \"TSIntersectionType\",\n types,\n });\n}\nexport { tsIntersectionType as tSIntersectionType };\nexport function tsConditionalType(\n checkType: t.TSType,\n extendsType: t.TSType,\n trueType: t.TSType,\n falseType: t.TSType,\n): t.TSConditionalType {\n return validateNode<t.TSConditionalType>({\n type: \"TSConditionalType\",\n checkType,\n extendsType,\n trueType,\n falseType,\n });\n}\nexport { tsConditionalType as tSConditionalType };\nexport function tsInferType(typeParameter: t.TSTypeParameter): t.TSInferType {\n return validateNode<t.TSInferType>({\n type: \"TSInferType\",\n typeParameter,\n });\n}\nexport { tsInferType as tSInferType };\nexport function tsParenthesizedType(\n typeAnnotation: t.TSType,\n): t.TSParenthesizedType {\n return validateNode<t.TSParenthesizedType>({\n type: \"TSParenthesizedType\",\n typeAnnotation,\n });\n}\nexport { tsParenthesizedType as tSParenthesizedType };\nexport function tsTypeOperator(typeAnnotation: t.TSType): t.TSTypeOperator {\n return validateNode<t.TSTypeOperator>({\n type: \"TSTypeOperator\",\n typeAnnotation,\n operator: null,\n });\n}\nexport { tsTypeOperator as tSTypeOperator };\nexport function tsIndexedAccessType(\n objectType: t.TSType,\n indexType: t.TSType,\n): t.TSIndexedAccessType {\n return validateNode<t.TSIndexedAccessType>({\n type: \"TSIndexedAccessType\",\n objectType,\n indexType,\n });\n}\nexport { tsIndexedAccessType as tSIndexedAccessType };\nexport function tsMappedType(\n typeParameter: t.TSTypeParameter,\n typeAnnotation: t.TSType | null = null,\n nameType: t.TSType | null = null,\n): t.TSMappedType {\n return validateNode<t.TSMappedType>({\n type: \"TSMappedType\",\n typeParameter,\n typeAnnotation,\n nameType,\n });\n}\nexport { tsMappedType as tSMappedType };\nexport function tsLiteralType(\n literal:\n | t.NumericLiteral\n | t.StringLiteral\n | t.BooleanLiteral\n | t.BigIntLiteral\n | t.TemplateLiteral\n | t.UnaryExpression,\n): t.TSLiteralType {\n return validateNode<t.TSLiteralType>({\n type: \"TSLiteralType\",\n literal,\n });\n}\nexport { tsLiteralType as tSLiteralType };\nexport function tsExpressionWithTypeArguments(\n expression: t.TSEntityName,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSExpressionWithTypeArguments {\n return validateNode<t.TSExpressionWithTypeArguments>({\n type: \"TSExpressionWithTypeArguments\",\n expression,\n typeParameters,\n });\n}\nexport { tsExpressionWithTypeArguments as tSExpressionWithTypeArguments };\nexport function tsInterfaceDeclaration(\n id: t.Identifier,\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n _extends: Array<t.TSExpressionWithTypeArguments> | null | undefined = null,\n body: t.TSInterfaceBody,\n): t.TSInterfaceDeclaration {\n return validateNode<t.TSInterfaceDeclaration>({\n type: \"TSInterfaceDeclaration\",\n id,\n typeParameters,\n extends: _extends,\n body,\n });\n}\nexport { tsInterfaceDeclaration as tSInterfaceDeclaration };\nexport function tsInterfaceBody(\n body: Array<t.TSTypeElement>,\n): t.TSInterfaceBody {\n return validateNode<t.TSInterfaceBody>({\n type: \"TSInterfaceBody\",\n body,\n });\n}\nexport { tsInterfaceBody as tSInterfaceBody };\nexport function tsTypeAliasDeclaration(\n id: t.Identifier,\n typeParameters: t.TSTypeParameterDeclaration | null | undefined = null,\n typeAnnotation: t.TSType,\n): t.TSTypeAliasDeclaration {\n return validateNode<t.TSTypeAliasDeclaration>({\n type: \"TSTypeAliasDeclaration\",\n id,\n typeParameters,\n typeAnnotation,\n });\n}\nexport { tsTypeAliasDeclaration as tSTypeAliasDeclaration };\nexport function tsInstantiationExpression(\n expression: t.Expression,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSInstantiationExpression {\n return validateNode<t.TSInstantiationExpression>({\n type: \"TSInstantiationExpression\",\n expression,\n typeParameters,\n });\n}\nexport { tsInstantiationExpression as tSInstantiationExpression };\nexport function tsAsExpression(\n expression: t.Expression,\n typeAnnotation: t.TSType,\n): t.TSAsExpression {\n return validateNode<t.TSAsExpression>({\n type: \"TSAsExpression\",\n expression,\n typeAnnotation,\n });\n}\nexport { tsAsExpression as tSAsExpression };\nexport function tsTypeAssertion(\n typeAnnotation: t.TSType,\n expression: t.Expression,\n): t.TSTypeAssertion {\n return validateNode<t.TSTypeAssertion>({\n type: \"TSTypeAssertion\",\n typeAnnotation,\n expression,\n });\n}\nexport { tsTypeAssertion as tSTypeAssertion };\nexport function tsEnumDeclaration(\n id: t.Identifier,\n members: Array<t.TSEnumMember>,\n): t.TSEnumDeclaration {\n return validateNode<t.TSEnumDeclaration>({\n type: \"TSEnumDeclaration\",\n id,\n members,\n });\n}\nexport { tsEnumDeclaration as tSEnumDeclaration };\nexport function tsEnumMember(\n id: t.Identifier | t.StringLiteral,\n initializer: t.Expression | null = null,\n): t.TSEnumMember {\n return validateNode<t.TSEnumMember>({\n type: \"TSEnumMember\",\n id,\n initializer,\n });\n}\nexport { tsEnumMember as tSEnumMember };\nexport function tsModuleDeclaration(\n id: t.Identifier | t.StringLiteral,\n body: t.TSModuleBlock | t.TSModuleDeclaration,\n): t.TSModuleDeclaration {\n return validateNode<t.TSModuleDeclaration>({\n type: \"TSModuleDeclaration\",\n id,\n body,\n });\n}\nexport { tsModuleDeclaration as tSModuleDeclaration };\nexport function tsModuleBlock(body: Array<t.Statement>): t.TSModuleBlock {\n return validateNode<t.TSModuleBlock>({\n type: \"TSModuleBlock\",\n body,\n });\n}\nexport { tsModuleBlock as tSModuleBlock };\nexport function tsImportType(\n argument: t.StringLiteral,\n qualifier: t.TSEntityName | null = null,\n typeParameters: t.TSTypeParameterInstantiation | null = null,\n): t.TSImportType {\n return validateNode<t.TSImportType>({\n type: \"TSImportType\",\n argument,\n qualifier,\n typeParameters,\n });\n}\nexport { tsImportType as tSImportType };\nexport function tsImportEqualsDeclaration(\n id: t.Identifier,\n moduleReference: t.TSEntityName | t.TSExternalModuleReference,\n): t.TSImportEqualsDeclaration {\n return validateNode<t.TSImportEqualsDeclaration>({\n type: \"TSImportEqualsDeclaration\",\n id,\n moduleReference,\n isExport: null,\n });\n}\nexport { tsImportEqualsDeclaration as tSImportEqualsDeclaration };\nexport function tsExternalModuleReference(\n expression: t.StringLiteral,\n): t.TSExternalModuleReference {\n return validateNode<t.TSExternalModuleReference>({\n type: \"TSExternalModuleReference\",\n expression,\n });\n}\nexport { tsExternalModuleReference as tSExternalModuleReference };\nexport function tsNonNullExpression(\n expression: t.Expression,\n): t.TSNonNullExpression {\n return validateNode<t.TSNonNullExpression>({\n type: \"TSNonNullExpression\",\n expression,\n });\n}\nexport { tsNonNullExpression as tSNonNullExpression };\nexport function tsExportAssignment(\n expression: t.Expression,\n): t.TSExportAssignment {\n return validateNode<t.TSExportAssignment>({\n type: \"TSExportAssignment\",\n expression,\n });\n}\nexport { tsExportAssignment as tSExportAssignment };\nexport function tsNamespaceExportDeclaration(\n id: t.Identifier,\n): t.TSNamespaceExportDeclaration {\n return validateNode<t.TSNamespaceExportDeclaration>({\n type: \"TSNamespaceExportDeclaration\",\n id,\n });\n}\nexport { tsNamespaceExportDeclaration as tSNamespaceExportDeclaration };\nexport function tsTypeAnnotation(typeAnnotation: t.TSType): t.TSTypeAnnotation {\n return validateNode<t.TSTypeAnnotation>({\n type: \"TSTypeAnnotation\",\n typeAnnotation,\n });\n}\nexport { tsTypeAnnotation as tSTypeAnnotation };\nexport function tsTypeParameterInstantiation(\n params: Array<t.TSType>,\n): t.TSTypeParameterInstantiation {\n return validateNode<t.TSTypeParameterInstantiation>({\n type: \"TSTypeParameterInstantiation\",\n params,\n });\n}\nexport { tsTypeParameterInstantiation as tSTypeParameterInstantiation };\nexport function tsTypeParameterDeclaration(\n params: Array<t.TSTypeParameter>,\n): t.TSTypeParameterDeclaration {\n return validateNode<t.TSTypeParameterDeclaration>({\n type: \"TSTypeParameterDeclaration\",\n params,\n });\n}\nexport { tsTypeParameterDeclaration as tSTypeParameterDeclaration };\nexport function tsTypeParameter(\n constraint: t.TSType | null | undefined = null,\n _default: t.TSType | null | undefined = null,\n name: string,\n): t.TSTypeParameter {\n return validateNode<t.TSTypeParameter>({\n type: \"TSTypeParameter\",\n constraint,\n default: _default,\n name,\n });\n}\nexport { tsTypeParameter as tSTypeParameter };\n/** @deprecated */\nfunction NumberLiteral(value: number) {\n console.trace(\n \"The node type NumberLiteral has been renamed to NumericLiteral\",\n );\n return numericLiteral(value);\n}\nexport { NumberLiteral as numberLiteral };\n/** @deprecated */\nfunction RegexLiteral(pattern: string, flags: string = \"\") {\n console.trace(\"The node type RegexLiteral has been renamed to RegExpLiteral\");\n return regExpLiteral(pattern, flags);\n}\nexport { RegexLiteral as regexLiteral };\n/** @deprecated */\nfunction RestProperty(argument: t.LVal) {\n console.trace(\"The node type RestProperty has been renamed to RestElement\");\n return restElement(argument);\n}\nexport { RestProperty as restProperty };\n/** @deprecated */\nfunction SpreadProperty(argument: t.Expression) {\n console.trace(\n \"The node type SpreadProperty has been renamed to SpreadElement\",\n );\n return spreadElement(argument);\n}\nexport { SpreadProperty as spreadProperty };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEO,SAASA,eAAT,CACLC,QAAsD,GAAG,EADpD,EAEc;EACnB,OAAO,IAAAC,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCF;EAFqC,CAAhC,CAAP;AAID;;AACM,SAASG,oBAAT,CACLC,QADK,EAELC,IAFK,EAGLC,KAHK,EAImB;EACxB,OAAO,IAAAL,qBAAA,EAAqC;IAC1CC,IAAI,EAAE,sBADoC;IAE1CE,QAF0C;IAG1CC,IAH0C;IAI1CC;EAJ0C,CAArC,CAAP;AAMD;;AACM,SAASC,gBAAT,CACLH,QADK,EAyBLC,IAzBK,EA0BLC,KA1BK,EA2Be;EACpB,OAAO,IAAAL,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCE,QAFsC;IAGtCC,IAHsC;IAItCC;EAJsC,CAAjC,CAAP;AAMD;;AACM,SAASE,oBAAT,CAA8BC,KAA9B,EAAqE;EAC1E,OAAO,IAAAR,qBAAA,EAAqC;IAC1CC,IAAI,EAAE,sBADoC;IAE1CO;EAF0C,CAArC,CAAP;AAID;;AACM,SAASC,SAAT,CAAmBD,KAAnB,EAA2D;EAChE,OAAO,IAAAR,qBAAA,EAA0B;IAC/BC,IAAI,EAAE,WADyB;IAE/BO;EAF+B,CAA1B,CAAP;AAID;;AACM,SAASE,gBAAT,CAA0BF,KAA1B,EAA6D;EAClE,OAAO,IAAAR,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCO;EAFsC,CAAjC,CAAP;AAID;;AACM,SAASG,cAAT,CACLC,IADK,EAELC,UAA8B,GAAG,EAF5B,EAGa;EAClB,OAAO,IAAAb,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCW,IAFoC;IAGpCC;EAHoC,CAA/B,CAAP;AAKD;;AACM,SAASC,cAAT,CACLC,KAA0B,GAAG,IADxB,EAEa;EAClB,OAAO,IAAAf,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCc;EAFoC,CAA/B,CAAP;AAID;;AACM,SAASC,cAAT,CACLC,MADK,EAELC,UAFK,EAKa;EAClB,OAAO,IAAAlB,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCgB,MAFoC;IAGpCE,SAAS,EAAED;EAHyB,CAA/B,CAAP;AAKD;;AACM,SAASE,WAAT,CACLC,KAKa,GAAG,IANX,EAOLT,IAPK,EAQU;EACf,OAAO,IAAAZ,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjCoB,KAFiC;IAGjCT;EAHiC,CAA5B,CAAP;AAKD;;AACM,SAASU,qBAAT,CACLC,IADK,EAELC,UAFK,EAGLC,SAHK,EAIoB;EACzB,OAAO,IAAAzB,qBAAA,EAAsC;IAC3CC,IAAI,EAAE,uBADqC;IAE3CsB,IAF2C;IAG3CC,UAH2C;IAI3CC;EAJ2C,CAAtC,CAAP;AAMD;;AACM,SAASC,iBAAT,CACLX,KAA0B,GAAG,IADxB,EAEgB;EACrB,OAAO,IAAAf,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCc;EAFuC,CAAlC,CAAP;AAID;;AACM,SAASY,iBAAT,GAAkD;EACvD,OAAO;IACL1B,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAAS2B,gBAAT,CACLL,IADK,EAELX,IAFK,EAGe;EACpB,OAAO,IAAAZ,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCsB,IAFsC;IAGtCX;EAHsC,CAAjC,CAAP;AAKD;;AACM,SAASiB,cAAT,GAA4C;EACjD,OAAO;IACL5B,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAAS6B,mBAAT,CACLC,UADK,EAEkB;EACvB,OAAO,IAAA/B,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzC8B;EAFyC,CAApC,CAAP;AAID;;AACM,SAASC,IAAT,CACLC,OADK,EAELC,QAAsD,GAAG,IAFpD,EAGLC,MAAyB,GAAG,IAHvB,EAIG;EACR,OAAO,IAAAnC,qBAAA,EAAqB;IAC1BC,IAAI,EAAE,MADoB;IAE1BgC,OAF0B;IAG1BC,QAH0B;IAI1BC;EAJ0B,CAArB,CAAP;AAMD;;AACM,SAASC,cAAT,CACLhC,IADK,EAELC,KAFK,EAGLO,IAHK,EAIa;EAClB,OAAO,IAAAZ,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCG,IAFoC;IAGpCC,KAHoC;IAIpCO;EAJoC,CAA/B,CAAP;AAMD;;AACM,SAASyB,YAAT,CACLC,IAA6D,GAAG,IAD3D,EAELf,IAAqC,GAAG,IAFnC,EAGLgB,MAAuC,GAAG,IAHrC,EAIL3B,IAJK,EAKW;EAChB,OAAO,IAAAZ,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElCqC,IAFkC;IAGlCf,IAHkC;IAIlCgB,MAJkC;IAKlC3B;EALkC,CAA7B,CAAP;AAOD;;AACM,SAAS4B,mBAAT,CACLC,EAAmC,GAAG,IADjC,EAELC,MAFK,EAGL9B,IAHK,EAIL+B,SAAkB,GAAG,KAJhB,EAKLC,KAAc,GAAG,KALZ,EAMkB;EACvB,OAAO,IAAA5C,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzCwC,EAFyC;IAGzCC,MAHyC;IAIzC9B,IAJyC;IAKzC+B,SALyC;IAMzCC;EANyC,CAApC,CAAP;AAQD;;AACM,SAASC,kBAAT,CACLJ,EAAmC,GAAG,IADjC,EAELC,MAFK,EAGL9B,IAHK,EAIL+B,SAAkB,GAAG,KAJhB,EAKLC,KAAc,GAAG,KALZ,EAMiB;EACtB,OAAO,IAAA5C,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExCwC,EAFwC;IAGxCC,MAHwC;IAIxC9B,IAJwC;IAKxC+B,SALwC;IAMxCC;EANwC,CAAnC,CAAP;AAQD;;AACM,SAASE,UAAT,CAAoBC,IAApB,EAAgD;EACrD,OAAO,IAAA/C,qBAAA,EAA2B;IAChCC,IAAI,EAAE,YAD0B;IAEhC8C;EAFgC,CAA3B,CAAP;AAID;;AACM,SAASC,WAAT,CACLzB,IADK,EAELC,UAFK,EAGLC,SAA6B,GAAG,IAH3B,EAIU;EACf,OAAO,IAAAzB,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjCsB,IAFiC;IAGjCC,UAHiC;IAIjCC;EAJiC,CAA5B,CAAP;AAMD;;AACM,SAASwB,gBAAT,CACLlC,KADK,EAELH,IAFK,EAGe;EACpB,OAAO,IAAAZ,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCc,KAFsC;IAGtCH;EAHsC,CAAjC,CAAP;AAKD;;AACM,SAASsC,aAAT,CAAuB1C,KAAvB,EAAuD;EAC5D,OAAO,IAAAR,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCO;EAFmC,CAA9B,CAAP;AAID;;AACM,SAAS2C,cAAT,CAAwB3C,KAAxB,EAAyD;EAC9D,OAAO,IAAAR,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCO;EAFoC,CAA/B,CAAP;AAID;;AACM,SAAS4C,WAAT,GAAsC;EAC3C,OAAO;IACLnD,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASoD,cAAT,CAAwB7C,KAAxB,EAA0D;EAC/D,OAAO,IAAAR,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCO;EAFoC,CAA/B,CAAP;AAID;;AACM,SAAS8C,aAAT,CACLC,OADK,EAELC,KAAa,GAAG,EAFX,EAGY;EACjB,OAAO,IAAAxD,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCsD,OAFmC;IAGnCC;EAHmC,CAA9B,CAAP;AAKD;;AACM,SAASC,iBAAT,CACLtD,QADK,EAELC,IAFK,EAGLC,KAHK,EAIgB;EACrB,OAAO,IAAAL,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCE,QAFuC;IAGvCC,IAHuC;IAIvCC;EAJuC,CAAlC,CAAP;AAMD;;AACM,SAASqD,gBAAT,CACLC,MADK,EAELC,QAFK,EAGLC,QAAiB,GAAG,KAHf,EAILC,QAA6B,GAAG,IAJ3B,EAKe;EACpB,OAAO,IAAA9D,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtC0D,MAFsC;IAGtCC,QAHsC;IAItCC,QAJsC;IAKtCC;EALsC,CAAjC,CAAP;AAOD;;AACM,SAASC,aAAT,CACL9C,MADK,EAELC,UAFK,EAKY;EACjB,OAAO,IAAAlB,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCgB,MAFmC;IAGnCE,SAAS,EAAED;EAHwB,CAA9B,CAAP;AAKD;;AACM,SAASe,OAAT,CACLrB,IADK,EAELC,UAA8B,GAAG,EAF5B,EAGLmD,UAA+B,GAAG,QAH7B,EAILC,WAA0C,GAAG,IAJxC,EAKM;EACX,OAAO,IAAAjE,qBAAA,EAAwB;IAC7BC,IAAI,EAAE,SADuB;IAE7BW,IAF6B;IAG7BC,UAH6B;IAI7BmD,UAJ6B;IAK7BC,WAL6B;IAM7BC,UAAU,EAAE;EANiB,CAAxB,CAAP;AAQD;;AACM,SAASC,gBAAT,CACLC,UADK,EAEe;EACpB,OAAO,IAAApE,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCmE;EAFsC,CAAjC,CAAP;AAID;;AACM,SAASC,YAAT,CACLC,IAA0C,GAAG,QADxC,EAELC,GAFK,EAQL7B,MARK,EASL9B,IATK,EAULiD,QAAiB,GAAG,KAVf,EAWLlB,SAAkB,GAAG,KAXhB,EAYLC,KAAc,GAAG,KAZZ,EAaW;EAChB,OAAO,IAAA5C,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElCqE,IAFkC;IAGlCC,GAHkC;IAIlC7B,MAJkC;IAKlC9B,IALkC;IAMlCiD,QANkC;IAOlClB,SAPkC;IAQlCC;EARkC,CAA7B,CAAP;AAUD;;AACM,SAAS4B,cAAT,CACLD,GADK,EASL/D,KATK,EAULqD,QAAiB,GAAG,KAVf,EAWLY,SAAkB,GAAG,KAXhB,EAYLC,UAAqC,GAAG,IAZnC,EAaa;EAClB,OAAO,IAAA1E,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCsE,GAFoC;IAGpC/D,KAHoC;IAIpCqD,QAJoC;IAKpCY,SALoC;IAMpCC;EANoC,CAA/B,CAAP;AAQD;;AACM,SAASC,WAAT,CAAqBC,QAArB,EAAsD;EAC3D,OAAO,IAAA5E,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjC2E;EAFiC,CAA5B,CAAP;AAID;;AACM,SAASC,eAAT,CACLD,QAA6B,GAAG,IAD3B,EAEc;EACnB,OAAO,IAAA5E,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErC2E;EAFqC,CAAhC,CAAP;AAID;;AACM,SAASE,kBAAT,CACLC,WADK,EAEiB;EACtB,OAAO,IAAA/E,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExC8E;EAFwC,CAAnC,CAAP;AAID;;AACM,SAASC,uBAAT,CACLjD,UADK,EAEsB;EAC3B,OAAO,IAAA/B,qBAAA,EAAwC;IAC7CC,IAAI,EAAE,yBADuC;IAE7C8B;EAF6C,CAAxC,CAAP;AAID;;AACM,SAASkD,UAAT,CACL1D,IAAqC,GAAG,IADnC,EAELC,UAFK,EAGS;EACd,OAAO,IAAAxB,qBAAA,EAA2B;IAChCC,IAAI,EAAE,YAD0B;IAEhCsB,IAFgC;IAGhCC;EAHgC,CAA3B,CAAP;AAKD;;AACM,SAAS0D,eAAT,CACLC,YADK,EAELC,KAFK,EAGc;EACnB,OAAO,IAAApF,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCkF,YAFqC;IAGrCC;EAHqC,CAAhC,CAAP;AAKD;;AACM,SAASC,cAAT,GAA4C;EACjD,OAAO;IACLpF,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASqF,cAAT,CAAwBV,QAAxB,EAAkE;EACvE,OAAO,IAAA5E,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpC2E;EAFoC,CAA/B,CAAP;AAID;;AACM,SAASW,YAAT,CACLC,KADK,EAELC,OAA6B,GAAG,IAF3B,EAGLC,SAAkC,GAAG,IAHhC,EAIW;EAChB,OAAO,IAAA1F,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElCuF,KAFkC;IAGlCC,OAHkC;IAIlCC;EAJkC,CAA7B,CAAP;AAMD;;AACM,SAASC,eAAT,CACLxF,QADK,EAELyE,QAFK,EAGLgB,MAAe,GAAG,IAHb,EAIc;EACnB,OAAO,IAAA5F,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCE,QAFqC;IAGrCyE,QAHqC;IAIrCgB;EAJqC,CAAhC,CAAP;AAMD;;AACM,SAASC,gBAAT,CACL1F,QADK,EAELyE,QAFK,EAGLgB,MAAe,GAAG,KAHb,EAIe;EACpB,OAAO,IAAA5F,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCE,QAFsC;IAGtCyE,QAHsC;IAItCgB;EAJsC,CAAjC,CAAP;AAMD;;AACM,SAASE,mBAAT,CACLxB,IADK,EAELyB,YAFK,EAGkB;EACvB,OAAO,IAAA/F,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzCqE,IAFyC;IAGzCyB;EAHyC,CAApC,CAAP;AAKD;;AACM,SAASC,kBAAT,CACLvD,EADK,EAELH,IAAyB,GAAG,IAFvB,EAGiB;EACtB,OAAO,IAAAtC,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExCwC,EAFwC;IAGxCH;EAHwC,CAAnC,CAAP;AAKD;;AACM,SAAS2D,cAAT,CACL1E,IADK,EAELX,IAFK,EAGa;EAClB,OAAO,IAAAZ,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCsB,IAFoC;IAGpCX;EAHoC,CAA/B,CAAP;AAKD;;AACM,SAASsF,aAAT,CACLvC,MADK,EAEL/C,IAFK,EAGY;EACjB,OAAO,IAAAZ,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnC0D,MAFmC;IAGnC/C;EAHmC,CAA9B,CAAP;AAKD;;AACM,SAASuF,iBAAT,CACL/F,IADK,EASLC,KATK,EAUgB;EACrB,OAAO,IAAAL,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCG,IAFuC;IAGvCC;EAHuC,CAAlC,CAAP;AAKD;;AACM,SAAS+F,YAAT,CACLrG,QADK,EAEW;EAChB,OAAO,IAAAC,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElCF;EAFkC,CAA7B,CAAP;AAID;;AACM,SAASsG,uBAAT,CACL3D,MADK,EAEL9B,IAFK,EAGLgC,KAAc,GAAG,KAHZ,EAIsB;EAC3B,OAAO,IAAA5C,qBAAA,EAAwC;IAC7CC,IAAI,EAAE,yBADuC;IAE7CyC,MAF6C;IAG7C9B,IAH6C;IAI7CgC,KAJ6C;IAK7Cb,UAAU,EAAE;EALiC,CAAxC,CAAP;AAOD;;AACM,SAASuE,SAAT,CACL1F,IADK,EAWQ;EACb,OAAO,IAAAZ,qBAAA,EAA0B;IAC/BC,IAAI,EAAE,WADyB;IAE/BW;EAF+B,CAA1B,CAAP;AAID;;AACM,SAAS2F,eAAT,CACL9D,EAAmC,GAAG,IADjC,EAEL+D,UAA2C,GAAG,IAFzC,EAGL5F,IAHK,EAIL8D,UAAqC,GAAG,IAJnC,EAKc;EACnB,OAAO,IAAA1E,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCwC,EAFqC;IAGrC+D,UAHqC;IAIrC5F,IAJqC;IAKrC8D;EALqC,CAAhC,CAAP;AAOD;;AACM,SAAS+B,gBAAT,CACLhE,EADK,EAEL+D,UAA2C,GAAG,IAFzC,EAGL5F,IAHK,EAIL8D,UAAqC,GAAG,IAJnC,EAKe;EACpB,OAAO,IAAA1E,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCwC,EAFsC;IAGtC+D,UAHsC;IAItC5F,IAJsC;IAKtC8D;EALsC,CAAjC,CAAP;AAOD;;AACM,SAASgC,oBAAT,CACLC,MADK,EAEmB;EACxB,OAAO,IAAA3G,qBAAA,EAAqC;IAC1CC,IAAI,EAAE,sBADoC;IAE1C0G;EAF0C,CAArC,CAAP;AAID;;AACM,SAASC,wBAAT,CACLC,WADK,EAMuB;EAC5B,OAAO,IAAA7G,qBAAA,EAAyC;IAC9CC,IAAI,EAAE,0BADwC;IAE9C4G;EAF8C,CAAzC,CAAP;AAID;;AACM,SAASC,sBAAT,CACLD,WAAiC,GAAG,IAD/B,EAELE,UAEC,GAAG,EAJC,EAKLJ,MAA8B,GAAG,IAL5B,EAMqB;EAC1B,OAAO,IAAA3G,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5C4G,WAF4C;IAG5CE,UAH4C;IAI5CJ;EAJ4C,CAAvC,CAAP;AAMD;;AACM,SAASK,eAAT,CACLC,KADK,EAELC,QAFK,EAGc;EACnB,OAAO,IAAAlH,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCgH,KAFqC;IAGrCC;EAHqC,CAAhC,CAAP;AAKD;;AACM,SAASC,cAAT,CACL/G,IADK,EAELC,KAFK,EAGLO,IAHK,EAILwG,MAAe,GAAG,KAJb,EAKa;EAClB,OAAO,IAAApH,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCG,IAFoC;IAGpCC,KAHoC;IAIpCO,IAJoC;IAKpCyG,KAAK,EAAED;EAL6B,CAA/B,CAAP;AAOD;;AACM,SAASE,iBAAT,CACLP,UADK,EAILJ,MAJK,EAKgB;EACrB,OAAO,IAAA3G,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvC8G,UAFuC;IAGvCJ;EAHuC,CAAlC,CAAP;AAKD;;AACM,SAASY,sBAAT,CACLN,KADK,EAEqB;EAC1B,OAAO,IAAAjH,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5CgH;EAF4C,CAAvC,CAAP;AAID;;AACM,SAASO,wBAAT,CACLP,KADK,EAEuB;EAC5B,OAAO,IAAAjH,qBAAA,EAAyC;IAC9CC,IAAI,EAAE,0BADwC;IAE9CgH;EAF8C,CAAzC,CAAP;AAID;;AACM,SAASQ,eAAT,CACLR,KADK,EAELS,QAFK,EAGc;EACnB,OAAO,IAAA1H,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCgH,KAFqC;IAGrCS;EAHqC,CAAhC,CAAP;AAKD;;AACM,SAASC,YAAT,CACLC,IADK,EAELhE,QAFK,EAGW;EAChB,OAAO,IAAA5D,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElC2H,IAFkC;IAGlChE;EAHkC,CAA7B,CAAP;AAKD;;AACM,SAASiE,WAAT,CACLvD,IAA0D,GAAG,QADxD,EAELC,GAFK,EAQL7B,MARK,EAWL9B,IAXK,EAYLiD,QAAiB,GAAG,KAZf,EAaLiE,OAAgB,GAAG,KAbd,EAcLnF,SAAkB,GAAG,KAdhB,EAeLC,KAAc,GAAG,KAfZ,EAgBU;EACf,OAAO,IAAA5C,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjCqE,IAFiC;IAGjCC,GAHiC;IAIjC7B,MAJiC;IAKjC9B,IALiC;IAMjCiD,QANiC;IAOjCkE,MAAM,EAAED,OAPyB;IAQjCnF,SARiC;IASjCC;EATiC,CAA5B,CAAP;AAWD;;AACM,SAASoF,aAAT,CACL5D,UADK,EAEY;EACjB,OAAO,IAAApE,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCmE;EAFmC,CAA9B,CAAP;AAID;;AACM,SAAS6D,aAAT,CAAuBrD,QAAvB,EAAgE;EACrE,OAAO,IAAA5E,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnC2E;EAFmC,CAA9B,CAAP;AAID;;AACD,SAASsD,MAAT,GAA2B;EACzB,OAAO;IACLjI,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASkI,wBAAT,CACLC,GADK,EAELC,KAFK,EAGuB;EAC5B,OAAO,IAAArI,qBAAA,EAAyC;IAC9CC,IAAI,EAAE,0BADwC;IAE9CmI,GAF8C;IAG9CC;EAH8C,CAAzC,CAAP;AAKD;;AACM,SAASC,eAAT,CACL9H,KADK,EAEL+H,IAAa,GAAG,KAFX,EAGc;EACnB,OAAO,IAAAvI,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCO,KAFqC;IAGrC+H;EAHqC,CAAhC,CAAP;AAKD;;AACM,SAASC,eAAT,CACLC,MADK,EAEL1D,WAFK,EAGc;EACnB,OAAO,IAAA/E,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCwI,MAFqC;IAGrC1D;EAHqC,CAAhC,CAAP;AAKD;;AACM,SAAS2D,eAAT,CACL9D,QAA6B,GAAG,IAD3B,EAEL+D,QAAiB,GAAG,KAFf,EAGc;EACnB,OAAO,IAAA3I,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErC2E,QAFqC;IAGrC+D;EAHqC,CAAhC,CAAP;AAKD;;AACM,SAASC,eAAT,CAAyBhE,QAAzB,EAAoE;EACzE,OAAO,IAAA5E,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErC2E;EAFqC,CAAhC,CAAP;AAID;;AACD,SAASiE,OAAT,GAA6B;EAC3B,OAAO;IACL5I,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAAS6I,aAAT,CAAuBtI,KAAvB,EAAuD;EAC5D,OAAO,IAAAR,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCO;EAFmC,CAA9B,CAAP;AAID;;AACM,SAASuI,wBAAT,CACL7B,QADK,EAEuB;EAC5B,OAAO,IAAAlH,qBAAA,EAAyC;IAC9CC,IAAI,EAAE,0BADwC;IAE9CiH;EAF8C,CAAzC,CAAP;AAID;;AACM,SAAS8B,wBAAT,CACLrF,MADK,EAELC,QAFK,EAGLC,QAA6B,GAAG,KAH3B,EAILC,QAJK,EAKuB;EAC5B,OAAO,IAAA9D,qBAAA,EAAyC;IAC9CC,IAAI,EAAE,0BADwC;IAE9C0D,MAF8C;IAG9CC,QAH8C;IAI9CC,QAJ8C;IAK9CC;EAL8C,CAAzC,CAAP;AAOD;;AACM,SAASmF,sBAAT,CACLhI,MADK,EAELC,UAFK,EAKL4C,QALK,EAMqB;EAC1B,OAAO,IAAA9D,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5CgB,MAF4C;IAG5CE,SAAS,EAAED,UAHiC;IAI5C4C;EAJ4C,CAAvC,CAAP;AAMD;;AACM,SAASoF,aAAT,CACL3E,GADK,EAOL/D,KAA0B,GAAG,IAPxB,EAQL2I,cAAqE,GAAG,IARnE,EASLzE,UAAqC,GAAG,IATnC,EAULb,QAAiB,GAAG,KAVf,EAWLiE,OAAgB,GAAG,KAXd,EAYY;EACjB,OAAO,IAAA9H,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCsE,GAFmC;IAGnC/D,KAHmC;IAInC2I,cAJmC;IAKnCzE,UALmC;IAMnCb,QANmC;IAOnCkE,MAAM,EAAED;EAP2B,CAA9B,CAAP;AASD;;AACM,SAASsB,qBAAT,CACL7E,GADK,EAQL/D,KAA0B,GAAG,IARxB,EASL2I,cAAqE,GAAG,IATnE,EAULzE,UAAqC,GAAG,IAVnC,EAWLb,QAAiB,GAAG,KAXf,EAYLiE,OAAgB,GAAG,KAZd,EAaoB;EACzB,OAAO,IAAA9H,qBAAA,EAAsC;IAC3CC,IAAI,EAAE,uBADqC;IAE3CsE,GAF2C;IAG3C/D,KAH2C;IAI3C2I,cAJ2C;IAK3CzE,UAL2C;IAM3Cb,QAN2C;IAO3CkE,MAAM,EAAED;EAPmC,CAAtC,CAAP;AASD;;AACM,SAASuB,oBAAT,CACL9E,GADK,EAEL/D,KAA0B,GAAG,IAFxB,EAGLkE,UAAqC,GAAG,IAHnC,EAILoD,OAAgB,GAAG,KAJd,EAKmB;EACxB,OAAO,IAAA9H,qBAAA,EAAqC;IAC1CC,IAAI,EAAE,sBADoC;IAE1CsE,GAF0C;IAG1C/D,KAH0C;IAI1CkE,UAJ0C;IAK1CqD,MAAM,EAAED;EALkC,CAArC,CAAP;AAOD;;AACM,SAASwB,kBAAT,CACLhF,IAA0C,GAAG,QADxC,EAELC,GAFK,EAGL7B,MAHK,EAML9B,IANK,EAOLkH,OAAgB,GAAG,KAPd,EAQiB;EACtB,OAAO,IAAA9H,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExCqE,IAFwC;IAGxCC,GAHwC;IAIxC7B,MAJwC;IAKxC9B,IALwC;IAMxCmH,MAAM,EAAED;EANgC,CAAnC,CAAP;AAQD;;AACM,SAASyB,WAAT,CAAqB9G,EAArB,EAAsD;EAC3D,OAAO,IAAAzC,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjCwC;EAFiC,CAA5B,CAAP;AAID;;AACM,SAAS+G,WAAT,CAAqB5I,IAArB,EAA8D;EACnE,OAAO,IAAAZ,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjCW;EAFiC,CAA5B,CAAP;AAID;;AACM,SAAS6I,iBAAT,GAAkD;EACvD,OAAO;IACLxJ,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASyJ,mBAAT,CACLC,WADK,EAEkB;EACvB,OAAO,IAAA3J,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzC0J;EAFyC,CAApC,CAAP;AAID;;AACM,SAASC,qBAAT,GAA0D;EAC/D,OAAO;IACL3J,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAAS4J,4BAAT,CACLrJ,KADK,EAE2B;EAChC,OAAO,IAAAR,qBAAA,EAA6C;IAClDC,IAAI,EAAE,8BAD4C;IAElDO;EAFkD,CAA7C,CAAP;AAID;;AACM,SAASsJ,yBAAT,GAAkE;EACvE,OAAO;IACL7J,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAAS8J,eAAT,CACLtH,EADK,EAELuH,cAAmD,GAAG,IAFjD,EAGc;EACnB,OAAO,IAAAhK,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCwC,EAFqC;IAGrCuH;EAHqC,CAAhC,CAAP;AAKD;;AACM,SAASC,YAAT,CACLxH,EADK,EAELuH,cAA6D,GAAG,IAF3D,EAGLE,QAAsD,GAAG,IAHpD,EAILtJ,IAJK,EAKW;EAChB,OAAO,IAAAZ,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElCwC,EAFkC;IAGlCuH,cAHkC;IAIlCG,OAAO,EAAED,QAJyB;IAKlCtJ;EALkC,CAA7B,CAAP;AAOD;;AACM,SAASwJ,eAAT,CAAyB3H,EAAzB,EAA8D;EACnE,OAAO,IAAAzC,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCwC;EAFqC,CAAhC,CAAP;AAID;;AACM,SAAS4H,gBAAT,CACL5H,EADK,EAELuH,cAA6D,GAAG,IAF3D,EAGLE,QAAsD,GAAG,IAHpD,EAILtJ,IAJK,EAKe;EACpB,OAAO,IAAAZ,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCwC,EAFsC;IAGtCuH,cAHsC;IAItCG,OAAO,EAAED,QAJ6B;IAKtCtJ;EALsC,CAAjC,CAAP;AAOD;;AACM,SAAS0J,aAAT,CACL7H,EADK,EAEL7B,IAFK,EAGL0D,IAA8B,GAAG,IAH5B,EAIY;EACjB,OAAO,IAAAtE,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCwC,EAFmC;IAGnC7B,IAHmC;IAInC0D;EAJmC,CAA9B,CAAP;AAMD;;AACM,SAASiG,oBAAT,CACLpB,cADK,EAEmB;EACxB,OAAO,IAAAnJ,qBAAA,EAAqC;IAC1CC,IAAI,EAAE,sBADoC;IAE1CkJ;EAF0C,CAArC,CAAP;AAID;;AACM,SAASqB,gBAAT,CACL/H,EADK,EAELuH,cAA6D,GAAG,IAF3D,EAGL3J,KAHK,EAIe;EACpB,OAAO,IAAAL,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCwC,EAFsC;IAGtCuH,cAHsC;IAItC3J;EAJsC,CAAjC,CAAP;AAMD;;AACM,SAASoK,iBAAT,CACLhI,EADK,EAELuH,cAAiD,GAAG,IAF/C,EAGLU,SAA4B,GAAG,IAH1B,EAIgB;EACrB,OAAO,IAAA1K,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCwC,EAFuC;IAGvCuH,cAHuC;IAIvCU;EAJuC,CAAlC,CAAP;AAMD;;AACM,SAASC,eAAT,CAAyBlI,EAAzB,EAA8D;EACnE,OAAO,IAAAzC,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCwC;EAFqC,CAAhC,CAAP;AAID;;AACM,SAASmI,wBAAT,CACL/D,WAA0B,GAAG,IADxB,EAELE,UAEQ,GAAG,IAJN,EAKLJ,MAA8B,GAAG,IAL5B,EAMuB;EAC5B,OAAO,IAAA3G,qBAAA,EAAyC;IAC9CC,IAAI,EAAE,0BADwC;IAE9C4G,WAF8C;IAG9CE,UAH8C;IAI9CJ;EAJ8C,CAAzC,CAAP;AAMD;;AACM,SAASkE,2BAAT,CACLlE,MADK,EAE0B;EAC/B,OAAO,IAAA3G,qBAAA,EAA4C;IACjDC,IAAI,EAAE,6BAD2C;IAEjD0G;EAFiD,CAA5C,CAAP;AAID;;AACM,SAASmE,iBAAT,CAA2BtK,KAA3B,EAA+D;EACpE,OAAO,IAAAR,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCO;EAFuC,CAAlC,CAAP;AAID;;AACM,SAASuK,oBAAT,GAAwD;EAC7D,OAAO;IACL9K,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAAS+K,sBAAT,CACLhB,cAA6D,GAAG,IAD3D,EAELtH,MAFK,EAGLuI,IAA4C,GAAG,IAH1C,EAILC,UAJK,EAKqB;EAC1B,OAAO,IAAAlL,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5C+J,cAF4C;IAG5CtH,MAH4C;IAI5CuI,IAJ4C;IAK5CC;EAL4C,CAAvC,CAAP;AAOD;;AACM,SAASC,iBAAT,CACLpI,IAAqC,GAAG,IADnC,EAELoG,cAFK,EAGgB;EACrB,OAAO,IAAAnJ,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvC8C,IAFuC;IAGvCoG;EAHuC,CAAlC,CAAP;AAKD;;AACM,SAASiC,qBAAT,CACL3I,EADK,EAELuH,cAAmD,GAAG,IAFjD,EAGoB;EACzB,OAAO,IAAAhK,qBAAA,EAAsC;IAC3CC,IAAI,EAAE,uBADqC;IAE3CwC,EAF2C;IAG3CuH;EAH2C,CAAtC,CAAP;AAKD;;AACM,SAASqB,iBAAT,GAAkD;EACvD,OAAO;IACLpL,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASqL,gBAAT,CACL7I,EADK,EAELuH,cAAmD,GAAG,IAFjD,EAGe;EACpB,OAAO,IAAAhK,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCwC,EAFsC;IAGtCuH;EAHsC,CAAjC,CAAP;AAKD;;AACM,SAASuB,oBAAT,CACL9I,EADK,EAELuH,cAA6D,GAAG,IAF3D,EAGLE,QAAsD,GAAG,IAHpD,EAILtJ,IAJK,EAKmB;EACxB,OAAO,IAAAZ,qBAAA,EAAqC;IAC1CC,IAAI,EAAE,sBADoC;IAE1CwC,EAF0C;IAG1CuH,cAH0C;IAI1CG,OAAO,EAAED,QAJiC;IAK1CtJ;EAL0C,CAArC,CAAP;AAOD;;AACM,SAAS4K,uBAAT,CACLtB,QAAsD,GAAG,IADpD,EAELtJ,IAFK,EAGsB;EAC3B,OAAO,IAAAZ,qBAAA,EAAwC;IAC7CC,IAAI,EAAE,yBADuC;IAE7CkK,OAAO,EAAED,QAFoC;IAG7CtJ;EAH6C,CAAxC,CAAP;AAKD;;AACM,SAAS6K,0BAAT,CACLC,KADK,EAEyB;EAC9B,OAAO,IAAA1L,qBAAA,EAA2C;IAChDC,IAAI,EAAE,4BAD0C;IAEhDyL;EAFgD,CAA3C,CAAP;AAID;;AACM,SAASC,mBAAT,GAAsD;EAC3D,OAAO;IACL1L,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAAS2L,mBAAT,GAAsD;EAC3D,OAAO;IACL3L,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAAS4L,sBAAT,CACL1C,cADK,EAEqB;EAC1B,OAAO,IAAAnJ,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5CkJ;EAF4C,CAAvC,CAAP;AAID;;AACM,SAAS2C,2BAAT,CACLtL,KADK,EAE0B;EAC/B,OAAO,IAAAR,qBAAA,EAA4C;IACjDC,IAAI,EAAE,6BAD2C;IAEjDO;EAFiD,CAA5C,CAAP;AAID;;AACM,SAASuL,oBAAT,GAAwD;EAC7D,OAAO;IACL9L,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAAS+L,oBAAT,CACL5H,UADK,EAEL6H,QAAoC,GAAG,EAFlC,EAGLC,cAA+C,GAAG,EAH7C,EAILC,aAA8C,GAAG,EAJ5C,EAKLC,KAAc,GAAG,KALZ,EAMmB;EACxB,OAAO,IAAApM,qBAAA,EAAqC;IAC1CC,IAAI,EAAE,sBADoC;IAE1CmE,UAF0C;IAG1C6H,QAH0C;IAI1CC,cAJ0C;IAK1CC,aAL0C;IAM1CC;EAN0C,CAArC,CAAP;AAQD;;AACM,SAASC,sBAAT,CACL5J,EADK,EAELjC,KAFK,EAGLsD,QAHK,EAILgE,OAJK,EAKLwE,MALK,EAMqB;EAC1B,OAAO,IAAAtM,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5CwC,EAF4C;IAG5CjC,KAH4C;IAI5CsD,QAJ4C;IAK5CiE,MAAM,EAAED,OALoC;IAM5CwE;EAN4C,CAAvC,CAAP;AAQD;;AACM,SAASC,sBAAT,CACL/L,KADK,EAEqB;EAC1B,OAAO,IAAAR,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5CO,KAF4C;IAG5CuH,MAAM,EAAE;EAHoC,CAAvC,CAAP;AAKD;;AACM,SAASyE,iBAAT,CACL/J,EAAmC,GAAG,IADjC,EAEL8B,GAFK,EAGL/D,KAHK,EAILiM,QAA2B,GAAG,IAJzB,EAKgB;EACrB,OAAO,IAAAzM,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCwC,EAFuC;IAGvC8B,GAHuC;IAIvC/D,KAJuC;IAKvCiM,QALuC;IAMvC1E,MAAM,EAAE;EAN+B,CAAlC,CAAP;AAQD;;AACM,SAAS2E,kBAAT,CACLnI,GADK,EAEL/D,KAFK,EAGLiM,QAA2B,GAAG,IAHzB,EAIiB;EACtB,OAAO,IAAAzM,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExCsE,GAFwC;IAGxC/D,KAHwC;IAIxCiM,QAJwC;IAKxCnI,IAAI,EAAE,IALkC;IAMxCgI,MAAM,EAAE,IANgC;IAOxCxI,QAAQ,EAAE,IAP8B;IAQxC6I,KAAK,EAAE,IARiC;IASxC5E,MAAM,EAAE;EATgC,CAAnC,CAAP;AAWD;;AACM,SAAS6E,wBAAT,CACLhI,QADK,EAEuB;EAC5B,OAAO,IAAA5E,qBAAA,EAAyC;IAC9CC,IAAI,EAAE,0BADwC;IAE9C2E;EAF8C,CAAzC,CAAP;AAID;;AACM,SAASiI,UAAT,CACLpK,EADK,EAELuH,cAA6D,GAAG,IAF3D,EAGLU,SAAwC,GAAG,IAHtC,EAILoC,QAJK,EAKS;EACd,OAAO,IAAA9M,qBAAA,EAA2B;IAChCC,IAAI,EAAE,YAD0B;IAEhCwC,EAFgC;IAGhCuH,cAHgC;IAIhCU,SAJgC;IAKhCoC;EALgC,CAA3B,CAAP;AAOD;;AACM,SAASC,uBAAT,CACLtK,EADK,EAELuK,aAFK,EAGsB;EAC3B,OAAO,IAAAhN,qBAAA,EAAwC;IAC7CC,IAAI,EAAE,yBADuC;IAE7CwC,EAF6C;IAG7CuK;EAH6C,CAAxC,CAAP;AAKD;;AACM,SAASC,2BAAT,CACLzM,KADK,EAE0B;EAC/B,OAAO,IAAAR,qBAAA,EAA4C;IACjDC,IAAI,EAAE,6BAD2C;IAEjDO;EAFiD,CAA5C,CAAP;AAID;;AACM,SAAS0M,oBAAT,GAAwD;EAC7D,OAAO;IACLjN,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASkN,oBAAT,GAAwD;EAC7D,OAAO;IACLlN,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASmN,kBAAT,GAAoD;EACzD,OAAO;IACLnN,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASoN,mBAAT,CACL3B,KADK,EAEkB;EACvB,OAAO,IAAA1L,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzCyL;EAFyC,CAApC,CAAP;AAID;;AACM,SAAS4B,oBAAT,CACL1I,QADK,EAEmB;EACxB,OAAO,IAAA5E,qBAAA,EAAqC;IAC1CC,IAAI,EAAE,sBADoC;IAE1C2E;EAF0C,CAArC,CAAP;AAID;;AACM,SAAS2I,SAAT,CACL9K,EADK,EAELuH,cAA6D,GAAG,IAF3D,EAGL3J,KAHK,EAIQ;EACb,OAAO,IAAAL,qBAAA,EAA0B;IAC/BC,IAAI,EAAE,WADyB;IAE/BwC,EAF+B;IAG/BuH,cAH+B;IAI/B3J;EAJ+B,CAA1B,CAAP;AAMD;;AACM,SAAS8I,cAAT,CAAwBA,cAAxB,EAAsE;EAC3E,OAAO,IAAAnJ,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCkJ;EAFoC,CAA/B,CAAP;AAID;;AACM,SAASqE,kBAAT,CACLzL,UADK,EAELoH,cAFK,EAGiB;EACtB,OAAO,IAAAnJ,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExC8B,UAFwC;IAGxCoH;EAHwC,CAAnC,CAAP;AAKD;;AACM,SAASsE,aAAT,CACLC,KAA8B,GAAG,IAD5B,EAELC,QAA2B,GAAG,IAFzB,EAGLlB,QAA2B,GAAG,IAHzB,EAIY;EACjB,OAAO,IAAAzM,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCyN,KAFmC;IAGnCE,OAAO,EAAED,QAH0B;IAInClB,QAJmC;IAKnC1J,IAAI,EAAE;EAL6B,CAA9B,CAAP;AAOD;;AACM,SAAS8K,wBAAT,CACLnL,MADK,EAEuB;EAC5B,OAAO,IAAA1C,qBAAA,EAAyC;IAC9CC,IAAI,EAAE,0BADwC;IAE9CyC;EAF8C,CAAzC,CAAP;AAID;;AACM,SAASoL,0BAAT,CACLpL,MADK,EAEyB;EAC9B,OAAO,IAAA1C,qBAAA,EAA2C;IAChDC,IAAI,EAAE,4BAD0C;IAEhDyC;EAFgD,CAA3C,CAAP;AAID;;AACM,SAASqL,mBAAT,CACLrC,KADK,EAEkB;EACvB,OAAO,IAAA1L,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzCyL;EAFyC,CAApC,CAAP;AAID;;AACM,SAASe,QAAT,CAAkBnI,IAAlB,EAAsD;EAC3D,OAAO,IAAAtE,qBAAA,EAAyB;IAC9BC,IAAI,EAAE,UADwB;IAE9BqE;EAF8B,CAAzB,CAAP;AAID;;AACM,SAAS0J,kBAAT,GAAoD;EACzD,OAAO;IACL/N,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASgO,eAAT,CACLxL,EADK,EAEL7B,IAFK,EAOc;EACnB,OAAO,IAAAZ,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCwC,EAFqC;IAGrC7B;EAHqC,CAAhC,CAAP;AAKD;;AACM,SAASsN,eAAT,CACLC,OADK,EAEc;EACnB,OAAO,IAAAnO,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCkO,OAFqC;IAGrCC,YAAY,EAAE,IAHuB;IAIrCC,iBAAiB,EAAE;EAJkB,CAAhC,CAAP;AAMD;;AACM,SAASC,cAAT,CACLH,OADK,EAEa;EAClB,OAAO,IAAAnO,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCkO,OAFoC;IAGpCC,YAAY,EAAE,IAHsB;IAIpCC,iBAAiB,EAAE;EAJiB,CAA/B,CAAP;AAMD;;AACM,SAASE,cAAT,CACLJ,OADK,EAEa;EAClB,OAAO,IAAAnO,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCkO,OAFoC;IAGpCC,YAAY,EAAE,IAHsB;IAIpCC,iBAAiB,EAAE;EAJiB,CAA/B,CAAP;AAMD;;AACM,SAASG,cAAT,CACLL,OADK,EAEa;EAClB,OAAO,IAAAnO,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCkO,OAFoC;IAGpCE,iBAAiB,EAAE;EAHiB,CAA/B,CAAP;AAKD;;AACM,SAASI,iBAAT,CAA2BhM,EAA3B,EAAkE;EACvE,OAAO,IAAAzC,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCwC,EAFuC;IAGvCH,IAAI,EAAE;EAHiC,CAAlC,CAAP;AAKD;;AACM,SAASoM,gBAAT,CACLjM,EADK,EAELH,IAFK,EAGe;EACpB,OAAO,IAAAtC,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCwC,EAFsC;IAGtCH;EAHsC,CAAjC,CAAP;AAKD;;AACM,SAASqM,gBAAT,CACLlM,EADK,EAELH,IAFK,EAGe;EACpB,OAAO,IAAAtC,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCwC,EAFsC;IAGtCH;EAHsC,CAAjC,CAAP;AAKD;;AACM,SAASsM,mBAAT,CAA6BnM,EAA7B,EAAsE;EAC3E,OAAO,IAAAzC,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzCwC;EAFyC,CAApC,CAAP;AAID;;AACM,SAASoM,iBAAT,CACLC,UADK,EAELC,SAFK,EAGgB;EACrB,OAAO,IAAA/O,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvC6O,UAFuC;IAGvCC;EAHuC,CAAlC,CAAP;AAKD;;AACM,SAASC,yBAAT,CACLF,UADK,EAELC,SAFK,EAGwB;EAC7B,OAAO,IAAA/O,qBAAA,EAA0C;IAC/CC,IAAI,EAAE,2BADyC;IAE/C6O,UAF+C;IAG/CC,SAH+C;IAI/CjL,QAAQ,EAAE;EAJqC,CAA1C,CAAP;AAMD;;AACM,SAASmL,YAAT,CACLlM,IADK,EAELvC,KAKQ,GAAG,IAPN,EAQW;EAChB,OAAO,IAAAR,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElC8C,IAFkC;IAGlCvC;EAHkC,CAA7B,CAAP;AAKD;;AAEM,SAAS0O,iBAAT,CACLnM,IADK,EAEgB;EACrB,OAAO,IAAA/C,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvC8C;EAFuC,CAAlC,CAAP;AAID;;AAEM,SAASoM,UAAT,CACLC,cADK,EAELC,cAAsD,GAAG,IAFpD,EAGLC,QAHK,EAULC,WAA2B,GAAG,IAVzB,EAWS;EACd,OAAO,IAAAvP,qBAAA,EAA2B;IAChCC,IAAI,EAAE,YAD0B;IAEhCmP,cAFgC;IAGhCC,cAHgC;IAIhCC,QAJgC;IAKhCC;EALgC,CAA3B,CAAP;AAOD;;AAEM,SAASC,kBAAT,GAAoD;EACzD,OAAO;IACLvP,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASwP,sBAAT,CACL1N,UADK,EAEqB;EAC1B,OAAO,IAAA/B,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5C8B;EAF4C,CAAvC,CAAP;AAID;;AAEM,SAAS2N,cAAT,CAAwB3N,UAAxB,EAAoE;EACzE,OAAO,IAAA/B,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpC8B;EAFoC,CAA/B,CAAP;AAID;;AAEM,SAAS4N,aAAT,CAAuB5M,IAAvB,EAAsD;EAC3D,OAAO,IAAA/C,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnC8C;EAFmC,CAA9B,CAAP;AAID;;AAEM,SAAS6M,mBAAT,CACLjM,MADK,EAELC,QAFK,EAGkB;EACvB,OAAO,IAAA5D,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzC0D,MAFyC;IAGzCC;EAHyC,CAApC,CAAP;AAKD;;AAEM,SAASiM,iBAAT,CACLC,SADK,EAEL/M,IAFK,EAGgB;EACrB,OAAO,IAAA/C,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvC6P,SAFuC;IAGvC/M;EAHuC,CAAlC,CAAP;AAKD;;AAEM,SAASgN,iBAAT,CACLhN,IADK,EAELiN,UAFK,EAGLT,WAAoB,GAAG,KAHlB,EAIgB;EACrB,OAAO,IAAAvP,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvC8C,IAFuC;IAGvCiN,UAHuC;IAIvCT;EAJuC,CAAlC,CAAP;AAMD;;AAEM,SAASU,kBAAT,CACLrL,QADK,EAEiB;EACtB,OAAO,IAAA5E,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExC2E;EAFwC,CAAnC,CAAP;AAID;;AAEM,SAASsL,OAAT,CAAiB1P,KAAjB,EAA2C;EAChD,OAAO,IAAAR,qBAAA,EAAwB;IAC7BC,IAAI,EAAE,SADuB;IAE7BO;EAF6B,CAAxB,CAAP;AAID;;AAEM,SAAS2P,WAAT,CACLC,eADK,EAELC,eAFK,EAGLf,QAHK,EAUU;EACf,OAAO,IAAAtP,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjCmQ,eAFiC;IAGjCC,eAHiC;IAIjCf;EAJiC,CAA5B,CAAP;AAMD;;AAEM,SAASgB,kBAAT,GAAoD;EACzD,OAAO;IACLrQ,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASsQ,kBAAT,GAAoD;EACzD,OAAO;IACLtQ,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASuQ,IAAT,GAAwB;EAC7B,OAAO;IACLvQ,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASwQ,WAAT,CACLC,YADK,EAUL3N,IAVK,EAWU;EACf,OAAO,IAAA/C,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjCyQ,YAFiC;IAGjC3N;EAHiC,CAA5B,CAAP;AAKD;;AACM,SAAS4N,qBAAT,CAA+B5N,IAA/B,EAAsE;EAC3E,OAAO,IAAA/C,qBAAA,EAAsC;IAC3CC,IAAI,EAAE,uBADqC;IAE3C8C;EAF2C,CAAtC,CAAP;AAID;;AACM,SAAS6N,mBAAT,GAAsD;EAC3D,OAAO;IACL3Q,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAAS4Q,cAAT,CACLlN,MADK,EAEL1C,MAFK,EAGa;EAClB,OAAO,IAAAjB,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpC0D,MAFoC;IAGpC1C;EAHoC,CAA/B,CAAP;AAKD;;AACM,SAAS6P,eAAT,CACLvM,GADK,EAEL/D,KAFK,EAGc;EACnB,OAAO,IAAAR,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCsE,GAFqC;IAGrC/D;EAHqC,CAAhC,CAAP;AAKD;;AACM,SAASuQ,SAAT,CAAmBhP,UAAnB,EAA0D;EAC/D,OAAO,IAAA/B,qBAAA,EAA0B;IAC/BC,IAAI,EAAE,WADyB;IAE/B8B;EAF+B,CAA1B,CAAP;AAID;;AACM,SAASiP,YAAT,CACLpQ,IADK,EAELgC,KAAc,GAAG,KAFZ,EAGW;EAChB,OAAO,IAAA5C,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElCW,IAFkC;IAGlCgC;EAHkC,CAA7B,CAAP;AAKD;;AACM,SAASqO,sBAAT,CACL/J,QADK,EAEqB;EAC1B,OAAO,IAAAlH,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5CiH;EAF4C,CAAvC,CAAP;AAID;;AACM,SAASgK,gBAAT,CACL9M,UADK,EAEe;EACpB,OAAO,IAAApE,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCmE;EAFsC,CAAjC,CAAP;AAID;;AACM,SAAS+M,eAAT,CACLpR,QAA+C,GAAG,EAD7C,EAEc;EACnB,OAAO,IAAAC,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCF;EAFqC,CAAhC,CAAP;AAID;;AACM,SAASqR,cAAT,CAAwB5Q,KAAxB,EAAyD;EAC9D,OAAO,IAAAR,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCO;EAFoC,CAA/B,CAAP;AAID;;AACM,SAAS6Q,gBAAT,CAA0BzQ,IAA1B,EAA+D;EACpE,OAAO,IAAAZ,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCW;EAFsC,CAAjC,CAAP;AAID;;AACM,SAAS0Q,cAAT,GAA4C;EACjD,OAAO;IACLrR,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASsR,uBAAT,CACLxP,UADK,EAEsB;EAC3B,OAAO,IAAA/B,qBAAA,EAAwC;IAC7CC,IAAI,EAAE,yBADuC;IAE7C8B;EAF6C,CAAxC,CAAP;AAID;;AACM,SAASyP,oBAAT,CACLvQ,MADK,EAEmB;EACxB,OAAO,IAAAjB,qBAAA,EAAqC;IAC1CC,IAAI,EAAE,sBADoC;IAE1CgB;EAF0C,CAArC,CAAP;AAID;;AACM,SAASwQ,6BAAT,GAA0E;EAC/E,OAAO;IACLxR,IAAI,EAAE;EADD,CAAP;AAGD;;AACM,SAASyR,mBAAT,CACLC,SADK,EAEkB;EACvB,OAAO,IAAA3R,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzC0R;EAFyC,CAApC,CAAP;AAID;;AAEM,SAASC,iBAAT,CACLnP,EAAmC,GAAG,IADjC,EAELuH,cAIa,GAAG,IANX,EAOLtH,MAPK,EAQLwI,UAA8C,GAAG,IAR5C,EASgB;EACrB,OAAO,IAAAlL,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCwC,EAFuC;IAGvCuH,cAHuC;IAIvCtH,MAJuC;IAKvCwI;EALuC,CAAlC,CAAP;AAOD;;AAEM,SAAS2G,eAAT,CACLnN,UAAiD,GAAG,IAD/C,EAELH,GAFK,EAQLyF,cAIa,GAAG,IAZX,EAaLtH,MAbK,EAgBLwI,UAA8C,GAAG,IAhB5C,EAiBc;EACnB,OAAO,IAAAlL,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCyE,UAFqC;IAGrCH,GAHqC;IAIrCyF,cAJqC;IAKrCtH,MALqC;IAMrCwI;EANqC,CAAhC,CAAP;AAQD;;AAEM,SAAS4G,eAAT,CACL1R,IADK,EAELC,KAFK,EAGc;EACnB,OAAO,IAAAL,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCG,IAFqC;IAGrCC;EAHqC,CAAhC,CAAP;AAKD;;AAEM,SAAS0R,0BAAT,CACL/H,cAA+D,GAAG,IAD7D,EAELgI,UAFK,EAGL7I,cAAyC,GAAG,IAHvC,EAIyB;EAC9B,OAAO,IAAAnJ,qBAAA,EAA2C;IAChDC,IAAI,EAAE,4BAD0C;IAEhD+J,cAFgD;IAGhDgI,UAHgD;IAIhD7I;EAJgD,CAA3C,CAAP;AAMD;;AAEM,SAAS8I,+BAAT,CACLjI,cAA+D,GAAG,IAD7D,EAELgI,UAFK,EAGL7I,cAAyC,GAAG,IAHvC,EAI8B;EACnC,OAAO,IAAAnJ,qBAAA,EAAgD;IACrDC,IAAI,EAAE,iCAD+C;IAErD+J,cAFqD;IAGrDgI,UAHqD;IAIrD7I;EAJqD,CAAhD,CAAP;AAMD;;AAEM,SAAS+I,mBAAT,CACL3N,GADK,EAEL4E,cAAyC,GAAG,IAFvC,EAGLgJ,WAAgC,GAAG,IAH9B,EAIkB;EACvB,OAAO,IAAAnS,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzCsE,GAFyC;IAGzC4E,cAHyC;IAIzCgJ,WAJyC;IAKzC7N,IAAI,EAAE;EALmC,CAApC,CAAP;AAOD;;AAEM,SAAS8N,iBAAT,CACL7N,GADK,EAELyF,cAA+D,GAAG,IAF7D,EAGLgI,UAHK,EAIL7I,cAAyC,GAAG,IAJvC,EAKgB;EACrB,OAAO,IAAAnJ,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCsE,GAFuC;IAGvCyF,cAHuC;IAIvCgI,UAJuC;IAKvC7I,cALuC;IAMvC7E,IAAI,EAAE;EANiC,CAAlC,CAAP;AAQD;;AAEM,SAAS+N,gBAAT,CACLL,UADK,EAEL7I,cAAyC,GAAG,IAFvC,EAGe;EACpB,OAAO,IAAAnJ,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtC+R,UAFsC;IAGtC7I;EAHsC,CAAjC,CAAP;AAKD;;AAEM,SAASmJ,YAAT,GAAwC;EAC7C,OAAO;IACLrS,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASsS,gBAAT,GAAgD;EACrD,OAAO;IACLtS,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASuS,eAAT,GAA8C;EACnD,OAAO;IACLvS,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASwS,kBAAT,GAAoD;EACzD,OAAO;IACLxS,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASyS,cAAT,GAA4C;EACjD,OAAO;IACLzS,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAAS0S,aAAT,GAA0C;EAC/C,OAAO;IACL1S,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAAS2S,eAAT,GAA8C;EACnD,OAAO;IACL3S,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAAS4S,eAAT,GAA8C;EACnD,OAAO;IACL5S,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAAS6S,eAAT,GAA8C;EACnD,OAAO;IACL7S,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAAS8S,eAAT,GAA8C;EACnD,OAAO;IACL9S,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAAS+S,kBAAT,GAAoD;EACzD,OAAO;IACL/S,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASgT,gBAAT,GAAgD;EACrD,OAAO;IACLhT,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASiT,aAAT,GAA0C;EAC/C,OAAO;IACLjT,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASkT,UAAT,GAAoC;EACzC,OAAO;IACLlT,IAAI,EAAE;EADD,CAAP;AAGD;;AAEM,SAASmT,cAAT,CACLpJ,cAA+D,GAAG,IAD7D,EAELgI,UAFK,EAGL7I,cAAyC,GAAG,IAHvC,EAIa;EAClB,OAAO,IAAAnJ,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpC+J,cAFoC;IAGpCgI,UAHoC;IAIpC7I;EAJoC,CAA/B,CAAP;AAMD;;AAEM,SAASkK,iBAAT,CACLrJ,cAA+D,GAAG,IAD7D,EAELgI,UAFK,EAGL7I,cAAyC,GAAG,IAHvC,EAIgB;EACrB,OAAO,IAAAnJ,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvC+J,cAFuC;IAGvCgI,UAHuC;IAIvC7I;EAJuC,CAAlC,CAAP;AAMD;;AAEM,SAASmK,eAAT,CACLC,QADK,EAELvJ,cAAqD,GAAG,IAFnD,EAGc;EACnB,OAAO,IAAAhK,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCsT,QAFqC;IAGrCvJ;EAHqC,CAAhC,CAAP;AAKD;;AAEM,SAASwJ,eAAT,CACLC,aADK,EAELtK,cAAyC,GAAG,IAFvC,EAGLuK,OAAuB,GAAG,IAHrB,EAIc;EACnB,OAAO,IAAA1T,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCwT,aAFqC;IAGrCtK,cAHqC;IAIrCuK;EAJqC,CAAhC,CAAP;AAMD;;AAEM,SAASC,WAAT,CACLC,QADK,EAEL5J,cAAqD,GAAG,IAFnD,EAGU;EACf,OAAO,IAAAhK,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjC2T,QAFiC;IAGjC5J;EAHiC,CAA5B,CAAP;AAKD;;AAEM,SAAS6J,aAAT,CACL1F,OADK,EAEY;EACjB,OAAO,IAAAnO,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCkO;EAFmC,CAA9B,CAAP;AAID;;AAEM,SAAS2F,WAAT,CAAqBnK,WAArB,EAA2D;EAChE,OAAO,IAAA3J,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjC0J;EAFiC,CAA5B,CAAP;AAID;;AAEM,SAASoK,WAAT,CACLC,YADK,EAEU;EACf,OAAO,IAAAhU,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjC+T;EAFiC,CAA5B,CAAP;AAID;;AAEM,SAASC,cAAT,CAAwB9K,cAAxB,EAAoE;EACzE,OAAO,IAAAnJ,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCkJ;EAFoC,CAA/B,CAAP;AAID;;AAEM,SAAS+K,UAAT,CAAoB/K,cAApB,EAA4D;EACjE,OAAO,IAAAnJ,qBAAA,EAA2B;IAChCC,IAAI,EAAE,YAD0B;IAEhCkJ;EAFgC,CAA3B,CAAP;AAID;;AAEM,SAASgL,kBAAT,CACLpT,KADK,EAEL4I,WAFK,EAGL7F,QAAiB,GAAG,KAHf,EAIiB;EACtB,OAAO,IAAA9D,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExCc,KAFwC;IAGxC4I,WAHwC;IAIxC7F;EAJwC,CAAnC,CAAP;AAMD;;AAEM,SAASsQ,WAAT,CAAqB1I,KAArB,EAA4D;EACjE,OAAO,IAAA1L,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjCyL;EAFiC,CAA5B,CAAP;AAID;;AAEM,SAAS2I,kBAAT,CACL3I,KADK,EAEiB;EACtB,OAAO,IAAA1L,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExCyL;EAFwC,CAAnC,CAAP;AAID;;AAEM,SAAS4I,iBAAT,CACLC,SADK,EAELC,WAFK,EAGLC,QAHK,EAILC,SAJK,EAKgB;EACrB,OAAO,IAAA1U,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCsU,SAFuC;IAGvCC,WAHuC;IAIvCC,QAJuC;IAKvCC;EALuC,CAAlC,CAAP;AAOD;;AAEM,SAASC,WAAT,CAAqBlH,aAArB,EAAsE;EAC3E,OAAO,IAAAzN,qBAAA,EAA4B;IACjCC,IAAI,EAAE,aAD2B;IAEjCwN;EAFiC,CAA5B,CAAP;AAID;;AAEM,SAASmH,mBAAT,CACLzL,cADK,EAEkB;EACvB,OAAO,IAAAnJ,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzCkJ;EAFyC,CAApC,CAAP;AAID;;AAEM,SAAS0L,cAAT,CAAwB1L,cAAxB,EAAoE;EACzE,OAAO,IAAAnJ,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpCkJ,cAFoC;IAGpChJ,QAAQ,EAAE;EAH0B,CAA/B,CAAP;AAKD;;AAEM,SAAS2U,mBAAT,CACLhG,UADK,EAELC,SAFK,EAGkB;EACvB,OAAO,IAAA/O,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzC6O,UAFyC;IAGzCC;EAHyC,CAApC,CAAP;AAKD;;AAEM,SAASgG,YAAT,CACLtH,aADK,EAELtE,cAA+B,GAAG,IAF7B,EAGL6L,QAAyB,GAAG,IAHvB,EAIW;EAChB,OAAO,IAAAhV,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElCwN,aAFkC;IAGlCtE,cAHkC;IAIlC6L;EAJkC,CAA7B,CAAP;AAMD;;AAEM,SAASC,aAAT,CACLC,OADK,EAQY;EACjB,OAAO,IAAAlV,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCiV;EAFmC,CAA9B,CAAP;AAID;;AAEM,SAASC,6BAAT,CACLpT,UADK,EAELiI,cAAqD,GAAG,IAFnD,EAG4B;EACjC,OAAO,IAAAhK,qBAAA,EAA8C;IACnDC,IAAI,EAAE,+BAD6C;IAEnD8B,UAFmD;IAGnDiI;EAHmD,CAA9C,CAAP;AAKD;;AAEM,SAASoL,sBAAT,CACL3S,EADK,EAELuH,cAA+D,GAAG,IAF7D,EAGLE,QAAmE,GAAG,IAHjE,EAILtJ,IAJK,EAKqB;EAC1B,OAAO,IAAAZ,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5CwC,EAF4C;IAG5CuH,cAH4C;IAI5CG,OAAO,EAAED,QAJmC;IAK5CtJ;EAL4C,CAAvC,CAAP;AAOD;;AAEM,SAASyU,eAAT,CACLzU,IADK,EAEc;EACnB,OAAO,IAAAZ,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCW;EAFqC,CAAhC,CAAP;AAID;;AAEM,SAAS0U,sBAAT,CACL7S,EADK,EAELuH,cAA+D,GAAG,IAF7D,EAGLb,cAHK,EAIqB;EAC1B,OAAO,IAAAnJ,qBAAA,EAAuC;IAC5CC,IAAI,EAAE,wBADsC;IAE5CwC,EAF4C;IAG5CuH,cAH4C;IAI5Cb;EAJ4C,CAAvC,CAAP;AAMD;;AAEM,SAASoM,yBAAT,CACLxT,UADK,EAELiI,cAAqD,GAAG,IAFnD,EAGwB;EAC7B,OAAO,IAAAhK,qBAAA,EAA0C;IAC/CC,IAAI,EAAE,2BADyC;IAE/C8B,UAF+C;IAG/CiI;EAH+C,CAA1C,CAAP;AAKD;;AAEM,SAASwL,cAAT,CACLzT,UADK,EAELoH,cAFK,EAGa;EAClB,OAAO,IAAAnJ,qBAAA,EAA+B;IACpCC,IAAI,EAAE,gBAD8B;IAEpC8B,UAFoC;IAGpCoH;EAHoC,CAA/B,CAAP;AAKD;;AAEM,SAASsM,eAAT,CACLtM,cADK,EAELpH,UAFK,EAGc;EACnB,OAAO,IAAA/B,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErCkJ,cAFqC;IAGrCpH;EAHqC,CAAhC,CAAP;AAKD;;AAEM,SAAS2T,iBAAT,CACLjT,EADK,EAEL0L,OAFK,EAGgB;EACrB,OAAO,IAAAnO,qBAAA,EAAkC;IACvCC,IAAI,EAAE,mBADiC;IAEvCwC,EAFuC;IAGvC0L;EAHuC,CAAlC,CAAP;AAKD;;AAEM,SAASwH,YAAT,CACLlT,EADK,EAEL0P,WAAgC,GAAG,IAF9B,EAGW;EAChB,OAAO,IAAAnS,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElCwC,EAFkC;IAGlC0P;EAHkC,CAA7B,CAAP;AAKD;;AAEM,SAASyD,mBAAT,CACLnT,EADK,EAEL7B,IAFK,EAGkB;EACvB,OAAO,IAAAZ,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzCwC,EAFyC;IAGzC7B;EAHyC,CAApC,CAAP;AAKD;;AAEM,SAASiV,aAAT,CAAuBjV,IAAvB,EAAkE;EACvE,OAAO,IAAAZ,qBAAA,EAA8B;IACnCC,IAAI,EAAE,eAD6B;IAEnCW;EAFmC,CAA9B,CAAP;AAID;;AAEM,SAASkV,YAAT,CACLlR,QADK,EAELmR,SAAgC,GAAG,IAF9B,EAGL/L,cAAqD,GAAG,IAHnD,EAIW;EAChB,OAAO,IAAAhK,qBAAA,EAA6B;IAClCC,IAAI,EAAE,cAD4B;IAElC2E,QAFkC;IAGlCmR,SAHkC;IAIlC/L;EAJkC,CAA7B,CAAP;AAMD;;AAEM,SAASgM,yBAAT,CACLvT,EADK,EAELwT,eAFK,EAGwB;EAC7B,OAAO,IAAAjW,qBAAA,EAA0C;IAC/CC,IAAI,EAAE,2BADyC;IAE/CwC,EAF+C;IAG/CwT,eAH+C;IAI/CC,QAAQ,EAAE;EAJqC,CAA1C,CAAP;AAMD;;AAEM,SAASC,yBAAT,CACLpU,UADK,EAEwB;EAC7B,OAAO,IAAA/B,qBAAA,EAA0C;IAC/CC,IAAI,EAAE,2BADyC;IAE/C8B;EAF+C,CAA1C,CAAP;AAID;;AAEM,SAASqU,mBAAT,CACLrU,UADK,EAEkB;EACvB,OAAO,IAAA/B,qBAAA,EAAoC;IACzCC,IAAI,EAAE,qBADmC;IAEzC8B;EAFyC,CAApC,CAAP;AAID;;AAEM,SAASsU,kBAAT,CACLtU,UADK,EAEiB;EACtB,OAAO,IAAA/B,qBAAA,EAAmC;IACxCC,IAAI,EAAE,oBADkC;IAExC8B;EAFwC,CAAnC,CAAP;AAID;;AAEM,SAASuU,4BAAT,CACL7T,EADK,EAE2B;EAChC,OAAO,IAAAzC,qBAAA,EAA6C;IAClDC,IAAI,EAAE,8BAD4C;IAElDwC;EAFkD,CAA7C,CAAP;AAID;;AAEM,SAAS8T,gBAAT,CAA0BpN,cAA1B,EAAwE;EAC7E,OAAO,IAAAnJ,qBAAA,EAAiC;IACtCC,IAAI,EAAE,kBADgC;IAEtCkJ;EAFsC,CAAjC,CAAP;AAID;;AAEM,SAASqN,4BAAT,CACL9T,MADK,EAE2B;EAChC,OAAO,IAAA1C,qBAAA,EAA6C;IAClDC,IAAI,EAAE,8BAD4C;IAElDyC;EAFkD,CAA7C,CAAP;AAID;;AAEM,SAAS+T,0BAAT,CACL/T,MADK,EAEyB;EAC9B,OAAO,IAAA1C,qBAAA,EAA2C;IAChDC,IAAI,EAAE,4BAD0C;IAEhDyC;EAFgD,CAA3C,CAAP;AAID;;AAEM,SAASgU,eAAT,CACLC,UAAuC,GAAG,IADrC,EAELhJ,QAAqC,GAAG,IAFnC,EAGL5K,IAHK,EAIc;EACnB,OAAO,IAAA/C,qBAAA,EAAgC;IACrCC,IAAI,EAAE,iBAD+B;IAErC0W,UAFqC;IAGrC/I,OAAO,EAAED,QAH4B;IAIrC5K;EAJqC,CAAhC,CAAP;AAMD;;AAGD,SAAS6T,aAAT,CAAuBpW,KAAvB,EAAsC;EACpCqW,OAAO,CAACC,KAAR,CACE,gEADF;EAGA,OAAO3T,cAAc,CAAC3C,KAAD,CAArB;AACD;;AAGD,SAASuW,YAAT,CAAsBxT,OAAtB,EAAuCC,KAAa,GAAG,EAAvD,EAA2D;EACzDqT,OAAO,CAACC,KAAR,CAAc,8DAAd;EACA,OAAOxT,aAAa,CAACC,OAAD,EAAUC,KAAV,CAApB;AACD;;AAGD,SAASwT,YAAT,CAAsBpS,QAAtB,EAAwC;EACtCiS,OAAO,CAACC,KAAR,CAAc,4DAAd;EACA,OAAOnS,WAAW,CAACC,QAAD,CAAlB;AACD;;AAGD,SAASqS,cAAT,CAAwBrS,QAAxB,EAAgD;EAC9CiS,OAAO,CAACC,KAAR,CACE,gEADF;EAGA,OAAO7O,aAAa,CAACrD,QAAD,CAApB;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/builders/generated/uppercase.js b/includes/search/node_modules/@babel/types/lib/builders/generated/uppercase.js
deleted file mode 100644
index 9a91ac3..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/generated/uppercase.js
+++ /dev/null
@@ -1,1521 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-Object.defineProperty(exports, "AnyTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.anyTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "ArgumentPlaceholder", {
- enumerable: true,
- get: function () {
- return _index.argumentPlaceholder;
- }
-});
-Object.defineProperty(exports, "ArrayExpression", {
- enumerable: true,
- get: function () {
- return _index.arrayExpression;
- }
-});
-Object.defineProperty(exports, "ArrayPattern", {
- enumerable: true,
- get: function () {
- return _index.arrayPattern;
- }
-});
-Object.defineProperty(exports, "ArrayTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.arrayTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "ArrowFunctionExpression", {
- enumerable: true,
- get: function () {
- return _index.arrowFunctionExpression;
- }
-});
-Object.defineProperty(exports, "AssignmentExpression", {
- enumerable: true,
- get: function () {
- return _index.assignmentExpression;
- }
-});
-Object.defineProperty(exports, "AssignmentPattern", {
- enumerable: true,
- get: function () {
- return _index.assignmentPattern;
- }
-});
-Object.defineProperty(exports, "AwaitExpression", {
- enumerable: true,
- get: function () {
- return _index.awaitExpression;
- }
-});
-Object.defineProperty(exports, "BigIntLiteral", {
- enumerable: true,
- get: function () {
- return _index.bigIntLiteral;
- }
-});
-Object.defineProperty(exports, "BinaryExpression", {
- enumerable: true,
- get: function () {
- return _index.binaryExpression;
- }
-});
-Object.defineProperty(exports, "BindExpression", {
- enumerable: true,
- get: function () {
- return _index.bindExpression;
- }
-});
-Object.defineProperty(exports, "BlockStatement", {
- enumerable: true,
- get: function () {
- return _index.blockStatement;
- }
-});
-Object.defineProperty(exports, "BooleanLiteral", {
- enumerable: true,
- get: function () {
- return _index.booleanLiteral;
- }
-});
-Object.defineProperty(exports, "BooleanLiteralTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.booleanLiteralTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "BooleanTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.booleanTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "BreakStatement", {
- enumerable: true,
- get: function () {
- return _index.breakStatement;
- }
-});
-Object.defineProperty(exports, "CallExpression", {
- enumerable: true,
- get: function () {
- return _index.callExpression;
- }
-});
-Object.defineProperty(exports, "CatchClause", {
- enumerable: true,
- get: function () {
- return _index.catchClause;
- }
-});
-Object.defineProperty(exports, "ClassAccessorProperty", {
- enumerable: true,
- get: function () {
- return _index.classAccessorProperty;
- }
-});
-Object.defineProperty(exports, "ClassBody", {
- enumerable: true,
- get: function () {
- return _index.classBody;
- }
-});
-Object.defineProperty(exports, "ClassDeclaration", {
- enumerable: true,
- get: function () {
- return _index.classDeclaration;
- }
-});
-Object.defineProperty(exports, "ClassExpression", {
- enumerable: true,
- get: function () {
- return _index.classExpression;
- }
-});
-Object.defineProperty(exports, "ClassImplements", {
- enumerable: true,
- get: function () {
- return _index.classImplements;
- }
-});
-Object.defineProperty(exports, "ClassMethod", {
- enumerable: true,
- get: function () {
- return _index.classMethod;
- }
-});
-Object.defineProperty(exports, "ClassPrivateMethod", {
- enumerable: true,
- get: function () {
- return _index.classPrivateMethod;
- }
-});
-Object.defineProperty(exports, "ClassPrivateProperty", {
- enumerable: true,
- get: function () {
- return _index.classPrivateProperty;
- }
-});
-Object.defineProperty(exports, "ClassProperty", {
- enumerable: true,
- get: function () {
- return _index.classProperty;
- }
-});
-Object.defineProperty(exports, "ConditionalExpression", {
- enumerable: true,
- get: function () {
- return _index.conditionalExpression;
- }
-});
-Object.defineProperty(exports, "ContinueStatement", {
- enumerable: true,
- get: function () {
- return _index.continueStatement;
- }
-});
-Object.defineProperty(exports, "DebuggerStatement", {
- enumerable: true,
- get: function () {
- return _index.debuggerStatement;
- }
-});
-Object.defineProperty(exports, "DecimalLiteral", {
- enumerable: true,
- get: function () {
- return _index.decimalLiteral;
- }
-});
-Object.defineProperty(exports, "DeclareClass", {
- enumerable: true,
- get: function () {
- return _index.declareClass;
- }
-});
-Object.defineProperty(exports, "DeclareExportAllDeclaration", {
- enumerable: true,
- get: function () {
- return _index.declareExportAllDeclaration;
- }
-});
-Object.defineProperty(exports, "DeclareExportDeclaration", {
- enumerable: true,
- get: function () {
- return _index.declareExportDeclaration;
- }
-});
-Object.defineProperty(exports, "DeclareFunction", {
- enumerable: true,
- get: function () {
- return _index.declareFunction;
- }
-});
-Object.defineProperty(exports, "DeclareInterface", {
- enumerable: true,
- get: function () {
- return _index.declareInterface;
- }
-});
-Object.defineProperty(exports, "DeclareModule", {
- enumerable: true,
- get: function () {
- return _index.declareModule;
- }
-});
-Object.defineProperty(exports, "DeclareModuleExports", {
- enumerable: true,
- get: function () {
- return _index.declareModuleExports;
- }
-});
-Object.defineProperty(exports, "DeclareOpaqueType", {
- enumerable: true,
- get: function () {
- return _index.declareOpaqueType;
- }
-});
-Object.defineProperty(exports, "DeclareTypeAlias", {
- enumerable: true,
- get: function () {
- return _index.declareTypeAlias;
- }
-});
-Object.defineProperty(exports, "DeclareVariable", {
- enumerable: true,
- get: function () {
- return _index.declareVariable;
- }
-});
-Object.defineProperty(exports, "DeclaredPredicate", {
- enumerable: true,
- get: function () {
- return _index.declaredPredicate;
- }
-});
-Object.defineProperty(exports, "Decorator", {
- enumerable: true,
- get: function () {
- return _index.decorator;
- }
-});
-Object.defineProperty(exports, "Directive", {
- enumerable: true,
- get: function () {
- return _index.directive;
- }
-});
-Object.defineProperty(exports, "DirectiveLiteral", {
- enumerable: true,
- get: function () {
- return _index.directiveLiteral;
- }
-});
-Object.defineProperty(exports, "DoExpression", {
- enumerable: true,
- get: function () {
- return _index.doExpression;
- }
-});
-Object.defineProperty(exports, "DoWhileStatement", {
- enumerable: true,
- get: function () {
- return _index.doWhileStatement;
- }
-});
-Object.defineProperty(exports, "EmptyStatement", {
- enumerable: true,
- get: function () {
- return _index.emptyStatement;
- }
-});
-Object.defineProperty(exports, "EmptyTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.emptyTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "EnumBooleanBody", {
- enumerable: true,
- get: function () {
- return _index.enumBooleanBody;
- }
-});
-Object.defineProperty(exports, "EnumBooleanMember", {
- enumerable: true,
- get: function () {
- return _index.enumBooleanMember;
- }
-});
-Object.defineProperty(exports, "EnumDeclaration", {
- enumerable: true,
- get: function () {
- return _index.enumDeclaration;
- }
-});
-Object.defineProperty(exports, "EnumDefaultedMember", {
- enumerable: true,
- get: function () {
- return _index.enumDefaultedMember;
- }
-});
-Object.defineProperty(exports, "EnumNumberBody", {
- enumerable: true,
- get: function () {
- return _index.enumNumberBody;
- }
-});
-Object.defineProperty(exports, "EnumNumberMember", {
- enumerable: true,
- get: function () {
- return _index.enumNumberMember;
- }
-});
-Object.defineProperty(exports, "EnumStringBody", {
- enumerable: true,
- get: function () {
- return _index.enumStringBody;
- }
-});
-Object.defineProperty(exports, "EnumStringMember", {
- enumerable: true,
- get: function () {
- return _index.enumStringMember;
- }
-});
-Object.defineProperty(exports, "EnumSymbolBody", {
- enumerable: true,
- get: function () {
- return _index.enumSymbolBody;
- }
-});
-Object.defineProperty(exports, "ExistsTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.existsTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "ExportAllDeclaration", {
- enumerable: true,
- get: function () {
- return _index.exportAllDeclaration;
- }
-});
-Object.defineProperty(exports, "ExportDefaultDeclaration", {
- enumerable: true,
- get: function () {
- return _index.exportDefaultDeclaration;
- }
-});
-Object.defineProperty(exports, "ExportDefaultSpecifier", {
- enumerable: true,
- get: function () {
- return _index.exportDefaultSpecifier;
- }
-});
-Object.defineProperty(exports, "ExportNamedDeclaration", {
- enumerable: true,
- get: function () {
- return _index.exportNamedDeclaration;
- }
-});
-Object.defineProperty(exports, "ExportNamespaceSpecifier", {
- enumerable: true,
- get: function () {
- return _index.exportNamespaceSpecifier;
- }
-});
-Object.defineProperty(exports, "ExportSpecifier", {
- enumerable: true,
- get: function () {
- return _index.exportSpecifier;
- }
-});
-Object.defineProperty(exports, "ExpressionStatement", {
- enumerable: true,
- get: function () {
- return _index.expressionStatement;
- }
-});
-Object.defineProperty(exports, "File", {
- enumerable: true,
- get: function () {
- return _index.file;
- }
-});
-Object.defineProperty(exports, "ForInStatement", {
- enumerable: true,
- get: function () {
- return _index.forInStatement;
- }
-});
-Object.defineProperty(exports, "ForOfStatement", {
- enumerable: true,
- get: function () {
- return _index.forOfStatement;
- }
-});
-Object.defineProperty(exports, "ForStatement", {
- enumerable: true,
- get: function () {
- return _index.forStatement;
- }
-});
-Object.defineProperty(exports, "FunctionDeclaration", {
- enumerable: true,
- get: function () {
- return _index.functionDeclaration;
- }
-});
-Object.defineProperty(exports, "FunctionExpression", {
- enumerable: true,
- get: function () {
- return _index.functionExpression;
- }
-});
-Object.defineProperty(exports, "FunctionTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.functionTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "FunctionTypeParam", {
- enumerable: true,
- get: function () {
- return _index.functionTypeParam;
- }
-});
-Object.defineProperty(exports, "GenericTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.genericTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "Identifier", {
- enumerable: true,
- get: function () {
- return _index.identifier;
- }
-});
-Object.defineProperty(exports, "IfStatement", {
- enumerable: true,
- get: function () {
- return _index.ifStatement;
- }
-});
-Object.defineProperty(exports, "Import", {
- enumerable: true,
- get: function () {
- return _index.import;
- }
-});
-Object.defineProperty(exports, "ImportAttribute", {
- enumerable: true,
- get: function () {
- return _index.importAttribute;
- }
-});
-Object.defineProperty(exports, "ImportDeclaration", {
- enumerable: true,
- get: function () {
- return _index.importDeclaration;
- }
-});
-Object.defineProperty(exports, "ImportDefaultSpecifier", {
- enumerable: true,
- get: function () {
- return _index.importDefaultSpecifier;
- }
-});
-Object.defineProperty(exports, "ImportNamespaceSpecifier", {
- enumerable: true,
- get: function () {
- return _index.importNamespaceSpecifier;
- }
-});
-Object.defineProperty(exports, "ImportSpecifier", {
- enumerable: true,
- get: function () {
- return _index.importSpecifier;
- }
-});
-Object.defineProperty(exports, "IndexedAccessType", {
- enumerable: true,
- get: function () {
- return _index.indexedAccessType;
- }
-});
-Object.defineProperty(exports, "InferredPredicate", {
- enumerable: true,
- get: function () {
- return _index.inferredPredicate;
- }
-});
-Object.defineProperty(exports, "InterfaceDeclaration", {
- enumerable: true,
- get: function () {
- return _index.interfaceDeclaration;
- }
-});
-Object.defineProperty(exports, "InterfaceExtends", {
- enumerable: true,
- get: function () {
- return _index.interfaceExtends;
- }
-});
-Object.defineProperty(exports, "InterfaceTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.interfaceTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "InterpreterDirective", {
- enumerable: true,
- get: function () {
- return _index.interpreterDirective;
- }
-});
-Object.defineProperty(exports, "IntersectionTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.intersectionTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "JSXAttribute", {
- enumerable: true,
- get: function () {
- return _index.jsxAttribute;
- }
-});
-Object.defineProperty(exports, "JSXClosingElement", {
- enumerable: true,
- get: function () {
- return _index.jsxClosingElement;
- }
-});
-Object.defineProperty(exports, "JSXClosingFragment", {
- enumerable: true,
- get: function () {
- return _index.jsxClosingFragment;
- }
-});
-Object.defineProperty(exports, "JSXElement", {
- enumerable: true,
- get: function () {
- return _index.jsxElement;
- }
-});
-Object.defineProperty(exports, "JSXEmptyExpression", {
- enumerable: true,
- get: function () {
- return _index.jsxEmptyExpression;
- }
-});
-Object.defineProperty(exports, "JSXExpressionContainer", {
- enumerable: true,
- get: function () {
- return _index.jsxExpressionContainer;
- }
-});
-Object.defineProperty(exports, "JSXFragment", {
- enumerable: true,
- get: function () {
- return _index.jsxFragment;
- }
-});
-Object.defineProperty(exports, "JSXIdentifier", {
- enumerable: true,
- get: function () {
- return _index.jsxIdentifier;
- }
-});
-Object.defineProperty(exports, "JSXMemberExpression", {
- enumerable: true,
- get: function () {
- return _index.jsxMemberExpression;
- }
-});
-Object.defineProperty(exports, "JSXNamespacedName", {
- enumerable: true,
- get: function () {
- return _index.jsxNamespacedName;
- }
-});
-Object.defineProperty(exports, "JSXOpeningElement", {
- enumerable: true,
- get: function () {
- return _index.jsxOpeningElement;
- }
-});
-Object.defineProperty(exports, "JSXOpeningFragment", {
- enumerable: true,
- get: function () {
- return _index.jsxOpeningFragment;
- }
-});
-Object.defineProperty(exports, "JSXSpreadAttribute", {
- enumerable: true,
- get: function () {
- return _index.jsxSpreadAttribute;
- }
-});
-Object.defineProperty(exports, "JSXSpreadChild", {
- enumerable: true,
- get: function () {
- return _index.jsxSpreadChild;
- }
-});
-Object.defineProperty(exports, "JSXText", {
- enumerable: true,
- get: function () {
- return _index.jsxText;
- }
-});
-Object.defineProperty(exports, "LabeledStatement", {
- enumerable: true,
- get: function () {
- return _index.labeledStatement;
- }
-});
-Object.defineProperty(exports, "LogicalExpression", {
- enumerable: true,
- get: function () {
- return _index.logicalExpression;
- }
-});
-Object.defineProperty(exports, "MemberExpression", {
- enumerable: true,
- get: function () {
- return _index.memberExpression;
- }
-});
-Object.defineProperty(exports, "MetaProperty", {
- enumerable: true,
- get: function () {
- return _index.metaProperty;
- }
-});
-Object.defineProperty(exports, "MixedTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.mixedTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "ModuleExpression", {
- enumerable: true,
- get: function () {
- return _index.moduleExpression;
- }
-});
-Object.defineProperty(exports, "NewExpression", {
- enumerable: true,
- get: function () {
- return _index.newExpression;
- }
-});
-Object.defineProperty(exports, "Noop", {
- enumerable: true,
- get: function () {
- return _index.noop;
- }
-});
-Object.defineProperty(exports, "NullLiteral", {
- enumerable: true,
- get: function () {
- return _index.nullLiteral;
- }
-});
-Object.defineProperty(exports, "NullLiteralTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.nullLiteralTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "NullableTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.nullableTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "NumberLiteral", {
- enumerable: true,
- get: function () {
- return _index.numberLiteral;
- }
-});
-Object.defineProperty(exports, "NumberLiteralTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.numberLiteralTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "NumberTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.numberTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "NumericLiteral", {
- enumerable: true,
- get: function () {
- return _index.numericLiteral;
- }
-});
-Object.defineProperty(exports, "ObjectExpression", {
- enumerable: true,
- get: function () {
- return _index.objectExpression;
- }
-});
-Object.defineProperty(exports, "ObjectMethod", {
- enumerable: true,
- get: function () {
- return _index.objectMethod;
- }
-});
-Object.defineProperty(exports, "ObjectPattern", {
- enumerable: true,
- get: function () {
- return _index.objectPattern;
- }
-});
-Object.defineProperty(exports, "ObjectProperty", {
- enumerable: true,
- get: function () {
- return _index.objectProperty;
- }
-});
-Object.defineProperty(exports, "ObjectTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.objectTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "ObjectTypeCallProperty", {
- enumerable: true,
- get: function () {
- return _index.objectTypeCallProperty;
- }
-});
-Object.defineProperty(exports, "ObjectTypeIndexer", {
- enumerable: true,
- get: function () {
- return _index.objectTypeIndexer;
- }
-});
-Object.defineProperty(exports, "ObjectTypeInternalSlot", {
- enumerable: true,
- get: function () {
- return _index.objectTypeInternalSlot;
- }
-});
-Object.defineProperty(exports, "ObjectTypeProperty", {
- enumerable: true,
- get: function () {
- return _index.objectTypeProperty;
- }
-});
-Object.defineProperty(exports, "ObjectTypeSpreadProperty", {
- enumerable: true,
- get: function () {
- return _index.objectTypeSpreadProperty;
- }
-});
-Object.defineProperty(exports, "OpaqueType", {
- enumerable: true,
- get: function () {
- return _index.opaqueType;
- }
-});
-Object.defineProperty(exports, "OptionalCallExpression", {
- enumerable: true,
- get: function () {
- return _index.optionalCallExpression;
- }
-});
-Object.defineProperty(exports, "OptionalIndexedAccessType", {
- enumerable: true,
- get: function () {
- return _index.optionalIndexedAccessType;
- }
-});
-Object.defineProperty(exports, "OptionalMemberExpression", {
- enumerable: true,
- get: function () {
- return _index.optionalMemberExpression;
- }
-});
-Object.defineProperty(exports, "ParenthesizedExpression", {
- enumerable: true,
- get: function () {
- return _index.parenthesizedExpression;
- }
-});
-Object.defineProperty(exports, "PipelineBareFunction", {
- enumerable: true,
- get: function () {
- return _index.pipelineBareFunction;
- }
-});
-Object.defineProperty(exports, "PipelinePrimaryTopicReference", {
- enumerable: true,
- get: function () {
- return _index.pipelinePrimaryTopicReference;
- }
-});
-Object.defineProperty(exports, "PipelineTopicExpression", {
- enumerable: true,
- get: function () {
- return _index.pipelineTopicExpression;
- }
-});
-Object.defineProperty(exports, "Placeholder", {
- enumerable: true,
- get: function () {
- return _index.placeholder;
- }
-});
-Object.defineProperty(exports, "PrivateName", {
- enumerable: true,
- get: function () {
- return _index.privateName;
- }
-});
-Object.defineProperty(exports, "Program", {
- enumerable: true,
- get: function () {
- return _index.program;
- }
-});
-Object.defineProperty(exports, "QualifiedTypeIdentifier", {
- enumerable: true,
- get: function () {
- return _index.qualifiedTypeIdentifier;
- }
-});
-Object.defineProperty(exports, "RecordExpression", {
- enumerable: true,
- get: function () {
- return _index.recordExpression;
- }
-});
-Object.defineProperty(exports, "RegExpLiteral", {
- enumerable: true,
- get: function () {
- return _index.regExpLiteral;
- }
-});
-Object.defineProperty(exports, "RegexLiteral", {
- enumerable: true,
- get: function () {
- return _index.regexLiteral;
- }
-});
-Object.defineProperty(exports, "RestElement", {
- enumerable: true,
- get: function () {
- return _index.restElement;
- }
-});
-Object.defineProperty(exports, "RestProperty", {
- enumerable: true,
- get: function () {
- return _index.restProperty;
- }
-});
-Object.defineProperty(exports, "ReturnStatement", {
- enumerable: true,
- get: function () {
- return _index.returnStatement;
- }
-});
-Object.defineProperty(exports, "SequenceExpression", {
- enumerable: true,
- get: function () {
- return _index.sequenceExpression;
- }
-});
-Object.defineProperty(exports, "SpreadElement", {
- enumerable: true,
- get: function () {
- return _index.spreadElement;
- }
-});
-Object.defineProperty(exports, "SpreadProperty", {
- enumerable: true,
- get: function () {
- return _index.spreadProperty;
- }
-});
-Object.defineProperty(exports, "StaticBlock", {
- enumerable: true,
- get: function () {
- return _index.staticBlock;
- }
-});
-Object.defineProperty(exports, "StringLiteral", {
- enumerable: true,
- get: function () {
- return _index.stringLiteral;
- }
-});
-Object.defineProperty(exports, "StringLiteralTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.stringLiteralTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "StringTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.stringTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "Super", {
- enumerable: true,
- get: function () {
- return _index.super;
- }
-});
-Object.defineProperty(exports, "SwitchCase", {
- enumerable: true,
- get: function () {
- return _index.switchCase;
- }
-});
-Object.defineProperty(exports, "SwitchStatement", {
- enumerable: true,
- get: function () {
- return _index.switchStatement;
- }
-});
-Object.defineProperty(exports, "SymbolTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.symbolTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "TSAnyKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsAnyKeyword;
- }
-});
-Object.defineProperty(exports, "TSArrayType", {
- enumerable: true,
- get: function () {
- return _index.tsArrayType;
- }
-});
-Object.defineProperty(exports, "TSAsExpression", {
- enumerable: true,
- get: function () {
- return _index.tsAsExpression;
- }
-});
-Object.defineProperty(exports, "TSBigIntKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsBigIntKeyword;
- }
-});
-Object.defineProperty(exports, "TSBooleanKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsBooleanKeyword;
- }
-});
-Object.defineProperty(exports, "TSCallSignatureDeclaration", {
- enumerable: true,
- get: function () {
- return _index.tsCallSignatureDeclaration;
- }
-});
-Object.defineProperty(exports, "TSConditionalType", {
- enumerable: true,
- get: function () {
- return _index.tsConditionalType;
- }
-});
-Object.defineProperty(exports, "TSConstructSignatureDeclaration", {
- enumerable: true,
- get: function () {
- return _index.tsConstructSignatureDeclaration;
- }
-});
-Object.defineProperty(exports, "TSConstructorType", {
- enumerable: true,
- get: function () {
- return _index.tsConstructorType;
- }
-});
-Object.defineProperty(exports, "TSDeclareFunction", {
- enumerable: true,
- get: function () {
- return _index.tsDeclareFunction;
- }
-});
-Object.defineProperty(exports, "TSDeclareMethod", {
- enumerable: true,
- get: function () {
- return _index.tsDeclareMethod;
- }
-});
-Object.defineProperty(exports, "TSEnumDeclaration", {
- enumerable: true,
- get: function () {
- return _index.tsEnumDeclaration;
- }
-});
-Object.defineProperty(exports, "TSEnumMember", {
- enumerable: true,
- get: function () {
- return _index.tsEnumMember;
- }
-});
-Object.defineProperty(exports, "TSExportAssignment", {
- enumerable: true,
- get: function () {
- return _index.tsExportAssignment;
- }
-});
-Object.defineProperty(exports, "TSExpressionWithTypeArguments", {
- enumerable: true,
- get: function () {
- return _index.tsExpressionWithTypeArguments;
- }
-});
-Object.defineProperty(exports, "TSExternalModuleReference", {
- enumerable: true,
- get: function () {
- return _index.tsExternalModuleReference;
- }
-});
-Object.defineProperty(exports, "TSFunctionType", {
- enumerable: true,
- get: function () {
- return _index.tsFunctionType;
- }
-});
-Object.defineProperty(exports, "TSImportEqualsDeclaration", {
- enumerable: true,
- get: function () {
- return _index.tsImportEqualsDeclaration;
- }
-});
-Object.defineProperty(exports, "TSImportType", {
- enumerable: true,
- get: function () {
- return _index.tsImportType;
- }
-});
-Object.defineProperty(exports, "TSIndexSignature", {
- enumerable: true,
- get: function () {
- return _index.tsIndexSignature;
- }
-});
-Object.defineProperty(exports, "TSIndexedAccessType", {
- enumerable: true,
- get: function () {
- return _index.tsIndexedAccessType;
- }
-});
-Object.defineProperty(exports, "TSInferType", {
- enumerable: true,
- get: function () {
- return _index.tsInferType;
- }
-});
-Object.defineProperty(exports, "TSInstantiationExpression", {
- enumerable: true,
- get: function () {
- return _index.tsInstantiationExpression;
- }
-});
-Object.defineProperty(exports, "TSInterfaceBody", {
- enumerable: true,
- get: function () {
- return _index.tsInterfaceBody;
- }
-});
-Object.defineProperty(exports, "TSInterfaceDeclaration", {
- enumerable: true,
- get: function () {
- return _index.tsInterfaceDeclaration;
- }
-});
-Object.defineProperty(exports, "TSIntersectionType", {
- enumerable: true,
- get: function () {
- return _index.tsIntersectionType;
- }
-});
-Object.defineProperty(exports, "TSIntrinsicKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsIntrinsicKeyword;
- }
-});
-Object.defineProperty(exports, "TSLiteralType", {
- enumerable: true,
- get: function () {
- return _index.tsLiteralType;
- }
-});
-Object.defineProperty(exports, "TSMappedType", {
- enumerable: true,
- get: function () {
- return _index.tsMappedType;
- }
-});
-Object.defineProperty(exports, "TSMethodSignature", {
- enumerable: true,
- get: function () {
- return _index.tsMethodSignature;
- }
-});
-Object.defineProperty(exports, "TSModuleBlock", {
- enumerable: true,
- get: function () {
- return _index.tsModuleBlock;
- }
-});
-Object.defineProperty(exports, "TSModuleDeclaration", {
- enumerable: true,
- get: function () {
- return _index.tsModuleDeclaration;
- }
-});
-Object.defineProperty(exports, "TSNamedTupleMember", {
- enumerable: true,
- get: function () {
- return _index.tsNamedTupleMember;
- }
-});
-Object.defineProperty(exports, "TSNamespaceExportDeclaration", {
- enumerable: true,
- get: function () {
- return _index.tsNamespaceExportDeclaration;
- }
-});
-Object.defineProperty(exports, "TSNeverKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsNeverKeyword;
- }
-});
-Object.defineProperty(exports, "TSNonNullExpression", {
- enumerable: true,
- get: function () {
- return _index.tsNonNullExpression;
- }
-});
-Object.defineProperty(exports, "TSNullKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsNullKeyword;
- }
-});
-Object.defineProperty(exports, "TSNumberKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsNumberKeyword;
- }
-});
-Object.defineProperty(exports, "TSObjectKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsObjectKeyword;
- }
-});
-Object.defineProperty(exports, "TSOptionalType", {
- enumerable: true,
- get: function () {
- return _index.tsOptionalType;
- }
-});
-Object.defineProperty(exports, "TSParameterProperty", {
- enumerable: true,
- get: function () {
- return _index.tsParameterProperty;
- }
-});
-Object.defineProperty(exports, "TSParenthesizedType", {
- enumerable: true,
- get: function () {
- return _index.tsParenthesizedType;
- }
-});
-Object.defineProperty(exports, "TSPropertySignature", {
- enumerable: true,
- get: function () {
- return _index.tsPropertySignature;
- }
-});
-Object.defineProperty(exports, "TSQualifiedName", {
- enumerable: true,
- get: function () {
- return _index.tsQualifiedName;
- }
-});
-Object.defineProperty(exports, "TSRestType", {
- enumerable: true,
- get: function () {
- return _index.tsRestType;
- }
-});
-Object.defineProperty(exports, "TSStringKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsStringKeyword;
- }
-});
-Object.defineProperty(exports, "TSSymbolKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsSymbolKeyword;
- }
-});
-Object.defineProperty(exports, "TSThisType", {
- enumerable: true,
- get: function () {
- return _index.tsThisType;
- }
-});
-Object.defineProperty(exports, "TSTupleType", {
- enumerable: true,
- get: function () {
- return _index.tsTupleType;
- }
-});
-Object.defineProperty(exports, "TSTypeAliasDeclaration", {
- enumerable: true,
- get: function () {
- return _index.tsTypeAliasDeclaration;
- }
-});
-Object.defineProperty(exports, "TSTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.tsTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "TSTypeAssertion", {
- enumerable: true,
- get: function () {
- return _index.tsTypeAssertion;
- }
-});
-Object.defineProperty(exports, "TSTypeLiteral", {
- enumerable: true,
- get: function () {
- return _index.tsTypeLiteral;
- }
-});
-Object.defineProperty(exports, "TSTypeOperator", {
- enumerable: true,
- get: function () {
- return _index.tsTypeOperator;
- }
-});
-Object.defineProperty(exports, "TSTypeParameter", {
- enumerable: true,
- get: function () {
- return _index.tsTypeParameter;
- }
-});
-Object.defineProperty(exports, "TSTypeParameterDeclaration", {
- enumerable: true,
- get: function () {
- return _index.tsTypeParameterDeclaration;
- }
-});
-Object.defineProperty(exports, "TSTypeParameterInstantiation", {
- enumerable: true,
- get: function () {
- return _index.tsTypeParameterInstantiation;
- }
-});
-Object.defineProperty(exports, "TSTypePredicate", {
- enumerable: true,
- get: function () {
- return _index.tsTypePredicate;
- }
-});
-Object.defineProperty(exports, "TSTypeQuery", {
- enumerable: true,
- get: function () {
- return _index.tsTypeQuery;
- }
-});
-Object.defineProperty(exports, "TSTypeReference", {
- enumerable: true,
- get: function () {
- return _index.tsTypeReference;
- }
-});
-Object.defineProperty(exports, "TSUndefinedKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsUndefinedKeyword;
- }
-});
-Object.defineProperty(exports, "TSUnionType", {
- enumerable: true,
- get: function () {
- return _index.tsUnionType;
- }
-});
-Object.defineProperty(exports, "TSUnknownKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsUnknownKeyword;
- }
-});
-Object.defineProperty(exports, "TSVoidKeyword", {
- enumerable: true,
- get: function () {
- return _index.tsVoidKeyword;
- }
-});
-Object.defineProperty(exports, "TaggedTemplateExpression", {
- enumerable: true,
- get: function () {
- return _index.taggedTemplateExpression;
- }
-});
-Object.defineProperty(exports, "TemplateElement", {
- enumerable: true,
- get: function () {
- return _index.templateElement;
- }
-});
-Object.defineProperty(exports, "TemplateLiteral", {
- enumerable: true,
- get: function () {
- return _index.templateLiteral;
- }
-});
-Object.defineProperty(exports, "ThisExpression", {
- enumerable: true,
- get: function () {
- return _index.thisExpression;
- }
-});
-Object.defineProperty(exports, "ThisTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.thisTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "ThrowStatement", {
- enumerable: true,
- get: function () {
- return _index.throwStatement;
- }
-});
-Object.defineProperty(exports, "TopicReference", {
- enumerable: true,
- get: function () {
- return _index.topicReference;
- }
-});
-Object.defineProperty(exports, "TryStatement", {
- enumerable: true,
- get: function () {
- return _index.tryStatement;
- }
-});
-Object.defineProperty(exports, "TupleExpression", {
- enumerable: true,
- get: function () {
- return _index.tupleExpression;
- }
-});
-Object.defineProperty(exports, "TupleTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.tupleTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "TypeAlias", {
- enumerable: true,
- get: function () {
- return _index.typeAlias;
- }
-});
-Object.defineProperty(exports, "TypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.typeAnnotation;
- }
-});
-Object.defineProperty(exports, "TypeCastExpression", {
- enumerable: true,
- get: function () {
- return _index.typeCastExpression;
- }
-});
-Object.defineProperty(exports, "TypeParameter", {
- enumerable: true,
- get: function () {
- return _index.typeParameter;
- }
-});
-Object.defineProperty(exports, "TypeParameterDeclaration", {
- enumerable: true,
- get: function () {
- return _index.typeParameterDeclaration;
- }
-});
-Object.defineProperty(exports, "TypeParameterInstantiation", {
- enumerable: true,
- get: function () {
- return _index.typeParameterInstantiation;
- }
-});
-Object.defineProperty(exports, "TypeofTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.typeofTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "UnaryExpression", {
- enumerable: true,
- get: function () {
- return _index.unaryExpression;
- }
-});
-Object.defineProperty(exports, "UnionTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.unionTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "UpdateExpression", {
- enumerable: true,
- get: function () {
- return _index.updateExpression;
- }
-});
-Object.defineProperty(exports, "V8IntrinsicIdentifier", {
- enumerable: true,
- get: function () {
- return _index.v8IntrinsicIdentifier;
- }
-});
-Object.defineProperty(exports, "VariableDeclaration", {
- enumerable: true,
- get: function () {
- return _index.variableDeclaration;
- }
-});
-Object.defineProperty(exports, "VariableDeclarator", {
- enumerable: true,
- get: function () {
- return _index.variableDeclarator;
- }
-});
-Object.defineProperty(exports, "Variance", {
- enumerable: true,
- get: function () {
- return _index.variance;
- }
-});
-Object.defineProperty(exports, "VoidTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _index.voidTypeAnnotation;
- }
-});
-Object.defineProperty(exports, "WhileStatement", {
- enumerable: true,
- get: function () {
- return _index.whileStatement;
- }
-});
-Object.defineProperty(exports, "WithStatement", {
- enumerable: true,
- get: function () {
- return _index.withStatement;
- }
-});
-Object.defineProperty(exports, "YieldExpression", {
- enumerable: true,
- get: function () {
- return _index.yieldExpression;
- }
-});
-
-var _index = require("./index");
-
-//# sourceMappingURL=uppercase.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/builders/generated/uppercase.js.map b/includes/search/node_modules/@babel/types/lib/builders/generated/uppercase.js.map
deleted file mode 100644
index 55baaa2..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/generated/uppercase.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":[],"sources":["../../../src/builders/generated/uppercase.js"],"sourcesContent":["/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\n\n/**\n * This file is written in JavaScript and not TypeScript because uppercase builders\n * conflict with AST types. TypeScript reads the uppercase.d.ts file instead.\n */\n\nexport {\n arrayExpression as ArrayExpression,\n assignmentExpression as AssignmentExpression,\n binaryExpression as BinaryExpression,\n interpreterDirective as InterpreterDirective,\n directive as Directive,\n directiveLiteral as DirectiveLiteral,\n blockStatement as BlockStatement,\n breakStatement as BreakStatement,\n callExpression as CallExpression,\n catchClause as CatchClause,\n conditionalExpression as ConditionalExpression,\n continueStatement as ContinueStatement,\n debuggerStatement as DebuggerStatement,\n doWhileStatement as DoWhileStatement,\n emptyStatement as EmptyStatement,\n expressionStatement as ExpressionStatement,\n file as File,\n forInStatement as ForInStatement,\n forStatement as ForStatement,\n functionDeclaration as FunctionDeclaration,\n functionExpression as FunctionExpression,\n identifier as Identifier,\n ifStatement as IfStatement,\n labeledStatement as LabeledStatement,\n stringLiteral as StringLiteral,\n numericLiteral as NumericLiteral,\n nullLiteral as NullLiteral,\n booleanLiteral as BooleanLiteral,\n regExpLiteral as RegExpLiteral,\n logicalExpression as LogicalExpression,\n memberExpression as MemberExpression,\n newExpression as NewExpression,\n program as Program,\n objectExpression as ObjectExpression,\n objectMethod as ObjectMethod,\n objectProperty as ObjectProperty,\n restElement as RestElement,\n returnStatement as ReturnStatement,\n sequenceExpression as SequenceExpression,\n parenthesizedExpression as ParenthesizedExpression,\n switchCase as SwitchCase,\n switchStatement as SwitchStatement,\n thisExpression as ThisExpression,\n throwStatement as ThrowStatement,\n tryStatement as TryStatement,\n unaryExpression as UnaryExpression,\n updateExpression as UpdateExpression,\n variableDeclaration as VariableDeclaration,\n variableDeclarator as VariableDeclarator,\n whileStatement as WhileStatement,\n withStatement as WithStatement,\n assignmentPattern as AssignmentPattern,\n arrayPattern as ArrayPattern,\n arrowFunctionExpression as ArrowFunctionExpression,\n classBody as ClassBody,\n classExpression as ClassExpression,\n classDeclaration as ClassDeclaration,\n exportAllDeclaration as ExportAllDeclaration,\n exportDefaultDeclaration as ExportDefaultDeclaration,\n exportNamedDeclaration as ExportNamedDeclaration,\n exportSpecifier as ExportSpecifier,\n forOfStatement as ForOfStatement,\n importDeclaration as ImportDeclaration,\n importDefaultSpecifier as ImportDefaultSpecifier,\n importNamespaceSpecifier as ImportNamespaceSpecifier,\n importSpecifier as ImportSpecifier,\n metaProperty as MetaProperty,\n classMethod as ClassMethod,\n objectPattern as ObjectPattern,\n spreadElement as SpreadElement,\n super as Super,\n taggedTemplateExpression as TaggedTemplateExpression,\n templateElement as TemplateElement,\n templateLiteral as TemplateLiteral,\n yieldExpression as YieldExpression,\n awaitExpression as AwaitExpression,\n import as Import,\n bigIntLiteral as BigIntLiteral,\n exportNamespaceSpecifier as ExportNamespaceSpecifier,\n optionalMemberExpression as OptionalMemberExpression,\n optionalCallExpression as OptionalCallExpression,\n classProperty as ClassProperty,\n classAccessorProperty as ClassAccessorProperty,\n classPrivateProperty as ClassPrivateProperty,\n classPrivateMethod as ClassPrivateMethod,\n privateName as PrivateName,\n staticBlock as StaticBlock,\n anyTypeAnnotation as AnyTypeAnnotation,\n arrayTypeAnnotation as ArrayTypeAnnotation,\n booleanTypeAnnotation as BooleanTypeAnnotation,\n booleanLiteralTypeAnnotation as BooleanLiteralTypeAnnotation,\n nullLiteralTypeAnnotation as NullLiteralTypeAnnotation,\n classImplements as ClassImplements,\n declareClass as DeclareClass,\n declareFunction as DeclareFunction,\n declareInterface as DeclareInterface,\n declareModule as DeclareModule,\n declareModuleExports as DeclareModuleExports,\n declareTypeAlias as DeclareTypeAlias,\n declareOpaqueType as DeclareOpaqueType,\n declareVariable as DeclareVariable,\n declareExportDeclaration as DeclareExportDeclaration,\n declareExportAllDeclaration as DeclareExportAllDeclaration,\n declaredPredicate as DeclaredPredicate,\n existsTypeAnnotation as ExistsTypeAnnotation,\n functionTypeAnnotation as FunctionTypeAnnotation,\n functionTypeParam as FunctionTypeParam,\n genericTypeAnnotation as GenericTypeAnnotation,\n inferredPredicate as InferredPredicate,\n interfaceExtends as InterfaceExtends,\n interfaceDeclaration as InterfaceDeclaration,\n interfaceTypeAnnotation as InterfaceTypeAnnotation,\n intersectionTypeAnnotation as IntersectionTypeAnnotation,\n mixedTypeAnnotation as MixedTypeAnnotation,\n emptyTypeAnnotation as EmptyTypeAnnotation,\n nullableTypeAnnotation as NullableTypeAnnotation,\n numberLiteralTypeAnnotation as NumberLiteralTypeAnnotation,\n numberTypeAnnotation as NumberTypeAnnotation,\n objectTypeAnnotation as ObjectTypeAnnotation,\n objectTypeInternalSlot as ObjectTypeInternalSlot,\n objectTypeCallProperty as ObjectTypeCallProperty,\n objectTypeIndexer as ObjectTypeIndexer,\n objectTypeProperty as ObjectTypeProperty,\n objectTypeSpreadProperty as ObjectTypeSpreadProperty,\n opaqueType as OpaqueType,\n qualifiedTypeIdentifier as QualifiedTypeIdentifier,\n stringLiteralTypeAnnotation as StringLiteralTypeAnnotation,\n stringTypeAnnotation as StringTypeAnnotation,\n symbolTypeAnnotation as SymbolTypeAnnotation,\n thisTypeAnnotation as ThisTypeAnnotation,\n tupleTypeAnnotation as TupleTypeAnnotation,\n typeofTypeAnnotation as TypeofTypeAnnotation,\n typeAlias as TypeAlias,\n typeAnnotation as TypeAnnotation,\n typeCastExpression as TypeCastExpression,\n typeParameter as TypeParameter,\n typeParameterDeclaration as TypeParameterDeclaration,\n typeParameterInstantiation as TypeParameterInstantiation,\n unionTypeAnnotation as UnionTypeAnnotation,\n variance as Variance,\n voidTypeAnnotation as VoidTypeAnnotation,\n enumDeclaration as EnumDeclaration,\n enumBooleanBody as EnumBooleanBody,\n enumNumberBody as EnumNumberBody,\n enumStringBody as EnumStringBody,\n enumSymbolBody as EnumSymbolBody,\n enumBooleanMember as EnumBooleanMember,\n enumNumberMember as EnumNumberMember,\n enumStringMember as EnumStringMember,\n enumDefaultedMember as EnumDefaultedMember,\n indexedAccessType as IndexedAccessType,\n optionalIndexedAccessType as OptionalIndexedAccessType,\n jsxAttribute as JSXAttribute,\n jsxClosingElement as JSXClosingElement,\n jsxElement as JSXElement,\n jsxEmptyExpression as JSXEmptyExpression,\n jsxExpressionContainer as JSXExpressionContainer,\n jsxSpreadChild as JSXSpreadChild,\n jsxIdentifier as JSXIdentifier,\n jsxMemberExpression as JSXMemberExpression,\n jsxNamespacedName as JSXNamespacedName,\n jsxOpeningElement as JSXOpeningElement,\n jsxSpreadAttribute as JSXSpreadAttribute,\n jsxText as JSXText,\n jsxFragment as JSXFragment,\n jsxOpeningFragment as JSXOpeningFragment,\n jsxClosingFragment as JSXClosingFragment,\n noop as Noop,\n placeholder as Placeholder,\n v8IntrinsicIdentifier as V8IntrinsicIdentifier,\n argumentPlaceholder as ArgumentPlaceholder,\n bindExpression as BindExpression,\n importAttribute as ImportAttribute,\n decorator as Decorator,\n doExpression as DoExpression,\n exportDefaultSpecifier as ExportDefaultSpecifier,\n recordExpression as RecordExpression,\n tupleExpression as TupleExpression,\n decimalLiteral as DecimalLiteral,\n moduleExpression as ModuleExpression,\n topicReference as TopicReference,\n pipelineTopicExpression as PipelineTopicExpression,\n pipelineBareFunction as PipelineBareFunction,\n pipelinePrimaryTopicReference as PipelinePrimaryTopicReference,\n tsParameterProperty as TSParameterProperty,\n tsDeclareFunction as TSDeclareFunction,\n tsDeclareMethod as TSDeclareMethod,\n tsQualifiedName as TSQualifiedName,\n tsCallSignatureDeclaration as TSCallSignatureDeclaration,\n tsConstructSignatureDeclaration as TSConstructSignatureDeclaration,\n tsPropertySignature as TSPropertySignature,\n tsMethodSignature as TSMethodSignature,\n tsIndexSignature as TSIndexSignature,\n tsAnyKeyword as TSAnyKeyword,\n tsBooleanKeyword as TSBooleanKeyword,\n tsBigIntKeyword as TSBigIntKeyword,\n tsIntrinsicKeyword as TSIntrinsicKeyword,\n tsNeverKeyword as TSNeverKeyword,\n tsNullKeyword as TSNullKeyword,\n tsNumberKeyword as TSNumberKeyword,\n tsObjectKeyword as TSObjectKeyword,\n tsStringKeyword as TSStringKeyword,\n tsSymbolKeyword as TSSymbolKeyword,\n tsUndefinedKeyword as TSUndefinedKeyword,\n tsUnknownKeyword as TSUnknownKeyword,\n tsVoidKeyword as TSVoidKeyword,\n tsThisType as TSThisType,\n tsFunctionType as TSFunctionType,\n tsConstructorType as TSConstructorType,\n tsTypeReference as TSTypeReference,\n tsTypePredicate as TSTypePredicate,\n tsTypeQuery as TSTypeQuery,\n tsTypeLiteral as TSTypeLiteral,\n tsArrayType as TSArrayType,\n tsTupleType as TSTupleType,\n tsOptionalType as TSOptionalType,\n tsRestType as TSRestType,\n tsNamedTupleMember as TSNamedTupleMember,\n tsUnionType as TSUnionType,\n tsIntersectionType as TSIntersectionType,\n tsConditionalType as TSConditionalType,\n tsInferType as TSInferType,\n tsParenthesizedType as TSParenthesizedType,\n tsTypeOperator as TSTypeOperator,\n tsIndexedAccessType as TSIndexedAccessType,\n tsMappedType as TSMappedType,\n tsLiteralType as TSLiteralType,\n tsExpressionWithTypeArguments as TSExpressionWithTypeArguments,\n tsInterfaceDeclaration as TSInterfaceDeclaration,\n tsInterfaceBody as TSInterfaceBody,\n tsTypeAliasDeclaration as TSTypeAliasDeclaration,\n tsInstantiationExpression as TSInstantiationExpression,\n tsAsExpression as TSAsExpression,\n tsTypeAssertion as TSTypeAssertion,\n tsEnumDeclaration as TSEnumDeclaration,\n tsEnumMember as TSEnumMember,\n tsModuleDeclaration as TSModuleDeclaration,\n tsModuleBlock as TSModuleBlock,\n tsImportType as TSImportType,\n tsImportEqualsDeclaration as TSImportEqualsDeclaration,\n tsExternalModuleReference as TSExternalModuleReference,\n tsNonNullExpression as TSNonNullExpression,\n tsExportAssignment as TSExportAssignment,\n tsNamespaceExportDeclaration as TSNamespaceExportDeclaration,\n tsTypeAnnotation as TSTypeAnnotation,\n tsTypeParameterInstantiation as TSTypeParameterInstantiation,\n tsTypeParameterDeclaration as TSTypeParameterDeclaration,\n tsTypeParameter as TSTypeParameter,\n numberLiteral as NumberLiteral,\n regexLiteral as RegexLiteral,\n restProperty as RestProperty,\n spreadProperty as SpreadProperty,\n} from \"./index\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/builders/react/buildChildren.js b/includes/search/node_modules/@babel/types/lib/builders/react/buildChildren.js
deleted file mode 100644
index 9019797..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/react/buildChildren.js
+++ /dev/null
@@ -1,31 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = buildChildren;
-
-var _generated = require("../../validators/generated");
-
-var _cleanJSXElementLiteralChild = require("../../utils/react/cleanJSXElementLiteralChild");
-
-function buildChildren(node) {
- const elements = [];
-
- for (let i = 0; i < node.children.length; i++) {
- let child = node.children[i];
-
- if ((0, _generated.isJSXText)(child)) {
- (0, _cleanJSXElementLiteralChild.default)(child, elements);
- continue;
- }
-
- if ((0, _generated.isJSXExpressionContainer)(child)) child = child.expression;
- if ((0, _generated.isJSXEmptyExpression)(child)) continue;
- elements.push(child);
- }
-
- return elements;
-}
-
-//# sourceMappingURL=buildChildren.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/builders/react/buildChildren.js.map b/includes/search/node_modules/@babel/types/lib/builders/react/buildChildren.js.map
deleted file mode 100644
index f8e23f1..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/react/buildChildren.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["buildChildren","node","elements","i","children","length","child","isJSXText","cleanJSXElementLiteralChild","isJSXExpressionContainer","expression","isJSXEmptyExpression","push"],"sources":["../../../src/builders/react/buildChildren.ts"],"sourcesContent":["import {\n isJSXText,\n isJSXExpressionContainer,\n isJSXEmptyExpression,\n} from \"../../validators/generated\";\nimport cleanJSXElementLiteralChild from \"../../utils/react/cleanJSXElementLiteralChild\";\nimport type * as t from \"../..\";\n\ntype ReturnedChild =\n | t.JSXSpreadChild\n | t.JSXElement\n | t.JSXFragment\n | t.Expression;\n\nexport default function buildChildren(\n node: t.JSXElement | t.JSXFragment,\n): ReturnedChild[] {\n const elements = [];\n\n for (let i = 0; i < node.children.length; i++) {\n let child: any = node.children[i];\n\n if (isJSXText(child)) {\n cleanJSXElementLiteralChild(child, elements);\n continue;\n }\n\n if (isJSXExpressionContainer(child)) child = child.expression;\n if (isJSXEmptyExpression(child)) continue;\n\n elements.push(child);\n }\n\n return elements;\n}\n"],"mappings":";;;;;;;AAAA;;AAKA;;AASe,SAASA,aAAT,CACbC,IADa,EAEI;EACjB,MAAMC,QAAQ,GAAG,EAAjB;;EAEA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,IAAI,CAACG,QAAL,CAAcC,MAAlC,EAA0CF,CAAC,EAA3C,EAA+C;IAC7C,IAAIG,KAAU,GAAGL,IAAI,CAACG,QAAL,CAAcD,CAAd,CAAjB;;IAEA,IAAI,IAAAI,oBAAA,EAAUD,KAAV,CAAJ,EAAsB;MACpB,IAAAE,oCAAA,EAA4BF,KAA5B,EAAmCJ,QAAnC;MACA;IACD;;IAED,IAAI,IAAAO,mCAAA,EAAyBH,KAAzB,CAAJ,EAAqCA,KAAK,GAAGA,KAAK,CAACI,UAAd;IACrC,IAAI,IAAAC,+BAAA,EAAqBL,KAArB,CAAJ,EAAiC;IAEjCJ,QAAQ,CAACU,IAAT,CAAcN,KAAd;EACD;;EAED,OAAOJ,QAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js b/includes/search/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js
deleted file mode 100644
index 1ff6389..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js
+++ /dev/null
@@ -1,27 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = createTSUnionType;
-
-var _generated = require("../generated");
-
-var _removeTypeDuplicates = require("../../modifications/typescript/removeTypeDuplicates");
-
-var _index = require("../../validators/generated/index");
-
-function createTSUnionType(typeAnnotations) {
- const types = typeAnnotations.map(type => {
- return (0, _index.isTSTypeAnnotation)(type) ? type.typeAnnotation : type;
- });
- const flattened = (0, _removeTypeDuplicates.default)(types);
-
- if (flattened.length === 1) {
- return flattened[0];
- } else {
- return (0, _generated.tsUnionType)(flattened);
- }
-}
-
-//# sourceMappingURL=createTSUnionType.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map b/includes/search/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map
deleted file mode 100644
index fe7c4b2..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["createTSUnionType","typeAnnotations","types","map","type","isTSTypeAnnotation","typeAnnotation","flattened","removeTypeDuplicates","length","tsUnionType"],"sources":["../../../src/builders/typescript/createTSUnionType.ts"],"sourcesContent":["import { tsUnionType } from \"../generated\";\nimport removeTypeDuplicates from \"../../modifications/typescript/removeTypeDuplicates\";\nimport { isTSTypeAnnotation } from \"../../validators/generated/index\";\nimport type * as t from \"../..\";\n\n/**\n * Takes an array of `types` and flattens them, removing duplicates and\n * returns a `UnionTypeAnnotation` node containing them.\n */\nexport default function createTSUnionType(\n typeAnnotations: Array<t.TSTypeAnnotation | t.TSType>,\n): t.TSType {\n const types = typeAnnotations.map(type => {\n return isTSTypeAnnotation(type) ? type.typeAnnotation : type;\n });\n const flattened = removeTypeDuplicates(types);\n\n if (flattened.length === 1) {\n return flattened[0];\n } else {\n return tsUnionType(flattened);\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAOe,SAASA,iBAAT,CACbC,eADa,EAEH;EACV,MAAMC,KAAK,GAAGD,eAAe,CAACE,GAAhB,CAAoBC,IAAI,IAAI;IACxC,OAAO,IAAAC,yBAAA,EAAmBD,IAAnB,IAA2BA,IAAI,CAACE,cAAhC,GAAiDF,IAAxD;EACD,CAFa,CAAd;EAGA,MAAMG,SAAS,GAAG,IAAAC,6BAAA,EAAqBN,KAArB,CAAlB;;EAEA,IAAIK,SAAS,CAACE,MAAV,KAAqB,CAAzB,EAA4B;IAC1B,OAAOF,SAAS,CAAC,CAAD,CAAhB;EACD,CAFD,MAEO;IACL,OAAO,IAAAG,sBAAA,EAAYH,SAAZ,CAAP;EACD;AACF"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/builders/validateNode.js b/includes/search/node_modules/@babel/types/lib/builders/validateNode.js
deleted file mode 100644
index f64001e..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/validateNode.js
+++ /dev/null
@@ -1,22 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = validateNode;
-
-var _validate = require("../validators/validate");
-
-var _ = require("..");
-
-function validateNode(node) {
- const keys = _.BUILDER_KEYS[node.type];
-
- for (const key of keys) {
- (0, _validate.default)(node, key, node[key]);
- }
-
- return node;
-}
-
-//# sourceMappingURL=validateNode.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/builders/validateNode.js.map b/includes/search/node_modules/@babel/types/lib/builders/validateNode.js.map
deleted file mode 100644
index dde58c2..0000000
--- a/includes/search/node_modules/@babel/types/lib/builders/validateNode.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["validateNode","node","keys","BUILDER_KEYS","type","key","validate"],"sources":["../../src/builders/validateNode.ts"],"sourcesContent":["import validate from \"../validators/validate\";\nimport type * as t from \"..\";\nimport { BUILDER_KEYS } from \"..\";\n\nexport default function validateNode<N extends t.Node>(node: N) {\n // todo: because keys not in BUILDER_KEYS are not validated - this actually allows invalid nodes in some cases\n const keys = BUILDER_KEYS[node.type] as (keyof N & string)[];\n for (const key of keys) {\n validate(node, key, node[key]);\n }\n return node;\n}\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEe,SAASA,YAAT,CAAwCC,IAAxC,EAAiD;EAE9D,MAAMC,IAAI,GAAGC,cAAA,CAAaF,IAAI,CAACG,IAAlB,CAAb;;EACA,KAAK,MAAMC,GAAX,IAAkBH,IAAlB,EAAwB;IACtB,IAAAI,iBAAA,EAASL,IAAT,EAAeI,GAAf,EAAoBJ,IAAI,CAACI,GAAD,CAAxB;EACD;;EACD,OAAOJ,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/clone/clone.js b/includes/search/node_modules/@babel/types/lib/clone/clone.js
deleted file mode 100644
index 8ab9af4..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/clone.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = clone;
-
-var _cloneNode = require("./cloneNode");
-
-function clone(node) {
- return (0, _cloneNode.default)(node, false);
-}
-
-//# sourceMappingURL=clone.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/clone/clone.js.map b/includes/search/node_modules/@babel/types/lib/clone/clone.js.map
deleted file mode 100644
index b7e4eb4..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/clone.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["clone","node","cloneNode"],"sources":["../../src/clone/clone.ts"],"sourcesContent":["import cloneNode from \"./cloneNode\";\nimport type * as t from \"..\";\n\n/**\n * Create a shallow clone of a `node`, including only\n * properties belonging to the node.\n * @deprecated Use t.cloneNode instead.\n */\nexport default function clone<T extends t.Node>(node: T): T {\n return cloneNode(node, /* deep */ false);\n}\n"],"mappings":";;;;;;;AAAA;;AAQe,SAASA,KAAT,CAAiCC,IAAjC,EAA6C;EAC1D,OAAO,IAAAC,kBAAA,EAAUD,IAAV,EAA2B,KAA3B,CAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/clone/cloneDeep.js b/includes/search/node_modules/@babel/types/lib/clone/cloneDeep.js
deleted file mode 100644
index 1914994..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/cloneDeep.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = cloneDeep;
-
-var _cloneNode = require("./cloneNode");
-
-function cloneDeep(node) {
- return (0, _cloneNode.default)(node);
-}
-
-//# sourceMappingURL=cloneDeep.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/clone/cloneDeep.js.map b/includes/search/node_modules/@babel/types/lib/clone/cloneDeep.js.map
deleted file mode 100644
index 521fd81..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/cloneDeep.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["cloneDeep","node","cloneNode"],"sources":["../../src/clone/cloneDeep.ts"],"sourcesContent":["import cloneNode from \"./cloneNode\";\nimport type * as t from \"..\";\n\n/**\n * Create a deep clone of a `node` and all of it's child nodes\n * including only properties belonging to the node.\n * @deprecated Use t.cloneNode instead.\n */\nexport default function cloneDeep<T extends t.Node>(node: T): T {\n return cloneNode(node);\n}\n"],"mappings":";;;;;;;AAAA;;AAQe,SAASA,SAAT,CAAqCC,IAArC,EAAiD;EAC9D,OAAO,IAAAC,kBAAA,EAAUD,IAAV,CAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js b/includes/search/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js
deleted file mode 100644
index e010d9f..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = cloneDeepWithoutLoc;
-
-var _cloneNode = require("./cloneNode");
-
-function cloneDeepWithoutLoc(node) {
- return (0, _cloneNode.default)(node, true, true);
-}
-
-//# sourceMappingURL=cloneDeepWithoutLoc.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map b/includes/search/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map
deleted file mode 100644
index 897b7c3..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["cloneDeepWithoutLoc","node","cloneNode"],"sources":["../../src/clone/cloneDeepWithoutLoc.ts"],"sourcesContent":["import cloneNode from \"./cloneNode\";\nimport type * as t from \"..\";\n/**\n * Create a deep clone of a `node` and all of it's child nodes\n * including only properties belonging to the node.\n * excluding `_private` and location properties.\n */\nexport default function cloneDeepWithoutLoc<T extends t.Node>(node: T): T {\n return cloneNode(node, /* deep */ true, /* withoutLoc */ true);\n}\n"],"mappings":";;;;;;;AAAA;;AAOe,SAASA,mBAAT,CAA+CC,IAA/C,EAA2D;EACxE,OAAO,IAAAC,kBAAA,EAAUD,IAAV,EAA2B,IAA3B,EAAkD,IAAlD,CAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/clone/cloneNode.js b/includes/search/node_modules/@babel/types/lib/clone/cloneNode.js
deleted file mode 100644
index 57ced3e..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/cloneNode.js
+++ /dev/null
@@ -1,122 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = cloneNode;
-
-var _definitions = require("../definitions");
-
-var _generated = require("../validators/generated");
-
-const has = Function.call.bind(Object.prototype.hasOwnProperty);
-
-function cloneIfNode(obj, deep, withoutLoc, commentsCache) {
- if (obj && typeof obj.type === "string") {
- return cloneNodeInternal(obj, deep, withoutLoc, commentsCache);
- }
-
- return obj;
-}
-
-function cloneIfNodeOrArray(obj, deep, withoutLoc, commentsCache) {
- if (Array.isArray(obj)) {
- return obj.map(node => cloneIfNode(node, deep, withoutLoc, commentsCache));
- }
-
- return cloneIfNode(obj, deep, withoutLoc, commentsCache);
-}
-
-function cloneNode(node, deep = true, withoutLoc = false) {
- return cloneNodeInternal(node, deep, withoutLoc, new Map());
-}
-
-function cloneNodeInternal(node, deep = true, withoutLoc = false, commentsCache) {
- if (!node) return node;
- const {
- type
- } = node;
- const newNode = {
- type: node.type
- };
-
- if ((0, _generated.isIdentifier)(node)) {
- newNode.name = node.name;
-
- if (has(node, "optional") && typeof node.optional === "boolean") {
- newNode.optional = node.optional;
- }
-
- if (has(node, "typeAnnotation")) {
- newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true, withoutLoc, commentsCache) : node.typeAnnotation;
- }
- } else if (!has(_definitions.NODE_FIELDS, type)) {
- throw new Error(`Unknown node type: "${type}"`);
- } else {
- for (const field of Object.keys(_definitions.NODE_FIELDS[type])) {
- if (has(node, field)) {
- if (deep) {
- newNode[field] = (0, _generated.isFile)(node) && field === "comments" ? maybeCloneComments(node.comments, deep, withoutLoc, commentsCache) : cloneIfNodeOrArray(node[field], true, withoutLoc, commentsCache);
- } else {
- newNode[field] = node[field];
- }
- }
- }
- }
-
- if (has(node, "loc")) {
- if (withoutLoc) {
- newNode.loc = null;
- } else {
- newNode.loc = node.loc;
- }
- }
-
- if (has(node, "leadingComments")) {
- newNode.leadingComments = maybeCloneComments(node.leadingComments, deep, withoutLoc, commentsCache);
- }
-
- if (has(node, "innerComments")) {
- newNode.innerComments = maybeCloneComments(node.innerComments, deep, withoutLoc, commentsCache);
- }
-
- if (has(node, "trailingComments")) {
- newNode.trailingComments = maybeCloneComments(node.trailingComments, deep, withoutLoc, commentsCache);
- }
-
- if (has(node, "extra")) {
- newNode.extra = Object.assign({}, node.extra);
- }
-
- return newNode;
-}
-
-function maybeCloneComments(comments, deep, withoutLoc, commentsCache) {
- if (!comments || !deep) {
- return comments;
- }
-
- return comments.map(comment => {
- const cache = commentsCache.get(comment);
- if (cache) return cache;
- const {
- type,
- value,
- loc
- } = comment;
- const ret = {
- type,
- value,
- loc
- };
-
- if (withoutLoc) {
- ret.loc = null;
- }
-
- commentsCache.set(comment, ret);
- return ret;
- });
-}
-
-//# sourceMappingURL=cloneNode.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/clone/cloneNode.js.map b/includes/search/node_modules/@babel/types/lib/clone/cloneNode.js.map
deleted file mode 100644
index cff863e..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/cloneNode.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["has","Function","call","bind","Object","prototype","hasOwnProperty","cloneIfNode","obj","deep","withoutLoc","commentsCache","type","cloneNodeInternal","cloneIfNodeOrArray","Array","isArray","map","node","cloneNode","Map","newNode","isIdentifier","name","optional","typeAnnotation","NODE_FIELDS","Error","field","keys","isFile","maybeCloneComments","comments","loc","leadingComments","innerComments","trailingComments","extra","comment","cache","get","value","ret","set"],"sources":["../../src/clone/cloneNode.ts"],"sourcesContent":["import { NODE_FIELDS } from \"../definitions\";\nimport type * as t from \"..\";\nimport { isFile, isIdentifier } from \"../validators/generated\";\n\nconst has = Function.call.bind(Object.prototype.hasOwnProperty);\n\ntype CommentCache = Map<t.Comment, t.Comment>;\n\n// This function will never be called for comments, only for real nodes.\nfunction cloneIfNode(\n obj: t.Node | undefined | null,\n deep: boolean,\n withoutLoc: boolean,\n commentsCache: CommentCache,\n) {\n if (obj && typeof obj.type === \"string\") {\n return cloneNodeInternal(obj, deep, withoutLoc, commentsCache);\n }\n\n return obj;\n}\n\nfunction cloneIfNodeOrArray(\n obj: t.Node | undefined | null | (t.Node | undefined | null)[],\n deep: boolean,\n withoutLoc: boolean,\n commentsCache: CommentCache,\n) {\n if (Array.isArray(obj)) {\n return obj.map(node => cloneIfNode(node, deep, withoutLoc, commentsCache));\n }\n return cloneIfNode(obj, deep, withoutLoc, commentsCache);\n}\n\n/**\n * Create a clone of a `node` including only properties belonging to the node.\n * If the second parameter is `false`, cloneNode performs a shallow clone.\n * If the third parameter is true, the cloned nodes exclude location properties.\n */\nexport default function cloneNode<T extends t.Node>(\n node: T,\n deep: boolean = true,\n withoutLoc: boolean = false,\n): T {\n return cloneNodeInternal(node, deep, withoutLoc, new Map());\n}\n\nfunction cloneNodeInternal<T extends t.Node>(\n node: T,\n deep: boolean = true,\n withoutLoc: boolean = false,\n commentsCache: CommentCache,\n): T {\n if (!node) return node;\n\n const { type } = node;\n const newNode: any = { type: node.type };\n\n // Special-case identifiers since they are the most cloned nodes.\n if (isIdentifier(node)) {\n newNode.name = node.name;\n\n if (has(node, \"optional\") && typeof node.optional === \"boolean\") {\n newNode.optional = node.optional;\n }\n\n if (has(node, \"typeAnnotation\")) {\n newNode.typeAnnotation = deep\n ? cloneIfNodeOrArray(\n node.typeAnnotation,\n true,\n withoutLoc,\n commentsCache,\n )\n : node.typeAnnotation;\n }\n } else if (!has(NODE_FIELDS, type)) {\n throw new Error(`Unknown node type: \"${type}\"`);\n } else {\n for (const field of Object.keys(NODE_FIELDS[type])) {\n if (has(node, field)) {\n if (deep) {\n newNode[field] =\n isFile(node) && field === \"comments\"\n ? maybeCloneComments(\n node.comments,\n deep,\n withoutLoc,\n commentsCache,\n )\n : cloneIfNodeOrArray(\n // @ts-expect-error node[field] has been guarded by has check\n node[field],\n true,\n withoutLoc,\n commentsCache,\n );\n } else {\n newNode[field] =\n // @ts-expect-error node[field] has been guarded by has check\n node[field];\n }\n }\n }\n }\n\n if (has(node, \"loc\")) {\n if (withoutLoc) {\n newNode.loc = null;\n } else {\n newNode.loc = node.loc;\n }\n }\n if (has(node, \"leadingComments\")) {\n newNode.leadingComments = maybeCloneComments(\n node.leadingComments,\n deep,\n withoutLoc,\n commentsCache,\n );\n }\n if (has(node, \"innerComments\")) {\n newNode.innerComments = maybeCloneComments(\n node.innerComments,\n deep,\n withoutLoc,\n commentsCache,\n );\n }\n if (has(node, \"trailingComments\")) {\n newNode.trailingComments = maybeCloneComments(\n node.trailingComments,\n deep,\n withoutLoc,\n commentsCache,\n );\n }\n if (has(node, \"extra\")) {\n newNode.extra = {\n ...node.extra,\n };\n }\n\n return newNode;\n}\n\nfunction maybeCloneComments<T extends t.Comment>(\n comments: ReadonlyArray<T> | null,\n deep: boolean,\n withoutLoc: boolean,\n commentsCache: Map<T, T>,\n): ReadonlyArray<T> | null {\n if (!comments || !deep) {\n return comments;\n }\n return comments.map(comment => {\n const cache = commentsCache.get(comment);\n if (cache) return cache;\n\n const { type, value, loc } = comment;\n\n const ret = { type, value, loc } as T;\n if (withoutLoc) {\n ret.loc = null;\n }\n\n commentsCache.set(comment, ret);\n\n return ret;\n });\n}\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js b/includes/search/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js
deleted file mode 100644
index 13edfe1..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = cloneWithoutLoc;
-
-var _cloneNode = require("./cloneNode");
-
-function cloneWithoutLoc(node) {
- return (0, _cloneNode.default)(node, false, true);
-}
-
-//# sourceMappingURL=cloneWithoutLoc.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map b/includes/search/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map
deleted file mode 100644
index 2dccc69..0000000
--- a/includes/search/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["cloneWithoutLoc","node","cloneNode"],"sources":["../../src/clone/cloneWithoutLoc.ts"],"sourcesContent":["import cloneNode from \"./cloneNode\";\nimport type * as t from \"..\";\n\n/**\n * Create a shallow clone of a `node` excluding `_private` and location properties.\n */\nexport default function cloneWithoutLoc<T extends t.Node>(node: T): T {\n return cloneNode(node, /* deep */ false, /* withoutLoc */ true);\n}\n"],"mappings":";;;;;;;AAAA;;AAMe,SAASA,eAAT,CAA2CC,IAA3C,EAAuD;EACpE,OAAO,IAAAC,kBAAA,EAAUD,IAAV,EAA2B,KAA3B,EAAmD,IAAnD,CAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/comments/addComment.js b/includes/search/node_modules/@babel/types/lib/comments/addComment.js
deleted file mode 100644
index 8882540..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/addComment.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = addComment;
-
-var _addComments = require("./addComments");
-
-function addComment(node, type, content, line) {
- return (0, _addComments.default)(node, type, [{
- type: line ? "CommentLine" : "CommentBlock",
- value: content
- }]);
-}
-
-//# sourceMappingURL=addComment.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/comments/addComment.js.map b/includes/search/node_modules/@babel/types/lib/comments/addComment.js.map
deleted file mode 100644
index 8d799b0..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/addComment.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["addComment","node","type","content","line","addComments","value"],"sources":["../../src/comments/addComment.ts"],"sourcesContent":["import addComments from \"./addComments\";\nimport type * as t from \"..\";\n\n/**\n * Add comment of certain type to a node.\n */\nexport default function addComment<T extends t.Node>(\n node: T,\n type: t.CommentTypeShorthand,\n content: string,\n line?: boolean,\n): T {\n return addComments(node, type, [\n {\n type: line ? \"CommentLine\" : \"CommentBlock\",\n value: content,\n } as t.Comment,\n ]);\n}\n"],"mappings":";;;;;;;AAAA;;AAMe,SAASA,UAAT,CACbC,IADa,EAEbC,IAFa,EAGbC,OAHa,EAIbC,IAJa,EAKV;EACH,OAAO,IAAAC,oBAAA,EAAYJ,IAAZ,EAAkBC,IAAlB,EAAwB,CAC7B;IACEA,IAAI,EAAEE,IAAI,GAAG,aAAH,GAAmB,cAD/B;IAEEE,KAAK,EAAEH;EAFT,CAD6B,CAAxB,CAAP;AAMD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/comments/addComments.js b/includes/search/node_modules/@babel/types/lib/comments/addComments.js
deleted file mode 100644
index b5f75c2..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/addComments.js
+++ /dev/null
@@ -1,25 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = addComments;
-
-function addComments(node, type, comments) {
- if (!comments || !node) return node;
- const key = `${type}Comments`;
-
- if (node[key]) {
- if (type === "leading") {
- node[key] = comments.concat(node[key]);
- } else {
- node[key].push(...comments);
- }
- } else {
- node[key] = comments;
- }
-
- return node;
-}
-
-//# sourceMappingURL=addComments.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/comments/addComments.js.map b/includes/search/node_modules/@babel/types/lib/comments/addComments.js.map
deleted file mode 100644
index 56d7ff5..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/addComments.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["addComments","node","type","comments","key","concat","push"],"sources":["../../src/comments/addComments.ts"],"sourcesContent":["import type * as t from \"..\";\n\n/**\n * Add comments of certain type to a node.\n */\nexport default function addComments<T extends t.Node>(\n node: T,\n type: t.CommentTypeShorthand,\n comments: Array<t.Comment>,\n): T {\n if (!comments || !node) return node;\n\n const key = `${type}Comments` as const;\n\n if (node[key]) {\n if (type === \"leading\") {\n node[key] = comments.concat(node[key]);\n } else {\n node[key].push(...comments);\n }\n } else {\n node[key] = comments;\n }\n\n return node;\n}\n"],"mappings":";;;;;;;AAKe,SAASA,WAAT,CACbC,IADa,EAEbC,IAFa,EAGbC,QAHa,EAIV;EACH,IAAI,CAACA,QAAD,IAAa,CAACF,IAAlB,EAAwB,OAAOA,IAAP;EAExB,MAAMG,GAAG,GAAI,GAAEF,IAAK,UAApB;;EAEA,IAAID,IAAI,CAACG,GAAD,CAAR,EAAe;IACb,IAAIF,IAAI,KAAK,SAAb,EAAwB;MACtBD,IAAI,CAACG,GAAD,CAAJ,GAAYD,QAAQ,CAACE,MAAT,CAAgBJ,IAAI,CAACG,GAAD,CAApB,CAAZ;IACD,CAFD,MAEO;MACLH,IAAI,CAACG,GAAD,CAAJ,CAAUE,IAAV,CAAe,GAAGH,QAAlB;IACD;EACF,CAND,MAMO;IACLF,IAAI,CAACG,GAAD,CAAJ,GAAYD,QAAZ;EACD;;EAED,OAAOF,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/comments/inheritInnerComments.js b/includes/search/node_modules/@babel/types/lib/comments/inheritInnerComments.js
deleted file mode 100644
index 699aa03..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/inheritInnerComments.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = inheritInnerComments;
-
-var _inherit = require("../utils/inherit");
-
-function inheritInnerComments(child, parent) {
- (0, _inherit.default)("innerComments", child, parent);
-}
-
-//# sourceMappingURL=inheritInnerComments.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map b/includes/search/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map
deleted file mode 100644
index df55fdf..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["inheritInnerComments","child","parent","inherit"],"sources":["../../src/comments/inheritInnerComments.ts"],"sourcesContent":["import inherit from \"../utils/inherit\";\nimport type * as t from \"..\";\n\nexport default function inheritInnerComments(\n child: t.Node,\n parent: t.Node,\n): void {\n inherit(\"innerComments\", child, parent);\n}\n"],"mappings":";;;;;;;AAAA;;AAGe,SAASA,oBAAT,CACbC,KADa,EAEbC,MAFa,EAGP;EACN,IAAAC,gBAAA,EAAQ,eAAR,EAAyBF,KAAzB,EAAgCC,MAAhC;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/comments/inheritLeadingComments.js b/includes/search/node_modules/@babel/types/lib/comments/inheritLeadingComments.js
deleted file mode 100644
index 451e3e5..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/inheritLeadingComments.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = inheritLeadingComments;
-
-var _inherit = require("../utils/inherit");
-
-function inheritLeadingComments(child, parent) {
- (0, _inherit.default)("leadingComments", child, parent);
-}
-
-//# sourceMappingURL=inheritLeadingComments.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map b/includes/search/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map
deleted file mode 100644
index 025f5ef..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["inheritLeadingComments","child","parent","inherit"],"sources":["../../src/comments/inheritLeadingComments.ts"],"sourcesContent":["import inherit from \"../utils/inherit\";\nimport type * as t from \"..\";\n\nexport default function inheritLeadingComments(\n child: t.Node,\n parent: t.Node,\n): void {\n inherit(\"leadingComments\", child, parent);\n}\n"],"mappings":";;;;;;;AAAA;;AAGe,SAASA,sBAAT,CACbC,KADa,EAEbC,MAFa,EAGP;EACN,IAAAC,gBAAA,EAAQ,iBAAR,EAA2BF,KAA3B,EAAkCC,MAAlC;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/comments/inheritTrailingComments.js b/includes/search/node_modules/@babel/types/lib/comments/inheritTrailingComments.js
deleted file mode 100644
index da84aee..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/inheritTrailingComments.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = inheritTrailingComments;
-
-var _inherit = require("../utils/inherit");
-
-function inheritTrailingComments(child, parent) {
- (0, _inherit.default)("trailingComments", child, parent);
-}
-
-//# sourceMappingURL=inheritTrailingComments.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map b/includes/search/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map
deleted file mode 100644
index c131742..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["inheritTrailingComments","child","parent","inherit"],"sources":["../../src/comments/inheritTrailingComments.ts"],"sourcesContent":["import inherit from \"../utils/inherit\";\nimport type * as t from \"..\";\n\nexport default function inheritTrailingComments(\n child: t.Node,\n parent: t.Node,\n): void {\n inherit(\"trailingComments\", child, parent);\n}\n"],"mappings":";;;;;;;AAAA;;AAGe,SAASA,uBAAT,CACbC,KADa,EAEbC,MAFa,EAGP;EACN,IAAAC,gBAAA,EAAQ,kBAAR,EAA4BF,KAA5B,EAAmCC,MAAnC;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/comments/inheritsComments.js b/includes/search/node_modules/@babel/types/lib/comments/inheritsComments.js
deleted file mode 100644
index 8775ab1..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/inheritsComments.js
+++ /dev/null
@@ -1,21 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = inheritsComments;
-
-var _inheritTrailingComments = require("./inheritTrailingComments");
-
-var _inheritLeadingComments = require("./inheritLeadingComments");
-
-var _inheritInnerComments = require("./inheritInnerComments");
-
-function inheritsComments(child, parent) {
- (0, _inheritTrailingComments.default)(child, parent);
- (0, _inheritLeadingComments.default)(child, parent);
- (0, _inheritInnerComments.default)(child, parent);
- return child;
-}
-
-//# sourceMappingURL=inheritsComments.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/comments/inheritsComments.js.map b/includes/search/node_modules/@babel/types/lib/comments/inheritsComments.js.map
deleted file mode 100644
index 84af99f..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/inheritsComments.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["inheritsComments","child","parent","inheritTrailingComments","inheritLeadingComments","inheritInnerComments"],"sources":["../../src/comments/inheritsComments.ts"],"sourcesContent":["import inheritTrailingComments from \"./inheritTrailingComments\";\nimport inheritLeadingComments from \"./inheritLeadingComments\";\nimport inheritInnerComments from \"./inheritInnerComments\";\nimport type * as t from \"..\";\n\n/**\n * Inherit all unique comments from `parent` node to `child` node.\n */\nexport default function inheritsComments<T extends t.Node>(\n child: T,\n parent: t.Node,\n): T {\n inheritTrailingComments(child, parent);\n inheritLeadingComments(child, parent);\n inheritInnerComments(child, parent);\n\n return child;\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAMe,SAASA,gBAAT,CACbC,KADa,EAEbC,MAFa,EAGV;EACH,IAAAC,gCAAA,EAAwBF,KAAxB,EAA+BC,MAA/B;EACA,IAAAE,+BAAA,EAAuBH,KAAvB,EAA8BC,MAA9B;EACA,IAAAG,6BAAA,EAAqBJ,KAArB,EAA4BC,MAA5B;EAEA,OAAOD,KAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/comments/removeComments.js b/includes/search/node_modules/@babel/types/lib/comments/removeComments.js
deleted file mode 100644
index 9347023..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/removeComments.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = removeComments;
-
-var _constants = require("../constants");
-
-function removeComments(node) {
- _constants.COMMENT_KEYS.forEach(key => {
- node[key] = null;
- });
-
- return node;
-}
-
-//# sourceMappingURL=removeComments.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/comments/removeComments.js.map b/includes/search/node_modules/@babel/types/lib/comments/removeComments.js.map
deleted file mode 100644
index 065779b..0000000
--- a/includes/search/node_modules/@babel/types/lib/comments/removeComments.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["removeComments","node","COMMENT_KEYS","forEach","key"],"sources":["../../src/comments/removeComments.ts"],"sourcesContent":["import { COMMENT_KEYS } from \"../constants\";\nimport type * as t from \"..\";\n\n/**\n * Remove comment properties from a node.\n */\nexport default function removeComments<T extends t.Node>(node: T): T {\n COMMENT_KEYS.forEach(key => {\n node[key] = null;\n });\n\n return node;\n}\n"],"mappings":";;;;;;;AAAA;;AAMe,SAASA,cAAT,CAA0CC,IAA1C,EAAsD;EACnEC,uBAAA,CAAaC,OAAb,CAAqBC,GAAG,IAAI;IAC1BH,IAAI,CAACG,GAAD,CAAJ,GAAY,IAAZ;EACD,CAFD;;EAIA,OAAOH,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/constants/generated/index.js b/includes/search/node_modules/@babel/types/lib/constants/generated/index.js
deleted file mode 100644
index f834e93..0000000
--- a/includes/search/node_modules/@babel/types/lib/constants/generated/index.js
+++ /dev/null
@@ -1,109 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.WHILE_TYPES = exports.USERWHITESPACABLE_TYPES = exports.UNARYLIKE_TYPES = exports.TYPESCRIPT_TYPES = exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.TSENTITYNAME_TYPES = exports.TSBASETYPE_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.STANDARDIZED_TYPES = exports.SCOPABLE_TYPES = exports.PUREISH_TYPES = exports.PROPERTY_TYPES = exports.PRIVATE_TYPES = exports.PATTERN_TYPES = exports.PATTERNLIKE_TYPES = exports.OBJECTMEMBER_TYPES = exports.MODULESPECIFIER_TYPES = exports.MODULEDECLARATION_TYPES = exports.MISCELLANEOUS_TYPES = exports.METHOD_TYPES = exports.LVAL_TYPES = exports.LOOP_TYPES = exports.LITERAL_TYPES = exports.JSX_TYPES = exports.IMMUTABLE_TYPES = exports.FUNCTION_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FOR_TYPES = exports.FORXSTATEMENT_TYPES = exports.FLOW_TYPES = exports.FLOWTYPE_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.EXPRESSION_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.DECLARATION_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.CLASS_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.BINARY_TYPES = exports.ACCESSOR_TYPES = void 0;
-
-var _definitions = require("../../definitions");
-
-const STANDARDIZED_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Standardized"];
-exports.STANDARDIZED_TYPES = STANDARDIZED_TYPES;
-const EXPRESSION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Expression"];
-exports.EXPRESSION_TYPES = EXPRESSION_TYPES;
-const BINARY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Binary"];
-exports.BINARY_TYPES = BINARY_TYPES;
-const SCOPABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Scopable"];
-exports.SCOPABLE_TYPES = SCOPABLE_TYPES;
-const BLOCKPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["BlockParent"];
-exports.BLOCKPARENT_TYPES = BLOCKPARENT_TYPES;
-const BLOCK_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Block"];
-exports.BLOCK_TYPES = BLOCK_TYPES;
-const STATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Statement"];
-exports.STATEMENT_TYPES = STATEMENT_TYPES;
-const TERMINATORLESS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Terminatorless"];
-exports.TERMINATORLESS_TYPES = TERMINATORLESS_TYPES;
-const COMPLETIONSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["CompletionStatement"];
-exports.COMPLETIONSTATEMENT_TYPES = COMPLETIONSTATEMENT_TYPES;
-const CONDITIONAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Conditional"];
-exports.CONDITIONAL_TYPES = CONDITIONAL_TYPES;
-const LOOP_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Loop"];
-exports.LOOP_TYPES = LOOP_TYPES;
-const WHILE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["While"];
-exports.WHILE_TYPES = WHILE_TYPES;
-const EXPRESSIONWRAPPER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExpressionWrapper"];
-exports.EXPRESSIONWRAPPER_TYPES = EXPRESSIONWRAPPER_TYPES;
-const FOR_TYPES = _definitions.FLIPPED_ALIAS_KEYS["For"];
-exports.FOR_TYPES = FOR_TYPES;
-const FORXSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ForXStatement"];
-exports.FORXSTATEMENT_TYPES = FORXSTATEMENT_TYPES;
-const FUNCTION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Function"];
-exports.FUNCTION_TYPES = FUNCTION_TYPES;
-const FUNCTIONPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FunctionParent"];
-exports.FUNCTIONPARENT_TYPES = FUNCTIONPARENT_TYPES;
-const PUREISH_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pureish"];
-exports.PUREISH_TYPES = PUREISH_TYPES;
-const DECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Declaration"];
-exports.DECLARATION_TYPES = DECLARATION_TYPES;
-const PATTERNLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["PatternLike"];
-exports.PATTERNLIKE_TYPES = PATTERNLIKE_TYPES;
-const LVAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["LVal"];
-exports.LVAL_TYPES = LVAL_TYPES;
-const TSENTITYNAME_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSEntityName"];
-exports.TSENTITYNAME_TYPES = TSENTITYNAME_TYPES;
-const LITERAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Literal"];
-exports.LITERAL_TYPES = LITERAL_TYPES;
-const IMMUTABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Immutable"];
-exports.IMMUTABLE_TYPES = IMMUTABLE_TYPES;
-const USERWHITESPACABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UserWhitespacable"];
-exports.USERWHITESPACABLE_TYPES = USERWHITESPACABLE_TYPES;
-const METHOD_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Method"];
-exports.METHOD_TYPES = METHOD_TYPES;
-const OBJECTMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ObjectMember"];
-exports.OBJECTMEMBER_TYPES = OBJECTMEMBER_TYPES;
-const PROPERTY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Property"];
-exports.PROPERTY_TYPES = PROPERTY_TYPES;
-const UNARYLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UnaryLike"];
-exports.UNARYLIKE_TYPES = UNARYLIKE_TYPES;
-const PATTERN_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pattern"];
-exports.PATTERN_TYPES = PATTERN_TYPES;
-const CLASS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Class"];
-exports.CLASS_TYPES = CLASS_TYPES;
-const MODULEDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleDeclaration"];
-exports.MODULEDECLARATION_TYPES = MODULEDECLARATION_TYPES;
-const EXPORTDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExportDeclaration"];
-exports.EXPORTDECLARATION_TYPES = EXPORTDECLARATION_TYPES;
-const MODULESPECIFIER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleSpecifier"];
-exports.MODULESPECIFIER_TYPES = MODULESPECIFIER_TYPES;
-const ACCESSOR_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Accessor"];
-exports.ACCESSOR_TYPES = ACCESSOR_TYPES;
-const PRIVATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Private"];
-exports.PRIVATE_TYPES = PRIVATE_TYPES;
-const FLOW_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Flow"];
-exports.FLOW_TYPES = FLOW_TYPES;
-const FLOWTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowType"];
-exports.FLOWTYPE_TYPES = FLOWTYPE_TYPES;
-const FLOWBASEANNOTATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"];
-exports.FLOWBASEANNOTATION_TYPES = FLOWBASEANNOTATION_TYPES;
-const FLOWDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowDeclaration"];
-exports.FLOWDECLARATION_TYPES = FLOWDECLARATION_TYPES;
-const FLOWPREDICATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowPredicate"];
-exports.FLOWPREDICATE_TYPES = FLOWPREDICATE_TYPES;
-const ENUMBODY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumBody"];
-exports.ENUMBODY_TYPES = ENUMBODY_TYPES;
-const ENUMMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumMember"];
-exports.ENUMMEMBER_TYPES = ENUMMEMBER_TYPES;
-const JSX_TYPES = _definitions.FLIPPED_ALIAS_KEYS["JSX"];
-exports.JSX_TYPES = JSX_TYPES;
-const MISCELLANEOUS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Miscellaneous"];
-exports.MISCELLANEOUS_TYPES = MISCELLANEOUS_TYPES;
-const TYPESCRIPT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TypeScript"];
-exports.TYPESCRIPT_TYPES = TYPESCRIPT_TYPES;
-const TSTYPEELEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSTypeElement"];
-exports.TSTYPEELEMENT_TYPES = TSTYPEELEMENT_TYPES;
-const TSTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSType"];
-exports.TSTYPE_TYPES = TSTYPE_TYPES;
-const TSBASETYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSBaseType"];
-exports.TSBASETYPE_TYPES = TSBASETYPE_TYPES;
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/constants/generated/index.js.map b/includes/search/node_modules/@babel/types/lib/constants/generated/index.js.map
deleted file mode 100644
index 5faedb9..0000000
--- a/includes/search/node_modules/@babel/types/lib/constants/generated/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["STANDARDIZED_TYPES","FLIPPED_ALIAS_KEYS","EXPRESSION_TYPES","BINARY_TYPES","SCOPABLE_TYPES","BLOCKPARENT_TYPES","BLOCK_TYPES","STATEMENT_TYPES","TERMINATORLESS_TYPES","COMPLETIONSTATEMENT_TYPES","CONDITIONAL_TYPES","LOOP_TYPES","WHILE_TYPES","EXPRESSIONWRAPPER_TYPES","FOR_TYPES","FORXSTATEMENT_TYPES","FUNCTION_TYPES","FUNCTIONPARENT_TYPES","PUREISH_TYPES","DECLARATION_TYPES","PATTERNLIKE_TYPES","LVAL_TYPES","TSENTITYNAME_TYPES","LITERAL_TYPES","IMMUTABLE_TYPES","USERWHITESPACABLE_TYPES","METHOD_TYPES","OBJECTMEMBER_TYPES","PROPERTY_TYPES","UNARYLIKE_TYPES","PATTERN_TYPES","CLASS_TYPES","MODULEDECLARATION_TYPES","EXPORTDECLARATION_TYPES","MODULESPECIFIER_TYPES","ACCESSOR_TYPES","PRIVATE_TYPES","FLOW_TYPES","FLOWTYPE_TYPES","FLOWBASEANNOTATION_TYPES","FLOWDECLARATION_TYPES","FLOWPREDICATE_TYPES","ENUMBODY_TYPES","ENUMMEMBER_TYPES","JSX_TYPES","MISCELLANEOUS_TYPES","TYPESCRIPT_TYPES","TSTYPEELEMENT_TYPES","TSTYPE_TYPES","TSBASETYPE_TYPES"],"sources":["../../../src/constants/generated/index.ts"],"sourcesContent":["/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\nimport { FLIPPED_ALIAS_KEYS } from \"../../definitions\";\n\nexport const STANDARDIZED_TYPES = FLIPPED_ALIAS_KEYS[\"Standardized\"];\nexport const EXPRESSION_TYPES = FLIPPED_ALIAS_KEYS[\"Expression\"];\nexport const BINARY_TYPES = FLIPPED_ALIAS_KEYS[\"Binary\"];\nexport const SCOPABLE_TYPES = FLIPPED_ALIAS_KEYS[\"Scopable\"];\nexport const BLOCKPARENT_TYPES = FLIPPED_ALIAS_KEYS[\"BlockParent\"];\nexport const BLOCK_TYPES = FLIPPED_ALIAS_KEYS[\"Block\"];\nexport const STATEMENT_TYPES = FLIPPED_ALIAS_KEYS[\"Statement\"];\nexport const TERMINATORLESS_TYPES = FLIPPED_ALIAS_KEYS[\"Terminatorless\"];\nexport const COMPLETIONSTATEMENT_TYPES =\n FLIPPED_ALIAS_KEYS[\"CompletionStatement\"];\nexport const CONDITIONAL_TYPES = FLIPPED_ALIAS_KEYS[\"Conditional\"];\nexport const LOOP_TYPES = FLIPPED_ALIAS_KEYS[\"Loop\"];\nexport const WHILE_TYPES = FLIPPED_ALIAS_KEYS[\"While\"];\nexport const EXPRESSIONWRAPPER_TYPES = FLIPPED_ALIAS_KEYS[\"ExpressionWrapper\"];\nexport const FOR_TYPES = FLIPPED_ALIAS_KEYS[\"For\"];\nexport const FORXSTATEMENT_TYPES = FLIPPED_ALIAS_KEYS[\"ForXStatement\"];\nexport const FUNCTION_TYPES = FLIPPED_ALIAS_KEYS[\"Function\"];\nexport const FUNCTIONPARENT_TYPES = FLIPPED_ALIAS_KEYS[\"FunctionParent\"];\nexport const PUREISH_TYPES = FLIPPED_ALIAS_KEYS[\"Pureish\"];\nexport const DECLARATION_TYPES = FLIPPED_ALIAS_KEYS[\"Declaration\"];\nexport const PATTERNLIKE_TYPES = FLIPPED_ALIAS_KEYS[\"PatternLike\"];\nexport const LVAL_TYPES = FLIPPED_ALIAS_KEYS[\"LVal\"];\nexport const TSENTITYNAME_TYPES = FLIPPED_ALIAS_KEYS[\"TSEntityName\"];\nexport const LITERAL_TYPES = FLIPPED_ALIAS_KEYS[\"Literal\"];\nexport const IMMUTABLE_TYPES = FLIPPED_ALIAS_KEYS[\"Immutable\"];\nexport const USERWHITESPACABLE_TYPES = FLIPPED_ALIAS_KEYS[\"UserWhitespacable\"];\nexport const METHOD_TYPES = FLIPPED_ALIAS_KEYS[\"Method\"];\nexport const OBJECTMEMBER_TYPES = FLIPPED_ALIAS_KEYS[\"ObjectMember\"];\nexport const PROPERTY_TYPES = FLIPPED_ALIAS_KEYS[\"Property\"];\nexport const UNARYLIKE_TYPES = FLIPPED_ALIAS_KEYS[\"UnaryLike\"];\nexport const PATTERN_TYPES = FLIPPED_ALIAS_KEYS[\"Pattern\"];\nexport const CLASS_TYPES = FLIPPED_ALIAS_KEYS[\"Class\"];\nexport const MODULEDECLARATION_TYPES = FLIPPED_ALIAS_KEYS[\"ModuleDeclaration\"];\nexport const EXPORTDECLARATION_TYPES = FLIPPED_ALIAS_KEYS[\"ExportDeclaration\"];\nexport const MODULESPECIFIER_TYPES = FLIPPED_ALIAS_KEYS[\"ModuleSpecifier\"];\nexport const ACCESSOR_TYPES = FLIPPED_ALIAS_KEYS[\"Accessor\"];\nexport const PRIVATE_TYPES = FLIPPED_ALIAS_KEYS[\"Private\"];\nexport const FLOW_TYPES = FLIPPED_ALIAS_KEYS[\"Flow\"];\nexport const FLOWTYPE_TYPES = FLIPPED_ALIAS_KEYS[\"FlowType\"];\nexport const FLOWBASEANNOTATION_TYPES =\n FLIPPED_ALIAS_KEYS[\"FlowBaseAnnotation\"];\nexport const FLOWDECLARATION_TYPES = FLIPPED_ALIAS_KEYS[\"FlowDeclaration\"];\nexport const FLOWPREDICATE_TYPES = FLIPPED_ALIAS_KEYS[\"FlowPredicate\"];\nexport const ENUMBODY_TYPES = FLIPPED_ALIAS_KEYS[\"EnumBody\"];\nexport const ENUMMEMBER_TYPES = FLIPPED_ALIAS_KEYS[\"EnumMember\"];\nexport const JSX_TYPES = FLIPPED_ALIAS_KEYS[\"JSX\"];\nexport const MISCELLANEOUS_TYPES = FLIPPED_ALIAS_KEYS[\"Miscellaneous\"];\nexport const TYPESCRIPT_TYPES = FLIPPED_ALIAS_KEYS[\"TypeScript\"];\nexport const TSTYPEELEMENT_TYPES = FLIPPED_ALIAS_KEYS[\"TSTypeElement\"];\nexport const TSTYPE_TYPES = FLIPPED_ALIAS_KEYS[\"TSType\"];\nexport const TSBASETYPE_TYPES = FLIPPED_ALIAS_KEYS[\"TSBaseType\"];\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/constants/index.js b/includes/search/node_modules/@babel/types/lib/constants/index.js
deleted file mode 100644
index 9248444..0000000
--- a/includes/search/node_modules/@babel/types/lib/constants/index.js
+++ /dev/null
@@ -1,51 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.UPDATE_OPERATORS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.STATEMENT_OR_BLOCK_KEYS = exports.NUMBER_UNARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.NOT_LOCAL_BINDING = exports.LOGICAL_OPERATORS = exports.INHERIT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.EQUALITY_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.COMMENT_KEYS = exports.BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.BLOCK_SCOPED_SYMBOL = exports.BINARY_OPERATORS = exports.ASSIGNMENT_OPERATORS = void 0;
-const STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"];
-exports.STATEMENT_OR_BLOCK_KEYS = STATEMENT_OR_BLOCK_KEYS;
-const FLATTENABLE_KEYS = ["body", "expressions"];
-exports.FLATTENABLE_KEYS = FLATTENABLE_KEYS;
-const FOR_INIT_KEYS = ["left", "init"];
-exports.FOR_INIT_KEYS = FOR_INIT_KEYS;
-const COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"];
-exports.COMMENT_KEYS = COMMENT_KEYS;
-const LOGICAL_OPERATORS = ["||", "&&", "??"];
-exports.LOGICAL_OPERATORS = LOGICAL_OPERATORS;
-const UPDATE_OPERATORS = ["++", "--"];
-exports.UPDATE_OPERATORS = UPDATE_OPERATORS;
-const BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="];
-exports.BOOLEAN_NUMBER_BINARY_OPERATORS = BOOLEAN_NUMBER_BINARY_OPERATORS;
-const EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="];
-exports.EQUALITY_BINARY_OPERATORS = EQUALITY_BINARY_OPERATORS;
-const COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, "in", "instanceof"];
-exports.COMPARISON_BINARY_OPERATORS = COMPARISON_BINARY_OPERATORS;
-const BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS];
-exports.BOOLEAN_BINARY_OPERATORS = BOOLEAN_BINARY_OPERATORS;
-const NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"];
-exports.NUMBER_BINARY_OPERATORS = NUMBER_BINARY_OPERATORS;
-const BINARY_OPERATORS = ["+", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS, "|>"];
-exports.BINARY_OPERATORS = BINARY_OPERATORS;
-const ASSIGNMENT_OPERATORS = ["=", "+=", ...NUMBER_BINARY_OPERATORS.map(op => op + "="), ...LOGICAL_OPERATORS.map(op => op + "=")];
-exports.ASSIGNMENT_OPERATORS = ASSIGNMENT_OPERATORS;
-const BOOLEAN_UNARY_OPERATORS = ["delete", "!"];
-exports.BOOLEAN_UNARY_OPERATORS = BOOLEAN_UNARY_OPERATORS;
-const NUMBER_UNARY_OPERATORS = ["+", "-", "~"];
-exports.NUMBER_UNARY_OPERATORS = NUMBER_UNARY_OPERATORS;
-const STRING_UNARY_OPERATORS = ["typeof"];
-exports.STRING_UNARY_OPERATORS = STRING_UNARY_OPERATORS;
-const UNARY_OPERATORS = ["void", "throw", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS];
-exports.UNARY_OPERATORS = UNARY_OPERATORS;
-const INHERIT_KEYS = {
- optional: ["typeAnnotation", "typeParameters", "returnType"],
- force: ["start", "loc", "end"]
-};
-exports.INHERIT_KEYS = INHERIT_KEYS;
-const BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped");
-exports.BLOCK_SCOPED_SYMBOL = BLOCK_SCOPED_SYMBOL;
-const NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding");
-exports.NOT_LOCAL_BINDING = NOT_LOCAL_BINDING;
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/constants/index.js.map b/includes/search/node_modules/@babel/types/lib/constants/index.js.map
deleted file mode 100644
index e048e7e..0000000
--- a/includes/search/node_modules/@babel/types/lib/constants/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["STATEMENT_OR_BLOCK_KEYS","FLATTENABLE_KEYS","FOR_INIT_KEYS","COMMENT_KEYS","LOGICAL_OPERATORS","UPDATE_OPERATORS","BOOLEAN_NUMBER_BINARY_OPERATORS","EQUALITY_BINARY_OPERATORS","COMPARISON_BINARY_OPERATORS","BOOLEAN_BINARY_OPERATORS","NUMBER_BINARY_OPERATORS","BINARY_OPERATORS","ASSIGNMENT_OPERATORS","map","op","BOOLEAN_UNARY_OPERATORS","NUMBER_UNARY_OPERATORS","STRING_UNARY_OPERATORS","UNARY_OPERATORS","INHERIT_KEYS","optional","force","BLOCK_SCOPED_SYMBOL","Symbol","for","NOT_LOCAL_BINDING"],"sources":["../../src/constants/index.ts"],"sourcesContent":["export const STATEMENT_OR_BLOCK_KEYS = [\"consequent\", \"body\", \"alternate\"];\nexport const FLATTENABLE_KEYS = [\"body\", \"expressions\"];\nexport const FOR_INIT_KEYS = [\"left\", \"init\"];\nexport const COMMENT_KEYS = [\n \"leadingComments\",\n \"trailingComments\",\n \"innerComments\",\n] as const;\n\nexport const LOGICAL_OPERATORS = [\"||\", \"&&\", \"??\"];\nexport const UPDATE_OPERATORS = [\"++\", \"--\"];\n\nexport const BOOLEAN_NUMBER_BINARY_OPERATORS = [\">\", \"<\", \">=\", \"<=\"];\nexport const EQUALITY_BINARY_OPERATORS = [\"==\", \"===\", \"!=\", \"!==\"];\nexport const COMPARISON_BINARY_OPERATORS = [\n ...EQUALITY_BINARY_OPERATORS,\n \"in\",\n \"instanceof\",\n];\nexport const BOOLEAN_BINARY_OPERATORS = [\n ...COMPARISON_BINARY_OPERATORS,\n ...BOOLEAN_NUMBER_BINARY_OPERATORS,\n];\nexport const NUMBER_BINARY_OPERATORS = [\n \"-\",\n \"/\",\n \"%\",\n \"*\",\n \"**\",\n \"&\",\n \"|\",\n \">>\",\n \">>>\",\n \"<<\",\n \"^\",\n];\nexport const BINARY_OPERATORS = [\n \"+\",\n ...NUMBER_BINARY_OPERATORS,\n ...BOOLEAN_BINARY_OPERATORS,\n \"|>\",\n];\n\nexport const ASSIGNMENT_OPERATORS = [\n \"=\",\n \"+=\",\n ...NUMBER_BINARY_OPERATORS.map(op => op + \"=\"),\n ...LOGICAL_OPERATORS.map(op => op + \"=\"),\n];\n\nexport const BOOLEAN_UNARY_OPERATORS = [\"delete\", \"!\"];\nexport const NUMBER_UNARY_OPERATORS = [\"+\", \"-\", \"~\"];\nexport const STRING_UNARY_OPERATORS = [\"typeof\"];\nexport const UNARY_OPERATORS = [\n \"void\",\n \"throw\",\n ...BOOLEAN_UNARY_OPERATORS,\n ...NUMBER_UNARY_OPERATORS,\n ...STRING_UNARY_OPERATORS,\n];\n\nexport const INHERIT_KEYS = {\n optional: [\"typeAnnotation\", \"typeParameters\", \"returnType\"],\n force: [\"start\", \"loc\", \"end\"],\n} as const;\n\nexport const BLOCK_SCOPED_SYMBOL = Symbol.for(\"var used to be block scoped\");\nexport const NOT_LOCAL_BINDING = Symbol.for(\n \"should not be considered a local binding\",\n);\n"],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,GAAG,CAAC,YAAD,EAAe,MAAf,EAAuB,WAAvB,CAAhC;;AACA,MAAMC,gBAAgB,GAAG,CAAC,MAAD,EAAS,aAAT,CAAzB;;AACA,MAAMC,aAAa,GAAG,CAAC,MAAD,EAAS,MAAT,CAAtB;;AACA,MAAMC,YAAY,GAAG,CAC1B,iBAD0B,EAE1B,kBAF0B,EAG1B,eAH0B,CAArB;;AAMA,MAAMC,iBAAiB,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAA1B;;AACA,MAAMC,gBAAgB,GAAG,CAAC,IAAD,EAAO,IAAP,CAAzB;;AAEA,MAAMC,+BAA+B,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,IAAX,EAAiB,IAAjB,CAAxC;;AACA,MAAMC,yBAAyB,GAAG,CAAC,IAAD,EAAO,KAAP,EAAc,IAAd,EAAoB,KAApB,CAAlC;;AACA,MAAMC,2BAA2B,GAAG,CACzC,GAAGD,yBADsC,EAEzC,IAFyC,EAGzC,YAHyC,CAApC;;AAKA,MAAME,wBAAwB,GAAG,CACtC,GAAGD,2BADmC,EAEtC,GAAGF,+BAFmC,CAAjC;;AAIA,MAAMI,uBAAuB,GAAG,CACrC,GADqC,EAErC,GAFqC,EAGrC,GAHqC,EAIrC,GAJqC,EAKrC,IALqC,EAMrC,GANqC,EAOrC,GAPqC,EAQrC,IARqC,EASrC,KATqC,EAUrC,IAVqC,EAWrC,GAXqC,CAAhC;;AAaA,MAAMC,gBAAgB,GAAG,CAC9B,GAD8B,EAE9B,GAAGD,uBAF2B,EAG9B,GAAGD,wBAH2B,EAI9B,IAJ8B,CAAzB;;AAOA,MAAMG,oBAAoB,GAAG,CAClC,GADkC,EAElC,IAFkC,EAGlC,GAAGF,uBAAuB,CAACG,GAAxB,CAA4BC,EAAE,IAAIA,EAAE,GAAG,GAAvC,CAH+B,EAIlC,GAAGV,iBAAiB,CAACS,GAAlB,CAAsBC,EAAE,IAAIA,EAAE,GAAG,GAAjC,CAJ+B,CAA7B;;AAOA,MAAMC,uBAAuB,GAAG,CAAC,QAAD,EAAW,GAAX,CAAhC;;AACA,MAAMC,sBAAsB,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAA/B;;AACA,MAAMC,sBAAsB,GAAG,CAAC,QAAD,CAA/B;;AACA,MAAMC,eAAe,GAAG,CAC7B,MAD6B,EAE7B,OAF6B,EAG7B,GAAGH,uBAH0B,EAI7B,GAAGC,sBAJ0B,EAK7B,GAAGC,sBAL0B,CAAxB;;AAQA,MAAME,YAAY,GAAG;EAC1BC,QAAQ,EAAE,CAAC,gBAAD,EAAmB,gBAAnB,EAAqC,YAArC,CADgB;EAE1BC,KAAK,EAAE,CAAC,OAAD,EAAU,KAAV,EAAiB,KAAjB;AAFmB,CAArB;;AAKA,MAAMC,mBAAmB,GAAGC,MAAM,CAACC,GAAP,CAAW,6BAAX,CAA5B;;AACA,MAAMC,iBAAiB,GAAGF,MAAM,CAACC,GAAP,CAC/B,0CAD+B,CAA1B"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/ensureBlock.js b/includes/search/node_modules/@babel/types/lib/converters/ensureBlock.js
deleted file mode 100644
index 2df8c63..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/ensureBlock.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = ensureBlock;
-
-var _toBlock = require("./toBlock");
-
-function ensureBlock(node, key = "body") {
- const result = (0, _toBlock.default)(node[key], node);
- node[key] = result;
- return result;
-}
-
-//# sourceMappingURL=ensureBlock.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/ensureBlock.js.map b/includes/search/node_modules/@babel/types/lib/converters/ensureBlock.js.map
deleted file mode 100644
index 664464d..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/ensureBlock.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["ensureBlock","node","key","result","toBlock"],"sources":["../../src/converters/ensureBlock.ts"],"sourcesContent":["import toBlock from \"./toBlock\";\nimport type * as t from \"..\";\n\n/**\n * Ensure the `key` (defaults to \"body\") of a `node` is a block.\n * Casting it to a block if it is not.\n *\n * Returns the BlockStatement\n */\nexport default function ensureBlock(\n node: t.Node,\n key: string = \"body\",\n): t.BlockStatement {\n // @ts-expect-error Fixme: key may not exist in node, consider remove key = \"body\"\n const result = toBlock(node[key], node);\n // @ts-expect-error Fixme: key may not exist in node, consider remove key = \"body\"\n node[key] = result;\n return result;\n}\n"],"mappings":";;;;;;;AAAA;;AASe,SAASA,WAAT,CACbC,IADa,EAEbC,GAAW,GAAG,MAFD,EAGK;EAElB,MAAMC,MAAM,GAAG,IAAAC,gBAAA,EAAQH,IAAI,CAACC,GAAD,CAAZ,EAAmBD,IAAnB,CAAf;EAEAA,IAAI,CAACC,GAAD,CAAJ,GAAYC,MAAZ;EACA,OAAOA,MAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js b/includes/search/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js
deleted file mode 100644
index bd97958..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js
+++ /dev/null
@@ -1,77 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = gatherSequenceExpressions;
-
-var _getBindingIdentifiers = require("../retrievers/getBindingIdentifiers");
-
-var _generated = require("../validators/generated");
-
-var _generated2 = require("../builders/generated");
-
-var _cloneNode = require("../clone/cloneNode");
-
-function gatherSequenceExpressions(nodes, scope, declars) {
- const exprs = [];
- let ensureLastUndefined = true;
-
- for (const node of nodes) {
- if (!(0, _generated.isEmptyStatement)(node)) {
- ensureLastUndefined = false;
- }
-
- if ((0, _generated.isExpression)(node)) {
- exprs.push(node);
- } else if ((0, _generated.isExpressionStatement)(node)) {
- exprs.push(node.expression);
- } else if ((0, _generated.isVariableDeclaration)(node)) {
- if (node.kind !== "var") return;
-
- for (const declar of node.declarations) {
- const bindings = (0, _getBindingIdentifiers.default)(declar);
-
- for (const key of Object.keys(bindings)) {
- declars.push({
- kind: node.kind,
- id: (0, _cloneNode.default)(bindings[key])
- });
- }
-
- if (declar.init) {
- exprs.push((0, _generated2.assignmentExpression)("=", declar.id, declar.init));
- }
- }
-
- ensureLastUndefined = true;
- } else if ((0, _generated.isIfStatement)(node)) {
- const consequent = node.consequent ? gatherSequenceExpressions([node.consequent], scope, declars) : scope.buildUndefinedNode();
- const alternate = node.alternate ? gatherSequenceExpressions([node.alternate], scope, declars) : scope.buildUndefinedNode();
- if (!consequent || !alternate) return;
- exprs.push((0, _generated2.conditionalExpression)(node.test, consequent, alternate));
- } else if ((0, _generated.isBlockStatement)(node)) {
- const body = gatherSequenceExpressions(node.body, scope, declars);
- if (!body) return;
- exprs.push(body);
- } else if ((0, _generated.isEmptyStatement)(node)) {
- if (nodes.indexOf(node) === 0) {
- ensureLastUndefined = true;
- }
- } else {
- return;
- }
- }
-
- if (ensureLastUndefined) {
- exprs.push(scope.buildUndefinedNode());
- }
-
- if (exprs.length === 1) {
- return exprs[0];
- } else {
- return (0, _generated2.sequenceExpression)(exprs);
- }
-}
-
-//# sourceMappingURL=gatherSequenceExpressions.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map b/includes/search/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map
deleted file mode 100644
index 7a5c0fa..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["gatherSequenceExpressions","nodes","scope","declars","exprs","ensureLastUndefined","node","isEmptyStatement","isExpression","push","isExpressionStatement","expression","isVariableDeclaration","kind","declar","declarations","bindings","getBindingIdentifiers","key","Object","keys","id","cloneNode","init","assignmentExpression","isIfStatement","consequent","buildUndefinedNode","alternate","conditionalExpression","test","isBlockStatement","body","indexOf","length","sequenceExpression"],"sources":["../../src/converters/gatherSequenceExpressions.ts"],"sourcesContent":["import getBindingIdentifiers from \"../retrievers/getBindingIdentifiers\";\nimport {\n isExpression,\n isExpressionStatement,\n isVariableDeclaration,\n isIfStatement,\n isBlockStatement,\n isEmptyStatement,\n} from \"../validators/generated\";\nimport {\n sequenceExpression,\n assignmentExpression,\n conditionalExpression,\n} from \"../builders/generated\";\nimport cloneNode from \"../clone/cloneNode\";\nimport type * as t from \"..\";\nimport type { Scope } from \"@babel/traverse\";\n\nexport type DeclarationInfo = {\n kind: t.VariableDeclaration[\"kind\"];\n id: t.Identifier;\n};\n\nexport default function gatherSequenceExpressions(\n nodes: ReadonlyArray<t.Node>,\n scope: Scope,\n declars: Array<DeclarationInfo>,\n) {\n const exprs: t.Expression[] = [];\n let ensureLastUndefined = true;\n\n for (const node of nodes) {\n // if we encounter emptyStatement before a non-emptyStatement\n // we want to disregard that\n if (!isEmptyStatement(node)) {\n ensureLastUndefined = false;\n }\n\n if (isExpression(node)) {\n exprs.push(node);\n } else if (isExpressionStatement(node)) {\n exprs.push(node.expression);\n } else if (isVariableDeclaration(node)) {\n if (node.kind !== \"var\") return; // bailed\n\n for (const declar of node.declarations) {\n const bindings = getBindingIdentifiers(declar);\n for (const key of Object.keys(bindings)) {\n declars.push({\n kind: node.kind,\n id: cloneNode(bindings[key]),\n });\n }\n\n if (declar.init) {\n exprs.push(assignmentExpression(\"=\", declar.id, declar.init));\n }\n }\n\n ensureLastUndefined = true;\n } else if (isIfStatement(node)) {\n const consequent = node.consequent\n ? gatherSequenceExpressions([node.consequent], scope, declars)\n : scope.buildUndefinedNode();\n const alternate = node.alternate\n ? gatherSequenceExpressions([node.alternate], scope, declars)\n : scope.buildUndefinedNode();\n if (!consequent || !alternate) return; // bailed\n\n exprs.push(conditionalExpression(node.test, consequent, alternate));\n } else if (isBlockStatement(node)) {\n const body = gatherSequenceExpressions(node.body, scope, declars);\n if (!body) return; // bailed\n\n exprs.push(body);\n } else if (isEmptyStatement(node)) {\n // empty statement so ensure the last item is undefined if we're last\n // checks if emptyStatement is first\n if (nodes.indexOf(node) === 0) {\n ensureLastUndefined = true;\n }\n } else {\n // bailed, we can't turn this statement into an expression\n return;\n }\n }\n\n if (ensureLastUndefined) {\n exprs.push(scope.buildUndefinedNode());\n }\n\n if (exprs.length === 1) {\n return exprs[0];\n } else {\n return sequenceExpression(exprs);\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAQA;;AAKA;;AASe,SAASA,yBAAT,CACbC,KADa,EAEbC,KAFa,EAGbC,OAHa,EAIb;EACA,MAAMC,KAAqB,GAAG,EAA9B;EACA,IAAIC,mBAAmB,GAAG,IAA1B;;EAEA,KAAK,MAAMC,IAAX,IAAmBL,KAAnB,EAA0B;IAGxB,IAAI,CAAC,IAAAM,2BAAA,EAAiBD,IAAjB,CAAL,EAA6B;MAC3BD,mBAAmB,GAAG,KAAtB;IACD;;IAED,IAAI,IAAAG,uBAAA,EAAaF,IAAb,CAAJ,EAAwB;MACtBF,KAAK,CAACK,IAAN,CAAWH,IAAX;IACD,CAFD,MAEO,IAAI,IAAAI,gCAAA,EAAsBJ,IAAtB,CAAJ,EAAiC;MACtCF,KAAK,CAACK,IAAN,CAAWH,IAAI,CAACK,UAAhB;IACD,CAFM,MAEA,IAAI,IAAAC,gCAAA,EAAsBN,IAAtB,CAAJ,EAAiC;MACtC,IAAIA,IAAI,CAACO,IAAL,KAAc,KAAlB,EAAyB;;MAEzB,KAAK,MAAMC,MAAX,IAAqBR,IAAI,CAACS,YAA1B,EAAwC;QACtC,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAsBH,MAAtB,CAAjB;;QACA,KAAK,MAAMI,GAAX,IAAkBC,MAAM,CAACC,IAAP,CAAYJ,QAAZ,CAAlB,EAAyC;UACvCb,OAAO,CAACM,IAAR,CAAa;YACXI,IAAI,EAAEP,IAAI,CAACO,IADA;YAEXQ,EAAE,EAAE,IAAAC,kBAAA,EAAUN,QAAQ,CAACE,GAAD,CAAlB;UAFO,CAAb;QAID;;QAED,IAAIJ,MAAM,CAACS,IAAX,EAAiB;UACfnB,KAAK,CAACK,IAAN,CAAW,IAAAe,gCAAA,EAAqB,GAArB,EAA0BV,MAAM,CAACO,EAAjC,EAAqCP,MAAM,CAACS,IAA5C,CAAX;QACD;MACF;;MAEDlB,mBAAmB,GAAG,IAAtB;IACD,CAlBM,MAkBA,IAAI,IAAAoB,wBAAA,EAAcnB,IAAd,CAAJ,EAAyB;MAC9B,MAAMoB,UAAU,GAAGpB,IAAI,CAACoB,UAAL,GACf1B,yBAAyB,CAAC,CAACM,IAAI,CAACoB,UAAN,CAAD,EAAoBxB,KAApB,EAA2BC,OAA3B,CADV,GAEfD,KAAK,CAACyB,kBAAN,EAFJ;MAGA,MAAMC,SAAS,GAAGtB,IAAI,CAACsB,SAAL,GACd5B,yBAAyB,CAAC,CAACM,IAAI,CAACsB,SAAN,CAAD,EAAmB1B,KAAnB,EAA0BC,OAA1B,CADX,GAEdD,KAAK,CAACyB,kBAAN,EAFJ;MAGA,IAAI,CAACD,UAAD,IAAe,CAACE,SAApB,EAA+B;MAE/BxB,KAAK,CAACK,IAAN,CAAW,IAAAoB,iCAAA,EAAsBvB,IAAI,CAACwB,IAA3B,EAAiCJ,UAAjC,EAA6CE,SAA7C,CAAX;IACD,CAVM,MAUA,IAAI,IAAAG,2BAAA,EAAiBzB,IAAjB,CAAJ,EAA4B;MACjC,MAAM0B,IAAI,GAAGhC,yBAAyB,CAACM,IAAI,CAAC0B,IAAN,EAAY9B,KAAZ,EAAmBC,OAAnB,CAAtC;MACA,IAAI,CAAC6B,IAAL,EAAW;MAEX5B,KAAK,CAACK,IAAN,CAAWuB,IAAX;IACD,CALM,MAKA,IAAI,IAAAzB,2BAAA,EAAiBD,IAAjB,CAAJ,EAA4B;MAGjC,IAAIL,KAAK,CAACgC,OAAN,CAAc3B,IAAd,MAAwB,CAA5B,EAA+B;QAC7BD,mBAAmB,GAAG,IAAtB;MACD;IACF,CANM,MAMA;MAEL;IACD;EACF;;EAED,IAAIA,mBAAJ,EAAyB;IACvBD,KAAK,CAACK,IAAN,CAAWP,KAAK,CAACyB,kBAAN,EAAX;EACD;;EAED,IAAIvB,KAAK,CAAC8B,MAAN,KAAiB,CAArB,EAAwB;IACtB,OAAO9B,KAAK,CAAC,CAAD,CAAZ;EACD,CAFD,MAEO;IACL,OAAO,IAAA+B,8BAAA,EAAmB/B,KAAnB,CAAP;EACD;AACF"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js b/includes/search/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js
deleted file mode 100644
index e9a3ef1..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = toBindingIdentifierName;
-
-var _toIdentifier = require("./toIdentifier");
-
-function toBindingIdentifierName(name) {
- name = (0, _toIdentifier.default)(name);
- if (name === "eval" || name === "arguments") name = "_" + name;
- return name;
-}
-
-//# sourceMappingURL=toBindingIdentifierName.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map b/includes/search/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map
deleted file mode 100644
index fd8062d..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["toBindingIdentifierName","name","toIdentifier"],"sources":["../../src/converters/toBindingIdentifierName.ts"],"sourcesContent":["import toIdentifier from \"./toIdentifier\";\n\nexport default function toBindingIdentifierName(name: string): string {\n name = toIdentifier(name);\n if (name === \"eval\" || name === \"arguments\") name = \"_\" + name;\n\n return name;\n}\n"],"mappings":";;;;;;;AAAA;;AAEe,SAASA,uBAAT,CAAiCC,IAAjC,EAAuD;EACpEA,IAAI,GAAG,IAAAC,qBAAA,EAAaD,IAAb,CAAP;EACA,IAAIA,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,WAAhC,EAA6CA,IAAI,GAAG,MAAMA,IAAb;EAE7C,OAAOA,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toBlock.js b/includes/search/node_modules/@babel/types/lib/converters/toBlock.js
deleted file mode 100644
index eb726d6..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toBlock.js
+++ /dev/null
@@ -1,36 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = toBlock;
-
-var _generated = require("../validators/generated");
-
-var _generated2 = require("../builders/generated");
-
-function toBlock(node, parent) {
- if ((0, _generated.isBlockStatement)(node)) {
- return node;
- }
-
- let blockNodes = [];
-
- if ((0, _generated.isEmptyStatement)(node)) {
- blockNodes = [];
- } else {
- if (!(0, _generated.isStatement)(node)) {
- if ((0, _generated.isFunction)(parent)) {
- node = (0, _generated2.returnStatement)(node);
- } else {
- node = (0, _generated2.expressionStatement)(node);
- }
- }
-
- blockNodes = [node];
- }
-
- return (0, _generated2.blockStatement)(blockNodes);
-}
-
-//# sourceMappingURL=toBlock.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toBlock.js.map b/includes/search/node_modules/@babel/types/lib/converters/toBlock.js.map
deleted file mode 100644
index ed9bd2a..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toBlock.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["toBlock","node","parent","isBlockStatement","blockNodes","isEmptyStatement","isStatement","isFunction","returnStatement","expressionStatement","blockStatement"],"sources":["../../src/converters/toBlock.ts"],"sourcesContent":["import {\n isBlockStatement,\n isFunction,\n isEmptyStatement,\n isStatement,\n} from \"../validators/generated\";\nimport {\n returnStatement,\n expressionStatement,\n blockStatement,\n} from \"../builders/generated\";\nimport type * as t from \"..\";\n\nexport default function toBlock(\n node: t.Statement | t.Expression,\n parent?: t.Node,\n): t.BlockStatement {\n if (isBlockStatement(node)) {\n return node;\n }\n\n let blockNodes: t.Statement[] = [];\n\n if (isEmptyStatement(node)) {\n blockNodes = [];\n } else {\n if (!isStatement(node)) {\n if (isFunction(parent)) {\n node = returnStatement(node);\n } else {\n node = expressionStatement(node);\n }\n }\n\n blockNodes = [node];\n }\n\n return blockStatement(blockNodes);\n}\n"],"mappings":";;;;;;;AAAA;;AAMA;;AAOe,SAASA,OAAT,CACbC,IADa,EAEbC,MAFa,EAGK;EAClB,IAAI,IAAAC,2BAAA,EAAiBF,IAAjB,CAAJ,EAA4B;IAC1B,OAAOA,IAAP;EACD;;EAED,IAAIG,UAAyB,GAAG,EAAhC;;EAEA,IAAI,IAAAC,2BAAA,EAAiBJ,IAAjB,CAAJ,EAA4B;IAC1BG,UAAU,GAAG,EAAb;EACD,CAFD,MAEO;IACL,IAAI,CAAC,IAAAE,sBAAA,EAAYL,IAAZ,CAAL,EAAwB;MACtB,IAAI,IAAAM,qBAAA,EAAWL,MAAX,CAAJ,EAAwB;QACtBD,IAAI,GAAG,IAAAO,2BAAA,EAAgBP,IAAhB,CAAP;MACD,CAFD,MAEO;QACLA,IAAI,GAAG,IAAAQ,+BAAA,EAAoBR,IAApB,CAAP;MACD;IACF;;IAEDG,UAAU,GAAG,CAACH,IAAD,CAAb;EACD;;EAED,OAAO,IAAAS,0BAAA,EAAeN,UAAf,CAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toComputedKey.js b/includes/search/node_modules/@babel/types/lib/converters/toComputedKey.js
deleted file mode 100644
index 4873714..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toComputedKey.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = toComputedKey;
-
-var _generated = require("../validators/generated");
-
-var _generated2 = require("../builders/generated");
-
-function toComputedKey(node, key = node.key || node.property) {
- if (!node.computed && (0, _generated.isIdentifier)(key)) key = (0, _generated2.stringLiteral)(key.name);
- return key;
-}
-
-//# sourceMappingURL=toComputedKey.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toComputedKey.js.map b/includes/search/node_modules/@babel/types/lib/converters/toComputedKey.js.map
deleted file mode 100644
index 87b94b4..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toComputedKey.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["toComputedKey","node","key","property","computed","isIdentifier","stringLiteral","name"],"sources":["../../src/converters/toComputedKey.ts"],"sourcesContent":["import { isIdentifier } from \"../validators/generated\";\nimport { stringLiteral } from \"../builders/generated\";\nimport type * as t from \"..\";\n\nexport default function toComputedKey(\n node:\n | t.ObjectMember\n | t.ObjectProperty\n | t.ClassMethod\n | t.ClassProperty\n | t.ClassAccessorProperty\n | t.MemberExpression\n | t.OptionalMemberExpression,\n // @ts-expect-error todo(flow->ts): maybe check the type of node before accessing .key and .property\n key: t.Expression | t.PrivateName = node.key || node.property,\n) {\n if (!node.computed && isIdentifier(key)) key = stringLiteral(key.name);\n\n return key;\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAGe,SAASA,aAAT,CACbC,IADa,EAUbC,GAAiC,GAAGD,IAAI,CAACC,GAAL,IAAYD,IAAI,CAACE,QAVxC,EAWb;EACA,IAAI,CAACF,IAAI,CAACG,QAAN,IAAkB,IAAAC,uBAAA,EAAaH,GAAb,CAAtB,EAAyCA,GAAG,GAAG,IAAAI,yBAAA,EAAcJ,GAAG,CAACK,IAAlB,CAAN;EAEzC,OAAOL,GAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toExpression.js b/includes/search/node_modules/@babel/types/lib/converters/toExpression.js
deleted file mode 100644
index c1badad..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toExpression.js
+++ /dev/null
@@ -1,35 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = void 0;
-
-var _generated = require("../validators/generated");
-
-var _default = toExpression;
-exports.default = _default;
-
-function toExpression(node) {
- if ((0, _generated.isExpressionStatement)(node)) {
- node = node.expression;
- }
-
- if ((0, _generated.isExpression)(node)) {
- return node;
- }
-
- if ((0, _generated.isClass)(node)) {
- node.type = "ClassExpression";
- } else if ((0, _generated.isFunction)(node)) {
- node.type = "FunctionExpression";
- }
-
- if (!(0, _generated.isExpression)(node)) {
- throw new Error(`cannot turn ${node.type} to an expression`);
- }
-
- return node;
-}
-
-//# sourceMappingURL=toExpression.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toExpression.js.map b/includes/search/node_modules/@babel/types/lib/converters/toExpression.js.map
deleted file mode 100644
index 8a63613..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toExpression.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["toExpression","node","isExpressionStatement","expression","isExpression","isClass","type","isFunction","Error"],"sources":["../../src/converters/toExpression.ts"],"sourcesContent":["import {\n isExpression,\n isFunction,\n isClass,\n isExpressionStatement,\n} from \"../validators/generated\";\nimport type * as t from \"..\";\n\nexport default toExpression as {\n (node: t.Function): t.FunctionExpression;\n (node: t.Class): t.ClassExpression;\n (\n node: t.ExpressionStatement | t.Expression | t.Class | t.Function,\n ): t.Expression;\n};\n\nfunction toExpression(\n node: t.ExpressionStatement | t.Expression | t.Class | t.Function,\n): t.Expression {\n if (isExpressionStatement(node)) {\n node = node.expression;\n }\n\n // return unmodified node\n // important for things like ArrowFunctions where\n // type change from ArrowFunction to FunctionExpression\n // produces bugs like -> `()=>a` to `function () a`\n // without generating a BlockStatement for it\n // ref: https://github.com/babel/babili/issues/130\n if (isExpression(node)) {\n return node;\n }\n\n // convert all classes and functions\n // ClassDeclaration -> ClassExpression\n // FunctionDeclaration, ObjectMethod, ClassMethod -> FunctionExpression\n if (isClass(node)) {\n // @ts-expect-error todo(flow->ts): avoid type unsafe mutations\n node.type = \"ClassExpression\";\n } else if (isFunction(node)) {\n // @ts-expect-error todo(flow->ts): avoid type unsafe mutations\n node.type = \"FunctionExpression\";\n }\n\n // if it's still not an expression\n if (!isExpression(node)) {\n throw new Error(`cannot turn ${node.type} to an expression`);\n }\n\n return node;\n}\n"],"mappings":";;;;;;;AAAA;;eAQeA,Y;;;AAQf,SAASA,YAAT,CACEC,IADF,EAEgB;EACd,IAAI,IAAAC,gCAAA,EAAsBD,IAAtB,CAAJ,EAAiC;IAC/BA,IAAI,GAAGA,IAAI,CAACE,UAAZ;EACD;;EAQD,IAAI,IAAAC,uBAAA,EAAaH,IAAb,CAAJ,EAAwB;IACtB,OAAOA,IAAP;EACD;;EAKD,IAAI,IAAAI,kBAAA,EAAQJ,IAAR,CAAJ,EAAmB;IAEjBA,IAAI,CAACK,IAAL,GAAY,iBAAZ;EACD,CAHD,MAGO,IAAI,IAAAC,qBAAA,EAAWN,IAAX,CAAJ,EAAsB;IAE3BA,IAAI,CAACK,IAAL,GAAY,oBAAZ;EACD;;EAGD,IAAI,CAAC,IAAAF,uBAAA,EAAaH,IAAb,CAAL,EAAyB;IACvB,MAAM,IAAIO,KAAJ,CAAW,eAAcP,IAAI,CAACK,IAAK,mBAAnC,CAAN;EACD;;EAED,OAAOL,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toIdentifier.js b/includes/search/node_modules/@babel/types/lib/converters/toIdentifier.js
deleted file mode 100644
index 2eac4ae..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toIdentifier.js
+++ /dev/null
@@ -1,32 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = toIdentifier;
-
-var _isValidIdentifier = require("../validators/isValidIdentifier");
-
-var _helperValidatorIdentifier = require("@babel/helper-validator-identifier");
-
-function toIdentifier(input) {
- input = input + "";
- let name = "";
-
- for (const c of input) {
- name += (0, _helperValidatorIdentifier.isIdentifierChar)(c.codePointAt(0)) ? c : "-";
- }
-
- name = name.replace(/^[-0-9]+/, "");
- name = name.replace(/[-\s]+(.)?/g, function (match, c) {
- return c ? c.toUpperCase() : "";
- });
-
- if (!(0, _isValidIdentifier.default)(name)) {
- name = `_${name}`;
- }
-
- return name || "_";
-}
-
-//# sourceMappingURL=toIdentifier.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toIdentifier.js.map b/includes/search/node_modules/@babel/types/lib/converters/toIdentifier.js.map
deleted file mode 100644
index 5b95036..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toIdentifier.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["toIdentifier","input","name","c","isIdentifierChar","codePointAt","replace","match","toUpperCase","isValidIdentifier"],"sources":["../../src/converters/toIdentifier.ts"],"sourcesContent":["import isValidIdentifier from \"../validators/isValidIdentifier\";\nimport { isIdentifierChar } from \"@babel/helper-validator-identifier\";\n\nexport default function toIdentifier(input: string): string {\n input = input + \"\";\n\n // replace all non-valid identifiers with dashes\n let name = \"\";\n for (const c of input) {\n name += isIdentifierChar(c.codePointAt(0)) ? c : \"-\";\n }\n\n // remove all dashes and numbers from start of name\n name = name.replace(/^[-0-9]+/, \"\");\n\n // camel case\n name = name.replace(/[-\\s]+(.)?/g, function (match, c) {\n return c ? c.toUpperCase() : \"\";\n });\n\n if (!isValidIdentifier(name)) {\n name = `_${name}`;\n }\n\n return name || \"_\";\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEe,SAASA,YAAT,CAAsBC,KAAtB,EAA6C;EAC1DA,KAAK,GAAGA,KAAK,GAAG,EAAhB;EAGA,IAAIC,IAAI,GAAG,EAAX;;EACA,KAAK,MAAMC,CAAX,IAAgBF,KAAhB,EAAuB;IACrBC,IAAI,IAAI,IAAAE,2CAAA,EAAiBD,CAAC,CAACE,WAAF,CAAc,CAAd,CAAjB,IAAqCF,CAArC,GAAyC,GAAjD;EACD;;EAGDD,IAAI,GAAGA,IAAI,CAACI,OAAL,CAAa,UAAb,EAAyB,EAAzB,CAAP;EAGAJ,IAAI,GAAGA,IAAI,CAACI,OAAL,CAAa,aAAb,EAA4B,UAAUC,KAAV,EAAiBJ,CAAjB,EAAoB;IACrD,OAAOA,CAAC,GAAGA,CAAC,CAACK,WAAF,EAAH,GAAqB,EAA7B;EACD,CAFM,CAAP;;EAIA,IAAI,CAAC,IAAAC,0BAAA,EAAkBP,IAAlB,CAAL,EAA8B;IAC5BA,IAAI,GAAI,IAAGA,IAAK,EAAhB;EACD;;EAED,OAAOA,IAAI,IAAI,GAAf;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toKeyAlias.js b/includes/search/node_modules/@babel/types/lib/converters/toKeyAlias.js
deleted file mode 100644
index 7a804b6..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toKeyAlias.js
+++ /dev/null
@@ -1,48 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = toKeyAlias;
-
-var _generated = require("../validators/generated");
-
-var _cloneNode = require("../clone/cloneNode");
-
-var _removePropertiesDeep = require("../modifications/removePropertiesDeep");
-
-function toKeyAlias(node, key = node.key) {
- let alias;
-
- if (node.kind === "method") {
- return toKeyAlias.increment() + "";
- } else if ((0, _generated.isIdentifier)(key)) {
- alias = key.name;
- } else if ((0, _generated.isStringLiteral)(key)) {
- alias = JSON.stringify(key.value);
- } else {
- alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key)));
- }
-
- if (node.computed) {
- alias = `[${alias}]`;
- }
-
- if (node.static) {
- alias = `static:${alias}`;
- }
-
- return alias;
-}
-
-toKeyAlias.uid = 0;
-
-toKeyAlias.increment = function () {
- if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) {
- return toKeyAlias.uid = 0;
- } else {
- return toKeyAlias.uid++;
- }
-};
-
-//# sourceMappingURL=toKeyAlias.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toKeyAlias.js.map b/includes/search/node_modules/@babel/types/lib/converters/toKeyAlias.js.map
deleted file mode 100644
index cac6135..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toKeyAlias.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["toKeyAlias","node","key","alias","kind","increment","isIdentifier","name","isStringLiteral","JSON","stringify","value","removePropertiesDeep","cloneNode","computed","static","uid","Number","MAX_SAFE_INTEGER"],"sources":["../../src/converters/toKeyAlias.ts"],"sourcesContent":["import { isIdentifier, isStringLiteral } from \"../validators/generated\";\nimport cloneNode from \"../clone/cloneNode\";\nimport removePropertiesDeep from \"../modifications/removePropertiesDeep\";\nimport type * as t from \"..\";\n\nexport default function toKeyAlias(\n node: t.Method | t.Property,\n key: t.Node = node.key,\n): string {\n let alias;\n\n // @ts-expect-error todo(flow->ts): maybe add node type check before checking `.kind`\n if (node.kind === \"method\") {\n return toKeyAlias.increment() + \"\";\n } else if (isIdentifier(key)) {\n alias = key.name;\n } else if (isStringLiteral(key)) {\n alias = JSON.stringify(key.value);\n } else {\n alias = JSON.stringify(removePropertiesDeep(cloneNode(key)));\n }\n\n // @ts-expect-error todo(flow->ts): maybe add node type check before checking `.computed`\n if (node.computed) {\n alias = `[${alias}]`;\n }\n\n // @ts-expect-error todo(flow->ts): maybe add node type check before checking `.static`\n if (node.static) {\n alias = `static:${alias}`;\n }\n\n return alias;\n}\n\ntoKeyAlias.uid = 0;\n\ntoKeyAlias.increment = function () {\n if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) {\n return (toKeyAlias.uid = 0);\n } else {\n return toKeyAlias.uid++;\n }\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAGe,SAASA,UAAT,CACbC,IADa,EAEbC,GAAW,GAAGD,IAAI,CAACC,GAFN,EAGL;EACR,IAAIC,KAAJ;;EAGA,IAAIF,IAAI,CAACG,IAAL,KAAc,QAAlB,EAA4B;IAC1B,OAAOJ,UAAU,CAACK,SAAX,KAAyB,EAAhC;EACD,CAFD,MAEO,IAAI,IAAAC,uBAAA,EAAaJ,GAAb,CAAJ,EAAuB;IAC5BC,KAAK,GAAGD,GAAG,CAACK,IAAZ;EACD,CAFM,MAEA,IAAI,IAAAC,0BAAA,EAAgBN,GAAhB,CAAJ,EAA0B;IAC/BC,KAAK,GAAGM,IAAI,CAACC,SAAL,CAAeR,GAAG,CAACS,KAAnB,CAAR;EACD,CAFM,MAEA;IACLR,KAAK,GAAGM,IAAI,CAACC,SAAL,CAAe,IAAAE,6BAAA,EAAqB,IAAAC,kBAAA,EAAUX,GAAV,CAArB,CAAf,CAAR;EACD;;EAGD,IAAID,IAAI,CAACa,QAAT,EAAmB;IACjBX,KAAK,GAAI,IAAGA,KAAM,GAAlB;EACD;;EAGD,IAAIF,IAAI,CAACc,MAAT,EAAiB;IACfZ,KAAK,GAAI,UAASA,KAAM,EAAxB;EACD;;EAED,OAAOA,KAAP;AACD;;AAEDH,UAAU,CAACgB,GAAX,GAAiB,CAAjB;;AAEAhB,UAAU,CAACK,SAAX,GAAuB,YAAY;EACjC,IAAIL,UAAU,CAACgB,GAAX,IAAkBC,MAAM,CAACC,gBAA7B,EAA+C;IAC7C,OAAQlB,UAAU,CAACgB,GAAX,GAAiB,CAAzB;EACD,CAFD,MAEO;IACL,OAAOhB,UAAU,CAACgB,GAAX,EAAP;EACD;AACF,CAND"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toSequenceExpression.js b/includes/search/node_modules/@babel/types/lib/converters/toSequenceExpression.js
deleted file mode 100644
index 87702bb..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toSequenceExpression.js
+++ /dev/null
@@ -1,23 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = toSequenceExpression;
-
-var _gatherSequenceExpressions = require("./gatherSequenceExpressions");
-
-function toSequenceExpression(nodes, scope) {
- if (!(nodes != null && nodes.length)) return;
- const declars = [];
- const result = (0, _gatherSequenceExpressions.default)(nodes, scope, declars);
- if (!result) return;
-
- for (const declar of declars) {
- scope.push(declar);
- }
-
- return result;
-}
-
-//# sourceMappingURL=toSequenceExpression.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map b/includes/search/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map
deleted file mode 100644
index 8d6ea19..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["toSequenceExpression","nodes","scope","length","declars","result","gatherSequenceExpressions","declar","push"],"sources":["../../src/converters/toSequenceExpression.ts"],"sourcesContent":["import gatherSequenceExpressions from \"./gatherSequenceExpressions\";\nimport type * as t from \"..\";\nimport type { DeclarationInfo } from \"./gatherSequenceExpressions\";\n\n/**\n * Turn an array of statement `nodes` into a `SequenceExpression`.\n *\n * Variable declarations are turned into simple assignments and their\n * declarations hoisted to the top of the current scope.\n *\n * Expression statements are just resolved to their expression.\n */\nexport default function toSequenceExpression(\n nodes: ReadonlyArray<t.Node>,\n scope: any,\n): t.SequenceExpression | undefined {\n if (!nodes?.length) return;\n\n const declars: DeclarationInfo[] = [];\n const result = gatherSequenceExpressions(nodes, scope, declars);\n if (!result) return;\n\n for (const declar of declars) {\n scope.push(declar);\n }\n\n // @ts-expect-error fixme: gatherSequenceExpressions will return an Expression when there are only one element\n return result;\n}\n"],"mappings":";;;;;;;AAAA;;AAYe,SAASA,oBAAT,CACbC,KADa,EAEbC,KAFa,EAGqB;EAClC,IAAI,EAACD,KAAD,YAACA,KAAK,CAAEE,MAAR,CAAJ,EAAoB;EAEpB,MAAMC,OAA0B,GAAG,EAAnC;EACA,MAAMC,MAAM,GAAG,IAAAC,kCAAA,EAA0BL,KAA1B,EAAiCC,KAAjC,EAAwCE,OAAxC,CAAf;EACA,IAAI,CAACC,MAAL,EAAa;;EAEb,KAAK,MAAME,MAAX,IAAqBH,OAArB,EAA8B;IAC5BF,KAAK,CAACM,IAAN,CAAWD,MAAX;EACD;;EAGD,OAAOF,MAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toStatement.js b/includes/search/node_modules/@babel/types/lib/converters/toStatement.js
deleted file mode 100644
index d927307..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toStatement.js
+++ /dev/null
@@ -1,49 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = void 0;
-
-var _generated = require("../validators/generated");
-
-var _generated2 = require("../builders/generated");
-
-var _default = toStatement;
-exports.default = _default;
-
-function toStatement(node, ignore) {
- if ((0, _generated.isStatement)(node)) {
- return node;
- }
-
- let mustHaveId = false;
- let newType;
-
- if ((0, _generated.isClass)(node)) {
- mustHaveId = true;
- newType = "ClassDeclaration";
- } else if ((0, _generated.isFunction)(node)) {
- mustHaveId = true;
- newType = "FunctionDeclaration";
- } else if ((0, _generated.isAssignmentExpression)(node)) {
- return (0, _generated2.expressionStatement)(node);
- }
-
- if (mustHaveId && !node.id) {
- newType = false;
- }
-
- if (!newType) {
- if (ignore) {
- return false;
- } else {
- throw new Error(`cannot turn ${node.type} to a statement`);
- }
- }
-
- node.type = newType;
- return node;
-}
-
-//# sourceMappingURL=toStatement.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/toStatement.js.map b/includes/search/node_modules/@babel/types/lib/converters/toStatement.js.map
deleted file mode 100644
index d62fbb9..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/toStatement.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["toStatement","node","ignore","isStatement","mustHaveId","newType","isClass","isFunction","isAssignmentExpression","expressionStatement","id","Error","type"],"sources":["../../src/converters/toStatement.ts"],"sourcesContent":["import {\n isStatement,\n isFunction,\n isClass,\n isAssignmentExpression,\n} from \"../validators/generated\";\nimport { expressionStatement } from \"../builders/generated\";\nimport type * as t from \"..\";\n\nexport default toStatement as {\n (node: t.AssignmentExpression, ignore?: boolean): t.ExpressionStatement;\n\n <T extends t.Statement>(node: T, ignore: false): T;\n <T extends t.Statement>(node: T, ignore?: boolean): T | false;\n\n (node: t.Class, ignore: false): t.ClassDeclaration;\n (node: t.Class, ignore?: boolean): t.ClassDeclaration | false;\n\n (node: t.Function, ignore: false): t.FunctionDeclaration;\n (node: t.Function, ignore?: boolean): t.FunctionDeclaration | false;\n\n (node: t.Node, ignore: false): t.Statement;\n (node: t.Node, ignore?: boolean): t.Statement | false;\n};\n\nfunction toStatement(node: t.Node, ignore?: boolean): t.Statement | false {\n if (isStatement(node)) {\n return node;\n }\n\n let mustHaveId = false;\n let newType;\n\n if (isClass(node)) {\n mustHaveId = true;\n newType = \"ClassDeclaration\" as const;\n } else if (isFunction(node)) {\n mustHaveId = true;\n newType = \"FunctionDeclaration\" as const;\n } else if (isAssignmentExpression(node)) {\n return expressionStatement(node);\n }\n\n // @ts-expect-error todo(flow->ts): node.id might be missing\n if (mustHaveId && !node.id) {\n newType = false as false;\n }\n\n if (!newType) {\n if (ignore) {\n return false;\n } else {\n throw new Error(`cannot turn ${node.type} to a statement`);\n }\n }\n\n // @ts-expect-error manipulating node.type\n node.type = newType;\n\n // @ts-expect-error todo(flow->ts) refactor to avoid type unsafe mutations like reassigning node type above\n return node;\n}\n"],"mappings":";;;;;;;AAAA;;AAMA;;eAGeA,W;;;AAgBf,SAASA,WAAT,CAAqBC,IAArB,EAAmCC,MAAnC,EAA0E;EACxE,IAAI,IAAAC,sBAAA,EAAYF,IAAZ,CAAJ,EAAuB;IACrB,OAAOA,IAAP;EACD;;EAED,IAAIG,UAAU,GAAG,KAAjB;EACA,IAAIC,OAAJ;;EAEA,IAAI,IAAAC,kBAAA,EAAQL,IAAR,CAAJ,EAAmB;IACjBG,UAAU,GAAG,IAAb;IACAC,OAAO,GAAG,kBAAV;EACD,CAHD,MAGO,IAAI,IAAAE,qBAAA,EAAWN,IAAX,CAAJ,EAAsB;IAC3BG,UAAU,GAAG,IAAb;IACAC,OAAO,GAAG,qBAAV;EACD,CAHM,MAGA,IAAI,IAAAG,iCAAA,EAAuBP,IAAvB,CAAJ,EAAkC;IACvC,OAAO,IAAAQ,+BAAA,EAAoBR,IAApB,CAAP;EACD;;EAGD,IAAIG,UAAU,IAAI,CAACH,IAAI,CAACS,EAAxB,EAA4B;IAC1BL,OAAO,GAAG,KAAV;EACD;;EAED,IAAI,CAACA,OAAL,EAAc;IACZ,IAAIH,MAAJ,EAAY;MACV,OAAO,KAAP;IACD,CAFD,MAEO;MACL,MAAM,IAAIS,KAAJ,CAAW,eAAcV,IAAI,CAACW,IAAK,iBAAnC,CAAN;IACD;EACF;;EAGDX,IAAI,CAACW,IAAL,GAAYP,OAAZ;EAGA,OAAOJ,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/converters/valueToNode.js b/includes/search/node_modules/@babel/types/lib/converters/valueToNode.js
deleted file mode 100644
index 3b9b5b7..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/valueToNode.js
+++ /dev/null
@@ -1,101 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = void 0;
-
-var _isValidIdentifier = require("../validators/isValidIdentifier");
-
-var _generated = require("../builders/generated");
-
-var _default = valueToNode;
-exports.default = _default;
-const objectToString = Function.call.bind(Object.prototype.toString);
-
-function isRegExp(value) {
- return objectToString(value) === "[object RegExp]";
-}
-
-function isPlainObject(value) {
- if (typeof value !== "object" || value === null || Object.prototype.toString.call(value) !== "[object Object]") {
- return false;
- }
-
- const proto = Object.getPrototypeOf(value);
- return proto === null || Object.getPrototypeOf(proto) === null;
-}
-
-function valueToNode(value) {
- if (value === undefined) {
- return (0, _generated.identifier)("undefined");
- }
-
- if (value === true || value === false) {
- return (0, _generated.booleanLiteral)(value);
- }
-
- if (value === null) {
- return (0, _generated.nullLiteral)();
- }
-
- if (typeof value === "string") {
- return (0, _generated.stringLiteral)(value);
- }
-
- if (typeof value === "number") {
- let result;
-
- if (Number.isFinite(value)) {
- result = (0, _generated.numericLiteral)(Math.abs(value));
- } else {
- let numerator;
-
- if (Number.isNaN(value)) {
- numerator = (0, _generated.numericLiteral)(0);
- } else {
- numerator = (0, _generated.numericLiteral)(1);
- }
-
- result = (0, _generated.binaryExpression)("/", numerator, (0, _generated.numericLiteral)(0));
- }
-
- if (value < 0 || Object.is(value, -0)) {
- result = (0, _generated.unaryExpression)("-", result);
- }
-
- return result;
- }
-
- if (isRegExp(value)) {
- const pattern = value.source;
- const flags = value.toString().match(/\/([a-z]+|)$/)[1];
- return (0, _generated.regExpLiteral)(pattern, flags);
- }
-
- if (Array.isArray(value)) {
- return (0, _generated.arrayExpression)(value.map(valueToNode));
- }
-
- if (isPlainObject(value)) {
- const props = [];
-
- for (const key of Object.keys(value)) {
- let nodeKey;
-
- if ((0, _isValidIdentifier.default)(key)) {
- nodeKey = (0, _generated.identifier)(key);
- } else {
- nodeKey = (0, _generated.stringLiteral)(key);
- }
-
- props.push((0, _generated.objectProperty)(nodeKey, valueToNode(value[key])));
- }
-
- return (0, _generated.objectExpression)(props);
- }
-
- throw new Error("don't know how to turn this value into a node");
-}
-
-//# sourceMappingURL=valueToNode.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/converters/valueToNode.js.map b/includes/search/node_modules/@babel/types/lib/converters/valueToNode.js.map
deleted file mode 100644
index 62d744d..0000000
--- a/includes/search/node_modules/@babel/types/lib/converters/valueToNode.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["valueToNode","objectToString","Function","call","bind","Object","prototype","toString","isRegExp","value","isPlainObject","proto","getPrototypeOf","undefined","identifier","booleanLiteral","nullLiteral","stringLiteral","result","Number","isFinite","numericLiteral","Math","abs","numerator","isNaN","binaryExpression","is","unaryExpression","pattern","source","flags","match","regExpLiteral","Array","isArray","arrayExpression","map","props","key","keys","nodeKey","isValidIdentifier","push","objectProperty","objectExpression","Error"],"sources":["../../src/converters/valueToNode.ts"],"sourcesContent":["import isValidIdentifier from \"../validators/isValidIdentifier\";\nimport {\n identifier,\n booleanLiteral,\n nullLiteral,\n stringLiteral,\n numericLiteral,\n regExpLiteral,\n arrayExpression,\n objectProperty,\n objectExpression,\n unaryExpression,\n binaryExpression,\n} from \"../builders/generated\";\nimport type * as t from \"..\";\n\nexport default valueToNode as {\n (value: undefined): t.Identifier; // TODO: This should return \"void 0\"\n (value: boolean): t.BooleanLiteral;\n (value: null): t.NullLiteral;\n (value: string): t.StringLiteral;\n // Infinities and NaN need to use a BinaryExpression; negative values must be wrapped in UnaryExpression\n (value: number): t.NumericLiteral | t.BinaryExpression | t.UnaryExpression;\n (value: RegExp): t.RegExpLiteral;\n (value: ReadonlyArray<unknown>): t.ArrayExpression;\n\n // this throws with objects that are not plain objects,\n // or if there are non-valueToNode-able values\n (value: object): t.ObjectExpression;\n\n (value: unknown): t.Expression;\n};\n\n// @ts-expect-error: Object.prototype.toString must return a string\nconst objectToString: (value: unknown) => string = Function.call.bind(\n Object.prototype.toString,\n);\n\nfunction isRegExp(value: unknown): value is RegExp {\n return objectToString(value) === \"[object RegExp]\";\n}\n\nfunction isPlainObject(value: unknown): value is object {\n if (\n typeof value !== \"object\" ||\n value === null ||\n Object.prototype.toString.call(value) !== \"[object Object]\"\n ) {\n return false;\n }\n const proto = Object.getPrototypeOf(value);\n // Object.prototype's __proto__ is null. Every other class's __proto__.__proto__ is\n // not null by default. We cannot check if proto === Object.prototype because it\n // could come from another realm.\n return proto === null || Object.getPrototypeOf(proto) === null;\n}\n\nfunction valueToNode(value: unknown): t.Expression {\n // undefined\n if (value === undefined) {\n return identifier(\"undefined\");\n }\n\n // boolean\n if (value === true || value === false) {\n return booleanLiteral(value);\n }\n\n // null\n if (value === null) {\n return nullLiteral();\n }\n\n // strings\n if (typeof value === \"string\") {\n return stringLiteral(value);\n }\n\n // numbers\n if (typeof value === \"number\") {\n let result;\n if (Number.isFinite(value)) {\n result = numericLiteral(Math.abs(value));\n } else {\n let numerator;\n if (Number.isNaN(value)) {\n // NaN\n numerator = numericLiteral(0);\n } else {\n // Infinity / -Infinity\n numerator = numericLiteral(1);\n }\n\n result = binaryExpression(\"/\", numerator, numericLiteral(0));\n }\n\n if (value < 0 || Object.is(value, -0)) {\n result = unaryExpression(\"-\", result);\n }\n\n return result;\n }\n\n // regexes\n if (isRegExp(value)) {\n const pattern = value.source;\n const flags = value.toString().match(/\\/([a-z]+|)$/)[1];\n return regExpLiteral(pattern, flags);\n }\n\n // array\n if (Array.isArray(value)) {\n return arrayExpression(value.map(valueToNode));\n }\n\n // object\n if (isPlainObject(value)) {\n const props = [];\n for (const key of Object.keys(value)) {\n let nodeKey;\n if (isValidIdentifier(key)) {\n nodeKey = identifier(key);\n } else {\n nodeKey = stringLiteral(key);\n }\n props.push(\n objectProperty(\n nodeKey,\n valueToNode(\n // @ts-expect-error key must present in value\n value[key],\n ),\n ),\n );\n }\n return objectExpression(props);\n }\n\n throw new Error(\"don't know how to turn this value into a node\");\n}\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/core.js b/includes/search/node_modules/@babel/types/lib/definitions/core.js
deleted file mode 100644
index 643ab58..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/core.js
+++ /dev/null
@@ -1,1716 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.patternLikeCommon = exports.functionTypeAnnotationCommon = exports.functionDeclarationCommon = exports.functionCommon = exports.classMethodOrPropertyCommon = exports.classMethodOrDeclareMethodCommon = void 0;
-
-var _is = require("../validators/is");
-
-var _isValidIdentifier = require("../validators/isValidIdentifier");
-
-var _helperValidatorIdentifier = require("@babel/helper-validator-identifier");
-
-var _helperStringParser = require("@babel/helper-string-parser");
-
-var _constants = require("../constants");
-
-var _utils = require("./utils");
-
-const defineType = (0, _utils.defineAliasedType)("Standardized");
-defineType("ArrayExpression", {
- fields: {
- elements: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement"))),
- default: !process.env.BABEL_TYPES_8_BREAKING ? [] : undefined
- }
- },
- visitor: ["elements"],
- aliases: ["Expression"]
-});
-defineType("AssignmentExpression", {
- fields: {
- operator: {
- validate: function () {
- if (!process.env.BABEL_TYPES_8_BREAKING) {
- return (0, _utils.assertValueType)("string");
- }
-
- const identifier = (0, _utils.assertOneOf)(..._constants.ASSIGNMENT_OPERATORS);
- const pattern = (0, _utils.assertOneOf)("=");
- return function (node, key, val) {
- const validator = (0, _is.default)("Pattern", node.left) ? pattern : identifier;
- validator(node, key, val);
- };
- }()
- },
- left: {
- validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSTypeAssertion", "TSNonNullExpression")
- },
- right: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- },
- builder: ["operator", "left", "right"],
- visitor: ["left", "right"],
- aliases: ["Expression"]
-});
-defineType("BinaryExpression", {
- builder: ["operator", "left", "right"],
- fields: {
- operator: {
- validate: (0, _utils.assertOneOf)(..._constants.BINARY_OPERATORS)
- },
- left: {
- validate: function () {
- const expression = (0, _utils.assertNodeType)("Expression");
- const inOp = (0, _utils.assertNodeType)("Expression", "PrivateName");
- const validator = Object.assign(function (node, key, val) {
- const validator = node.operator === "in" ? inOp : expression;
- validator(node, key, val);
- }, {
- oneOfNodeTypes: ["Expression", "PrivateName"]
- });
- return validator;
- }()
- },
- right: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- },
- visitor: ["left", "right"],
- aliases: ["Binary", "Expression"]
-});
-defineType("InterpreterDirective", {
- builder: ["value"],
- fields: {
- value: {
- validate: (0, _utils.assertValueType)("string")
- }
- }
-});
-defineType("Directive", {
- visitor: ["value"],
- fields: {
- value: {
- validate: (0, _utils.assertNodeType)("DirectiveLiteral")
- }
- }
-});
-defineType("DirectiveLiteral", {
- builder: ["value"],
- fields: {
- value: {
- validate: (0, _utils.assertValueType)("string")
- }
- }
-});
-defineType("BlockStatement", {
- builder: ["body", "directives"],
- visitor: ["directives", "body"],
- fields: {
- directives: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))),
- default: []
- },
- body: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement")))
- }
- },
- aliases: ["Scopable", "BlockParent", "Block", "Statement"]
-});
-defineType("BreakStatement", {
- visitor: ["label"],
- fields: {
- label: {
- validate: (0, _utils.assertNodeType)("Identifier"),
- optional: true
- }
- },
- aliases: ["Statement", "Terminatorless", "CompletionStatement"]
-});
-defineType("CallExpression", {
- visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
- builder: ["callee", "arguments"],
- aliases: ["Expression"],
- fields: Object.assign({
- callee: {
- validate: (0, _utils.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier")
- },
- arguments: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder")))
- }
- }, !process.env.BABEL_TYPES_8_BREAKING ? {
- optional: {
- validate: (0, _utils.assertOneOf)(true, false),
- optional: true
- }
- } : {}, {
- typeArguments: {
- validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"),
- optional: true
- },
- typeParameters: {
- validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"),
- optional: true
- }
- })
-});
-defineType("CatchClause", {
- visitor: ["param", "body"],
- fields: {
- param: {
- validate: (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"),
- optional: true
- },
- body: {
- validate: (0, _utils.assertNodeType)("BlockStatement")
- }
- },
- aliases: ["Scopable", "BlockParent"]
-});
-defineType("ConditionalExpression", {
- visitor: ["test", "consequent", "alternate"],
- fields: {
- test: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- consequent: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- alternate: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- },
- aliases: ["Expression", "Conditional"]
-});
-defineType("ContinueStatement", {
- visitor: ["label"],
- fields: {
- label: {
- validate: (0, _utils.assertNodeType)("Identifier"),
- optional: true
- }
- },
- aliases: ["Statement", "Terminatorless", "CompletionStatement"]
-});
-defineType("DebuggerStatement", {
- aliases: ["Statement"]
-});
-defineType("DoWhileStatement", {
- visitor: ["test", "body"],
- fields: {
- test: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- body: {
- validate: (0, _utils.assertNodeType)("Statement")
- }
- },
- aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"]
-});
-defineType("EmptyStatement", {
- aliases: ["Statement"]
-});
-defineType("ExpressionStatement", {
- visitor: ["expression"],
- fields: {
- expression: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- },
- aliases: ["Statement", "ExpressionWrapper"]
-});
-defineType("File", {
- builder: ["program", "comments", "tokens"],
- visitor: ["program"],
- fields: {
- program: {
- validate: (0, _utils.assertNodeType)("Program")
- },
- comments: {
- validate: !process.env.BABEL_TYPES_8_BREAKING ? Object.assign(() => {}, {
- each: {
- oneOfNodeTypes: ["CommentBlock", "CommentLine"]
- }
- }) : (0, _utils.assertEach)((0, _utils.assertNodeType)("CommentBlock", "CommentLine")),
- optional: true
- },
- tokens: {
- validate: (0, _utils.assertEach)(Object.assign(() => {}, {
- type: "any"
- })),
- optional: true
- }
- }
-});
-defineType("ForInStatement", {
- visitor: ["left", "right", "body"],
- aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
- fields: {
- left: {
- validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("VariableDeclaration", "LVal") : (0, _utils.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSTypeAssertion", "TSNonNullExpression")
- },
- right: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- body: {
- validate: (0, _utils.assertNodeType)("Statement")
- }
- }
-});
-defineType("ForStatement", {
- visitor: ["init", "test", "update", "body"],
- aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"],
- fields: {
- init: {
- validate: (0, _utils.assertNodeType)("VariableDeclaration", "Expression"),
- optional: true
- },
- test: {
- validate: (0, _utils.assertNodeType)("Expression"),
- optional: true
- },
- update: {
- validate: (0, _utils.assertNodeType)("Expression"),
- optional: true
- },
- body: {
- validate: (0, _utils.assertNodeType)("Statement")
- }
- }
-});
-
-const functionCommon = () => ({
- params: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement")))
- },
- generator: {
- default: false
- },
- async: {
- default: false
- }
-});
-
-exports.functionCommon = functionCommon;
-
-const functionTypeAnnotationCommon = () => ({
- returnType: {
- validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
- optional: true
- },
- typeParameters: {
- validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
- optional: true
- }
-});
-
-exports.functionTypeAnnotationCommon = functionTypeAnnotationCommon;
-
-const functionDeclarationCommon = () => Object.assign({}, functionCommon(), {
- declare: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- id: {
- validate: (0, _utils.assertNodeType)("Identifier"),
- optional: true
- }
-});
-
-exports.functionDeclarationCommon = functionDeclarationCommon;
-defineType("FunctionDeclaration", {
- builder: ["id", "params", "body", "generator", "async"],
- visitor: ["id", "params", "body", "returnType", "typeParameters"],
- fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), {
- body: {
- validate: (0, _utils.assertNodeType)("BlockStatement")
- },
- predicate: {
- validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
- optional: true
- }
- }),
- aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"],
- validate: function () {
- if (!process.env.BABEL_TYPES_8_BREAKING) return () => {};
- const identifier = (0, _utils.assertNodeType)("Identifier");
- return function (parent, key, node) {
- if (!(0, _is.default)("ExportDefaultDeclaration", parent)) {
- identifier(node, "id", node.id);
- }
- };
- }()
-});
-defineType("FunctionExpression", {
- inherits: "FunctionDeclaration",
- aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
- fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
- id: {
- validate: (0, _utils.assertNodeType)("Identifier"),
- optional: true
- },
- body: {
- validate: (0, _utils.assertNodeType)("BlockStatement")
- },
- predicate: {
- validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
- optional: true
- }
- })
-});
-
-const patternLikeCommon = () => ({
- typeAnnotation: {
- validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
- optional: true
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- }
-});
-
-exports.patternLikeCommon = patternLikeCommon;
-defineType("Identifier", {
- builder: ["name"],
- visitor: ["typeAnnotation", "decorators"],
- aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"],
- fields: Object.assign({}, patternLikeCommon(), {
- name: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function (node, key, val) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
-
- if (!(0, _isValidIdentifier.default)(val, false)) {
- throw new TypeError(`"${val}" is not a valid identifier name`);
- }
- }, {
- type: "string"
- }))
- },
- optional: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- }
- }),
-
- validate(parent, key, node) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
- const match = /\.(\w+)$/.exec(key);
- if (!match) return;
- const [, parentKey] = match;
- const nonComp = {
- computed: false
- };
-
- if (parentKey === "property") {
- if ((0, _is.default)("MemberExpression", parent, nonComp)) return;
- if ((0, _is.default)("OptionalMemberExpression", parent, nonComp)) return;
- } else if (parentKey === "key") {
- if ((0, _is.default)("Property", parent, nonComp)) return;
- if ((0, _is.default)("Method", parent, nonComp)) return;
- } else if (parentKey === "exported") {
- if ((0, _is.default)("ExportSpecifier", parent)) return;
- } else if (parentKey === "imported") {
- if ((0, _is.default)("ImportSpecifier", parent, {
- imported: node
- })) return;
- } else if (parentKey === "meta") {
- if ((0, _is.default)("MetaProperty", parent, {
- meta: node
- })) return;
- }
-
- if (((0, _helperValidatorIdentifier.isKeyword)(node.name) || (0, _helperValidatorIdentifier.isReservedWord)(node.name, false)) && node.name !== "this") {
- throw new TypeError(`"${node.name}" is not a valid identifier`);
- }
- }
-
-});
-defineType("IfStatement", {
- visitor: ["test", "consequent", "alternate"],
- aliases: ["Statement", "Conditional"],
- fields: {
- test: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- consequent: {
- validate: (0, _utils.assertNodeType)("Statement")
- },
- alternate: {
- optional: true,
- validate: (0, _utils.assertNodeType)("Statement")
- }
- }
-});
-defineType("LabeledStatement", {
- visitor: ["label", "body"],
- aliases: ["Statement"],
- fields: {
- label: {
- validate: (0, _utils.assertNodeType)("Identifier")
- },
- body: {
- validate: (0, _utils.assertNodeType)("Statement")
- }
- }
-});
-defineType("StringLiteral", {
- builder: ["value"],
- fields: {
- value: {
- validate: (0, _utils.assertValueType)("string")
- }
- },
- aliases: ["Expression", "Pureish", "Literal", "Immutable"]
-});
-defineType("NumericLiteral", {
- builder: ["value"],
- deprecatedAlias: "NumberLiteral",
- fields: {
- value: {
- validate: (0, _utils.assertValueType)("number")
- }
- },
- aliases: ["Expression", "Pureish", "Literal", "Immutable"]
-});
-defineType("NullLiteral", {
- aliases: ["Expression", "Pureish", "Literal", "Immutable"]
-});
-defineType("BooleanLiteral", {
- builder: ["value"],
- fields: {
- value: {
- validate: (0, _utils.assertValueType)("boolean")
- }
- },
- aliases: ["Expression", "Pureish", "Literal", "Immutable"]
-});
-defineType("RegExpLiteral", {
- builder: ["pattern", "flags"],
- deprecatedAlias: "RegexLiteral",
- aliases: ["Expression", "Pureish", "Literal"],
- fields: {
- pattern: {
- validate: (0, _utils.assertValueType)("string")
- },
- flags: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function (node, key, val) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
- const invalid = /[^gimsuy]/.exec(val);
-
- if (invalid) {
- throw new TypeError(`"${invalid[0]}" is not a valid RegExp flag`);
- }
- }, {
- type: "string"
- })),
- default: ""
- }
- }
-});
-defineType("LogicalExpression", {
- builder: ["operator", "left", "right"],
- visitor: ["left", "right"],
- aliases: ["Binary", "Expression"],
- fields: {
- operator: {
- validate: (0, _utils.assertOneOf)(..._constants.LOGICAL_OPERATORS)
- },
- left: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- right: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-defineType("MemberExpression", {
- builder: ["object", "property", "computed", ...(!process.env.BABEL_TYPES_8_BREAKING ? ["optional"] : [])],
- visitor: ["object", "property"],
- aliases: ["Expression", "LVal"],
- fields: Object.assign({
- object: {
- validate: (0, _utils.assertNodeType)("Expression", "Super")
- },
- property: {
- validate: function () {
- const normal = (0, _utils.assertNodeType)("Identifier", "PrivateName");
- const computed = (0, _utils.assertNodeType)("Expression");
-
- const validator = function (node, key, val) {
- const validator = node.computed ? computed : normal;
- validator(node, key, val);
- };
-
- validator.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"];
- return validator;
- }()
- },
- computed: {
- default: false
- }
- }, !process.env.BABEL_TYPES_8_BREAKING ? {
- optional: {
- validate: (0, _utils.assertOneOf)(true, false),
- optional: true
- }
- } : {})
-});
-defineType("NewExpression", {
- inherits: "CallExpression"
-});
-defineType("Program", {
- visitor: ["directives", "body"],
- builder: ["body", "directives", "sourceType", "interpreter"],
- fields: {
- sourceFile: {
- validate: (0, _utils.assertValueType)("string")
- },
- sourceType: {
- validate: (0, _utils.assertOneOf)("script", "module"),
- default: "script"
- },
- interpreter: {
- validate: (0, _utils.assertNodeType)("InterpreterDirective"),
- default: null,
- optional: true
- },
- directives: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))),
- default: []
- },
- body: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement")))
- }
- },
- aliases: ["Scopable", "BlockParent", "Block"]
-});
-defineType("ObjectExpression", {
- visitor: ["properties"],
- aliases: ["Expression"],
- fields: {
- properties: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectMethod", "ObjectProperty", "SpreadElement")))
- }
- }
-});
-defineType("ObjectMethod", {
- builder: ["kind", "key", "params", "body", "computed", "generator", "async"],
- fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
- kind: Object.assign({
- validate: (0, _utils.assertOneOf)("method", "get", "set")
- }, !process.env.BABEL_TYPES_8_BREAKING ? {
- default: "method"
- } : {}),
- computed: {
- default: false
- },
- key: {
- validate: function () {
- const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral");
- const computed = (0, _utils.assertNodeType)("Expression");
-
- const validator = function (node, key, val) {
- const validator = node.computed ? computed : normal;
- validator(node, key, val);
- };
-
- validator.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"];
- return validator;
- }()
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- },
- body: {
- validate: (0, _utils.assertNodeType)("BlockStatement")
- }
- }),
- visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
- aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"]
-});
-defineType("ObjectProperty", {
- builder: ["key", "value", "computed", "shorthand", ...(!process.env.BABEL_TYPES_8_BREAKING ? ["decorators"] : [])],
- fields: {
- computed: {
- default: false
- },
- key: {
- validate: function () {
- const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName");
- const computed = (0, _utils.assertNodeType)("Expression");
- const validator = Object.assign(function (node, key, val) {
- const validator = node.computed ? computed : normal;
- validator(node, key, val);
- }, {
- oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"]
- });
- return validator;
- }()
- },
- value: {
- validate: (0, _utils.assertNodeType)("Expression", "PatternLike")
- },
- shorthand: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function (node, key, val) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
-
- if (val && node.computed) {
- throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");
- }
- }, {
- type: "boolean"
- }), function (node, key, val) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
-
- if (val && !(0, _is.default)("Identifier", node.key)) {
- throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier");
- }
- }),
- default: false
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- }
- },
- visitor: ["key", "value", "decorators"],
- aliases: ["UserWhitespacable", "Property", "ObjectMember"],
- validate: function () {
- const pattern = (0, _utils.assertNodeType)("Identifier", "Pattern", "TSAsExpression", "TSNonNullExpression", "TSTypeAssertion");
- const expression = (0, _utils.assertNodeType)("Expression");
- return function (parent, key, node) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
- const validator = (0, _is.default)("ObjectPattern", parent) ? pattern : expression;
- validator(node, "value", node.value);
- };
- }()
-});
-defineType("RestElement", {
- visitor: ["argument", "typeAnnotation"],
- builder: ["argument"],
- aliases: ["LVal", "PatternLike"],
- deprecatedAlias: "RestProperty",
- fields: Object.assign({}, patternLikeCommon(), {
- argument: {
- validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal") : (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpression", "TSAsExpression", "TSTypeAssertion", "TSNonNullExpression")
- },
- optional: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- }
- }),
-
- validate(parent, key) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
- const match = /(\w+)\[(\d+)\]/.exec(key);
- if (!match) throw new Error("Internal Babel error: malformed key.");
- const [, listKey, index] = match;
-
- if (parent[listKey].length > +index + 1) {
- throw new TypeError(`RestElement must be last element of ${listKey}`);
- }
- }
-
-});
-defineType("ReturnStatement", {
- visitor: ["argument"],
- aliases: ["Statement", "Terminatorless", "CompletionStatement"],
- fields: {
- argument: {
- validate: (0, _utils.assertNodeType)("Expression"),
- optional: true
- }
- }
-});
-defineType("SequenceExpression", {
- visitor: ["expressions"],
- fields: {
- expressions: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression")))
- }
- },
- aliases: ["Expression"]
-});
-defineType("ParenthesizedExpression", {
- visitor: ["expression"],
- aliases: ["Expression", "ExpressionWrapper"],
- fields: {
- expression: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-defineType("SwitchCase", {
- visitor: ["test", "consequent"],
- fields: {
- test: {
- validate: (0, _utils.assertNodeType)("Expression"),
- optional: true
- },
- consequent: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement")))
- }
- }
-});
-defineType("SwitchStatement", {
- visitor: ["discriminant", "cases"],
- aliases: ["Statement", "BlockParent", "Scopable"],
- fields: {
- discriminant: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- cases: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("SwitchCase")))
- }
- }
-});
-defineType("ThisExpression", {
- aliases: ["Expression"]
-});
-defineType("ThrowStatement", {
- visitor: ["argument"],
- aliases: ["Statement", "Terminatorless", "CompletionStatement"],
- fields: {
- argument: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-defineType("TryStatement", {
- visitor: ["block", "handler", "finalizer"],
- aliases: ["Statement"],
- fields: {
- block: {
- validate: (0, _utils.chain)((0, _utils.assertNodeType)("BlockStatement"), Object.assign(function (node) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
-
- if (!node.handler && !node.finalizer) {
- throw new TypeError("TryStatement expects either a handler or finalizer, or both");
- }
- }, {
- oneOfNodeTypes: ["BlockStatement"]
- }))
- },
- handler: {
- optional: true,
- validate: (0, _utils.assertNodeType)("CatchClause")
- },
- finalizer: {
- optional: true,
- validate: (0, _utils.assertNodeType)("BlockStatement")
- }
- }
-});
-defineType("UnaryExpression", {
- builder: ["operator", "argument", "prefix"],
- fields: {
- prefix: {
- default: true
- },
- argument: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- operator: {
- validate: (0, _utils.assertOneOf)(..._constants.UNARY_OPERATORS)
- }
- },
- visitor: ["argument"],
- aliases: ["UnaryLike", "Expression"]
-});
-defineType("UpdateExpression", {
- builder: ["operator", "argument", "prefix"],
- fields: {
- prefix: {
- default: false
- },
- argument: {
- validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("Expression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression")
- },
- operator: {
- validate: (0, _utils.assertOneOf)(..._constants.UPDATE_OPERATORS)
- }
- },
- visitor: ["argument"],
- aliases: ["Expression"]
-});
-defineType("VariableDeclaration", {
- builder: ["kind", "declarations"],
- visitor: ["declarations"],
- aliases: ["Statement", "Declaration"],
- fields: {
- declare: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- kind: {
- validate: (0, _utils.assertOneOf)("var", "let", "const")
- },
- declarations: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("VariableDeclarator")))
- }
- },
-
- validate(parent, key, node) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
- if (!(0, _is.default)("ForXStatement", parent, {
- left: node
- })) return;
-
- if (node.declarations.length !== 1) {
- throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`);
- }
- }
-
-});
-defineType("VariableDeclarator", {
- visitor: ["id", "init"],
- fields: {
- id: {
- validate: function () {
- if (!process.env.BABEL_TYPES_8_BREAKING) {
- return (0, _utils.assertNodeType)("LVal");
- }
-
- const normal = (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern");
- const without = (0, _utils.assertNodeType)("Identifier");
- return function (node, key, val) {
- const validator = node.init ? normal : without;
- validator(node, key, val);
- };
- }()
- },
- definite: {
- optional: true,
- validate: (0, _utils.assertValueType)("boolean")
- },
- init: {
- optional: true,
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-defineType("WhileStatement", {
- visitor: ["test", "body"],
- aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"],
- fields: {
- test: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- body: {
- validate: (0, _utils.assertNodeType)("Statement")
- }
- }
-});
-defineType("WithStatement", {
- visitor: ["object", "body"],
- aliases: ["Statement"],
- fields: {
- object: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- body: {
- validate: (0, _utils.assertNodeType)("Statement")
- }
- }
-});
-defineType("AssignmentPattern", {
- visitor: ["left", "right", "decorators"],
- builder: ["left", "right"],
- aliases: ["Pattern", "PatternLike", "LVal"],
- fields: Object.assign({}, patternLikeCommon(), {
- left: {
- validate: (0, _utils.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSTypeAssertion", "TSNonNullExpression")
- },
- right: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- }
- })
-});
-defineType("ArrayPattern", {
- visitor: ["elements", "typeAnnotation"],
- builder: ["elements"],
- aliases: ["Pattern", "PatternLike", "LVal"],
- fields: Object.assign({}, patternLikeCommon(), {
- elements: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "PatternLike", "LVal")))
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- },
- optional: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- }
- })
-});
-defineType("ArrowFunctionExpression", {
- builder: ["params", "body", "async"],
- visitor: ["params", "body", "returnType", "typeParameters"],
- aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
- fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
- expression: {
- validate: (0, _utils.assertValueType)("boolean")
- },
- body: {
- validate: (0, _utils.assertNodeType)("BlockStatement", "Expression")
- },
- predicate: {
- validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
- optional: true
- }
- })
-});
-defineType("ClassBody", {
- visitor: ["body"],
- fields: {
- body: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty", "TSDeclareMethod", "TSIndexSignature", "StaticBlock")))
- }
- }
-});
-defineType("ClassExpression", {
- builder: ["id", "superClass", "body", "decorators"],
- visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"],
- aliases: ["Scopable", "Class", "Expression"],
- fields: {
- id: {
- validate: (0, _utils.assertNodeType)("Identifier"),
- optional: true
- },
- typeParameters: {
- validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
- optional: true
- },
- body: {
- validate: (0, _utils.assertNodeType)("ClassBody")
- },
- superClass: {
- optional: true,
- validate: (0, _utils.assertNodeType)("Expression")
- },
- superTypeParameters: {
- validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
- optional: true
- },
- implements: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))),
- optional: true
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- },
- mixins: {
- validate: (0, _utils.assertNodeType)("InterfaceExtends"),
- optional: true
- }
- }
-});
-defineType("ClassDeclaration", {
- inherits: "ClassExpression",
- aliases: ["Scopable", "Class", "Statement", "Declaration"],
- fields: {
- id: {
- validate: (0, _utils.assertNodeType)("Identifier")
- },
- typeParameters: {
- validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
- optional: true
- },
- body: {
- validate: (0, _utils.assertNodeType)("ClassBody")
- },
- superClass: {
- optional: true,
- validate: (0, _utils.assertNodeType)("Expression")
- },
- superTypeParameters: {
- validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
- optional: true
- },
- implements: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))),
- optional: true
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- },
- mixins: {
- validate: (0, _utils.assertNodeType)("InterfaceExtends"),
- optional: true
- },
- declare: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- abstract: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- }
- },
- validate: function () {
- const identifier = (0, _utils.assertNodeType)("Identifier");
- return function (parent, key, node) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
-
- if (!(0, _is.default)("ExportDefaultDeclaration", parent)) {
- identifier(node, "id", node.id);
- }
- };
- }()
-});
-defineType("ExportAllDeclaration", {
- visitor: ["source"],
- aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"],
- fields: {
- source: {
- validate: (0, _utils.assertNodeType)("StringLiteral")
- },
- exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")),
- assertions: {
- optional: true,
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute")))
- }
- }
-});
-defineType("ExportDefaultDeclaration", {
- visitor: ["declaration"],
- aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"],
- fields: {
- declaration: {
- validate: (0, _utils.assertNodeType)("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression")
- },
- exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("value"))
- }
-});
-defineType("ExportNamedDeclaration", {
- visitor: ["declaration", "specifiers", "source"],
- aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"],
- fields: {
- declaration: {
- optional: true,
- validate: (0, _utils.chain)((0, _utils.assertNodeType)("Declaration"), Object.assign(function (node, key, val) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
-
- if (val && node.specifiers.length) {
- throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");
- }
- }, {
- oneOfNodeTypes: ["Declaration"]
- }), function (node, key, val) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
-
- if (val && node.source) {
- throw new TypeError("Cannot export a declaration from a source");
- }
- })
- },
- assertions: {
- optional: true,
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute")))
- },
- specifiers: {
- default: [],
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)(function () {
- const sourced = (0, _utils.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier");
- const sourceless = (0, _utils.assertNodeType)("ExportSpecifier");
- if (!process.env.BABEL_TYPES_8_BREAKING) return sourced;
- return function (node, key, val) {
- const validator = node.source ? sourced : sourceless;
- validator(node, key, val);
- };
- }()))
- },
- source: {
- validate: (0, _utils.assertNodeType)("StringLiteral"),
- optional: true
- },
- exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value"))
- }
-});
-defineType("ExportSpecifier", {
- visitor: ["local", "exported"],
- aliases: ["ModuleSpecifier"],
- fields: {
- local: {
- validate: (0, _utils.assertNodeType)("Identifier")
- },
- exported: {
- validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral")
- },
- exportKind: {
- validate: (0, _utils.assertOneOf)("type", "value"),
- optional: true
- }
- }
-});
-defineType("ForOfStatement", {
- visitor: ["left", "right", "body"],
- builder: ["left", "right", "body", "await"],
- aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
- fields: {
- left: {
- validate: function () {
- if (!process.env.BABEL_TYPES_8_BREAKING) {
- return (0, _utils.assertNodeType)("VariableDeclaration", "LVal");
- }
-
- const declaration = (0, _utils.assertNodeType)("VariableDeclaration");
- const lval = (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSTypeAssertion", "TSNonNullExpression");
- return function (node, key, val) {
- if ((0, _is.default)("VariableDeclaration", val)) {
- declaration(node, key, val);
- } else {
- lval(node, key, val);
- }
- };
- }()
- },
- right: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- body: {
- validate: (0, _utils.assertNodeType)("Statement")
- },
- await: {
- default: false
- }
- }
-});
-defineType("ImportDeclaration", {
- visitor: ["specifiers", "source"],
- aliases: ["Statement", "Declaration", "ModuleDeclaration"],
- fields: {
- assertions: {
- optional: true,
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportAttribute")))
- },
- specifiers: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier")))
- },
- source: {
- validate: (0, _utils.assertNodeType)("StringLiteral")
- },
- importKind: {
- validate: (0, _utils.assertOneOf)("type", "typeof", "value"),
- optional: true
- }
- }
-});
-defineType("ImportDefaultSpecifier", {
- visitor: ["local"],
- aliases: ["ModuleSpecifier"],
- fields: {
- local: {
- validate: (0, _utils.assertNodeType)("Identifier")
- }
- }
-});
-defineType("ImportNamespaceSpecifier", {
- visitor: ["local"],
- aliases: ["ModuleSpecifier"],
- fields: {
- local: {
- validate: (0, _utils.assertNodeType)("Identifier")
- }
- }
-});
-defineType("ImportSpecifier", {
- visitor: ["local", "imported"],
- aliases: ["ModuleSpecifier"],
- fields: {
- local: {
- validate: (0, _utils.assertNodeType)("Identifier")
- },
- imported: {
- validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral")
- },
- importKind: {
- validate: (0, _utils.assertOneOf)("type", "typeof", "value"),
- optional: true
- }
- }
-});
-defineType("MetaProperty", {
- visitor: ["meta", "property"],
- aliases: ["Expression"],
- fields: {
- meta: {
- validate: (0, _utils.chain)((0, _utils.assertNodeType)("Identifier"), Object.assign(function (node, key, val) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
- let property;
-
- switch (val.name) {
- case "function":
- property = "sent";
- break;
-
- case "new":
- property = "target";
- break;
-
- case "import":
- property = "meta";
- break;
- }
-
- if (!(0, _is.default)("Identifier", node.property, {
- name: property
- })) {
- throw new TypeError("Unrecognised MetaProperty");
- }
- }, {
- oneOfNodeTypes: ["Identifier"]
- }))
- },
- property: {
- validate: (0, _utils.assertNodeType)("Identifier")
- }
- }
-});
-
-const classMethodOrPropertyCommon = () => ({
- abstract: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- accessibility: {
- validate: (0, _utils.assertOneOf)("public", "private", "protected"),
- optional: true
- },
- static: {
- default: false
- },
- override: {
- default: false
- },
- computed: {
- default: false
- },
- optional: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- key: {
- validate: (0, _utils.chain)(function () {
- const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral");
- const computed = (0, _utils.assertNodeType)("Expression");
- return function (node, key, val) {
- const validator = node.computed ? computed : normal;
- validator(node, key, val);
- };
- }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression"))
- }
-});
-
-exports.classMethodOrPropertyCommon = classMethodOrPropertyCommon;
-
-const classMethodOrDeclareMethodCommon = () => Object.assign({}, functionCommon(), classMethodOrPropertyCommon(), {
- params: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement", "TSParameterProperty")))
- },
- kind: {
- validate: (0, _utils.assertOneOf)("get", "set", "method", "constructor"),
- default: "method"
- },
- access: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")),
- optional: true
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- }
-});
-
-exports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon;
-defineType("ClassMethod", {
- aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"],
- builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"],
- visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
- fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {
- body: {
- validate: (0, _utils.assertNodeType)("BlockStatement")
- }
- })
-});
-defineType("ObjectPattern", {
- visitor: ["properties", "typeAnnotation", "decorators"],
- builder: ["properties"],
- aliases: ["Pattern", "PatternLike", "LVal"],
- fields: Object.assign({}, patternLikeCommon(), {
- properties: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("RestElement", "ObjectProperty")))
- }
- })
-});
-defineType("SpreadElement", {
- visitor: ["argument"],
- aliases: ["UnaryLike"],
- deprecatedAlias: "SpreadProperty",
- fields: {
- argument: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-defineType("Super", {
- aliases: ["Expression"]
-});
-defineType("TaggedTemplateExpression", {
- visitor: ["tag", "quasi", "typeParameters"],
- builder: ["tag", "quasi"],
- aliases: ["Expression"],
- fields: {
- tag: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- quasi: {
- validate: (0, _utils.assertNodeType)("TemplateLiteral")
- },
- typeParameters: {
- validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
- optional: true
- }
- }
-});
-defineType("TemplateElement", {
- builder: ["value", "tail"],
- fields: {
- value: {
- validate: (0, _utils.chain)((0, _utils.assertShape)({
- raw: {
- validate: (0, _utils.assertValueType)("string")
- },
- cooked: {
- validate: (0, _utils.assertValueType)("string"),
- optional: true
- }
- }), function templateElementCookedValidator(node) {
- const raw = node.value.raw;
- let str,
- containsInvalid,
- unterminatedCalled = false;
-
- try {
- const error = () => {
- throw new Error();
- };
-
- ({
- str,
- containsInvalid
- } = (0, _helperStringParser.readStringContents)("template", raw, 0, 0, 0, {
- unterminated() {
- unterminatedCalled = true;
- },
-
- strictNumericEscape: error,
- invalidEscapeSequence: error,
- numericSeparatorInEscapeSequence: error,
- unexpectedNumericSeparator: error,
- invalidDigit: error,
- invalidCodePoint: error
- }));
- } catch (_unused) {
- unterminatedCalled = true;
- containsInvalid = true;
- }
-
- if (!unterminatedCalled) throw new Error("Invalid raw");
- node.value.cooked = containsInvalid ? null : str;
- })
- },
- tail: {
- default: false
- }
- }
-});
-defineType("TemplateLiteral", {
- visitor: ["quasis", "expressions"],
- aliases: ["Expression", "Literal"],
- fields: {
- quasis: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TemplateElement")))
- },
- expressions: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "TSType")), function (node, key, val) {
- if (node.quasis.length !== val.length + 1) {
- throw new TypeError(`Number of ${node.type} quasis should be exactly one more than the number of expressions.\nExpected ${val.length + 1} quasis but got ${node.quasis.length}`);
- }
- })
- }
- }
-});
-defineType("YieldExpression", {
- builder: ["argument", "delegate"],
- visitor: ["argument"],
- aliases: ["Expression", "Terminatorless"],
- fields: {
- delegate: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function (node, key, val) {
- if (!process.env.BABEL_TYPES_8_BREAKING) return;
-
- if (val && !node.argument) {
- throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument");
- }
- }, {
- type: "boolean"
- })),
- default: false
- },
- argument: {
- optional: true,
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-defineType("AwaitExpression", {
- builder: ["argument"],
- visitor: ["argument"],
- aliases: ["Expression", "Terminatorless"],
- fields: {
- argument: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-defineType("Import", {
- aliases: ["Expression"]
-});
-defineType("BigIntLiteral", {
- builder: ["value"],
- fields: {
- value: {
- validate: (0, _utils.assertValueType)("string")
- }
- },
- aliases: ["Expression", "Pureish", "Literal", "Immutable"]
-});
-defineType("ExportNamespaceSpecifier", {
- visitor: ["exported"],
- aliases: ["ModuleSpecifier"],
- fields: {
- exported: {
- validate: (0, _utils.assertNodeType)("Identifier")
- }
- }
-});
-defineType("OptionalMemberExpression", {
- builder: ["object", "property", "computed", "optional"],
- visitor: ["object", "property"],
- aliases: ["Expression"],
- fields: {
- object: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- property: {
- validate: function () {
- const normal = (0, _utils.assertNodeType)("Identifier");
- const computed = (0, _utils.assertNodeType)("Expression");
- const validator = Object.assign(function (node, key, val) {
- const validator = node.computed ? computed : normal;
- validator(node, key, val);
- }, {
- oneOfNodeTypes: ["Expression", "Identifier"]
- });
- return validator;
- }()
- },
- computed: {
- default: false
- },
- optional: {
- validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)())
- }
- }
-});
-defineType("OptionalCallExpression", {
- visitor: ["callee", "arguments", "typeParameters", "typeArguments"],
- builder: ["callee", "arguments", "optional"],
- aliases: ["Expression"],
- fields: {
- callee: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- arguments: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder")))
- },
- optional: {
- validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)())
- },
- typeArguments: {
- validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"),
- optional: true
- },
- typeParameters: {
- validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"),
- optional: true
- }
- }
-});
-defineType("ClassProperty", {
- visitor: ["key", "value", "typeAnnotation", "decorators"],
- builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
- aliases: ["Property"],
- fields: Object.assign({}, classMethodOrPropertyCommon(), {
- value: {
- validate: (0, _utils.assertNodeType)("Expression"),
- optional: true
- },
- definite: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- typeAnnotation: {
- validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
- optional: true
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- },
- readonly: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- declare: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- variance: {
- validate: (0, _utils.assertNodeType)("Variance"),
- optional: true
- }
- })
-});
-defineType("ClassAccessorProperty", {
- visitor: ["key", "value", "typeAnnotation", "decorators"],
- builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
- aliases: ["Property", "Accessor"],
- fields: Object.assign({}, classMethodOrPropertyCommon(), {
- key: {
- validate: (0, _utils.chain)(function () {
- const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName");
- const computed = (0, _utils.assertNodeType)("Expression");
- return function (node, key, val) {
- const validator = node.computed ? computed : normal;
- validator(node, key, val);
- };
- }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression", "PrivateName"))
- },
- value: {
- validate: (0, _utils.assertNodeType)("Expression"),
- optional: true
- },
- definite: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- typeAnnotation: {
- validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
- optional: true
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- },
- readonly: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- declare: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- variance: {
- validate: (0, _utils.assertNodeType)("Variance"),
- optional: true
- }
- })
-});
-defineType("ClassPrivateProperty", {
- visitor: ["key", "value", "decorators", "typeAnnotation"],
- builder: ["key", "value", "decorators", "static"],
- aliases: ["Property", "Private"],
- fields: {
- key: {
- validate: (0, _utils.assertNodeType)("PrivateName")
- },
- value: {
- validate: (0, _utils.assertNodeType)("Expression"),
- optional: true
- },
- typeAnnotation: {
- validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
- optional: true
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- },
- static: {
- validate: (0, _utils.assertValueType)("boolean"),
- default: false
- },
- readonly: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- definite: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- variance: {
- validate: (0, _utils.assertNodeType)("Variance"),
- optional: true
- }
- }
-});
-defineType("ClassPrivateMethod", {
- builder: ["kind", "key", "params", "body", "static"],
- visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"],
- aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"],
- fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {
- kind: {
- validate: (0, _utils.assertOneOf)("get", "set", "method"),
- default: "method"
- },
- key: {
- validate: (0, _utils.assertNodeType)("PrivateName")
- },
- body: {
- validate: (0, _utils.assertNodeType)("BlockStatement")
- }
- })
-});
-defineType("PrivateName", {
- visitor: ["id"],
- aliases: ["Private"],
- fields: {
- id: {
- validate: (0, _utils.assertNodeType)("Identifier")
- }
- }
-});
-defineType("StaticBlock", {
- visitor: ["body"],
- fields: {
- body: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement")))
- }
- },
- aliases: ["Scopable", "BlockParent", "FunctionParent"]
-});
-
-//# sourceMappingURL=core.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/core.js.map b/includes/search/node_modules/@babel/types/lib/definitions/core.js.map
deleted file mode 100644
index eae4988..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/core.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["defineType","defineAliasedType","fields","elements","validate","chain","assertValueType","assertEach","assertNodeOrValueType","default","process","env","BABEL_TYPES_8_BREAKING","undefined","visitor","aliases","operator","identifier","assertOneOf","ASSIGNMENT_OPERATORS","pattern","node","key","val","validator","is","left","assertNodeType","right","builder","BINARY_OPERATORS","expression","inOp","Object","assign","oneOfNodeTypes","value","directives","body","label","optional","callee","arguments","typeArguments","typeParameters","param","test","consequent","alternate","program","comments","each","tokens","type","init","update","functionCommon","params","generator","async","functionTypeAnnotationCommon","returnType","functionDeclarationCommon","declare","id","predicate","parent","inherits","patternLikeCommon","typeAnnotation","decorators","name","isValidIdentifier","TypeError","match","exec","parentKey","nonComp","computed","imported","meta","isKeyword","isReservedWord","deprecatedAlias","flags","invalid","LOGICAL_OPERATORS","object","property","normal","sourceFile","sourceType","interpreter","properties","kind","shorthand","argument","Error","listKey","index","length","expressions","discriminant","cases","block","handler","finalizer","prefix","UNARY_OPERATORS","UPDATE_OPERATORS","declarations","without","definite","superClass","superTypeParameters","implements","mixins","abstract","source","exportKind","validateOptional","assertions","declaration","specifiers","sourced","sourceless","local","exported","lval","await","importKind","classMethodOrPropertyCommon","accessibility","static","override","classMethodOrDeclareMethodCommon","access","tag","quasi","assertShape","raw","cooked","templateElementCookedValidator","str","containsInvalid","unterminatedCalled","error","readStringContents","unterminated","strictNumericEscape","invalidEscapeSequence","numericSeparatorInEscapeSequence","unexpectedNumericSeparator","invalidDigit","invalidCodePoint","tail","quasis","delegate","assertOptionalChainStart","readonly","variance"],"sources":["../../src/definitions/core.ts"],"sourcesContent":["import is from \"../validators/is\";\nimport isValidIdentifier from \"../validators/isValidIdentifier\";\nimport { isKeyword, isReservedWord } from \"@babel/helper-validator-identifier\";\nimport type * as t from \"..\";\nimport { readStringContents } from \"@babel/helper-string-parser\";\n\nimport {\n BINARY_OPERATORS,\n LOGICAL_OPERATORS,\n ASSIGNMENT_OPERATORS,\n UNARY_OPERATORS,\n UPDATE_OPERATORS,\n} from \"../constants\";\n\nimport {\n defineAliasedType,\n assertShape,\n assertOptionalChainStart,\n assertValueType,\n assertNodeType,\n assertNodeOrValueType,\n assertEach,\n chain,\n assertOneOf,\n validateOptional,\n type Validator,\n} from \"./utils\";\n\nconst defineType = defineAliasedType(\"Standardized\");\n\ndefineType(\"ArrayExpression\", {\n fields: {\n elements: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeOrValueType(\"null\", \"Expression\", \"SpreadElement\"),\n ),\n ),\n default: !process.env.BABEL_TYPES_8_BREAKING ? [] : undefined,\n },\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"],\n});\n\ndefineType(\"AssignmentExpression\", {\n fields: {\n operator: {\n validate: (function () {\n if (!process.env.BABEL_TYPES_8_BREAKING) {\n return assertValueType(\"string\");\n }\n\n const identifier = assertOneOf(...ASSIGNMENT_OPERATORS);\n const pattern = assertOneOf(\"=\");\n\n return function (node: t.AssignmentExpression, key, val) {\n const validator = is(\"Pattern\", node.left) ? pattern : identifier;\n validator(node, key, val);\n };\n })(),\n },\n left: {\n validate: !process.env.BABEL_TYPES_8_BREAKING\n ? assertNodeType(\"LVal\")\n : assertNodeType(\n \"Identifier\",\n \"MemberExpression\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n \"TSAsExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n ),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n builder: [\"operator\", \"left\", \"right\"],\n visitor: [\"left\", \"right\"],\n aliases: [\"Expression\"],\n});\n\ndefineType(\"BinaryExpression\", {\n builder: [\"operator\", \"left\", \"right\"],\n fields: {\n operator: {\n validate: assertOneOf(...BINARY_OPERATORS),\n },\n left: {\n validate: (function () {\n const expression = assertNodeType(\"Expression\");\n const inOp = assertNodeType(\"Expression\", \"PrivateName\");\n\n const validator: Validator = Object.assign(\n function (node: t.BinaryExpression, key, val) {\n const validator = node.operator === \"in\" ? inOp : expression;\n validator(node, key, val);\n } as Validator,\n // todo(ts): can be discriminated union by `operator` property\n { oneOfNodeTypes: [\"Expression\", \"PrivateName\"] },\n );\n return validator;\n })(),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n visitor: [\"left\", \"right\"],\n aliases: [\"Binary\", \"Expression\"],\n});\n\ndefineType(\"InterpreterDirective\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"Directive\", {\n visitor: [\"value\"],\n fields: {\n value: {\n validate: assertNodeType(\"DirectiveLiteral\"),\n },\n },\n});\n\ndefineType(\"DirectiveLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"BlockStatement\", {\n builder: [\"body\", \"directives\"],\n visitor: [\"directives\", \"body\"],\n fields: {\n directives: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Directive\")),\n ),\n default: [],\n },\n body: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Statement\")),\n ),\n },\n },\n aliases: [\"Scopable\", \"BlockParent\", \"Block\", \"Statement\"],\n});\n\ndefineType(\"BreakStatement\", {\n visitor: [\"label\"],\n fields: {\n label: {\n validate: assertNodeType(\"Identifier\"),\n optional: true,\n },\n },\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n});\n\ndefineType(\"CallExpression\", {\n visitor: [\"callee\", \"arguments\", \"typeParameters\", \"typeArguments\"],\n builder: [\"callee\", \"arguments\"],\n aliases: [\"Expression\"],\n fields: {\n callee: {\n validate: assertNodeType(\"Expression\", \"Super\", \"V8IntrinsicIdentifier\"),\n },\n arguments: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\n \"Expression\",\n \"SpreadElement\",\n \"JSXNamespacedName\",\n \"ArgumentPlaceholder\",\n ),\n ),\n ),\n },\n ...(!process.env.BABEL_TYPES_8_BREAKING\n ? {\n optional: {\n validate: assertOneOf(true, false),\n optional: true,\n },\n }\n : {}),\n typeArguments: {\n validate: assertNodeType(\"TypeParameterInstantiation\"),\n optional: true,\n },\n typeParameters: {\n validate: assertNodeType(\"TSTypeParameterInstantiation\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"CatchClause\", {\n visitor: [\"param\", \"body\"],\n fields: {\n param: {\n validate: assertNodeType(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\"),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n aliases: [\"Scopable\", \"BlockParent\"],\n});\n\ndefineType(\"ConditionalExpression\", {\n visitor: [\"test\", \"consequent\", \"alternate\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n },\n consequent: {\n validate: assertNodeType(\"Expression\"),\n },\n alternate: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\", \"Conditional\"],\n});\n\ndefineType(\"ContinueStatement\", {\n visitor: [\"label\"],\n fields: {\n label: {\n validate: assertNodeType(\"Identifier\"),\n optional: true,\n },\n },\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n});\n\ndefineType(\"DebuggerStatement\", {\n aliases: [\"Statement\"],\n});\n\ndefineType(\"DoWhileStatement\", {\n visitor: [\"test\", \"body\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n aliases: [\"Statement\", \"BlockParent\", \"Loop\", \"While\", \"Scopable\"],\n});\n\ndefineType(\"EmptyStatement\", {\n aliases: [\"Statement\"],\n});\n\ndefineType(\"ExpressionStatement\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Statement\", \"ExpressionWrapper\"],\n});\n\ndefineType(\"File\", {\n builder: [\"program\", \"comments\", \"tokens\"],\n visitor: [\"program\"],\n fields: {\n program: {\n validate: assertNodeType(\"Program\"),\n },\n comments: {\n validate: !process.env.BABEL_TYPES_8_BREAKING\n ? Object.assign(() => {}, {\n each: { oneOfNodeTypes: [\"CommentBlock\", \"CommentLine\"] },\n })\n : assertEach(assertNodeType(\"CommentBlock\", \"CommentLine\")),\n optional: true,\n },\n tokens: {\n // todo(ts): add Token type\n validate: assertEach(Object.assign(() => {}, { type: \"any\" })),\n optional: true,\n },\n },\n});\n\ndefineType(\"ForInStatement\", {\n visitor: [\"left\", \"right\", \"body\"],\n aliases: [\n \"Scopable\",\n \"Statement\",\n \"For\",\n \"BlockParent\",\n \"Loop\",\n \"ForXStatement\",\n ],\n fields: {\n left: {\n validate: !process.env.BABEL_TYPES_8_BREAKING\n ? assertNodeType(\"VariableDeclaration\", \"LVal\")\n : assertNodeType(\n \"VariableDeclaration\",\n \"Identifier\",\n \"MemberExpression\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n \"TSAsExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n ),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\ndefineType(\"ForStatement\", {\n visitor: [\"init\", \"test\", \"update\", \"body\"],\n aliases: [\"Scopable\", \"Statement\", \"For\", \"BlockParent\", \"Loop\"],\n fields: {\n init: {\n validate: assertNodeType(\"VariableDeclaration\", \"Expression\"),\n optional: true,\n },\n test: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n update: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\nexport const functionCommon = () => ({\n params: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Identifier\", \"Pattern\", \"RestElement\")),\n ),\n },\n generator: {\n default: false,\n },\n async: {\n default: false,\n },\n});\n\nexport const functionTypeAnnotationCommon = () => ({\n returnType: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeParameterDeclaration\", \"TSTypeParameterDeclaration\")\n : assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n});\n\nexport const functionDeclarationCommon = () => ({\n ...functionCommon(),\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n id: {\n validate: assertNodeType(\"Identifier\"),\n optional: true, // May be null for `export default function`\n },\n});\n\ndefineType(\"FunctionDeclaration\", {\n builder: [\"id\", \"params\", \"body\", \"generator\", \"async\"],\n visitor: [\"id\", \"params\", \"body\", \"returnType\", \"typeParameters\"],\n fields: {\n ...functionDeclarationCommon(),\n ...functionTypeAnnotationCommon(),\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n predicate: {\n validate: assertNodeType(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true,\n },\n },\n aliases: [\n \"Scopable\",\n \"Function\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Statement\",\n \"Pureish\",\n \"Declaration\",\n ],\n validate: (function () {\n if (!process.env.BABEL_TYPES_8_BREAKING) return () => {};\n\n const identifier = assertNodeType(\"Identifier\");\n\n return function (parent, key, node) {\n if (!is(\"ExportDefaultDeclaration\", parent)) {\n identifier(node, \"id\", node.id);\n }\n };\n })(),\n});\n\ndefineType(\"FunctionExpression\", {\n inherits: \"FunctionDeclaration\",\n aliases: [\n \"Scopable\",\n \"Function\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Expression\",\n \"Pureish\",\n ],\n fields: {\n ...functionCommon(),\n ...functionTypeAnnotationCommon(),\n id: {\n validate: assertNodeType(\"Identifier\"),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n predicate: {\n validate: assertNodeType(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true,\n },\n },\n});\n\nexport const patternLikeCommon = () => ({\n typeAnnotation: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n});\n\ndefineType(\"Identifier\", {\n builder: [\"name\"],\n visitor: [\"typeAnnotation\", \"decorators\" /* for legacy param decorators */],\n aliases: [\"Expression\", \"PatternLike\", \"LVal\", \"TSEntityName\"],\n fields: {\n ...patternLikeCommon(),\n name: {\n validate: chain(\n assertValueType(\"string\"),\n Object.assign(\n function (node, key, val) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n if (!isValidIdentifier(val, false)) {\n throw new TypeError(`\"${val}\" is not a valid identifier name`);\n }\n } as Validator,\n { type: \"string\" },\n ),\n ),\n },\n optional: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n },\n validate(parent, key, node) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n const match = /\\.(\\w+)$/.exec(key);\n if (!match) return;\n\n const [, parentKey] = match;\n const nonComp = { computed: false };\n\n // We can't check if `parent.property === node`, because nodes are validated\n // before replacing them in the AST.\n if (parentKey === \"property\") {\n if (is(\"MemberExpression\", parent, nonComp)) return;\n if (is(\"OptionalMemberExpression\", parent, nonComp)) return;\n } else if (parentKey === \"key\") {\n if (is(\"Property\", parent, nonComp)) return;\n if (is(\"Method\", parent, nonComp)) return;\n } else if (parentKey === \"exported\") {\n if (is(\"ExportSpecifier\", parent)) return;\n } else if (parentKey === \"imported\") {\n if (is(\"ImportSpecifier\", parent, { imported: node })) return;\n } else if (parentKey === \"meta\") {\n if (is(\"MetaProperty\", parent, { meta: node })) return;\n }\n\n if (\n // Ideally we should call isStrictReservedWord if this node is a descendant\n // of a block in strict mode. Also, we should pass the inModule option so\n // we can disable \"await\" in module.\n (isKeyword(node.name) || isReservedWord(node.name, false)) &&\n // Even if \"this\" is a keyword, we are using the Identifier\n // node to represent it.\n node.name !== \"this\"\n ) {\n throw new TypeError(`\"${node.name}\" is not a valid identifier`);\n }\n },\n});\n\ndefineType(\"IfStatement\", {\n visitor: [\"test\", \"consequent\", \"alternate\"],\n aliases: [\"Statement\", \"Conditional\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n },\n consequent: {\n validate: assertNodeType(\"Statement\"),\n },\n alternate: {\n optional: true,\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\ndefineType(\"LabeledStatement\", {\n visitor: [\"label\", \"body\"],\n aliases: [\"Statement\"],\n fields: {\n label: {\n validate: assertNodeType(\"Identifier\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\ndefineType(\"StringLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"NumericLiteral\", {\n builder: [\"value\"],\n deprecatedAlias: \"NumberLiteral\",\n fields: {\n value: {\n validate: assertValueType(\"number\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"NullLiteral\", {\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"BooleanLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"boolean\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"RegExpLiteral\", {\n builder: [\"pattern\", \"flags\"],\n deprecatedAlias: \"RegexLiteral\",\n aliases: [\"Expression\", \"Pureish\", \"Literal\"],\n fields: {\n pattern: {\n validate: assertValueType(\"string\"),\n },\n flags: {\n validate: chain(\n assertValueType(\"string\"),\n Object.assign(\n function (node, key, val) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n const invalid = /[^gimsuy]/.exec(val);\n if (invalid) {\n throw new TypeError(`\"${invalid[0]}\" is not a valid RegExp flag`);\n }\n } as Validator,\n { type: \"string\" },\n ),\n ),\n default: \"\",\n },\n },\n});\n\ndefineType(\"LogicalExpression\", {\n builder: [\"operator\", \"left\", \"right\"],\n visitor: [\"left\", \"right\"],\n aliases: [\"Binary\", \"Expression\"],\n fields: {\n operator: {\n validate: assertOneOf(...LOGICAL_OPERATORS),\n },\n left: {\n validate: assertNodeType(\"Expression\"),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"MemberExpression\", {\n builder: [\n \"object\",\n \"property\",\n \"computed\",\n ...(!process.env.BABEL_TYPES_8_BREAKING ? [\"optional\"] : []),\n ],\n visitor: [\"object\", \"property\"],\n aliases: [\"Expression\", \"LVal\"],\n fields: {\n object: {\n validate: assertNodeType(\"Expression\", \"Super\"),\n },\n property: {\n validate: (function () {\n const normal = assertNodeType(\"Identifier\", \"PrivateName\");\n const computed = assertNodeType(\"Expression\");\n\n const validator: Validator = function (\n node: t.MemberExpression,\n key,\n val,\n ) {\n const validator: Validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n // @ts-expect-error todo(ts): can be discriminated union by `computed` property\n validator.oneOfNodeTypes = [\"Expression\", \"Identifier\", \"PrivateName\"];\n return validator;\n })(),\n },\n computed: {\n default: false,\n },\n ...(!process.env.BABEL_TYPES_8_BREAKING\n ? {\n optional: {\n validate: assertOneOf(true, false),\n optional: true,\n },\n }\n : {}),\n },\n});\n\ndefineType(\"NewExpression\", { inherits: \"CallExpression\" });\n\ndefineType(\"Program\", {\n // Note: We explicitly leave 'interpreter' out here because it is\n // conceptually comment-like, and Babel does not traverse comments either.\n visitor: [\"directives\", \"body\"],\n builder: [\"body\", \"directives\", \"sourceType\", \"interpreter\"],\n fields: {\n sourceFile: {\n validate: assertValueType(\"string\"),\n },\n sourceType: {\n validate: assertOneOf(\"script\", \"module\"),\n default: \"script\",\n },\n interpreter: {\n validate: assertNodeType(\"InterpreterDirective\"),\n default: null,\n optional: true,\n },\n directives: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Directive\")),\n ),\n default: [],\n },\n body: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Statement\")),\n ),\n },\n },\n aliases: [\"Scopable\", \"BlockParent\", \"Block\"],\n});\n\ndefineType(\"ObjectExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\"ObjectMethod\", \"ObjectProperty\", \"SpreadElement\"),\n ),\n ),\n },\n },\n});\n\ndefineType(\"ObjectMethod\", {\n builder: [\"kind\", \"key\", \"params\", \"body\", \"computed\", \"generator\", \"async\"],\n fields: {\n ...functionCommon(),\n ...functionTypeAnnotationCommon(),\n kind: {\n validate: assertOneOf(\"method\", \"get\", \"set\"),\n ...(!process.env.BABEL_TYPES_8_BREAKING ? { default: \"method\" } : {}),\n },\n computed: {\n default: false,\n },\n key: {\n validate: (function () {\n const normal = assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n );\n const computed = assertNodeType(\"Expression\");\n\n const validator: Validator = function (node: t.ObjectMethod, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n // @ts-expect-error todo(ts): can be discriminated union by `computed` property\n validator.oneOfNodeTypes = [\n \"Expression\",\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n ];\n return validator;\n })(),\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n visitor: [\n \"key\",\n \"params\",\n \"body\",\n \"decorators\",\n \"returnType\",\n \"typeParameters\",\n ],\n aliases: [\n \"UserWhitespacable\",\n \"Function\",\n \"Scopable\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Method\",\n \"ObjectMember\",\n ],\n});\n\ndefineType(\"ObjectProperty\", {\n builder: [\n \"key\",\n \"value\",\n \"computed\",\n \"shorthand\",\n ...(!process.env.BABEL_TYPES_8_BREAKING ? [\"decorators\"] : []),\n ],\n fields: {\n computed: {\n default: false,\n },\n key: {\n validate: (function () {\n const normal = assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"DecimalLiteral\",\n \"PrivateName\",\n );\n const computed = assertNodeType(\"Expression\");\n\n const validator: Validator = Object.assign(\n function (node: t.ObjectProperty, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n } as Validator,\n {\n // todo(ts): can be discriminated union by `computed` property\n oneOfNodeTypes: [\n \"Expression\",\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"DecimalLiteral\",\n \"PrivateName\",\n ],\n },\n );\n return validator;\n })(),\n },\n value: {\n // Value may be PatternLike if this is an AssignmentProperty\n // https://github.com/babel/babylon/issues/434\n validate: assertNodeType(\"Expression\", \"PatternLike\"),\n },\n shorthand: {\n validate: chain(\n assertValueType(\"boolean\"),\n Object.assign(\n function (node: t.ObjectProperty, key, val) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n if (val && node.computed) {\n throw new TypeError(\n \"Property shorthand of ObjectProperty cannot be true if computed is true\",\n );\n }\n } as Validator,\n { type: \"boolean\" },\n ),\n function (node: t.ObjectProperty, key, val) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n if (val && !is(\"Identifier\", node.key)) {\n throw new TypeError(\n \"Property shorthand of ObjectProperty cannot be true if key is not an Identifier\",\n );\n }\n } as Validator,\n ),\n default: false,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n },\n visitor: [\"key\", \"value\", \"decorators\"],\n aliases: [\"UserWhitespacable\", \"Property\", \"ObjectMember\"],\n validate: (function () {\n const pattern = assertNodeType(\n \"Identifier\",\n \"Pattern\",\n \"TSAsExpression\",\n \"TSNonNullExpression\",\n \"TSTypeAssertion\",\n );\n const expression = assertNodeType(\"Expression\");\n\n return function (parent, key, node) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n const validator = is(\"ObjectPattern\", parent) ? pattern : expression;\n validator(node, \"value\", node.value);\n };\n })(),\n});\n\ndefineType(\"RestElement\", {\n visitor: [\"argument\", \"typeAnnotation\"],\n builder: [\"argument\"],\n aliases: [\"LVal\", \"PatternLike\"],\n deprecatedAlias: \"RestProperty\",\n fields: {\n ...patternLikeCommon(),\n argument: {\n validate: !process.env.BABEL_TYPES_8_BREAKING\n ? assertNodeType(\"LVal\")\n : assertNodeType(\n \"Identifier\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n \"MemberExpression\",\n \"TSAsExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n ),\n },\n // For Flow\n optional: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n },\n validate(parent: t.ArrayPattern | t.ObjectPattern, key) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n const match = /(\\w+)\\[(\\d+)\\]/.exec(key);\n if (!match) throw new Error(\"Internal Babel error: malformed key.\");\n\n const [, listKey, index] = match as unknown as [\n string,\n keyof typeof parent,\n string,\n ];\n if ((parent[listKey] as t.Node[]).length > +index + 1) {\n throw new TypeError(`RestElement must be last element of ${listKey}`);\n }\n },\n});\n\ndefineType(\"ReturnStatement\", {\n visitor: [\"argument\"],\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"SequenceExpression\", {\n visitor: [\"expressions\"],\n fields: {\n expressions: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Expression\")),\n ),\n },\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"ParenthesizedExpression\", {\n visitor: [\"expression\"],\n aliases: [\"Expression\", \"ExpressionWrapper\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"SwitchCase\", {\n visitor: [\"test\", \"consequent\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n consequent: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Statement\")),\n ),\n },\n },\n});\n\ndefineType(\"SwitchStatement\", {\n visitor: [\"discriminant\", \"cases\"],\n aliases: [\"Statement\", \"BlockParent\", \"Scopable\"],\n fields: {\n discriminant: {\n validate: assertNodeType(\"Expression\"),\n },\n cases: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"SwitchCase\")),\n ),\n },\n },\n});\n\ndefineType(\"ThisExpression\", {\n aliases: [\"Expression\"],\n});\n\ndefineType(\"ThrowStatement\", {\n visitor: [\"argument\"],\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"TryStatement\", {\n visitor: [\"block\", \"handler\", \"finalizer\"],\n aliases: [\"Statement\"],\n fields: {\n block: {\n validate: chain(\n assertNodeType(\"BlockStatement\"),\n Object.assign(\n function (node: t.TryStatement) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n // This validator isn't put at the top level because we can run it\n // even if this node doesn't have a parent.\n\n if (!node.handler && !node.finalizer) {\n throw new TypeError(\n \"TryStatement expects either a handler or finalizer, or both\",\n );\n }\n } as Validator,\n {\n oneOfNodeTypes: [\"BlockStatement\"],\n },\n ),\n ),\n },\n handler: {\n optional: true,\n validate: assertNodeType(\"CatchClause\"),\n },\n finalizer: {\n optional: true,\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n});\n\ndefineType(\"UnaryExpression\", {\n builder: [\"operator\", \"argument\", \"prefix\"],\n fields: {\n prefix: {\n default: true,\n },\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n operator: {\n validate: assertOneOf(...UNARY_OPERATORS),\n },\n },\n visitor: [\"argument\"],\n aliases: [\"UnaryLike\", \"Expression\"],\n});\n\ndefineType(\"UpdateExpression\", {\n builder: [\"operator\", \"argument\", \"prefix\"],\n fields: {\n prefix: {\n default: false,\n },\n argument: {\n validate: !process.env.BABEL_TYPES_8_BREAKING\n ? assertNodeType(\"Expression\")\n : assertNodeType(\"Identifier\", \"MemberExpression\"),\n },\n operator: {\n validate: assertOneOf(...UPDATE_OPERATORS),\n },\n },\n visitor: [\"argument\"],\n aliases: [\"Expression\"],\n});\n\ndefineType(\"VariableDeclaration\", {\n builder: [\"kind\", \"declarations\"],\n visitor: [\"declarations\"],\n aliases: [\"Statement\", \"Declaration\"],\n fields: {\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n kind: {\n validate: assertOneOf(\"var\", \"let\", \"const\"),\n },\n declarations: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"VariableDeclarator\")),\n ),\n },\n },\n validate(parent, key, node) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n if (!is(\"ForXStatement\", parent, { left: node })) return;\n if (node.declarations.length !== 1) {\n throw new TypeError(\n `Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`,\n );\n }\n },\n});\n\ndefineType(\"VariableDeclarator\", {\n visitor: [\"id\", \"init\"],\n fields: {\n id: {\n validate: (function () {\n if (!process.env.BABEL_TYPES_8_BREAKING) {\n return assertNodeType(\"LVal\");\n }\n\n const normal = assertNodeType(\n \"Identifier\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n );\n const without = assertNodeType(\"Identifier\");\n\n return function (node: t.VariableDeclarator, key, val) {\n const validator = node.init ? normal : without;\n validator(node, key, val);\n };\n })(),\n },\n definite: {\n optional: true,\n validate: assertValueType(\"boolean\"),\n },\n init: {\n optional: true,\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"WhileStatement\", {\n visitor: [\"test\", \"body\"],\n aliases: [\"Statement\", \"BlockParent\", \"Loop\", \"While\", \"Scopable\"],\n fields: {\n test: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\ndefineType(\"WithStatement\", {\n visitor: [\"object\", \"body\"],\n aliases: [\"Statement\"],\n fields: {\n object: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n },\n});\n\n// --- ES2015 ---\ndefineType(\"AssignmentPattern\", {\n visitor: [\"left\", \"right\", \"decorators\" /* for legacy param decorators */],\n builder: [\"left\", \"right\"],\n aliases: [\"Pattern\", \"PatternLike\", \"LVal\"],\n fields: {\n ...patternLikeCommon(),\n left: {\n validate: assertNodeType(\n \"Identifier\",\n \"ObjectPattern\",\n \"ArrayPattern\",\n \"MemberExpression\",\n \"TSAsExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n ),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n // For TypeScript\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n },\n});\n\ndefineType(\"ArrayPattern\", {\n visitor: [\"elements\", \"typeAnnotation\"],\n builder: [\"elements\"],\n aliases: [\"Pattern\", \"PatternLike\", \"LVal\"],\n fields: {\n ...patternLikeCommon(),\n elements: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeOrValueType(\"null\", \"PatternLike\", \"LVal\")),\n ),\n },\n // For TypeScript\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n optional: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ArrowFunctionExpression\", {\n builder: [\"params\", \"body\", \"async\"],\n visitor: [\"params\", \"body\", \"returnType\", \"typeParameters\"],\n aliases: [\n \"Scopable\",\n \"Function\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Expression\",\n \"Pureish\",\n ],\n fields: {\n ...functionCommon(),\n ...functionTypeAnnotationCommon(),\n expression: {\n // https://github.com/babel/babylon/issues/505\n validate: assertValueType(\"boolean\"),\n },\n body: {\n validate: assertNodeType(\"BlockStatement\", \"Expression\"),\n },\n predicate: {\n validate: assertNodeType(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassBody\", {\n visitor: [\"body\"],\n fields: {\n body: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\n \"ClassMethod\",\n \"ClassPrivateMethod\",\n \"ClassProperty\",\n \"ClassPrivateProperty\",\n \"ClassAccessorProperty\",\n \"TSDeclareMethod\",\n \"TSIndexSignature\",\n \"StaticBlock\",\n ),\n ),\n ),\n },\n },\n});\n\ndefineType(\"ClassExpression\", {\n builder: [\"id\", \"superClass\", \"body\", \"decorators\"],\n visitor: [\n \"id\",\n \"body\",\n \"superClass\",\n \"mixins\",\n \"typeParameters\",\n \"superTypeParameters\",\n \"implements\",\n \"decorators\",\n ],\n aliases: [\"Scopable\", \"Class\", \"Expression\"],\n fields: {\n id: {\n validate: assertNodeType(\"Identifier\"),\n // In declarations, this is missing if this is the\n // child of an ExportDefaultDeclaration.\n optional: true,\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n )\n : assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"ClassBody\"),\n },\n superClass: {\n optional: true,\n validate: assertNodeType(\"Expression\"),\n },\n superTypeParameters: {\n validate: assertNodeType(\n \"TypeParameterInstantiation\",\n \"TSTypeParameterInstantiation\",\n ),\n optional: true,\n },\n implements: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\"TSExpressionWithTypeArguments\", \"ClassImplements\"),\n ),\n ),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n mixins: {\n validate: assertNodeType(\"InterfaceExtends\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassDeclaration\", {\n inherits: \"ClassExpression\",\n aliases: [\"Scopable\", \"Class\", \"Statement\", \"Declaration\"],\n fields: {\n id: {\n validate: assertNodeType(\"Identifier\"),\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n )\n : assertNodeType(\n \"TypeParameterDeclaration\",\n \"TSTypeParameterDeclaration\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n body: {\n validate: assertNodeType(\"ClassBody\"),\n },\n superClass: {\n optional: true,\n validate: assertNodeType(\"Expression\"),\n },\n superTypeParameters: {\n validate: assertNodeType(\n \"TypeParameterInstantiation\",\n \"TSTypeParameterInstantiation\",\n ),\n optional: true,\n },\n implements: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\"TSExpressionWithTypeArguments\", \"ClassImplements\"),\n ),\n ),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n mixins: {\n validate: assertNodeType(\"InterfaceExtends\"),\n optional: true,\n },\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n abstract: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n },\n validate: (function () {\n const identifier = assertNodeType(\"Identifier\");\n\n return function (parent, key, node) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n if (!is(\"ExportDefaultDeclaration\", parent)) {\n identifier(node, \"id\", node.id);\n }\n };\n })(),\n});\n\ndefineType(\"ExportAllDeclaration\", {\n visitor: [\"source\"],\n aliases: [\n \"Statement\",\n \"Declaration\",\n \"ModuleDeclaration\",\n \"ExportDeclaration\",\n ],\n fields: {\n source: {\n validate: assertNodeType(\"StringLiteral\"),\n },\n exportKind: validateOptional(assertOneOf(\"type\", \"value\")),\n assertions: {\n optional: true,\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"ImportAttribute\")),\n ),\n },\n },\n});\n\ndefineType(\"ExportDefaultDeclaration\", {\n visitor: [\"declaration\"],\n aliases: [\n \"Statement\",\n \"Declaration\",\n \"ModuleDeclaration\",\n \"ExportDeclaration\",\n ],\n fields: {\n declaration: {\n validate: assertNodeType(\n \"TSDeclareFunction\",\n \"FunctionDeclaration\",\n \"ClassDeclaration\",\n \"Expression\",\n ),\n },\n exportKind: validateOptional(assertOneOf(\"value\")),\n },\n});\n\ndefineType(\"ExportNamedDeclaration\", {\n visitor: [\"declaration\", \"specifiers\", \"source\"],\n aliases: [\n \"Statement\",\n \"Declaration\",\n \"ModuleDeclaration\",\n \"ExportDeclaration\",\n ],\n fields: {\n declaration: {\n optional: true,\n validate: chain(\n assertNodeType(\"Declaration\"),\n Object.assign(\n function (node: t.ExportNamedDeclaration, key, val) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n // This validator isn't put at the top level because we can run it\n // even if this node doesn't have a parent.\n\n if (val && node.specifiers.length) {\n throw new TypeError(\n \"Only declaration or specifiers is allowed on ExportNamedDeclaration\",\n );\n }\n } as Validator,\n { oneOfNodeTypes: [\"Declaration\"] },\n ),\n function (node: t.ExportNamedDeclaration, key, val) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n // This validator isn't put at the top level because we can run it\n // even if this node doesn't have a parent.\n\n if (val && node.source) {\n throw new TypeError(\"Cannot export a declaration from a source\");\n }\n },\n ),\n },\n assertions: {\n optional: true,\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"ImportAttribute\")),\n ),\n },\n specifiers: {\n default: [],\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n (function () {\n const sourced = assertNodeType(\n \"ExportSpecifier\",\n \"ExportDefaultSpecifier\",\n \"ExportNamespaceSpecifier\",\n );\n const sourceless = assertNodeType(\"ExportSpecifier\");\n\n if (!process.env.BABEL_TYPES_8_BREAKING) return sourced;\n\n return function (node: t.ExportNamedDeclaration, key, val) {\n const validator = node.source ? sourced : sourceless;\n validator(node, key, val);\n } as Validator;\n })(),\n ),\n ),\n },\n source: {\n validate: assertNodeType(\"StringLiteral\"),\n optional: true,\n },\n exportKind: validateOptional(assertOneOf(\"type\", \"value\")),\n },\n});\n\ndefineType(\"ExportSpecifier\", {\n visitor: [\"local\", \"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: assertNodeType(\"Identifier\"),\n },\n exported: {\n validate: assertNodeType(\"Identifier\", \"StringLiteral\"),\n },\n exportKind: {\n // And TypeScript's \"export { type foo } from\"\n validate: assertOneOf(\"type\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ForOfStatement\", {\n visitor: [\"left\", \"right\", \"body\"],\n builder: [\"left\", \"right\", \"body\", \"await\"],\n aliases: [\n \"Scopable\",\n \"Statement\",\n \"For\",\n \"BlockParent\",\n \"Loop\",\n \"ForXStatement\",\n ],\n fields: {\n left: {\n validate: (function () {\n if (!process.env.BABEL_TYPES_8_BREAKING) {\n return assertNodeType(\"VariableDeclaration\", \"LVal\");\n }\n\n const declaration = assertNodeType(\"VariableDeclaration\");\n const lval = assertNodeType(\n \"Identifier\",\n \"MemberExpression\",\n \"ArrayPattern\",\n \"ObjectPattern\",\n \"TSAsExpression\",\n \"TSTypeAssertion\",\n \"TSNonNullExpression\",\n );\n\n return function (node, key, val) {\n if (is(\"VariableDeclaration\", val)) {\n declaration(node, key, val);\n } else {\n lval(node, key, val);\n }\n };\n })(),\n },\n right: {\n validate: assertNodeType(\"Expression\"),\n },\n body: {\n validate: assertNodeType(\"Statement\"),\n },\n await: {\n default: false,\n },\n },\n});\n\ndefineType(\"ImportDeclaration\", {\n visitor: [\"specifiers\", \"source\"],\n aliases: [\"Statement\", \"Declaration\", \"ModuleDeclaration\"],\n fields: {\n assertions: {\n optional: true,\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"ImportAttribute\")),\n ),\n },\n specifiers: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\n \"ImportSpecifier\",\n \"ImportDefaultSpecifier\",\n \"ImportNamespaceSpecifier\",\n ),\n ),\n ),\n },\n source: {\n validate: assertNodeType(\"StringLiteral\"),\n },\n importKind: {\n // Handle TypeScript/Flowtype's extension \"import type foo from\"\n // TypeScript doesn't support typeof\n validate: assertOneOf(\"type\", \"typeof\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ImportDefaultSpecifier\", {\n visitor: [\"local\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"ImportNamespaceSpecifier\", {\n visitor: [\"local\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"ImportSpecifier\", {\n visitor: [\"local\", \"imported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: assertNodeType(\"Identifier\"),\n },\n imported: {\n validate: assertNodeType(\"Identifier\", \"StringLiteral\"),\n },\n importKind: {\n // Handle Flowtype's extension \"import {typeof foo} from\"\n // And TypeScript's \"import { type foo } from\"\n validate: assertOneOf(\"type\", \"typeof\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"MetaProperty\", {\n visitor: [\"meta\", \"property\"],\n aliases: [\"Expression\"],\n fields: {\n meta: {\n validate: chain(\n assertNodeType(\"Identifier\"),\n Object.assign(\n function (node: t.MetaProperty, key, val) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n let property;\n switch (val.name) {\n case \"function\":\n property = \"sent\";\n break;\n case \"new\":\n property = \"target\";\n break;\n case \"import\":\n property = \"meta\";\n break;\n }\n if (!is(\"Identifier\", node.property, { name: property })) {\n throw new TypeError(\"Unrecognised MetaProperty\");\n }\n } as Validator,\n { oneOfNodeTypes: [\"Identifier\"] },\n ),\n ),\n },\n property: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\nexport const classMethodOrPropertyCommon = () => ({\n abstract: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n accessibility: {\n validate: assertOneOf(\"public\", \"private\", \"protected\"),\n optional: true,\n },\n static: {\n default: false,\n },\n override: {\n default: false,\n },\n computed: {\n default: false,\n },\n optional: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n key: {\n validate: chain(\n (function () {\n const normal = assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n );\n const computed = assertNodeType(\"Expression\");\n\n return function (node: any, key: string, val: any) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n })(),\n assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"Expression\",\n ),\n ),\n },\n});\n\nexport const classMethodOrDeclareMethodCommon = () => ({\n ...functionCommon(),\n ...classMethodOrPropertyCommon(),\n params: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\n \"Identifier\",\n \"Pattern\",\n \"RestElement\",\n \"TSParameterProperty\",\n ),\n ),\n ),\n },\n kind: {\n validate: assertOneOf(\"get\", \"set\", \"method\", \"constructor\"),\n default: \"method\",\n },\n access: {\n validate: chain(\n assertValueType(\"string\"),\n assertOneOf(\"public\", \"private\", \"protected\"),\n ),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n});\n\ndefineType(\"ClassMethod\", {\n aliases: [\"Function\", \"Scopable\", \"BlockParent\", \"FunctionParent\", \"Method\"],\n builder: [\n \"kind\",\n \"key\",\n \"params\",\n \"body\",\n \"computed\",\n \"static\",\n \"generator\",\n \"async\",\n ],\n visitor: [\n \"key\",\n \"params\",\n \"body\",\n \"decorators\",\n \"returnType\",\n \"typeParameters\",\n ],\n fields: {\n ...classMethodOrDeclareMethodCommon(),\n ...functionTypeAnnotationCommon(),\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n});\n\ndefineType(\"ObjectPattern\", {\n visitor: [\n \"properties\",\n \"typeAnnotation\",\n \"decorators\" /* for legacy param decorators */,\n ],\n builder: [\"properties\"],\n aliases: [\"Pattern\", \"PatternLike\", \"LVal\"],\n fields: {\n ...patternLikeCommon(),\n properties: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"RestElement\", \"ObjectProperty\")),\n ),\n },\n },\n});\n\ndefineType(\"SpreadElement\", {\n visitor: [\"argument\"],\n aliases: [\"UnaryLike\"],\n deprecatedAlias: \"SpreadProperty\",\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\n \"Super\",\n process.env.BABEL_8_BREAKING\n ? undefined\n : {\n aliases: [\"Expression\"],\n },\n);\n\ndefineType(\"TaggedTemplateExpression\", {\n visitor: [\"tag\", \"quasi\", \"typeParameters\"],\n builder: [\"tag\", \"quasi\"],\n aliases: [\"Expression\"],\n fields: {\n tag: {\n validate: assertNodeType(\"Expression\"),\n },\n quasi: {\n validate: assertNodeType(\"TemplateLiteral\"),\n },\n typeParameters: {\n validate: assertNodeType(\n \"TypeParameterInstantiation\",\n \"TSTypeParameterInstantiation\",\n ),\n optional: true,\n },\n },\n});\n\ndefineType(\"TemplateElement\", {\n builder: [\"value\", \"tail\"],\n fields: {\n value: {\n validate: chain(\n assertShape({\n raw: {\n validate: assertValueType(\"string\"),\n },\n cooked: {\n validate: assertValueType(\"string\"),\n optional: true,\n },\n }),\n function templateElementCookedValidator(node: t.TemplateElement) {\n const raw = node.value.raw;\n\n let str,\n containsInvalid,\n unterminatedCalled = false;\n try {\n const error = () => {\n throw new Error();\n };\n ({ str, containsInvalid } = readStringContents(\n \"template\",\n raw,\n 0,\n 0,\n 0,\n {\n unterminated() {\n unterminatedCalled = true;\n },\n strictNumericEscape: error,\n invalidEscapeSequence: error,\n numericSeparatorInEscapeSequence: error,\n unexpectedNumericSeparator: error,\n invalidDigit: error,\n invalidCodePoint: error,\n },\n ));\n } catch {\n // TODO: When https://github.com/babel/babel/issues/14775 is fixed\n // we can remove the try/catch block.\n unterminatedCalled = true;\n containsInvalid = true;\n }\n if (!unterminatedCalled) throw new Error(\"Invalid raw\");\n\n node.value.cooked = containsInvalid ? null : str;\n },\n ),\n },\n tail: {\n default: false,\n },\n },\n});\n\ndefineType(\"TemplateLiteral\", {\n visitor: [\"quasis\", \"expressions\"],\n aliases: [\"Expression\", \"Literal\"],\n fields: {\n quasis: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"TemplateElement\")),\n ),\n },\n expressions: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\n \"Expression\",\n // For TypeScript template literal types\n \"TSType\",\n ),\n ),\n function (node: t.TemplateLiteral, key, val) {\n if (node.quasis.length !== val.length + 1) {\n throw new TypeError(\n `Number of ${\n node.type\n } quasis should be exactly one more than the number of expressions.\\nExpected ${\n val.length + 1\n } quasis but got ${node.quasis.length}`,\n );\n }\n } as Validator,\n ),\n },\n },\n});\n\ndefineType(\"YieldExpression\", {\n builder: [\"argument\", \"delegate\"],\n visitor: [\"argument\"],\n aliases: [\"Expression\", \"Terminatorless\"],\n fields: {\n delegate: {\n validate: chain(\n assertValueType(\"boolean\"),\n Object.assign(\n function (node: t.YieldExpression, key, val) {\n if (!process.env.BABEL_TYPES_8_BREAKING) return;\n\n if (val && !node.argument) {\n throw new TypeError(\n \"Property delegate of YieldExpression cannot be true if there is no argument\",\n );\n }\n } as Validator,\n { type: \"boolean\" },\n ),\n ),\n default: false,\n },\n argument: {\n optional: true,\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\n// --- ES2017 ---\ndefineType(\"AwaitExpression\", {\n builder: [\"argument\"],\n visitor: [\"argument\"],\n aliases: [\"Expression\", \"Terminatorless\"],\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\n// --- ES2019 ---\ndefineType(\"Import\", {\n aliases: [\"Expression\"],\n});\n\n// --- ES2020 ---\ndefineType(\"BigIntLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\ndefineType(\"ExportNamespaceSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"OptionalMemberExpression\", {\n builder: [\"object\", \"property\", \"computed\", \"optional\"],\n visitor: [\"object\", \"property\"],\n aliases: [\"Expression\"],\n fields: {\n object: {\n validate: assertNodeType(\"Expression\"),\n },\n property: {\n validate: (function () {\n const normal = assertNodeType(\"Identifier\");\n const computed = assertNodeType(\"Expression\");\n\n const validator: Validator = Object.assign(\n function (node: t.OptionalMemberExpression, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n } as Validator,\n // todo(ts): can be discriminated union by `computed` property\n { oneOfNodeTypes: [\"Expression\", \"Identifier\"] },\n );\n return validator;\n })(),\n },\n computed: {\n default: false,\n },\n optional: {\n validate: !process.env.BABEL_TYPES_8_BREAKING\n ? assertValueType(\"boolean\")\n : chain(assertValueType(\"boolean\"), assertOptionalChainStart()),\n },\n },\n});\n\ndefineType(\"OptionalCallExpression\", {\n visitor: [\"callee\", \"arguments\", \"typeParameters\", \"typeArguments\"],\n builder: [\"callee\", \"arguments\", \"optional\"],\n aliases: [\"Expression\"],\n fields: {\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n arguments: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\n \"Expression\",\n \"SpreadElement\",\n \"JSXNamespacedName\",\n \"ArgumentPlaceholder\",\n ),\n ),\n ),\n },\n optional: {\n validate: !process.env.BABEL_TYPES_8_BREAKING\n ? assertValueType(\"boolean\")\n : chain(assertValueType(\"boolean\"), assertOptionalChainStart()),\n },\n typeArguments: {\n validate: assertNodeType(\"TypeParameterInstantiation\"),\n optional: true,\n },\n typeParameters: {\n validate: assertNodeType(\"TSTypeParameterInstantiation\"),\n optional: true,\n },\n },\n});\n\n// --- ES2022 ---\ndefineType(\"ClassProperty\", {\n visitor: [\"key\", \"value\", \"typeAnnotation\", \"decorators\"],\n builder: [\n \"key\",\n \"value\",\n \"typeAnnotation\",\n \"decorators\",\n \"computed\",\n \"static\",\n ],\n aliases: [\"Property\"],\n fields: {\n ...classMethodOrPropertyCommon(),\n value: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n definite: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n typeAnnotation: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n variance: {\n validate: assertNodeType(\"Variance\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassAccessorProperty\", {\n visitor: [\"key\", \"value\", \"typeAnnotation\", \"decorators\"],\n builder: [\n \"key\",\n \"value\",\n \"typeAnnotation\",\n \"decorators\",\n \"computed\",\n \"static\",\n ],\n aliases: [\"Property\", \"Accessor\"],\n fields: {\n ...classMethodOrPropertyCommon(),\n key: {\n validate: chain(\n (function () {\n const normal = assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"PrivateName\",\n );\n const computed = assertNodeType(\"Expression\");\n\n return function (node: any, key: string, val: any) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n })(),\n assertNodeType(\n \"Identifier\",\n \"StringLiteral\",\n \"NumericLiteral\",\n \"BigIntLiteral\",\n \"Expression\",\n \"PrivateName\",\n ),\n ),\n },\n value: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n definite: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n typeAnnotation: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n declare: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n variance: {\n validate: assertNodeType(\"Variance\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassPrivateProperty\", {\n visitor: [\"key\", \"value\", \"decorators\", \"typeAnnotation\"],\n builder: [\"key\", \"value\", \"decorators\", \"static\"],\n aliases: [\"Property\", \"Private\"],\n fields: {\n key: {\n validate: assertNodeType(\"PrivateName\"),\n },\n value: {\n validate: assertNodeType(\"Expression\"),\n optional: true,\n },\n typeAnnotation: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TypeAnnotation\", \"TSTypeAnnotation\")\n : assertNodeType(\n \"TypeAnnotation\",\n \"TSTypeAnnotation\",\n // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n \"Noop\",\n ),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n static: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n definite: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n variance: {\n validate: assertNodeType(\"Variance\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"ClassPrivateMethod\", {\n builder: [\"kind\", \"key\", \"params\", \"body\", \"static\"],\n visitor: [\n \"key\",\n \"params\",\n \"body\",\n \"decorators\",\n \"returnType\",\n \"typeParameters\",\n ],\n aliases: [\n \"Function\",\n \"Scopable\",\n \"BlockParent\",\n \"FunctionParent\",\n \"Method\",\n \"Private\",\n ],\n fields: {\n ...classMethodOrDeclareMethodCommon(),\n ...functionTypeAnnotationCommon(),\n kind: {\n validate: assertOneOf(\"get\", \"set\", \"method\"),\n default: \"method\",\n },\n key: {\n validate: assertNodeType(\"PrivateName\"),\n },\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n },\n});\n\ndefineType(\"PrivateName\", {\n visitor: [\"id\"],\n aliases: [\"Private\"],\n fields: {\n id: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"StaticBlock\", {\n visitor: [\"body\"],\n fields: {\n body: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Statement\")),\n ),\n },\n },\n aliases: [\"Scopable\", \"BlockParent\", \"FunctionParent\"],\n});\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/experimental.js b/includes/search/node_modules/@babel/types/lib/definitions/experimental.js
deleted file mode 100644
index 7244a5b..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/experimental.js
+++ /dev/null
@@ -1,135 +0,0 @@
-"use strict";
-
-var _utils = require("./utils");
-
-(0, _utils.default)("ArgumentPlaceholder", {});
-(0, _utils.default)("BindExpression", {
- visitor: ["object", "callee"],
- aliases: ["Expression"],
- fields: !process.env.BABEL_TYPES_8_BREAKING ? {
- object: {
- validate: Object.assign(() => {}, {
- oneOfNodeTypes: ["Expression"]
- })
- },
- callee: {
- validate: Object.assign(() => {}, {
- oneOfNodeTypes: ["Expression"]
- })
- }
- } : {
- object: {
- validate: (0, _utils.assertNodeType)("Expression")
- },
- callee: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-(0, _utils.default)("ImportAttribute", {
- visitor: ["key", "value"],
- fields: {
- key: {
- validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral")
- },
- value: {
- validate: (0, _utils.assertNodeType)("StringLiteral")
- }
- }
-});
-(0, _utils.default)("Decorator", {
- visitor: ["expression"],
- fields: {
- expression: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-(0, _utils.default)("DoExpression", {
- visitor: ["body"],
- builder: ["body", "async"],
- aliases: ["Expression"],
- fields: {
- body: {
- validate: (0, _utils.assertNodeType)("BlockStatement")
- },
- async: {
- validate: (0, _utils.assertValueType)("boolean"),
- default: false
- }
- }
-});
-(0, _utils.default)("ExportDefaultSpecifier", {
- visitor: ["exported"],
- aliases: ["ModuleSpecifier"],
- fields: {
- exported: {
- validate: (0, _utils.assertNodeType)("Identifier")
- }
- }
-});
-(0, _utils.default)("RecordExpression", {
- visitor: ["properties"],
- aliases: ["Expression"],
- fields: {
- properties: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectProperty", "SpreadElement")))
- }
- }
-});
-(0, _utils.default)("TupleExpression", {
- fields: {
- elements: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement"))),
- default: []
- }
- },
- visitor: ["elements"],
- aliases: ["Expression"]
-});
-(0, _utils.default)("DecimalLiteral", {
- builder: ["value"],
- fields: {
- value: {
- validate: (0, _utils.assertValueType)("string")
- }
- },
- aliases: ["Expression", "Pureish", "Literal", "Immutable"]
-});
-(0, _utils.default)("ModuleExpression", {
- visitor: ["body"],
- fields: {
- body: {
- validate: (0, _utils.assertNodeType)("Program")
- }
- },
- aliases: ["Expression"]
-});
-(0, _utils.default)("TopicReference", {
- aliases: ["Expression"]
-});
-(0, _utils.default)("PipelineTopicExpression", {
- builder: ["expression"],
- visitor: ["expression"],
- fields: {
- expression: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- },
- aliases: ["Expression"]
-});
-(0, _utils.default)("PipelineBareFunction", {
- builder: ["callee"],
- visitor: ["callee"],
- fields: {
- callee: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- },
- aliases: ["Expression"]
-});
-(0, _utils.default)("PipelinePrimaryTopicReference", {
- aliases: ["Expression"]
-});
-
-//# sourceMappingURL=experimental.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/experimental.js.map b/includes/search/node_modules/@babel/types/lib/definitions/experimental.js.map
deleted file mode 100644
index a965575..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/experimental.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["defineType","visitor","aliases","fields","process","env","BABEL_TYPES_8_BREAKING","object","validate","Object","assign","oneOfNodeTypes","callee","assertNodeType","key","value","expression","builder","body","async","assertValueType","default","exported","properties","chain","assertEach","elements"],"sources":["../../src/definitions/experimental.ts"],"sourcesContent":["import defineType, {\n assertEach,\n assertNodeType,\n assertValueType,\n chain,\n} from \"./utils\";\n\ndefineType(\"ArgumentPlaceholder\", {});\n\ndefineType(\"BindExpression\", {\n visitor: [\"object\", \"callee\"],\n aliases: [\"Expression\"],\n fields: !process.env.BABEL_TYPES_8_BREAKING\n ? {\n object: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"],\n }),\n },\n callee: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"],\n }),\n },\n }\n : {\n object: {\n validate: assertNodeType(\"Expression\"),\n },\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"ImportAttribute\", {\n visitor: [\"key\", \"value\"],\n fields: {\n key: {\n validate: assertNodeType(\"Identifier\", \"StringLiteral\"),\n },\n value: {\n validate: assertNodeType(\"StringLiteral\"),\n },\n },\n});\n\ndefineType(\"Decorator\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"DoExpression\", {\n visitor: [\"body\"],\n builder: [\"body\", \"async\"],\n aliases: [\"Expression\"],\n fields: {\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n async: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n },\n});\n\ndefineType(\"ExportDefaultSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"RecordExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"ObjectProperty\", \"SpreadElement\")),\n ),\n },\n },\n});\n\ndefineType(\"TupleExpression\", {\n fields: {\n elements: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Expression\", \"SpreadElement\")),\n ),\n default: [],\n },\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"],\n});\n\ndefineType(\"DecimalLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\n// https://github.com/tc39/proposal-js-module-blocks\ndefineType(\"ModuleExpression\", {\n visitor: [\"body\"],\n fields: {\n body: {\n validate: assertNodeType(\"Program\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\n// https://github.com/tc39/proposal-pipeline-operator\n// https://github.com/js-choi/proposal-hack-pipes\ndefineType(\"TopicReference\", {\n aliases: [\"Expression\"],\n});\n\n// https://github.com/tc39/proposal-pipeline-operator\n// https://github.com/js-choi/proposal-smart-pipes\ndefineType(\"PipelineTopicExpression\", {\n builder: [\"expression\"],\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"PipelineBareFunction\", {\n builder: [\"callee\"],\n visitor: [\"callee\"],\n fields: {\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"PipelinePrimaryTopicReference\", {\n aliases: [\"Expression\"],\n});\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/flow.js b/includes/search/node_modules/@babel/types/lib/definitions/flow.js
deleted file mode 100644
index 97dedae..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/flow.js
+++ /dev/null
@@ -1,488 +0,0 @@
-"use strict";
-
-var _utils = require("./utils");
-
-const defineType = (0, _utils.defineAliasedType)("Flow");
-
-const defineInterfaceishType = name => {
- defineType(name, {
- builder: ["id", "typeParameters", "extends", "body"],
- visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),
- extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")),
- mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")),
- implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements")),
- body: (0, _utils.validateType)("ObjectTypeAnnotation")
- }
- });
-};
-
-defineType("AnyTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("ArrayTypeAnnotation", {
- visitor: ["elementType"],
- aliases: ["FlowType"],
- fields: {
- elementType: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("BooleanTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("BooleanLiteralTypeAnnotation", {
- builder: ["value"],
- aliases: ["FlowType"],
- fields: {
- value: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("NullLiteralTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("ClassImplements", {
- visitor: ["id", "typeParameters"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation")
- }
-});
-defineInterfaceishType("DeclareClass");
-defineType("DeclareFunction", {
- visitor: ["id"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- predicate: (0, _utils.validateOptionalType)("DeclaredPredicate")
- }
-});
-defineInterfaceishType("DeclareInterface");
-defineType("DeclareModule", {
- builder: ["id", "body", "kind"],
- visitor: ["id", "body"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- id: (0, _utils.validateType)(["Identifier", "StringLiteral"]),
- body: (0, _utils.validateType)("BlockStatement"),
- kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("CommonJS", "ES"))
- }
-});
-defineType("DeclareModuleExports", {
- visitor: ["typeAnnotation"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- typeAnnotation: (0, _utils.validateType)("TypeAnnotation")
- }
-});
-defineType("DeclareTypeAlias", {
- visitor: ["id", "typeParameters", "right"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),
- right: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("DeclareOpaqueType", {
- visitor: ["id", "typeParameters", "supertype"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),
- supertype: (0, _utils.validateOptionalType)("FlowType"),
- impltype: (0, _utils.validateOptionalType)("FlowType")
- }
-});
-defineType("DeclareVariable", {
- visitor: ["id"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- id: (0, _utils.validateType)("Identifier")
- }
-});
-defineType("DeclareExportDeclaration", {
- visitor: ["declaration", "specifiers", "source"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- declaration: (0, _utils.validateOptionalType)("Flow"),
- specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)(["ExportSpecifier", "ExportNamespaceSpecifier"])),
- source: (0, _utils.validateOptionalType)("StringLiteral"),
- default: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("DeclareExportAllDeclaration", {
- visitor: ["source"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- source: (0, _utils.validateType)("StringLiteral"),
- exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value"))
- }
-});
-defineType("DeclaredPredicate", {
- visitor: ["value"],
- aliases: ["FlowPredicate"],
- fields: {
- value: (0, _utils.validateType)("Flow")
- }
-});
-defineType("ExistsTypeAnnotation", {
- aliases: ["FlowType"]
-});
-defineType("FunctionTypeAnnotation", {
- visitor: ["typeParameters", "params", "rest", "returnType"],
- aliases: ["FlowType"],
- fields: {
- typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),
- params: (0, _utils.validate)((0, _utils.arrayOfType)("FunctionTypeParam")),
- rest: (0, _utils.validateOptionalType)("FunctionTypeParam"),
- this: (0, _utils.validateOptionalType)("FunctionTypeParam"),
- returnType: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("FunctionTypeParam", {
- visitor: ["name", "typeAnnotation"],
- fields: {
- name: (0, _utils.validateOptionalType)("Identifier"),
- typeAnnotation: (0, _utils.validateType)("FlowType"),
- optional: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("GenericTypeAnnotation", {
- visitor: ["id", "typeParameters"],
- aliases: ["FlowType"],
- fields: {
- id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]),
- typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation")
- }
-});
-defineType("InferredPredicate", {
- aliases: ["FlowPredicate"]
-});
-defineType("InterfaceExtends", {
- visitor: ["id", "typeParameters"],
- fields: {
- id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]),
- typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation")
- }
-});
-defineInterfaceishType("InterfaceDeclaration");
-defineType("InterfaceTypeAnnotation", {
- visitor: ["extends", "body"],
- aliases: ["FlowType"],
- fields: {
- extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")),
- body: (0, _utils.validateType)("ObjectTypeAnnotation")
- }
-});
-defineType("IntersectionTypeAnnotation", {
- visitor: ["types"],
- aliases: ["FlowType"],
- fields: {
- types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType"))
- }
-});
-defineType("MixedTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("EmptyTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("NullableTypeAnnotation", {
- visitor: ["typeAnnotation"],
- aliases: ["FlowType"],
- fields: {
- typeAnnotation: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("NumberLiteralTypeAnnotation", {
- builder: ["value"],
- aliases: ["FlowType"],
- fields: {
- value: (0, _utils.validate)((0, _utils.assertValueType)("number"))
- }
-});
-defineType("NumberTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("ObjectTypeAnnotation", {
- visitor: ["properties", "indexers", "callProperties", "internalSlots"],
- aliases: ["FlowType"],
- builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"],
- fields: {
- properties: (0, _utils.validate)((0, _utils.arrayOfType)(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])),
- indexers: {
- validate: (0, _utils.arrayOfType)("ObjectTypeIndexer"),
- optional: true,
- default: []
- },
- callProperties: {
- validate: (0, _utils.arrayOfType)("ObjectTypeCallProperty"),
- optional: true,
- default: []
- },
- internalSlots: {
- validate: (0, _utils.arrayOfType)("ObjectTypeInternalSlot"),
- optional: true,
- default: []
- },
- exact: {
- validate: (0, _utils.assertValueType)("boolean"),
- default: false
- },
- inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("ObjectTypeInternalSlot", {
- visitor: ["id", "value", "optional", "static", "method"],
- aliases: ["UserWhitespacable"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- value: (0, _utils.validateType)("FlowType"),
- optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),
- static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),
- method: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("ObjectTypeCallProperty", {
- visitor: ["value"],
- aliases: ["UserWhitespacable"],
- fields: {
- value: (0, _utils.validateType)("FlowType"),
- static: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("ObjectTypeIndexer", {
- visitor: ["id", "key", "value", "variance"],
- aliases: ["UserWhitespacable"],
- fields: {
- id: (0, _utils.validateOptionalType)("Identifier"),
- key: (0, _utils.validateType)("FlowType"),
- value: (0, _utils.validateType)("FlowType"),
- static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),
- variance: (0, _utils.validateOptionalType)("Variance")
- }
-});
-defineType("ObjectTypeProperty", {
- visitor: ["key", "value", "variance"],
- aliases: ["UserWhitespacable"],
- fields: {
- key: (0, _utils.validateType)(["Identifier", "StringLiteral"]),
- value: (0, _utils.validateType)("FlowType"),
- kind: (0, _utils.validate)((0, _utils.assertOneOf)("init", "get", "set")),
- static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),
- proto: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),
- optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),
- variance: (0, _utils.validateOptionalType)("Variance"),
- method: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("ObjectTypeSpreadProperty", {
- visitor: ["argument"],
- aliases: ["UserWhitespacable"],
- fields: {
- argument: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("OpaqueType", {
- visitor: ["id", "typeParameters", "supertype", "impltype"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),
- supertype: (0, _utils.validateOptionalType)("FlowType"),
- impltype: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("QualifiedTypeIdentifier", {
- visitor: ["id", "qualification"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- qualification: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"])
- }
-});
-defineType("StringLiteralTypeAnnotation", {
- builder: ["value"],
- aliases: ["FlowType"],
- fields: {
- value: (0, _utils.validate)((0, _utils.assertValueType)("string"))
- }
-});
-defineType("StringTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("SymbolTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("ThisTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("TupleTypeAnnotation", {
- visitor: ["types"],
- aliases: ["FlowType"],
- fields: {
- types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType"))
- }
-});
-defineType("TypeofTypeAnnotation", {
- visitor: ["argument"],
- aliases: ["FlowType"],
- fields: {
- argument: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("TypeAlias", {
- visitor: ["id", "typeParameters", "right"],
- aliases: ["FlowDeclaration", "Statement", "Declaration"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"),
- right: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("TypeAnnotation", {
- visitor: ["typeAnnotation"],
- fields: {
- typeAnnotation: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("TypeCastExpression", {
- visitor: ["expression", "typeAnnotation"],
- aliases: ["ExpressionWrapper", "Expression"],
- fields: {
- expression: (0, _utils.validateType)("Expression"),
- typeAnnotation: (0, _utils.validateType)("TypeAnnotation")
- }
-});
-defineType("TypeParameter", {
- visitor: ["bound", "default", "variance"],
- fields: {
- name: (0, _utils.validate)((0, _utils.assertValueType)("string")),
- bound: (0, _utils.validateOptionalType)("TypeAnnotation"),
- default: (0, _utils.validateOptionalType)("FlowType"),
- variance: (0, _utils.validateOptionalType)("Variance")
- }
-});
-defineType("TypeParameterDeclaration", {
- visitor: ["params"],
- fields: {
- params: (0, _utils.validate)((0, _utils.arrayOfType)("TypeParameter"))
- }
-});
-defineType("TypeParameterInstantiation", {
- visitor: ["params"],
- fields: {
- params: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType"))
- }
-});
-defineType("UnionTypeAnnotation", {
- visitor: ["types"],
- aliases: ["FlowType"],
- fields: {
- types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType"))
- }
-});
-defineType("Variance", {
- builder: ["kind"],
- fields: {
- kind: (0, _utils.validate)((0, _utils.assertOneOf)("minus", "plus"))
- }
-});
-defineType("VoidTypeAnnotation", {
- aliases: ["FlowType", "FlowBaseAnnotation"]
-});
-defineType("EnumDeclaration", {
- aliases: ["Statement", "Declaration"],
- visitor: ["id", "body"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- body: (0, _utils.validateType)(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"])
- }
-});
-defineType("EnumBooleanBody", {
- aliases: ["EnumBody"],
- visitor: ["members"],
- fields: {
- explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),
- members: (0, _utils.validateArrayOfType)("EnumBooleanMember"),
- hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("EnumNumberBody", {
- aliases: ["EnumBody"],
- visitor: ["members"],
- fields: {
- explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),
- members: (0, _utils.validateArrayOfType)("EnumNumberMember"),
- hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("EnumStringBody", {
- aliases: ["EnumBody"],
- visitor: ["members"],
- fields: {
- explicitType: (0, _utils.validate)((0, _utils.assertValueType)("boolean")),
- members: (0, _utils.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"]),
- hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("EnumSymbolBody", {
- aliases: ["EnumBody"],
- visitor: ["members"],
- fields: {
- members: (0, _utils.validateArrayOfType)("EnumDefaultedMember"),
- hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))
- }
-});
-defineType("EnumBooleanMember", {
- aliases: ["EnumMember"],
- visitor: ["id"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- init: (0, _utils.validateType)("BooleanLiteral")
- }
-});
-defineType("EnumNumberMember", {
- aliases: ["EnumMember"],
- visitor: ["id", "init"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- init: (0, _utils.validateType)("NumericLiteral")
- }
-});
-defineType("EnumStringMember", {
- aliases: ["EnumMember"],
- visitor: ["id", "init"],
- fields: {
- id: (0, _utils.validateType)("Identifier"),
- init: (0, _utils.validateType)("StringLiteral")
- }
-});
-defineType("EnumDefaultedMember", {
- aliases: ["EnumMember"],
- visitor: ["id"],
- fields: {
- id: (0, _utils.validateType)("Identifier")
- }
-});
-defineType("IndexedAccessType", {
- visitor: ["objectType", "indexType"],
- aliases: ["FlowType"],
- fields: {
- objectType: (0, _utils.validateType)("FlowType"),
- indexType: (0, _utils.validateType)("FlowType")
- }
-});
-defineType("OptionalIndexedAccessType", {
- visitor: ["objectType", "indexType"],
- aliases: ["FlowType"],
- fields: {
- objectType: (0, _utils.validateType)("FlowType"),
- indexType: (0, _utils.validateType)("FlowType"),
- optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean"))
- }
-});
-
-//# sourceMappingURL=flow.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/flow.js.map b/includes/search/node_modules/@babel/types/lib/definitions/flow.js.map
deleted file mode 100644
index 79dc77b..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/flow.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["defineType","defineAliasedType","defineInterfaceishType","name","builder","visitor","aliases","fields","id","validateType","typeParameters","validateOptionalType","extends","validateOptional","arrayOfType","mixins","implements","body","elementType","value","validate","assertValueType","predicate","kind","assertOneOf","typeAnnotation","right","supertype","impltype","declaration","specifiers","source","default","exportKind","params","rest","this","returnType","optional","types","properties","indexers","callProperties","internalSlots","exact","inexact","static","method","key","variance","proto","argument","qualification","expression","bound","explicitType","members","validateArrayOfType","hasUnknownMembers","init","objectType","indexType"],"sources":["../../src/definitions/flow.ts"],"sourcesContent":["import {\n defineAliasedType,\n arrayOfType,\n assertOneOf,\n assertValueType,\n validate,\n validateArrayOfType,\n validateOptional,\n validateOptionalType,\n validateType,\n} from \"./utils\";\n\nconst defineType = defineAliasedType(\"Flow\");\n\nconst defineInterfaceishType = (\n name: \"DeclareClass\" | \"DeclareInterface\" | \"InterfaceDeclaration\",\n) => {\n defineType(name, {\n builder: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n visitor: [\n \"id\",\n \"typeParameters\",\n \"extends\",\n \"mixins\",\n \"implements\",\n \"body\",\n ],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n mixins: validateOptional(arrayOfType(\"InterfaceExtends\")),\n implements: validateOptional(arrayOfType(\"ClassImplements\")),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n });\n};\n\ndefineType(\"AnyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ArrayTypeAnnotation\", {\n visitor: [\"elementType\"],\n aliases: [\"FlowType\"],\n fields: {\n elementType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"BooleanTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"BooleanLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"NullLiteralTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ClassImplements\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareClass\");\n\ndefineType(\"DeclareFunction\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n predicate: validateOptionalType(\"DeclaredPredicate\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareInterface\");\n\ndefineType(\"DeclareModule\", {\n builder: [\"id\", \"body\", \"kind\"],\n visitor: [\"id\", \"body\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType([\"Identifier\", \"StringLiteral\"]),\n body: validateType(\"BlockStatement\"),\n kind: validateOptional(assertOneOf(\"CommonJS\", \"ES\")),\n },\n});\n\ndefineType(\"DeclareModuleExports\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"DeclareTypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareOpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateOptionalType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareVariable\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"DeclareExportDeclaration\", {\n visitor: [\"declaration\", \"specifiers\", \"source\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n declaration: validateOptionalType(\"Flow\"),\n specifiers: validateOptional(\n arrayOfType([\"ExportSpecifier\", \"ExportNamespaceSpecifier\"]),\n ),\n source: validateOptionalType(\"StringLiteral\"),\n default: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"DeclareExportAllDeclaration\", {\n visitor: [\"source\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n source: validateType(\"StringLiteral\"),\n exportKind: validateOptional(assertOneOf(\"type\", \"value\")),\n },\n});\n\ndefineType(\"DeclaredPredicate\", {\n visitor: [\"value\"],\n aliases: [\"FlowPredicate\"],\n fields: {\n value: validateType(\"Flow\"),\n },\n});\n\ndefineType(\"ExistsTypeAnnotation\", {\n aliases: [\"FlowType\"],\n});\n\ndefineType(\"FunctionTypeAnnotation\", {\n visitor: [\"typeParameters\", \"params\", \"rest\", \"returnType\"],\n aliases: [\"FlowType\"],\n fields: {\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n params: validate(arrayOfType(\"FunctionTypeParam\")),\n rest: validateOptionalType(\"FunctionTypeParam\"),\n this: validateOptionalType(\"FunctionTypeParam\"),\n returnType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"FunctionTypeParam\", {\n visitor: [\"name\", \"typeAnnotation\"],\n fields: {\n name: validateOptionalType(\"Identifier\"),\n typeAnnotation: validateType(\"FlowType\"),\n optional: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"GenericTypeAnnotation\", {\n visitor: [\"id\", \"typeParameters\"],\n aliases: [\"FlowType\"],\n fields: {\n id: validateType([\"Identifier\", \"QualifiedTypeIdentifier\"]),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"InferredPredicate\", {\n aliases: [\"FlowPredicate\"],\n});\n\ndefineType(\"InterfaceExtends\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType([\"Identifier\", \"QualifiedTypeIdentifier\"]),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"InterfaceDeclaration\");\n\ndefineType(\"InterfaceTypeAnnotation\", {\n visitor: [\"extends\", \"body\"],\n aliases: [\"FlowType\"],\n fields: {\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n});\n\ndefineType(\"IntersectionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"MixedTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"EmptyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"NullableTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowType\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"NumberLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"number\")),\n },\n});\n\ndefineType(\"NumberTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ObjectTypeAnnotation\", {\n visitor: [\"properties\", \"indexers\", \"callProperties\", \"internalSlots\"],\n aliases: [\"FlowType\"],\n builder: [\n \"properties\",\n \"indexers\",\n \"callProperties\",\n \"internalSlots\",\n \"exact\",\n ],\n fields: {\n properties: validate(\n arrayOfType([\"ObjectTypeProperty\", \"ObjectTypeSpreadProperty\"]),\n ),\n indexers: {\n validate: arrayOfType(\"ObjectTypeIndexer\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n callProperties: {\n validate: arrayOfType(\"ObjectTypeCallProperty\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n internalSlots: {\n validate: arrayOfType(\"ObjectTypeInternalSlot\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n exact: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n // If the inexact flag is present then this is an object type, and not a\n // declare class, declare interface, or interface. If it is true, the\n // object uses ... to express that it is inexact.\n inexact: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeInternalSlot\", {\n visitor: [\"id\", \"value\", \"optional\", \"static\", \"method\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateType(\"Identifier\"),\n value: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n static: validate(assertValueType(\"boolean\")),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeCallProperty\", {\n visitor: [\"value\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeIndexer\", {\n visitor: [\"id\", \"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateOptionalType(\"Identifier\"),\n key: validateType(\"FlowType\"),\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"ObjectTypeProperty\", {\n visitor: [\"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n key: validateType([\"Identifier\", \"StringLiteral\"]),\n value: validateType(\"FlowType\"),\n kind: validate(assertOneOf(\"init\", \"get\", \"set\")),\n static: validate(assertValueType(\"boolean\")),\n proto: validate(assertValueType(\"boolean\")),\n optional: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeSpreadProperty\", {\n visitor: [\"argument\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\", \"impltype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"QualifiedTypeIdentifier\", {\n visitor: [\"id\", \"qualification\"],\n fields: {\n id: validateType(\"Identifier\"),\n qualification: validateType([\"Identifier\", \"QualifiedTypeIdentifier\"]),\n },\n});\n\ndefineType(\"StringLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"string\")),\n },\n});\n\ndefineType(\"StringTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"SymbolTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ThisTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"TupleTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"TypeofTypeAnnotation\", {\n visitor: [\"argument\"],\n aliases: [\"FlowType\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeCastExpression\", {\n visitor: [\"expression\", \"typeAnnotation\"],\n aliases: [\"ExpressionWrapper\", \"Expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"TypeParameter\", {\n visitor: [\"bound\", \"default\", \"variance\"],\n fields: {\n name: validate(assertValueType(\"string\")),\n bound: validateOptionalType(\"TypeAnnotation\"),\n default: validateOptionalType(\"FlowType\"),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"TypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"TypeParameter\")),\n },\n});\n\ndefineType(\"TypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"UnionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"Variance\", {\n builder: [\"kind\"],\n fields: {\n kind: validate(assertOneOf(\"minus\", \"plus\")),\n },\n});\n\ndefineType(\"VoidTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\n// Enums\ndefineType(\"EnumDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n id: validateType(\"Identifier\"),\n body: validateType([\n \"EnumBooleanBody\",\n \"EnumNumberBody\",\n \"EnumStringBody\",\n \"EnumSymbolBody\",\n ]),\n },\n});\n\ndefineType(\"EnumBooleanBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumBooleanMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumNumberBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumNumberMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumStringBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType([\"EnumStringMember\", \"EnumDefaultedMember\"]),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumSymbolBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n members: validateArrayOfType(\"EnumDefaultedMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumBooleanMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"BooleanLiteral\"),\n },\n});\n\ndefineType(\"EnumNumberMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"NumericLiteral\"),\n },\n});\n\ndefineType(\"EnumStringMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"StringLiteral\"),\n },\n});\n\ndefineType(\"EnumDefaultedMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"IndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OptionalIndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n },\n});\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/index.js b/includes/search/node_modules/@babel/types/lib/definitions/index.js
deleted file mode 100644
index 7de34f5..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/index.js
+++ /dev/null
@@ -1,105 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-Object.defineProperty(exports, "ALIAS_KEYS", {
- enumerable: true,
- get: function () {
- return _utils.ALIAS_KEYS;
- }
-});
-Object.defineProperty(exports, "BUILDER_KEYS", {
- enumerable: true,
- get: function () {
- return _utils.BUILDER_KEYS;
- }
-});
-Object.defineProperty(exports, "DEPRECATED_KEYS", {
- enumerable: true,
- get: function () {
- return _utils.DEPRECATED_KEYS;
- }
-});
-Object.defineProperty(exports, "FLIPPED_ALIAS_KEYS", {
- enumerable: true,
- get: function () {
- return _utils.FLIPPED_ALIAS_KEYS;
- }
-});
-Object.defineProperty(exports, "NODE_FIELDS", {
- enumerable: true,
- get: function () {
- return _utils.NODE_FIELDS;
- }
-});
-Object.defineProperty(exports, "NODE_PARENT_VALIDATIONS", {
- enumerable: true,
- get: function () {
- return _utils.NODE_PARENT_VALIDATIONS;
- }
-});
-Object.defineProperty(exports, "PLACEHOLDERS", {
- enumerable: true,
- get: function () {
- return _placeholders.PLACEHOLDERS;
- }
-});
-Object.defineProperty(exports, "PLACEHOLDERS_ALIAS", {
- enumerable: true,
- get: function () {
- return _placeholders.PLACEHOLDERS_ALIAS;
- }
-});
-Object.defineProperty(exports, "PLACEHOLDERS_FLIPPED_ALIAS", {
- enumerable: true,
- get: function () {
- return _placeholders.PLACEHOLDERS_FLIPPED_ALIAS;
- }
-});
-exports.TYPES = void 0;
-Object.defineProperty(exports, "VISITOR_KEYS", {
- enumerable: true,
- get: function () {
- return _utils.VISITOR_KEYS;
- }
-});
-
-var _toFastProperties = require("to-fast-properties");
-
-require("./core");
-
-require("./flow");
-
-require("./jsx");
-
-require("./misc");
-
-require("./experimental");
-
-require("./typescript");
-
-var _utils = require("./utils");
-
-var _placeholders = require("./placeholders");
-
-_toFastProperties(_utils.VISITOR_KEYS);
-
-_toFastProperties(_utils.ALIAS_KEYS);
-
-_toFastProperties(_utils.FLIPPED_ALIAS_KEYS);
-
-_toFastProperties(_utils.NODE_FIELDS);
-
-_toFastProperties(_utils.BUILDER_KEYS);
-
-_toFastProperties(_utils.DEPRECATED_KEYS);
-
-_toFastProperties(_placeholders.PLACEHOLDERS_ALIAS);
-
-_toFastProperties(_placeholders.PLACEHOLDERS_FLIPPED_ALIAS);
-
-const TYPES = [].concat(Object.keys(_utils.VISITOR_KEYS), Object.keys(_utils.FLIPPED_ALIAS_KEYS), Object.keys(_utils.DEPRECATED_KEYS));
-exports.TYPES = TYPES;
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/index.js.map b/includes/search/node_modules/@babel/types/lib/definitions/index.js.map
deleted file mode 100644
index 61daf58..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["toFastProperties","VISITOR_KEYS","ALIAS_KEYS","FLIPPED_ALIAS_KEYS","NODE_FIELDS","BUILDER_KEYS","DEPRECATED_KEYS","PLACEHOLDERS_ALIAS","PLACEHOLDERS_FLIPPED_ALIAS","TYPES","concat","Object","keys"],"sources":["../../src/definitions/index.ts"],"sourcesContent":["import toFastProperties from \"to-fast-properties\";\nimport \"./core\";\nimport \"./flow\";\nimport \"./jsx\";\nimport \"./misc\";\nimport \"./experimental\";\nimport \"./typescript\";\nimport {\n VISITOR_KEYS,\n ALIAS_KEYS,\n FLIPPED_ALIAS_KEYS,\n NODE_FIELDS,\n BUILDER_KEYS,\n DEPRECATED_KEYS,\n NODE_PARENT_VALIDATIONS,\n} from \"./utils\";\nimport {\n PLACEHOLDERS,\n PLACEHOLDERS_ALIAS,\n PLACEHOLDERS_FLIPPED_ALIAS,\n} from \"./placeholders\";\n\n// We do this here, because at this point the visitor keys should be ready and setup\ntoFastProperties(VISITOR_KEYS);\ntoFastProperties(ALIAS_KEYS);\ntoFastProperties(FLIPPED_ALIAS_KEYS);\ntoFastProperties(NODE_FIELDS);\ntoFastProperties(BUILDER_KEYS);\ntoFastProperties(DEPRECATED_KEYS);\n\ntoFastProperties(PLACEHOLDERS_ALIAS);\ntoFastProperties(PLACEHOLDERS_FLIPPED_ALIAS);\n\nconst TYPES: Array<string> = [].concat(\n Object.keys(VISITOR_KEYS),\n Object.keys(FLIPPED_ALIAS_KEYS),\n Object.keys(DEPRECATED_KEYS),\n);\n\nexport {\n VISITOR_KEYS,\n ALIAS_KEYS,\n FLIPPED_ALIAS_KEYS,\n NODE_FIELDS,\n BUILDER_KEYS,\n DEPRECATED_KEYS,\n NODE_PARENT_VALIDATIONS,\n PLACEHOLDERS,\n PLACEHOLDERS_ALIAS,\n PLACEHOLDERS_FLIPPED_ALIAS,\n TYPES,\n};\n\nexport type { FieldOptions } from \"./utils\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA;;AAOAA,iBAAgB,CAACC,mBAAD,CAAhB;;AACAD,iBAAgB,CAACE,iBAAD,CAAhB;;AACAF,iBAAgB,CAACG,yBAAD,CAAhB;;AACAH,iBAAgB,CAACI,kBAAD,CAAhB;;AACAJ,iBAAgB,CAACK,mBAAD,CAAhB;;AACAL,iBAAgB,CAACM,sBAAD,CAAhB;;AAEAN,iBAAgB,CAACO,gCAAD,CAAhB;;AACAP,iBAAgB,CAACQ,wCAAD,CAAhB;;AAEA,MAAMC,KAAoB,GAAG,GAAGC,MAAH,CAC3BC,MAAM,CAACC,IAAP,CAAYX,mBAAZ,CAD2B,EAE3BU,MAAM,CAACC,IAAP,CAAYT,yBAAZ,CAF2B,EAG3BQ,MAAM,CAACC,IAAP,CAAYN,sBAAZ,CAH2B,CAA7B"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/jsx.js b/includes/search/node_modules/@babel/types/lib/definitions/jsx.js
deleted file mode 100644
index dc3af45..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/jsx.js
+++ /dev/null
@@ -1,159 +0,0 @@
-"use strict";
-
-var _utils = require("./utils");
-
-const defineType = (0, _utils.defineAliasedType)("JSX");
-defineType("JSXAttribute", {
- visitor: ["name", "value"],
- aliases: ["Immutable"],
- fields: {
- name: {
- validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXNamespacedName")
- },
- value: {
- optional: true,
- validate: (0, _utils.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer")
- }
- }
-});
-defineType("JSXClosingElement", {
- visitor: ["name"],
- aliases: ["Immutable"],
- fields: {
- name: {
- validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
- }
- }
-});
-defineType("JSXElement", {
- builder: ["openingElement", "closingElement", "children", "selfClosing"],
- visitor: ["openingElement", "children", "closingElement"],
- aliases: ["Immutable", "Expression"],
- fields: Object.assign({
- openingElement: {
- validate: (0, _utils.assertNodeType)("JSXOpeningElement")
- },
- closingElement: {
- optional: true,
- validate: (0, _utils.assertNodeType)("JSXClosingElement")
- },
- children: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")))
- }
- }, {
- selfClosing: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- }
- })
-});
-defineType("JSXEmptyExpression", {});
-defineType("JSXExpressionContainer", {
- visitor: ["expression"],
- aliases: ["Immutable"],
- fields: {
- expression: {
- validate: (0, _utils.assertNodeType)("Expression", "JSXEmptyExpression")
- }
- }
-});
-defineType("JSXSpreadChild", {
- visitor: ["expression"],
- aliases: ["Immutable"],
- fields: {
- expression: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-defineType("JSXIdentifier", {
- builder: ["name"],
- fields: {
- name: {
- validate: (0, _utils.assertValueType)("string")
- }
- }
-});
-defineType("JSXMemberExpression", {
- visitor: ["object", "property"],
- fields: {
- object: {
- validate: (0, _utils.assertNodeType)("JSXMemberExpression", "JSXIdentifier")
- },
- property: {
- validate: (0, _utils.assertNodeType)("JSXIdentifier")
- }
- }
-});
-defineType("JSXNamespacedName", {
- visitor: ["namespace", "name"],
- fields: {
- namespace: {
- validate: (0, _utils.assertNodeType)("JSXIdentifier")
- },
- name: {
- validate: (0, _utils.assertNodeType)("JSXIdentifier")
- }
- }
-});
-defineType("JSXOpeningElement", {
- builder: ["name", "attributes", "selfClosing"],
- visitor: ["name", "attributes"],
- aliases: ["Immutable"],
- fields: {
- name: {
- validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName")
- },
- selfClosing: {
- default: false
- },
- attributes: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXAttribute", "JSXSpreadAttribute")))
- },
- typeParameters: {
- validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
- optional: true
- }
- }
-});
-defineType("JSXSpreadAttribute", {
- visitor: ["argument"],
- fields: {
- argument: {
- validate: (0, _utils.assertNodeType)("Expression")
- }
- }
-});
-defineType("JSXText", {
- aliases: ["Immutable"],
- builder: ["value"],
- fields: {
- value: {
- validate: (0, _utils.assertValueType)("string")
- }
- }
-});
-defineType("JSXFragment", {
- builder: ["openingFragment", "closingFragment", "children"],
- visitor: ["openingFragment", "children", "closingFragment"],
- aliases: ["Immutable", "Expression"],
- fields: {
- openingFragment: {
- validate: (0, _utils.assertNodeType)("JSXOpeningFragment")
- },
- closingFragment: {
- validate: (0, _utils.assertNodeType)("JSXClosingFragment")
- },
- children: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment")))
- }
- }
-});
-defineType("JSXOpeningFragment", {
- aliases: ["Immutable"]
-});
-defineType("JSXClosingFragment", {
- aliases: ["Immutable"]
-});
-
-//# sourceMappingURL=jsx.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/jsx.js.map b/includes/search/node_modules/@babel/types/lib/definitions/jsx.js.map
deleted file mode 100644
index e311d66..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/jsx.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["defineType","defineAliasedType","visitor","aliases","fields","name","validate","assertNodeType","value","optional","builder","openingElement","closingElement","children","chain","assertValueType","assertEach","selfClosing","expression","object","property","namespace","default","attributes","typeParameters","argument","openingFragment","closingFragment"],"sources":["../../src/definitions/jsx.ts"],"sourcesContent":["import {\n defineAliasedType,\n assertNodeType,\n assertValueType,\n chain,\n assertEach,\n} from \"./utils\";\n\nconst defineType = defineAliasedType(\"JSX\");\n\ndefineType(\"JSXAttribute\", {\n visitor: [\"name\", \"value\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: assertNodeType(\"JSXIdentifier\", \"JSXNamespacedName\"),\n },\n value: {\n optional: true,\n validate: assertNodeType(\n \"JSXElement\",\n \"JSXFragment\",\n \"StringLiteral\",\n \"JSXExpressionContainer\",\n ),\n },\n },\n});\n\ndefineType(\"JSXClosingElement\", {\n visitor: [\"name\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: assertNodeType(\n \"JSXIdentifier\",\n \"JSXMemberExpression\",\n \"JSXNamespacedName\",\n ),\n },\n },\n});\n\ndefineType(\"JSXElement\", {\n builder: process.env.BABEL_8_BREAKING\n ? [\"openingElement\", \"closingElement\", \"children\"]\n : [\"openingElement\", \"closingElement\", \"children\", \"selfClosing\"],\n visitor: [\"openingElement\", \"children\", \"closingElement\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: {\n openingElement: {\n validate: assertNodeType(\"JSXOpeningElement\"),\n },\n closingElement: {\n optional: true,\n validate: assertNodeType(\"JSXClosingElement\"),\n },\n children: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\n \"JSXText\",\n \"JSXExpressionContainer\",\n \"JSXSpreadChild\",\n \"JSXElement\",\n \"JSXFragment\",\n ),\n ),\n ),\n },\n ...(process.env.BABEL_8_BREAKING\n ? {}\n : {\n selfClosing: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n }),\n },\n});\n\ndefineType(\"JSXEmptyExpression\", {});\n\ndefineType(\"JSXExpressionContainer\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\", \"JSXEmptyExpression\"),\n },\n },\n});\n\ndefineType(\"JSXSpreadChild\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"JSXIdentifier\", {\n builder: [\"name\"],\n fields: {\n name: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"JSXMemberExpression\", {\n visitor: [\"object\", \"property\"],\n fields: {\n object: {\n validate: assertNodeType(\"JSXMemberExpression\", \"JSXIdentifier\"),\n },\n property: {\n validate: assertNodeType(\"JSXIdentifier\"),\n },\n },\n});\n\ndefineType(\"JSXNamespacedName\", {\n visitor: [\"namespace\", \"name\"],\n fields: {\n namespace: {\n validate: assertNodeType(\"JSXIdentifier\"),\n },\n name: {\n validate: assertNodeType(\"JSXIdentifier\"),\n },\n },\n});\n\ndefineType(\"JSXOpeningElement\", {\n builder: [\"name\", \"attributes\", \"selfClosing\"],\n visitor: [\"name\", \"attributes\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: assertNodeType(\n \"JSXIdentifier\",\n \"JSXMemberExpression\",\n \"JSXNamespacedName\",\n ),\n },\n selfClosing: {\n default: false,\n },\n attributes: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"JSXAttribute\", \"JSXSpreadAttribute\")),\n ),\n },\n typeParameters: {\n validate: assertNodeType(\n \"TypeParameterInstantiation\",\n \"TSTypeParameterInstantiation\",\n ),\n optional: true,\n },\n },\n});\n\ndefineType(\"JSXSpreadAttribute\", {\n visitor: [\"argument\"],\n fields: {\n argument: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"JSXText\", {\n aliases: [\"Immutable\"],\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n\ndefineType(\"JSXFragment\", {\n builder: [\"openingFragment\", \"closingFragment\", \"children\"],\n visitor: [\"openingFragment\", \"children\", \"closingFragment\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: {\n openingFragment: {\n validate: assertNodeType(\"JSXOpeningFragment\"),\n },\n closingFragment: {\n validate: assertNodeType(\"JSXClosingFragment\"),\n },\n children: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(\n assertNodeType(\n \"JSXText\",\n \"JSXExpressionContainer\",\n \"JSXSpreadChild\",\n \"JSXElement\",\n \"JSXFragment\",\n ),\n ),\n ),\n },\n },\n});\n\ndefineType(\"JSXOpeningFragment\", {\n aliases: [\"Immutable\"],\n});\n\ndefineType(\"JSXClosingFragment\", {\n aliases: [\"Immutable\"],\n});\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/misc.js b/includes/search/node_modules/@babel/types/lib/definitions/misc.js
deleted file mode 100644
index 2c8b07a..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/misc.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-
-var _utils = require("./utils");
-
-var _placeholders = require("./placeholders");
-
-const defineType = (0, _utils.defineAliasedType)("Miscellaneous");
-{
- defineType("Noop", {
- visitor: []
- });
-}
-defineType("Placeholder", {
- visitor: [],
- builder: ["expectedNode", "name"],
- fields: {
- name: {
- validate: (0, _utils.assertNodeType)("Identifier")
- },
- expectedNode: {
- validate: (0, _utils.assertOneOf)(..._placeholders.PLACEHOLDERS)
- }
- }
-});
-defineType("V8IntrinsicIdentifier", {
- builder: ["name"],
- fields: {
- name: {
- validate: (0, _utils.assertValueType)("string")
- }
- }
-});
-
-//# sourceMappingURL=misc.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/misc.js.map b/includes/search/node_modules/@babel/types/lib/definitions/misc.js.map
deleted file mode 100644
index ef25f19..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/misc.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["defineType","defineAliasedType","visitor","builder","fields","name","validate","assertNodeType","expectedNode","assertOneOf","PLACEHOLDERS","assertValueType"],"sources":["../../src/definitions/misc.ts"],"sourcesContent":["import {\n defineAliasedType,\n assertNodeType,\n assertOneOf,\n assertValueType,\n} from \"./utils\";\nimport { PLACEHOLDERS } from \"./placeholders\";\n\nconst defineType = defineAliasedType(\"Miscellaneous\");\n\nif (!process.env.BABEL_8_BREAKING) {\n defineType(\"Noop\", {\n visitor: [],\n });\n}\n\ndefineType(\"Placeholder\", {\n visitor: [],\n builder: [\"expectedNode\", \"name\"],\n // aliases: [], defined in placeholders.js\n fields: {\n name: {\n validate: assertNodeType(\"Identifier\"),\n },\n expectedNode: {\n validate: assertOneOf(...PLACEHOLDERS),\n },\n },\n});\n\ndefineType(\"V8IntrinsicIdentifier\", {\n builder: [\"name\"],\n fields: {\n name: {\n validate: assertValueType(\"string\"),\n },\n },\n});\n"],"mappings":";;AAAA;;AAMA;;AAEA,MAAMA,UAAU,GAAG,IAAAC,wBAAA,EAAkB,eAAlB,CAAnB;AAEmC;EACjCD,UAAU,CAAC,MAAD,EAAS;IACjBE,OAAO,EAAE;EADQ,CAAT,CAAV;AAGD;AAEDF,UAAU,CAAC,aAAD,EAAgB;EACxBE,OAAO,EAAE,EADe;EAExBC,OAAO,EAAE,CAAC,cAAD,EAAiB,MAAjB,CAFe;EAIxBC,MAAM,EAAE;IACNC,IAAI,EAAE;MACJC,QAAQ,EAAE,IAAAC,qBAAA,EAAe,YAAf;IADN,CADA;IAINC,YAAY,EAAE;MACZF,QAAQ,EAAE,IAAAG,kBAAA,EAAY,GAAGC,0BAAf;IADE;EAJR;AAJgB,CAAhB,CAAV;AAcAV,UAAU,CAAC,uBAAD,EAA0B;EAClCG,OAAO,EAAE,CAAC,MAAD,CADyB;EAElCC,MAAM,EAAE;IACNC,IAAI,EAAE;MACJC,QAAQ,EAAE,IAAAK,sBAAA,EAAgB,QAAhB;IADN;EADA;AAF0B,CAA1B,CAAV"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/placeholders.js b/includes/search/node_modules/@babel/types/lib/definitions/placeholders.js
deleted file mode 100644
index 5dd4f7f..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/placeholders.js
+++ /dev/null
@@ -1,35 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0;
-
-var _utils = require("./utils");
-
-const PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"];
-exports.PLACEHOLDERS = PLACEHOLDERS;
-const PLACEHOLDERS_ALIAS = {
- Declaration: ["Statement"],
- Pattern: ["PatternLike", "LVal"]
-};
-exports.PLACEHOLDERS_ALIAS = PLACEHOLDERS_ALIAS;
-
-for (const type of PLACEHOLDERS) {
- const alias = _utils.ALIAS_KEYS[type];
- if (alias != null && alias.length) PLACEHOLDERS_ALIAS[type] = alias;
-}
-
-const PLACEHOLDERS_FLIPPED_ALIAS = {};
-exports.PLACEHOLDERS_FLIPPED_ALIAS = PLACEHOLDERS_FLIPPED_ALIAS;
-Object.keys(PLACEHOLDERS_ALIAS).forEach(type => {
- PLACEHOLDERS_ALIAS[type].forEach(alias => {
- if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) {
- PLACEHOLDERS_FLIPPED_ALIAS[alias] = [];
- }
-
- PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type);
- });
-});
-
-//# sourceMappingURL=placeholders.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/placeholders.js.map b/includes/search/node_modules/@babel/types/lib/definitions/placeholders.js.map
deleted file mode 100644
index e35f7bd..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/placeholders.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["PLACEHOLDERS","PLACEHOLDERS_ALIAS","Declaration","Pattern","type","alias","ALIAS_KEYS","length","PLACEHOLDERS_FLIPPED_ALIAS","Object","keys","forEach","hasOwnProperty","call","push"],"sources":["../../src/definitions/placeholders.ts"],"sourcesContent":["import { ALIAS_KEYS } from \"./utils\";\n\nexport const PLACEHOLDERS = [\n \"Identifier\",\n \"StringLiteral\",\n \"Expression\",\n \"Statement\",\n \"Declaration\",\n \"BlockStatement\",\n \"ClassBody\",\n \"Pattern\",\n] as const;\n\nexport const PLACEHOLDERS_ALIAS: Record<string, string[]> = {\n Declaration: [\"Statement\"],\n Pattern: [\"PatternLike\", \"LVal\"],\n};\n\nfor (const type of PLACEHOLDERS) {\n const alias = ALIAS_KEYS[type];\n if (alias?.length) PLACEHOLDERS_ALIAS[type] = alias;\n}\n\nexport const PLACEHOLDERS_FLIPPED_ALIAS: Record<string, string[]> = {};\n\nObject.keys(PLACEHOLDERS_ALIAS).forEach(type => {\n PLACEHOLDERS_ALIAS[type].forEach(alias => {\n if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) {\n PLACEHOLDERS_FLIPPED_ALIAS[alias] = [];\n }\n PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type);\n });\n});\n"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,YAAY,GAAG,CAC1B,YAD0B,EAE1B,eAF0B,EAG1B,YAH0B,EAI1B,WAJ0B,EAK1B,aAL0B,EAM1B,gBAN0B,EAO1B,WAP0B,EAQ1B,SAR0B,CAArB;;AAWA,MAAMC,kBAA4C,GAAG;EAC1DC,WAAW,EAAE,CAAC,WAAD,CAD6C;EAE1DC,OAAO,EAAE,CAAC,aAAD,EAAgB,MAAhB;AAFiD,CAArD;;;AAKP,KAAK,MAAMC,IAAX,IAAmBJ,YAAnB,EAAiC;EAC/B,MAAMK,KAAK,GAAGC,iBAAA,CAAWF,IAAX,CAAd;EACA,IAAIC,KAAJ,YAAIA,KAAK,CAAEE,MAAX,EAAmBN,kBAAkB,CAACG,IAAD,CAAlB,GAA2BC,KAA3B;AACpB;;AAEM,MAAMG,0BAAoD,GAAG,EAA7D;;AAEPC,MAAM,CAACC,IAAP,CAAYT,kBAAZ,EAAgCU,OAAhC,CAAwCP,IAAI,IAAI;EAC9CH,kBAAkB,CAACG,IAAD,CAAlB,CAAyBO,OAAzB,CAAiCN,KAAK,IAAI;IACxC,IAAI,CAACI,MAAM,CAACG,cAAP,CAAsBC,IAAtB,CAA2BL,0BAA3B,EAAuDH,KAAvD,CAAL,EAAoE;MAClEG,0BAA0B,CAACH,KAAD,CAA1B,GAAoC,EAApC;IACD;;IACDG,0BAA0B,CAACH,KAAD,CAA1B,CAAkCS,IAAlC,CAAuCV,IAAvC;EACD,CALD;AAMD,CAPD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/typescript.js b/includes/search/node_modules/@babel/types/lib/definitions/typescript.js
deleted file mode 100644
index 87771c9..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/typescript.js
+++ /dev/null
@@ -1,497 +0,0 @@
-"use strict";
-
-var _utils = require("./utils");
-
-var _core = require("./core");
-
-var _is = require("../validators/is");
-
-const defineType = (0, _utils.defineAliasedType)("TypeScript");
-const bool = (0, _utils.assertValueType)("boolean");
-
-const tSFunctionTypeAnnotationCommon = () => ({
- returnType: {
- validate: (0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"),
- optional: true
- },
- typeParameters: {
- validate: (0, _utils.assertNodeType)("TSTypeParameterDeclaration", "Noop"),
- optional: true
- }
-});
-
-defineType("TSParameterProperty", {
- aliases: ["LVal"],
- visitor: ["parameter"],
- fields: {
- accessibility: {
- validate: (0, _utils.assertOneOf)("public", "private", "protected"),
- optional: true
- },
- readonly: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- parameter: {
- validate: (0, _utils.assertNodeType)("Identifier", "AssignmentPattern")
- },
- override: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- decorators: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))),
- optional: true
- }
- }
-});
-defineType("TSDeclareFunction", {
- aliases: ["Statement", "Declaration"],
- visitor: ["id", "typeParameters", "params", "returnType"],
- fields: Object.assign({}, (0, _core.functionDeclarationCommon)(), tSFunctionTypeAnnotationCommon())
-});
-defineType("TSDeclareMethod", {
- visitor: ["decorators", "key", "typeParameters", "params", "returnType"],
- fields: Object.assign({}, (0, _core.classMethodOrDeclareMethodCommon)(), tSFunctionTypeAnnotationCommon())
-});
-defineType("TSQualifiedName", {
- aliases: ["TSEntityName"],
- visitor: ["left", "right"],
- fields: {
- left: (0, _utils.validateType)("TSEntityName"),
- right: (0, _utils.validateType)("Identifier")
- }
-});
-
-const signatureDeclarationCommon = () => ({
- typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"),
- ["parameters"]: (0, _utils.validateArrayOfType)(["Identifier", "RestElement"]),
- ["typeAnnotation"]: (0, _utils.validateOptionalType)("TSTypeAnnotation")
-});
-
-const callConstructSignatureDeclaration = {
- aliases: ["TSTypeElement"],
- visitor: ["typeParameters", "parameters", "typeAnnotation"],
- fields: signatureDeclarationCommon()
-};
-defineType("TSCallSignatureDeclaration", callConstructSignatureDeclaration);
-defineType("TSConstructSignatureDeclaration", callConstructSignatureDeclaration);
-
-const namedTypeElementCommon = () => ({
- key: (0, _utils.validateType)("Expression"),
- computed: {
- default: false
- },
- optional: (0, _utils.validateOptional)(bool)
-});
-
-defineType("TSPropertySignature", {
- aliases: ["TSTypeElement"],
- visitor: ["key", "typeAnnotation", "initializer"],
- fields: Object.assign({}, namedTypeElementCommon(), {
- readonly: (0, _utils.validateOptional)(bool),
- typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"),
- initializer: (0, _utils.validateOptionalType)("Expression"),
- kind: {
- validate: (0, _utils.assertOneOf)("get", "set")
- }
- })
-});
-defineType("TSMethodSignature", {
- aliases: ["TSTypeElement"],
- visitor: ["key", "typeParameters", "parameters", "typeAnnotation"],
- fields: Object.assign({}, signatureDeclarationCommon(), namedTypeElementCommon(), {
- kind: {
- validate: (0, _utils.assertOneOf)("method", "get", "set")
- }
- })
-});
-defineType("TSIndexSignature", {
- aliases: ["TSTypeElement"],
- visitor: ["parameters", "typeAnnotation"],
- fields: {
- readonly: (0, _utils.validateOptional)(bool),
- static: (0, _utils.validateOptional)(bool),
- parameters: (0, _utils.validateArrayOfType)("Identifier"),
- typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation")
- }
-});
-const tsKeywordTypes = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSIntrinsicKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"];
-
-for (const type of tsKeywordTypes) {
- defineType(type, {
- aliases: ["TSType", "TSBaseType"],
- visitor: [],
- fields: {}
- });
-}
-
-defineType("TSThisType", {
- aliases: ["TSType", "TSBaseType"],
- visitor: [],
- fields: {}
-});
-const fnOrCtrBase = {
- aliases: ["TSType"],
- visitor: ["typeParameters", "parameters", "typeAnnotation"]
-};
-defineType("TSFunctionType", Object.assign({}, fnOrCtrBase, {
- fields: signatureDeclarationCommon()
-}));
-defineType("TSConstructorType", Object.assign({}, fnOrCtrBase, {
- fields: Object.assign({}, signatureDeclarationCommon(), {
- abstract: (0, _utils.validateOptional)(bool)
- })
-}));
-defineType("TSTypeReference", {
- aliases: ["TSType"],
- visitor: ["typeName", "typeParameters"],
- fields: {
- typeName: (0, _utils.validateType)("TSEntityName"),
- typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation")
- }
-});
-defineType("TSTypePredicate", {
- aliases: ["TSType"],
- visitor: ["parameterName", "typeAnnotation"],
- builder: ["parameterName", "typeAnnotation", "asserts"],
- fields: {
- parameterName: (0, _utils.validateType)(["Identifier", "TSThisType"]),
- typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"),
- asserts: (0, _utils.validateOptional)(bool)
- }
-});
-defineType("TSTypeQuery", {
- aliases: ["TSType"],
- visitor: ["exprName", "typeParameters"],
- fields: {
- exprName: (0, _utils.validateType)(["TSEntityName", "TSImportType"]),
- typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation")
- }
-});
-defineType("TSTypeLiteral", {
- aliases: ["TSType"],
- visitor: ["members"],
- fields: {
- members: (0, _utils.validateArrayOfType)("TSTypeElement")
- }
-});
-defineType("TSArrayType", {
- aliases: ["TSType"],
- visitor: ["elementType"],
- fields: {
- elementType: (0, _utils.validateType)("TSType")
- }
-});
-defineType("TSTupleType", {
- aliases: ["TSType"],
- visitor: ["elementTypes"],
- fields: {
- elementTypes: (0, _utils.validateArrayOfType)(["TSType", "TSNamedTupleMember"])
- }
-});
-defineType("TSOptionalType", {
- aliases: ["TSType"],
- visitor: ["typeAnnotation"],
- fields: {
- typeAnnotation: (0, _utils.validateType)("TSType")
- }
-});
-defineType("TSRestType", {
- aliases: ["TSType"],
- visitor: ["typeAnnotation"],
- fields: {
- typeAnnotation: (0, _utils.validateType)("TSType")
- }
-});
-defineType("TSNamedTupleMember", {
- visitor: ["label", "elementType"],
- builder: ["label", "elementType", "optional"],
- fields: {
- label: (0, _utils.validateType)("Identifier"),
- optional: {
- validate: bool,
- default: false
- },
- elementType: (0, _utils.validateType)("TSType")
- }
-});
-const unionOrIntersection = {
- aliases: ["TSType"],
- visitor: ["types"],
- fields: {
- types: (0, _utils.validateArrayOfType)("TSType")
- }
-};
-defineType("TSUnionType", unionOrIntersection);
-defineType("TSIntersectionType", unionOrIntersection);
-defineType("TSConditionalType", {
- aliases: ["TSType"],
- visitor: ["checkType", "extendsType", "trueType", "falseType"],
- fields: {
- checkType: (0, _utils.validateType)("TSType"),
- extendsType: (0, _utils.validateType)("TSType"),
- trueType: (0, _utils.validateType)("TSType"),
- falseType: (0, _utils.validateType)("TSType")
- }
-});
-defineType("TSInferType", {
- aliases: ["TSType"],
- visitor: ["typeParameter"],
- fields: {
- typeParameter: (0, _utils.validateType)("TSTypeParameter")
- }
-});
-defineType("TSParenthesizedType", {
- aliases: ["TSType"],
- visitor: ["typeAnnotation"],
- fields: {
- typeAnnotation: (0, _utils.validateType)("TSType")
- }
-});
-defineType("TSTypeOperator", {
- aliases: ["TSType"],
- visitor: ["typeAnnotation"],
- fields: {
- operator: (0, _utils.validate)((0, _utils.assertValueType)("string")),
- typeAnnotation: (0, _utils.validateType)("TSType")
- }
-});
-defineType("TSIndexedAccessType", {
- aliases: ["TSType"],
- visitor: ["objectType", "indexType"],
- fields: {
- objectType: (0, _utils.validateType)("TSType"),
- indexType: (0, _utils.validateType)("TSType")
- }
-});
-defineType("TSMappedType", {
- aliases: ["TSType"],
- visitor: ["typeParameter", "typeAnnotation", "nameType"],
- fields: {
- readonly: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, "+", "-")),
- typeParameter: (0, _utils.validateType)("TSTypeParameter"),
- optional: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, "+", "-")),
- typeAnnotation: (0, _utils.validateOptionalType)("TSType"),
- nameType: (0, _utils.validateOptionalType)("TSType")
- }
-});
-defineType("TSLiteralType", {
- aliases: ["TSType", "TSBaseType"],
- visitor: ["literal"],
- fields: {
- literal: {
- validate: function () {
- const unaryExpression = (0, _utils.assertNodeType)("NumericLiteral", "BigIntLiteral");
- const unaryOperator = (0, _utils.assertOneOf)("-");
- const literal = (0, _utils.assertNodeType)("NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral");
-
- function validator(parent, key, node) {
- if ((0, _is.default)("UnaryExpression", node)) {
- unaryOperator(node, "operator", node.operator);
- unaryExpression(node, "argument", node.argument);
- } else {
- literal(parent, key, node);
- }
- }
-
- validator.oneOfNodeTypes = ["NumericLiteral", "StringLiteral", "BooleanLiteral", "BigIntLiteral", "TemplateLiteral", "UnaryExpression"];
- return validator;
- }()
- }
- }
-});
-defineType("TSExpressionWithTypeArguments", {
- aliases: ["TSType"],
- visitor: ["expression", "typeParameters"],
- fields: {
- expression: (0, _utils.validateType)("TSEntityName"),
- typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation")
- }
-});
-defineType("TSInterfaceDeclaration", {
- aliases: ["Statement", "Declaration"],
- visitor: ["id", "typeParameters", "extends", "body"],
- fields: {
- declare: (0, _utils.validateOptional)(bool),
- id: (0, _utils.validateType)("Identifier"),
- typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"),
- extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("TSExpressionWithTypeArguments")),
- body: (0, _utils.validateType)("TSInterfaceBody")
- }
-});
-defineType("TSInterfaceBody", {
- visitor: ["body"],
- fields: {
- body: (0, _utils.validateArrayOfType)("TSTypeElement")
- }
-});
-defineType("TSTypeAliasDeclaration", {
- aliases: ["Statement", "Declaration"],
- visitor: ["id", "typeParameters", "typeAnnotation"],
- fields: {
- declare: (0, _utils.validateOptional)(bool),
- id: (0, _utils.validateType)("Identifier"),
- typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"),
- typeAnnotation: (0, _utils.validateType)("TSType")
- }
-});
-defineType("TSInstantiationExpression", {
- aliases: ["Expression"],
- visitor: ["expression", "typeParameters"],
- fields: {
- expression: (0, _utils.validateType)("Expression"),
- typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation")
- }
-});
-defineType("TSAsExpression", {
- aliases: ["Expression", "LVal", "PatternLike"],
- visitor: ["expression", "typeAnnotation"],
- fields: {
- expression: (0, _utils.validateType)("Expression"),
- typeAnnotation: (0, _utils.validateType)("TSType")
- }
-});
-defineType("TSTypeAssertion", {
- aliases: ["Expression", "LVal", "PatternLike"],
- visitor: ["typeAnnotation", "expression"],
- fields: {
- typeAnnotation: (0, _utils.validateType)("TSType"),
- expression: (0, _utils.validateType)("Expression")
- }
-});
-defineType("TSEnumDeclaration", {
- aliases: ["Statement", "Declaration"],
- visitor: ["id", "members"],
- fields: {
- declare: (0, _utils.validateOptional)(bool),
- const: (0, _utils.validateOptional)(bool),
- id: (0, _utils.validateType)("Identifier"),
- members: (0, _utils.validateArrayOfType)("TSEnumMember"),
- initializer: (0, _utils.validateOptionalType)("Expression")
- }
-});
-defineType("TSEnumMember", {
- visitor: ["id", "initializer"],
- fields: {
- id: (0, _utils.validateType)(["Identifier", "StringLiteral"]),
- initializer: (0, _utils.validateOptionalType)("Expression")
- }
-});
-defineType("TSModuleDeclaration", {
- aliases: ["Statement", "Declaration"],
- visitor: ["id", "body"],
- fields: {
- declare: (0, _utils.validateOptional)(bool),
- global: (0, _utils.validateOptional)(bool),
- id: (0, _utils.validateType)(["Identifier", "StringLiteral"]),
- body: (0, _utils.validateType)(["TSModuleBlock", "TSModuleDeclaration"])
- }
-});
-defineType("TSModuleBlock", {
- aliases: ["Scopable", "Block", "BlockParent"],
- visitor: ["body"],
- fields: {
- body: (0, _utils.validateArrayOfType)("Statement")
- }
-});
-defineType("TSImportType", {
- aliases: ["TSType"],
- visitor: ["argument", "qualifier", "typeParameters"],
- fields: {
- argument: (0, _utils.validateType)("StringLiteral"),
- qualifier: (0, _utils.validateOptionalType)("TSEntityName"),
- typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation")
- }
-});
-defineType("TSImportEqualsDeclaration", {
- aliases: ["Statement"],
- visitor: ["id", "moduleReference"],
- fields: {
- isExport: (0, _utils.validate)(bool),
- id: (0, _utils.validateType)("Identifier"),
- moduleReference: (0, _utils.validateType)(["TSEntityName", "TSExternalModuleReference"]),
- importKind: {
- validate: (0, _utils.assertOneOf)("type", "value"),
- optional: true
- }
- }
-});
-defineType("TSExternalModuleReference", {
- visitor: ["expression"],
- fields: {
- expression: (0, _utils.validateType)("StringLiteral")
- }
-});
-defineType("TSNonNullExpression", {
- aliases: ["Expression", "LVal", "PatternLike"],
- visitor: ["expression"],
- fields: {
- expression: (0, _utils.validateType)("Expression")
- }
-});
-defineType("TSExportAssignment", {
- aliases: ["Statement"],
- visitor: ["expression"],
- fields: {
- expression: (0, _utils.validateType)("Expression")
- }
-});
-defineType("TSNamespaceExportDeclaration", {
- aliases: ["Statement"],
- visitor: ["id"],
- fields: {
- id: (0, _utils.validateType)("Identifier")
- }
-});
-defineType("TSTypeAnnotation", {
- visitor: ["typeAnnotation"],
- fields: {
- typeAnnotation: {
- validate: (0, _utils.assertNodeType)("TSType")
- }
- }
-});
-defineType("TSTypeParameterInstantiation", {
- visitor: ["params"],
- fields: {
- params: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSType")))
- }
- }
-});
-defineType("TSTypeParameterDeclaration", {
- visitor: ["params"],
- fields: {
- params: {
- validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSTypeParameter")))
- }
- }
-});
-defineType("TSTypeParameter", {
- builder: ["constraint", "default", "name"],
- visitor: ["constraint", "default"],
- fields: {
- name: {
- validate: (0, _utils.assertValueType)("string")
- },
- in: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- out: {
- validate: (0, _utils.assertValueType)("boolean"),
- optional: true
- },
- constraint: {
- validate: (0, _utils.assertNodeType)("TSType"),
- optional: true
- },
- default: {
- validate: (0, _utils.assertNodeType)("TSType"),
- optional: true
- }
- }
-});
-
-//# sourceMappingURL=typescript.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/typescript.js.map b/includes/search/node_modules/@babel/types/lib/definitions/typescript.js.map
deleted file mode 100644
index 9c3a660..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/typescript.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["defineType","defineAliasedType","bool","assertValueType","tSFunctionTypeAnnotationCommon","returnType","validate","assertNodeType","optional","typeParameters","aliases","visitor","fields","accessibility","assertOneOf","readonly","parameter","override","decorators","chain","assertEach","functionDeclarationCommon","classMethodOrDeclareMethodCommon","left","validateType","right","signatureDeclarationCommon","validateOptionalType","validateArrayOfType","callConstructSignatureDeclaration","namedTypeElementCommon","key","computed","default","validateOptional","typeAnnotation","initializer","kind","static","parameters","tsKeywordTypes","type","fnOrCtrBase","abstract","typeName","builder","parameterName","asserts","exprName","members","elementType","elementTypes","label","unionOrIntersection","types","checkType","extendsType","trueType","falseType","typeParameter","operator","objectType","indexType","nameType","literal","unaryExpression","unaryOperator","validator","parent","node","is","argument","oneOfNodeTypes","expression","declare","id","extends","arrayOfType","body","const","global","qualifier","isExport","moduleReference","importKind","params","name","in","out","constraint"],"sources":["../../src/definitions/typescript.ts"],"sourcesContent":["import {\n defineAliasedType,\n arrayOfType,\n assertEach,\n assertNodeType,\n assertOneOf,\n assertValueType,\n chain,\n validate,\n validateArrayOfType,\n validateOptional,\n validateOptionalType,\n validateType,\n} from \"./utils\";\nimport {\n functionDeclarationCommon,\n classMethodOrDeclareMethodCommon,\n} from \"./core\";\nimport is from \"../validators/is\";\n\nconst defineType = defineAliasedType(\"TypeScript\");\n\nconst bool = assertValueType(\"boolean\");\n\nconst tSFunctionTypeAnnotationCommon = () => ({\n returnType: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TSTypeAnnotation\")\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n assertNodeType(\"TSTypeAnnotation\", \"Noop\"),\n optional: true,\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TSTypeParameterDeclaration\")\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n assertNodeType(\"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true,\n },\n});\n\ndefineType(\"TSParameterProperty\", {\n aliases: [\"LVal\"], // TODO: This isn't usable in general as an LVal. Should have a \"Parameter\" alias.\n visitor: [\"parameter\"],\n fields: {\n accessibility: {\n validate: assertOneOf(\"public\", \"private\", \"protected\"),\n optional: true,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n parameter: {\n validate: assertNodeType(\"Identifier\", \"AssignmentPattern\"),\n },\n override: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n },\n});\n\ndefineType(\"TSDeclareFunction\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"params\", \"returnType\"],\n fields: {\n ...functionDeclarationCommon(),\n ...tSFunctionTypeAnnotationCommon(),\n },\n});\n\ndefineType(\"TSDeclareMethod\", {\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\"],\n fields: {\n ...classMethodOrDeclareMethodCommon(),\n ...tSFunctionTypeAnnotationCommon(),\n },\n});\n\ndefineType(\"TSQualifiedName\", {\n aliases: [\"TSEntityName\"],\n visitor: [\"left\", \"right\"],\n fields: {\n left: validateType(\"TSEntityName\"),\n right: validateType(\"Identifier\"),\n },\n});\n\nconst signatureDeclarationCommon = () => ({\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n [process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\"]: validateArrayOfType(\n [\"Identifier\", \"RestElement\"],\n ),\n [process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\"]:\n validateOptionalType(\"TSTypeAnnotation\"),\n});\n\nconst callConstructSignatureDeclaration = {\n aliases: [\"TSTypeElement\"],\n visitor: [\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n fields: signatureDeclarationCommon(),\n};\n\ndefineType(\"TSCallSignatureDeclaration\", callConstructSignatureDeclaration);\ndefineType(\n \"TSConstructSignatureDeclaration\",\n callConstructSignatureDeclaration,\n);\n\nconst namedTypeElementCommon = () => ({\n key: validateType(\"Expression\"),\n computed: { default: false },\n optional: validateOptional(bool),\n});\n\ndefineType(\"TSPropertySignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"key\", \"typeAnnotation\", \"initializer\"],\n fields: {\n ...namedTypeElementCommon(),\n readonly: validateOptional(bool),\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n initializer: validateOptionalType(\"Expression\"),\n kind: {\n validate: assertOneOf(\"get\", \"set\"),\n },\n },\n});\n\ndefineType(\"TSMethodSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\n \"key\",\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n fields: {\n ...signatureDeclarationCommon(),\n ...namedTypeElementCommon(),\n kind: {\n validate: assertOneOf(\"method\", \"get\", \"set\"),\n },\n },\n});\n\ndefineType(\"TSIndexSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"parameters\", \"typeAnnotation\"],\n fields: {\n readonly: validateOptional(bool),\n static: validateOptional(bool),\n parameters: validateArrayOfType(\"Identifier\"), // Length must be 1\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n },\n});\n\nconst tsKeywordTypes = [\n \"TSAnyKeyword\",\n \"TSBooleanKeyword\",\n \"TSBigIntKeyword\",\n \"TSIntrinsicKeyword\",\n \"TSNeverKeyword\",\n \"TSNullKeyword\",\n \"TSNumberKeyword\",\n \"TSObjectKeyword\",\n \"TSStringKeyword\",\n \"TSSymbolKeyword\",\n \"TSUndefinedKeyword\",\n \"TSUnknownKeyword\",\n \"TSVoidKeyword\",\n] as const;\n\nfor (const type of tsKeywordTypes) {\n defineType(type, {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {},\n });\n}\n\ndefineType(\"TSThisType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {},\n});\n\nconst fnOrCtrBase = {\n aliases: [\"TSType\"],\n visitor: [\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n};\n\ndefineType(\"TSFunctionType\", {\n ...fnOrCtrBase,\n fields: signatureDeclarationCommon(),\n});\ndefineType(\"TSConstructorType\", {\n ...fnOrCtrBase,\n fields: {\n ...signatureDeclarationCommon(),\n abstract: validateOptional(bool),\n },\n});\n\ndefineType(\"TSTypeReference\", {\n aliases: [\"TSType\"],\n visitor: [\"typeName\", \"typeParameters\"],\n fields: {\n typeName: validateType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSTypePredicate\", {\n aliases: [\"TSType\"],\n visitor: [\"parameterName\", \"typeAnnotation\"],\n builder: [\"parameterName\", \"typeAnnotation\", \"asserts\"],\n fields: {\n parameterName: validateType([\"Identifier\", \"TSThisType\"]),\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n asserts: validateOptional(bool),\n },\n});\n\ndefineType(\"TSTypeQuery\", {\n aliases: [\"TSType\"],\n visitor: [\"exprName\", \"typeParameters\"],\n fields: {\n exprName: validateType([\"TSEntityName\", \"TSImportType\"]),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSTypeLiteral\", {\n aliases: [\"TSType\"],\n visitor: [\"members\"],\n fields: {\n members: validateArrayOfType(\"TSTypeElement\"),\n },\n});\n\ndefineType(\"TSArrayType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementType\"],\n fields: {\n elementType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTupleType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementTypes\"],\n fields: {\n elementTypes: validateArrayOfType([\"TSType\", \"TSNamedTupleMember\"]),\n },\n});\n\ndefineType(\"TSOptionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSRestType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSNamedTupleMember\", {\n visitor: [\"label\", \"elementType\"],\n builder: [\"label\", \"elementType\", \"optional\"],\n fields: {\n label: validateType(\"Identifier\"),\n optional: {\n validate: bool,\n default: false,\n },\n elementType: validateType(\"TSType\"),\n },\n});\n\nconst unionOrIntersection = {\n aliases: [\"TSType\"],\n visitor: [\"types\"],\n fields: {\n types: validateArrayOfType(\"TSType\"),\n },\n};\n\ndefineType(\"TSUnionType\", unionOrIntersection);\ndefineType(\"TSIntersectionType\", unionOrIntersection);\n\ndefineType(\"TSConditionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"checkType\", \"extendsType\", \"trueType\", \"falseType\"],\n fields: {\n checkType: validateType(\"TSType\"),\n extendsType: validateType(\"TSType\"),\n trueType: validateType(\"TSType\"),\n falseType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSInferType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\"],\n fields: {\n typeParameter: validateType(\"TSTypeParameter\"),\n },\n});\n\ndefineType(\"TSParenthesizedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTypeOperator\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n operator: validate(assertValueType(\"string\")),\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSIndexedAccessType\", {\n aliases: [\"TSType\"],\n visitor: [\"objectType\", \"indexType\"],\n fields: {\n objectType: validateType(\"TSType\"),\n indexType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSMappedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\", \"typeAnnotation\", \"nameType\"],\n fields: {\n readonly: validateOptional(assertOneOf(true, false, \"+\", \"-\")),\n typeParameter: validateType(\"TSTypeParameter\"),\n optional: validateOptional(assertOneOf(true, false, \"+\", \"-\")),\n typeAnnotation: validateOptionalType(\"TSType\"),\n nameType: validateOptionalType(\"TSType\"),\n },\n});\n\ndefineType(\"TSLiteralType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [\"literal\"],\n fields: {\n literal: {\n validate: (function () {\n const unaryExpression = assertNodeType(\n \"NumericLiteral\",\n \"BigIntLiteral\",\n );\n const unaryOperator = assertOneOf(\"-\");\n\n const literal = assertNodeType(\n \"NumericLiteral\",\n \"StringLiteral\",\n \"BooleanLiteral\",\n \"BigIntLiteral\",\n \"TemplateLiteral\",\n );\n function validator(parent: any, key: string, node: any) {\n // type A = -1 | 1;\n if (is(\"UnaryExpression\", node)) {\n // check operator first\n unaryOperator(node, \"operator\", node.operator);\n unaryExpression(node, \"argument\", node.argument);\n } else {\n // type A = 'foo' | 'bar' | false | 1;\n literal(parent, key, node);\n }\n }\n\n validator.oneOfNodeTypes = [\n \"NumericLiteral\",\n \"StringLiteral\",\n \"BooleanLiteral\",\n \"BigIntLiteral\",\n \"TemplateLiteral\",\n \"UnaryExpression\",\n ];\n\n return validator;\n })(),\n },\n },\n});\n\ndefineType(\"TSExpressionWithTypeArguments\", {\n aliases: [\"TSType\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: validateType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSInterfaceDeclaration\", {\n // \"Statement\" alias prevents a semicolon from appearing after it in an export declaration.\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n fields: {\n declare: validateOptional(bool),\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n extends: validateOptional(arrayOfType(\"TSExpressionWithTypeArguments\")),\n body: validateType(\"TSInterfaceBody\"),\n },\n});\n\ndefineType(\"TSInterfaceBody\", {\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\"TSTypeElement\"),\n },\n});\n\ndefineType(\"TSTypeAliasDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"typeAnnotation\"],\n fields: {\n declare: validateOptional(bool),\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSInstantiationExpression\", {\n aliases: [\"Expression\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSAsExpression\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\", \"typeAnnotation\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTypeAssertion\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"typeAnnotation\", \"expression\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSEnumDeclaration\", {\n // \"Statement\" alias prevents a semicolon from appearing after it in an export declaration.\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"members\"],\n fields: {\n declare: validateOptional(bool),\n const: validateOptional(bool),\n id: validateType(\"Identifier\"),\n members: validateArrayOfType(\"TSEnumMember\"),\n initializer: validateOptionalType(\"Expression\"),\n },\n});\n\ndefineType(\"TSEnumMember\", {\n visitor: [\"id\", \"initializer\"],\n fields: {\n id: validateType([\"Identifier\", \"StringLiteral\"]),\n initializer: validateOptionalType(\"Expression\"),\n },\n});\n\ndefineType(\"TSModuleDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n declare: validateOptional(bool),\n global: validateOptional(bool),\n id: validateType([\"Identifier\", \"StringLiteral\"]),\n body: validateType([\"TSModuleBlock\", \"TSModuleDeclaration\"]),\n },\n});\n\ndefineType(\"TSModuleBlock\", {\n aliases: [\"Scopable\", \"Block\", \"BlockParent\"],\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\"Statement\"),\n },\n});\n\ndefineType(\"TSImportType\", {\n aliases: [\"TSType\"],\n visitor: [\"argument\", \"qualifier\", \"typeParameters\"],\n fields: {\n argument: validateType(\"StringLiteral\"),\n qualifier: validateOptionalType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSImportEqualsDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\", \"moduleReference\"],\n fields: {\n isExport: validate(bool),\n id: validateType(\"Identifier\"),\n moduleReference: validateType([\n \"TSEntityName\",\n \"TSExternalModuleReference\",\n ]),\n importKind: {\n validate: assertOneOf(\"type\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"TSExternalModuleReference\", {\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"StringLiteral\"),\n },\n});\n\ndefineType(\"TSNonNullExpression\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSExportAssignment\", {\n aliases: [\"Statement\"],\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSNamespaceExportDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"TSTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: {\n validate: assertNodeType(\"TSType\"),\n },\n },\n});\n\ndefineType(\"TSTypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"TSType\")),\n ),\n },\n },\n});\n\ndefineType(\"TSTypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"TSTypeParameter\")),\n ),\n },\n },\n});\n\ndefineType(\"TSTypeParameter\", {\n builder: [\"constraint\", \"default\", \"name\"],\n visitor: [\"constraint\", \"default\"],\n fields: {\n name: {\n validate: !process.env.BABEL_8_BREAKING\n ? assertValueType(\"string\")\n : assertNodeType(\"Identifier\"),\n },\n in: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n out: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n constraint: {\n validate: assertNodeType(\"TSType\"),\n optional: true,\n },\n default: {\n validate: assertNodeType(\"TSType\"),\n optional: true,\n },\n },\n});\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/utils.js b/includes/search/node_modules/@babel/types/lib/definitions/utils.js
deleted file mode 100644
index 835f498..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/utils.js
+++ /dev/null
@@ -1,345 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.VISITOR_KEYS = exports.NODE_PARENT_VALIDATIONS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.ALIAS_KEYS = void 0;
-exports.arrayOf = arrayOf;
-exports.arrayOfType = arrayOfType;
-exports.assertEach = assertEach;
-exports.assertNodeOrValueType = assertNodeOrValueType;
-exports.assertNodeType = assertNodeType;
-exports.assertOneOf = assertOneOf;
-exports.assertOptionalChainStart = assertOptionalChainStart;
-exports.assertShape = assertShape;
-exports.assertValueType = assertValueType;
-exports.chain = chain;
-exports.default = defineType;
-exports.defineAliasedType = defineAliasedType;
-exports.typeIs = typeIs;
-exports.validate = validate;
-exports.validateArrayOfType = validateArrayOfType;
-exports.validateOptional = validateOptional;
-exports.validateOptionalType = validateOptionalType;
-exports.validateType = validateType;
-
-var _is = require("../validators/is");
-
-var _validate = require("../validators/validate");
-
-const VISITOR_KEYS = {};
-exports.VISITOR_KEYS = VISITOR_KEYS;
-const ALIAS_KEYS = {};
-exports.ALIAS_KEYS = ALIAS_KEYS;
-const FLIPPED_ALIAS_KEYS = {};
-exports.FLIPPED_ALIAS_KEYS = FLIPPED_ALIAS_KEYS;
-const NODE_FIELDS = {};
-exports.NODE_FIELDS = NODE_FIELDS;
-const BUILDER_KEYS = {};
-exports.BUILDER_KEYS = BUILDER_KEYS;
-const DEPRECATED_KEYS = {};
-exports.DEPRECATED_KEYS = DEPRECATED_KEYS;
-const NODE_PARENT_VALIDATIONS = {};
-exports.NODE_PARENT_VALIDATIONS = NODE_PARENT_VALIDATIONS;
-
-function getType(val) {
- if (Array.isArray(val)) {
- return "array";
- } else if (val === null) {
- return "null";
- } else {
- return typeof val;
- }
-}
-
-function validate(validate) {
- return {
- validate
- };
-}
-
-function typeIs(typeName) {
- return typeof typeName === "string" ? assertNodeType(typeName) : assertNodeType(...typeName);
-}
-
-function validateType(typeName) {
- return validate(typeIs(typeName));
-}
-
-function validateOptional(validate) {
- return {
- validate,
- optional: true
- };
-}
-
-function validateOptionalType(typeName) {
- return {
- validate: typeIs(typeName),
- optional: true
- };
-}
-
-function arrayOf(elementType) {
- return chain(assertValueType("array"), assertEach(elementType));
-}
-
-function arrayOfType(typeName) {
- return arrayOf(typeIs(typeName));
-}
-
-function validateArrayOfType(typeName) {
- return validate(arrayOfType(typeName));
-}
-
-function assertEach(callback) {
- function validator(node, key, val) {
- if (!Array.isArray(val)) return;
-
- for (let i = 0; i < val.length; i++) {
- const subkey = `${key}[${i}]`;
- const v = val[i];
- callback(node, subkey, v);
- if (process.env.BABEL_TYPES_8_BREAKING) (0, _validate.validateChild)(node, subkey, v);
- }
- }
-
- validator.each = callback;
- return validator;
-}
-
-function assertOneOf(...values) {
- function validate(node, key, val) {
- if (values.indexOf(val) < 0) {
- throw new TypeError(`Property ${key} expected value to be one of ${JSON.stringify(values)} but got ${JSON.stringify(val)}`);
- }
- }
-
- validate.oneOf = values;
- return validate;
-}
-
-function assertNodeType(...types) {
- function validate(node, key, val) {
- for (const type of types) {
- if ((0, _is.default)(type, val)) {
- (0, _validate.validateChild)(node, key, val);
- return;
- }
- }
-
- throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);
- }
-
- validate.oneOfNodeTypes = types;
- return validate;
-}
-
-function assertNodeOrValueType(...types) {
- function validate(node, key, val) {
- for (const type of types) {
- if (getType(val) === type || (0, _is.default)(type, val)) {
- (0, _validate.validateChild)(node, key, val);
- return;
- }
- }
-
- throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);
- }
-
- validate.oneOfNodeOrValueTypes = types;
- return validate;
-}
-
-function assertValueType(type) {
- function validate(node, key, val) {
- const valid = getType(val) === type;
-
- if (!valid) {
- throw new TypeError(`Property ${key} expected type of ${type} but got ${getType(val)}`);
- }
- }
-
- validate.type = type;
- return validate;
-}
-
-function assertShape(shape) {
- function validate(node, key, val) {
- const errors = [];
-
- for (const property of Object.keys(shape)) {
- try {
- (0, _validate.validateField)(node, property, val[property], shape[property]);
- } catch (error) {
- if (error instanceof TypeError) {
- errors.push(error.message);
- continue;
- }
-
- throw error;
- }
- }
-
- if (errors.length) {
- throw new TypeError(`Property ${key} of ${node.type} expected to have the following:\n${errors.join("\n")}`);
- }
- }
-
- validate.shapeOf = shape;
- return validate;
-}
-
-function assertOptionalChainStart() {
- function validate(node) {
- var _current;
-
- let current = node;
-
- while (node) {
- const {
- type
- } = current;
-
- if (type === "OptionalCallExpression") {
- if (current.optional) return;
- current = current.callee;
- continue;
- }
-
- if (type === "OptionalMemberExpression") {
- if (current.optional) return;
- current = current.object;
- continue;
- }
-
- break;
- }
-
- throw new TypeError(`Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${(_current = current) == null ? void 0 : _current.type}`);
- }
-
- return validate;
-}
-
-function chain(...fns) {
- function validate(...args) {
- for (const fn of fns) {
- fn(...args);
- }
- }
-
- validate.chainOf = fns;
-
- if (fns.length >= 2 && "type" in fns[0] && fns[0].type === "array" && !("each" in fns[1])) {
- throw new Error(`An assertValueType("array") validator can only be followed by an assertEach(...) validator.`);
- }
-
- return validate;
-}
-
-const validTypeOpts = ["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"];
-const validFieldKeys = ["default", "optional", "validate"];
-
-function defineAliasedType(...aliases) {
- return (type, opts = {}) => {
- let defined = opts.aliases;
-
- if (!defined) {
- var _store$opts$inherits$, _defined;
-
- if (opts.inherits) defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice();
- (_defined = defined) != null ? _defined : defined = [];
- opts.aliases = defined;
- }
-
- const additional = aliases.filter(a => !defined.includes(a));
- defined.unshift(...additional);
- return defineType(type, opts);
- };
-}
-
-function defineType(type, opts = {}) {
- const inherits = opts.inherits && store[opts.inherits] || {};
- let fields = opts.fields;
-
- if (!fields) {
- fields = {};
-
- if (inherits.fields) {
- const keys = Object.getOwnPropertyNames(inherits.fields);
-
- for (const key of keys) {
- const field = inherits.fields[key];
- const def = field.default;
-
- if (Array.isArray(def) ? def.length > 0 : def && typeof def === "object") {
- throw new Error("field defaults can only be primitives or empty arrays currently");
- }
-
- fields[key] = {
- default: Array.isArray(def) ? [] : def,
- optional: field.optional,
- validate: field.validate
- };
- }
- }
- }
-
- const visitor = opts.visitor || inherits.visitor || [];
- const aliases = opts.aliases || inherits.aliases || [];
- const builder = opts.builder || inherits.builder || opts.visitor || [];
-
- for (const k of Object.keys(opts)) {
- if (validTypeOpts.indexOf(k) === -1) {
- throw new Error(`Unknown type option "${k}" on ${type}`);
- }
- }
-
- if (opts.deprecatedAlias) {
- DEPRECATED_KEYS[opts.deprecatedAlias] = type;
- }
-
- for (const key of visitor.concat(builder)) {
- fields[key] = fields[key] || {};
- }
-
- for (const key of Object.keys(fields)) {
- const field = fields[key];
-
- if (field.default !== undefined && builder.indexOf(key) === -1) {
- field.optional = true;
- }
-
- if (field.default === undefined) {
- field.default = null;
- } else if (!field.validate && field.default != null) {
- field.validate = assertValueType(getType(field.default));
- }
-
- for (const k of Object.keys(field)) {
- if (validFieldKeys.indexOf(k) === -1) {
- throw new Error(`Unknown field key "${k}" on ${type}.${key}`);
- }
- }
- }
-
- VISITOR_KEYS[type] = opts.visitor = visitor;
- BUILDER_KEYS[type] = opts.builder = builder;
- NODE_FIELDS[type] = opts.fields = fields;
- ALIAS_KEYS[type] = opts.aliases = aliases;
- aliases.forEach(alias => {
- FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];
- FLIPPED_ALIAS_KEYS[alias].push(type);
- });
-
- if (opts.validate) {
- NODE_PARENT_VALIDATIONS[type] = opts.validate;
- }
-
- store[type] = opts;
-}
-
-const store = {};
-
-//# sourceMappingURL=utils.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/definitions/utils.js.map b/includes/search/node_modules/@babel/types/lib/definitions/utils.js.map
deleted file mode 100644
index ea24733..0000000
--- a/includes/search/node_modules/@babel/types/lib/definitions/utils.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["VISITOR_KEYS","ALIAS_KEYS","FLIPPED_ALIAS_KEYS","NODE_FIELDS","BUILDER_KEYS","DEPRECATED_KEYS","NODE_PARENT_VALIDATIONS","getType","val","Array","isArray","validate","typeIs","typeName","assertNodeType","validateType","validateOptional","optional","validateOptionalType","arrayOf","elementType","chain","assertValueType","assertEach","arrayOfType","validateArrayOfType","callback","validator","node","key","i","length","subkey","v","process","env","BABEL_TYPES_8_BREAKING","validateChild","each","assertOneOf","values","indexOf","TypeError","JSON","stringify","oneOf","types","type","is","oneOfNodeTypes","assertNodeOrValueType","oneOfNodeOrValueTypes","valid","assertShape","shape","errors","property","Object","keys","validateField","error","push","message","join","shapeOf","assertOptionalChainStart","current","callee","object","fns","args","fn","chainOf","Error","validTypeOpts","validFieldKeys","defineAliasedType","aliases","opts","defined","inherits","store","slice","additional","filter","a","includes","unshift","defineType","fields","getOwnPropertyNames","field","def","default","visitor","builder","k","deprecatedAlias","concat","undefined","forEach","alias"],"sources":["../../src/definitions/utils.ts"],"sourcesContent":["import is from \"../validators/is\";\nimport { validateField, validateChild } from \"../validators/validate\";\nimport type * as t from \"..\";\n\nexport const VISITOR_KEYS: Record<string, string[]> = {};\nexport const ALIAS_KEYS: Partial<Record<NodeTypesWithoutComment, string[]>> =\n {};\nexport const FLIPPED_ALIAS_KEYS: Record<string, NodeTypesWithoutComment[]> = {};\nexport const NODE_FIELDS: Record<string, FieldDefinitions> = {};\nexport const BUILDER_KEYS: Record<string, string[]> = {};\nexport const DEPRECATED_KEYS: Record<string, NodeTypesWithoutComment> = {};\nexport const NODE_PARENT_VALIDATIONS: Record<string, Validator> = {};\n\nfunction getType(val: any) {\n if (Array.isArray(val)) {\n return \"array\";\n } else if (val === null) {\n return \"null\";\n } else {\n return typeof val;\n }\n}\n\ntype NodeTypesWithoutComment = t.Node[\"type\"] | keyof t.Aliases;\n\ntype NodeTypes = NodeTypesWithoutComment | t.Comment[\"type\"];\n\ntype PrimitiveTypes = ReturnType<typeof getType>;\n\ntype FieldDefinitions = {\n [x: string]: FieldOptions;\n};\n\ntype DefineTypeOpts = {\n fields?: FieldDefinitions;\n visitor?: Array<string>;\n aliases?: Array<string>;\n builder?: Array<string>;\n inherits?: NodeTypes;\n deprecatedAlias?: string;\n validate?: Validator;\n};\n\nexport type Validator = (\n | { type: PrimitiveTypes }\n | { each: Validator }\n | { chainOf: Validator[] }\n | { oneOf: any[] }\n | { oneOfNodeTypes: NodeTypes[] }\n | { oneOfNodeOrValueTypes: (NodeTypes | PrimitiveTypes)[] }\n | { shapeOf: { [x: string]: FieldOptions } }\n | {}\n) &\n ((node: t.Node, key: string, val: any) => void);\n\nexport type FieldOptions = {\n default?: string | number | boolean | [];\n optional?: boolean;\n validate?: Validator;\n};\n\nexport function validate(validate: Validator): FieldOptions {\n return { validate };\n}\n\nexport function typeIs(typeName: NodeTypes | NodeTypes[]) {\n return typeof typeName === \"string\"\n ? assertNodeType(typeName)\n : assertNodeType(...typeName);\n}\n\nexport function validateType(typeName: NodeTypes | NodeTypes[]) {\n return validate(typeIs(typeName));\n}\n\nexport function validateOptional(validate: Validator): FieldOptions {\n return { validate, optional: true };\n}\n\nexport function validateOptionalType(\n typeName: NodeTypes | NodeTypes[],\n): FieldOptions {\n return { validate: typeIs(typeName), optional: true };\n}\n\nexport function arrayOf(elementType: Validator): Validator {\n return chain(assertValueType(\"array\"), assertEach(elementType));\n}\n\nexport function arrayOfType(typeName: NodeTypes | NodeTypes[]) {\n return arrayOf(typeIs(typeName));\n}\n\nexport function validateArrayOfType(typeName: NodeTypes | NodeTypes[]) {\n return validate(arrayOfType(typeName));\n}\n\nexport function assertEach(callback: Validator): Validator {\n function validator(node: t.Node, key: string, val: any) {\n if (!Array.isArray(val)) return;\n\n for (let i = 0; i < val.length; i++) {\n const subkey = `${key}[${i}]`;\n const v = val[i];\n callback(node, subkey, v);\n if (process.env.BABEL_TYPES_8_BREAKING) validateChild(node, subkey, v);\n }\n }\n validator.each = callback;\n return validator;\n}\n\nexport function assertOneOf(...values: Array<any>): Validator {\n function validate(node: any, key: string, val: any) {\n if (values.indexOf(val) < 0) {\n throw new TypeError(\n `Property ${key} expected value to be one of ${JSON.stringify(\n values,\n )} but got ${JSON.stringify(val)}`,\n );\n }\n }\n\n validate.oneOf = values;\n\n return validate;\n}\n\nexport function assertNodeType(...types: NodeTypes[]): Validator {\n function validate(node: t.Node, key: string, val: any) {\n for (const type of types) {\n if (is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(val?.type)}`,\n );\n }\n\n validate.oneOfNodeTypes = types;\n\n return validate;\n}\n\nexport function assertNodeOrValueType(\n ...types: (NodeTypes | PrimitiveTypes)[]\n): Validator {\n function validate(node: t.Node, key: string, val: any) {\n for (const type of types) {\n if (getType(val) === type || is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(val?.type)}`,\n );\n }\n\n validate.oneOfNodeOrValueTypes = types;\n\n return validate;\n}\n\nexport function assertValueType(type: PrimitiveTypes): Validator {\n function validate(node: t.Node, key: string, val: any) {\n const valid = getType(val) === type;\n\n if (!valid) {\n throw new TypeError(\n `Property ${key} expected type of ${type} but got ${getType(val)}`,\n );\n }\n }\n\n validate.type = type;\n\n return validate;\n}\n\nexport function assertShape(shape: { [x: string]: FieldOptions }): Validator {\n function validate(node: t.Node, key: string, val: any) {\n const errors = [];\n for (const property of Object.keys(shape)) {\n try {\n validateField(node, property, val[property], shape[property]);\n } catch (error) {\n if (error instanceof TypeError) {\n errors.push(error.message);\n continue;\n }\n throw error;\n }\n }\n if (errors.length) {\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected to have the following:\\n${errors.join(\"\\n\")}`,\n );\n }\n }\n\n validate.shapeOf = shape;\n\n return validate;\n}\n\nexport function assertOptionalChainStart(): Validator {\n function validate(node: t.Node) {\n let current = node;\n while (node) {\n const { type } = current;\n if (type === \"OptionalCallExpression\") {\n if (current.optional) return;\n current = current.callee;\n continue;\n }\n\n if (type === \"OptionalMemberExpression\") {\n if (current.optional) return;\n current = current.object;\n continue;\n }\n\n break;\n }\n\n throw new TypeError(\n `Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${current?.type}`,\n );\n }\n\n return validate;\n}\n\nexport function chain(...fns: Array<Validator>): Validator {\n function validate(...args: Parameters<Validator>) {\n for (const fn of fns) {\n fn(...args);\n }\n }\n validate.chainOf = fns;\n\n if (\n fns.length >= 2 &&\n \"type\" in fns[0] &&\n fns[0].type === \"array\" &&\n !(\"each\" in fns[1])\n ) {\n throw new Error(\n `An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.`,\n );\n }\n\n return validate;\n}\n\nconst validTypeOpts = [\n \"aliases\",\n \"builder\",\n \"deprecatedAlias\",\n \"fields\",\n \"inherits\",\n \"visitor\",\n \"validate\",\n];\nconst validFieldKeys = [\"default\", \"optional\", \"validate\"];\n\n// Wraps defineType to ensure these aliases are included.\nexport function defineAliasedType(...aliases: string[]) {\n return (type: string, opts: DefineTypeOpts = {}) => {\n let defined = opts.aliases;\n if (!defined) {\n if (opts.inherits) defined = store[opts.inherits].aliases?.slice();\n defined ??= [];\n opts.aliases = defined;\n }\n const additional = aliases.filter(a => !defined.includes(a));\n defined.unshift(...additional);\n return defineType(type, opts);\n };\n}\n\nexport default function defineType(type: string, opts: DefineTypeOpts = {}) {\n const inherits = (opts.inherits && store[opts.inherits]) || {};\n\n let fields = opts.fields;\n if (!fields) {\n fields = {};\n if (inherits.fields) {\n const keys = Object.getOwnPropertyNames(inherits.fields);\n for (const key of keys) {\n const field = inherits.fields[key];\n const def = field.default;\n if (\n Array.isArray(def) ? def.length > 0 : def && typeof def === \"object\"\n ) {\n throw new Error(\n \"field defaults can only be primitives or empty arrays currently\",\n );\n }\n fields[key] = {\n default: Array.isArray(def) ? [] : def,\n optional: field.optional,\n validate: field.validate,\n };\n }\n }\n }\n\n const visitor: Array<string> = opts.visitor || inherits.visitor || [];\n const aliases: Array<string> = opts.aliases || inherits.aliases || [];\n const builder: Array<string> =\n opts.builder || inherits.builder || opts.visitor || [];\n\n for (const k of Object.keys(opts)) {\n if (validTypeOpts.indexOf(k) === -1) {\n throw new Error(`Unknown type option \"${k}\" on ${type}`);\n }\n }\n\n if (opts.deprecatedAlias) {\n DEPRECATED_KEYS[opts.deprecatedAlias] = type as NodeTypesWithoutComment;\n }\n\n // ensure all field keys are represented in `fields`\n for (const key of visitor.concat(builder)) {\n fields[key] = fields[key] || {};\n }\n\n for (const key of Object.keys(fields)) {\n const field = fields[key];\n\n if (field.default !== undefined && builder.indexOf(key) === -1) {\n field.optional = true;\n }\n if (field.default === undefined) {\n field.default = null;\n } else if (!field.validate && field.default != null) {\n field.validate = assertValueType(getType(field.default));\n }\n\n for (const k of Object.keys(field)) {\n if (validFieldKeys.indexOf(k) === -1) {\n throw new Error(`Unknown field key \"${k}\" on ${type}.${key}`);\n }\n }\n }\n\n VISITOR_KEYS[type] = opts.visitor = visitor;\n BUILDER_KEYS[type] = opts.builder = builder;\n NODE_FIELDS[type] = opts.fields = fields;\n ALIAS_KEYS[type as NodeTypesWithoutComment] = opts.aliases = aliases;\n aliases.forEach(alias => {\n FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];\n FLIPPED_ALIAS_KEYS[alias].push(type as NodeTypesWithoutComment);\n });\n\n if (opts.validate) {\n NODE_PARENT_VALIDATIONS[type] = opts.validate;\n }\n\n store[type] = opts;\n}\n\nconst store = {} as Record<string, DefineTypeOpts>;\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/index-legacy.d.ts b/includes/search/node_modules/@babel/types/lib/index-legacy.d.ts
deleted file mode 100644
index 3b1f599..0000000
--- a/includes/search/node_modules/@babel/types/lib/index-legacy.d.ts
+++ /dev/null
@@ -1,2732 +0,0 @@
-// NOTE: This file is autogenerated. Do not modify.
-// See packages/babel-types/scripts/generators/typescript-legacy.js for script used.
-
-interface BaseComment {
- value: string;
- start: number;
- end: number;
- loc: SourceLocation;
- type: "CommentBlock" | "CommentLine";
-}
-
-export interface CommentBlock extends BaseComment {
- type: "CommentBlock";
-}
-
-export interface CommentLine extends BaseComment {
- type: "CommentLine";
-}
-
-export type Comment = CommentBlock | CommentLine;
-
-export interface SourceLocation {
- start: {
- line: number;
- column: number;
- };
-
- end: {
- line: number;
- column: number;
- };
-}
-
-interface BaseNode {
- leadingComments: ReadonlyArray<Comment> | null;
- innerComments: ReadonlyArray<Comment> | null;
- trailingComments: ReadonlyArray<Comment> | null;
- start: number | null;
- end: number | null;
- loc: SourceLocation | null;
- type: Node["type"];
- extra?: Record<string, unknown>;
-}
-
-export type Node = Accessor | AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression | ArrayPattern | ArrayTypeAnnotation | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | Binary | BinaryExpression | BindExpression | Block | BlockParent | BlockStatement | BooleanLiteral | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement | CallExpression | CatchClause | Class | ClassAccessorProperty | ClassBody | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | CompletionStatement | Conditional | ConditionalExpression | ContinueStatement | DebuggerStatement | DecimalLiteral | Declaration | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator | Directive | DirectiveLiteral | DoExpression | DoWhileStatement | EmptyStatement | EmptyTypeAnnotation | EnumBody | EnumBooleanBody | EnumBooleanMember | EnumDeclaration | EnumDefaultedMember | EnumMember | EnumNumberBody | EnumNumberMember | EnumStringBody | EnumStringMember | EnumSymbolBody | ExistsTypeAnnotation | ExportAllDeclaration | ExportDeclaration | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportSpecifier | Expression | ExpressionStatement | ExpressionWrapper | File | Flow | FlowBaseAnnotation | FlowDeclaration | FlowPredicate | FlowType | For | ForInStatement | ForOfStatement | ForStatement | ForXStatement | Function | FunctionDeclaration | FunctionExpression | FunctionParent | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Immutable | Import | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | IndexedAccessType | InferredPredicate | InterfaceDeclaration | InterfaceExtends | InterfaceTypeAnnotation | InterpreterDirective | IntersectionTypeAnnotation | JSX | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LVal | LabeledStatement | Literal | LogicalExpression | Loop | MemberExpression | MetaProperty | Method | Miscellaneous | MixedTypeAnnotation | ModuleDeclaration | ModuleExpression | ModuleSpecifier | NewExpression | Noop | NullLiteral | NullLiteralTypeAnnotation | NullableTypeAnnotation | NumberLiteral | NumberLiteralTypeAnnotation | NumberTypeAnnotation | NumericLiteral | ObjectExpression | ObjectMember | ObjectMethod | ObjectPattern | ObjectProperty | ObjectTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalCallExpression | OptionalIndexedAccessType | OptionalMemberExpression | ParenthesizedExpression | Pattern | PatternLike | PipelineBareFunction | PipelinePrimaryTopicReference | PipelineTopicExpression | Placeholder | Private | PrivateName | Program | Property | Pureish | QualifiedTypeIdentifier | RecordExpression | RegExpLiteral | RegexLiteral | RestElement | RestProperty | ReturnStatement | Scopable | SequenceExpression | SpreadElement | SpreadProperty | Standardized | Statement | StaticBlock | StringLiteral | StringLiteralTypeAnnotation | StringTypeAnnotation | Super | SwitchCase | SwitchStatement | SymbolTypeAnnotation | TSAnyKeyword | TSArrayType | TSAsExpression | TSBaseType | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEntityName | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeElement | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression | TemplateElement | TemplateLiteral | Terminatorless | ThisExpression | ThisTypeAnnotation | ThrowStatement | TopicReference | TryStatement | TupleExpression | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | TypeScript | TypeofTypeAnnotation | UnaryExpression | UnaryLike | UnionTypeAnnotation | UpdateExpression | UserWhitespacable | V8IntrinsicIdentifier | VariableDeclaration | VariableDeclarator | Variance | VoidTypeAnnotation | While | WhileStatement | WithStatement | YieldExpression;
-
-export interface ArrayExpression extends BaseNode {
- type: "ArrayExpression";
- elements: Array<null | Expression | SpreadElement>;
-}
-
-export interface AssignmentExpression extends BaseNode {
- type: "AssignmentExpression";
- operator: string;
- left: LVal;
- right: Expression;
-}
-
-export interface BinaryExpression extends BaseNode {
- type: "BinaryExpression";
- operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>";
- left: Expression | PrivateName;
- right: Expression;
-}
-
-export interface InterpreterDirective extends BaseNode {
- type: "InterpreterDirective";
- value: string;
-}
-
-export interface Directive extends BaseNode {
- type: "Directive";
- value: DirectiveLiteral;
-}
-
-export interface DirectiveLiteral extends BaseNode {
- type: "DirectiveLiteral";
- value: string;
-}
-
-export interface BlockStatement extends BaseNode {
- type: "BlockStatement";
- body: Array<Statement>;
- directives: Array<Directive>;
-}
-
-export interface BreakStatement extends BaseNode {
- type: "BreakStatement";
- label: Identifier | null;
-}
-
-export interface CallExpression extends BaseNode {
- type: "CallExpression";
- callee: Expression | Super | V8IntrinsicIdentifier;
- arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
- optional: true | false | null;
- typeArguments: TypeParameterInstantiation | null;
- typeParameters: TSTypeParameterInstantiation | null;
-}
-
-export interface CatchClause extends BaseNode {
- type: "CatchClause";
- param: Identifier | ArrayPattern | ObjectPattern | null;
- body: BlockStatement;
-}
-
-export interface ConditionalExpression extends BaseNode {
- type: "ConditionalExpression";
- test: Expression;
- consequent: Expression;
- alternate: Expression;
-}
-
-export interface ContinueStatement extends BaseNode {
- type: "ContinueStatement";
- label: Identifier | null;
-}
-
-export interface DebuggerStatement extends BaseNode {
- type: "DebuggerStatement";
-}
-
-export interface DoWhileStatement extends BaseNode {
- type: "DoWhileStatement";
- test: Expression;
- body: Statement;
-}
-
-export interface EmptyStatement extends BaseNode {
- type: "EmptyStatement";
-}
-
-export interface ExpressionStatement extends BaseNode {
- type: "ExpressionStatement";
- expression: Expression;
-}
-
-export interface File extends BaseNode {
- type: "File";
- program: Program;
- comments: Array<CommentBlock | CommentLine> | null;
- tokens: Array<any> | null;
-}
-
-export interface ForInStatement extends BaseNode {
- type: "ForInStatement";
- left: VariableDeclaration | LVal;
- right: Expression;
- body: Statement;
-}
-
-export interface ForStatement extends BaseNode {
- type: "ForStatement";
- init: VariableDeclaration | Expression | null;
- test: Expression | null;
- update: Expression | null;
- body: Statement;
-}
-
-export interface FunctionDeclaration extends BaseNode {
- type: "FunctionDeclaration";
- id: Identifier | null;
- params: Array<Identifier | Pattern | RestElement>;
- body: BlockStatement;
- generator: boolean;
- async: boolean;
- declare: boolean | null;
- predicate: DeclaredPredicate | InferredPredicate | null;
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-
-export interface FunctionExpression extends BaseNode {
- type: "FunctionExpression";
- id: Identifier | null;
- params: Array<Identifier | Pattern | RestElement>;
- body: BlockStatement;
- generator: boolean;
- async: boolean;
- predicate: DeclaredPredicate | InferredPredicate | null;
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-
-export interface Identifier extends BaseNode {
- type: "Identifier";
- name: string;
- decorators: Array<Decorator> | null;
- optional: boolean | null;
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-
-export interface IfStatement extends BaseNode {
- type: "IfStatement";
- test: Expression;
- consequent: Statement;
- alternate: Statement | null;
-}
-
-export interface LabeledStatement extends BaseNode {
- type: "LabeledStatement";
- label: Identifier;
- body: Statement;
-}
-
-export interface StringLiteral extends BaseNode {
- type: "StringLiteral";
- value: string;
-}
-
-export interface NumericLiteral extends BaseNode {
- type: "NumericLiteral";
- value: number;
-}
-
-export interface NullLiteral extends BaseNode {
- type: "NullLiteral";
-}
-
-export interface BooleanLiteral extends BaseNode {
- type: "BooleanLiteral";
- value: boolean;
-}
-
-export interface RegExpLiteral extends BaseNode {
- type: "RegExpLiteral";
- pattern: string;
- flags: string;
-}
-
-export interface LogicalExpression extends BaseNode {
- type: "LogicalExpression";
- operator: "||" | "&&" | "??";
- left: Expression;
- right: Expression;
-}
-
-export interface MemberExpression extends BaseNode {
- type: "MemberExpression";
- object: Expression | Super;
- property: Expression | Identifier | PrivateName;
- computed: boolean;
- optional: true | false | null;
-}
-
-export interface NewExpression extends BaseNode {
- type: "NewExpression";
- callee: Expression | Super | V8IntrinsicIdentifier;
- arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
- optional: true | false | null;
- typeArguments: TypeParameterInstantiation | null;
- typeParameters: TSTypeParameterInstantiation | null;
-}
-
-export interface Program extends BaseNode {
- type: "Program";
- body: Array<Statement>;
- directives: Array<Directive>;
- sourceType: "script" | "module";
- interpreter: InterpreterDirective | null;
- sourceFile: string;
-}
-
-export interface ObjectExpression extends BaseNode {
- type: "ObjectExpression";
- properties: Array<ObjectMethod | ObjectProperty | SpreadElement>;
-}
-
-export interface ObjectMethod extends BaseNode {
- type: "ObjectMethod";
- kind: "method" | "get" | "set";
- key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral;
- params: Array<Identifier | Pattern | RestElement>;
- body: BlockStatement;
- computed: boolean;
- generator: boolean;
- async: boolean;
- decorators: Array<Decorator> | null;
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-
-export interface ObjectProperty extends BaseNode {
- type: "ObjectProperty";
- key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral | DecimalLiteral | PrivateName;
- value: Expression | PatternLike;
- computed: boolean;
- shorthand: boolean;
- decorators: Array<Decorator> | null;
-}
-
-export interface RestElement extends BaseNode {
- type: "RestElement";
- argument: LVal;
- decorators: Array<Decorator> | null;
- optional: boolean | null;
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-
-export interface ReturnStatement extends BaseNode {
- type: "ReturnStatement";
- argument: Expression | null;
-}
-
-export interface SequenceExpression extends BaseNode {
- type: "SequenceExpression";
- expressions: Array<Expression>;
-}
-
-export interface ParenthesizedExpression extends BaseNode {
- type: "ParenthesizedExpression";
- expression: Expression;
-}
-
-export interface SwitchCase extends BaseNode {
- type: "SwitchCase";
- test: Expression | null;
- consequent: Array<Statement>;
-}
-
-export interface SwitchStatement extends BaseNode {
- type: "SwitchStatement";
- discriminant: Expression;
- cases: Array<SwitchCase>;
-}
-
-export interface ThisExpression extends BaseNode {
- type: "ThisExpression";
-}
-
-export interface ThrowStatement extends BaseNode {
- type: "ThrowStatement";
- argument: Expression;
-}
-
-export interface TryStatement extends BaseNode {
- type: "TryStatement";
- block: BlockStatement;
- handler: CatchClause | null;
- finalizer: BlockStatement | null;
-}
-
-export interface UnaryExpression extends BaseNode {
- type: "UnaryExpression";
- operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof";
- argument: Expression;
- prefix: boolean;
-}
-
-export interface UpdateExpression extends BaseNode {
- type: "UpdateExpression";
- operator: "++" | "--";
- argument: Expression;
- prefix: boolean;
-}
-
-export interface VariableDeclaration extends BaseNode {
- type: "VariableDeclaration";
- kind: "var" | "let" | "const";
- declarations: Array<VariableDeclarator>;
- declare: boolean | null;
-}
-
-export interface VariableDeclarator extends BaseNode {
- type: "VariableDeclarator";
- id: LVal;
- init: Expression | null;
- definite: boolean | null;
-}
-
-export interface WhileStatement extends BaseNode {
- type: "WhileStatement";
- test: Expression;
- body: Statement;
-}
-
-export interface WithStatement extends BaseNode {
- type: "WithStatement";
- object: Expression;
- body: Statement;
-}
-
-export interface AssignmentPattern extends BaseNode {
- type: "AssignmentPattern";
- left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
- right: Expression;
- decorators: Array<Decorator> | null;
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-
-export interface ArrayPattern extends BaseNode {
- type: "ArrayPattern";
- elements: Array<null | PatternLike | LVal>;
- decorators: Array<Decorator> | null;
- optional: boolean | null;
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-
-export interface ArrowFunctionExpression extends BaseNode {
- type: "ArrowFunctionExpression";
- params: Array<Identifier | Pattern | RestElement>;
- body: BlockStatement | Expression;
- async: boolean;
- expression: boolean;
- generator: boolean;
- predicate: DeclaredPredicate | InferredPredicate | null;
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-
-export interface ClassBody extends BaseNode {
- type: "ClassBody";
- body: Array<ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | ClassAccessorProperty | TSDeclareMethod | TSIndexSignature | StaticBlock>;
-}
-
-export interface ClassExpression extends BaseNode {
- type: "ClassExpression";
- id: Identifier | null;
- superClass: Expression | null;
- body: ClassBody;
- decorators: Array<Decorator> | null;
- implements: Array<TSExpressionWithTypeArguments | ClassImplements> | null;
- mixins: InterfaceExtends | null;
- superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-
-export interface ClassDeclaration extends BaseNode {
- type: "ClassDeclaration";
- id: Identifier;
- superClass: Expression | null;
- body: ClassBody;
- decorators: Array<Decorator> | null;
- abstract: boolean | null;
- declare: boolean | null;
- implements: Array<TSExpressionWithTypeArguments | ClassImplements> | null;
- mixins: InterfaceExtends | null;
- superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-
-export interface ExportAllDeclaration extends BaseNode {
- type: "ExportAllDeclaration";
- source: StringLiteral;
- assertions: Array<ImportAttribute> | null;
- exportKind: "type" | "value" | null;
-}
-
-export interface ExportDefaultDeclaration extends BaseNode {
- type: "ExportDefaultDeclaration";
- declaration: TSDeclareFunction | FunctionDeclaration | ClassDeclaration | Expression;
- exportKind: "value" | null;
-}
-
-export interface ExportNamedDeclaration extends BaseNode {
- type: "ExportNamedDeclaration";
- declaration: Declaration | null;
- specifiers: Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier>;
- source: StringLiteral | null;
- assertions: Array<ImportAttribute> | null;
- exportKind: "type" | "value" | null;
-}
-
-export interface ExportSpecifier extends BaseNode {
- type: "ExportSpecifier";
- local: Identifier;
- exported: Identifier | StringLiteral;
- exportKind: "type" | "value" | null;
-}
-
-export interface ForOfStatement extends BaseNode {
- type: "ForOfStatement";
- left: VariableDeclaration | LVal;
- right: Expression;
- body: Statement;
- await: boolean;
-}
-
-export interface ImportDeclaration extends BaseNode {
- type: "ImportDeclaration";
- specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>;
- source: StringLiteral;
- assertions: Array<ImportAttribute> | null;
- importKind: "type" | "typeof" | "value" | null;
-}
-
-export interface ImportDefaultSpecifier extends BaseNode {
- type: "ImportDefaultSpecifier";
- local: Identifier;
-}
-
-export interface ImportNamespaceSpecifier extends BaseNode {
- type: "ImportNamespaceSpecifier";
- local: Identifier;
-}
-
-export interface ImportSpecifier extends BaseNode {
- type: "ImportSpecifier";
- local: Identifier;
- imported: Identifier | StringLiteral;
- importKind: "type" | "typeof" | "value" | null;
-}
-
-export interface MetaProperty extends BaseNode {
- type: "MetaProperty";
- meta: Identifier;
- property: Identifier;
-}
-
-export interface ClassMethod extends BaseNode {
- type: "ClassMethod";
- kind: "get" | "set" | "method" | "constructor";
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
- params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
- body: BlockStatement;
- computed: boolean;
- static: boolean;
- generator: boolean;
- async: boolean;
- abstract: boolean | null;
- access: "public" | "private" | "protected" | null;
- accessibility: "public" | "private" | "protected" | null;
- decorators: Array<Decorator> | null;
- optional: boolean | null;
- override: boolean;
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-
-export interface ObjectPattern extends BaseNode {
- type: "ObjectPattern";
- properties: Array<RestElement | ObjectProperty>;
- decorators: Array<Decorator> | null;
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-
-export interface SpreadElement extends BaseNode {
- type: "SpreadElement";
- argument: Expression;
-}
-
-export interface Super extends BaseNode {
- type: "Super";
-}
-
-export interface TaggedTemplateExpression extends BaseNode {
- type: "TaggedTemplateExpression";
- tag: Expression;
- quasi: TemplateLiteral;
- typeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
-}
-
-export interface TemplateElement extends BaseNode {
- type: "TemplateElement";
- value: { raw: string, cooked?: string };
- tail: boolean;
-}
-
-export interface TemplateLiteral extends BaseNode {
- type: "TemplateLiteral";
- quasis: Array<TemplateElement>;
- expressions: Array<Expression | TSType>;
-}
-
-export interface YieldExpression extends BaseNode {
- type: "YieldExpression";
- argument: Expression | null;
- delegate: boolean;
-}
-
-export interface AwaitExpression extends BaseNode {
- type: "AwaitExpression";
- argument: Expression;
-}
-
-export interface Import extends BaseNode {
- type: "Import";
-}
-
-export interface BigIntLiteral extends BaseNode {
- type: "BigIntLiteral";
- value: string;
-}
-
-export interface ExportNamespaceSpecifier extends BaseNode {
- type: "ExportNamespaceSpecifier";
- exported: Identifier;
-}
-
-export interface OptionalMemberExpression extends BaseNode {
- type: "OptionalMemberExpression";
- object: Expression;
- property: Expression | Identifier;
- computed: boolean;
- optional: boolean;
-}
-
-export interface OptionalCallExpression extends BaseNode {
- type: "OptionalCallExpression";
- callee: Expression;
- arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
- optional: boolean;
- typeArguments: TypeParameterInstantiation | null;
- typeParameters: TSTypeParameterInstantiation | null;
-}
-
-export interface ClassProperty extends BaseNode {
- type: "ClassProperty";
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
- value: Expression | null;
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
- decorators: Array<Decorator> | null;
- computed: boolean;
- static: boolean;
- abstract: boolean | null;
- accessibility: "public" | "private" | "protected" | null;
- declare: boolean | null;
- definite: boolean | null;
- optional: boolean | null;
- override: boolean;
- readonly: boolean | null;
- variance: Variance | null;
-}
-
-export interface ClassAccessorProperty extends BaseNode {
- type: "ClassAccessorProperty";
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression | PrivateName;
- value: Expression | null;
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
- decorators: Array<Decorator> | null;
- computed: boolean;
- static: boolean;
- abstract: boolean | null;
- accessibility: "public" | "private" | "protected" | null;
- declare: boolean | null;
- definite: boolean | null;
- optional: boolean | null;
- override: boolean;
- readonly: boolean | null;
- variance: Variance | null;
-}
-
-export interface ClassPrivateProperty extends BaseNode {
- type: "ClassPrivateProperty";
- key: PrivateName;
- value: Expression | null;
- decorators: Array<Decorator> | null;
- static: boolean;
- definite: boolean | null;
- readonly: boolean | null;
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
- variance: Variance | null;
-}
-
-export interface ClassPrivateMethod extends BaseNode {
- type: "ClassPrivateMethod";
- kind: "get" | "set" | "method";
- key: PrivateName;
- params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
- body: BlockStatement;
- static: boolean;
- abstract: boolean | null;
- access: "public" | "private" | "protected" | null;
- accessibility: "public" | "private" | "protected" | null;
- async: boolean;
- computed: boolean;
- decorators: Array<Decorator> | null;
- generator: boolean;
- optional: boolean | null;
- override: boolean;
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-
-export interface PrivateName extends BaseNode {
- type: "PrivateName";
- id: Identifier;
-}
-
-export interface StaticBlock extends BaseNode {
- type: "StaticBlock";
- body: Array<Statement>;
-}
-
-export interface AnyTypeAnnotation extends BaseNode {
- type: "AnyTypeAnnotation";
-}
-
-export interface ArrayTypeAnnotation extends BaseNode {
- type: "ArrayTypeAnnotation";
- elementType: FlowType;
-}
-
-export interface BooleanTypeAnnotation extends BaseNode {
- type: "BooleanTypeAnnotation";
-}
-
-export interface BooleanLiteralTypeAnnotation extends BaseNode {
- type: "BooleanLiteralTypeAnnotation";
- value: boolean;
-}
-
-export interface NullLiteralTypeAnnotation extends BaseNode {
- type: "NullLiteralTypeAnnotation";
-}
-
-export interface ClassImplements extends BaseNode {
- type: "ClassImplements";
- id: Identifier;
- typeParameters: TypeParameterInstantiation | null;
-}
-
-export interface DeclareClass extends BaseNode {
- type: "DeclareClass";
- id: Identifier;
- typeParameters: TypeParameterDeclaration | null;
- extends: Array<InterfaceExtends> | null;
- body: ObjectTypeAnnotation;
- implements: Array<ClassImplements> | null;
- mixins: Array<InterfaceExtends> | null;
-}
-
-export interface DeclareFunction extends BaseNode {
- type: "DeclareFunction";
- id: Identifier;
- predicate: DeclaredPredicate | null;
-}
-
-export interface DeclareInterface extends BaseNode {
- type: "DeclareInterface";
- id: Identifier;
- typeParameters: TypeParameterDeclaration | null;
- extends: Array<InterfaceExtends> | null;
- body: ObjectTypeAnnotation;
- implements: Array<ClassImplements> | null;
- mixins: Array<InterfaceExtends> | null;
-}
-
-export interface DeclareModule extends BaseNode {
- type: "DeclareModule";
- id: Identifier | StringLiteral;
- body: BlockStatement;
- kind: "CommonJS" | "ES" | null;
-}
-
-export interface DeclareModuleExports extends BaseNode {
- type: "DeclareModuleExports";
- typeAnnotation: TypeAnnotation;
-}
-
-export interface DeclareTypeAlias extends BaseNode {
- type: "DeclareTypeAlias";
- id: Identifier;
- typeParameters: TypeParameterDeclaration | null;
- right: FlowType;
-}
-
-export interface DeclareOpaqueType extends BaseNode {
- type: "DeclareOpaqueType";
- id: Identifier;
- typeParameters: TypeParameterDeclaration | null;
- supertype: FlowType | null;
- impltype: FlowType | null;
-}
-
-export interface DeclareVariable extends BaseNode {
- type: "DeclareVariable";
- id: Identifier;
-}
-
-export interface DeclareExportDeclaration extends BaseNode {
- type: "DeclareExportDeclaration";
- declaration: Flow | null;
- specifiers: Array<ExportSpecifier | ExportNamespaceSpecifier> | null;
- source: StringLiteral | null;
- default: boolean | null;
-}
-
-export interface DeclareExportAllDeclaration extends BaseNode {
- type: "DeclareExportAllDeclaration";
- source: StringLiteral;
- exportKind: "type" | "value" | null;
-}
-
-export interface DeclaredPredicate extends BaseNode {
- type: "DeclaredPredicate";
- value: Flow;
-}
-
-export interface ExistsTypeAnnotation extends BaseNode {
- type: "ExistsTypeAnnotation";
-}
-
-export interface FunctionTypeAnnotation extends BaseNode {
- type: "FunctionTypeAnnotation";
- typeParameters: TypeParameterDeclaration | null;
- params: Array<FunctionTypeParam>;
- rest: FunctionTypeParam | null;
- returnType: FlowType;
- this: FunctionTypeParam | null;
-}
-
-export interface FunctionTypeParam extends BaseNode {
- type: "FunctionTypeParam";
- name: Identifier | null;
- typeAnnotation: FlowType;
- optional: boolean | null;
-}
-
-export interface GenericTypeAnnotation extends BaseNode {
- type: "GenericTypeAnnotation";
- id: Identifier | QualifiedTypeIdentifier;
- typeParameters: TypeParameterInstantiation | null;
-}
-
-export interface InferredPredicate extends BaseNode {
- type: "InferredPredicate";
-}
-
-export interface InterfaceExtends extends BaseNode {
- type: "InterfaceExtends";
- id: Identifier | QualifiedTypeIdentifier;
- typeParameters: TypeParameterInstantiation | null;
-}
-
-export interface InterfaceDeclaration extends BaseNode {
- type: "InterfaceDeclaration";
- id: Identifier;
- typeParameters: TypeParameterDeclaration | null;
- extends: Array<InterfaceExtends> | null;
- body: ObjectTypeAnnotation;
- implements: Array<ClassImplements> | null;
- mixins: Array<InterfaceExtends> | null;
-}
-
-export interface InterfaceTypeAnnotation extends BaseNode {
- type: "InterfaceTypeAnnotation";
- extends: Array<InterfaceExtends> | null;
- body: ObjectTypeAnnotation;
-}
-
-export interface IntersectionTypeAnnotation extends BaseNode {
- type: "IntersectionTypeAnnotation";
- types: Array<FlowType>;
-}
-
-export interface MixedTypeAnnotation extends BaseNode {
- type: "MixedTypeAnnotation";
-}
-
-export interface EmptyTypeAnnotation extends BaseNode {
- type: "EmptyTypeAnnotation";
-}
-
-export interface NullableTypeAnnotation extends BaseNode {
- type: "NullableTypeAnnotation";
- typeAnnotation: FlowType;
-}
-
-export interface NumberLiteralTypeAnnotation extends BaseNode {
- type: "NumberLiteralTypeAnnotation";
- value: number;
-}
-
-export interface NumberTypeAnnotation extends BaseNode {
- type: "NumberTypeAnnotation";
-}
-
-export interface ObjectTypeAnnotation extends BaseNode {
- type: "ObjectTypeAnnotation";
- properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty>;
- indexers: Array<ObjectTypeIndexer>;
- callProperties: Array<ObjectTypeCallProperty>;
- internalSlots: Array<ObjectTypeInternalSlot>;
- exact: boolean;
- inexact: boolean | null;
-}
-
-export interface ObjectTypeInternalSlot extends BaseNode {
- type: "ObjectTypeInternalSlot";
- id: Identifier;
- value: FlowType;
- optional: boolean;
- static: boolean;
- method: boolean;
-}
-
-export interface ObjectTypeCallProperty extends BaseNode {
- type: "ObjectTypeCallProperty";
- value: FlowType;
- static: boolean;
-}
-
-export interface ObjectTypeIndexer extends BaseNode {
- type: "ObjectTypeIndexer";
- id: Identifier | null;
- key: FlowType;
- value: FlowType;
- variance: Variance | null;
- static: boolean;
-}
-
-export interface ObjectTypeProperty extends BaseNode {
- type: "ObjectTypeProperty";
- key: Identifier | StringLiteral;
- value: FlowType;
- variance: Variance | null;
- kind: "init" | "get" | "set";
- method: boolean;
- optional: boolean;
- proto: boolean;
- static: boolean;
-}
-
-export interface ObjectTypeSpreadProperty extends BaseNode {
- type: "ObjectTypeSpreadProperty";
- argument: FlowType;
-}
-
-export interface OpaqueType extends BaseNode {
- type: "OpaqueType";
- id: Identifier;
- typeParameters: TypeParameterDeclaration | null;
- supertype: FlowType | null;
- impltype: FlowType;
-}
-
-export interface QualifiedTypeIdentifier extends BaseNode {
- type: "QualifiedTypeIdentifier";
- id: Identifier;
- qualification: Identifier | QualifiedTypeIdentifier;
-}
-
-export interface StringLiteralTypeAnnotation extends BaseNode {
- type: "StringLiteralTypeAnnotation";
- value: string;
-}
-
-export interface StringTypeAnnotation extends BaseNode {
- type: "StringTypeAnnotation";
-}
-
-export interface SymbolTypeAnnotation extends BaseNode {
- type: "SymbolTypeAnnotation";
-}
-
-export interface ThisTypeAnnotation extends BaseNode {
- type: "ThisTypeAnnotation";
-}
-
-export interface TupleTypeAnnotation extends BaseNode {
- type: "TupleTypeAnnotation";
- types: Array<FlowType>;
-}
-
-export interface TypeofTypeAnnotation extends BaseNode {
- type: "TypeofTypeAnnotation";
- argument: FlowType;
-}
-
-export interface TypeAlias extends BaseNode {
- type: "TypeAlias";
- id: Identifier;
- typeParameters: TypeParameterDeclaration | null;
- right: FlowType;
-}
-
-export interface TypeAnnotation extends BaseNode {
- type: "TypeAnnotation";
- typeAnnotation: FlowType;
-}
-
-export interface TypeCastExpression extends BaseNode {
- type: "TypeCastExpression";
- expression: Expression;
- typeAnnotation: TypeAnnotation;
-}
-
-export interface TypeParameter extends BaseNode {
- type: "TypeParameter";
- bound: TypeAnnotation | null;
- default: FlowType | null;
- variance: Variance | null;
- name: string;
-}
-
-export interface TypeParameterDeclaration extends BaseNode {
- type: "TypeParameterDeclaration";
- params: Array<TypeParameter>;
-}
-
-export interface TypeParameterInstantiation extends BaseNode {
- type: "TypeParameterInstantiation";
- params: Array<FlowType>;
-}
-
-export interface UnionTypeAnnotation extends BaseNode {
- type: "UnionTypeAnnotation";
- types: Array<FlowType>;
-}
-
-export interface Variance extends BaseNode {
- type: "Variance";
- kind: "minus" | "plus";
-}
-
-export interface VoidTypeAnnotation extends BaseNode {
- type: "VoidTypeAnnotation";
-}
-
-export interface EnumDeclaration extends BaseNode {
- type: "EnumDeclaration";
- id: Identifier;
- body: EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;
-}
-
-export interface EnumBooleanBody extends BaseNode {
- type: "EnumBooleanBody";
- members: Array<EnumBooleanMember>;
- explicitType: boolean;
- hasUnknownMembers: boolean;
-}
-
-export interface EnumNumberBody extends BaseNode {
- type: "EnumNumberBody";
- members: Array<EnumNumberMember>;
- explicitType: boolean;
- hasUnknownMembers: boolean;
-}
-
-export interface EnumStringBody extends BaseNode {
- type: "EnumStringBody";
- members: Array<EnumStringMember | EnumDefaultedMember>;
- explicitType: boolean;
- hasUnknownMembers: boolean;
-}
-
-export interface EnumSymbolBody extends BaseNode {
- type: "EnumSymbolBody";
- members: Array<EnumDefaultedMember>;
- hasUnknownMembers: boolean;
-}
-
-export interface EnumBooleanMember extends BaseNode {
- type: "EnumBooleanMember";
- id: Identifier;
- init: BooleanLiteral;
-}
-
-export interface EnumNumberMember extends BaseNode {
- type: "EnumNumberMember";
- id: Identifier;
- init: NumericLiteral;
-}
-
-export interface EnumStringMember extends BaseNode {
- type: "EnumStringMember";
- id: Identifier;
- init: StringLiteral;
-}
-
-export interface EnumDefaultedMember extends BaseNode {
- type: "EnumDefaultedMember";
- id: Identifier;
-}
-
-export interface IndexedAccessType extends BaseNode {
- type: "IndexedAccessType";
- objectType: FlowType;
- indexType: FlowType;
-}
-
-export interface OptionalIndexedAccessType extends BaseNode {
- type: "OptionalIndexedAccessType";
- objectType: FlowType;
- indexType: FlowType;
- optional: boolean;
-}
-
-export interface JSXAttribute extends BaseNode {
- type: "JSXAttribute";
- name: JSXIdentifier | JSXNamespacedName;
- value: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer | null;
-}
-
-export interface JSXClosingElement extends BaseNode {
- type: "JSXClosingElement";
- name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
-}
-
-export interface JSXElement extends BaseNode {
- type: "JSXElement";
- openingElement: JSXOpeningElement;
- closingElement: JSXClosingElement | null;
- children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
- selfClosing: boolean | null;
-}
-
-export interface JSXEmptyExpression extends BaseNode {
- type: "JSXEmptyExpression";
-}
-
-export interface JSXExpressionContainer extends BaseNode {
- type: "JSXExpressionContainer";
- expression: Expression | JSXEmptyExpression;
-}
-
-export interface JSXSpreadChild extends BaseNode {
- type: "JSXSpreadChild";
- expression: Expression;
-}
-
-export interface JSXIdentifier extends BaseNode {
- type: "JSXIdentifier";
- name: string;
-}
-
-export interface JSXMemberExpression extends BaseNode {
- type: "JSXMemberExpression";
- object: JSXMemberExpression | JSXIdentifier;
- property: JSXIdentifier;
-}
-
-export interface JSXNamespacedName extends BaseNode {
- type: "JSXNamespacedName";
- namespace: JSXIdentifier;
- name: JSXIdentifier;
-}
-
-export interface JSXOpeningElement extends BaseNode {
- type: "JSXOpeningElement";
- name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
- attributes: Array<JSXAttribute | JSXSpreadAttribute>;
- selfClosing: boolean;
- typeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
-}
-
-export interface JSXSpreadAttribute extends BaseNode {
- type: "JSXSpreadAttribute";
- argument: Expression;
-}
-
-export interface JSXText extends BaseNode {
- type: "JSXText";
- value: string;
-}
-
-export interface JSXFragment extends BaseNode {
- type: "JSXFragment";
- openingFragment: JSXOpeningFragment;
- closingFragment: JSXClosingFragment;
- children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
-}
-
-export interface JSXOpeningFragment extends BaseNode {
- type: "JSXOpeningFragment";
-}
-
-export interface JSXClosingFragment extends BaseNode {
- type: "JSXClosingFragment";
-}
-
-export interface Noop extends BaseNode {
- type: "Noop";
-}
-
-export interface Placeholder extends BaseNode {
- type: "Placeholder";
- expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern";
- name: Identifier;
-}
-
-export interface V8IntrinsicIdentifier extends BaseNode {
- type: "V8IntrinsicIdentifier";
- name: string;
-}
-
-export interface ArgumentPlaceholder extends BaseNode {
- type: "ArgumentPlaceholder";
-}
-
-export interface BindExpression extends BaseNode {
- type: "BindExpression";
- object: Expression;
- callee: Expression;
-}
-
-export interface ImportAttribute extends BaseNode {
- type: "ImportAttribute";
- key: Identifier | StringLiteral;
- value: StringLiteral;
-}
-
-export interface Decorator extends BaseNode {
- type: "Decorator";
- expression: Expression;
-}
-
-export interface DoExpression extends BaseNode {
- type: "DoExpression";
- body: BlockStatement;
- async: boolean;
-}
-
-export interface ExportDefaultSpecifier extends BaseNode {
- type: "ExportDefaultSpecifier";
- exported: Identifier;
-}
-
-export interface RecordExpression extends BaseNode {
- type: "RecordExpression";
- properties: Array<ObjectProperty | SpreadElement>;
-}
-
-export interface TupleExpression extends BaseNode {
- type: "TupleExpression";
- elements: Array<Expression | SpreadElement>;
-}
-
-export interface DecimalLiteral extends BaseNode {
- type: "DecimalLiteral";
- value: string;
-}
-
-export interface ModuleExpression extends BaseNode {
- type: "ModuleExpression";
- body: Program;
-}
-
-export interface TopicReference extends BaseNode {
- type: "TopicReference";
-}
-
-export interface PipelineTopicExpression extends BaseNode {
- type: "PipelineTopicExpression";
- expression: Expression;
-}
-
-export interface PipelineBareFunction extends BaseNode {
- type: "PipelineBareFunction";
- callee: Expression;
-}
-
-export interface PipelinePrimaryTopicReference extends BaseNode {
- type: "PipelinePrimaryTopicReference";
-}
-
-export interface TSParameterProperty extends BaseNode {
- type: "TSParameterProperty";
- parameter: Identifier | AssignmentPattern;
- accessibility: "public" | "private" | "protected" | null;
- decorators: Array<Decorator> | null;
- override: boolean | null;
- readonly: boolean | null;
-}
-
-export interface TSDeclareFunction extends BaseNode {
- type: "TSDeclareFunction";
- id: Identifier | null;
- typeParameters: TSTypeParameterDeclaration | Noop | null;
- params: Array<Identifier | Pattern | RestElement>;
- returnType: TSTypeAnnotation | Noop | null;
- async: boolean;
- declare: boolean | null;
- generator: boolean;
-}
-
-export interface TSDeclareMethod extends BaseNode {
- type: "TSDeclareMethod";
- decorators: Array<Decorator> | null;
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
- typeParameters: TSTypeParameterDeclaration | Noop | null;
- params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
- returnType: TSTypeAnnotation | Noop | null;
- abstract: boolean | null;
- access: "public" | "private" | "protected" | null;
- accessibility: "public" | "private" | "protected" | null;
- async: boolean;
- computed: boolean;
- generator: boolean;
- kind: "get" | "set" | "method" | "constructor";
- optional: boolean | null;
- override: boolean;
- static: boolean;
-}
-
-export interface TSQualifiedName extends BaseNode {
- type: "TSQualifiedName";
- left: TSEntityName;
- right: Identifier;
-}
-
-export interface TSCallSignatureDeclaration extends BaseNode {
- type: "TSCallSignatureDeclaration";
- typeParameters: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation: TSTypeAnnotation | null;
-}
-
-export interface TSConstructSignatureDeclaration extends BaseNode {
- type: "TSConstructSignatureDeclaration";
- typeParameters: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation: TSTypeAnnotation | null;
-}
-
-export interface TSPropertySignature extends BaseNode {
- type: "TSPropertySignature";
- key: Expression;
- typeAnnotation: TSTypeAnnotation | null;
- initializer: Expression | null;
- computed: boolean;
- kind: "get" | "set";
- optional: boolean | null;
- readonly: boolean | null;
-}
-
-export interface TSMethodSignature extends BaseNode {
- type: "TSMethodSignature";
- key: Expression;
- typeParameters: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation: TSTypeAnnotation | null;
- computed: boolean;
- kind: "method" | "get" | "set";
- optional: boolean | null;
-}
-
-export interface TSIndexSignature extends BaseNode {
- type: "TSIndexSignature";
- parameters: Array<Identifier>;
- typeAnnotation: TSTypeAnnotation | null;
- readonly: boolean | null;
- static: boolean | null;
-}
-
-export interface TSAnyKeyword extends BaseNode {
- type: "TSAnyKeyword";
-}
-
-export interface TSBooleanKeyword extends BaseNode {
- type: "TSBooleanKeyword";
-}
-
-export interface TSBigIntKeyword extends BaseNode {
- type: "TSBigIntKeyword";
-}
-
-export interface TSIntrinsicKeyword extends BaseNode {
- type: "TSIntrinsicKeyword";
-}
-
-export interface TSNeverKeyword extends BaseNode {
- type: "TSNeverKeyword";
-}
-
-export interface TSNullKeyword extends BaseNode {
- type: "TSNullKeyword";
-}
-
-export interface TSNumberKeyword extends BaseNode {
- type: "TSNumberKeyword";
-}
-
-export interface TSObjectKeyword extends BaseNode {
- type: "TSObjectKeyword";
-}
-
-export interface TSStringKeyword extends BaseNode {
- type: "TSStringKeyword";
-}
-
-export interface TSSymbolKeyword extends BaseNode {
- type: "TSSymbolKeyword";
-}
-
-export interface TSUndefinedKeyword extends BaseNode {
- type: "TSUndefinedKeyword";
-}
-
-export interface TSUnknownKeyword extends BaseNode {
- type: "TSUnknownKeyword";
-}
-
-export interface TSVoidKeyword extends BaseNode {
- type: "TSVoidKeyword";
-}
-
-export interface TSThisType extends BaseNode {
- type: "TSThisType";
-}
-
-export interface TSFunctionType extends BaseNode {
- type: "TSFunctionType";
- typeParameters: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation: TSTypeAnnotation | null;
-}
-
-export interface TSConstructorType extends BaseNode {
- type: "TSConstructorType";
- typeParameters: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation: TSTypeAnnotation | null;
- abstract: boolean | null;
-}
-
-export interface TSTypeReference extends BaseNode {
- type: "TSTypeReference";
- typeName: TSEntityName;
- typeParameters: TSTypeParameterInstantiation | null;
-}
-
-export interface TSTypePredicate extends BaseNode {
- type: "TSTypePredicate";
- parameterName: Identifier | TSThisType;
- typeAnnotation: TSTypeAnnotation | null;
- asserts: boolean | null;
-}
-
-export interface TSTypeQuery extends BaseNode {
- type: "TSTypeQuery";
- exprName: TSEntityName | TSImportType;
- typeParameters: TSTypeParameterInstantiation | null;
-}
-
-export interface TSTypeLiteral extends BaseNode {
- type: "TSTypeLiteral";
- members: Array<TSTypeElement>;
-}
-
-export interface TSArrayType extends BaseNode {
- type: "TSArrayType";
- elementType: TSType;
-}
-
-export interface TSTupleType extends BaseNode {
- type: "TSTupleType";
- elementTypes: Array<TSType | TSNamedTupleMember>;
-}
-
-export interface TSOptionalType extends BaseNode {
- type: "TSOptionalType";
- typeAnnotation: TSType;
-}
-
-export interface TSRestType extends BaseNode {
- type: "TSRestType";
- typeAnnotation: TSType;
-}
-
-export interface TSNamedTupleMember extends BaseNode {
- type: "TSNamedTupleMember";
- label: Identifier;
- elementType: TSType;
- optional: boolean;
-}
-
-export interface TSUnionType extends BaseNode {
- type: "TSUnionType";
- types: Array<TSType>;
-}
-
-export interface TSIntersectionType extends BaseNode {
- type: "TSIntersectionType";
- types: Array<TSType>;
-}
-
-export interface TSConditionalType extends BaseNode {
- type: "TSConditionalType";
- checkType: TSType;
- extendsType: TSType;
- trueType: TSType;
- falseType: TSType;
-}
-
-export interface TSInferType extends BaseNode {
- type: "TSInferType";
- typeParameter: TSTypeParameter;
-}
-
-export interface TSParenthesizedType extends BaseNode {
- type: "TSParenthesizedType";
- typeAnnotation: TSType;
-}
-
-export interface TSTypeOperator extends BaseNode {
- type: "TSTypeOperator";
- typeAnnotation: TSType;
- operator: string;
-}
-
-export interface TSIndexedAccessType extends BaseNode {
- type: "TSIndexedAccessType";
- objectType: TSType;
- indexType: TSType;
-}
-
-export interface TSMappedType extends BaseNode {
- type: "TSMappedType";
- typeParameter: TSTypeParameter;
- typeAnnotation: TSType | null;
- nameType: TSType | null;
- optional: true | false | "+" | "-" | null;
- readonly: true | false | "+" | "-" | null;
-}
-
-export interface TSLiteralType extends BaseNode {
- type: "TSLiteralType";
- literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | TemplateLiteral | UnaryExpression;
-}
-
-export interface TSExpressionWithTypeArguments extends BaseNode {
- type: "TSExpressionWithTypeArguments";
- expression: TSEntityName;
- typeParameters: TSTypeParameterInstantiation | null;
-}
-
-export interface TSInterfaceDeclaration extends BaseNode {
- type: "TSInterfaceDeclaration";
- id: Identifier;
- typeParameters: TSTypeParameterDeclaration | null;
- extends: Array<TSExpressionWithTypeArguments> | null;
- body: TSInterfaceBody;
- declare: boolean | null;
-}
-
-export interface TSInterfaceBody extends BaseNode {
- type: "TSInterfaceBody";
- body: Array<TSTypeElement>;
-}
-
-export interface TSTypeAliasDeclaration extends BaseNode {
- type: "TSTypeAliasDeclaration";
- id: Identifier;
- typeParameters: TSTypeParameterDeclaration | null;
- typeAnnotation: TSType;
- declare: boolean | null;
-}
-
-export interface TSInstantiationExpression extends BaseNode {
- type: "TSInstantiationExpression";
- expression: Expression;
- typeParameters: TSTypeParameterInstantiation | null;
-}
-
-export interface TSAsExpression extends BaseNode {
- type: "TSAsExpression";
- expression: Expression;
- typeAnnotation: TSType;
-}
-
-export interface TSTypeAssertion extends BaseNode {
- type: "TSTypeAssertion";
- typeAnnotation: TSType;
- expression: Expression;
-}
-
-export interface TSEnumDeclaration extends BaseNode {
- type: "TSEnumDeclaration";
- id: Identifier;
- members: Array<TSEnumMember>;
- const: boolean | null;
- declare: boolean | null;
- initializer: Expression | null;
-}
-
-export interface TSEnumMember extends BaseNode {
- type: "TSEnumMember";
- id: Identifier | StringLiteral;
- initializer: Expression | null;
-}
-
-export interface TSModuleDeclaration extends BaseNode {
- type: "TSModuleDeclaration";
- id: Identifier | StringLiteral;
- body: TSModuleBlock | TSModuleDeclaration;
- declare: boolean | null;
- global: boolean | null;
-}
-
-export interface TSModuleBlock extends BaseNode {
- type: "TSModuleBlock";
- body: Array<Statement>;
-}
-
-export interface TSImportType extends BaseNode {
- type: "TSImportType";
- argument: StringLiteral;
- qualifier: TSEntityName | null;
- typeParameters: TSTypeParameterInstantiation | null;
-}
-
-export interface TSImportEqualsDeclaration extends BaseNode {
- type: "TSImportEqualsDeclaration";
- id: Identifier;
- moduleReference: TSEntityName | TSExternalModuleReference;
- importKind: "type" | "value" | null;
- isExport: boolean;
-}
-
-export interface TSExternalModuleReference extends BaseNode {
- type: "TSExternalModuleReference";
- expression: StringLiteral;
-}
-
-export interface TSNonNullExpression extends BaseNode {
- type: "TSNonNullExpression";
- expression: Expression;
-}
-
-export interface TSExportAssignment extends BaseNode {
- type: "TSExportAssignment";
- expression: Expression;
-}
-
-export interface TSNamespaceExportDeclaration extends BaseNode {
- type: "TSNamespaceExportDeclaration";
- id: Identifier;
-}
-
-export interface TSTypeAnnotation extends BaseNode {
- type: "TSTypeAnnotation";
- typeAnnotation: TSType;
-}
-
-export interface TSTypeParameterInstantiation extends BaseNode {
- type: "TSTypeParameterInstantiation";
- params: Array<TSType>;
-}
-
-export interface TSTypeParameterDeclaration extends BaseNode {
- type: "TSTypeParameterDeclaration";
- params: Array<TSTypeParameter>;
-}
-
-export interface TSTypeParameter extends BaseNode {
- type: "TSTypeParameter";
- constraint: TSType | null;
- default: TSType | null;
- name: string;
- in: boolean | null;
- out: boolean | null;
-}
-
-/**
- * @deprecated Use `NumericLiteral`
- */
-export type NumberLiteral = NumericLiteral;
-
-/**
- * @deprecated Use `RegExpLiteral`
- */
-export type RegexLiteral = RegExpLiteral;
-
-/**
- * @deprecated Use `RestElement`
- */
-export type RestProperty = RestElement;
-
-/**
- * @deprecated Use `SpreadElement`
- */
-export type SpreadProperty = SpreadElement;
-
-export type Standardized = ArrayExpression | AssignmentExpression | BinaryExpression | InterpreterDirective | Directive | DirectiveLiteral | BlockStatement | BreakStatement | CallExpression | CatchClause | ConditionalExpression | ContinueStatement | DebuggerStatement | DoWhileStatement | EmptyStatement | ExpressionStatement | File | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | LabeledStatement | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | LogicalExpression | MemberExpression | NewExpression | Program | ObjectExpression | ObjectMethod | ObjectProperty | RestElement | ReturnStatement | SequenceExpression | ParenthesizedExpression | SwitchCase | SwitchStatement | ThisExpression | ThrowStatement | TryStatement | UnaryExpression | UpdateExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | AssignmentPattern | ArrayPattern | ArrowFunctionExpression | ClassBody | ClassExpression | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ForOfStatement | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | MetaProperty | ClassMethod | ObjectPattern | SpreadElement | Super | TaggedTemplateExpression | TemplateElement | TemplateLiteral | YieldExpression | AwaitExpression | Import | BigIntLiteral | ExportNamespaceSpecifier | OptionalMemberExpression | OptionalCallExpression | ClassProperty | ClassAccessorProperty | ClassPrivateProperty | ClassPrivateMethod | PrivateName | StaticBlock;
-export type Expression = ArrayExpression | AssignmentExpression | BinaryExpression | CallExpression | ConditionalExpression | FunctionExpression | Identifier | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | LogicalExpression | MemberExpression | NewExpression | ObjectExpression | SequenceExpression | ParenthesizedExpression | ThisExpression | UnaryExpression | UpdateExpression | ArrowFunctionExpression | ClassExpression | MetaProperty | Super | TaggedTemplateExpression | TemplateLiteral | YieldExpression | AwaitExpression | Import | BigIntLiteral | OptionalMemberExpression | OptionalCallExpression | TypeCastExpression | JSXElement | JSXFragment | BindExpression | DoExpression | RecordExpression | TupleExpression | DecimalLiteral | ModuleExpression | TopicReference | PipelineTopicExpression | PipelineBareFunction | PipelinePrimaryTopicReference | TSInstantiationExpression | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
-export type Binary = BinaryExpression | LogicalExpression;
-export type Scopable = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ClassExpression | ClassDeclaration | ForOfStatement | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock;
-export type BlockParent = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ForOfStatement | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock;
-export type Block = BlockStatement | Program | TSModuleBlock;
-export type Statement = BlockStatement | BreakStatement | ContinueStatement | DebuggerStatement | DoWhileStatement | EmptyStatement | ExpressionStatement | ForInStatement | ForStatement | FunctionDeclaration | IfStatement | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | VariableDeclaration | WhileStatement | WithStatement | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ForOfStatement | ImportDeclaration | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | EnumDeclaration | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration | TSImportEqualsDeclaration | TSExportAssignment | TSNamespaceExportDeclaration;
-export type Terminatorless = BreakStatement | ContinueStatement | ReturnStatement | ThrowStatement | YieldExpression | AwaitExpression;
-export type CompletionStatement = BreakStatement | ContinueStatement | ReturnStatement | ThrowStatement;
-export type Conditional = ConditionalExpression | IfStatement;
-export type Loop = DoWhileStatement | ForInStatement | ForStatement | WhileStatement | ForOfStatement;
-export type While = DoWhileStatement | WhileStatement;
-export type ExpressionWrapper = ExpressionStatement | ParenthesizedExpression | TypeCastExpression;
-export type For = ForInStatement | ForStatement | ForOfStatement;
-export type ForXStatement = ForInStatement | ForOfStatement;
-export type Function = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod;
-export type FunctionParent = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod | StaticBlock;
-export type Pureish = FunctionDeclaration | FunctionExpression | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ArrowFunctionExpression | BigIntLiteral | DecimalLiteral;
-export type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | EnumDeclaration | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration;
-export type PatternLike = Identifier | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
-export type LVal = Identifier | MemberExpression | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSParameterProperty | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
-export type TSEntityName = Identifier | TSQualifiedName;
-export type Literal = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | TemplateLiteral | BigIntLiteral | DecimalLiteral;
-export type Immutable = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | BigIntLiteral | JSXAttribute | JSXClosingElement | JSXElement | JSXExpressionContainer | JSXSpreadChild | JSXOpeningElement | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment | DecimalLiteral;
-export type UserWhitespacable = ObjectMethod | ObjectProperty | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty;
-export type Method = ObjectMethod | ClassMethod | ClassPrivateMethod;
-export type ObjectMember = ObjectMethod | ObjectProperty;
-export type Property = ObjectProperty | ClassProperty | ClassAccessorProperty | ClassPrivateProperty;
-export type UnaryLike = UnaryExpression | SpreadElement;
-export type Pattern = AssignmentPattern | ArrayPattern | ObjectPattern;
-export type Class = ClassExpression | ClassDeclaration;
-export type ModuleDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration;
-export type ExportDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration;
-export type ModuleSpecifier = ExportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | ExportNamespaceSpecifier | ExportDefaultSpecifier;
-export type Accessor = ClassAccessorProperty;
-export type Private = ClassPrivateProperty | ClassPrivateMethod | PrivateName;
-export type Flow = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ClassImplements | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | DeclaredPredicate | ExistsTypeAnnotation | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | InferredPredicate | InterfaceExtends | InterfaceDeclaration | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | QualifiedTypeIdentifier | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | UnionTypeAnnotation | Variance | VoidTypeAnnotation | EnumDeclaration | EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody | EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember | IndexedAccessType | OptionalIndexedAccessType;
-export type FlowType = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ExistsTypeAnnotation | FunctionTypeAnnotation | GenericTypeAnnotation | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | UnionTypeAnnotation | VoidTypeAnnotation | IndexedAccessType | OptionalIndexedAccessType;
-export type FlowBaseAnnotation = AnyTypeAnnotation | BooleanTypeAnnotation | NullLiteralTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NumberTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | VoidTypeAnnotation;
-export type FlowDeclaration = DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias;
-export type FlowPredicate = DeclaredPredicate | InferredPredicate;
-export type EnumBody = EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;
-export type EnumMember = EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember;
-export type JSX = JSXAttribute | JSXClosingElement | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXSpreadChild | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXSpreadAttribute | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment;
-export type Miscellaneous = Noop | Placeholder | V8IntrinsicIdentifier;
-export type TypeScript = TSParameterProperty | TSDeclareFunction | TSDeclareMethod | TSQualifiedName | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature | TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSNamedTupleMember | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSLiteralType | TSExpressionWithTypeArguments | TSInterfaceDeclaration | TSInterfaceBody | TSTypeAliasDeclaration | TSInstantiationExpression | TSAsExpression | TSTypeAssertion | TSEnumDeclaration | TSEnumMember | TSModuleDeclaration | TSModuleBlock | TSImportType | TSImportEqualsDeclaration | TSExternalModuleReference | TSNonNullExpression | TSExportAssignment | TSNamespaceExportDeclaration | TSTypeAnnotation | TSTypeParameterInstantiation | TSTypeParameterDeclaration | TSTypeParameter;
-export type TSTypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature;
-export type TSType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSLiteralType | TSExpressionWithTypeArguments | TSImportType;
-export type TSBaseType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSLiteralType;
-
-export interface Aliases {
- Standardized: Standardized;
- Expression: Expression;
- Binary: Binary;
- Scopable: Scopable;
- BlockParent: BlockParent;
- Block: Block;
- Statement: Statement;
- Terminatorless: Terminatorless;
- CompletionStatement: CompletionStatement;
- Conditional: Conditional;
- Loop: Loop;
- While: While;
- ExpressionWrapper: ExpressionWrapper;
- For: For;
- ForXStatement: ForXStatement;
- Function: Function;
- FunctionParent: FunctionParent;
- Pureish: Pureish;
- Declaration: Declaration;
- PatternLike: PatternLike;
- LVal: LVal;
- TSEntityName: TSEntityName;
- Literal: Literal;
- Immutable: Immutable;
- UserWhitespacable: UserWhitespacable;
- Method: Method;
- ObjectMember: ObjectMember;
- Property: Property;
- UnaryLike: UnaryLike;
- Pattern: Pattern;
- Class: Class;
- ModuleDeclaration: ModuleDeclaration;
- ExportDeclaration: ExportDeclaration;
- ModuleSpecifier: ModuleSpecifier;
- Accessor: Accessor;
- Private: Private;
- Flow: Flow;
- FlowType: FlowType;
- FlowBaseAnnotation: FlowBaseAnnotation;
- FlowDeclaration: FlowDeclaration;
- FlowPredicate: FlowPredicate;
- EnumBody: EnumBody;
- EnumMember: EnumMember;
- JSX: JSX;
- Miscellaneous: Miscellaneous;
- TypeScript: TypeScript;
- TSTypeElement: TSTypeElement;
- TSType: TSType;
- TSBaseType: TSBaseType;
-}
-
-export function arrayExpression(elements?: Array<null | Expression | SpreadElement>): ArrayExpression;
-export function assignmentExpression(operator: string, left: LVal, right: Expression): AssignmentExpression;
-export function binaryExpression(operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>", left: Expression | PrivateName, right: Expression): BinaryExpression;
-export function interpreterDirective(value: string): InterpreterDirective;
-export function directive(value: DirectiveLiteral): Directive;
-export function directiveLiteral(value: string): DirectiveLiteral;
-export function blockStatement(body: Array<Statement>, directives?: Array<Directive>): BlockStatement;
-export function breakStatement(label?: Identifier | null): BreakStatement;
-export function callExpression(callee: Expression | Super | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>): CallExpression;
-export function catchClause(param: Identifier | ArrayPattern | ObjectPattern | null | undefined, body: BlockStatement): CatchClause;
-export function conditionalExpression(test: Expression, consequent: Expression, alternate: Expression): ConditionalExpression;
-export function continueStatement(label?: Identifier | null): ContinueStatement;
-export function debuggerStatement(): DebuggerStatement;
-export function doWhileStatement(test: Expression, body: Statement): DoWhileStatement;
-export function emptyStatement(): EmptyStatement;
-export function expressionStatement(expression: Expression): ExpressionStatement;
-export function file(program: Program, comments?: Array<CommentBlock | CommentLine> | null, tokens?: Array<any> | null): File;
-export function forInStatement(left: VariableDeclaration | LVal, right: Expression, body: Statement): ForInStatement;
-export function forStatement(init: VariableDeclaration | Expression | null | undefined, test: Expression | null | undefined, update: Expression | null | undefined, body: Statement): ForStatement;
-export function functionDeclaration(id: Identifier | null | undefined, params: Array<Identifier | Pattern | RestElement>, body: BlockStatement, generator?: boolean, async?: boolean): FunctionDeclaration;
-export function functionExpression(id: Identifier | null | undefined, params: Array<Identifier | Pattern | RestElement>, body: BlockStatement, generator?: boolean, async?: boolean): FunctionExpression;
-export function identifier(name: string): Identifier;
-export function ifStatement(test: Expression, consequent: Statement, alternate?: Statement | null): IfStatement;
-export function labeledStatement(label: Identifier, body: Statement): LabeledStatement;
-export function stringLiteral(value: string): StringLiteral;
-export function numericLiteral(value: number): NumericLiteral;
-export function nullLiteral(): NullLiteral;
-export function booleanLiteral(value: boolean): BooleanLiteral;
-export function regExpLiteral(pattern: string, flags?: string): RegExpLiteral;
-export function logicalExpression(operator: "||" | "&&" | "??", left: Expression, right: Expression): LogicalExpression;
-export function memberExpression(object: Expression | Super, property: Expression | Identifier | PrivateName, computed?: boolean, optional?: true | false | null): MemberExpression;
-export function newExpression(callee: Expression | Super | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>): NewExpression;
-export function program(body: Array<Statement>, directives?: Array<Directive>, sourceType?: "script" | "module", interpreter?: InterpreterDirective | null): Program;
-export function objectExpression(properties: Array<ObjectMethod | ObjectProperty | SpreadElement>): ObjectExpression;
-export function objectMethod(kind: "method" | "get" | "set" | undefined, key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral, params: Array<Identifier | Pattern | RestElement>, body: BlockStatement, computed?: boolean, generator?: boolean, async?: boolean): ObjectMethod;
-export function objectProperty(key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral | DecimalLiteral | PrivateName, value: Expression | PatternLike, computed?: boolean, shorthand?: boolean, decorators?: Array<Decorator> | null): ObjectProperty;
-export function restElement(argument: LVal): RestElement;
-export function returnStatement(argument?: Expression | null): ReturnStatement;
-export function sequenceExpression(expressions: Array<Expression>): SequenceExpression;
-export function parenthesizedExpression(expression: Expression): ParenthesizedExpression;
-export function switchCase(test: Expression | null | undefined, consequent: Array<Statement>): SwitchCase;
-export function switchStatement(discriminant: Expression, cases: Array<SwitchCase>): SwitchStatement;
-export function thisExpression(): ThisExpression;
-export function throwStatement(argument: Expression): ThrowStatement;
-export function tryStatement(block: BlockStatement, handler?: CatchClause | null, finalizer?: BlockStatement | null): TryStatement;
-export function unaryExpression(operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof", argument: Expression, prefix?: boolean): UnaryExpression;
-export function updateExpression(operator: "++" | "--", argument: Expression, prefix?: boolean): UpdateExpression;
-export function variableDeclaration(kind: "var" | "let" | "const", declarations: Array<VariableDeclarator>): VariableDeclaration;
-export function variableDeclarator(id: LVal, init?: Expression | null): VariableDeclarator;
-export function whileStatement(test: Expression, body: Statement): WhileStatement;
-export function withStatement(object: Expression, body: Statement): WithStatement;
-export function assignmentPattern(left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSTypeAssertion | TSNonNullExpression, right: Expression): AssignmentPattern;
-export function arrayPattern(elements: Array<null | PatternLike | LVal>): ArrayPattern;
-export function arrowFunctionExpression(params: Array<Identifier | Pattern | RestElement>, body: BlockStatement | Expression, async?: boolean): ArrowFunctionExpression;
-export function classBody(body: Array<ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | ClassAccessorProperty | TSDeclareMethod | TSIndexSignature | StaticBlock>): ClassBody;
-export function classExpression(id: Identifier | null | undefined, superClass: Expression | null | undefined, body: ClassBody, decorators?: Array<Decorator> | null): ClassExpression;
-export function classDeclaration(id: Identifier, superClass: Expression | null | undefined, body: ClassBody, decorators?: Array<Decorator> | null): ClassDeclaration;
-export function exportAllDeclaration(source: StringLiteral): ExportAllDeclaration;
-export function exportDefaultDeclaration(declaration: TSDeclareFunction | FunctionDeclaration | ClassDeclaration | Expression): ExportDefaultDeclaration;
-export function exportNamedDeclaration(declaration?: Declaration | null, specifiers?: Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier>, source?: StringLiteral | null): ExportNamedDeclaration;
-export function exportSpecifier(local: Identifier, exported: Identifier | StringLiteral): ExportSpecifier;
-export function forOfStatement(left: VariableDeclaration | LVal, right: Expression, body: Statement, _await?: boolean): ForOfStatement;
-export function importDeclaration(specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>, source: StringLiteral): ImportDeclaration;
-export function importDefaultSpecifier(local: Identifier): ImportDefaultSpecifier;
-export function importNamespaceSpecifier(local: Identifier): ImportNamespaceSpecifier;
-export function importSpecifier(local: Identifier, imported: Identifier | StringLiteral): ImportSpecifier;
-export function metaProperty(meta: Identifier, property: Identifier): MetaProperty;
-export function classMethod(kind: "get" | "set" | "method" | "constructor" | undefined, key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, computed?: boolean, _static?: boolean, generator?: boolean, async?: boolean): ClassMethod;
-export function objectPattern(properties: Array<RestElement | ObjectProperty>): ObjectPattern;
-export function spreadElement(argument: Expression): SpreadElement;
-declare function _super(): Super;
-export { _super as super}
-export function taggedTemplateExpression(tag: Expression, quasi: TemplateLiteral): TaggedTemplateExpression;
-export function templateElement(value: { raw: string, cooked?: string }, tail?: boolean): TemplateElement;
-export function templateLiteral(quasis: Array<TemplateElement>, expressions: Array<Expression | TSType>): TemplateLiteral;
-export function yieldExpression(argument?: Expression | null, delegate?: boolean): YieldExpression;
-export function awaitExpression(argument: Expression): AwaitExpression;
-declare function _import(): Import;
-export { _import as import}
-export function bigIntLiteral(value: string): BigIntLiteral;
-export function exportNamespaceSpecifier(exported: Identifier): ExportNamespaceSpecifier;
-export function optionalMemberExpression(object: Expression, property: Expression | Identifier, computed: boolean | undefined, optional: boolean): OptionalMemberExpression;
-export function optionalCallExpression(callee: Expression, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>, optional: boolean): OptionalCallExpression;
-export function classProperty(key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression, value?: Expression | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null, decorators?: Array<Decorator> | null, computed?: boolean, _static?: boolean): ClassProperty;
-export function classAccessorProperty(key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression | PrivateName, value?: Expression | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null, decorators?: Array<Decorator> | null, computed?: boolean, _static?: boolean): ClassAccessorProperty;
-export function classPrivateProperty(key: PrivateName, value?: Expression | null, decorators?: Array<Decorator> | null, _static?: boolean): ClassPrivateProperty;
-export function classPrivateMethod(kind: "get" | "set" | "method" | undefined, key: PrivateName, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, _static?: boolean): ClassPrivateMethod;
-export function privateName(id: Identifier): PrivateName;
-export function staticBlock(body: Array<Statement>): StaticBlock;
-export function anyTypeAnnotation(): AnyTypeAnnotation;
-export function arrayTypeAnnotation(elementType: FlowType): ArrayTypeAnnotation;
-export function booleanTypeAnnotation(): BooleanTypeAnnotation;
-export function booleanLiteralTypeAnnotation(value: boolean): BooleanLiteralTypeAnnotation;
-export function nullLiteralTypeAnnotation(): NullLiteralTypeAnnotation;
-export function classImplements(id: Identifier, typeParameters?: TypeParameterInstantiation | null): ClassImplements;
-export function declareClass(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, _extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation): DeclareClass;
-export function declareFunction(id: Identifier): DeclareFunction;
-export function declareInterface(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, _extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation): DeclareInterface;
-export function declareModule(id: Identifier | StringLiteral, body: BlockStatement, kind?: "CommonJS" | "ES" | null): DeclareModule;
-export function declareModuleExports(typeAnnotation: TypeAnnotation): DeclareModuleExports;
-export function declareTypeAlias(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, right: FlowType): DeclareTypeAlias;
-export function declareOpaqueType(id: Identifier, typeParameters?: TypeParameterDeclaration | null, supertype?: FlowType | null): DeclareOpaqueType;
-export function declareVariable(id: Identifier): DeclareVariable;
-export function declareExportDeclaration(declaration?: Flow | null, specifiers?: Array<ExportSpecifier | ExportNamespaceSpecifier> | null, source?: StringLiteral | null): DeclareExportDeclaration;
-export function declareExportAllDeclaration(source: StringLiteral): DeclareExportAllDeclaration;
-export function declaredPredicate(value: Flow): DeclaredPredicate;
-export function existsTypeAnnotation(): ExistsTypeAnnotation;
-export function functionTypeAnnotation(typeParameters: TypeParameterDeclaration | null | undefined, params: Array<FunctionTypeParam>, rest: FunctionTypeParam | null | undefined, returnType: FlowType): FunctionTypeAnnotation;
-export function functionTypeParam(name: Identifier | null | undefined, typeAnnotation: FlowType): FunctionTypeParam;
-export function genericTypeAnnotation(id: Identifier | QualifiedTypeIdentifier, typeParameters?: TypeParameterInstantiation | null): GenericTypeAnnotation;
-export function inferredPredicate(): InferredPredicate;
-export function interfaceExtends(id: Identifier | QualifiedTypeIdentifier, typeParameters?: TypeParameterInstantiation | null): InterfaceExtends;
-export function interfaceDeclaration(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, _extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation): InterfaceDeclaration;
-export function interfaceTypeAnnotation(_extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation): InterfaceTypeAnnotation;
-export function intersectionTypeAnnotation(types: Array<FlowType>): IntersectionTypeAnnotation;
-export function mixedTypeAnnotation(): MixedTypeAnnotation;
-export function emptyTypeAnnotation(): EmptyTypeAnnotation;
-export function nullableTypeAnnotation(typeAnnotation: FlowType): NullableTypeAnnotation;
-export function numberLiteralTypeAnnotation(value: number): NumberLiteralTypeAnnotation;
-export function numberTypeAnnotation(): NumberTypeAnnotation;
-export function objectTypeAnnotation(properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty>, indexers?: Array<ObjectTypeIndexer>, callProperties?: Array<ObjectTypeCallProperty>, internalSlots?: Array<ObjectTypeInternalSlot>, exact?: boolean): ObjectTypeAnnotation;
-export function objectTypeInternalSlot(id: Identifier, value: FlowType, optional: boolean, _static: boolean, method: boolean): ObjectTypeInternalSlot;
-export function objectTypeCallProperty(value: FlowType): ObjectTypeCallProperty;
-export function objectTypeIndexer(id: Identifier | null | undefined, key: FlowType, value: FlowType, variance?: Variance | null): ObjectTypeIndexer;
-export function objectTypeProperty(key: Identifier | StringLiteral, value: FlowType, variance?: Variance | null): ObjectTypeProperty;
-export function objectTypeSpreadProperty(argument: FlowType): ObjectTypeSpreadProperty;
-export function opaqueType(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, supertype: FlowType | null | undefined, impltype: FlowType): OpaqueType;
-export function qualifiedTypeIdentifier(id: Identifier, qualification: Identifier | QualifiedTypeIdentifier): QualifiedTypeIdentifier;
-export function stringLiteralTypeAnnotation(value: string): StringLiteralTypeAnnotation;
-export function stringTypeAnnotation(): StringTypeAnnotation;
-export function symbolTypeAnnotation(): SymbolTypeAnnotation;
-export function thisTypeAnnotation(): ThisTypeAnnotation;
-export function tupleTypeAnnotation(types: Array<FlowType>): TupleTypeAnnotation;
-export function typeofTypeAnnotation(argument: FlowType): TypeofTypeAnnotation;
-export function typeAlias(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, right: FlowType): TypeAlias;
-export function typeAnnotation(typeAnnotation: FlowType): TypeAnnotation;
-export function typeCastExpression(expression: Expression, typeAnnotation: TypeAnnotation): TypeCastExpression;
-export function typeParameter(bound?: TypeAnnotation | null, _default?: FlowType | null, variance?: Variance | null): TypeParameter;
-export function typeParameterDeclaration(params: Array<TypeParameter>): TypeParameterDeclaration;
-export function typeParameterInstantiation(params: Array<FlowType>): TypeParameterInstantiation;
-export function unionTypeAnnotation(types: Array<FlowType>): UnionTypeAnnotation;
-export function variance(kind: "minus" | "plus"): Variance;
-export function voidTypeAnnotation(): VoidTypeAnnotation;
-export function enumDeclaration(id: Identifier, body: EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody): EnumDeclaration;
-export function enumBooleanBody(members: Array<EnumBooleanMember>): EnumBooleanBody;
-export function enumNumberBody(members: Array<EnumNumberMember>): EnumNumberBody;
-export function enumStringBody(members: Array<EnumStringMember | EnumDefaultedMember>): EnumStringBody;
-export function enumSymbolBody(members: Array<EnumDefaultedMember>): EnumSymbolBody;
-export function enumBooleanMember(id: Identifier): EnumBooleanMember;
-export function enumNumberMember(id: Identifier, init: NumericLiteral): EnumNumberMember;
-export function enumStringMember(id: Identifier, init: StringLiteral): EnumStringMember;
-export function enumDefaultedMember(id: Identifier): EnumDefaultedMember;
-export function indexedAccessType(objectType: FlowType, indexType: FlowType): IndexedAccessType;
-export function optionalIndexedAccessType(objectType: FlowType, indexType: FlowType): OptionalIndexedAccessType;
-export function jsxAttribute(name: JSXIdentifier | JSXNamespacedName, value?: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer | null): JSXAttribute;
-export function jsxClosingElement(name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName): JSXClosingElement;
-export function jsxElement(openingElement: JSXOpeningElement, closingElement: JSXClosingElement | null | undefined, children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>, selfClosing?: boolean | null): JSXElement;
-export function jsxEmptyExpression(): JSXEmptyExpression;
-export function jsxExpressionContainer(expression: Expression | JSXEmptyExpression): JSXExpressionContainer;
-export function jsxSpreadChild(expression: Expression): JSXSpreadChild;
-export function jsxIdentifier(name: string): JSXIdentifier;
-export function jsxMemberExpression(object: JSXMemberExpression | JSXIdentifier, property: JSXIdentifier): JSXMemberExpression;
-export function jsxNamespacedName(namespace: JSXIdentifier, name: JSXIdentifier): JSXNamespacedName;
-export function jsxOpeningElement(name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName, attributes: Array<JSXAttribute | JSXSpreadAttribute>, selfClosing?: boolean): JSXOpeningElement;
-export function jsxSpreadAttribute(argument: Expression): JSXSpreadAttribute;
-export function jsxText(value: string): JSXText;
-export function jsxFragment(openingFragment: JSXOpeningFragment, closingFragment: JSXClosingFragment, children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>): JSXFragment;
-export function jsxOpeningFragment(): JSXOpeningFragment;
-export function jsxClosingFragment(): JSXClosingFragment;
-export function noop(): Noop;
-export function placeholder(expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern", name: Identifier): Placeholder;
-export function v8IntrinsicIdentifier(name: string): V8IntrinsicIdentifier;
-export function argumentPlaceholder(): ArgumentPlaceholder;
-export function bindExpression(object: Expression, callee: Expression): BindExpression;
-export function importAttribute(key: Identifier | StringLiteral, value: StringLiteral): ImportAttribute;
-export function decorator(expression: Expression): Decorator;
-export function doExpression(body: BlockStatement, async?: boolean): DoExpression;
-export function exportDefaultSpecifier(exported: Identifier): ExportDefaultSpecifier;
-export function recordExpression(properties: Array<ObjectProperty | SpreadElement>): RecordExpression;
-export function tupleExpression(elements?: Array<Expression | SpreadElement>): TupleExpression;
-export function decimalLiteral(value: string): DecimalLiteral;
-export function moduleExpression(body: Program): ModuleExpression;
-export function topicReference(): TopicReference;
-export function pipelineTopicExpression(expression: Expression): PipelineTopicExpression;
-export function pipelineBareFunction(callee: Expression): PipelineBareFunction;
-export function pipelinePrimaryTopicReference(): PipelinePrimaryTopicReference;
-export function tsParameterProperty(parameter: Identifier | AssignmentPattern): TSParameterProperty;
-export function tsDeclareFunction(id: Identifier | null | undefined, typeParameters: TSTypeParameterDeclaration | Noop | null | undefined, params: Array<Identifier | Pattern | RestElement>, returnType?: TSTypeAnnotation | Noop | null): TSDeclareFunction;
-export function tsDeclareMethod(decorators: Array<Decorator> | null | undefined, key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression, typeParameters: TSTypeParameterDeclaration | Noop | null | undefined, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, returnType?: TSTypeAnnotation | Noop | null): TSDeclareMethod;
-export function tsQualifiedName(left: TSEntityName, right: Identifier): TSQualifiedName;
-export function tsCallSignatureDeclaration(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSCallSignatureDeclaration;
-export function tsConstructSignatureDeclaration(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSConstructSignatureDeclaration;
-export function tsPropertySignature(key: Expression, typeAnnotation?: TSTypeAnnotation | null, initializer?: Expression | null): TSPropertySignature;
-export function tsMethodSignature(key: Expression, typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSMethodSignature;
-export function tsIndexSignature(parameters: Array<Identifier>, typeAnnotation?: TSTypeAnnotation | null): TSIndexSignature;
-export function tsAnyKeyword(): TSAnyKeyword;
-export function tsBooleanKeyword(): TSBooleanKeyword;
-export function tsBigIntKeyword(): TSBigIntKeyword;
-export function tsIntrinsicKeyword(): TSIntrinsicKeyword;
-export function tsNeverKeyword(): TSNeverKeyword;
-export function tsNullKeyword(): TSNullKeyword;
-export function tsNumberKeyword(): TSNumberKeyword;
-export function tsObjectKeyword(): TSObjectKeyword;
-export function tsStringKeyword(): TSStringKeyword;
-export function tsSymbolKeyword(): TSSymbolKeyword;
-export function tsUndefinedKeyword(): TSUndefinedKeyword;
-export function tsUnknownKeyword(): TSUnknownKeyword;
-export function tsVoidKeyword(): TSVoidKeyword;
-export function tsThisType(): TSThisType;
-export function tsFunctionType(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSFunctionType;
-export function tsConstructorType(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSConstructorType;
-export function tsTypeReference(typeName: TSEntityName, typeParameters?: TSTypeParameterInstantiation | null): TSTypeReference;
-export function tsTypePredicate(parameterName: Identifier | TSThisType, typeAnnotation?: TSTypeAnnotation | null, asserts?: boolean | null): TSTypePredicate;
-export function tsTypeQuery(exprName: TSEntityName | TSImportType, typeParameters?: TSTypeParameterInstantiation | null): TSTypeQuery;
-export function tsTypeLiteral(members: Array<TSTypeElement>): TSTypeLiteral;
-export function tsArrayType(elementType: TSType): TSArrayType;
-export function tsTupleType(elementTypes: Array<TSType | TSNamedTupleMember>): TSTupleType;
-export function tsOptionalType(typeAnnotation: TSType): TSOptionalType;
-export function tsRestType(typeAnnotation: TSType): TSRestType;
-export function tsNamedTupleMember(label: Identifier, elementType: TSType, optional?: boolean): TSNamedTupleMember;
-export function tsUnionType(types: Array<TSType>): TSUnionType;
-export function tsIntersectionType(types: Array<TSType>): TSIntersectionType;
-export function tsConditionalType(checkType: TSType, extendsType: TSType, trueType: TSType, falseType: TSType): TSConditionalType;
-export function tsInferType(typeParameter: TSTypeParameter): TSInferType;
-export function tsParenthesizedType(typeAnnotation: TSType): TSParenthesizedType;
-export function tsTypeOperator(typeAnnotation: TSType): TSTypeOperator;
-export function tsIndexedAccessType(objectType: TSType, indexType: TSType): TSIndexedAccessType;
-export function tsMappedType(typeParameter: TSTypeParameter, typeAnnotation?: TSType | null, nameType?: TSType | null): TSMappedType;
-export function tsLiteralType(literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | TemplateLiteral | UnaryExpression): TSLiteralType;
-export function tsExpressionWithTypeArguments(expression: TSEntityName, typeParameters?: TSTypeParameterInstantiation | null): TSExpressionWithTypeArguments;
-export function tsInterfaceDeclaration(id: Identifier, typeParameters: TSTypeParameterDeclaration | null | undefined, _extends: Array<TSExpressionWithTypeArguments> | null | undefined, body: TSInterfaceBody): TSInterfaceDeclaration;
-export function tsInterfaceBody(body: Array<TSTypeElement>): TSInterfaceBody;
-export function tsTypeAliasDeclaration(id: Identifier, typeParameters: TSTypeParameterDeclaration | null | undefined, typeAnnotation: TSType): TSTypeAliasDeclaration;
-export function tsInstantiationExpression(expression: Expression, typeParameters?: TSTypeParameterInstantiation | null): TSInstantiationExpression;
-export function tsAsExpression(expression: Expression, typeAnnotation: TSType): TSAsExpression;
-export function tsTypeAssertion(typeAnnotation: TSType, expression: Expression): TSTypeAssertion;
-export function tsEnumDeclaration(id: Identifier, members: Array<TSEnumMember>): TSEnumDeclaration;
-export function tsEnumMember(id: Identifier | StringLiteral, initializer?: Expression | null): TSEnumMember;
-export function tsModuleDeclaration(id: Identifier | StringLiteral, body: TSModuleBlock | TSModuleDeclaration): TSModuleDeclaration;
-export function tsModuleBlock(body: Array<Statement>): TSModuleBlock;
-export function tsImportType(argument: StringLiteral, qualifier?: TSEntityName | null, typeParameters?: TSTypeParameterInstantiation | null): TSImportType;
-export function tsImportEqualsDeclaration(id: Identifier, moduleReference: TSEntityName | TSExternalModuleReference): TSImportEqualsDeclaration;
-export function tsExternalModuleReference(expression: StringLiteral): TSExternalModuleReference;
-export function tsNonNullExpression(expression: Expression): TSNonNullExpression;
-export function tsExportAssignment(expression: Expression): TSExportAssignment;
-export function tsNamespaceExportDeclaration(id: Identifier): TSNamespaceExportDeclaration;
-export function tsTypeAnnotation(typeAnnotation: TSType): TSTypeAnnotation;
-export function tsTypeParameterInstantiation(params: Array<TSType>): TSTypeParameterInstantiation;
-export function tsTypeParameterDeclaration(params: Array<TSTypeParameter>): TSTypeParameterDeclaration;
-export function tsTypeParameter(constraint: TSType | null | undefined, _default: TSType | null | undefined, name: string): TSTypeParameter;
-export function isAccessor(node: object | null | undefined, opts?: object | null): node is Accessor;
-export function assertAccessor(node: object | null | undefined, opts?: object | null): void;
-export function isAnyTypeAnnotation(node: object | null | undefined, opts?: object | null): node is AnyTypeAnnotation;
-export function assertAnyTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isArgumentPlaceholder(node: object | null | undefined, opts?: object | null): node is ArgumentPlaceholder;
-export function assertArgumentPlaceholder(node: object | null | undefined, opts?: object | null): void;
-export function isArrayExpression(node: object | null | undefined, opts?: object | null): node is ArrayExpression;
-export function assertArrayExpression(node: object | null | undefined, opts?: object | null): void;
-export function isArrayPattern(node: object | null | undefined, opts?: object | null): node is ArrayPattern;
-export function assertArrayPattern(node: object | null | undefined, opts?: object | null): void;
-export function isArrayTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ArrayTypeAnnotation;
-export function assertArrayTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isArrowFunctionExpression(node: object | null | undefined, opts?: object | null): node is ArrowFunctionExpression;
-export function assertArrowFunctionExpression(node: object | null | undefined, opts?: object | null): void;
-export function isAssignmentExpression(node: object | null | undefined, opts?: object | null): node is AssignmentExpression;
-export function assertAssignmentExpression(node: object | null | undefined, opts?: object | null): void;
-export function isAssignmentPattern(node: object | null | undefined, opts?: object | null): node is AssignmentPattern;
-export function assertAssignmentPattern(node: object | null | undefined, opts?: object | null): void;
-export function isAwaitExpression(node: object | null | undefined, opts?: object | null): node is AwaitExpression;
-export function assertAwaitExpression(node: object | null | undefined, opts?: object | null): void;
-export function isBigIntLiteral(node: object | null | undefined, opts?: object | null): node is BigIntLiteral;
-export function assertBigIntLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isBinary(node: object | null | undefined, opts?: object | null): node is Binary;
-export function assertBinary(node: object | null | undefined, opts?: object | null): void;
-export function isBinaryExpression(node: object | null | undefined, opts?: object | null): node is BinaryExpression;
-export function assertBinaryExpression(node: object | null | undefined, opts?: object | null): void;
-export function isBindExpression(node: object | null | undefined, opts?: object | null): node is BindExpression;
-export function assertBindExpression(node: object | null | undefined, opts?: object | null): void;
-export function isBlock(node: object | null | undefined, opts?: object | null): node is Block;
-export function assertBlock(node: object | null | undefined, opts?: object | null): void;
-export function isBlockParent(node: object | null | undefined, opts?: object | null): node is BlockParent;
-export function assertBlockParent(node: object | null | undefined, opts?: object | null): void;
-export function isBlockStatement(node: object | null | undefined, opts?: object | null): node is BlockStatement;
-export function assertBlockStatement(node: object | null | undefined, opts?: object | null): void;
-export function isBooleanLiteral(node: object | null | undefined, opts?: object | null): node is BooleanLiteral;
-export function assertBooleanLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isBooleanLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is BooleanLiteralTypeAnnotation;
-export function assertBooleanLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isBooleanTypeAnnotation(node: object | null | undefined, opts?: object | null): node is BooleanTypeAnnotation;
-export function assertBooleanTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isBreakStatement(node: object | null | undefined, opts?: object | null): node is BreakStatement;
-export function assertBreakStatement(node: object | null | undefined, opts?: object | null): void;
-export function isCallExpression(node: object | null | undefined, opts?: object | null): node is CallExpression;
-export function assertCallExpression(node: object | null | undefined, opts?: object | null): void;
-export function isCatchClause(node: object | null | undefined, opts?: object | null): node is CatchClause;
-export function assertCatchClause(node: object | null | undefined, opts?: object | null): void;
-export function isClass(node: object | null | undefined, opts?: object | null): node is Class;
-export function assertClass(node: object | null | undefined, opts?: object | null): void;
-export function isClassAccessorProperty(node: object | null | undefined, opts?: object | null): node is ClassAccessorProperty;
-export function assertClassAccessorProperty(node: object | null | undefined, opts?: object | null): void;
-export function isClassBody(node: object | null | undefined, opts?: object | null): node is ClassBody;
-export function assertClassBody(node: object | null | undefined, opts?: object | null): void;
-export function isClassDeclaration(node: object | null | undefined, opts?: object | null): node is ClassDeclaration;
-export function assertClassDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isClassExpression(node: object | null | undefined, opts?: object | null): node is ClassExpression;
-export function assertClassExpression(node: object | null | undefined, opts?: object | null): void;
-export function isClassImplements(node: object | null | undefined, opts?: object | null): node is ClassImplements;
-export function assertClassImplements(node: object | null | undefined, opts?: object | null): void;
-export function isClassMethod(node: object | null | undefined, opts?: object | null): node is ClassMethod;
-export function assertClassMethod(node: object | null | undefined, opts?: object | null): void;
-export function isClassPrivateMethod(node: object | null | undefined, opts?: object | null): node is ClassPrivateMethod;
-export function assertClassPrivateMethod(node: object | null | undefined, opts?: object | null): void;
-export function isClassPrivateProperty(node: object | null | undefined, opts?: object | null): node is ClassPrivateProperty;
-export function assertClassPrivateProperty(node: object | null | undefined, opts?: object | null): void;
-export function isClassProperty(node: object | null | undefined, opts?: object | null): node is ClassProperty;
-export function assertClassProperty(node: object | null | undefined, opts?: object | null): void;
-export function isCompletionStatement(node: object | null | undefined, opts?: object | null): node is CompletionStatement;
-export function assertCompletionStatement(node: object | null | undefined, opts?: object | null): void;
-export function isConditional(node: object | null | undefined, opts?: object | null): node is Conditional;
-export function assertConditional(node: object | null | undefined, opts?: object | null): void;
-export function isConditionalExpression(node: object | null | undefined, opts?: object | null): node is ConditionalExpression;
-export function assertConditionalExpression(node: object | null | undefined, opts?: object | null): void;
-export function isContinueStatement(node: object | null | undefined, opts?: object | null): node is ContinueStatement;
-export function assertContinueStatement(node: object | null | undefined, opts?: object | null): void;
-export function isDebuggerStatement(node: object | null | undefined, opts?: object | null): node is DebuggerStatement;
-export function assertDebuggerStatement(node: object | null | undefined, opts?: object | null): void;
-export function isDecimalLiteral(node: object | null | undefined, opts?: object | null): node is DecimalLiteral;
-export function assertDecimalLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isDeclaration(node: object | null | undefined, opts?: object | null): node is Declaration;
-export function assertDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareClass(node: object | null | undefined, opts?: object | null): node is DeclareClass;
-export function assertDeclareClass(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareExportAllDeclaration(node: object | null | undefined, opts?: object | null): node is DeclareExportAllDeclaration;
-export function assertDeclareExportAllDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareExportDeclaration(node: object | null | undefined, opts?: object | null): node is DeclareExportDeclaration;
-export function assertDeclareExportDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareFunction(node: object | null | undefined, opts?: object | null): node is DeclareFunction;
-export function assertDeclareFunction(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareInterface(node: object | null | undefined, opts?: object | null): node is DeclareInterface;
-export function assertDeclareInterface(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareModule(node: object | null | undefined, opts?: object | null): node is DeclareModule;
-export function assertDeclareModule(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareModuleExports(node: object | null | undefined, opts?: object | null): node is DeclareModuleExports;
-export function assertDeclareModuleExports(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareOpaqueType(node: object | null | undefined, opts?: object | null): node is DeclareOpaqueType;
-export function assertDeclareOpaqueType(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareTypeAlias(node: object | null | undefined, opts?: object | null): node is DeclareTypeAlias;
-export function assertDeclareTypeAlias(node: object | null | undefined, opts?: object | null): void;
-export function isDeclareVariable(node: object | null | undefined, opts?: object | null): node is DeclareVariable;
-export function assertDeclareVariable(node: object | null | undefined, opts?: object | null): void;
-export function isDeclaredPredicate(node: object | null | undefined, opts?: object | null): node is DeclaredPredicate;
-export function assertDeclaredPredicate(node: object | null | undefined, opts?: object | null): void;
-export function isDecorator(node: object | null | undefined, opts?: object | null): node is Decorator;
-export function assertDecorator(node: object | null | undefined, opts?: object | null): void;
-export function isDirective(node: object | null | undefined, opts?: object | null): node is Directive;
-export function assertDirective(node: object | null | undefined, opts?: object | null): void;
-export function isDirectiveLiteral(node: object | null | undefined, opts?: object | null): node is DirectiveLiteral;
-export function assertDirectiveLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isDoExpression(node: object | null | undefined, opts?: object | null): node is DoExpression;
-export function assertDoExpression(node: object | null | undefined, opts?: object | null): void;
-export function isDoWhileStatement(node: object | null | undefined, opts?: object | null): node is DoWhileStatement;
-export function assertDoWhileStatement(node: object | null | undefined, opts?: object | null): void;
-export function isEmptyStatement(node: object | null | undefined, opts?: object | null): node is EmptyStatement;
-export function assertEmptyStatement(node: object | null | undefined, opts?: object | null): void;
-export function isEmptyTypeAnnotation(node: object | null | undefined, opts?: object | null): node is EmptyTypeAnnotation;
-export function assertEmptyTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isEnumBody(node: object | null | undefined, opts?: object | null): node is EnumBody;
-export function assertEnumBody(node: object | null | undefined, opts?: object | null): void;
-export function isEnumBooleanBody(node: object | null | undefined, opts?: object | null): node is EnumBooleanBody;
-export function assertEnumBooleanBody(node: object | null | undefined, opts?: object | null): void;
-export function isEnumBooleanMember(node: object | null | undefined, opts?: object | null): node is EnumBooleanMember;
-export function assertEnumBooleanMember(node: object | null | undefined, opts?: object | null): void;
-export function isEnumDeclaration(node: object | null | undefined, opts?: object | null): node is EnumDeclaration;
-export function assertEnumDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isEnumDefaultedMember(node: object | null | undefined, opts?: object | null): node is EnumDefaultedMember;
-export function assertEnumDefaultedMember(node: object | null | undefined, opts?: object | null): void;
-export function isEnumMember(node: object | null | undefined, opts?: object | null): node is EnumMember;
-export function assertEnumMember(node: object | null | undefined, opts?: object | null): void;
-export function isEnumNumberBody(node: object | null | undefined, opts?: object | null): node is EnumNumberBody;
-export function assertEnumNumberBody(node: object | null | undefined, opts?: object | null): void;
-export function isEnumNumberMember(node: object | null | undefined, opts?: object | null): node is EnumNumberMember;
-export function assertEnumNumberMember(node: object | null | undefined, opts?: object | null): void;
-export function isEnumStringBody(node: object | null | undefined, opts?: object | null): node is EnumStringBody;
-export function assertEnumStringBody(node: object | null | undefined, opts?: object | null): void;
-export function isEnumStringMember(node: object | null | undefined, opts?: object | null): node is EnumStringMember;
-export function assertEnumStringMember(node: object | null | undefined, opts?: object | null): void;
-export function isEnumSymbolBody(node: object | null | undefined, opts?: object | null): node is EnumSymbolBody;
-export function assertEnumSymbolBody(node: object | null | undefined, opts?: object | null): void;
-export function isExistsTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ExistsTypeAnnotation;
-export function assertExistsTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isExportAllDeclaration(node: object | null | undefined, opts?: object | null): node is ExportAllDeclaration;
-export function assertExportAllDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isExportDeclaration(node: object | null | undefined, opts?: object | null): node is ExportDeclaration;
-export function assertExportDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isExportDefaultDeclaration(node: object | null | undefined, opts?: object | null): node is ExportDefaultDeclaration;
-export function assertExportDefaultDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isExportDefaultSpecifier(node: object | null | undefined, opts?: object | null): node is ExportDefaultSpecifier;
-export function assertExportDefaultSpecifier(node: object | null | undefined, opts?: object | null): void;
-export function isExportNamedDeclaration(node: object | null | undefined, opts?: object | null): node is ExportNamedDeclaration;
-export function assertExportNamedDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isExportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): node is ExportNamespaceSpecifier;
-export function assertExportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): void;
-export function isExportSpecifier(node: object | null | undefined, opts?: object | null): node is ExportSpecifier;
-export function assertExportSpecifier(node: object | null | undefined, opts?: object | null): void;
-export function isExpression(node: object | null | undefined, opts?: object | null): node is Expression;
-export function assertExpression(node: object | null | undefined, opts?: object | null): void;
-export function isExpressionStatement(node: object | null | undefined, opts?: object | null): node is ExpressionStatement;
-export function assertExpressionStatement(node: object | null | undefined, opts?: object | null): void;
-export function isExpressionWrapper(node: object | null | undefined, opts?: object | null): node is ExpressionWrapper;
-export function assertExpressionWrapper(node: object | null | undefined, opts?: object | null): void;
-export function isFile(node: object | null | undefined, opts?: object | null): node is File;
-export function assertFile(node: object | null | undefined, opts?: object | null): void;
-export function isFlow(node: object | null | undefined, opts?: object | null): node is Flow;
-export function assertFlow(node: object | null | undefined, opts?: object | null): void;
-export function isFlowBaseAnnotation(node: object | null | undefined, opts?: object | null): node is FlowBaseAnnotation;
-export function assertFlowBaseAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isFlowDeclaration(node: object | null | undefined, opts?: object | null): node is FlowDeclaration;
-export function assertFlowDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isFlowPredicate(node: object | null | undefined, opts?: object | null): node is FlowPredicate;
-export function assertFlowPredicate(node: object | null | undefined, opts?: object | null): void;
-export function isFlowType(node: object | null | undefined, opts?: object | null): node is FlowType;
-export function assertFlowType(node: object | null | undefined, opts?: object | null): void;
-export function isFor(node: object | null | undefined, opts?: object | null): node is For;
-export function assertFor(node: object | null | undefined, opts?: object | null): void;
-export function isForInStatement(node: object | null | undefined, opts?: object | null): node is ForInStatement;
-export function assertForInStatement(node: object | null | undefined, opts?: object | null): void;
-export function isForOfStatement(node: object | null | undefined, opts?: object | null): node is ForOfStatement;
-export function assertForOfStatement(node: object | null | undefined, opts?: object | null): void;
-export function isForStatement(node: object | null | undefined, opts?: object | null): node is ForStatement;
-export function assertForStatement(node: object | null | undefined, opts?: object | null): void;
-export function isForXStatement(node: object | null | undefined, opts?: object | null): node is ForXStatement;
-export function assertForXStatement(node: object | null | undefined, opts?: object | null): void;
-export function isFunction(node: object | null | undefined, opts?: object | null): node is Function;
-export function assertFunction(node: object | null | undefined, opts?: object | null): void;
-export function isFunctionDeclaration(node: object | null | undefined, opts?: object | null): node is FunctionDeclaration;
-export function assertFunctionDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isFunctionExpression(node: object | null | undefined, opts?: object | null): node is FunctionExpression;
-export function assertFunctionExpression(node: object | null | undefined, opts?: object | null): void;
-export function isFunctionParent(node: object | null | undefined, opts?: object | null): node is FunctionParent;
-export function assertFunctionParent(node: object | null | undefined, opts?: object | null): void;
-export function isFunctionTypeAnnotation(node: object | null | undefined, opts?: object | null): node is FunctionTypeAnnotation;
-export function assertFunctionTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isFunctionTypeParam(node: object | null | undefined, opts?: object | null): node is FunctionTypeParam;
-export function assertFunctionTypeParam(node: object | null | undefined, opts?: object | null): void;
-export function isGenericTypeAnnotation(node: object | null | undefined, opts?: object | null): node is GenericTypeAnnotation;
-export function assertGenericTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isIdentifier(node: object | null | undefined, opts?: object | null): node is Identifier;
-export function assertIdentifier(node: object | null | undefined, opts?: object | null): void;
-export function isIfStatement(node: object | null | undefined, opts?: object | null): node is IfStatement;
-export function assertIfStatement(node: object | null | undefined, opts?: object | null): void;
-export function isImmutable(node: object | null | undefined, opts?: object | null): node is Immutable;
-export function assertImmutable(node: object | null | undefined, opts?: object | null): void;
-export function isImport(node: object | null | undefined, opts?: object | null): node is Import;
-export function assertImport(node: object | null | undefined, opts?: object | null): void;
-export function isImportAttribute(node: object | null | undefined, opts?: object | null): node is ImportAttribute;
-export function assertImportAttribute(node: object | null | undefined, opts?: object | null): void;
-export function isImportDeclaration(node: object | null | undefined, opts?: object | null): node is ImportDeclaration;
-export function assertImportDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isImportDefaultSpecifier(node: object | null | undefined, opts?: object | null): node is ImportDefaultSpecifier;
-export function assertImportDefaultSpecifier(node: object | null | undefined, opts?: object | null): void;
-export function isImportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): node is ImportNamespaceSpecifier;
-export function assertImportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): void;
-export function isImportSpecifier(node: object | null | undefined, opts?: object | null): node is ImportSpecifier;
-export function assertImportSpecifier(node: object | null | undefined, opts?: object | null): void;
-export function isIndexedAccessType(node: object | null | undefined, opts?: object | null): node is IndexedAccessType;
-export function assertIndexedAccessType(node: object | null | undefined, opts?: object | null): void;
-export function isInferredPredicate(node: object | null | undefined, opts?: object | null): node is InferredPredicate;
-export function assertInferredPredicate(node: object | null | undefined, opts?: object | null): void;
-export function isInterfaceDeclaration(node: object | null | undefined, opts?: object | null): node is InterfaceDeclaration;
-export function assertInterfaceDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isInterfaceExtends(node: object | null | undefined, opts?: object | null): node is InterfaceExtends;
-export function assertInterfaceExtends(node: object | null | undefined, opts?: object | null): void;
-export function isInterfaceTypeAnnotation(node: object | null | undefined, opts?: object | null): node is InterfaceTypeAnnotation;
-export function assertInterfaceTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isInterpreterDirective(node: object | null | undefined, opts?: object | null): node is InterpreterDirective;
-export function assertInterpreterDirective(node: object | null | undefined, opts?: object | null): void;
-export function isIntersectionTypeAnnotation(node: object | null | undefined, opts?: object | null): node is IntersectionTypeAnnotation;
-export function assertIntersectionTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isJSX(node: object | null | undefined, opts?: object | null): node is JSX;
-export function assertJSX(node: object | null | undefined, opts?: object | null): void;
-export function isJSXAttribute(node: object | null | undefined, opts?: object | null): node is JSXAttribute;
-export function assertJSXAttribute(node: object | null | undefined, opts?: object | null): void;
-export function isJSXClosingElement(node: object | null | undefined, opts?: object | null): node is JSXClosingElement;
-export function assertJSXClosingElement(node: object | null | undefined, opts?: object | null): void;
-export function isJSXClosingFragment(node: object | null | undefined, opts?: object | null): node is JSXClosingFragment;
-export function assertJSXClosingFragment(node: object | null | undefined, opts?: object | null): void;
-export function isJSXElement(node: object | null | undefined, opts?: object | null): node is JSXElement;
-export function assertJSXElement(node: object | null | undefined, opts?: object | null): void;
-export function isJSXEmptyExpression(node: object | null | undefined, opts?: object | null): node is JSXEmptyExpression;
-export function assertJSXEmptyExpression(node: object | null | undefined, opts?: object | null): void;
-export function isJSXExpressionContainer(node: object | null | undefined, opts?: object | null): node is JSXExpressionContainer;
-export function assertJSXExpressionContainer(node: object | null | undefined, opts?: object | null): void;
-export function isJSXFragment(node: object | null | undefined, opts?: object | null): node is JSXFragment;
-export function assertJSXFragment(node: object | null | undefined, opts?: object | null): void;
-export function isJSXIdentifier(node: object | null | undefined, opts?: object | null): node is JSXIdentifier;
-export function assertJSXIdentifier(node: object | null | undefined, opts?: object | null): void;
-export function isJSXMemberExpression(node: object | null | undefined, opts?: object | null): node is JSXMemberExpression;
-export function assertJSXMemberExpression(node: object | null | undefined, opts?: object | null): void;
-export function isJSXNamespacedName(node: object | null | undefined, opts?: object | null): node is JSXNamespacedName;
-export function assertJSXNamespacedName(node: object | null | undefined, opts?: object | null): void;
-export function isJSXOpeningElement(node: object | null | undefined, opts?: object | null): node is JSXOpeningElement;
-export function assertJSXOpeningElement(node: object | null | undefined, opts?: object | null): void;
-export function isJSXOpeningFragment(node: object | null | undefined, opts?: object | null): node is JSXOpeningFragment;
-export function assertJSXOpeningFragment(node: object | null | undefined, opts?: object | null): void;
-export function isJSXSpreadAttribute(node: object | null | undefined, opts?: object | null): node is JSXSpreadAttribute;
-export function assertJSXSpreadAttribute(node: object | null | undefined, opts?: object | null): void;
-export function isJSXSpreadChild(node: object | null | undefined, opts?: object | null): node is JSXSpreadChild;
-export function assertJSXSpreadChild(node: object | null | undefined, opts?: object | null): void;
-export function isJSXText(node: object | null | undefined, opts?: object | null): node is JSXText;
-export function assertJSXText(node: object | null | undefined, opts?: object | null): void;
-export function isLVal(node: object | null | undefined, opts?: object | null): node is LVal;
-export function assertLVal(node: object | null | undefined, opts?: object | null): void;
-export function isLabeledStatement(node: object | null | undefined, opts?: object | null): node is LabeledStatement;
-export function assertLabeledStatement(node: object | null | undefined, opts?: object | null): void;
-export function isLiteral(node: object | null | undefined, opts?: object | null): node is Literal;
-export function assertLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isLogicalExpression(node: object | null | undefined, opts?: object | null): node is LogicalExpression;
-export function assertLogicalExpression(node: object | null | undefined, opts?: object | null): void;
-export function isLoop(node: object | null | undefined, opts?: object | null): node is Loop;
-export function assertLoop(node: object | null | undefined, opts?: object | null): void;
-export function isMemberExpression(node: object | null | undefined, opts?: object | null): node is MemberExpression;
-export function assertMemberExpression(node: object | null | undefined, opts?: object | null): void;
-export function isMetaProperty(node: object | null | undefined, opts?: object | null): node is MetaProperty;
-export function assertMetaProperty(node: object | null | undefined, opts?: object | null): void;
-export function isMethod(node: object | null | undefined, opts?: object | null): node is Method;
-export function assertMethod(node: object | null | undefined, opts?: object | null): void;
-export function isMiscellaneous(node: object | null | undefined, opts?: object | null): node is Miscellaneous;
-export function assertMiscellaneous(node: object | null | undefined, opts?: object | null): void;
-export function isMixedTypeAnnotation(node: object | null | undefined, opts?: object | null): node is MixedTypeAnnotation;
-export function assertMixedTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isModuleDeclaration(node: object | null | undefined, opts?: object | null): node is ModuleDeclaration;
-export function assertModuleDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isModuleExpression(node: object | null | undefined, opts?: object | null): node is ModuleExpression;
-export function assertModuleExpression(node: object | null | undefined, opts?: object | null): void;
-export function isModuleSpecifier(node: object | null | undefined, opts?: object | null): node is ModuleSpecifier;
-export function assertModuleSpecifier(node: object | null | undefined, opts?: object | null): void;
-export function isNewExpression(node: object | null | undefined, opts?: object | null): node is NewExpression;
-export function assertNewExpression(node: object | null | undefined, opts?: object | null): void;
-export function isNoop(node: object | null | undefined, opts?: object | null): node is Noop;
-export function assertNoop(node: object | null | undefined, opts?: object | null): void;
-export function isNullLiteral(node: object | null | undefined, opts?: object | null): node is NullLiteral;
-export function assertNullLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isNullLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NullLiteralTypeAnnotation;
-export function assertNullLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isNullableTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NullableTypeAnnotation;
-export function assertNullableTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-/** @deprecated Use `isNumericLiteral` */
-export function isNumberLiteral(node: object | null | undefined, opts?: object | null): node is NumericLiteral;
-/** @deprecated Use `assertNumericLiteral` */
-export function assertNumberLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isNumberLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NumberLiteralTypeAnnotation;
-export function assertNumberLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isNumberTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NumberTypeAnnotation;
-export function assertNumberTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isNumericLiteral(node: object | null | undefined, opts?: object | null): node is NumericLiteral;
-export function assertNumericLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isObjectExpression(node: object | null | undefined, opts?: object | null): node is ObjectExpression;
-export function assertObjectExpression(node: object | null | undefined, opts?: object | null): void;
-export function isObjectMember(node: object | null | undefined, opts?: object | null): node is ObjectMember;
-export function assertObjectMember(node: object | null | undefined, opts?: object | null): void;
-export function isObjectMethod(node: object | null | undefined, opts?: object | null): node is ObjectMethod;
-export function assertObjectMethod(node: object | null | undefined, opts?: object | null): void;
-export function isObjectPattern(node: object | null | undefined, opts?: object | null): node is ObjectPattern;
-export function assertObjectPattern(node: object | null | undefined, opts?: object | null): void;
-export function isObjectProperty(node: object | null | undefined, opts?: object | null): node is ObjectProperty;
-export function assertObjectProperty(node: object | null | undefined, opts?: object | null): void;
-export function isObjectTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ObjectTypeAnnotation;
-export function assertObjectTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isObjectTypeCallProperty(node: object | null | undefined, opts?: object | null): node is ObjectTypeCallProperty;
-export function assertObjectTypeCallProperty(node: object | null | undefined, opts?: object | null): void;
-export function isObjectTypeIndexer(node: object | null | undefined, opts?: object | null): node is ObjectTypeIndexer;
-export function assertObjectTypeIndexer(node: object | null | undefined, opts?: object | null): void;
-export function isObjectTypeInternalSlot(node: object | null | undefined, opts?: object | null): node is ObjectTypeInternalSlot;
-export function assertObjectTypeInternalSlot(node: object | null | undefined, opts?: object | null): void;
-export function isObjectTypeProperty(node: object | null | undefined, opts?: object | null): node is ObjectTypeProperty;
-export function assertObjectTypeProperty(node: object | null | undefined, opts?: object | null): void;
-export function isObjectTypeSpreadProperty(node: object | null | undefined, opts?: object | null): node is ObjectTypeSpreadProperty;
-export function assertObjectTypeSpreadProperty(node: object | null | undefined, opts?: object | null): void;
-export function isOpaqueType(node: object | null | undefined, opts?: object | null): node is OpaqueType;
-export function assertOpaqueType(node: object | null | undefined, opts?: object | null): void;
-export function isOptionalCallExpression(node: object | null | undefined, opts?: object | null): node is OptionalCallExpression;
-export function assertOptionalCallExpression(node: object | null | undefined, opts?: object | null): void;
-export function isOptionalIndexedAccessType(node: object | null | undefined, opts?: object | null): node is OptionalIndexedAccessType;
-export function assertOptionalIndexedAccessType(node: object | null | undefined, opts?: object | null): void;
-export function isOptionalMemberExpression(node: object | null | undefined, opts?: object | null): node is OptionalMemberExpression;
-export function assertOptionalMemberExpression(node: object | null | undefined, opts?: object | null): void;
-export function isParenthesizedExpression(node: object | null | undefined, opts?: object | null): node is ParenthesizedExpression;
-export function assertParenthesizedExpression(node: object | null | undefined, opts?: object | null): void;
-export function isPattern(node: object | null | undefined, opts?: object | null): node is Pattern;
-export function assertPattern(node: object | null | undefined, opts?: object | null): void;
-export function isPatternLike(node: object | null | undefined, opts?: object | null): node is PatternLike;
-export function assertPatternLike(node: object | null | undefined, opts?: object | null): void;
-export function isPipelineBareFunction(node: object | null | undefined, opts?: object | null): node is PipelineBareFunction;
-export function assertPipelineBareFunction(node: object | null | undefined, opts?: object | null): void;
-export function isPipelinePrimaryTopicReference(node: object | null | undefined, opts?: object | null): node is PipelinePrimaryTopicReference;
-export function assertPipelinePrimaryTopicReference(node: object | null | undefined, opts?: object | null): void;
-export function isPipelineTopicExpression(node: object | null | undefined, opts?: object | null): node is PipelineTopicExpression;
-export function assertPipelineTopicExpression(node: object | null | undefined, opts?: object | null): void;
-export function isPlaceholder(node: object | null | undefined, opts?: object | null): node is Placeholder;
-export function assertPlaceholder(node: object | null | undefined, opts?: object | null): void;
-export function isPrivate(node: object | null | undefined, opts?: object | null): node is Private;
-export function assertPrivate(node: object | null | undefined, opts?: object | null): void;
-export function isPrivateName(node: object | null | undefined, opts?: object | null): node is PrivateName;
-export function assertPrivateName(node: object | null | undefined, opts?: object | null): void;
-export function isProgram(node: object | null | undefined, opts?: object | null): node is Program;
-export function assertProgram(node: object | null | undefined, opts?: object | null): void;
-export function isProperty(node: object | null | undefined, opts?: object | null): node is Property;
-export function assertProperty(node: object | null | undefined, opts?: object | null): void;
-export function isPureish(node: object | null | undefined, opts?: object | null): node is Pureish;
-export function assertPureish(node: object | null | undefined, opts?: object | null): void;
-export function isQualifiedTypeIdentifier(node: object | null | undefined, opts?: object | null): node is QualifiedTypeIdentifier;
-export function assertQualifiedTypeIdentifier(node: object | null | undefined, opts?: object | null): void;
-export function isRecordExpression(node: object | null | undefined, opts?: object | null): node is RecordExpression;
-export function assertRecordExpression(node: object | null | undefined, opts?: object | null): void;
-export function isRegExpLiteral(node: object | null | undefined, opts?: object | null): node is RegExpLiteral;
-export function assertRegExpLiteral(node: object | null | undefined, opts?: object | null): void;
-/** @deprecated Use `isRegExpLiteral` */
-export function isRegexLiteral(node: object | null | undefined, opts?: object | null): node is RegExpLiteral;
-/** @deprecated Use `assertRegExpLiteral` */
-export function assertRegexLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isRestElement(node: object | null | undefined, opts?: object | null): node is RestElement;
-export function assertRestElement(node: object | null | undefined, opts?: object | null): void;
-/** @deprecated Use `isRestElement` */
-export function isRestProperty(node: object | null | undefined, opts?: object | null): node is RestElement;
-/** @deprecated Use `assertRestElement` */
-export function assertRestProperty(node: object | null | undefined, opts?: object | null): void;
-export function isReturnStatement(node: object | null | undefined, opts?: object | null): node is ReturnStatement;
-export function assertReturnStatement(node: object | null | undefined, opts?: object | null): void;
-export function isScopable(node: object | null | undefined, opts?: object | null): node is Scopable;
-export function assertScopable(node: object | null | undefined, opts?: object | null): void;
-export function isSequenceExpression(node: object | null | undefined, opts?: object | null): node is SequenceExpression;
-export function assertSequenceExpression(node: object | null | undefined, opts?: object | null): void;
-export function isSpreadElement(node: object | null | undefined, opts?: object | null): node is SpreadElement;
-export function assertSpreadElement(node: object | null | undefined, opts?: object | null): void;
-/** @deprecated Use `isSpreadElement` */
-export function isSpreadProperty(node: object | null | undefined, opts?: object | null): node is SpreadElement;
-/** @deprecated Use `assertSpreadElement` */
-export function assertSpreadProperty(node: object | null | undefined, opts?: object | null): void;
-export function isStandardized(node: object | null | undefined, opts?: object | null): node is Standardized;
-export function assertStandardized(node: object | null | undefined, opts?: object | null): void;
-export function isStatement(node: object | null | undefined, opts?: object | null): node is Statement;
-export function assertStatement(node: object | null | undefined, opts?: object | null): void;
-export function isStaticBlock(node: object | null | undefined, opts?: object | null): node is StaticBlock;
-export function assertStaticBlock(node: object | null | undefined, opts?: object | null): void;
-export function isStringLiteral(node: object | null | undefined, opts?: object | null): node is StringLiteral;
-export function assertStringLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isStringLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is StringLiteralTypeAnnotation;
-export function assertStringLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isStringTypeAnnotation(node: object | null | undefined, opts?: object | null): node is StringTypeAnnotation;
-export function assertStringTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isSuper(node: object | null | undefined, opts?: object | null): node is Super;
-export function assertSuper(node: object | null | undefined, opts?: object | null): void;
-export function isSwitchCase(node: object | null | undefined, opts?: object | null): node is SwitchCase;
-export function assertSwitchCase(node: object | null | undefined, opts?: object | null): void;
-export function isSwitchStatement(node: object | null | undefined, opts?: object | null): node is SwitchStatement;
-export function assertSwitchStatement(node: object | null | undefined, opts?: object | null): void;
-export function isSymbolTypeAnnotation(node: object | null | undefined, opts?: object | null): node is SymbolTypeAnnotation;
-export function assertSymbolTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isTSAnyKeyword(node: object | null | undefined, opts?: object | null): node is TSAnyKeyword;
-export function assertTSAnyKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSArrayType(node: object | null | undefined, opts?: object | null): node is TSArrayType;
-export function assertTSArrayType(node: object | null | undefined, opts?: object | null): void;
-export function isTSAsExpression(node: object | null | undefined, opts?: object | null): node is TSAsExpression;
-export function assertTSAsExpression(node: object | null | undefined, opts?: object | null): void;
-export function isTSBaseType(node: object | null | undefined, opts?: object | null): node is TSBaseType;
-export function assertTSBaseType(node: object | null | undefined, opts?: object | null): void;
-export function isTSBigIntKeyword(node: object | null | undefined, opts?: object | null): node is TSBigIntKeyword;
-export function assertTSBigIntKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSBooleanKeyword(node: object | null | undefined, opts?: object | null): node is TSBooleanKeyword;
-export function assertTSBooleanKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSCallSignatureDeclaration(node: object | null | undefined, opts?: object | null): node is TSCallSignatureDeclaration;
-export function assertTSCallSignatureDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTSConditionalType(node: object | null | undefined, opts?: object | null): node is TSConditionalType;
-export function assertTSConditionalType(node: object | null | undefined, opts?: object | null): void;
-export function isTSConstructSignatureDeclaration(node: object | null | undefined, opts?: object | null): node is TSConstructSignatureDeclaration;
-export function assertTSConstructSignatureDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTSConstructorType(node: object | null | undefined, opts?: object | null): node is TSConstructorType;
-export function assertTSConstructorType(node: object | null | undefined, opts?: object | null): void;
-export function isTSDeclareFunction(node: object | null | undefined, opts?: object | null): node is TSDeclareFunction;
-export function assertTSDeclareFunction(node: object | null | undefined, opts?: object | null): void;
-export function isTSDeclareMethod(node: object | null | undefined, opts?: object | null): node is TSDeclareMethod;
-export function assertTSDeclareMethod(node: object | null | undefined, opts?: object | null): void;
-export function isTSEntityName(node: object | null | undefined, opts?: object | null): node is TSEntityName;
-export function assertTSEntityName(node: object | null | undefined, opts?: object | null): void;
-export function isTSEnumDeclaration(node: object | null | undefined, opts?: object | null): node is TSEnumDeclaration;
-export function assertTSEnumDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTSEnumMember(node: object | null | undefined, opts?: object | null): node is TSEnumMember;
-export function assertTSEnumMember(node: object | null | undefined, opts?: object | null): void;
-export function isTSExportAssignment(node: object | null | undefined, opts?: object | null): node is TSExportAssignment;
-export function assertTSExportAssignment(node: object | null | undefined, opts?: object | null): void;
-export function isTSExpressionWithTypeArguments(node: object | null | undefined, opts?: object | null): node is TSExpressionWithTypeArguments;
-export function assertTSExpressionWithTypeArguments(node: object | null | undefined, opts?: object | null): void;
-export function isTSExternalModuleReference(node: object | null | undefined, opts?: object | null): node is TSExternalModuleReference;
-export function assertTSExternalModuleReference(node: object | null | undefined, opts?: object | null): void;
-export function isTSFunctionType(node: object | null | undefined, opts?: object | null): node is TSFunctionType;
-export function assertTSFunctionType(node: object | null | undefined, opts?: object | null): void;
-export function isTSImportEqualsDeclaration(node: object | null | undefined, opts?: object | null): node is TSImportEqualsDeclaration;
-export function assertTSImportEqualsDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTSImportType(node: object | null | undefined, opts?: object | null): node is TSImportType;
-export function assertTSImportType(node: object | null | undefined, opts?: object | null): void;
-export function isTSIndexSignature(node: object | null | undefined, opts?: object | null): node is TSIndexSignature;
-export function assertTSIndexSignature(node: object | null | undefined, opts?: object | null): void;
-export function isTSIndexedAccessType(node: object | null | undefined, opts?: object | null): node is TSIndexedAccessType;
-export function assertTSIndexedAccessType(node: object | null | undefined, opts?: object | null): void;
-export function isTSInferType(node: object | null | undefined, opts?: object | null): node is TSInferType;
-export function assertTSInferType(node: object | null | undefined, opts?: object | null): void;
-export function isTSInstantiationExpression(node: object | null | undefined, opts?: object | null): node is TSInstantiationExpression;
-export function assertTSInstantiationExpression(node: object | null | undefined, opts?: object | null): void;
-export function isTSInterfaceBody(node: object | null | undefined, opts?: object | null): node is TSInterfaceBody;
-export function assertTSInterfaceBody(node: object | null | undefined, opts?: object | null): void;
-export function isTSInterfaceDeclaration(node: object | null | undefined, opts?: object | null): node is TSInterfaceDeclaration;
-export function assertTSInterfaceDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTSIntersectionType(node: object | null | undefined, opts?: object | null): node is TSIntersectionType;
-export function assertTSIntersectionType(node: object | null | undefined, opts?: object | null): void;
-export function isTSIntrinsicKeyword(node: object | null | undefined, opts?: object | null): node is TSIntrinsicKeyword;
-export function assertTSIntrinsicKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSLiteralType(node: object | null | undefined, opts?: object | null): node is TSLiteralType;
-export function assertTSLiteralType(node: object | null | undefined, opts?: object | null): void;
-export function isTSMappedType(node: object | null | undefined, opts?: object | null): node is TSMappedType;
-export function assertTSMappedType(node: object | null | undefined, opts?: object | null): void;
-export function isTSMethodSignature(node: object | null | undefined, opts?: object | null): node is TSMethodSignature;
-export function assertTSMethodSignature(node: object | null | undefined, opts?: object | null): void;
-export function isTSModuleBlock(node: object | null | undefined, opts?: object | null): node is TSModuleBlock;
-export function assertTSModuleBlock(node: object | null | undefined, opts?: object | null): void;
-export function isTSModuleDeclaration(node: object | null | undefined, opts?: object | null): node is TSModuleDeclaration;
-export function assertTSModuleDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTSNamedTupleMember(node: object | null | undefined, opts?: object | null): node is TSNamedTupleMember;
-export function assertTSNamedTupleMember(node: object | null | undefined, opts?: object | null): void;
-export function isTSNamespaceExportDeclaration(node: object | null | undefined, opts?: object | null): node is TSNamespaceExportDeclaration;
-export function assertTSNamespaceExportDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTSNeverKeyword(node: object | null | undefined, opts?: object | null): node is TSNeverKeyword;
-export function assertTSNeverKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSNonNullExpression(node: object | null | undefined, opts?: object | null): node is TSNonNullExpression;
-export function assertTSNonNullExpression(node: object | null | undefined, opts?: object | null): void;
-export function isTSNullKeyword(node: object | null | undefined, opts?: object | null): node is TSNullKeyword;
-export function assertTSNullKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSNumberKeyword(node: object | null | undefined, opts?: object | null): node is TSNumberKeyword;
-export function assertTSNumberKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSObjectKeyword(node: object | null | undefined, opts?: object | null): node is TSObjectKeyword;
-export function assertTSObjectKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSOptionalType(node: object | null | undefined, opts?: object | null): node is TSOptionalType;
-export function assertTSOptionalType(node: object | null | undefined, opts?: object | null): void;
-export function isTSParameterProperty(node: object | null | undefined, opts?: object | null): node is TSParameterProperty;
-export function assertTSParameterProperty(node: object | null | undefined, opts?: object | null): void;
-export function isTSParenthesizedType(node: object | null | undefined, opts?: object | null): node is TSParenthesizedType;
-export function assertTSParenthesizedType(node: object | null | undefined, opts?: object | null): void;
-export function isTSPropertySignature(node: object | null | undefined, opts?: object | null): node is TSPropertySignature;
-export function assertTSPropertySignature(node: object | null | undefined, opts?: object | null): void;
-export function isTSQualifiedName(node: object | null | undefined, opts?: object | null): node is TSQualifiedName;
-export function assertTSQualifiedName(node: object | null | undefined, opts?: object | null): void;
-export function isTSRestType(node: object | null | undefined, opts?: object | null): node is TSRestType;
-export function assertTSRestType(node: object | null | undefined, opts?: object | null): void;
-export function isTSStringKeyword(node: object | null | undefined, opts?: object | null): node is TSStringKeyword;
-export function assertTSStringKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSSymbolKeyword(node: object | null | undefined, opts?: object | null): node is TSSymbolKeyword;
-export function assertTSSymbolKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSThisType(node: object | null | undefined, opts?: object | null): node is TSThisType;
-export function assertTSThisType(node: object | null | undefined, opts?: object | null): void;
-export function isTSTupleType(node: object | null | undefined, opts?: object | null): node is TSTupleType;
-export function assertTSTupleType(node: object | null | undefined, opts?: object | null): void;
-export function isTSType(node: object | null | undefined, opts?: object | null): node is TSType;
-export function assertTSType(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeAliasDeclaration(node: object | null | undefined, opts?: object | null): node is TSTypeAliasDeclaration;
-export function assertTSTypeAliasDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TSTypeAnnotation;
-export function assertTSTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeAssertion(node: object | null | undefined, opts?: object | null): node is TSTypeAssertion;
-export function assertTSTypeAssertion(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeElement(node: object | null | undefined, opts?: object | null): node is TSTypeElement;
-export function assertTSTypeElement(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeLiteral(node: object | null | undefined, opts?: object | null): node is TSTypeLiteral;
-export function assertTSTypeLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeOperator(node: object | null | undefined, opts?: object | null): node is TSTypeOperator;
-export function assertTSTypeOperator(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeParameter(node: object | null | undefined, opts?: object | null): node is TSTypeParameter;
-export function assertTSTypeParameter(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): node is TSTypeParameterDeclaration;
-export function assertTSTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): node is TSTypeParameterInstantiation;
-export function assertTSTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypePredicate(node: object | null | undefined, opts?: object | null): node is TSTypePredicate;
-export function assertTSTypePredicate(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeQuery(node: object | null | undefined, opts?: object | null): node is TSTypeQuery;
-export function assertTSTypeQuery(node: object | null | undefined, opts?: object | null): void;
-export function isTSTypeReference(node: object | null | undefined, opts?: object | null): node is TSTypeReference;
-export function assertTSTypeReference(node: object | null | undefined, opts?: object | null): void;
-export function isTSUndefinedKeyword(node: object | null | undefined, opts?: object | null): node is TSUndefinedKeyword;
-export function assertTSUndefinedKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSUnionType(node: object | null | undefined, opts?: object | null): node is TSUnionType;
-export function assertTSUnionType(node: object | null | undefined, opts?: object | null): void;
-export function isTSUnknownKeyword(node: object | null | undefined, opts?: object | null): node is TSUnknownKeyword;
-export function assertTSUnknownKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTSVoidKeyword(node: object | null | undefined, opts?: object | null): node is TSVoidKeyword;
-export function assertTSVoidKeyword(node: object | null | undefined, opts?: object | null): void;
-export function isTaggedTemplateExpression(node: object | null | undefined, opts?: object | null): node is TaggedTemplateExpression;
-export function assertTaggedTemplateExpression(node: object | null | undefined, opts?: object | null): void;
-export function isTemplateElement(node: object | null | undefined, opts?: object | null): node is TemplateElement;
-export function assertTemplateElement(node: object | null | undefined, opts?: object | null): void;
-export function isTemplateLiteral(node: object | null | undefined, opts?: object | null): node is TemplateLiteral;
-export function assertTemplateLiteral(node: object | null | undefined, opts?: object | null): void;
-export function isTerminatorless(node: object | null | undefined, opts?: object | null): node is Terminatorless;
-export function assertTerminatorless(node: object | null | undefined, opts?: object | null): void;
-export function isThisExpression(node: object | null | undefined, opts?: object | null): node is ThisExpression;
-export function assertThisExpression(node: object | null | undefined, opts?: object | null): void;
-export function isThisTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ThisTypeAnnotation;
-export function assertThisTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isThrowStatement(node: object | null | undefined, opts?: object | null): node is ThrowStatement;
-export function assertThrowStatement(node: object | null | undefined, opts?: object | null): void;
-export function isTopicReference(node: object | null | undefined, opts?: object | null): node is TopicReference;
-export function assertTopicReference(node: object | null | undefined, opts?: object | null): void;
-export function isTryStatement(node: object | null | undefined, opts?: object | null): node is TryStatement;
-export function assertTryStatement(node: object | null | undefined, opts?: object | null): void;
-export function isTupleExpression(node: object | null | undefined, opts?: object | null): node is TupleExpression;
-export function assertTupleExpression(node: object | null | undefined, opts?: object | null): void;
-export function isTupleTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TupleTypeAnnotation;
-export function assertTupleTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isTypeAlias(node: object | null | undefined, opts?: object | null): node is TypeAlias;
-export function assertTypeAlias(node: object | null | undefined, opts?: object | null): void;
-export function isTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TypeAnnotation;
-export function assertTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isTypeCastExpression(node: object | null | undefined, opts?: object | null): node is TypeCastExpression;
-export function assertTypeCastExpression(node: object | null | undefined, opts?: object | null): void;
-export function isTypeParameter(node: object | null | undefined, opts?: object | null): node is TypeParameter;
-export function assertTypeParameter(node: object | null | undefined, opts?: object | null): void;
-export function isTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): node is TypeParameterDeclaration;
-export function assertTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): node is TypeParameterInstantiation;
-export function assertTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): void;
-export function isTypeScript(node: object | null | undefined, opts?: object | null): node is TypeScript;
-export function assertTypeScript(node: object | null | undefined, opts?: object | null): void;
-export function isTypeofTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TypeofTypeAnnotation;
-export function assertTypeofTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isUnaryExpression(node: object | null | undefined, opts?: object | null): node is UnaryExpression;
-export function assertUnaryExpression(node: object | null | undefined, opts?: object | null): void;
-export function isUnaryLike(node: object | null | undefined, opts?: object | null): node is UnaryLike;
-export function assertUnaryLike(node: object | null | undefined, opts?: object | null): void;
-export function isUnionTypeAnnotation(node: object | null | undefined, opts?: object | null): node is UnionTypeAnnotation;
-export function assertUnionTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isUpdateExpression(node: object | null | undefined, opts?: object | null): node is UpdateExpression;
-export function assertUpdateExpression(node: object | null | undefined, opts?: object | null): void;
-export function isUserWhitespacable(node: object | null | undefined, opts?: object | null): node is UserWhitespacable;
-export function assertUserWhitespacable(node: object | null | undefined, opts?: object | null): void;
-export function isV8IntrinsicIdentifier(node: object | null | undefined, opts?: object | null): node is V8IntrinsicIdentifier;
-export function assertV8IntrinsicIdentifier(node: object | null | undefined, opts?: object | null): void;
-export function isVariableDeclaration(node: object | null | undefined, opts?: object | null): node is VariableDeclaration;
-export function assertVariableDeclaration(node: object | null | undefined, opts?: object | null): void;
-export function isVariableDeclarator(node: object | null | undefined, opts?: object | null): node is VariableDeclarator;
-export function assertVariableDeclarator(node: object | null | undefined, opts?: object | null): void;
-export function isVariance(node: object | null | undefined, opts?: object | null): node is Variance;
-export function assertVariance(node: object | null | undefined, opts?: object | null): void;
-export function isVoidTypeAnnotation(node: object | null | undefined, opts?: object | null): node is VoidTypeAnnotation;
-export function assertVoidTypeAnnotation(node: object | null | undefined, opts?: object | null): void;
-export function isWhile(node: object | null | undefined, opts?: object | null): node is While;
-export function assertWhile(node: object | null | undefined, opts?: object | null): void;
-export function isWhileStatement(node: object | null | undefined, opts?: object | null): node is WhileStatement;
-export function assertWhileStatement(node: object | null | undefined, opts?: object | null): void;
-export function isWithStatement(node: object | null | undefined, opts?: object | null): node is WithStatement;
-export function assertWithStatement(node: object | null | undefined, opts?: object | null): void;
-export function isYieldExpression(node: object | null | undefined, opts?: object | null): node is YieldExpression;
-export function assertYieldExpression(node: object | null | undefined, opts?: object | null): void;
-export function assertNode(obj: any): void
-export function createTypeAnnotationBasedOnTypeof(type: 'string' | 'number' | 'undefined' | 'boolean' | 'function' | 'object' | 'symbol'): StringTypeAnnotation | VoidTypeAnnotation | NumberTypeAnnotation | BooleanTypeAnnotation | GenericTypeAnnotation
-export function createUnionTypeAnnotation<T extends FlowType>(types: [T]): T
-export function createFlowUnionType<T extends FlowType>(types: [T]): T
-export function createUnionTypeAnnotation(types: ReadonlyArray<FlowType>): UnionTypeAnnotation
-export function createFlowUnionType(types: ReadonlyArray<FlowType>): UnionTypeAnnotation
-export function buildChildren(node: { children: ReadonlyArray<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment | JSXEmptyExpression> }): JSXElement['children']
-export function clone<T extends Node>(n: T): T;
-export function cloneDeep<T extends Node>(n: T): T;
-export function cloneDeepWithoutLoc<T extends Node>(n: T): T;
-export function cloneNode<T extends Node>(n: T, deep?: boolean, withoutLoc?: boolean): T;
-export function cloneWithoutLoc<T extends Node>(n: T): T;
-export type CommentTypeShorthand = 'leading' | 'inner' | 'trailing'
-export function addComment<T extends Node>(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T
-export function addComments<T extends Node>(node: T, type: CommentTypeShorthand, comments: ReadonlyArray<Comment>): T
-export function inheritInnerComments(node: Node, parent: Node): void
-export function inheritLeadingComments(node: Node, parent: Node): void
-export function inheritsComments<T extends Node>(node: T, parent: Node): void
-export function inheritTrailingComments(node: Node, parent: Node): void
-export function removeComments<T extends Node>(node: T): T
-export function ensureBlock(node: Extract<Node, { body: BlockStatement | Statement | Expression }>): BlockStatement
-export function ensureBlock<K extends keyof Extract<Node, { body: BlockStatement | Statement | Expression }> = 'body'>(node: Extract<Node, Record<K, BlockStatement | Statement | Expression>>, key: K): BlockStatement
-export function toBindingIdentifierName(name: { toString(): string } | null | undefined): string
-export function toBlock(node: Statement | Expression, parent?: Function | null): BlockStatement
-export function toComputedKey<T extends Extract<Node, { computed: boolean | null }>>(node: T, key?: Expression | Identifier): Expression
-export function toExpression(node: Function): FunctionExpression
-export function toExpression(node: Class): ClassExpression
-export function toExpression(node: ExpressionStatement | Expression | Class | Function): Expression
-export function toIdentifier(name: { toString(): string } | null | undefined): string
-export function toKeyAlias(node: Method | Property, key?: Node): string
-export function toSequenceExpression(nodes: ReadonlyArray<Node>, scope: { push(value: { id: LVal; kind: 'var'; init?: Expression}): void; buildUndefinedNode(): Node }): SequenceExpression | undefined
-export function toStatement(node: AssignmentExpression, ignore?: boolean): ExpressionStatement
-export function toStatement(node: Statement | AssignmentExpression, ignore?: boolean): Statement
-export function toStatement(node: Class, ignore: true): ClassDeclaration | undefined
-export function toStatement(node: Class, ignore?: boolean): ClassDeclaration
-export function toStatement(node: Function, ignore: true): FunctionDeclaration | undefined
-export function toStatement(node: Function, ignore?: boolean): FunctionDeclaration
-export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore: true): Statement | undefined
-export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore?: boolean): Statement
-export function valueToNode(value: undefined): Identifier
-export function valueToNode(value: boolean): BooleanLiteral
-export function valueToNode(value: null): NullLiteral
-export function valueToNode(value: string): StringLiteral
-export function valueToNode(value: number): NumericLiteral | BinaryExpression | UnaryExpression
-export function valueToNode(value: RegExp): RegExpLiteral
-export function valueToNode(value: ReadonlyArray<undefined | boolean | null | string | number | RegExp | object>): ArrayExpression
-export function valueToNode(value: object): ObjectExpression
-export function valueToNode(value: undefined | boolean | null | string | number | RegExp | object): Expression
-export function removeTypeDuplicates(types: ReadonlyArray<FlowType | false | null | undefined>): FlowType[]
-export function appendToMemberExpression<T extends Pick<MemberExpression, 'object' | 'property'>>(member: T, append: MemberExpression['property'], computed?: boolean): T
-export function inherits<T extends Node | null | undefined>(child: T, parent: Node | null | undefined): T
-export function prependToMemberExpression<T extends Pick<MemberExpression, 'object' | 'property'>>(member: T, prepend: MemberExpression['object']): T
-export function removeProperties(
- n: Node,
- opts?: { preserveComments: boolean } | null
-): void;
-export function removePropertiesDeep<T extends Node>(
- n: T,
- opts?: { preserveComments: boolean } | null
-): T;
-export function getBindingIdentifiers(node: Node, duplicates: true, outerOnly?: boolean): Record<string, Array<Identifier>>
-export function getBindingIdentifiers(node: Node, duplicates?: false, outerOnly?: boolean): Record<string, Identifier>
-export function getBindingIdentifiers(node: Node, duplicates: boolean, outerOnly?: boolean): Record<string, Identifier | Array<Identifier>>
-export function getOuterBindingIdentifiers(node: Node, duplicates: true): Record<string, Array<Identifier>>
-export function getOuterBindingIdentifiers(node: Node, duplicates?: false): Record<string, Identifier>
-export function getOuterBindingIdentifiers(node: Node, duplicates: boolean): Record<string, Identifier | Array<Identifier>>
-export type TraversalAncestors = ReadonlyArray<{
- node: Node,
- key: string,
- index?: number,
-}>;
-export type TraversalHandler<T> = (
- this: undefined, node: Node, parent: TraversalAncestors, type: T
-) => void;
-export type TraversalHandlers<T> = {
- enter?: TraversalHandler<T>,
- exit?: TraversalHandler<T>,
-};
-export function traverse<T>(n: Node, h: TraversalHandler<T> | TraversalHandlers<T>, state?: T): void;
-export function traverseFast<T>(n: Node, h: TraversalHandler<T>, state?: T): void;
-export function shallowEqual<T extends object>(actual: object, expected: T): actual is T
-export function buildMatchMemberExpression(match: string, allowPartial?: boolean): (node: Node | null | undefined) => node is MemberExpression
-export function is<T extends Node['type']>(type: T, n: Node | null | undefined, required?: undefined): n is Extract<Node, { type: T }>
-export function is<T extends Node['type'], P extends Extract<Node, { type: T }>>(type: T, n: Node | null | undefined, required: Partial<P>): n is P
-export function is<P extends Node>(type: string, n: Node | null | undefined, required: Partial<P>): n is P
-export function is(type: string, n: Node | null | undefined, required?: Partial<Node>): n is Node
-export function isBinding(node: Node, parent: Node, grandparent?: Node): boolean
-export function isBlockScoped(node: Node): node is FunctionDeclaration | ClassDeclaration | VariableDeclaration
-export function isImmutable(node: Node): node is Immutable
-export function isLet(node: Node): node is VariableDeclaration
-export function isNode(node: object | null | undefined): node is Node
-export function isNodesEquivalent<T extends Partial<Node>>(a: T, b: any): b is T
-export function isNodesEquivalent(a: any, b: any): boolean
-export function isPlaceholderType(placeholderType: Node['type'], targetType: Node['type']): boolean
-export function isReferenced(node: Node, parent: Node, grandparent?: Node): boolean
-export function isScope(node: Node, parent: Node): node is Scopable
-export function isSpecifierDefault(specifier: ModuleSpecifier): boolean
-export function isType<T extends Node['type']>(nodetype: string, targetType: T): nodetype is T
-export function isType(nodetype: string | null | undefined, targetType: string): boolean
-export function isValidES3Identifier(name: string): boolean
-export function isValidIdentifier(name: string): boolean
-export function isVar(node: Node): node is VariableDeclaration
-export function matchesPattern(node: Node | null | undefined, match: string | ReadonlyArray<string>, allowPartial?: boolean): node is MemberExpression
-export function validate<T extends Node, K extends keyof T>(n: Node | null | undefined, key: K, value: T[K]): void;
-export function validate(n: Node, key: string, value: any): void;
diff --git a/includes/search/node_modules/@babel/types/lib/index.d.ts b/includes/search/node_modules/@babel/types/lib/index.d.ts
deleted file mode 100644
index 96286d6..0000000
--- a/includes/search/node_modules/@babel/types/lib/index.d.ts
+++ /dev/null
@@ -1,3221 +0,0 @@
-interface BaseComment {
- value: string;
- start?: number;
- end?: number;
- loc?: SourceLocation;
- ignore?: boolean;
- type: "CommentBlock" | "CommentLine";
-}
-interface CommentBlock extends BaseComment {
- type: "CommentBlock";
-}
-interface CommentLine extends BaseComment {
- type: "CommentLine";
-}
-declare type Comment = CommentBlock | CommentLine;
-interface SourceLocation {
- start: {
- line: number;
- column: number;
- };
- end: {
- line: number;
- column: number;
- };
-}
-interface BaseNode {
- type: Node["type"];
- leadingComments?: Comment[] | null;
- innerComments?: Comment[] | null;
- trailingComments?: Comment[] | null;
- start?: number | null;
- end?: number | null;
- loc?: SourceLocation | null;
- range?: [number, number];
- extra?: Record<string, unknown>;
-}
-declare type CommentTypeShorthand = "leading" | "inner" | "trailing";
-declare type Node = AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression | ArrayPattern | ArrayTypeAnnotation | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | BinaryExpression | BindExpression | BlockStatement | BooleanLiteral | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement | CallExpression | CatchClause | ClassAccessorProperty | ClassBody | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | ContinueStatement | DebuggerStatement | DecimalLiteral | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator | Directive | DirectiveLiteral | DoExpression | DoWhileStatement | EmptyStatement | EmptyTypeAnnotation | EnumBooleanBody | EnumBooleanMember | EnumDeclaration | EnumDefaultedMember | EnumNumberBody | EnumNumberMember | EnumStringBody | EnumStringMember | EnumSymbolBody | ExistsTypeAnnotation | ExportAllDeclaration | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportSpecifier | ExpressionStatement | File | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Import | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | IndexedAccessType | InferredPredicate | InterfaceDeclaration | InterfaceExtends | InterfaceTypeAnnotation | InterpreterDirective | IntersectionTypeAnnotation | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LabeledStatement | LogicalExpression | MemberExpression | MetaProperty | MixedTypeAnnotation | ModuleExpression | NewExpression | Noop | NullLiteral | NullLiteralTypeAnnotation | NullableTypeAnnotation | NumberLiteral$1 | NumberLiteralTypeAnnotation | NumberTypeAnnotation | NumericLiteral | ObjectExpression | ObjectMethod | ObjectPattern | ObjectProperty | ObjectTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalCallExpression | OptionalIndexedAccessType | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelinePrimaryTopicReference | PipelineTopicExpression | Placeholder | PrivateName | Program | QualifiedTypeIdentifier | RecordExpression | RegExpLiteral | RegexLiteral$1 | RestElement | RestProperty$1 | ReturnStatement | SequenceExpression | SpreadElement | SpreadProperty$1 | StaticBlock | StringLiteral | StringLiteralTypeAnnotation | StringTypeAnnotation | Super | SwitchCase | SwitchStatement | SymbolTypeAnnotation | TSAnyKeyword | TSArrayType | TSAsExpression | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThisTypeAnnotation | ThrowStatement | TopicReference | TryStatement | TupleExpression | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | TypeofTypeAnnotation | UnaryExpression | UnionTypeAnnotation | UpdateExpression | V8IntrinsicIdentifier | VariableDeclaration | VariableDeclarator | Variance | VoidTypeAnnotation | WhileStatement | WithStatement | YieldExpression;
-interface ArrayExpression extends BaseNode {
- type: "ArrayExpression";
- elements: Array<null | Expression | SpreadElement>;
-}
-interface AssignmentExpression extends BaseNode {
- type: "AssignmentExpression";
- operator: string;
- left: LVal;
- right: Expression;
-}
-interface BinaryExpression extends BaseNode {
- type: "BinaryExpression";
- operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>";
- left: Expression | PrivateName;
- right: Expression;
-}
-interface InterpreterDirective extends BaseNode {
- type: "InterpreterDirective";
- value: string;
-}
-interface Directive extends BaseNode {
- type: "Directive";
- value: DirectiveLiteral;
-}
-interface DirectiveLiteral extends BaseNode {
- type: "DirectiveLiteral";
- value: string;
-}
-interface BlockStatement extends BaseNode {
- type: "BlockStatement";
- body: Array<Statement>;
- directives: Array<Directive>;
-}
-interface BreakStatement extends BaseNode {
- type: "BreakStatement";
- label?: Identifier | null;
-}
-interface CallExpression extends BaseNode {
- type: "CallExpression";
- callee: Expression | Super | V8IntrinsicIdentifier;
- arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
- optional?: true | false | null;
- typeArguments?: TypeParameterInstantiation | null;
- typeParameters?: TSTypeParameterInstantiation | null;
-}
-interface CatchClause extends BaseNode {
- type: "CatchClause";
- param?: Identifier | ArrayPattern | ObjectPattern | null;
- body: BlockStatement;
-}
-interface ConditionalExpression extends BaseNode {
- type: "ConditionalExpression";
- test: Expression;
- consequent: Expression;
- alternate: Expression;
-}
-interface ContinueStatement extends BaseNode {
- type: "ContinueStatement";
- label?: Identifier | null;
-}
-interface DebuggerStatement extends BaseNode {
- type: "DebuggerStatement";
-}
-interface DoWhileStatement extends BaseNode {
- type: "DoWhileStatement";
- test: Expression;
- body: Statement;
-}
-interface EmptyStatement extends BaseNode {
- type: "EmptyStatement";
-}
-interface ExpressionStatement extends BaseNode {
- type: "ExpressionStatement";
- expression: Expression;
-}
-interface File extends BaseNode {
- type: "File";
- program: Program;
- comments?: Array<CommentBlock | CommentLine> | null;
- tokens?: Array<any> | null;
-}
-interface ForInStatement extends BaseNode {
- type: "ForInStatement";
- left: VariableDeclaration | LVal;
- right: Expression;
- body: Statement;
-}
-interface ForStatement extends BaseNode {
- type: "ForStatement";
- init?: VariableDeclaration | Expression | null;
- test?: Expression | null;
- update?: Expression | null;
- body: Statement;
-}
-interface FunctionDeclaration extends BaseNode {
- type: "FunctionDeclaration";
- id?: Identifier | null;
- params: Array<Identifier | Pattern | RestElement>;
- body: BlockStatement;
- generator: boolean;
- async: boolean;
- declare?: boolean | null;
- predicate?: DeclaredPredicate | InferredPredicate | null;
- returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-interface FunctionExpression extends BaseNode {
- type: "FunctionExpression";
- id?: Identifier | null;
- params: Array<Identifier | Pattern | RestElement>;
- body: BlockStatement;
- generator: boolean;
- async: boolean;
- predicate?: DeclaredPredicate | InferredPredicate | null;
- returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-interface Identifier extends BaseNode {
- type: "Identifier";
- name: string;
- decorators?: Array<Decorator> | null;
- optional?: boolean | null;
- typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-interface IfStatement extends BaseNode {
- type: "IfStatement";
- test: Expression;
- consequent: Statement;
- alternate?: Statement | null;
-}
-interface LabeledStatement extends BaseNode {
- type: "LabeledStatement";
- label: Identifier;
- body: Statement;
-}
-interface StringLiteral extends BaseNode {
- type: "StringLiteral";
- value: string;
-}
-interface NumericLiteral extends BaseNode {
- type: "NumericLiteral";
- value: number;
-}
-/**
- * @deprecated Use `NumericLiteral`
- */
-interface NumberLiteral$1 extends BaseNode {
- type: "NumberLiteral";
- value: number;
-}
-interface NullLiteral extends BaseNode {
- type: "NullLiteral";
-}
-interface BooleanLiteral extends BaseNode {
- type: "BooleanLiteral";
- value: boolean;
-}
-interface RegExpLiteral extends BaseNode {
- type: "RegExpLiteral";
- pattern: string;
- flags: string;
-}
-/**
- * @deprecated Use `RegExpLiteral`
- */
-interface RegexLiteral$1 extends BaseNode {
- type: "RegexLiteral";
- pattern: string;
- flags: string;
-}
-interface LogicalExpression extends BaseNode {
- type: "LogicalExpression";
- operator: "||" | "&&" | "??";
- left: Expression;
- right: Expression;
-}
-interface MemberExpression extends BaseNode {
- type: "MemberExpression";
- object: Expression | Super;
- property: Expression | Identifier | PrivateName;
- computed: boolean;
- optional?: true | false | null;
-}
-interface NewExpression extends BaseNode {
- type: "NewExpression";
- callee: Expression | Super | V8IntrinsicIdentifier;
- arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
- optional?: true | false | null;
- typeArguments?: TypeParameterInstantiation | null;
- typeParameters?: TSTypeParameterInstantiation | null;
-}
-interface Program extends BaseNode {
- type: "Program";
- body: Array<Statement>;
- directives: Array<Directive>;
- sourceType: "script" | "module";
- interpreter?: InterpreterDirective | null;
- sourceFile: string;
-}
-interface ObjectExpression extends BaseNode {
- type: "ObjectExpression";
- properties: Array<ObjectMethod | ObjectProperty | SpreadElement>;
-}
-interface ObjectMethod extends BaseNode {
- type: "ObjectMethod";
- kind: "method" | "get" | "set";
- key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral;
- params: Array<Identifier | Pattern | RestElement>;
- body: BlockStatement;
- computed: boolean;
- generator: boolean;
- async: boolean;
- decorators?: Array<Decorator> | null;
- returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-interface ObjectProperty extends BaseNode {
- type: "ObjectProperty";
- key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral | DecimalLiteral | PrivateName;
- value: Expression | PatternLike;
- computed: boolean;
- shorthand: boolean;
- decorators?: Array<Decorator> | null;
-}
-interface RestElement extends BaseNode {
- type: "RestElement";
- argument: LVal;
- decorators?: Array<Decorator> | null;
- optional?: boolean | null;
- typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-/**
- * @deprecated Use `RestElement`
- */
-interface RestProperty$1 extends BaseNode {
- type: "RestProperty";
- argument: LVal;
- decorators?: Array<Decorator> | null;
- optional?: boolean | null;
- typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-interface ReturnStatement extends BaseNode {
- type: "ReturnStatement";
- argument?: Expression | null;
-}
-interface SequenceExpression extends BaseNode {
- type: "SequenceExpression";
- expressions: Array<Expression>;
-}
-interface ParenthesizedExpression extends BaseNode {
- type: "ParenthesizedExpression";
- expression: Expression;
-}
-interface SwitchCase extends BaseNode {
- type: "SwitchCase";
- test?: Expression | null;
- consequent: Array<Statement>;
-}
-interface SwitchStatement extends BaseNode {
- type: "SwitchStatement";
- discriminant: Expression;
- cases: Array<SwitchCase>;
-}
-interface ThisExpression extends BaseNode {
- type: "ThisExpression";
-}
-interface ThrowStatement extends BaseNode {
- type: "ThrowStatement";
- argument: Expression;
-}
-interface TryStatement extends BaseNode {
- type: "TryStatement";
- block: BlockStatement;
- handler?: CatchClause | null;
- finalizer?: BlockStatement | null;
-}
-interface UnaryExpression extends BaseNode {
- type: "UnaryExpression";
- operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof";
- argument: Expression;
- prefix: boolean;
-}
-interface UpdateExpression extends BaseNode {
- type: "UpdateExpression";
- operator: "++" | "--";
- argument: Expression;
- prefix: boolean;
-}
-interface VariableDeclaration extends BaseNode {
- type: "VariableDeclaration";
- kind: "var" | "let" | "const";
- declarations: Array<VariableDeclarator>;
- declare?: boolean | null;
-}
-interface VariableDeclarator extends BaseNode {
- type: "VariableDeclarator";
- id: LVal;
- init?: Expression | null;
- definite?: boolean | null;
-}
-interface WhileStatement extends BaseNode {
- type: "WhileStatement";
- test: Expression;
- body: Statement;
-}
-interface WithStatement extends BaseNode {
- type: "WithStatement";
- object: Expression;
- body: Statement;
-}
-interface AssignmentPattern extends BaseNode {
- type: "AssignmentPattern";
- left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
- right: Expression;
- decorators?: Array<Decorator> | null;
- typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-interface ArrayPattern extends BaseNode {
- type: "ArrayPattern";
- elements: Array<null | PatternLike | LVal>;
- decorators?: Array<Decorator> | null;
- optional?: boolean | null;
- typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-interface ArrowFunctionExpression extends BaseNode {
- type: "ArrowFunctionExpression";
- params: Array<Identifier | Pattern | RestElement>;
- body: BlockStatement | Expression;
- async: boolean;
- expression: boolean;
- generator?: boolean;
- predicate?: DeclaredPredicate | InferredPredicate | null;
- returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-interface ClassBody extends BaseNode {
- type: "ClassBody";
- body: Array<ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | ClassAccessorProperty | TSDeclareMethod | TSIndexSignature | StaticBlock>;
-}
-interface ClassExpression extends BaseNode {
- type: "ClassExpression";
- id?: Identifier | null;
- superClass?: Expression | null;
- body: ClassBody;
- decorators?: Array<Decorator> | null;
- implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null;
- mixins?: InterfaceExtends | null;
- superTypeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
- typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-interface ClassDeclaration extends BaseNode {
- type: "ClassDeclaration";
- id: Identifier;
- superClass?: Expression | null;
- body: ClassBody;
- decorators?: Array<Decorator> | null;
- abstract?: boolean | null;
- declare?: boolean | null;
- implements?: Array<TSExpressionWithTypeArguments | ClassImplements> | null;
- mixins?: InterfaceExtends | null;
- superTypeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
- typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-interface ExportAllDeclaration extends BaseNode {
- type: "ExportAllDeclaration";
- source: StringLiteral;
- assertions?: Array<ImportAttribute> | null;
- exportKind?: "type" | "value" | null;
-}
-interface ExportDefaultDeclaration extends BaseNode {
- type: "ExportDefaultDeclaration";
- declaration: TSDeclareFunction | FunctionDeclaration | ClassDeclaration | Expression;
- exportKind?: "value" | null;
-}
-interface ExportNamedDeclaration extends BaseNode {
- type: "ExportNamedDeclaration";
- declaration?: Declaration | null;
- specifiers: Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier>;
- source?: StringLiteral | null;
- assertions?: Array<ImportAttribute> | null;
- exportKind?: "type" | "value" | null;
-}
-interface ExportSpecifier extends BaseNode {
- type: "ExportSpecifier";
- local: Identifier;
- exported: Identifier | StringLiteral;
- exportKind?: "type" | "value" | null;
-}
-interface ForOfStatement extends BaseNode {
- type: "ForOfStatement";
- left: VariableDeclaration | LVal;
- right: Expression;
- body: Statement;
- await: boolean;
-}
-interface ImportDeclaration extends BaseNode {
- type: "ImportDeclaration";
- specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>;
- source: StringLiteral;
- assertions?: Array<ImportAttribute> | null;
- importKind?: "type" | "typeof" | "value" | null;
-}
-interface ImportDefaultSpecifier extends BaseNode {
- type: "ImportDefaultSpecifier";
- local: Identifier;
-}
-interface ImportNamespaceSpecifier extends BaseNode {
- type: "ImportNamespaceSpecifier";
- local: Identifier;
-}
-interface ImportSpecifier extends BaseNode {
- type: "ImportSpecifier";
- local: Identifier;
- imported: Identifier | StringLiteral;
- importKind?: "type" | "typeof" | "value" | null;
-}
-interface MetaProperty extends BaseNode {
- type: "MetaProperty";
- meta: Identifier;
- property: Identifier;
-}
-interface ClassMethod extends BaseNode {
- type: "ClassMethod";
- kind: "get" | "set" | "method" | "constructor";
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
- params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
- body: BlockStatement;
- computed: boolean;
- static: boolean;
- generator: boolean;
- async: boolean;
- abstract?: boolean | null;
- access?: "public" | "private" | "protected" | null;
- accessibility?: "public" | "private" | "protected" | null;
- decorators?: Array<Decorator> | null;
- optional?: boolean | null;
- override?: boolean;
- returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-interface ObjectPattern extends BaseNode {
- type: "ObjectPattern";
- properties: Array<RestElement | ObjectProperty>;
- decorators?: Array<Decorator> | null;
- typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
-}
-interface SpreadElement extends BaseNode {
- type: "SpreadElement";
- argument: Expression;
-}
-/**
- * @deprecated Use `SpreadElement`
- */
-interface SpreadProperty$1 extends BaseNode {
- type: "SpreadProperty";
- argument: Expression;
-}
-interface Super extends BaseNode {
- type: "Super";
-}
-interface TaggedTemplateExpression extends BaseNode {
- type: "TaggedTemplateExpression";
- tag: Expression;
- quasi: TemplateLiteral;
- typeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
-}
-interface TemplateElement extends BaseNode {
- type: "TemplateElement";
- value: {
- raw: string;
- cooked?: string;
- };
- tail: boolean;
-}
-interface TemplateLiteral extends BaseNode {
- type: "TemplateLiteral";
- quasis: Array<TemplateElement>;
- expressions: Array<Expression | TSType>;
-}
-interface YieldExpression extends BaseNode {
- type: "YieldExpression";
- argument?: Expression | null;
- delegate: boolean;
-}
-interface AwaitExpression extends BaseNode {
- type: "AwaitExpression";
- argument: Expression;
-}
-interface Import extends BaseNode {
- type: "Import";
-}
-interface BigIntLiteral extends BaseNode {
- type: "BigIntLiteral";
- value: string;
-}
-interface ExportNamespaceSpecifier extends BaseNode {
- type: "ExportNamespaceSpecifier";
- exported: Identifier;
-}
-interface OptionalMemberExpression extends BaseNode {
- type: "OptionalMemberExpression";
- object: Expression;
- property: Expression | Identifier;
- computed: boolean;
- optional: boolean;
-}
-interface OptionalCallExpression extends BaseNode {
- type: "OptionalCallExpression";
- callee: Expression;
- arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
- optional: boolean;
- typeArguments?: TypeParameterInstantiation | null;
- typeParameters?: TSTypeParameterInstantiation | null;
-}
-interface ClassProperty extends BaseNode {
- type: "ClassProperty";
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
- value?: Expression | null;
- typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
- decorators?: Array<Decorator> | null;
- computed: boolean;
- static: boolean;
- abstract?: boolean | null;
- accessibility?: "public" | "private" | "protected" | null;
- declare?: boolean | null;
- definite?: boolean | null;
- optional?: boolean | null;
- override?: boolean;
- readonly?: boolean | null;
- variance?: Variance | null;
-}
-interface ClassAccessorProperty extends BaseNode {
- type: "ClassAccessorProperty";
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression | PrivateName;
- value?: Expression | null;
- typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
- decorators?: Array<Decorator> | null;
- computed: boolean;
- static: boolean;
- abstract?: boolean | null;
- accessibility?: "public" | "private" | "protected" | null;
- declare?: boolean | null;
- definite?: boolean | null;
- optional?: boolean | null;
- override?: boolean;
- readonly?: boolean | null;
- variance?: Variance | null;
-}
-interface ClassPrivateProperty extends BaseNode {
- type: "ClassPrivateProperty";
- key: PrivateName;
- value?: Expression | null;
- decorators?: Array<Decorator> | null;
- static: boolean;
- definite?: boolean | null;
- readonly?: boolean | null;
- typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null;
- variance?: Variance | null;
-}
-interface ClassPrivateMethod extends BaseNode {
- type: "ClassPrivateMethod";
- kind: "get" | "set" | "method";
- key: PrivateName;
- params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
- body: BlockStatement;
- static: boolean;
- abstract?: boolean | null;
- access?: "public" | "private" | "protected" | null;
- accessibility?: "public" | "private" | "protected" | null;
- async?: boolean;
- computed?: boolean;
- decorators?: Array<Decorator> | null;
- generator?: boolean;
- optional?: boolean | null;
- override?: boolean;
- returnType?: TypeAnnotation | TSTypeAnnotation | Noop | null;
- typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
-}
-interface PrivateName extends BaseNode {
- type: "PrivateName";
- id: Identifier;
-}
-interface StaticBlock extends BaseNode {
- type: "StaticBlock";
- body: Array<Statement>;
-}
-interface AnyTypeAnnotation extends BaseNode {
- type: "AnyTypeAnnotation";
-}
-interface ArrayTypeAnnotation extends BaseNode {
- type: "ArrayTypeAnnotation";
- elementType: FlowType;
-}
-interface BooleanTypeAnnotation extends BaseNode {
- type: "BooleanTypeAnnotation";
-}
-interface BooleanLiteralTypeAnnotation extends BaseNode {
- type: "BooleanLiteralTypeAnnotation";
- value: boolean;
-}
-interface NullLiteralTypeAnnotation extends BaseNode {
- type: "NullLiteralTypeAnnotation";
-}
-interface ClassImplements extends BaseNode {
- type: "ClassImplements";
- id: Identifier;
- typeParameters?: TypeParameterInstantiation | null;
-}
-interface DeclareClass extends BaseNode {
- type: "DeclareClass";
- id: Identifier;
- typeParameters?: TypeParameterDeclaration | null;
- extends?: Array<InterfaceExtends> | null;
- body: ObjectTypeAnnotation;
- implements?: Array<ClassImplements> | null;
- mixins?: Array<InterfaceExtends> | null;
-}
-interface DeclareFunction extends BaseNode {
- type: "DeclareFunction";
- id: Identifier;
- predicate?: DeclaredPredicate | null;
-}
-interface DeclareInterface extends BaseNode {
- type: "DeclareInterface";
- id: Identifier;
- typeParameters?: TypeParameterDeclaration | null;
- extends?: Array<InterfaceExtends> | null;
- body: ObjectTypeAnnotation;
- implements?: Array<ClassImplements> | null;
- mixins?: Array<InterfaceExtends> | null;
-}
-interface DeclareModule extends BaseNode {
- type: "DeclareModule";
- id: Identifier | StringLiteral;
- body: BlockStatement;
- kind?: "CommonJS" | "ES" | null;
-}
-interface DeclareModuleExports extends BaseNode {
- type: "DeclareModuleExports";
- typeAnnotation: TypeAnnotation;
-}
-interface DeclareTypeAlias extends BaseNode {
- type: "DeclareTypeAlias";
- id: Identifier;
- typeParameters?: TypeParameterDeclaration | null;
- right: FlowType;
-}
-interface DeclareOpaqueType extends BaseNode {
- type: "DeclareOpaqueType";
- id: Identifier;
- typeParameters?: TypeParameterDeclaration | null;
- supertype?: FlowType | null;
- impltype?: FlowType | null;
-}
-interface DeclareVariable extends BaseNode {
- type: "DeclareVariable";
- id: Identifier;
-}
-interface DeclareExportDeclaration extends BaseNode {
- type: "DeclareExportDeclaration";
- declaration?: Flow | null;
- specifiers?: Array<ExportSpecifier | ExportNamespaceSpecifier> | null;
- source?: StringLiteral | null;
- default?: boolean | null;
-}
-interface DeclareExportAllDeclaration extends BaseNode {
- type: "DeclareExportAllDeclaration";
- source: StringLiteral;
- exportKind?: "type" | "value" | null;
-}
-interface DeclaredPredicate extends BaseNode {
- type: "DeclaredPredicate";
- value: Flow;
-}
-interface ExistsTypeAnnotation extends BaseNode {
- type: "ExistsTypeAnnotation";
-}
-interface FunctionTypeAnnotation extends BaseNode {
- type: "FunctionTypeAnnotation";
- typeParameters?: TypeParameterDeclaration | null;
- params: Array<FunctionTypeParam>;
- rest?: FunctionTypeParam | null;
- returnType: FlowType;
- this?: FunctionTypeParam | null;
-}
-interface FunctionTypeParam extends BaseNode {
- type: "FunctionTypeParam";
- name?: Identifier | null;
- typeAnnotation: FlowType;
- optional?: boolean | null;
-}
-interface GenericTypeAnnotation extends BaseNode {
- type: "GenericTypeAnnotation";
- id: Identifier | QualifiedTypeIdentifier;
- typeParameters?: TypeParameterInstantiation | null;
-}
-interface InferredPredicate extends BaseNode {
- type: "InferredPredicate";
-}
-interface InterfaceExtends extends BaseNode {
- type: "InterfaceExtends";
- id: Identifier | QualifiedTypeIdentifier;
- typeParameters?: TypeParameterInstantiation | null;
-}
-interface InterfaceDeclaration extends BaseNode {
- type: "InterfaceDeclaration";
- id: Identifier;
- typeParameters?: TypeParameterDeclaration | null;
- extends?: Array<InterfaceExtends> | null;
- body: ObjectTypeAnnotation;
- implements?: Array<ClassImplements> | null;
- mixins?: Array<InterfaceExtends> | null;
-}
-interface InterfaceTypeAnnotation extends BaseNode {
- type: "InterfaceTypeAnnotation";
- extends?: Array<InterfaceExtends> | null;
- body: ObjectTypeAnnotation;
-}
-interface IntersectionTypeAnnotation extends BaseNode {
- type: "IntersectionTypeAnnotation";
- types: Array<FlowType>;
-}
-interface MixedTypeAnnotation extends BaseNode {
- type: "MixedTypeAnnotation";
-}
-interface EmptyTypeAnnotation extends BaseNode {
- type: "EmptyTypeAnnotation";
-}
-interface NullableTypeAnnotation extends BaseNode {
- type: "NullableTypeAnnotation";
- typeAnnotation: FlowType;
-}
-interface NumberLiteralTypeAnnotation extends BaseNode {
- type: "NumberLiteralTypeAnnotation";
- value: number;
-}
-interface NumberTypeAnnotation extends BaseNode {
- type: "NumberTypeAnnotation";
-}
-interface ObjectTypeAnnotation extends BaseNode {
- type: "ObjectTypeAnnotation";
- properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty>;
- indexers?: Array<ObjectTypeIndexer>;
- callProperties?: Array<ObjectTypeCallProperty>;
- internalSlots?: Array<ObjectTypeInternalSlot>;
- exact: boolean;
- inexact?: boolean | null;
-}
-interface ObjectTypeInternalSlot extends BaseNode {
- type: "ObjectTypeInternalSlot";
- id: Identifier;
- value: FlowType;
- optional: boolean;
- static: boolean;
- method: boolean;
-}
-interface ObjectTypeCallProperty extends BaseNode {
- type: "ObjectTypeCallProperty";
- value: FlowType;
- static: boolean;
-}
-interface ObjectTypeIndexer extends BaseNode {
- type: "ObjectTypeIndexer";
- id?: Identifier | null;
- key: FlowType;
- value: FlowType;
- variance?: Variance | null;
- static: boolean;
-}
-interface ObjectTypeProperty extends BaseNode {
- type: "ObjectTypeProperty";
- key: Identifier | StringLiteral;
- value: FlowType;
- variance?: Variance | null;
- kind: "init" | "get" | "set";
- method: boolean;
- optional: boolean;
- proto: boolean;
- static: boolean;
-}
-interface ObjectTypeSpreadProperty extends BaseNode {
- type: "ObjectTypeSpreadProperty";
- argument: FlowType;
-}
-interface OpaqueType extends BaseNode {
- type: "OpaqueType";
- id: Identifier;
- typeParameters?: TypeParameterDeclaration | null;
- supertype?: FlowType | null;
- impltype: FlowType;
-}
-interface QualifiedTypeIdentifier extends BaseNode {
- type: "QualifiedTypeIdentifier";
- id: Identifier;
- qualification: Identifier | QualifiedTypeIdentifier;
-}
-interface StringLiteralTypeAnnotation extends BaseNode {
- type: "StringLiteralTypeAnnotation";
- value: string;
-}
-interface StringTypeAnnotation extends BaseNode {
- type: "StringTypeAnnotation";
-}
-interface SymbolTypeAnnotation extends BaseNode {
- type: "SymbolTypeAnnotation";
-}
-interface ThisTypeAnnotation extends BaseNode {
- type: "ThisTypeAnnotation";
-}
-interface TupleTypeAnnotation extends BaseNode {
- type: "TupleTypeAnnotation";
- types: Array<FlowType>;
-}
-interface TypeofTypeAnnotation extends BaseNode {
- type: "TypeofTypeAnnotation";
- argument: FlowType;
-}
-interface TypeAlias extends BaseNode {
- type: "TypeAlias";
- id: Identifier;
- typeParameters?: TypeParameterDeclaration | null;
- right: FlowType;
-}
-interface TypeAnnotation extends BaseNode {
- type: "TypeAnnotation";
- typeAnnotation: FlowType;
-}
-interface TypeCastExpression extends BaseNode {
- type: "TypeCastExpression";
- expression: Expression;
- typeAnnotation: TypeAnnotation;
-}
-interface TypeParameter extends BaseNode {
- type: "TypeParameter";
- bound?: TypeAnnotation | null;
- default?: FlowType | null;
- variance?: Variance | null;
- name: string;
-}
-interface TypeParameterDeclaration extends BaseNode {
- type: "TypeParameterDeclaration";
- params: Array<TypeParameter>;
-}
-interface TypeParameterInstantiation extends BaseNode {
- type: "TypeParameterInstantiation";
- params: Array<FlowType>;
-}
-interface UnionTypeAnnotation extends BaseNode {
- type: "UnionTypeAnnotation";
- types: Array<FlowType>;
-}
-interface Variance extends BaseNode {
- type: "Variance";
- kind: "minus" | "plus";
-}
-interface VoidTypeAnnotation extends BaseNode {
- type: "VoidTypeAnnotation";
-}
-interface EnumDeclaration extends BaseNode {
- type: "EnumDeclaration";
- id: Identifier;
- body: EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;
-}
-interface EnumBooleanBody extends BaseNode {
- type: "EnumBooleanBody";
- members: Array<EnumBooleanMember>;
- explicitType: boolean;
- hasUnknownMembers: boolean;
-}
-interface EnumNumberBody extends BaseNode {
- type: "EnumNumberBody";
- members: Array<EnumNumberMember>;
- explicitType: boolean;
- hasUnknownMembers: boolean;
-}
-interface EnumStringBody extends BaseNode {
- type: "EnumStringBody";
- members: Array<EnumStringMember | EnumDefaultedMember>;
- explicitType: boolean;
- hasUnknownMembers: boolean;
-}
-interface EnumSymbolBody extends BaseNode {
- type: "EnumSymbolBody";
- members: Array<EnumDefaultedMember>;
- hasUnknownMembers: boolean;
-}
-interface EnumBooleanMember extends BaseNode {
- type: "EnumBooleanMember";
- id: Identifier;
- init: BooleanLiteral;
-}
-interface EnumNumberMember extends BaseNode {
- type: "EnumNumberMember";
- id: Identifier;
- init: NumericLiteral;
-}
-interface EnumStringMember extends BaseNode {
- type: "EnumStringMember";
- id: Identifier;
- init: StringLiteral;
-}
-interface EnumDefaultedMember extends BaseNode {
- type: "EnumDefaultedMember";
- id: Identifier;
-}
-interface IndexedAccessType extends BaseNode {
- type: "IndexedAccessType";
- objectType: FlowType;
- indexType: FlowType;
-}
-interface OptionalIndexedAccessType extends BaseNode {
- type: "OptionalIndexedAccessType";
- objectType: FlowType;
- indexType: FlowType;
- optional: boolean;
-}
-interface JSXAttribute extends BaseNode {
- type: "JSXAttribute";
- name: JSXIdentifier | JSXNamespacedName;
- value?: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer | null;
-}
-interface JSXClosingElement extends BaseNode {
- type: "JSXClosingElement";
- name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
-}
-interface JSXElement extends BaseNode {
- type: "JSXElement";
- openingElement: JSXOpeningElement;
- closingElement?: JSXClosingElement | null;
- children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
- selfClosing?: boolean | null;
-}
-interface JSXEmptyExpression extends BaseNode {
- type: "JSXEmptyExpression";
-}
-interface JSXExpressionContainer extends BaseNode {
- type: "JSXExpressionContainer";
- expression: Expression | JSXEmptyExpression;
-}
-interface JSXSpreadChild extends BaseNode {
- type: "JSXSpreadChild";
- expression: Expression;
-}
-interface JSXIdentifier extends BaseNode {
- type: "JSXIdentifier";
- name: string;
-}
-interface JSXMemberExpression extends BaseNode {
- type: "JSXMemberExpression";
- object: JSXMemberExpression | JSXIdentifier;
- property: JSXIdentifier;
-}
-interface JSXNamespacedName extends BaseNode {
- type: "JSXNamespacedName";
- namespace: JSXIdentifier;
- name: JSXIdentifier;
-}
-interface JSXOpeningElement extends BaseNode {
- type: "JSXOpeningElement";
- name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
- attributes: Array<JSXAttribute | JSXSpreadAttribute>;
- selfClosing: boolean;
- typeParameters?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
-}
-interface JSXSpreadAttribute extends BaseNode {
- type: "JSXSpreadAttribute";
- argument: Expression;
-}
-interface JSXText extends BaseNode {
- type: "JSXText";
- value: string;
-}
-interface JSXFragment extends BaseNode {
- type: "JSXFragment";
- openingFragment: JSXOpeningFragment;
- closingFragment: JSXClosingFragment;
- children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>;
-}
-interface JSXOpeningFragment extends BaseNode {
- type: "JSXOpeningFragment";
-}
-interface JSXClosingFragment extends BaseNode {
- type: "JSXClosingFragment";
-}
-interface Noop extends BaseNode {
- type: "Noop";
-}
-interface Placeholder extends BaseNode {
- type: "Placeholder";
- expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern";
- name: Identifier;
-}
-interface V8IntrinsicIdentifier extends BaseNode {
- type: "V8IntrinsicIdentifier";
- name: string;
-}
-interface ArgumentPlaceholder extends BaseNode {
- type: "ArgumentPlaceholder";
-}
-interface BindExpression extends BaseNode {
- type: "BindExpression";
- object: Expression;
- callee: Expression;
-}
-interface ImportAttribute extends BaseNode {
- type: "ImportAttribute";
- key: Identifier | StringLiteral;
- value: StringLiteral;
-}
-interface Decorator extends BaseNode {
- type: "Decorator";
- expression: Expression;
-}
-interface DoExpression extends BaseNode {
- type: "DoExpression";
- body: BlockStatement;
- async: boolean;
-}
-interface ExportDefaultSpecifier extends BaseNode {
- type: "ExportDefaultSpecifier";
- exported: Identifier;
-}
-interface RecordExpression extends BaseNode {
- type: "RecordExpression";
- properties: Array<ObjectProperty | SpreadElement>;
-}
-interface TupleExpression extends BaseNode {
- type: "TupleExpression";
- elements: Array<Expression | SpreadElement>;
-}
-interface DecimalLiteral extends BaseNode {
- type: "DecimalLiteral";
- value: string;
-}
-interface ModuleExpression extends BaseNode {
- type: "ModuleExpression";
- body: Program;
-}
-interface TopicReference extends BaseNode {
- type: "TopicReference";
-}
-interface PipelineTopicExpression extends BaseNode {
- type: "PipelineTopicExpression";
- expression: Expression;
-}
-interface PipelineBareFunction extends BaseNode {
- type: "PipelineBareFunction";
- callee: Expression;
-}
-interface PipelinePrimaryTopicReference extends BaseNode {
- type: "PipelinePrimaryTopicReference";
-}
-interface TSParameterProperty extends BaseNode {
- type: "TSParameterProperty";
- parameter: Identifier | AssignmentPattern;
- accessibility?: "public" | "private" | "protected" | null;
- decorators?: Array<Decorator> | null;
- override?: boolean | null;
- readonly?: boolean | null;
-}
-interface TSDeclareFunction extends BaseNode {
- type: "TSDeclareFunction";
- id?: Identifier | null;
- typeParameters?: TSTypeParameterDeclaration | Noop | null;
- params: Array<Identifier | Pattern | RestElement>;
- returnType?: TSTypeAnnotation | Noop | null;
- async?: boolean;
- declare?: boolean | null;
- generator?: boolean;
-}
-interface TSDeclareMethod extends BaseNode {
- type: "TSDeclareMethod";
- decorators?: Array<Decorator> | null;
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
- typeParameters?: TSTypeParameterDeclaration | Noop | null;
- params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
- returnType?: TSTypeAnnotation | Noop | null;
- abstract?: boolean | null;
- access?: "public" | "private" | "protected" | null;
- accessibility?: "public" | "private" | "protected" | null;
- async?: boolean;
- computed?: boolean;
- generator?: boolean;
- kind?: "get" | "set" | "method" | "constructor";
- optional?: boolean | null;
- override?: boolean;
- static?: boolean;
-}
-interface TSQualifiedName extends BaseNode {
- type: "TSQualifiedName";
- left: TSEntityName;
- right: Identifier;
-}
-interface TSCallSignatureDeclaration extends BaseNode {
- type: "TSCallSignatureDeclaration";
- typeParameters?: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation?: TSTypeAnnotation | null;
-}
-interface TSConstructSignatureDeclaration extends BaseNode {
- type: "TSConstructSignatureDeclaration";
- typeParameters?: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation?: TSTypeAnnotation | null;
-}
-interface TSPropertySignature extends BaseNode {
- type: "TSPropertySignature";
- key: Expression;
- typeAnnotation?: TSTypeAnnotation | null;
- initializer?: Expression | null;
- computed?: boolean;
- kind: "get" | "set";
- optional?: boolean | null;
- readonly?: boolean | null;
-}
-interface TSMethodSignature extends BaseNode {
- type: "TSMethodSignature";
- key: Expression;
- typeParameters?: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation?: TSTypeAnnotation | null;
- computed?: boolean;
- kind: "method" | "get" | "set";
- optional?: boolean | null;
-}
-interface TSIndexSignature extends BaseNode {
- type: "TSIndexSignature";
- parameters: Array<Identifier>;
- typeAnnotation?: TSTypeAnnotation | null;
- readonly?: boolean | null;
- static?: boolean | null;
-}
-interface TSAnyKeyword extends BaseNode {
- type: "TSAnyKeyword";
-}
-interface TSBooleanKeyword extends BaseNode {
- type: "TSBooleanKeyword";
-}
-interface TSBigIntKeyword extends BaseNode {
- type: "TSBigIntKeyword";
-}
-interface TSIntrinsicKeyword extends BaseNode {
- type: "TSIntrinsicKeyword";
-}
-interface TSNeverKeyword extends BaseNode {
- type: "TSNeverKeyword";
-}
-interface TSNullKeyword extends BaseNode {
- type: "TSNullKeyword";
-}
-interface TSNumberKeyword extends BaseNode {
- type: "TSNumberKeyword";
-}
-interface TSObjectKeyword extends BaseNode {
- type: "TSObjectKeyword";
-}
-interface TSStringKeyword extends BaseNode {
- type: "TSStringKeyword";
-}
-interface TSSymbolKeyword extends BaseNode {
- type: "TSSymbolKeyword";
-}
-interface TSUndefinedKeyword extends BaseNode {
- type: "TSUndefinedKeyword";
-}
-interface TSUnknownKeyword extends BaseNode {
- type: "TSUnknownKeyword";
-}
-interface TSVoidKeyword extends BaseNode {
- type: "TSVoidKeyword";
-}
-interface TSThisType extends BaseNode {
- type: "TSThisType";
-}
-interface TSFunctionType extends BaseNode {
- type: "TSFunctionType";
- typeParameters?: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation?: TSTypeAnnotation | null;
-}
-interface TSConstructorType extends BaseNode {
- type: "TSConstructorType";
- typeParameters?: TSTypeParameterDeclaration | null;
- parameters: Array<Identifier | RestElement>;
- typeAnnotation?: TSTypeAnnotation | null;
- abstract?: boolean | null;
-}
-interface TSTypeReference extends BaseNode {
- type: "TSTypeReference";
- typeName: TSEntityName;
- typeParameters?: TSTypeParameterInstantiation | null;
-}
-interface TSTypePredicate extends BaseNode {
- type: "TSTypePredicate";
- parameterName: Identifier | TSThisType;
- typeAnnotation?: TSTypeAnnotation | null;
- asserts?: boolean | null;
-}
-interface TSTypeQuery extends BaseNode {
- type: "TSTypeQuery";
- exprName: TSEntityName | TSImportType;
- typeParameters?: TSTypeParameterInstantiation | null;
-}
-interface TSTypeLiteral extends BaseNode {
- type: "TSTypeLiteral";
- members: Array<TSTypeElement>;
-}
-interface TSArrayType extends BaseNode {
- type: "TSArrayType";
- elementType: TSType;
-}
-interface TSTupleType extends BaseNode {
- type: "TSTupleType";
- elementTypes: Array<TSType | TSNamedTupleMember>;
-}
-interface TSOptionalType extends BaseNode {
- type: "TSOptionalType";
- typeAnnotation: TSType;
-}
-interface TSRestType extends BaseNode {
- type: "TSRestType";
- typeAnnotation: TSType;
-}
-interface TSNamedTupleMember extends BaseNode {
- type: "TSNamedTupleMember";
- label: Identifier;
- elementType: TSType;
- optional: boolean;
-}
-interface TSUnionType extends BaseNode {
- type: "TSUnionType";
- types: Array<TSType>;
-}
-interface TSIntersectionType extends BaseNode {
- type: "TSIntersectionType";
- types: Array<TSType>;
-}
-interface TSConditionalType extends BaseNode {
- type: "TSConditionalType";
- checkType: TSType;
- extendsType: TSType;
- trueType: TSType;
- falseType: TSType;
-}
-interface TSInferType extends BaseNode {
- type: "TSInferType";
- typeParameter: TSTypeParameter;
-}
-interface TSParenthesizedType extends BaseNode {
- type: "TSParenthesizedType";
- typeAnnotation: TSType;
-}
-interface TSTypeOperator extends BaseNode {
- type: "TSTypeOperator";
- typeAnnotation: TSType;
- operator: string;
-}
-interface TSIndexedAccessType extends BaseNode {
- type: "TSIndexedAccessType";
- objectType: TSType;
- indexType: TSType;
-}
-interface TSMappedType extends BaseNode {
- type: "TSMappedType";
- typeParameter: TSTypeParameter;
- typeAnnotation?: TSType | null;
- nameType?: TSType | null;
- optional?: true | false | "+" | "-" | null;
- readonly?: true | false | "+" | "-" | null;
-}
-interface TSLiteralType extends BaseNode {
- type: "TSLiteralType";
- literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | TemplateLiteral | UnaryExpression;
-}
-interface TSExpressionWithTypeArguments extends BaseNode {
- type: "TSExpressionWithTypeArguments";
- expression: TSEntityName;
- typeParameters?: TSTypeParameterInstantiation | null;
-}
-interface TSInterfaceDeclaration extends BaseNode {
- type: "TSInterfaceDeclaration";
- id: Identifier;
- typeParameters?: TSTypeParameterDeclaration | null;
- extends?: Array<TSExpressionWithTypeArguments> | null;
- body: TSInterfaceBody;
- declare?: boolean | null;
-}
-interface TSInterfaceBody extends BaseNode {
- type: "TSInterfaceBody";
- body: Array<TSTypeElement>;
-}
-interface TSTypeAliasDeclaration extends BaseNode {
- type: "TSTypeAliasDeclaration";
- id: Identifier;
- typeParameters?: TSTypeParameterDeclaration | null;
- typeAnnotation: TSType;
- declare?: boolean | null;
-}
-interface TSInstantiationExpression extends BaseNode {
- type: "TSInstantiationExpression";
- expression: Expression;
- typeParameters?: TSTypeParameterInstantiation | null;
-}
-interface TSAsExpression extends BaseNode {
- type: "TSAsExpression";
- expression: Expression;
- typeAnnotation: TSType;
-}
-interface TSTypeAssertion extends BaseNode {
- type: "TSTypeAssertion";
- typeAnnotation: TSType;
- expression: Expression;
-}
-interface TSEnumDeclaration extends BaseNode {
- type: "TSEnumDeclaration";
- id: Identifier;
- members: Array<TSEnumMember>;
- const?: boolean | null;
- declare?: boolean | null;
- initializer?: Expression | null;
-}
-interface TSEnumMember extends BaseNode {
- type: "TSEnumMember";
- id: Identifier | StringLiteral;
- initializer?: Expression | null;
-}
-interface TSModuleDeclaration extends BaseNode {
- type: "TSModuleDeclaration";
- id: Identifier | StringLiteral;
- body: TSModuleBlock | TSModuleDeclaration;
- declare?: boolean | null;
- global?: boolean | null;
-}
-interface TSModuleBlock extends BaseNode {
- type: "TSModuleBlock";
- body: Array<Statement>;
-}
-interface TSImportType extends BaseNode {
- type: "TSImportType";
- argument: StringLiteral;
- qualifier?: TSEntityName | null;
- typeParameters?: TSTypeParameterInstantiation | null;
-}
-interface TSImportEqualsDeclaration extends BaseNode {
- type: "TSImportEqualsDeclaration";
- id: Identifier;
- moduleReference: TSEntityName | TSExternalModuleReference;
- importKind?: "type" | "value" | null;
- isExport: boolean;
-}
-interface TSExternalModuleReference extends BaseNode {
- type: "TSExternalModuleReference";
- expression: StringLiteral;
-}
-interface TSNonNullExpression extends BaseNode {
- type: "TSNonNullExpression";
- expression: Expression;
-}
-interface TSExportAssignment extends BaseNode {
- type: "TSExportAssignment";
- expression: Expression;
-}
-interface TSNamespaceExportDeclaration extends BaseNode {
- type: "TSNamespaceExportDeclaration";
- id: Identifier;
-}
-interface TSTypeAnnotation extends BaseNode {
- type: "TSTypeAnnotation";
- typeAnnotation: TSType;
-}
-interface TSTypeParameterInstantiation extends BaseNode {
- type: "TSTypeParameterInstantiation";
- params: Array<TSType>;
-}
-interface TSTypeParameterDeclaration extends BaseNode {
- type: "TSTypeParameterDeclaration";
- params: Array<TSTypeParameter>;
-}
-interface TSTypeParameter extends BaseNode {
- type: "TSTypeParameter";
- constraint?: TSType | null;
- default?: TSType | null;
- name: string;
- in?: boolean | null;
- out?: boolean | null;
-}
-declare type Standardized = ArrayExpression | AssignmentExpression | BinaryExpression | InterpreterDirective | Directive | DirectiveLiteral | BlockStatement | BreakStatement | CallExpression | CatchClause | ConditionalExpression | ContinueStatement | DebuggerStatement | DoWhileStatement | EmptyStatement | ExpressionStatement | File | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | LabeledStatement | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | LogicalExpression | MemberExpression | NewExpression | Program | ObjectExpression | ObjectMethod | ObjectProperty | RestElement | ReturnStatement | SequenceExpression | ParenthesizedExpression | SwitchCase | SwitchStatement | ThisExpression | ThrowStatement | TryStatement | UnaryExpression | UpdateExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | AssignmentPattern | ArrayPattern | ArrowFunctionExpression | ClassBody | ClassExpression | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ForOfStatement | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | MetaProperty | ClassMethod | ObjectPattern | SpreadElement | Super | TaggedTemplateExpression | TemplateElement | TemplateLiteral | YieldExpression | AwaitExpression | Import | BigIntLiteral | ExportNamespaceSpecifier | OptionalMemberExpression | OptionalCallExpression | ClassProperty | ClassAccessorProperty | ClassPrivateProperty | ClassPrivateMethod | PrivateName | StaticBlock;
-declare type Expression = ArrayExpression | AssignmentExpression | BinaryExpression | CallExpression | ConditionalExpression | FunctionExpression | Identifier | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | LogicalExpression | MemberExpression | NewExpression | ObjectExpression | SequenceExpression | ParenthesizedExpression | ThisExpression | UnaryExpression | UpdateExpression | ArrowFunctionExpression | ClassExpression | MetaProperty | Super | TaggedTemplateExpression | TemplateLiteral | YieldExpression | AwaitExpression | Import | BigIntLiteral | OptionalMemberExpression | OptionalCallExpression | TypeCastExpression | JSXElement | JSXFragment | BindExpression | DoExpression | RecordExpression | TupleExpression | DecimalLiteral | ModuleExpression | TopicReference | PipelineTopicExpression | PipelineBareFunction | PipelinePrimaryTopicReference | TSInstantiationExpression | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
-declare type Binary = BinaryExpression | LogicalExpression;
-declare type Scopable = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ClassExpression | ClassDeclaration | ForOfStatement | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock;
-declare type BlockParent = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ForOfStatement | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock;
-declare type Block = BlockStatement | Program | TSModuleBlock;
-declare type Statement = BlockStatement | BreakStatement | ContinueStatement | DebuggerStatement | DoWhileStatement | EmptyStatement | ExpressionStatement | ForInStatement | ForStatement | FunctionDeclaration | IfStatement | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | VariableDeclaration | WhileStatement | WithStatement | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ForOfStatement | ImportDeclaration | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | EnumDeclaration | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration | TSImportEqualsDeclaration | TSExportAssignment | TSNamespaceExportDeclaration;
-declare type Terminatorless = BreakStatement | ContinueStatement | ReturnStatement | ThrowStatement | YieldExpression | AwaitExpression;
-declare type CompletionStatement = BreakStatement | ContinueStatement | ReturnStatement | ThrowStatement;
-declare type Conditional = ConditionalExpression | IfStatement;
-declare type Loop = DoWhileStatement | ForInStatement | ForStatement | WhileStatement | ForOfStatement;
-declare type While = DoWhileStatement | WhileStatement;
-declare type ExpressionWrapper = ExpressionStatement | ParenthesizedExpression | TypeCastExpression;
-declare type For = ForInStatement | ForStatement | ForOfStatement;
-declare type ForXStatement = ForInStatement | ForOfStatement;
-declare type Function = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod;
-declare type FunctionParent = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod | StaticBlock;
-declare type Pureish = FunctionDeclaration | FunctionExpression | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ArrowFunctionExpression | BigIntLiteral | DecimalLiteral;
-declare type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | EnumDeclaration | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration;
-declare type PatternLike = Identifier | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
-declare type LVal = Identifier | MemberExpression | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSParameterProperty | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
-declare type TSEntityName = Identifier | TSQualifiedName;
-declare type Literal = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | TemplateLiteral | BigIntLiteral | DecimalLiteral;
-declare type Immutable = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | BigIntLiteral | JSXAttribute | JSXClosingElement | JSXElement | JSXExpressionContainer | JSXSpreadChild | JSXOpeningElement | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment | DecimalLiteral;
-declare type UserWhitespacable = ObjectMethod | ObjectProperty | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty;
-declare type Method = ObjectMethod | ClassMethod | ClassPrivateMethod;
-declare type ObjectMember = ObjectMethod | ObjectProperty;
-declare type Property = ObjectProperty | ClassProperty | ClassAccessorProperty | ClassPrivateProperty;
-declare type UnaryLike = UnaryExpression | SpreadElement;
-declare type Pattern = AssignmentPattern | ArrayPattern | ObjectPattern;
-declare type Class = ClassExpression | ClassDeclaration;
-declare type ModuleDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration;
-declare type ExportDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration;
-declare type ModuleSpecifier = ExportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | ExportNamespaceSpecifier | ExportDefaultSpecifier;
-declare type Accessor = ClassAccessorProperty;
-declare type Private = ClassPrivateProperty | ClassPrivateMethod | PrivateName;
-declare type Flow = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ClassImplements | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | DeclaredPredicate | ExistsTypeAnnotation | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | InferredPredicate | InterfaceExtends | InterfaceDeclaration | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | QualifiedTypeIdentifier | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | UnionTypeAnnotation | Variance | VoidTypeAnnotation | EnumDeclaration | EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody | EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember | IndexedAccessType | OptionalIndexedAccessType;
-declare type FlowType = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ExistsTypeAnnotation | FunctionTypeAnnotation | GenericTypeAnnotation | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | UnionTypeAnnotation | VoidTypeAnnotation | IndexedAccessType | OptionalIndexedAccessType;
-declare type FlowBaseAnnotation = AnyTypeAnnotation | BooleanTypeAnnotation | NullLiteralTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NumberTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | VoidTypeAnnotation;
-declare type FlowDeclaration = DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias;
-declare type FlowPredicate = DeclaredPredicate | InferredPredicate;
-declare type EnumBody = EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;
-declare type EnumMember = EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember;
-declare type JSX = JSXAttribute | JSXClosingElement | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXSpreadChild | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXSpreadAttribute | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment;
-declare type Miscellaneous = Noop | Placeholder | V8IntrinsicIdentifier;
-declare type TypeScript = TSParameterProperty | TSDeclareFunction | TSDeclareMethod | TSQualifiedName | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature | TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSNamedTupleMember | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSLiteralType | TSExpressionWithTypeArguments | TSInterfaceDeclaration | TSInterfaceBody | TSTypeAliasDeclaration | TSInstantiationExpression | TSAsExpression | TSTypeAssertion | TSEnumDeclaration | TSEnumMember | TSModuleDeclaration | TSModuleBlock | TSImportType | TSImportEqualsDeclaration | TSExternalModuleReference | TSNonNullExpression | TSExportAssignment | TSNamespaceExportDeclaration | TSTypeAnnotation | TSTypeParameterInstantiation | TSTypeParameterDeclaration | TSTypeParameter;
-declare type TSTypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature;
-declare type TSType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSLiteralType | TSExpressionWithTypeArguments | TSImportType;
-declare type TSBaseType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSLiteralType;
-interface Aliases {
- Standardized: Standardized;
- Expression: Expression;
- Binary: Binary;
- Scopable: Scopable;
- BlockParent: BlockParent;
- Block: Block;
- Statement: Statement;
- Terminatorless: Terminatorless;
- CompletionStatement: CompletionStatement;
- Conditional: Conditional;
- Loop: Loop;
- While: While;
- ExpressionWrapper: ExpressionWrapper;
- For: For;
- ForXStatement: ForXStatement;
- Function: Function;
- FunctionParent: FunctionParent;
- Pureish: Pureish;
- Declaration: Declaration;
- PatternLike: PatternLike;
- LVal: LVal;
- TSEntityName: TSEntityName;
- Literal: Literal;
- Immutable: Immutable;
- UserWhitespacable: UserWhitespacable;
- Method: Method;
- ObjectMember: ObjectMember;
- Property: Property;
- UnaryLike: UnaryLike;
- Pattern: Pattern;
- Class: Class;
- ModuleDeclaration: ModuleDeclaration;
- ExportDeclaration: ExportDeclaration;
- ModuleSpecifier: ModuleSpecifier;
- Accessor: Accessor;
- Private: Private;
- Flow: Flow;
- FlowType: FlowType;
- FlowBaseAnnotation: FlowBaseAnnotation;
- FlowDeclaration: FlowDeclaration;
- FlowPredicate: FlowPredicate;
- EnumBody: EnumBody;
- EnumMember: EnumMember;
- JSX: JSX;
- Miscellaneous: Miscellaneous;
- TypeScript: TypeScript;
- TSTypeElement: TSTypeElement;
- TSType: TSType;
- TSBaseType: TSBaseType;
-}
-declare type DeprecatedAliases = NumberLiteral$1 | RegexLiteral$1 | RestProperty$1 | SpreadProperty$1;
-interface ParentMaps {
- AnyTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- ArgumentPlaceholder: CallExpression | NewExpression | OptionalCallExpression;
- ArrayExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- ArrayPattern: ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | CatchClause | ClassMethod | ClassPrivateMethod | ForInStatement | ForOfStatement | FunctionDeclaration | FunctionExpression | ObjectMethod | ObjectProperty | RestElement | TSDeclareFunction | TSDeclareMethod | VariableDeclarator;
- ArrayTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- ArrowFunctionExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- AssignmentExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- AssignmentPattern: ArrayPattern | ArrowFunctionExpression | AssignmentExpression | ClassMethod | ClassPrivateMethod | ForInStatement | ForOfStatement | FunctionDeclaration | FunctionExpression | ObjectMethod | ObjectProperty | RestElement | TSDeclareFunction | TSDeclareMethod | TSParameterProperty | VariableDeclarator;
- AwaitExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- BigIntLiteral: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSLiteralType | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- BinaryExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- BindExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- BlockStatement: ArrowFunctionExpression | BlockStatement | CatchClause | ClassMethod | ClassPrivateMethod | DeclareModule | DoExpression | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | IfStatement | LabeledStatement | ObjectMethod | Program | StaticBlock | SwitchCase | TSModuleBlock | TryStatement | WhileStatement | WithStatement;
- BooleanLiteral: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | EnumBooleanMember | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSLiteralType | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- BooleanLiteralTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- BooleanTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- BreakStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- CallExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- CatchClause: TryStatement;
- ClassAccessorProperty: ClassBody;
- ClassBody: ClassDeclaration | ClassExpression;
- ClassDeclaration: BlockStatement | DoWhileStatement | ExportDefaultDeclaration | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- ClassExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- ClassImplements: ClassDeclaration | ClassExpression | DeclareClass | DeclareExportDeclaration | DeclareInterface | DeclaredPredicate | InterfaceDeclaration;
- ClassMethod: ClassBody;
- ClassPrivateMethod: ClassBody;
- ClassPrivateProperty: ClassBody;
- ClassProperty: ClassBody;
- CommentBlock: File;
- CommentLine: File;
- ConditionalExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- ContinueStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DebuggerStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DecimalLiteral: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- DeclareClass: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclareExportAllDeclaration: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclareExportDeclaration: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclareFunction: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclareInterface: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclareModule: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclareModuleExports: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclareOpaqueType: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclareTypeAlias: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclareVariable: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- DeclaredPredicate: ArrowFunctionExpression | DeclareExportDeclaration | DeclareFunction | DeclaredPredicate | FunctionDeclaration | FunctionExpression;
- Decorator: ArrayPattern | AssignmentPattern | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | Identifier | ObjectMethod | ObjectPattern | ObjectProperty | RestElement | TSDeclareMethod | TSParameterProperty;
- Directive: BlockStatement | Program;
- DirectiveLiteral: Directive;
- DoExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- DoWhileStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- EmptyStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- EmptyTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- EnumBooleanBody: DeclareExportDeclaration | DeclaredPredicate | EnumDeclaration;
- EnumBooleanMember: DeclareExportDeclaration | DeclaredPredicate | EnumBooleanBody;
- EnumDeclaration: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- EnumDefaultedMember: DeclareExportDeclaration | DeclaredPredicate | EnumStringBody | EnumSymbolBody;
- EnumNumberBody: DeclareExportDeclaration | DeclaredPredicate | EnumDeclaration;
- EnumNumberMember: DeclareExportDeclaration | DeclaredPredicate | EnumNumberBody;
- EnumStringBody: DeclareExportDeclaration | DeclaredPredicate | EnumDeclaration;
- EnumStringMember: DeclareExportDeclaration | DeclaredPredicate | EnumStringBody;
- EnumSymbolBody: DeclareExportDeclaration | DeclaredPredicate | EnumDeclaration;
- ExistsTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- ExportAllDeclaration: BlockStatement | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- ExportDefaultDeclaration: BlockStatement | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- ExportDefaultSpecifier: ExportNamedDeclaration;
- ExportNamedDeclaration: BlockStatement | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- ExportNamespaceSpecifier: DeclareExportDeclaration | ExportNamedDeclaration;
- ExportSpecifier: DeclareExportDeclaration | ExportNamedDeclaration;
- ExpressionStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- File: null;
- ForInStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- ForOfStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- ForStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- FunctionDeclaration: BlockStatement | DoWhileStatement | ExportDefaultDeclaration | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- FunctionExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- FunctionTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- FunctionTypeParam: DeclareExportDeclaration | DeclaredPredicate | FunctionTypeAnnotation;
- GenericTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- Identifier: ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | BreakStatement | CallExpression | CatchClause | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | ContinueStatement | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | Decorator | DoWhileStatement | EnumBooleanMember | EnumDeclaration | EnumDefaultedMember | EnumNumberMember | EnumStringMember | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamespaceSpecifier | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | FunctionTypeParam | GenericTypeAnnotation | IfStatement | ImportAttribute | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | InterfaceDeclaration | InterfaceExtends | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LabeledStatement | LogicalExpression | MemberExpression | MetaProperty | NewExpression | ObjectMethod | ObjectProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | OpaqueType | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | Placeholder | PrivateName | QualifiedTypeIdentifier | RestElement | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSInstantiationExpression | TSInterfaceDeclaration | TSMethodSignature | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNonNullExpression | TSParameterProperty | TSPropertySignature | TSQualifiedName | TSTypeAliasDeclaration | TSTypeAssertion | TSTypePredicate | TSTypeQuery | TSTypeReference | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeAlias | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- IfStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- Import: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- ImportAttribute: ExportAllDeclaration | ExportNamedDeclaration | ImportDeclaration;
- ImportDeclaration: BlockStatement | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- ImportDefaultSpecifier: ImportDeclaration;
- ImportNamespaceSpecifier: ImportDeclaration;
- ImportSpecifier: ImportDeclaration;
- IndexedAccessType: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- InferredPredicate: ArrowFunctionExpression | DeclareExportDeclaration | DeclaredPredicate | FunctionDeclaration | FunctionExpression;
- InterfaceDeclaration: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- InterfaceExtends: ClassDeclaration | ClassExpression | DeclareClass | DeclareExportDeclaration | DeclareInterface | DeclaredPredicate | InterfaceDeclaration | InterfaceTypeAnnotation;
- InterfaceTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- InterpreterDirective: Program;
- IntersectionTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- JSXAttribute: JSXOpeningElement;
- JSXClosingElement: JSXElement;
- JSXClosingFragment: JSXFragment;
- JSXElement: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXAttribute | JSXElement | JSXExpressionContainer | JSXFragment | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- JSXEmptyExpression: JSXExpressionContainer;
- JSXExpressionContainer: JSXAttribute | JSXElement | JSXFragment;
- JSXFragment: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXAttribute | JSXElement | JSXExpressionContainer | JSXFragment | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- JSXIdentifier: JSXAttribute | JSXClosingElement | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement;
- JSXMemberExpression: JSXClosingElement | JSXMemberExpression | JSXOpeningElement;
- JSXNamespacedName: CallExpression | JSXAttribute | JSXClosingElement | JSXOpeningElement | NewExpression | OptionalCallExpression;
- JSXOpeningElement: JSXElement;
- JSXOpeningFragment: JSXFragment;
- JSXSpreadAttribute: JSXOpeningElement;
- JSXSpreadChild: JSXElement | JSXFragment;
- JSXText: JSXElement | JSXFragment;
- LabeledStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- LogicalExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- MemberExpression: ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | RestElement | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- MetaProperty: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- MixedTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- ModuleExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- NewExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- Noop: ArrayPattern | ArrowFunctionExpression | AssignmentPattern | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | FunctionDeclaration | FunctionExpression | Identifier | ObjectMethod | ObjectPattern | RestElement | TSDeclareFunction | TSDeclareMethod;
- NullLiteral: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- NullLiteralTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- NullableTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- NumberLiteral: null;
- NumberLiteralTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- NumberTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- NumericLiteral: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | EnumNumberMember | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSLiteralType | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- ObjectExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- ObjectMethod: ObjectExpression;
- ObjectPattern: ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | CatchClause | ClassMethod | ClassPrivateMethod | ForInStatement | ForOfStatement | FunctionDeclaration | FunctionExpression | ObjectMethod | ObjectProperty | RestElement | TSDeclareFunction | TSDeclareMethod | VariableDeclarator;
- ObjectProperty: ObjectExpression | ObjectPattern | RecordExpression;
- ObjectTypeAnnotation: ArrayTypeAnnotation | DeclareClass | DeclareExportDeclaration | DeclareInterface | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | InterfaceDeclaration | InterfaceTypeAnnotation | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- ObjectTypeCallProperty: DeclareExportDeclaration | DeclaredPredicate | ObjectTypeAnnotation;
- ObjectTypeIndexer: DeclareExportDeclaration | DeclaredPredicate | ObjectTypeAnnotation;
- ObjectTypeInternalSlot: DeclareExportDeclaration | DeclaredPredicate | ObjectTypeAnnotation;
- ObjectTypeProperty: DeclareExportDeclaration | DeclaredPredicate | ObjectTypeAnnotation;
- ObjectTypeSpreadProperty: DeclareExportDeclaration | DeclaredPredicate | ObjectTypeAnnotation;
- OpaqueType: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- OptionalCallExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- OptionalIndexedAccessType: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- OptionalMemberExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- ParenthesizedExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- PipelineBareFunction: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- PipelinePrimaryTopicReference: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- PipelineTopicExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- Placeholder: Node;
- PrivateName: BinaryExpression | ClassAccessorProperty | ClassPrivateMethod | ClassPrivateProperty | MemberExpression | ObjectProperty;
- Program: File | ModuleExpression;
- QualifiedTypeIdentifier: DeclareExportDeclaration | DeclaredPredicate | GenericTypeAnnotation | InterfaceExtends | QualifiedTypeIdentifier;
- RecordExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- RegExpLiteral: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- RegexLiteral: null;
- RestElement: ArrayPattern | ArrowFunctionExpression | AssignmentExpression | ClassMethod | ClassPrivateMethod | ForInStatement | ForOfStatement | FunctionDeclaration | FunctionExpression | ObjectMethod | ObjectPattern | ObjectProperty | RestElement | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSFunctionType | TSMethodSignature | VariableDeclarator;
- RestProperty: null;
- ReturnStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- SequenceExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- SpreadElement: ArrayExpression | CallExpression | NewExpression | ObjectExpression | OptionalCallExpression | RecordExpression | TupleExpression;
- SpreadProperty: null;
- StaticBlock: ClassBody;
- StringLiteral: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareModule | Decorator | DoWhileStatement | EnumStringMember | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | ImportAttribute | ImportDeclaration | ImportSpecifier | JSXAttribute | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | ObjectTypeProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExternalModuleReference | TSImportType | TSInstantiationExpression | TSLiteralType | TSMethodSignature | TSModuleDeclaration | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- StringLiteralTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- StringTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- Super: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- SwitchCase: SwitchStatement;
- SwitchStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- SymbolTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- TSAnyKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSArrayType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSAsExpression: ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | RestElement | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- TSBigIntKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSBooleanKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSCallSignatureDeclaration: TSInterfaceBody | TSTypeLiteral;
- TSConditionalType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSConstructSignatureDeclaration: TSInterfaceBody | TSTypeLiteral;
- TSConstructorType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSDeclareFunction: BlockStatement | DoWhileStatement | ExportDefaultDeclaration | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TSDeclareMethod: ClassBody;
- TSEnumDeclaration: BlockStatement | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TSEnumMember: TSEnumDeclaration;
- TSExportAssignment: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TSExpressionWithTypeArguments: ClassDeclaration | ClassExpression | TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSInterfaceDeclaration | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSExternalModuleReference: TSImportEqualsDeclaration;
- TSFunctionType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSImportEqualsDeclaration: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TSImportType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSTypeQuery | TSUnionType | TemplateLiteral;
- TSIndexSignature: ClassBody | TSInterfaceBody | TSTypeLiteral;
- TSIndexedAccessType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSInferType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSInstantiationExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- TSInterfaceBody: TSInterfaceDeclaration;
- TSInterfaceDeclaration: BlockStatement | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TSIntersectionType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSIntrinsicKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSLiteralType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSMappedType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSMethodSignature: TSInterfaceBody | TSTypeLiteral;
- TSModuleBlock: TSModuleDeclaration;
- TSModuleDeclaration: BlockStatement | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | TSModuleDeclaration | WhileStatement | WithStatement;
- TSNamedTupleMember: TSTupleType;
- TSNamespaceExportDeclaration: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TSNeverKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSNonNullExpression: ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | RestElement | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- TSNullKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSNumberKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSObjectKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSOptionalType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSParameterProperty: ArrayPattern | AssignmentExpression | ClassMethod | ClassPrivateMethod | ForInStatement | ForOfStatement | RestElement | TSDeclareMethod | VariableDeclarator;
- TSParenthesizedType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSPropertySignature: TSInterfaceBody | TSTypeLiteral;
- TSQualifiedName: TSExpressionWithTypeArguments | TSImportEqualsDeclaration | TSImportType | TSQualifiedName | TSTypeQuery | TSTypeReference;
- TSRestType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSStringKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSSymbolKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSThisType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSTypePredicate | TSUnionType | TemplateLiteral;
- TSTupleType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSTypeAliasDeclaration: BlockStatement | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TSTypeAnnotation: ArrayPattern | ArrowFunctionExpression | AssignmentPattern | ClassAccessorProperty | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | FunctionDeclaration | FunctionExpression | Identifier | ObjectMethod | ObjectPattern | RestElement | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSFunctionType | TSIndexSignature | TSMethodSignature | TSPropertySignature | TSTypePredicate;
- TSTypeAssertion: ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | RestElement | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- TSTypeLiteral: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSTypeOperator: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSTypeParameter: TSInferType | TSMappedType | TSTypeParameterDeclaration;
- TSTypeParameterDeclaration: ArrowFunctionExpression | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateMethod | FunctionDeclaration | FunctionExpression | ObjectMethod | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSFunctionType | TSInterfaceDeclaration | TSMethodSignature | TSTypeAliasDeclaration;
- TSTypeParameterInstantiation: CallExpression | ClassDeclaration | ClassExpression | JSXOpeningElement | NewExpression | OptionalCallExpression | TSExpressionWithTypeArguments | TSImportType | TSInstantiationExpression | TSTypeQuery | TSTypeReference | TaggedTemplateExpression;
- TSTypePredicate: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSTypeQuery: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSTypeReference: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSUndefinedKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSUnionType: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSUnknownKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TSVoidKeyword: TSArrayType | TSAsExpression | TSConditionalType | TSIndexedAccessType | TSIntersectionType | TSMappedType | TSNamedTupleMember | TSOptionalType | TSParenthesizedType | TSRestType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeOperator | TSTypeParameter | TSTypeParameterInstantiation | TSUnionType | TemplateLiteral;
- TaggedTemplateExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- TemplateElement: TemplateLiteral;
- TemplateLiteral: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSLiteralType | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- ThisExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- ThisTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- ThrowStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TopicReference: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- TryStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TupleExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- TupleTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- TypeAlias: BlockStatement | DeclareExportDeclaration | DeclaredPredicate | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- TypeAnnotation: ArrayPattern | ArrowFunctionExpression | AssignmentPattern | ClassAccessorProperty | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | DeclareExportDeclaration | DeclareModuleExports | DeclaredPredicate | FunctionDeclaration | FunctionExpression | Identifier | ObjectMethod | ObjectPattern | RestElement | TypeCastExpression | TypeParameter;
- TypeCastExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | DeclareExportDeclaration | DeclaredPredicate | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- TypeParameter: DeclareExportDeclaration | DeclaredPredicate | TypeParameterDeclaration;
- TypeParameterDeclaration: ArrowFunctionExpression | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateMethod | DeclareClass | DeclareExportDeclaration | DeclareInterface | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionDeclaration | FunctionExpression | FunctionTypeAnnotation | InterfaceDeclaration | ObjectMethod | OpaqueType | TypeAlias;
- TypeParameterInstantiation: CallExpression | ClassDeclaration | ClassExpression | ClassImplements | DeclareExportDeclaration | DeclaredPredicate | GenericTypeAnnotation | InterfaceExtends | JSXOpeningElement | NewExpression | OptionalCallExpression | TaggedTemplateExpression;
- TypeofTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- UnaryExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSLiteralType | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- UnionTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- UpdateExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
- V8IntrinsicIdentifier: CallExpression | NewExpression;
- VariableDeclaration: BlockStatement | DoWhileStatement | ExportNamedDeclaration | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- VariableDeclarator: VariableDeclaration;
- Variance: ClassAccessorProperty | ClassPrivateProperty | ClassProperty | DeclareExportDeclaration | DeclaredPredicate | ObjectTypeIndexer | ObjectTypeProperty | TypeParameter;
- VoidTypeAnnotation: ArrayTypeAnnotation | DeclareExportDeclaration | DeclareOpaqueType | DeclareTypeAlias | DeclaredPredicate | FunctionTypeAnnotation | FunctionTypeParam | IndexedAccessType | IntersectionTypeAnnotation | NullableTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalIndexedAccessType | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeParameter | TypeParameterInstantiation | TypeofTypeAnnotation | UnionTypeAnnotation;
- WhileStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- WithStatement: BlockStatement | DoWhileStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | LabeledStatement | Program | StaticBlock | SwitchCase | TSModuleBlock | WhileStatement | WithStatement;
- YieldExpression: ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BinaryExpression | BindExpression | CallExpression | ClassAccessorProperty | ClassDeclaration | ClassExpression | ClassMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | Decorator | DoWhileStatement | ExportDefaultDeclaration | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | IfStatement | JSXExpressionContainer | JSXSpreadAttribute | JSXSpreadChild | LogicalExpression | MemberExpression | NewExpression | ObjectMethod | ObjectProperty | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelineTopicExpression | ReturnStatement | SequenceExpression | SpreadElement | SwitchCase | SwitchStatement | TSAsExpression | TSDeclareMethod | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSInstantiationExpression | TSMethodSignature | TSNonNullExpression | TSPropertySignature | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThrowStatement | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VariableDeclarator | WhileStatement | WithStatement | YieldExpression;
-}
-
-declare function isCompatTag(tagName?: string): boolean;
-
-declare type ReturnedChild = JSXSpreadChild | JSXElement | JSXFragment | Expression;
-declare function buildChildren(node: JSXElement | JSXFragment): ReturnedChild[];
-
-declare function assertNode(node?: any): asserts node is Node;
-
-declare function assertArrayExpression(node: object | null | undefined, opts?: object | null): asserts node is ArrayExpression;
-declare function assertAssignmentExpression(node: object | null | undefined, opts?: object | null): asserts node is AssignmentExpression;
-declare function assertBinaryExpression(node: object | null | undefined, opts?: object | null): asserts node is BinaryExpression;
-declare function assertInterpreterDirective(node: object | null | undefined, opts?: object | null): asserts node is InterpreterDirective;
-declare function assertDirective(node: object | null | undefined, opts?: object | null): asserts node is Directive;
-declare function assertDirectiveLiteral(node: object | null | undefined, opts?: object | null): asserts node is DirectiveLiteral;
-declare function assertBlockStatement(node: object | null | undefined, opts?: object | null): asserts node is BlockStatement;
-declare function assertBreakStatement(node: object | null | undefined, opts?: object | null): asserts node is BreakStatement;
-declare function assertCallExpression(node: object | null | undefined, opts?: object | null): asserts node is CallExpression;
-declare function assertCatchClause(node: object | null | undefined, opts?: object | null): asserts node is CatchClause;
-declare function assertConditionalExpression(node: object | null | undefined, opts?: object | null): asserts node is ConditionalExpression;
-declare function assertContinueStatement(node: object | null | undefined, opts?: object | null): asserts node is ContinueStatement;
-declare function assertDebuggerStatement(node: object | null | undefined, opts?: object | null): asserts node is DebuggerStatement;
-declare function assertDoWhileStatement(node: object | null | undefined, opts?: object | null): asserts node is DoWhileStatement;
-declare function assertEmptyStatement(node: object | null | undefined, opts?: object | null): asserts node is EmptyStatement;
-declare function assertExpressionStatement(node: object | null | undefined, opts?: object | null): asserts node is ExpressionStatement;
-declare function assertFile(node: object | null | undefined, opts?: object | null): asserts node is File;
-declare function assertForInStatement(node: object | null | undefined, opts?: object | null): asserts node is ForInStatement;
-declare function assertForStatement(node: object | null | undefined, opts?: object | null): asserts node is ForStatement;
-declare function assertFunctionDeclaration(node: object | null | undefined, opts?: object | null): asserts node is FunctionDeclaration;
-declare function assertFunctionExpression(node: object | null | undefined, opts?: object | null): asserts node is FunctionExpression;
-declare function assertIdentifier(node: object | null | undefined, opts?: object | null): asserts node is Identifier;
-declare function assertIfStatement(node: object | null | undefined, opts?: object | null): asserts node is IfStatement;
-declare function assertLabeledStatement(node: object | null | undefined, opts?: object | null): asserts node is LabeledStatement;
-declare function assertStringLiteral(node: object | null | undefined, opts?: object | null): asserts node is StringLiteral;
-declare function assertNumericLiteral(node: object | null | undefined, opts?: object | null): asserts node is NumericLiteral;
-declare function assertNullLiteral(node: object | null | undefined, opts?: object | null): asserts node is NullLiteral;
-declare function assertBooleanLiteral(node: object | null | undefined, opts?: object | null): asserts node is BooleanLiteral;
-declare function assertRegExpLiteral(node: object | null | undefined, opts?: object | null): asserts node is RegExpLiteral;
-declare function assertLogicalExpression(node: object | null | undefined, opts?: object | null): asserts node is LogicalExpression;
-declare function assertMemberExpression(node: object | null | undefined, opts?: object | null): asserts node is MemberExpression;
-declare function assertNewExpression(node: object | null | undefined, opts?: object | null): asserts node is NewExpression;
-declare function assertProgram(node: object | null | undefined, opts?: object | null): asserts node is Program;
-declare function assertObjectExpression(node: object | null | undefined, opts?: object | null): asserts node is ObjectExpression;
-declare function assertObjectMethod(node: object | null | undefined, opts?: object | null): asserts node is ObjectMethod;
-declare function assertObjectProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectProperty;
-declare function assertRestElement(node: object | null | undefined, opts?: object | null): asserts node is RestElement;
-declare function assertReturnStatement(node: object | null | undefined, opts?: object | null): asserts node is ReturnStatement;
-declare function assertSequenceExpression(node: object | null | undefined, opts?: object | null): asserts node is SequenceExpression;
-declare function assertParenthesizedExpression(node: object | null | undefined, opts?: object | null): asserts node is ParenthesizedExpression;
-declare function assertSwitchCase(node: object | null | undefined, opts?: object | null): asserts node is SwitchCase;
-declare function assertSwitchStatement(node: object | null | undefined, opts?: object | null): asserts node is SwitchStatement;
-declare function assertThisExpression(node: object | null | undefined, opts?: object | null): asserts node is ThisExpression;
-declare function assertThrowStatement(node: object | null | undefined, opts?: object | null): asserts node is ThrowStatement;
-declare function assertTryStatement(node: object | null | undefined, opts?: object | null): asserts node is TryStatement;
-declare function assertUnaryExpression(node: object | null | undefined, opts?: object | null): asserts node is UnaryExpression;
-declare function assertUpdateExpression(node: object | null | undefined, opts?: object | null): asserts node is UpdateExpression;
-declare function assertVariableDeclaration(node: object | null | undefined, opts?: object | null): asserts node is VariableDeclaration;
-declare function assertVariableDeclarator(node: object | null | undefined, opts?: object | null): asserts node is VariableDeclarator;
-declare function assertWhileStatement(node: object | null | undefined, opts?: object | null): asserts node is WhileStatement;
-declare function assertWithStatement(node: object | null | undefined, opts?: object | null): asserts node is WithStatement;
-declare function assertAssignmentPattern(node: object | null | undefined, opts?: object | null): asserts node is AssignmentPattern;
-declare function assertArrayPattern(node: object | null | undefined, opts?: object | null): asserts node is ArrayPattern;
-declare function assertArrowFunctionExpression(node: object | null | undefined, opts?: object | null): asserts node is ArrowFunctionExpression;
-declare function assertClassBody(node: object | null | undefined, opts?: object | null): asserts node is ClassBody;
-declare function assertClassExpression(node: object | null | undefined, opts?: object | null): asserts node is ClassExpression;
-declare function assertClassDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ClassDeclaration;
-declare function assertExportAllDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportAllDeclaration;
-declare function assertExportDefaultDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportDefaultDeclaration;
-declare function assertExportNamedDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportNamedDeclaration;
-declare function assertExportSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ExportSpecifier;
-declare function assertForOfStatement(node: object | null | undefined, opts?: object | null): asserts node is ForOfStatement;
-declare function assertImportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ImportDeclaration;
-declare function assertImportDefaultSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ImportDefaultSpecifier;
-declare function assertImportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ImportNamespaceSpecifier;
-declare function assertImportSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ImportSpecifier;
-declare function assertMetaProperty(node: object | null | undefined, opts?: object | null): asserts node is MetaProperty;
-declare function assertClassMethod(node: object | null | undefined, opts?: object | null): asserts node is ClassMethod;
-declare function assertObjectPattern(node: object | null | undefined, opts?: object | null): asserts node is ObjectPattern;
-declare function assertSpreadElement(node: object | null | undefined, opts?: object | null): asserts node is SpreadElement;
-declare function assertSuper(node: object | null | undefined, opts?: object | null): asserts node is Super;
-declare function assertTaggedTemplateExpression(node: object | null | undefined, opts?: object | null): asserts node is TaggedTemplateExpression;
-declare function assertTemplateElement(node: object | null | undefined, opts?: object | null): asserts node is TemplateElement;
-declare function assertTemplateLiteral(node: object | null | undefined, opts?: object | null): asserts node is TemplateLiteral;
-declare function assertYieldExpression(node: object | null | undefined, opts?: object | null): asserts node is YieldExpression;
-declare function assertAwaitExpression(node: object | null | undefined, opts?: object | null): asserts node is AwaitExpression;
-declare function assertImport(node: object | null | undefined, opts?: object | null): asserts node is Import;
-declare function assertBigIntLiteral(node: object | null | undefined, opts?: object | null): asserts node is BigIntLiteral;
-declare function assertExportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ExportNamespaceSpecifier;
-declare function assertOptionalMemberExpression(node: object | null | undefined, opts?: object | null): asserts node is OptionalMemberExpression;
-declare function assertOptionalCallExpression(node: object | null | undefined, opts?: object | null): asserts node is OptionalCallExpression;
-declare function assertClassProperty(node: object | null | undefined, opts?: object | null): asserts node is ClassProperty;
-declare function assertClassAccessorProperty(node: object | null | undefined, opts?: object | null): asserts node is ClassAccessorProperty;
-declare function assertClassPrivateProperty(node: object | null | undefined, opts?: object | null): asserts node is ClassPrivateProperty;
-declare function assertClassPrivateMethod(node: object | null | undefined, opts?: object | null): asserts node is ClassPrivateMethod;
-declare function assertPrivateName(node: object | null | undefined, opts?: object | null): asserts node is PrivateName;
-declare function assertStaticBlock(node: object | null | undefined, opts?: object | null): asserts node is StaticBlock;
-declare function assertAnyTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is AnyTypeAnnotation;
-declare function assertArrayTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ArrayTypeAnnotation;
-declare function assertBooleanTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is BooleanTypeAnnotation;
-declare function assertBooleanLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is BooleanLiteralTypeAnnotation;
-declare function assertNullLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NullLiteralTypeAnnotation;
-declare function assertClassImplements(node: object | null | undefined, opts?: object | null): asserts node is ClassImplements;
-declare function assertDeclareClass(node: object | null | undefined, opts?: object | null): asserts node is DeclareClass;
-declare function assertDeclareFunction(node: object | null | undefined, opts?: object | null): asserts node is DeclareFunction;
-declare function assertDeclareInterface(node: object | null | undefined, opts?: object | null): asserts node is DeclareInterface;
-declare function assertDeclareModule(node: object | null | undefined, opts?: object | null): asserts node is DeclareModule;
-declare function assertDeclareModuleExports(node: object | null | undefined, opts?: object | null): asserts node is DeclareModuleExports;
-declare function assertDeclareTypeAlias(node: object | null | undefined, opts?: object | null): asserts node is DeclareTypeAlias;
-declare function assertDeclareOpaqueType(node: object | null | undefined, opts?: object | null): asserts node is DeclareOpaqueType;
-declare function assertDeclareVariable(node: object | null | undefined, opts?: object | null): asserts node is DeclareVariable;
-declare function assertDeclareExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is DeclareExportDeclaration;
-declare function assertDeclareExportAllDeclaration(node: object | null | undefined, opts?: object | null): asserts node is DeclareExportAllDeclaration;
-declare function assertDeclaredPredicate(node: object | null | undefined, opts?: object | null): asserts node is DeclaredPredicate;
-declare function assertExistsTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ExistsTypeAnnotation;
-declare function assertFunctionTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is FunctionTypeAnnotation;
-declare function assertFunctionTypeParam(node: object | null | undefined, opts?: object | null): asserts node is FunctionTypeParam;
-declare function assertGenericTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is GenericTypeAnnotation;
-declare function assertInferredPredicate(node: object | null | undefined, opts?: object | null): asserts node is InferredPredicate;
-declare function assertInterfaceExtends(node: object | null | undefined, opts?: object | null): asserts node is InterfaceExtends;
-declare function assertInterfaceDeclaration(node: object | null | undefined, opts?: object | null): asserts node is InterfaceDeclaration;
-declare function assertInterfaceTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is InterfaceTypeAnnotation;
-declare function assertIntersectionTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is IntersectionTypeAnnotation;
-declare function assertMixedTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is MixedTypeAnnotation;
-declare function assertEmptyTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is EmptyTypeAnnotation;
-declare function assertNullableTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NullableTypeAnnotation;
-declare function assertNumberLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NumberLiteralTypeAnnotation;
-declare function assertNumberTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is NumberTypeAnnotation;
-declare function assertObjectTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeAnnotation;
-declare function assertObjectTypeInternalSlot(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeInternalSlot;
-declare function assertObjectTypeCallProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeCallProperty;
-declare function assertObjectTypeIndexer(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeIndexer;
-declare function assertObjectTypeProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeProperty;
-declare function assertObjectTypeSpreadProperty(node: object | null | undefined, opts?: object | null): asserts node is ObjectTypeSpreadProperty;
-declare function assertOpaqueType(node: object | null | undefined, opts?: object | null): asserts node is OpaqueType;
-declare function assertQualifiedTypeIdentifier(node: object | null | undefined, opts?: object | null): asserts node is QualifiedTypeIdentifier;
-declare function assertStringLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is StringLiteralTypeAnnotation;
-declare function assertStringTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is StringTypeAnnotation;
-declare function assertSymbolTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is SymbolTypeAnnotation;
-declare function assertThisTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is ThisTypeAnnotation;
-declare function assertTupleTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TupleTypeAnnotation;
-declare function assertTypeofTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TypeofTypeAnnotation;
-declare function assertTypeAlias(node: object | null | undefined, opts?: object | null): asserts node is TypeAlias;
-declare function assertTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TypeAnnotation;
-declare function assertTypeCastExpression(node: object | null | undefined, opts?: object | null): asserts node is TypeCastExpression;
-declare function assertTypeParameter(node: object | null | undefined, opts?: object | null): asserts node is TypeParameter;
-declare function assertTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TypeParameterDeclaration;
-declare function assertTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): asserts node is TypeParameterInstantiation;
-declare function assertUnionTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is UnionTypeAnnotation;
-declare function assertVariance(node: object | null | undefined, opts?: object | null): asserts node is Variance;
-declare function assertVoidTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is VoidTypeAnnotation;
-declare function assertEnumDeclaration(node: object | null | undefined, opts?: object | null): asserts node is EnumDeclaration;
-declare function assertEnumBooleanBody(node: object | null | undefined, opts?: object | null): asserts node is EnumBooleanBody;
-declare function assertEnumNumberBody(node: object | null | undefined, opts?: object | null): asserts node is EnumNumberBody;
-declare function assertEnumStringBody(node: object | null | undefined, opts?: object | null): asserts node is EnumStringBody;
-declare function assertEnumSymbolBody(node: object | null | undefined, opts?: object | null): asserts node is EnumSymbolBody;
-declare function assertEnumBooleanMember(node: object | null | undefined, opts?: object | null): asserts node is EnumBooleanMember;
-declare function assertEnumNumberMember(node: object | null | undefined, opts?: object | null): asserts node is EnumNumberMember;
-declare function assertEnumStringMember(node: object | null | undefined, opts?: object | null): asserts node is EnumStringMember;
-declare function assertEnumDefaultedMember(node: object | null | undefined, opts?: object | null): asserts node is EnumDefaultedMember;
-declare function assertIndexedAccessType(node: object | null | undefined, opts?: object | null): asserts node is IndexedAccessType;
-declare function assertOptionalIndexedAccessType(node: object | null | undefined, opts?: object | null): asserts node is OptionalIndexedAccessType;
-declare function assertJSXAttribute(node: object | null | undefined, opts?: object | null): asserts node is JSXAttribute;
-declare function assertJSXClosingElement(node: object | null | undefined, opts?: object | null): asserts node is JSXClosingElement;
-declare function assertJSXElement(node: object | null | undefined, opts?: object | null): asserts node is JSXElement;
-declare function assertJSXEmptyExpression(node: object | null | undefined, opts?: object | null): asserts node is JSXEmptyExpression;
-declare function assertJSXExpressionContainer(node: object | null | undefined, opts?: object | null): asserts node is JSXExpressionContainer;
-declare function assertJSXSpreadChild(node: object | null | undefined, opts?: object | null): asserts node is JSXSpreadChild;
-declare function assertJSXIdentifier(node: object | null | undefined, opts?: object | null): asserts node is JSXIdentifier;
-declare function assertJSXMemberExpression(node: object | null | undefined, opts?: object | null): asserts node is JSXMemberExpression;
-declare function assertJSXNamespacedName(node: object | null | undefined, opts?: object | null): asserts node is JSXNamespacedName;
-declare function assertJSXOpeningElement(node: object | null | undefined, opts?: object | null): asserts node is JSXOpeningElement;
-declare function assertJSXSpreadAttribute(node: object | null | undefined, opts?: object | null): asserts node is JSXSpreadAttribute;
-declare function assertJSXText(node: object | null | undefined, opts?: object | null): asserts node is JSXText;
-declare function assertJSXFragment(node: object | null | undefined, opts?: object | null): asserts node is JSXFragment;
-declare function assertJSXOpeningFragment(node: object | null | undefined, opts?: object | null): asserts node is JSXOpeningFragment;
-declare function assertJSXClosingFragment(node: object | null | undefined, opts?: object | null): asserts node is JSXClosingFragment;
-declare function assertNoop(node: object | null | undefined, opts?: object | null): asserts node is Noop;
-declare function assertPlaceholder(node: object | null | undefined, opts?: object | null): asserts node is Placeholder;
-declare function assertV8IntrinsicIdentifier(node: object | null | undefined, opts?: object | null): asserts node is V8IntrinsicIdentifier;
-declare function assertArgumentPlaceholder(node: object | null | undefined, opts?: object | null): asserts node is ArgumentPlaceholder;
-declare function assertBindExpression(node: object | null | undefined, opts?: object | null): asserts node is BindExpression;
-declare function assertImportAttribute(node: object | null | undefined, opts?: object | null): asserts node is ImportAttribute;
-declare function assertDecorator(node: object | null | undefined, opts?: object | null): asserts node is Decorator;
-declare function assertDoExpression(node: object | null | undefined, opts?: object | null): asserts node is DoExpression;
-declare function assertExportDefaultSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ExportDefaultSpecifier;
-declare function assertRecordExpression(node: object | null | undefined, opts?: object | null): asserts node is RecordExpression;
-declare function assertTupleExpression(node: object | null | undefined, opts?: object | null): asserts node is TupleExpression;
-declare function assertDecimalLiteral(node: object | null | undefined, opts?: object | null): asserts node is DecimalLiteral;
-declare function assertModuleExpression(node: object | null | undefined, opts?: object | null): asserts node is ModuleExpression;
-declare function assertTopicReference(node: object | null | undefined, opts?: object | null): asserts node is TopicReference;
-declare function assertPipelineTopicExpression(node: object | null | undefined, opts?: object | null): asserts node is PipelineTopicExpression;
-declare function assertPipelineBareFunction(node: object | null | undefined, opts?: object | null): asserts node is PipelineBareFunction;
-declare function assertPipelinePrimaryTopicReference(node: object | null | undefined, opts?: object | null): asserts node is PipelinePrimaryTopicReference;
-declare function assertTSParameterProperty(node: object | null | undefined, opts?: object | null): asserts node is TSParameterProperty;
-declare function assertTSDeclareFunction(node: object | null | undefined, opts?: object | null): asserts node is TSDeclareFunction;
-declare function assertTSDeclareMethod(node: object | null | undefined, opts?: object | null): asserts node is TSDeclareMethod;
-declare function assertTSQualifiedName(node: object | null | undefined, opts?: object | null): asserts node is TSQualifiedName;
-declare function assertTSCallSignatureDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSCallSignatureDeclaration;
-declare function assertTSConstructSignatureDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSConstructSignatureDeclaration;
-declare function assertTSPropertySignature(node: object | null | undefined, opts?: object | null): asserts node is TSPropertySignature;
-declare function assertTSMethodSignature(node: object | null | undefined, opts?: object | null): asserts node is TSMethodSignature;
-declare function assertTSIndexSignature(node: object | null | undefined, opts?: object | null): asserts node is TSIndexSignature;
-declare function assertTSAnyKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSAnyKeyword;
-declare function assertTSBooleanKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSBooleanKeyword;
-declare function assertTSBigIntKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSBigIntKeyword;
-declare function assertTSIntrinsicKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSIntrinsicKeyword;
-declare function assertTSNeverKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSNeverKeyword;
-declare function assertTSNullKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSNullKeyword;
-declare function assertTSNumberKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSNumberKeyword;
-declare function assertTSObjectKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSObjectKeyword;
-declare function assertTSStringKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSStringKeyword;
-declare function assertTSSymbolKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSSymbolKeyword;
-declare function assertTSUndefinedKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSUndefinedKeyword;
-declare function assertTSUnknownKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSUnknownKeyword;
-declare function assertTSVoidKeyword(node: object | null | undefined, opts?: object | null): asserts node is TSVoidKeyword;
-declare function assertTSThisType(node: object | null | undefined, opts?: object | null): asserts node is TSThisType;
-declare function assertTSFunctionType(node: object | null | undefined, opts?: object | null): asserts node is TSFunctionType;
-declare function assertTSConstructorType(node: object | null | undefined, opts?: object | null): asserts node is TSConstructorType;
-declare function assertTSTypeReference(node: object | null | undefined, opts?: object | null): asserts node is TSTypeReference;
-declare function assertTSTypePredicate(node: object | null | undefined, opts?: object | null): asserts node is TSTypePredicate;
-declare function assertTSTypeQuery(node: object | null | undefined, opts?: object | null): asserts node is TSTypeQuery;
-declare function assertTSTypeLiteral(node: object | null | undefined, opts?: object | null): asserts node is TSTypeLiteral;
-declare function assertTSArrayType(node: object | null | undefined, opts?: object | null): asserts node is TSArrayType;
-declare function assertTSTupleType(node: object | null | undefined, opts?: object | null): asserts node is TSTupleType;
-declare function assertTSOptionalType(node: object | null | undefined, opts?: object | null): asserts node is TSOptionalType;
-declare function assertTSRestType(node: object | null | undefined, opts?: object | null): asserts node is TSRestType;
-declare function assertTSNamedTupleMember(node: object | null | undefined, opts?: object | null): asserts node is TSNamedTupleMember;
-declare function assertTSUnionType(node: object | null | undefined, opts?: object | null): asserts node is TSUnionType;
-declare function assertTSIntersectionType(node: object | null | undefined, opts?: object | null): asserts node is TSIntersectionType;
-declare function assertTSConditionalType(node: object | null | undefined, opts?: object | null): asserts node is TSConditionalType;
-declare function assertTSInferType(node: object | null | undefined, opts?: object | null): asserts node is TSInferType;
-declare function assertTSParenthesizedType(node: object | null | undefined, opts?: object | null): asserts node is TSParenthesizedType;
-declare function assertTSTypeOperator(node: object | null | undefined, opts?: object | null): asserts node is TSTypeOperator;
-declare function assertTSIndexedAccessType(node: object | null | undefined, opts?: object | null): asserts node is TSIndexedAccessType;
-declare function assertTSMappedType(node: object | null | undefined, opts?: object | null): asserts node is TSMappedType;
-declare function assertTSLiteralType(node: object | null | undefined, opts?: object | null): asserts node is TSLiteralType;
-declare function assertTSExpressionWithTypeArguments(node: object | null | undefined, opts?: object | null): asserts node is TSExpressionWithTypeArguments;
-declare function assertTSInterfaceDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSInterfaceDeclaration;
-declare function assertTSInterfaceBody(node: object | null | undefined, opts?: object | null): asserts node is TSInterfaceBody;
-declare function assertTSTypeAliasDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSTypeAliasDeclaration;
-declare function assertTSInstantiationExpression(node: object | null | undefined, opts?: object | null): asserts node is TSInstantiationExpression;
-declare function assertTSAsExpression(node: object | null | undefined, opts?: object | null): asserts node is TSAsExpression;
-declare function assertTSTypeAssertion(node: object | null | undefined, opts?: object | null): asserts node is TSTypeAssertion;
-declare function assertTSEnumDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSEnumDeclaration;
-declare function assertTSEnumMember(node: object | null | undefined, opts?: object | null): asserts node is TSEnumMember;
-declare function assertTSModuleDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSModuleDeclaration;
-declare function assertTSModuleBlock(node: object | null | undefined, opts?: object | null): asserts node is TSModuleBlock;
-declare function assertTSImportType(node: object | null | undefined, opts?: object | null): asserts node is TSImportType;
-declare function assertTSImportEqualsDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSImportEqualsDeclaration;
-declare function assertTSExternalModuleReference(node: object | null | undefined, opts?: object | null): asserts node is TSExternalModuleReference;
-declare function assertTSNonNullExpression(node: object | null | undefined, opts?: object | null): asserts node is TSNonNullExpression;
-declare function assertTSExportAssignment(node: object | null | undefined, opts?: object | null): asserts node is TSExportAssignment;
-declare function assertTSNamespaceExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSNamespaceExportDeclaration;
-declare function assertTSTypeAnnotation(node: object | null | undefined, opts?: object | null): asserts node is TSTypeAnnotation;
-declare function assertTSTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): asserts node is TSTypeParameterInstantiation;
-declare function assertTSTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): asserts node is TSTypeParameterDeclaration;
-declare function assertTSTypeParameter(node: object | null | undefined, opts?: object | null): asserts node is TSTypeParameter;
-declare function assertStandardized(node: object | null | undefined, opts?: object | null): asserts node is Standardized;
-declare function assertExpression(node: object | null | undefined, opts?: object | null): asserts node is Expression;
-declare function assertBinary(node: object | null | undefined, opts?: object | null): asserts node is Binary;
-declare function assertScopable(node: object | null | undefined, opts?: object | null): asserts node is Scopable;
-declare function assertBlockParent(node: object | null | undefined, opts?: object | null): asserts node is BlockParent;
-declare function assertBlock(node: object | null | undefined, opts?: object | null): asserts node is Block;
-declare function assertStatement(node: object | null | undefined, opts?: object | null): asserts node is Statement;
-declare function assertTerminatorless(node: object | null | undefined, opts?: object | null): asserts node is Terminatorless;
-declare function assertCompletionStatement(node: object | null | undefined, opts?: object | null): asserts node is CompletionStatement;
-declare function assertConditional(node: object | null | undefined, opts?: object | null): asserts node is Conditional;
-declare function assertLoop(node: object | null | undefined, opts?: object | null): asserts node is Loop;
-declare function assertWhile(node: object | null | undefined, opts?: object | null): asserts node is While;
-declare function assertExpressionWrapper(node: object | null | undefined, opts?: object | null): asserts node is ExpressionWrapper;
-declare function assertFor(node: object | null | undefined, opts?: object | null): asserts node is For;
-declare function assertForXStatement(node: object | null | undefined, opts?: object | null): asserts node is ForXStatement;
-declare function assertFunction(node: object | null | undefined, opts?: object | null): asserts node is Function;
-declare function assertFunctionParent(node: object | null | undefined, opts?: object | null): asserts node is FunctionParent;
-declare function assertPureish(node: object | null | undefined, opts?: object | null): asserts node is Pureish;
-declare function assertDeclaration(node: object | null | undefined, opts?: object | null): asserts node is Declaration;
-declare function assertPatternLike(node: object | null | undefined, opts?: object | null): asserts node is PatternLike;
-declare function assertLVal(node: object | null | undefined, opts?: object | null): asserts node is LVal;
-declare function assertTSEntityName(node: object | null | undefined, opts?: object | null): asserts node is TSEntityName;
-declare function assertLiteral(node: object | null | undefined, opts?: object | null): asserts node is Literal;
-declare function assertImmutable(node: object | null | undefined, opts?: object | null): asserts node is Immutable;
-declare function assertUserWhitespacable(node: object | null | undefined, opts?: object | null): asserts node is UserWhitespacable;
-declare function assertMethod(node: object | null | undefined, opts?: object | null): asserts node is Method;
-declare function assertObjectMember(node: object | null | undefined, opts?: object | null): asserts node is ObjectMember;
-declare function assertProperty(node: object | null | undefined, opts?: object | null): asserts node is Property;
-declare function assertUnaryLike(node: object | null | undefined, opts?: object | null): asserts node is UnaryLike;
-declare function assertPattern(node: object | null | undefined, opts?: object | null): asserts node is Pattern;
-declare function assertClass(node: object | null | undefined, opts?: object | null): asserts node is Class;
-declare function assertModuleDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ModuleDeclaration;
-declare function assertExportDeclaration(node: object | null | undefined, opts?: object | null): asserts node is ExportDeclaration;
-declare function assertModuleSpecifier(node: object | null | undefined, opts?: object | null): asserts node is ModuleSpecifier;
-declare function assertAccessor(node: object | null | undefined, opts?: object | null): asserts node is Accessor;
-declare function assertPrivate(node: object | null | undefined, opts?: object | null): asserts node is Private;
-declare function assertFlow(node: object | null | undefined, opts?: object | null): asserts node is Flow;
-declare function assertFlowType(node: object | null | undefined, opts?: object | null): asserts node is FlowType;
-declare function assertFlowBaseAnnotation(node: object | null | undefined, opts?: object | null): asserts node is FlowBaseAnnotation;
-declare function assertFlowDeclaration(node: object | null | undefined, opts?: object | null): asserts node is FlowDeclaration;
-declare function assertFlowPredicate(node: object | null | undefined, opts?: object | null): asserts node is FlowPredicate;
-declare function assertEnumBody(node: object | null | undefined, opts?: object | null): asserts node is EnumBody;
-declare function assertEnumMember(node: object | null | undefined, opts?: object | null): asserts node is EnumMember;
-declare function assertJSX(node: object | null | undefined, opts?: object | null): asserts node is JSX;
-declare function assertMiscellaneous(node: object | null | undefined, opts?: object | null): asserts node is Miscellaneous;
-declare function assertTypeScript(node: object | null | undefined, opts?: object | null): asserts node is TypeScript;
-declare function assertTSTypeElement(node: object | null | undefined, opts?: object | null): asserts node is TSTypeElement;
-declare function assertTSType(node: object | null | undefined, opts?: object | null): asserts node is TSType;
-declare function assertTSBaseType(node: object | null | undefined, opts?: object | null): asserts node is TSBaseType;
-declare function assertNumberLiteral(node: any, opts: any): void;
-declare function assertRegexLiteral(node: any, opts: any): void;
-declare function assertRestProperty(node: any, opts: any): void;
-declare function assertSpreadProperty(node: any, opts: any): void;
-
-declare const _default$4: {
- (type: "string"): StringTypeAnnotation;
- (type: "number"): NumberTypeAnnotation;
- (type: "undefined"): VoidTypeAnnotation;
- (type: "boolean"): BooleanTypeAnnotation;
- (type: "function"): GenericTypeAnnotation;
- (type: "object"): GenericTypeAnnotation;
- (type: "symbol"): GenericTypeAnnotation;
- (type: "bigint"): AnyTypeAnnotation;
-};
-//# sourceMappingURL=createTypeAnnotationBasedOnTypeof.d.ts.map
-
-/**
- * Takes an array of `types` and flattens them, removing duplicates and
- * returns a `UnionTypeAnnotation` node containing them.
- */
-declare function createFlowUnionType<T extends FlowType>(types: [T] | Array<T>): T | UnionTypeAnnotation;
-
-/**
- * Takes an array of `types` and flattens them, removing duplicates and
- * returns a `UnionTypeAnnotation` node containing them.
- */
-declare function createTSUnionType(typeAnnotations: Array<TSTypeAnnotation | TSType>): TSType;
-
-declare function arrayExpression(elements?: Array<null | Expression | SpreadElement>): ArrayExpression;
-declare function assignmentExpression(operator: string, left: LVal, right: Expression): AssignmentExpression;
-declare function binaryExpression(operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>", left: Expression | PrivateName, right: Expression): BinaryExpression;
-declare function interpreterDirective(value: string): InterpreterDirective;
-declare function directive(value: DirectiveLiteral): Directive;
-declare function directiveLiteral(value: string): DirectiveLiteral;
-declare function blockStatement(body: Array<Statement>, directives?: Array<Directive>): BlockStatement;
-declare function breakStatement(label?: Identifier | null): BreakStatement;
-declare function callExpression(callee: Expression | Super | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>): CallExpression;
-declare function catchClause(param: Identifier | ArrayPattern | ObjectPattern | null | undefined, body: BlockStatement): CatchClause;
-declare function conditionalExpression(test: Expression, consequent: Expression, alternate: Expression): ConditionalExpression;
-declare function continueStatement(label?: Identifier | null): ContinueStatement;
-declare function debuggerStatement(): DebuggerStatement;
-declare function doWhileStatement(test: Expression, body: Statement): DoWhileStatement;
-declare function emptyStatement(): EmptyStatement;
-declare function expressionStatement(expression: Expression): ExpressionStatement;
-declare function file(program: Program, comments?: Array<CommentBlock | CommentLine> | null, tokens?: Array<any> | null): File;
-declare function forInStatement(left: VariableDeclaration | LVal, right: Expression, body: Statement): ForInStatement;
-declare function forStatement(init: VariableDeclaration | Expression | null | undefined, test: Expression | null | undefined, update: Expression | null | undefined, body: Statement): ForStatement;
-declare function functionDeclaration(id: Identifier | null | undefined, params: Array<Identifier | Pattern | RestElement>, body: BlockStatement, generator?: boolean, async?: boolean): FunctionDeclaration;
-declare function functionExpression(id: Identifier | null | undefined, params: Array<Identifier | Pattern | RestElement>, body: BlockStatement, generator?: boolean, async?: boolean): FunctionExpression;
-declare function identifier(name: string): Identifier;
-declare function ifStatement(test: Expression, consequent: Statement, alternate?: Statement | null): IfStatement;
-declare function labeledStatement(label: Identifier, body: Statement): LabeledStatement;
-declare function stringLiteral(value: string): StringLiteral;
-declare function numericLiteral(value: number): NumericLiteral;
-declare function nullLiteral(): NullLiteral;
-declare function booleanLiteral(value: boolean): BooleanLiteral;
-declare function regExpLiteral(pattern: string, flags?: string): RegExpLiteral;
-declare function logicalExpression(operator: "||" | "&&" | "??", left: Expression, right: Expression): LogicalExpression;
-declare function memberExpression(object: Expression | Super, property: Expression | Identifier | PrivateName, computed?: boolean, optional?: true | false | null): MemberExpression;
-declare function newExpression(callee: Expression | Super | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>): NewExpression;
-declare function program(body: Array<Statement>, directives?: Array<Directive>, sourceType?: "script" | "module", interpreter?: InterpreterDirective | null): Program;
-declare function objectExpression(properties: Array<ObjectMethod | ObjectProperty | SpreadElement>): ObjectExpression;
-declare function objectMethod(kind: "method" | "get" | "set" | undefined, key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral, params: Array<Identifier | Pattern | RestElement>, body: BlockStatement, computed?: boolean, generator?: boolean, async?: boolean): ObjectMethod;
-declare function objectProperty(key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral | DecimalLiteral | PrivateName, value: Expression | PatternLike, computed?: boolean, shorthand?: boolean, decorators?: Array<Decorator> | null): ObjectProperty;
-declare function restElement(argument: LVal): RestElement;
-declare function returnStatement(argument?: Expression | null): ReturnStatement;
-declare function sequenceExpression(expressions: Array<Expression>): SequenceExpression;
-declare function parenthesizedExpression(expression: Expression): ParenthesizedExpression;
-declare function switchCase(test: Expression | null | undefined, consequent: Array<Statement>): SwitchCase;
-declare function switchStatement(discriminant: Expression, cases: Array<SwitchCase>): SwitchStatement;
-declare function thisExpression(): ThisExpression;
-declare function throwStatement(argument: Expression): ThrowStatement;
-declare function tryStatement(block: BlockStatement, handler?: CatchClause | null, finalizer?: BlockStatement | null): TryStatement;
-declare function unaryExpression(operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof", argument: Expression, prefix?: boolean): UnaryExpression;
-declare function updateExpression(operator: "++" | "--", argument: Expression, prefix?: boolean): UpdateExpression;
-declare function variableDeclaration(kind: "var" | "let" | "const", declarations: Array<VariableDeclarator>): VariableDeclaration;
-declare function variableDeclarator(id: LVal, init?: Expression | null): VariableDeclarator;
-declare function whileStatement(test: Expression, body: Statement): WhileStatement;
-declare function withStatement(object: Expression, body: Statement): WithStatement;
-declare function assignmentPattern(left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSTypeAssertion | TSNonNullExpression, right: Expression): AssignmentPattern;
-declare function arrayPattern(elements: Array<null | PatternLike | LVal>): ArrayPattern;
-declare function arrowFunctionExpression(params: Array<Identifier | Pattern | RestElement>, body: BlockStatement | Expression, async?: boolean): ArrowFunctionExpression;
-declare function classBody(body: Array<ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | ClassAccessorProperty | TSDeclareMethod | TSIndexSignature | StaticBlock>): ClassBody;
-declare function classExpression(id: Identifier | null | undefined, superClass: Expression | null | undefined, body: ClassBody, decorators?: Array<Decorator> | null): ClassExpression;
-declare function classDeclaration(id: Identifier, superClass: Expression | null | undefined, body: ClassBody, decorators?: Array<Decorator> | null): ClassDeclaration;
-declare function exportAllDeclaration(source: StringLiteral): ExportAllDeclaration;
-declare function exportDefaultDeclaration(declaration: TSDeclareFunction | FunctionDeclaration | ClassDeclaration | Expression): ExportDefaultDeclaration;
-declare function exportNamedDeclaration(declaration?: Declaration | null, specifiers?: Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier>, source?: StringLiteral | null): ExportNamedDeclaration;
-declare function exportSpecifier(local: Identifier, exported: Identifier | StringLiteral): ExportSpecifier;
-declare function forOfStatement(left: VariableDeclaration | LVal, right: Expression, body: Statement, _await?: boolean): ForOfStatement;
-declare function importDeclaration(specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>, source: StringLiteral): ImportDeclaration;
-declare function importDefaultSpecifier(local: Identifier): ImportDefaultSpecifier;
-declare function importNamespaceSpecifier(local: Identifier): ImportNamespaceSpecifier;
-declare function importSpecifier(local: Identifier, imported: Identifier | StringLiteral): ImportSpecifier;
-declare function metaProperty(meta: Identifier, property: Identifier): MetaProperty;
-declare function classMethod(kind: "get" | "set" | "method" | "constructor" | undefined, key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, computed?: boolean, _static?: boolean, generator?: boolean, async?: boolean): ClassMethod;
-declare function objectPattern(properties: Array<RestElement | ObjectProperty>): ObjectPattern;
-declare function spreadElement(argument: Expression): SpreadElement;
-declare function _super(): Super;
-
-declare function taggedTemplateExpression(tag: Expression, quasi: TemplateLiteral): TaggedTemplateExpression;
-declare function templateElement(value: {
- raw: string;
- cooked?: string;
-}, tail?: boolean): TemplateElement;
-declare function templateLiteral(quasis: Array<TemplateElement>, expressions: Array<Expression | TSType>): TemplateLiteral;
-declare function yieldExpression(argument?: Expression | null, delegate?: boolean): YieldExpression;
-declare function awaitExpression(argument: Expression): AwaitExpression;
-declare function _import(): Import;
-
-declare function bigIntLiteral(value: string): BigIntLiteral;
-declare function exportNamespaceSpecifier(exported: Identifier): ExportNamespaceSpecifier;
-declare function optionalMemberExpression(object: Expression, property: Expression | Identifier, computed: boolean | undefined, optional: boolean): OptionalMemberExpression;
-declare function optionalCallExpression(callee: Expression, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>, optional: boolean): OptionalCallExpression;
-declare function classProperty(key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression, value?: Expression | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null, decorators?: Array<Decorator> | null, computed?: boolean, _static?: boolean): ClassProperty;
-declare function classAccessorProperty(key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression | PrivateName, value?: Expression | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null, decorators?: Array<Decorator> | null, computed?: boolean, _static?: boolean): ClassAccessorProperty;
-declare function classPrivateProperty(key: PrivateName, value?: Expression | null, decorators?: Array<Decorator> | null, _static?: boolean): ClassPrivateProperty;
-declare function classPrivateMethod(kind: "get" | "set" | "method" | undefined, key: PrivateName, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, _static?: boolean): ClassPrivateMethod;
-declare function privateName(id: Identifier): PrivateName;
-declare function staticBlock(body: Array<Statement>): StaticBlock;
-declare function anyTypeAnnotation(): AnyTypeAnnotation;
-declare function arrayTypeAnnotation(elementType: FlowType): ArrayTypeAnnotation;
-declare function booleanTypeAnnotation(): BooleanTypeAnnotation;
-declare function booleanLiteralTypeAnnotation(value: boolean): BooleanLiteralTypeAnnotation;
-declare function nullLiteralTypeAnnotation(): NullLiteralTypeAnnotation;
-declare function classImplements(id: Identifier, typeParameters?: TypeParameterInstantiation | null): ClassImplements;
-declare function declareClass(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, _extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation): DeclareClass;
-declare function declareFunction(id: Identifier): DeclareFunction;
-declare function declareInterface(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, _extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation): DeclareInterface;
-declare function declareModule(id: Identifier | StringLiteral, body: BlockStatement, kind?: "CommonJS" | "ES" | null): DeclareModule;
-declare function declareModuleExports(typeAnnotation: TypeAnnotation): DeclareModuleExports;
-declare function declareTypeAlias(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, right: FlowType): DeclareTypeAlias;
-declare function declareOpaqueType(id: Identifier, typeParameters?: TypeParameterDeclaration | null, supertype?: FlowType | null): DeclareOpaqueType;
-declare function declareVariable(id: Identifier): DeclareVariable;
-declare function declareExportDeclaration(declaration?: Flow | null, specifiers?: Array<ExportSpecifier | ExportNamespaceSpecifier> | null, source?: StringLiteral | null): DeclareExportDeclaration;
-declare function declareExportAllDeclaration(source: StringLiteral): DeclareExportAllDeclaration;
-declare function declaredPredicate(value: Flow): DeclaredPredicate;
-declare function existsTypeAnnotation(): ExistsTypeAnnotation;
-declare function functionTypeAnnotation(typeParameters: TypeParameterDeclaration | null | undefined, params: Array<FunctionTypeParam>, rest: FunctionTypeParam | null | undefined, returnType: FlowType): FunctionTypeAnnotation;
-declare function functionTypeParam(name: Identifier | null | undefined, typeAnnotation: FlowType): FunctionTypeParam;
-declare function genericTypeAnnotation(id: Identifier | QualifiedTypeIdentifier, typeParameters?: TypeParameterInstantiation | null): GenericTypeAnnotation;
-declare function inferredPredicate(): InferredPredicate;
-declare function interfaceExtends(id: Identifier | QualifiedTypeIdentifier, typeParameters?: TypeParameterInstantiation | null): InterfaceExtends;
-declare function interfaceDeclaration(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, _extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation): InterfaceDeclaration;
-declare function interfaceTypeAnnotation(_extends: Array<InterfaceExtends> | null | undefined, body: ObjectTypeAnnotation): InterfaceTypeAnnotation;
-declare function intersectionTypeAnnotation(types: Array<FlowType>): IntersectionTypeAnnotation;
-declare function mixedTypeAnnotation(): MixedTypeAnnotation;
-declare function emptyTypeAnnotation(): EmptyTypeAnnotation;
-declare function nullableTypeAnnotation(typeAnnotation: FlowType): NullableTypeAnnotation;
-declare function numberLiteralTypeAnnotation(value: number): NumberLiteralTypeAnnotation;
-declare function numberTypeAnnotation(): NumberTypeAnnotation;
-declare function objectTypeAnnotation(properties: Array<ObjectTypeProperty | ObjectTypeSpreadProperty>, indexers?: Array<ObjectTypeIndexer>, callProperties?: Array<ObjectTypeCallProperty>, internalSlots?: Array<ObjectTypeInternalSlot>, exact?: boolean): ObjectTypeAnnotation;
-declare function objectTypeInternalSlot(id: Identifier, value: FlowType, optional: boolean, _static: boolean, method: boolean): ObjectTypeInternalSlot;
-declare function objectTypeCallProperty(value: FlowType): ObjectTypeCallProperty;
-declare function objectTypeIndexer(id: Identifier | null | undefined, key: FlowType, value: FlowType, variance?: Variance | null): ObjectTypeIndexer;
-declare function objectTypeProperty(key: Identifier | StringLiteral, value: FlowType, variance?: Variance | null): ObjectTypeProperty;
-declare function objectTypeSpreadProperty(argument: FlowType): ObjectTypeSpreadProperty;
-declare function opaqueType(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, supertype: FlowType | null | undefined, impltype: FlowType): OpaqueType;
-declare function qualifiedTypeIdentifier(id: Identifier, qualification: Identifier | QualifiedTypeIdentifier): QualifiedTypeIdentifier;
-declare function stringLiteralTypeAnnotation(value: string): StringLiteralTypeAnnotation;
-declare function stringTypeAnnotation(): StringTypeAnnotation;
-declare function symbolTypeAnnotation(): SymbolTypeAnnotation;
-declare function thisTypeAnnotation(): ThisTypeAnnotation;
-declare function tupleTypeAnnotation(types: Array<FlowType>): TupleTypeAnnotation;
-declare function typeofTypeAnnotation(argument: FlowType): TypeofTypeAnnotation;
-declare function typeAlias(id: Identifier, typeParameters: TypeParameterDeclaration | null | undefined, right: FlowType): TypeAlias;
-declare function typeAnnotation(typeAnnotation: FlowType): TypeAnnotation;
-declare function typeCastExpression(expression: Expression, typeAnnotation: TypeAnnotation): TypeCastExpression;
-declare function typeParameter(bound?: TypeAnnotation | null, _default?: FlowType | null, variance?: Variance | null): TypeParameter;
-declare function typeParameterDeclaration(params: Array<TypeParameter>): TypeParameterDeclaration;
-declare function typeParameterInstantiation(params: Array<FlowType>): TypeParameterInstantiation;
-declare function unionTypeAnnotation(types: Array<FlowType>): UnionTypeAnnotation;
-declare function variance(kind: "minus" | "plus"): Variance;
-declare function voidTypeAnnotation(): VoidTypeAnnotation;
-declare function enumDeclaration(id: Identifier, body: EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody): EnumDeclaration;
-declare function enumBooleanBody(members: Array<EnumBooleanMember>): EnumBooleanBody;
-declare function enumNumberBody(members: Array<EnumNumberMember>): EnumNumberBody;
-declare function enumStringBody(members: Array<EnumStringMember | EnumDefaultedMember>): EnumStringBody;
-declare function enumSymbolBody(members: Array<EnumDefaultedMember>): EnumSymbolBody;
-declare function enumBooleanMember(id: Identifier): EnumBooleanMember;
-declare function enumNumberMember(id: Identifier, init: NumericLiteral): EnumNumberMember;
-declare function enumStringMember(id: Identifier, init: StringLiteral): EnumStringMember;
-declare function enumDefaultedMember(id: Identifier): EnumDefaultedMember;
-declare function indexedAccessType(objectType: FlowType, indexType: FlowType): IndexedAccessType;
-declare function optionalIndexedAccessType(objectType: FlowType, indexType: FlowType): OptionalIndexedAccessType;
-declare function jsxAttribute(name: JSXIdentifier | JSXNamespacedName, value?: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer | null): JSXAttribute;
-
-declare function jsxClosingElement(name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName): JSXClosingElement;
-
-declare function jsxElement(openingElement: JSXOpeningElement, closingElement: JSXClosingElement | null | undefined, children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>, selfClosing?: boolean | null): JSXElement;
-
-declare function jsxEmptyExpression(): JSXEmptyExpression;
-
-declare function jsxExpressionContainer(expression: Expression | JSXEmptyExpression): JSXExpressionContainer;
-
-declare function jsxSpreadChild(expression: Expression): JSXSpreadChild;
-
-declare function jsxIdentifier(name: string): JSXIdentifier;
-
-declare function jsxMemberExpression(object: JSXMemberExpression | JSXIdentifier, property: JSXIdentifier): JSXMemberExpression;
-
-declare function jsxNamespacedName(namespace: JSXIdentifier, name: JSXIdentifier): JSXNamespacedName;
-
-declare function jsxOpeningElement(name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName, attributes: Array<JSXAttribute | JSXSpreadAttribute>, selfClosing?: boolean): JSXOpeningElement;
-
-declare function jsxSpreadAttribute(argument: Expression): JSXSpreadAttribute;
-
-declare function jsxText(value: string): JSXText;
-
-declare function jsxFragment(openingFragment: JSXOpeningFragment, closingFragment: JSXClosingFragment, children: Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment>): JSXFragment;
-
-declare function jsxOpeningFragment(): JSXOpeningFragment;
-
-declare function jsxClosingFragment(): JSXClosingFragment;
-
-declare function noop(): Noop;
-declare function placeholder(expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern", name: Identifier): Placeholder;
-declare function v8IntrinsicIdentifier(name: string): V8IntrinsicIdentifier;
-declare function argumentPlaceholder(): ArgumentPlaceholder;
-declare function bindExpression(object: Expression, callee: Expression): BindExpression;
-declare function importAttribute(key: Identifier | StringLiteral, value: StringLiteral): ImportAttribute;
-declare function decorator(expression: Expression): Decorator;
-declare function doExpression(body: BlockStatement, async?: boolean): DoExpression;
-declare function exportDefaultSpecifier(exported: Identifier): ExportDefaultSpecifier;
-declare function recordExpression(properties: Array<ObjectProperty | SpreadElement>): RecordExpression;
-declare function tupleExpression(elements?: Array<Expression | SpreadElement>): TupleExpression;
-declare function decimalLiteral(value: string): DecimalLiteral;
-declare function moduleExpression(body: Program): ModuleExpression;
-declare function topicReference(): TopicReference;
-declare function pipelineTopicExpression(expression: Expression): PipelineTopicExpression;
-declare function pipelineBareFunction(callee: Expression): PipelineBareFunction;
-declare function pipelinePrimaryTopicReference(): PipelinePrimaryTopicReference;
-declare function tsParameterProperty(parameter: Identifier | AssignmentPattern): TSParameterProperty;
-
-declare function tsDeclareFunction(id: Identifier | null | undefined, typeParameters: TSTypeParameterDeclaration | Noop | null | undefined, params: Array<Identifier | Pattern | RestElement>, returnType?: TSTypeAnnotation | Noop | null): TSDeclareFunction;
-
-declare function tsDeclareMethod(decorators: Array<Decorator> | null | undefined, key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression, typeParameters: TSTypeParameterDeclaration | Noop | null | undefined, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, returnType?: TSTypeAnnotation | Noop | null): TSDeclareMethod;
-
-declare function tsQualifiedName(left: TSEntityName, right: Identifier): TSQualifiedName;
-
-declare function tsCallSignatureDeclaration(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSCallSignatureDeclaration;
-
-declare function tsConstructSignatureDeclaration(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSConstructSignatureDeclaration;
-
-declare function tsPropertySignature(key: Expression, typeAnnotation?: TSTypeAnnotation | null, initializer?: Expression | null): TSPropertySignature;
-
-declare function tsMethodSignature(key: Expression, typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSMethodSignature;
-
-declare function tsIndexSignature(parameters: Array<Identifier>, typeAnnotation?: TSTypeAnnotation | null): TSIndexSignature;
-
-declare function tsAnyKeyword(): TSAnyKeyword;
-
-declare function tsBooleanKeyword(): TSBooleanKeyword;
-
-declare function tsBigIntKeyword(): TSBigIntKeyword;
-
-declare function tsIntrinsicKeyword(): TSIntrinsicKeyword;
-
-declare function tsNeverKeyword(): TSNeverKeyword;
-
-declare function tsNullKeyword(): TSNullKeyword;
-
-declare function tsNumberKeyword(): TSNumberKeyword;
-
-declare function tsObjectKeyword(): TSObjectKeyword;
-
-declare function tsStringKeyword(): TSStringKeyword;
-
-declare function tsSymbolKeyword(): TSSymbolKeyword;
-
-declare function tsUndefinedKeyword(): TSUndefinedKeyword;
-
-declare function tsUnknownKeyword(): TSUnknownKeyword;
-
-declare function tsVoidKeyword(): TSVoidKeyword;
-
-declare function tsThisType(): TSThisType;
-
-declare function tsFunctionType(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSFunctionType;
-
-declare function tsConstructorType(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSConstructorType;
-
-declare function tsTypeReference(typeName: TSEntityName, typeParameters?: TSTypeParameterInstantiation | null): TSTypeReference;
-
-declare function tsTypePredicate(parameterName: Identifier | TSThisType, typeAnnotation?: TSTypeAnnotation | null, asserts?: boolean | null): TSTypePredicate;
-
-declare function tsTypeQuery(exprName: TSEntityName | TSImportType, typeParameters?: TSTypeParameterInstantiation | null): TSTypeQuery;
-
-declare function tsTypeLiteral(members: Array<TSTypeElement>): TSTypeLiteral;
-
-declare function tsArrayType(elementType: TSType): TSArrayType;
-
-declare function tsTupleType(elementTypes: Array<TSType | TSNamedTupleMember>): TSTupleType;
-
-declare function tsOptionalType(typeAnnotation: TSType): TSOptionalType;
-
-declare function tsRestType(typeAnnotation: TSType): TSRestType;
-
-declare function tsNamedTupleMember(label: Identifier, elementType: TSType, optional?: boolean): TSNamedTupleMember;
-
-declare function tsUnionType(types: Array<TSType>): TSUnionType;
-
-declare function tsIntersectionType(types: Array<TSType>): TSIntersectionType;
-
-declare function tsConditionalType(checkType: TSType, extendsType: TSType, trueType: TSType, falseType: TSType): TSConditionalType;
-
-declare function tsInferType(typeParameter: TSTypeParameter): TSInferType;
-
-declare function tsParenthesizedType(typeAnnotation: TSType): TSParenthesizedType;
-
-declare function tsTypeOperator(typeAnnotation: TSType): TSTypeOperator;
-
-declare function tsIndexedAccessType(objectType: TSType, indexType: TSType): TSIndexedAccessType;
-
-declare function tsMappedType(typeParameter: TSTypeParameter, typeAnnotation?: TSType | null, nameType?: TSType | null): TSMappedType;
-
-declare function tsLiteralType(literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | TemplateLiteral | UnaryExpression): TSLiteralType;
-
-declare function tsExpressionWithTypeArguments(expression: TSEntityName, typeParameters?: TSTypeParameterInstantiation | null): TSExpressionWithTypeArguments;
-
-declare function tsInterfaceDeclaration(id: Identifier, typeParameters: TSTypeParameterDeclaration | null | undefined, _extends: Array<TSExpressionWithTypeArguments> | null | undefined, body: TSInterfaceBody): TSInterfaceDeclaration;
-
-declare function tsInterfaceBody(body: Array<TSTypeElement>): TSInterfaceBody;
-
-declare function tsTypeAliasDeclaration(id: Identifier, typeParameters: TSTypeParameterDeclaration | null | undefined, typeAnnotation: TSType): TSTypeAliasDeclaration;
-
-declare function tsInstantiationExpression(expression: Expression, typeParameters?: TSTypeParameterInstantiation | null): TSInstantiationExpression;
-
-declare function tsAsExpression(expression: Expression, typeAnnotation: TSType): TSAsExpression;
-
-declare function tsTypeAssertion(typeAnnotation: TSType, expression: Expression): TSTypeAssertion;
-
-declare function tsEnumDeclaration(id: Identifier, members: Array<TSEnumMember>): TSEnumDeclaration;
-
-declare function tsEnumMember(id: Identifier | StringLiteral, initializer?: Expression | null): TSEnumMember;
-
-declare function tsModuleDeclaration(id: Identifier | StringLiteral, body: TSModuleBlock | TSModuleDeclaration): TSModuleDeclaration;
-
-declare function tsModuleBlock(body: Array<Statement>): TSModuleBlock;
-
-declare function tsImportType(argument: StringLiteral, qualifier?: TSEntityName | null, typeParameters?: TSTypeParameterInstantiation | null): TSImportType;
-
-declare function tsImportEqualsDeclaration(id: Identifier, moduleReference: TSEntityName | TSExternalModuleReference): TSImportEqualsDeclaration;
-
-declare function tsExternalModuleReference(expression: StringLiteral): TSExternalModuleReference;
-
-declare function tsNonNullExpression(expression: Expression): TSNonNullExpression;
-
-declare function tsExportAssignment(expression: Expression): TSExportAssignment;
-
-declare function tsNamespaceExportDeclaration(id: Identifier): TSNamespaceExportDeclaration;
-
-declare function tsTypeAnnotation(typeAnnotation: TSType): TSTypeAnnotation;
-
-declare function tsTypeParameterInstantiation(params: Array<TSType>): TSTypeParameterInstantiation;
-
-declare function tsTypeParameterDeclaration(params: Array<TSTypeParameter>): TSTypeParameterDeclaration;
-
-declare function tsTypeParameter(constraint: TSType | null | undefined, _default: TSType | null | undefined, name: string): TSTypeParameter;
-
-/** @deprecated */
-declare function NumberLiteral(value: number): NumericLiteral;
-
-/** @deprecated */
-declare function RegexLiteral(pattern: string, flags?: string): RegExpLiteral;
-
-/** @deprecated */
-declare function RestProperty(argument: LVal): RestElement;
-
-/** @deprecated */
-declare function SpreadProperty(argument: Expression): SpreadElement;
-
-/**
- * Create a clone of a `node` including only properties belonging to the node.
- * If the second parameter is `false`, cloneNode performs a shallow clone.
- * If the third parameter is true, the cloned nodes exclude location properties.
- */
-declare function cloneNode<T extends Node>(node: T, deep?: boolean, withoutLoc?: boolean): T;
-
-/**
- * Create a shallow clone of a `node`, including only
- * properties belonging to the node.
- * @deprecated Use t.cloneNode instead.
- */
-declare function clone<T extends Node>(node: T): T;
-
-/**
- * Create a deep clone of a `node` and all of it's child nodes
- * including only properties belonging to the node.
- * @deprecated Use t.cloneNode instead.
- */
-declare function cloneDeep<T extends Node>(node: T): T;
-
-/**
- * Create a deep clone of a `node` and all of it's child nodes
- * including only properties belonging to the node.
- * excluding `_private` and location properties.
- */
-declare function cloneDeepWithoutLoc<T extends Node>(node: T): T;
-
-/**
- * Create a shallow clone of a `node` excluding `_private` and location properties.
- */
-declare function cloneWithoutLoc<T extends Node>(node: T): T;
-
-/**
- * Add comment of certain type to a node.
- */
-declare function addComment<T extends Node>(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T;
-
-/**
- * Add comments of certain type to a node.
- */
-declare function addComments<T extends Node>(node: T, type: CommentTypeShorthand, comments: Array<Comment>): T;
-
-declare function inheritInnerComments(child: Node, parent: Node): void;
-
-declare function inheritLeadingComments(child: Node, parent: Node): void;
-
-/**
- * Inherit all unique comments from `parent` node to `child` node.
- */
-declare function inheritsComments<T extends Node>(child: T, parent: Node): T;
-
-declare function inheritTrailingComments(child: Node, parent: Node): void;
-
-/**
- * Remove comment properties from a node.
- */
-declare function removeComments<T extends Node>(node: T): T;
-
-declare const STANDARDIZED_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const EXPRESSION_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const BINARY_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const SCOPABLE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const BLOCKPARENT_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const BLOCK_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const STATEMENT_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const TERMINATORLESS_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const COMPLETIONSTATEMENT_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const CONDITIONAL_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const LOOP_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const WHILE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const EXPRESSIONWRAPPER_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const FOR_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const FORXSTATEMENT_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const FUNCTION_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const FUNCTIONPARENT_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const PUREISH_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const DECLARATION_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const PATTERNLIKE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const LVAL_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const TSENTITYNAME_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const LITERAL_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const IMMUTABLE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const USERWHITESPACABLE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const METHOD_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const OBJECTMEMBER_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const PROPERTY_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const UNARYLIKE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const PATTERN_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const CLASS_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const MODULEDECLARATION_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const EXPORTDECLARATION_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const MODULESPECIFIER_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const ACCESSOR_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const PRIVATE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const FLOW_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const FLOWTYPE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const FLOWBASEANNOTATION_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const FLOWDECLARATION_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const FLOWPREDICATE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const ENUMBODY_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const ENUMMEMBER_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const JSX_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const MISCELLANEOUS_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const TYPESCRIPT_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const TSTYPEELEMENT_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const TSTYPE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-declare const TSBASETYPE_TYPES: ("ArrayExpression" | "AnyTypeAnnotation" | "ArgumentPlaceholder" | "ArrayPattern" | "ArrayTypeAnnotation" | "ArrowFunctionExpression" | "AssignmentExpression" | "AssignmentPattern" | "AwaitExpression" | "BigIntLiteral" | "BinaryExpression" | "BindExpression" | "BlockStatement" | "BooleanLiteral" | "BooleanLiteralTypeAnnotation" | "BooleanTypeAnnotation" | "BreakStatement" | "CallExpression" | "CatchClause" | "ClassAccessorProperty" | "ClassBody" | "ClassDeclaration" | "ClassExpression" | "ClassImplements" | "ClassMethod" | "ClassPrivateMethod" | "ClassPrivateProperty" | "ClassProperty" | "ConditionalExpression" | "ContinueStatement" | "DebuggerStatement" | "DecimalLiteral" | "DeclareClass" | "DeclareExportAllDeclaration" | "DeclareExportDeclaration" | "DeclareFunction" | "DeclareInterface" | "DeclareModule" | "DeclareModuleExports" | "DeclareOpaqueType" | "DeclareTypeAlias" | "DeclareVariable" | "DeclaredPredicate" | "Decorator" | "Directive" | "DirectiveLiteral" | "DoExpression" | "DoWhileStatement" | "EmptyStatement" | "EmptyTypeAnnotation" | "EnumBooleanBody" | "EnumBooleanMember" | "EnumDeclaration" | "EnumDefaultedMember" | "EnumNumberBody" | "EnumNumberMember" | "EnumStringBody" | "EnumStringMember" | "EnumSymbolBody" | "ExistsTypeAnnotation" | "ExportAllDeclaration" | "ExportDefaultDeclaration" | "ExportDefaultSpecifier" | "ExportNamedDeclaration" | "ExportNamespaceSpecifier" | "ExportSpecifier" | "ExpressionStatement" | "File" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "FunctionExpression" | "FunctionTypeAnnotation" | "FunctionTypeParam" | "GenericTypeAnnotation" | "Identifier" | "IfStatement" | "Import" | "ImportAttribute" | "ImportDeclaration" | "ImportDefaultSpecifier" | "ImportNamespaceSpecifier" | "ImportSpecifier" | "IndexedAccessType" | "InferredPredicate" | "InterfaceDeclaration" | "InterfaceExtends" | "InterfaceTypeAnnotation" | "InterpreterDirective" | "IntersectionTypeAnnotation" | "JSXAttribute" | "JSXClosingElement" | "JSXClosingFragment" | "JSXElement" | "JSXEmptyExpression" | "JSXExpressionContainer" | "JSXFragment" | "JSXIdentifier" | "JSXMemberExpression" | "JSXNamespacedName" | "JSXOpeningElement" | "JSXOpeningFragment" | "JSXSpreadAttribute" | "JSXSpreadChild" | "JSXText" | "LabeledStatement" | "LogicalExpression" | "MemberExpression" | "MetaProperty" | "MixedTypeAnnotation" | "ModuleExpression" | "NewExpression" | "Noop" | "NullLiteral" | "NullLiteralTypeAnnotation" | "NullableTypeAnnotation" | "NumberLiteral" | "NumberLiteralTypeAnnotation" | "NumberTypeAnnotation" | "NumericLiteral" | "ObjectExpression" | "ObjectMethod" | "ObjectPattern" | "ObjectProperty" | "ObjectTypeAnnotation" | "ObjectTypeCallProperty" | "ObjectTypeIndexer" | "ObjectTypeInternalSlot" | "ObjectTypeProperty" | "ObjectTypeSpreadProperty" | "OpaqueType" | "OptionalCallExpression" | "OptionalIndexedAccessType" | "OptionalMemberExpression" | "ParenthesizedExpression" | "PipelineBareFunction" | "PipelinePrimaryTopicReference" | "PipelineTopicExpression" | "Placeholder" | "PrivateName" | "Program" | "QualifiedTypeIdentifier" | "RecordExpression" | "RegExpLiteral" | "RegexLiteral" | "RestElement" | "RestProperty" | "ReturnStatement" | "SequenceExpression" | "SpreadElement" | "SpreadProperty" | "StaticBlock" | "StringLiteral" | "StringLiteralTypeAnnotation" | "StringTypeAnnotation" | "Super" | "SwitchCase" | "SwitchStatement" | "SymbolTypeAnnotation" | "TSAnyKeyword" | "TSArrayType" | "TSAsExpression" | "TSBigIntKeyword" | "TSBooleanKeyword" | "TSCallSignatureDeclaration" | "TSConditionalType" | "TSConstructSignatureDeclaration" | "TSConstructorType" | "TSDeclareFunction" | "TSDeclareMethod" | "TSEnumDeclaration" | "TSEnumMember" | "TSExportAssignment" | "TSExpressionWithTypeArguments" | "TSExternalModuleReference" | "TSFunctionType" | "TSImportEqualsDeclaration" | "TSImportType" | "TSIndexSignature" | "TSIndexedAccessType" | "TSInferType" | "TSInstantiationExpression" | "TSInterfaceBody" | "TSInterfaceDeclaration" | "TSIntersectionType" | "TSIntrinsicKeyword" | "TSLiteralType" | "TSMappedType" | "TSMethodSignature" | "TSModuleBlock" | "TSModuleDeclaration" | "TSNamedTupleMember" | "TSNamespaceExportDeclaration" | "TSNeverKeyword" | "TSNonNullExpression" | "TSNullKeyword" | "TSNumberKeyword" | "TSObjectKeyword" | "TSOptionalType" | "TSParameterProperty" | "TSParenthesizedType" | "TSPropertySignature" | "TSQualifiedName" | "TSRestType" | "TSStringKeyword" | "TSSymbolKeyword" | "TSThisType" | "TSTupleType" | "TSTypeAliasDeclaration" | "TSTypeAnnotation" | "TSTypeAssertion" | "TSTypeLiteral" | "TSTypeOperator" | "TSTypeParameter" | "TSTypeParameterDeclaration" | "TSTypeParameterInstantiation" | "TSTypePredicate" | "TSTypeQuery" | "TSTypeReference" | "TSUndefinedKeyword" | "TSUnionType" | "TSUnknownKeyword" | "TSVoidKeyword" | "TaggedTemplateExpression" | "TemplateElement" | "TemplateLiteral" | "ThisExpression" | "ThisTypeAnnotation" | "ThrowStatement" | "TopicReference" | "TryStatement" | "TupleExpression" | "TupleTypeAnnotation" | "TypeAlias" | "TypeAnnotation" | "TypeCastExpression" | "TypeParameter" | "TypeParameterDeclaration" | "TypeParameterInstantiation" | "TypeofTypeAnnotation" | "UnaryExpression" | "UnionTypeAnnotation" | "UpdateExpression" | "V8IntrinsicIdentifier" | "VariableDeclaration" | "VariableDeclarator" | "Variance" | "VoidTypeAnnotation" | "WhileStatement" | "WithStatement" | "YieldExpression" | keyof Aliases)[];
-
-declare const STATEMENT_OR_BLOCK_KEYS: string[];
-declare const FLATTENABLE_KEYS: string[];
-declare const FOR_INIT_KEYS: string[];
-declare const COMMENT_KEYS: readonly ["leadingComments", "trailingComments", "innerComments"];
-declare const LOGICAL_OPERATORS: string[];
-declare const UPDATE_OPERATORS: string[];
-declare const BOOLEAN_NUMBER_BINARY_OPERATORS: string[];
-declare const EQUALITY_BINARY_OPERATORS: string[];
-declare const COMPARISON_BINARY_OPERATORS: string[];
-declare const BOOLEAN_BINARY_OPERATORS: string[];
-declare const NUMBER_BINARY_OPERATORS: string[];
-declare const BINARY_OPERATORS: string[];
-declare const ASSIGNMENT_OPERATORS: string[];
-declare const BOOLEAN_UNARY_OPERATORS: string[];
-declare const NUMBER_UNARY_OPERATORS: string[];
-declare const STRING_UNARY_OPERATORS: string[];
-declare const UNARY_OPERATORS: string[];
-declare const INHERIT_KEYS: {
- readonly optional: readonly ["typeAnnotation", "typeParameters", "returnType"];
- readonly force: readonly ["start", "loc", "end"];
-};
-declare const BLOCK_SCOPED_SYMBOL: unique symbol;
-declare const NOT_LOCAL_BINDING: unique symbol;
-
-/**
- * Ensure the `key` (defaults to "body") of a `node` is a block.
- * Casting it to a block if it is not.
- *
- * Returns the BlockStatement
- */
-declare function ensureBlock(node: Node, key?: string): BlockStatement;
-
-declare function toBindingIdentifierName(name: string): string;
-
-declare function toBlock(node: Statement | Expression, parent?: Node): BlockStatement;
-
-declare function toComputedKey(node: ObjectMember | ObjectProperty | ClassMethod | ClassProperty | ClassAccessorProperty | MemberExpression | OptionalMemberExpression, key?: Expression | PrivateName): PrivateName | Expression;
-
-declare const _default$3: {
- (node: Function): FunctionExpression;
- (node: Class): ClassExpression;
- (node: ExpressionStatement | Expression | Class | Function): Expression;
-};
-//# sourceMappingURL=toExpression.d.ts.map
-
-declare function toIdentifier(input: string): string;
-
-declare function toKeyAlias(node: Method | Property, key?: Node): string;
-declare namespace toKeyAlias {
- var uid: number;
- var increment: () => number;
-}
-//# sourceMappingURL=toKeyAlias.d.ts.map
-
-/**
- * Turn an array of statement `nodes` into a `SequenceExpression`.
- *
- * Variable declarations are turned into simple assignments and their
- * declarations hoisted to the top of the current scope.
- *
- * Expression statements are just resolved to their expression.
- */
-declare function toSequenceExpression(nodes: ReadonlyArray<Node>, scope: any): SequenceExpression | undefined;
-
-declare const _default$2: {
- (node: AssignmentExpression, ignore?: boolean): ExpressionStatement;
- <T extends Statement>(node: T, ignore: false): T;
- <T_1 extends Statement>(node: T_1, ignore?: boolean): false | T_1;
- (node: Class, ignore: false): ClassDeclaration;
- (node: Class, ignore?: boolean): ClassDeclaration | false;
- (node: Function, ignore: false): FunctionDeclaration;
- (node: Function, ignore?: boolean): FunctionDeclaration | false;
- (node: Node, ignore: false): Statement;
- (node: Node, ignore?: boolean): Statement | false;
-};
-//# sourceMappingURL=toStatement.d.ts.map
-
-declare const _default$1: {
- (value: undefined): Identifier;
- (value: boolean): BooleanLiteral;
- (value: null): NullLiteral;
- (value: string): StringLiteral;
- (value: number): NumericLiteral | BinaryExpression | UnaryExpression;
- (value: RegExp): RegExpLiteral;
- (value: ReadonlyArray<unknown>): ArrayExpression;
- (value: object): ObjectExpression;
- (value: unknown): Expression;
-};
-//# sourceMappingURL=valueToNode.d.ts.map
-
-declare const VISITOR_KEYS: Record<string, string[]>;
-declare const ALIAS_KEYS: Partial<Record<NodeTypesWithoutComment, string[]>>;
-declare const FLIPPED_ALIAS_KEYS: Record<string, NodeTypesWithoutComment[]>;
-declare const NODE_FIELDS: Record<string, FieldDefinitions>;
-declare const BUILDER_KEYS: Record<string, string[]>;
-declare const DEPRECATED_KEYS: Record<string, NodeTypesWithoutComment>;
-declare const NODE_PARENT_VALIDATIONS: Record<string, Validator>;
-declare function getType(val: any): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "null" | "array";
-declare type NodeTypesWithoutComment = Node["type"] | keyof Aliases;
-declare type NodeTypes = NodeTypesWithoutComment | Comment["type"];
-declare type PrimitiveTypes = ReturnType<typeof getType>;
-declare type FieldDefinitions = {
- [x: string]: FieldOptions;
-};
-declare type Validator = ({
- type: PrimitiveTypes;
-} | {
- each: Validator;
-} | {
- chainOf: Validator[];
-} | {
- oneOf: any[];
-} | {
- oneOfNodeTypes: NodeTypes[];
-} | {
- oneOfNodeOrValueTypes: (NodeTypes | PrimitiveTypes)[];
-} | {
- shapeOf: {
- [x: string]: FieldOptions;
- };
-} | {}) & ((node: Node, key: string, val: any) => void);
-declare type FieldOptions = {
- default?: string | number | boolean | [];
- optional?: boolean;
- validate?: Validator;
-};
-
-declare const PLACEHOLDERS: readonly ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"];
-declare const PLACEHOLDERS_ALIAS: Record<string, string[]>;
-declare const PLACEHOLDERS_FLIPPED_ALIAS: Record<string, string[]>;
-
-declare const TYPES: Array<string>;
-//# sourceMappingURL=index.d.ts.map
-
-/**
- * Append a node to a member expression.
- */
-declare function appendToMemberExpression(member: MemberExpression, append: MemberExpression["property"], computed?: boolean): MemberExpression;
-
-/**
- * Inherit all contextual properties from `parent` node to `child` node.
- */
-declare function inherits<T extends Node | null | undefined>(child: T, parent: Node | null | undefined): T;
-
-/**
- * Prepend a node to a member expression.
- */
-declare function prependToMemberExpression<T extends Pick<MemberExpression, "object" | "property">>(member: T, prepend: MemberExpression["object"]): T;
-
-declare type Options = {
- preserveComments?: boolean;
-};
-/**
- * Remove all of the _* properties from a node along with the additional metadata
- * properties like location data and raw token data.
- */
-declare function removeProperties(node: Node, opts?: Options): void;
-
-declare function removePropertiesDeep<T extends Node>(tree: T, opts?: {
- preserveComments: boolean;
-} | null): T;
-
-/**
- * Dedupe type annotations.
- */
-declare function removeTypeDuplicates(nodes: ReadonlyArray<FlowType | false | null | undefined>): FlowType[];
-
-declare function getBindingIdentifiers(node: Node, duplicates: true, outerOnly?: boolean): Record<string, Array<Identifier>>;
-declare function getBindingIdentifiers(node: Node, duplicates?: false, outerOnly?: boolean): Record<string, Identifier>;
-declare function getBindingIdentifiers(node: Node, duplicates?: boolean, outerOnly?: boolean): Record<string, Identifier> | Record<string, Array<Identifier>>;
-declare namespace getBindingIdentifiers {
- var keys: {
- DeclareClass: string[];
- DeclareFunction: string[];
- DeclareModule: string[];
- DeclareVariable: string[];
- DeclareInterface: string[];
- DeclareTypeAlias: string[];
- DeclareOpaqueType: string[];
- InterfaceDeclaration: string[];
- TypeAlias: string[];
- OpaqueType: string[];
- CatchClause: string[];
- LabeledStatement: string[];
- UnaryExpression: string[];
- AssignmentExpression: string[];
- ImportSpecifier: string[];
- ImportNamespaceSpecifier: string[];
- ImportDefaultSpecifier: string[];
- ImportDeclaration: string[];
- ExportSpecifier: string[];
- ExportNamespaceSpecifier: string[];
- ExportDefaultSpecifier: string[];
- FunctionDeclaration: string[];
- FunctionExpression: string[];
- ArrowFunctionExpression: string[];
- ObjectMethod: string[];
- ClassMethod: string[];
- ClassPrivateMethod: string[];
- ForInStatement: string[];
- ForOfStatement: string[];
- ClassDeclaration: string[];
- ClassExpression: string[];
- RestElement: string[];
- UpdateExpression: string[];
- ObjectProperty: string[];
- AssignmentPattern: string[];
- ArrayPattern: string[];
- ObjectPattern: string[];
- VariableDeclaration: string[];
- VariableDeclarator: string[];
- };
-}
-//# sourceMappingURL=getBindingIdentifiers.d.ts.map
-
-declare const _default: {
- (node: Node, duplicates: true): Record<string, Array<Identifier>>;
- (node: Node, duplicates?: false): Record<string, Identifier>;
- (node: Node, duplicates?: boolean): Record<string, Identifier> | Record<string, Array<Identifier>>;
-};
-//# sourceMappingURL=getOuterBindingIdentifiers.d.ts.map
-
-declare type TraversalAncestors = Array<{
- node: Node;
- key: string;
- index?: number;
-}>;
-declare type TraversalHandler<T> = (this: undefined, node: Node, parent: TraversalAncestors, state: T) => void;
-declare type TraversalHandlers<T> = {
- enter?: TraversalHandler<T>;
- exit?: TraversalHandler<T>;
-};
-/**
- * A general AST traversal with both prefix and postfix handlers, and a
- * state object. Exposes ancestry data to each handler so that more complex
- * AST data can be taken into account.
- */
-declare function traverse<T>(node: Node, handlers: TraversalHandler<T> | TraversalHandlers<T>, state?: T): void;
-
-/**
- * A prefix AST traversal implementation meant for simple searching
- * and processing.
- */
-declare function traverseFast<Options = {}>(node: Node | null | undefined, enter: (node: Node, opts?: Options) => void, opts?: Options): void;
-
-declare function shallowEqual<T extends object>(actual: object, expected: T): actual is T;
-
-declare function is<T extends Node["type"]>(type: T, node: Node | null | undefined, opts?: undefined): node is Extract<Node, {
- type: T;
-}>;
-declare function is<T extends Node["type"], P extends Extract<Node, {
- type: T;
-}>>(type: T, n: Node | null | undefined, required: Partial<P>): n is P;
-declare function is<P extends Node>(type: string, node: Node | null | undefined, opts: Partial<P>): node is P;
-declare function is(type: string, node: Node | null | undefined, opts?: Partial<Node>): node is Node;
-
-/**
- * Check if the input `node` is a binding identifier.
- */
-declare function isBinding(node: Node, parent: Node, grandparent?: Node): boolean;
-
-/**
- * Check if the input `node` is block scoped.
- */
-declare function isBlockScoped(node: Node): boolean;
-
-/**
- * Check if the input `node` is definitely immutable.
- */
-declare function isImmutable(node: Node): boolean;
-
-/**
- * Check if the input `node` is a `let` variable declaration.
- */
-declare function isLet(node: Node): boolean;
-
-declare function isNode(node: any): node is Node;
-
-/**
- * Check if two nodes are equivalent
- */
-declare function isNodesEquivalent<T extends Partial<Node>>(a: T, b: any): b is T;
-
-/**
- * Test if a `placeholderType` is a `targetType` or if `targetType` is an alias of `placeholderType`.
- */
-declare function isPlaceholderType(placeholderType: string, targetType: string): boolean;
-
-/**
- * Check if the input `node` is a reference to a bound variable.
- */
-declare function isReferenced(node: Node, parent: Node, grandparent?: Node): boolean;
-
-/**
- * Check if the input `node` is a scope.
- */
-declare function isScope(node: Node, parent: Node): boolean;
-
-/**
- * Check if the input `specifier` is a `default` import or export.
- */
-declare function isSpecifierDefault(specifier: ModuleSpecifier): boolean;
-
-declare function isType<T extends Node["type"]>(nodeType: string, targetType: T): nodeType is T;
-declare function isType(nodeType: string | null | undefined, targetType: string): boolean;
-
-/**
- * Check if the input `name` is a valid identifier name according to the ES3 specification.
- *
- * Additional ES3 reserved words are
- */
-declare function isValidES3Identifier(name: string): boolean;
-
-/**
- * Check if the input `name` is a valid identifier name
- * and isn't a reserved word.
- */
-declare function isValidIdentifier(name: string, reserved?: boolean): boolean;
-
-/**
- * Check if the input `node` is a variable declaration.
- */
-declare function isVar(node: Node): boolean;
-
-/**
- * Determines whether or not the input node `member` matches the
- * input `match`.
- *
- * For example, given the match `React.createClass` it would match the
- * parsed nodes of `React.createClass` and `React["createClass"]`.
- */
-declare function matchesPattern(member: Node | null | undefined, match: string | string[], allowPartial?: boolean): boolean;
-
-declare function validate(node: Node | undefined | null, key: string, val: any): void;
-
-/**
- * Build a function that when called will return whether or not the
- * input `node` `MemberExpression` matches the input `match`.
- *
- * For example, given the match `React.createClass` it would match the
- * parsed nodes of `React.createClass` and `React["createClass"]`.
- */
-declare function buildMatchMemberExpression(match: string, allowPartial?: boolean): (member: Node) => boolean;
-
-declare function isArrayExpression(node: object | null | undefined, opts?: object | null): node is ArrayExpression;
-declare function isAssignmentExpression(node: object | null | undefined, opts?: object | null): node is AssignmentExpression;
-declare function isBinaryExpression(node: object | null | undefined, opts?: object | null): node is BinaryExpression;
-declare function isInterpreterDirective(node: object | null | undefined, opts?: object | null): node is InterpreterDirective;
-declare function isDirective(node: object | null | undefined, opts?: object | null): node is Directive;
-declare function isDirectiveLiteral(node: object | null | undefined, opts?: object | null): node is DirectiveLiteral;
-declare function isBlockStatement(node: object | null | undefined, opts?: object | null): node is BlockStatement;
-declare function isBreakStatement(node: object | null | undefined, opts?: object | null): node is BreakStatement;
-declare function isCallExpression(node: object | null | undefined, opts?: object | null): node is CallExpression;
-declare function isCatchClause(node: object | null | undefined, opts?: object | null): node is CatchClause;
-declare function isConditionalExpression(node: object | null | undefined, opts?: object | null): node is ConditionalExpression;
-declare function isContinueStatement(node: object | null | undefined, opts?: object | null): node is ContinueStatement;
-declare function isDebuggerStatement(node: object | null | undefined, opts?: object | null): node is DebuggerStatement;
-declare function isDoWhileStatement(node: object | null | undefined, opts?: object | null): node is DoWhileStatement;
-declare function isEmptyStatement(node: object | null | undefined, opts?: object | null): node is EmptyStatement;
-declare function isExpressionStatement(node: object | null | undefined, opts?: object | null): node is ExpressionStatement;
-declare function isFile(node: object | null | undefined, opts?: object | null): node is File;
-declare function isForInStatement(node: object | null | undefined, opts?: object | null): node is ForInStatement;
-declare function isForStatement(node: object | null | undefined, opts?: object | null): node is ForStatement;
-declare function isFunctionDeclaration(node: object | null | undefined, opts?: object | null): node is FunctionDeclaration;
-declare function isFunctionExpression(node: object | null | undefined, opts?: object | null): node is FunctionExpression;
-declare function isIdentifier(node: object | null | undefined, opts?: object | null): node is Identifier;
-declare function isIfStatement(node: object | null | undefined, opts?: object | null): node is IfStatement;
-declare function isLabeledStatement(node: object | null | undefined, opts?: object | null): node is LabeledStatement;
-declare function isStringLiteral(node: object | null | undefined, opts?: object | null): node is StringLiteral;
-declare function isNumericLiteral(node: object | null | undefined, opts?: object | null): node is NumericLiteral;
-declare function isNullLiteral(node: object | null | undefined, opts?: object | null): node is NullLiteral;
-declare function isBooleanLiteral(node: object | null | undefined, opts?: object | null): node is BooleanLiteral;
-declare function isRegExpLiteral(node: object | null | undefined, opts?: object | null): node is RegExpLiteral;
-declare function isLogicalExpression(node: object | null | undefined, opts?: object | null): node is LogicalExpression;
-declare function isMemberExpression(node: object | null | undefined, opts?: object | null): node is MemberExpression;
-declare function isNewExpression(node: object | null | undefined, opts?: object | null): node is NewExpression;
-declare function isProgram(node: object | null | undefined, opts?: object | null): node is Program;
-declare function isObjectExpression(node: object | null | undefined, opts?: object | null): node is ObjectExpression;
-declare function isObjectMethod(node: object | null | undefined, opts?: object | null): node is ObjectMethod;
-declare function isObjectProperty(node: object | null | undefined, opts?: object | null): node is ObjectProperty;
-declare function isRestElement(node: object | null | undefined, opts?: object | null): node is RestElement;
-declare function isReturnStatement(node: object | null | undefined, opts?: object | null): node is ReturnStatement;
-declare function isSequenceExpression(node: object | null | undefined, opts?: object | null): node is SequenceExpression;
-declare function isParenthesizedExpression(node: object | null | undefined, opts?: object | null): node is ParenthesizedExpression;
-declare function isSwitchCase(node: object | null | undefined, opts?: object | null): node is SwitchCase;
-declare function isSwitchStatement(node: object | null | undefined, opts?: object | null): node is SwitchStatement;
-declare function isThisExpression(node: object | null | undefined, opts?: object | null): node is ThisExpression;
-declare function isThrowStatement(node: object | null | undefined, opts?: object | null): node is ThrowStatement;
-declare function isTryStatement(node: object | null | undefined, opts?: object | null): node is TryStatement;
-declare function isUnaryExpression(node: object | null | undefined, opts?: object | null): node is UnaryExpression;
-declare function isUpdateExpression(node: object | null | undefined, opts?: object | null): node is UpdateExpression;
-declare function isVariableDeclaration(node: object | null | undefined, opts?: object | null): node is VariableDeclaration;
-declare function isVariableDeclarator(node: object | null | undefined, opts?: object | null): node is VariableDeclarator;
-declare function isWhileStatement(node: object | null | undefined, opts?: object | null): node is WhileStatement;
-declare function isWithStatement(node: object | null | undefined, opts?: object | null): node is WithStatement;
-declare function isAssignmentPattern(node: object | null | undefined, opts?: object | null): node is AssignmentPattern;
-declare function isArrayPattern(node: object | null | undefined, opts?: object | null): node is ArrayPattern;
-declare function isArrowFunctionExpression(node: object | null | undefined, opts?: object | null): node is ArrowFunctionExpression;
-declare function isClassBody(node: object | null | undefined, opts?: object | null): node is ClassBody;
-declare function isClassExpression(node: object | null | undefined, opts?: object | null): node is ClassExpression;
-declare function isClassDeclaration(node: object | null | undefined, opts?: object | null): node is ClassDeclaration;
-declare function isExportAllDeclaration(node: object | null | undefined, opts?: object | null): node is ExportAllDeclaration;
-declare function isExportDefaultDeclaration(node: object | null | undefined, opts?: object | null): node is ExportDefaultDeclaration;
-declare function isExportNamedDeclaration(node: object | null | undefined, opts?: object | null): node is ExportNamedDeclaration;
-declare function isExportSpecifier(node: object | null | undefined, opts?: object | null): node is ExportSpecifier;
-declare function isForOfStatement(node: object | null | undefined, opts?: object | null): node is ForOfStatement;
-declare function isImportDeclaration(node: object | null | undefined, opts?: object | null): node is ImportDeclaration;
-declare function isImportDefaultSpecifier(node: object | null | undefined, opts?: object | null): node is ImportDefaultSpecifier;
-declare function isImportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): node is ImportNamespaceSpecifier;
-declare function isImportSpecifier(node: object | null | undefined, opts?: object | null): node is ImportSpecifier;
-declare function isMetaProperty(node: object | null | undefined, opts?: object | null): node is MetaProperty;
-declare function isClassMethod(node: object | null | undefined, opts?: object | null): node is ClassMethod;
-declare function isObjectPattern(node: object | null | undefined, opts?: object | null): node is ObjectPattern;
-declare function isSpreadElement(node: object | null | undefined, opts?: object | null): node is SpreadElement;
-declare function isSuper(node: object | null | undefined, opts?: object | null): node is Super;
-declare function isTaggedTemplateExpression(node: object | null | undefined, opts?: object | null): node is TaggedTemplateExpression;
-declare function isTemplateElement(node: object | null | undefined, opts?: object | null): node is TemplateElement;
-declare function isTemplateLiteral(node: object | null | undefined, opts?: object | null): node is TemplateLiteral;
-declare function isYieldExpression(node: object | null | undefined, opts?: object | null): node is YieldExpression;
-declare function isAwaitExpression(node: object | null | undefined, opts?: object | null): node is AwaitExpression;
-declare function isImport(node: object | null | undefined, opts?: object | null): node is Import;
-declare function isBigIntLiteral(node: object | null | undefined, opts?: object | null): node is BigIntLiteral;
-declare function isExportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): node is ExportNamespaceSpecifier;
-declare function isOptionalMemberExpression(node: object | null | undefined, opts?: object | null): node is OptionalMemberExpression;
-declare function isOptionalCallExpression(node: object | null | undefined, opts?: object | null): node is OptionalCallExpression;
-declare function isClassProperty(node: object | null | undefined, opts?: object | null): node is ClassProperty;
-declare function isClassAccessorProperty(node: object | null | undefined, opts?: object | null): node is ClassAccessorProperty;
-declare function isClassPrivateProperty(node: object | null | undefined, opts?: object | null): node is ClassPrivateProperty;
-declare function isClassPrivateMethod(node: object | null | undefined, opts?: object | null): node is ClassPrivateMethod;
-declare function isPrivateName(node: object | null | undefined, opts?: object | null): node is PrivateName;
-declare function isStaticBlock(node: object | null | undefined, opts?: object | null): node is StaticBlock;
-declare function isAnyTypeAnnotation(node: object | null | undefined, opts?: object | null): node is AnyTypeAnnotation;
-declare function isArrayTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ArrayTypeAnnotation;
-declare function isBooleanTypeAnnotation(node: object | null | undefined, opts?: object | null): node is BooleanTypeAnnotation;
-declare function isBooleanLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is BooleanLiteralTypeAnnotation;
-declare function isNullLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NullLiteralTypeAnnotation;
-declare function isClassImplements(node: object | null | undefined, opts?: object | null): node is ClassImplements;
-declare function isDeclareClass(node: object | null | undefined, opts?: object | null): node is DeclareClass;
-declare function isDeclareFunction(node: object | null | undefined, opts?: object | null): node is DeclareFunction;
-declare function isDeclareInterface(node: object | null | undefined, opts?: object | null): node is DeclareInterface;
-declare function isDeclareModule(node: object | null | undefined, opts?: object | null): node is DeclareModule;
-declare function isDeclareModuleExports(node: object | null | undefined, opts?: object | null): node is DeclareModuleExports;
-declare function isDeclareTypeAlias(node: object | null | undefined, opts?: object | null): node is DeclareTypeAlias;
-declare function isDeclareOpaqueType(node: object | null | undefined, opts?: object | null): node is DeclareOpaqueType;
-declare function isDeclareVariable(node: object | null | undefined, opts?: object | null): node is DeclareVariable;
-declare function isDeclareExportDeclaration(node: object | null | undefined, opts?: object | null): node is DeclareExportDeclaration;
-declare function isDeclareExportAllDeclaration(node: object | null | undefined, opts?: object | null): node is DeclareExportAllDeclaration;
-declare function isDeclaredPredicate(node: object | null | undefined, opts?: object | null): node is DeclaredPredicate;
-declare function isExistsTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ExistsTypeAnnotation;
-declare function isFunctionTypeAnnotation(node: object | null | undefined, opts?: object | null): node is FunctionTypeAnnotation;
-declare function isFunctionTypeParam(node: object | null | undefined, opts?: object | null): node is FunctionTypeParam;
-declare function isGenericTypeAnnotation(node: object | null | undefined, opts?: object | null): node is GenericTypeAnnotation;
-declare function isInferredPredicate(node: object | null | undefined, opts?: object | null): node is InferredPredicate;
-declare function isInterfaceExtends(node: object | null | undefined, opts?: object | null): node is InterfaceExtends;
-declare function isInterfaceDeclaration(node: object | null | undefined, opts?: object | null): node is InterfaceDeclaration;
-declare function isInterfaceTypeAnnotation(node: object | null | undefined, opts?: object | null): node is InterfaceTypeAnnotation;
-declare function isIntersectionTypeAnnotation(node: object | null | undefined, opts?: object | null): node is IntersectionTypeAnnotation;
-declare function isMixedTypeAnnotation(node: object | null | undefined, opts?: object | null): node is MixedTypeAnnotation;
-declare function isEmptyTypeAnnotation(node: object | null | undefined, opts?: object | null): node is EmptyTypeAnnotation;
-declare function isNullableTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NullableTypeAnnotation;
-declare function isNumberLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NumberLiteralTypeAnnotation;
-declare function isNumberTypeAnnotation(node: object | null | undefined, opts?: object | null): node is NumberTypeAnnotation;
-declare function isObjectTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ObjectTypeAnnotation;
-declare function isObjectTypeInternalSlot(node: object | null | undefined, opts?: object | null): node is ObjectTypeInternalSlot;
-declare function isObjectTypeCallProperty(node: object | null | undefined, opts?: object | null): node is ObjectTypeCallProperty;
-declare function isObjectTypeIndexer(node: object | null | undefined, opts?: object | null): node is ObjectTypeIndexer;
-declare function isObjectTypeProperty(node: object | null | undefined, opts?: object | null): node is ObjectTypeProperty;
-declare function isObjectTypeSpreadProperty(node: object | null | undefined, opts?: object | null): node is ObjectTypeSpreadProperty;
-declare function isOpaqueType(node: object | null | undefined, opts?: object | null): node is OpaqueType;
-declare function isQualifiedTypeIdentifier(node: object | null | undefined, opts?: object | null): node is QualifiedTypeIdentifier;
-declare function isStringLiteralTypeAnnotation(node: object | null | undefined, opts?: object | null): node is StringLiteralTypeAnnotation;
-declare function isStringTypeAnnotation(node: object | null | undefined, opts?: object | null): node is StringTypeAnnotation;
-declare function isSymbolTypeAnnotation(node: object | null | undefined, opts?: object | null): node is SymbolTypeAnnotation;
-declare function isThisTypeAnnotation(node: object | null | undefined, opts?: object | null): node is ThisTypeAnnotation;
-declare function isTupleTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TupleTypeAnnotation;
-declare function isTypeofTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TypeofTypeAnnotation;
-declare function isTypeAlias(node: object | null | undefined, opts?: object | null): node is TypeAlias;
-declare function isTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TypeAnnotation;
-declare function isTypeCastExpression(node: object | null | undefined, opts?: object | null): node is TypeCastExpression;
-declare function isTypeParameter(node: object | null | undefined, opts?: object | null): node is TypeParameter;
-declare function isTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): node is TypeParameterDeclaration;
-declare function isTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): node is TypeParameterInstantiation;
-declare function isUnionTypeAnnotation(node: object | null | undefined, opts?: object | null): node is UnionTypeAnnotation;
-declare function isVariance(node: object | null | undefined, opts?: object | null): node is Variance;
-declare function isVoidTypeAnnotation(node: object | null | undefined, opts?: object | null): node is VoidTypeAnnotation;
-declare function isEnumDeclaration(node: object | null | undefined, opts?: object | null): node is EnumDeclaration;
-declare function isEnumBooleanBody(node: object | null | undefined, opts?: object | null): node is EnumBooleanBody;
-declare function isEnumNumberBody(node: object | null | undefined, opts?: object | null): node is EnumNumberBody;
-declare function isEnumStringBody(node: object | null | undefined, opts?: object | null): node is EnumStringBody;
-declare function isEnumSymbolBody(node: object | null | undefined, opts?: object | null): node is EnumSymbolBody;
-declare function isEnumBooleanMember(node: object | null | undefined, opts?: object | null): node is EnumBooleanMember;
-declare function isEnumNumberMember(node: object | null | undefined, opts?: object | null): node is EnumNumberMember;
-declare function isEnumStringMember(node: object | null | undefined, opts?: object | null): node is EnumStringMember;
-declare function isEnumDefaultedMember(node: object | null | undefined, opts?: object | null): node is EnumDefaultedMember;
-declare function isIndexedAccessType(node: object | null | undefined, opts?: object | null): node is IndexedAccessType;
-declare function isOptionalIndexedAccessType(node: object | null | undefined, opts?: object | null): node is OptionalIndexedAccessType;
-declare function isJSXAttribute(node: object | null | undefined, opts?: object | null): node is JSXAttribute;
-declare function isJSXClosingElement(node: object | null | undefined, opts?: object | null): node is JSXClosingElement;
-declare function isJSXElement(node: object | null | undefined, opts?: object | null): node is JSXElement;
-declare function isJSXEmptyExpression(node: object | null | undefined, opts?: object | null): node is JSXEmptyExpression;
-declare function isJSXExpressionContainer(node: object | null | undefined, opts?: object | null): node is JSXExpressionContainer;
-declare function isJSXSpreadChild(node: object | null | undefined, opts?: object | null): node is JSXSpreadChild;
-declare function isJSXIdentifier(node: object | null | undefined, opts?: object | null): node is JSXIdentifier;
-declare function isJSXMemberExpression(node: object | null | undefined, opts?: object | null): node is JSXMemberExpression;
-declare function isJSXNamespacedName(node: object | null | undefined, opts?: object | null): node is JSXNamespacedName;
-declare function isJSXOpeningElement(node: object | null | undefined, opts?: object | null): node is JSXOpeningElement;
-declare function isJSXSpreadAttribute(node: object | null | undefined, opts?: object | null): node is JSXSpreadAttribute;
-declare function isJSXText(node: object | null | undefined, opts?: object | null): node is JSXText;
-declare function isJSXFragment(node: object | null | undefined, opts?: object | null): node is JSXFragment;
-declare function isJSXOpeningFragment(node: object | null | undefined, opts?: object | null): node is JSXOpeningFragment;
-declare function isJSXClosingFragment(node: object | null | undefined, opts?: object | null): node is JSXClosingFragment;
-declare function isNoop(node: object | null | undefined, opts?: object | null): node is Noop;
-declare function isPlaceholder(node: object | null | undefined, opts?: object | null): node is Placeholder;
-declare function isV8IntrinsicIdentifier(node: object | null | undefined, opts?: object | null): node is V8IntrinsicIdentifier;
-declare function isArgumentPlaceholder(node: object | null | undefined, opts?: object | null): node is ArgumentPlaceholder;
-declare function isBindExpression(node: object | null | undefined, opts?: object | null): node is BindExpression;
-declare function isImportAttribute(node: object | null | undefined, opts?: object | null): node is ImportAttribute;
-declare function isDecorator(node: object | null | undefined, opts?: object | null): node is Decorator;
-declare function isDoExpression(node: object | null | undefined, opts?: object | null): node is DoExpression;
-declare function isExportDefaultSpecifier(node: object | null | undefined, opts?: object | null): node is ExportDefaultSpecifier;
-declare function isRecordExpression(node: object | null | undefined, opts?: object | null): node is RecordExpression;
-declare function isTupleExpression(node: object | null | undefined, opts?: object | null): node is TupleExpression;
-declare function isDecimalLiteral(node: object | null | undefined, opts?: object | null): node is DecimalLiteral;
-declare function isModuleExpression(node: object | null | undefined, opts?: object | null): node is ModuleExpression;
-declare function isTopicReference(node: object | null | undefined, opts?: object | null): node is TopicReference;
-declare function isPipelineTopicExpression(node: object | null | undefined, opts?: object | null): node is PipelineTopicExpression;
-declare function isPipelineBareFunction(node: object | null | undefined, opts?: object | null): node is PipelineBareFunction;
-declare function isPipelinePrimaryTopicReference(node: object | null | undefined, opts?: object | null): node is PipelinePrimaryTopicReference;
-declare function isTSParameterProperty(node: object | null | undefined, opts?: object | null): node is TSParameterProperty;
-declare function isTSDeclareFunction(node: object | null | undefined, opts?: object | null): node is TSDeclareFunction;
-declare function isTSDeclareMethod(node: object | null | undefined, opts?: object | null): node is TSDeclareMethod;
-declare function isTSQualifiedName(node: object | null | undefined, opts?: object | null): node is TSQualifiedName;
-declare function isTSCallSignatureDeclaration(node: object | null | undefined, opts?: object | null): node is TSCallSignatureDeclaration;
-declare function isTSConstructSignatureDeclaration(node: object | null | undefined, opts?: object | null): node is TSConstructSignatureDeclaration;
-declare function isTSPropertySignature(node: object | null | undefined, opts?: object | null): node is TSPropertySignature;
-declare function isTSMethodSignature(node: object | null | undefined, opts?: object | null): node is TSMethodSignature;
-declare function isTSIndexSignature(node: object | null | undefined, opts?: object | null): node is TSIndexSignature;
-declare function isTSAnyKeyword(node: object | null | undefined, opts?: object | null): node is TSAnyKeyword;
-declare function isTSBooleanKeyword(node: object | null | undefined, opts?: object | null): node is TSBooleanKeyword;
-declare function isTSBigIntKeyword(node: object | null | undefined, opts?: object | null): node is TSBigIntKeyword;
-declare function isTSIntrinsicKeyword(node: object | null | undefined, opts?: object | null): node is TSIntrinsicKeyword;
-declare function isTSNeverKeyword(node: object | null | undefined, opts?: object | null): node is TSNeverKeyword;
-declare function isTSNullKeyword(node: object | null | undefined, opts?: object | null): node is TSNullKeyword;
-declare function isTSNumberKeyword(node: object | null | undefined, opts?: object | null): node is TSNumberKeyword;
-declare function isTSObjectKeyword(node: object | null | undefined, opts?: object | null): node is TSObjectKeyword;
-declare function isTSStringKeyword(node: object | null | undefined, opts?: object | null): node is TSStringKeyword;
-declare function isTSSymbolKeyword(node: object | null | undefined, opts?: object | null): node is TSSymbolKeyword;
-declare function isTSUndefinedKeyword(node: object | null | undefined, opts?: object | null): node is TSUndefinedKeyword;
-declare function isTSUnknownKeyword(node: object | null | undefined, opts?: object | null): node is TSUnknownKeyword;
-declare function isTSVoidKeyword(node: object | null | undefined, opts?: object | null): node is TSVoidKeyword;
-declare function isTSThisType(node: object | null | undefined, opts?: object | null): node is TSThisType;
-declare function isTSFunctionType(node: object | null | undefined, opts?: object | null): node is TSFunctionType;
-declare function isTSConstructorType(node: object | null | undefined, opts?: object | null): node is TSConstructorType;
-declare function isTSTypeReference(node: object | null | undefined, opts?: object | null): node is TSTypeReference;
-declare function isTSTypePredicate(node: object | null | undefined, opts?: object | null): node is TSTypePredicate;
-declare function isTSTypeQuery(node: object | null | undefined, opts?: object | null): node is TSTypeQuery;
-declare function isTSTypeLiteral(node: object | null | undefined, opts?: object | null): node is TSTypeLiteral;
-declare function isTSArrayType(node: object | null | undefined, opts?: object | null): node is TSArrayType;
-declare function isTSTupleType(node: object | null | undefined, opts?: object | null): node is TSTupleType;
-declare function isTSOptionalType(node: object | null | undefined, opts?: object | null): node is TSOptionalType;
-declare function isTSRestType(node: object | null | undefined, opts?: object | null): node is TSRestType;
-declare function isTSNamedTupleMember(node: object | null | undefined, opts?: object | null): node is TSNamedTupleMember;
-declare function isTSUnionType(node: object | null | undefined, opts?: object | null): node is TSUnionType;
-declare function isTSIntersectionType(node: object | null | undefined, opts?: object | null): node is TSIntersectionType;
-declare function isTSConditionalType(node: object | null | undefined, opts?: object | null): node is TSConditionalType;
-declare function isTSInferType(node: object | null | undefined, opts?: object | null): node is TSInferType;
-declare function isTSParenthesizedType(node: object | null | undefined, opts?: object | null): node is TSParenthesizedType;
-declare function isTSTypeOperator(node: object | null | undefined, opts?: object | null): node is TSTypeOperator;
-declare function isTSIndexedAccessType(node: object | null | undefined, opts?: object | null): node is TSIndexedAccessType;
-declare function isTSMappedType(node: object | null | undefined, opts?: object | null): node is TSMappedType;
-declare function isTSLiteralType(node: object | null | undefined, opts?: object | null): node is TSLiteralType;
-declare function isTSExpressionWithTypeArguments(node: object | null | undefined, opts?: object | null): node is TSExpressionWithTypeArguments;
-declare function isTSInterfaceDeclaration(node: object | null | undefined, opts?: object | null): node is TSInterfaceDeclaration;
-declare function isTSInterfaceBody(node: object | null | undefined, opts?: object | null): node is TSInterfaceBody;
-declare function isTSTypeAliasDeclaration(node: object | null | undefined, opts?: object | null): node is TSTypeAliasDeclaration;
-declare function isTSInstantiationExpression(node: object | null | undefined, opts?: object | null): node is TSInstantiationExpression;
-declare function isTSAsExpression(node: object | null | undefined, opts?: object | null): node is TSAsExpression;
-declare function isTSTypeAssertion(node: object | null | undefined, opts?: object | null): node is TSTypeAssertion;
-declare function isTSEnumDeclaration(node: object | null | undefined, opts?: object | null): node is TSEnumDeclaration;
-declare function isTSEnumMember(node: object | null | undefined, opts?: object | null): node is TSEnumMember;
-declare function isTSModuleDeclaration(node: object | null | undefined, opts?: object | null): node is TSModuleDeclaration;
-declare function isTSModuleBlock(node: object | null | undefined, opts?: object | null): node is TSModuleBlock;
-declare function isTSImportType(node: object | null | undefined, opts?: object | null): node is TSImportType;
-declare function isTSImportEqualsDeclaration(node: object | null | undefined, opts?: object | null): node is TSImportEqualsDeclaration;
-declare function isTSExternalModuleReference(node: object | null | undefined, opts?: object | null): node is TSExternalModuleReference;
-declare function isTSNonNullExpression(node: object | null | undefined, opts?: object | null): node is TSNonNullExpression;
-declare function isTSExportAssignment(node: object | null | undefined, opts?: object | null): node is TSExportAssignment;
-declare function isTSNamespaceExportDeclaration(node: object | null | undefined, opts?: object | null): node is TSNamespaceExportDeclaration;
-declare function isTSTypeAnnotation(node: object | null | undefined, opts?: object | null): node is TSTypeAnnotation;
-declare function isTSTypeParameterInstantiation(node: object | null | undefined, opts?: object | null): node is TSTypeParameterInstantiation;
-declare function isTSTypeParameterDeclaration(node: object | null | undefined, opts?: object | null): node is TSTypeParameterDeclaration;
-declare function isTSTypeParameter(node: object | null | undefined, opts?: object | null): node is TSTypeParameter;
-declare function isStandardized(node: object | null | undefined, opts?: object | null): node is Standardized;
-declare function isExpression(node: object | null | undefined, opts?: object | null): node is Expression;
-declare function isBinary(node: object | null | undefined, opts?: object | null): node is Binary;
-declare function isScopable(node: object | null | undefined, opts?: object | null): node is Scopable;
-declare function isBlockParent(node: object | null | undefined, opts?: object | null): node is BlockParent;
-declare function isBlock(node: object | null | undefined, opts?: object | null): node is Block;
-declare function isStatement(node: object | null | undefined, opts?: object | null): node is Statement;
-declare function isTerminatorless(node: object | null | undefined, opts?: object | null): node is Terminatorless;
-declare function isCompletionStatement(node: object | null | undefined, opts?: object | null): node is CompletionStatement;
-declare function isConditional(node: object | null | undefined, opts?: object | null): node is Conditional;
-declare function isLoop(node: object | null | undefined, opts?: object | null): node is Loop;
-declare function isWhile(node: object | null | undefined, opts?: object | null): node is While;
-declare function isExpressionWrapper(node: object | null | undefined, opts?: object | null): node is ExpressionWrapper;
-declare function isFor(node: object | null | undefined, opts?: object | null): node is For;
-declare function isForXStatement(node: object | null | undefined, opts?: object | null): node is ForXStatement;
-declare function isFunction(node: object | null | undefined, opts?: object | null): node is Function;
-declare function isFunctionParent(node: object | null | undefined, opts?: object | null): node is FunctionParent;
-declare function isPureish(node: object | null | undefined, opts?: object | null): node is Pureish;
-declare function isDeclaration(node: object | null | undefined, opts?: object | null): node is Declaration;
-declare function isPatternLike(node: object | null | undefined, opts?: object | null): node is PatternLike;
-declare function isLVal(node: object | null | undefined, opts?: object | null): node is LVal;
-declare function isTSEntityName(node: object | null | undefined, opts?: object | null): node is TSEntityName;
-declare function isLiteral(node: object | null | undefined, opts?: object | null): node is Literal;
-declare function isUserWhitespacable(node: object | null | undefined, opts?: object | null): node is UserWhitespacable;
-declare function isMethod(node: object | null | undefined, opts?: object | null): node is Method;
-declare function isObjectMember(node: object | null | undefined, opts?: object | null): node is ObjectMember;
-declare function isProperty(node: object | null | undefined, opts?: object | null): node is Property;
-declare function isUnaryLike(node: object | null | undefined, opts?: object | null): node is UnaryLike;
-declare function isPattern(node: object | null | undefined, opts?: object | null): node is Pattern;
-declare function isClass(node: object | null | undefined, opts?: object | null): node is Class;
-declare function isModuleDeclaration(node: object | null | undefined, opts?: object | null): node is ModuleDeclaration;
-declare function isExportDeclaration(node: object | null | undefined, opts?: object | null): node is ExportDeclaration;
-declare function isModuleSpecifier(node: object | null | undefined, opts?: object | null): node is ModuleSpecifier;
-declare function isAccessor(node: object | null | undefined, opts?: object | null): node is Accessor;
-declare function isPrivate(node: object | null | undefined, opts?: object | null): node is Private;
-declare function isFlow(node: object | null | undefined, opts?: object | null): node is Flow;
-declare function isFlowType(node: object | null | undefined, opts?: object | null): node is FlowType;
-declare function isFlowBaseAnnotation(node: object | null | undefined, opts?: object | null): node is FlowBaseAnnotation;
-declare function isFlowDeclaration(node: object | null | undefined, opts?: object | null): node is FlowDeclaration;
-declare function isFlowPredicate(node: object | null | undefined, opts?: object | null): node is FlowPredicate;
-declare function isEnumBody(node: object | null | undefined, opts?: object | null): node is EnumBody;
-declare function isEnumMember(node: object | null | undefined, opts?: object | null): node is EnumMember;
-declare function isJSX(node: object | null | undefined, opts?: object | null): node is JSX;
-declare function isMiscellaneous(node: object | null | undefined, opts?: object | null): node is Miscellaneous;
-declare function isTypeScript(node: object | null | undefined, opts?: object | null): node is TypeScript;
-declare function isTSTypeElement(node: object | null | undefined, opts?: object | null): node is TSTypeElement;
-declare function isTSType(node: object | null | undefined, opts?: object | null): node is TSType;
-declare function isTSBaseType(node: object | null | undefined, opts?: object | null): node is TSBaseType;
-declare function isNumberLiteral(node: object | null | undefined, opts?: object | null): boolean;
-declare function isRegexLiteral(node: object | null | undefined, opts?: object | null): boolean;
-declare function isRestProperty(node: object | null | undefined, opts?: object | null): boolean;
-declare function isSpreadProperty(node: object | null | undefined, opts?: object | null): boolean;
-
-declare const react: {
- isReactComponent: (member: Node) => boolean;
- isCompatTag: typeof isCompatTag;
- buildChildren: typeof buildChildren;
-};
-
-export { ACCESSOR_TYPES, ALIAS_KEYS, ASSIGNMENT_OPERATORS, Accessor, Aliases, AnyTypeAnnotation, ArgumentPlaceholder, ArrayExpression, ArrayPattern, ArrayTypeAnnotation, ArrowFunctionExpression, AssignmentExpression, AssignmentPattern, AwaitExpression, BINARY_OPERATORS, BINARY_TYPES, BLOCKPARENT_TYPES, BLOCK_SCOPED_SYMBOL, BLOCK_TYPES, BOOLEAN_BINARY_OPERATORS, BOOLEAN_NUMBER_BINARY_OPERATORS, BOOLEAN_UNARY_OPERATORS, BUILDER_KEYS, BigIntLiteral, Binary, BinaryExpression, BindExpression, Block, BlockParent, BlockStatement, BooleanLiteral, BooleanLiteralTypeAnnotation, BooleanTypeAnnotation, BreakStatement, CLASS_TYPES, COMMENT_KEYS, COMPARISON_BINARY_OPERATORS, COMPLETIONSTATEMENT_TYPES, CONDITIONAL_TYPES, CallExpression, CatchClause, Class, ClassAccessorProperty, ClassBody, ClassDeclaration, ClassExpression, ClassImplements, ClassMethod, ClassPrivateMethod, ClassPrivateProperty, ClassProperty, Comment, CommentBlock, CommentLine, CommentTypeShorthand, CompletionStatement, Conditional, ConditionalExpression, ContinueStatement, DECLARATION_TYPES, DEPRECATED_KEYS, DebuggerStatement, DecimalLiteral, Declaration, DeclareClass, DeclareExportAllDeclaration, DeclareExportDeclaration, DeclareFunction, DeclareInterface, DeclareModule, DeclareModuleExports, DeclareOpaqueType, DeclareTypeAlias, DeclareVariable, DeclaredPredicate, Decorator, DeprecatedAliases, Directive, DirectiveLiteral, DoExpression, DoWhileStatement, ENUMBODY_TYPES, ENUMMEMBER_TYPES, EQUALITY_BINARY_OPERATORS, EXPORTDECLARATION_TYPES, EXPRESSIONWRAPPER_TYPES, EXPRESSION_TYPES, EmptyStatement, EmptyTypeAnnotation, EnumBody, EnumBooleanBody, EnumBooleanMember, EnumDeclaration, EnumDefaultedMember, EnumMember, EnumNumberBody, EnumNumberMember, EnumStringBody, EnumStringMember, EnumSymbolBody, ExistsTypeAnnotation, ExportAllDeclaration, ExportDeclaration, ExportDefaultDeclaration, ExportDefaultSpecifier, ExportNamedDeclaration, ExportNamespaceSpecifier, ExportSpecifier, Expression, ExpressionStatement, ExpressionWrapper, FLATTENABLE_KEYS, FLIPPED_ALIAS_KEYS, FLOWBASEANNOTATION_TYPES, FLOWDECLARATION_TYPES, FLOWPREDICATE_TYPES, FLOWTYPE_TYPES, FLOW_TYPES, FORXSTATEMENT_TYPES, FOR_INIT_KEYS, FOR_TYPES, FUNCTIONPARENT_TYPES, FUNCTION_TYPES, FieldOptions, File, Flow, FlowBaseAnnotation, FlowDeclaration, FlowPredicate, FlowType, For, ForInStatement, ForOfStatement, ForStatement, ForXStatement, Function, FunctionDeclaration, FunctionExpression, FunctionParent, FunctionTypeAnnotation, FunctionTypeParam, GenericTypeAnnotation, IMMUTABLE_TYPES, INHERIT_KEYS, Identifier, IfStatement, Immutable, Import, ImportAttribute, ImportDeclaration, ImportDefaultSpecifier, ImportNamespaceSpecifier, ImportSpecifier, IndexedAccessType, InferredPredicate, InterfaceDeclaration, InterfaceExtends, InterfaceTypeAnnotation, InterpreterDirective, IntersectionTypeAnnotation, JSX, JSXAttribute, JSXClosingElement, JSXClosingFragment, JSXElement, JSXEmptyExpression, JSXExpressionContainer, JSXFragment, JSXIdentifier, JSXMemberExpression, JSXNamespacedName, JSXOpeningElement, JSXOpeningFragment, JSXSpreadAttribute, JSXSpreadChild, JSXText, JSX_TYPES, LITERAL_TYPES, LOGICAL_OPERATORS, LOOP_TYPES, LVAL_TYPES, LVal, LabeledStatement, Literal, LogicalExpression, Loop, METHOD_TYPES, MISCELLANEOUS_TYPES, MODULEDECLARATION_TYPES, MODULESPECIFIER_TYPES, MemberExpression, MetaProperty, Method, Miscellaneous, MixedTypeAnnotation, ModuleDeclaration, ModuleExpression, ModuleSpecifier, NODE_FIELDS, NODE_PARENT_VALIDATIONS, NOT_LOCAL_BINDING, NUMBER_BINARY_OPERATORS, NUMBER_UNARY_OPERATORS, NewExpression, Node, Noop, NullLiteral, NullLiteralTypeAnnotation, NullableTypeAnnotation, NumberLiteral$1 as NumberLiteral, NumberLiteralTypeAnnotation, NumberTypeAnnotation, NumericLiteral, OBJECTMEMBER_TYPES, ObjectExpression, ObjectMember, ObjectMethod, ObjectPattern, ObjectProperty, ObjectTypeAnnotation, ObjectTypeCallProperty, ObjectTypeIndexer, ObjectTypeInternalSlot, ObjectTypeProperty, ObjectTypeSpreadProperty, OpaqueType, OptionalCallExpression, OptionalIndexedAccessType, OptionalMemberExpression, PATTERNLIKE_TYPES, PATTERN_TYPES, PLACEHOLDERS, PLACEHOLDERS_ALIAS, PLACEHOLDERS_FLIPPED_ALIAS, PRIVATE_TYPES, PROPERTY_TYPES, PUREISH_TYPES, ParentMaps, ParenthesizedExpression, Pattern, PatternLike, PipelineBareFunction, PipelinePrimaryTopicReference, PipelineTopicExpression, Placeholder, Private, PrivateName, Program, Property, Pureish, QualifiedTypeIdentifier, RecordExpression, RegExpLiteral, RegexLiteral$1 as RegexLiteral, Options as RemovePropertiesOptions, RestElement, RestProperty$1 as RestProperty, ReturnStatement, SCOPABLE_TYPES, STANDARDIZED_TYPES, STATEMENT_OR_BLOCK_KEYS, STATEMENT_TYPES, STRING_UNARY_OPERATORS, Scopable, SequenceExpression, SourceLocation, SpreadElement, SpreadProperty$1 as SpreadProperty, Standardized, Statement, StaticBlock, StringLiteral, StringLiteralTypeAnnotation, StringTypeAnnotation, Super, SwitchCase, SwitchStatement, SymbolTypeAnnotation, TERMINATORLESS_TYPES, TSAnyKeyword, TSArrayType, TSAsExpression, TSBASETYPE_TYPES, TSBaseType, TSBigIntKeyword, TSBooleanKeyword, TSCallSignatureDeclaration, TSConditionalType, TSConstructSignatureDeclaration, TSConstructorType, TSDeclareFunction, TSDeclareMethod, TSENTITYNAME_TYPES, TSEntityName, TSEnumDeclaration, TSEnumMember, TSExportAssignment, TSExpressionWithTypeArguments, TSExternalModuleReference, TSFunctionType, TSImportEqualsDeclaration, TSImportType, TSIndexSignature, TSIndexedAccessType, TSInferType, TSInstantiationExpression, TSInterfaceBody, TSInterfaceDeclaration, TSIntersectionType, TSIntrinsicKeyword, TSLiteralType, TSMappedType, TSMethodSignature, TSModuleBlock, TSModuleDeclaration, TSNamedTupleMember, TSNamespaceExportDeclaration, TSNeverKeyword, TSNonNullExpression, TSNullKeyword, TSNumberKeyword, TSObjectKeyword, TSOptionalType, TSParameterProperty, TSParenthesizedType, TSPropertySignature, TSQualifiedName, TSRestType, TSStringKeyword, TSSymbolKeyword, TSTYPEELEMENT_TYPES, TSTYPE_TYPES, TSThisType, TSTupleType, TSType, TSTypeAliasDeclaration, TSTypeAnnotation, TSTypeAssertion, TSTypeElement, TSTypeLiteral, TSTypeOperator, TSTypeParameter, TSTypeParameterDeclaration, TSTypeParameterInstantiation, TSTypePredicate, TSTypeQuery, TSTypeReference, TSUndefinedKeyword, TSUnionType, TSUnknownKeyword, TSVoidKeyword, TYPES, TYPESCRIPT_TYPES, TaggedTemplateExpression, TemplateElement, TemplateLiteral, Terminatorless, ThisExpression, ThisTypeAnnotation, ThrowStatement, TopicReference, TraversalAncestors, TraversalHandler, TraversalHandlers, TryStatement, TupleExpression, TupleTypeAnnotation, TypeAlias, TypeAnnotation, TypeCastExpression, TypeParameter, TypeParameterDeclaration, TypeParameterInstantiation, TypeScript, TypeofTypeAnnotation, UNARYLIKE_TYPES, UNARY_OPERATORS, UPDATE_OPERATORS, USERWHITESPACABLE_TYPES, UnaryExpression, UnaryLike, UnionTypeAnnotation, UpdateExpression, UserWhitespacable, V8IntrinsicIdentifier, VISITOR_KEYS, VariableDeclaration, VariableDeclarator, Variance, VoidTypeAnnotation, WHILE_TYPES, While, WhileStatement, WithStatement, YieldExpression, addComment, addComments, anyTypeAnnotation, appendToMemberExpression, argumentPlaceholder, arrayExpression, arrayPattern, arrayTypeAnnotation, arrowFunctionExpression, assertAccessor, assertAnyTypeAnnotation, assertArgumentPlaceholder, assertArrayExpression, assertArrayPattern, assertArrayTypeAnnotation, assertArrowFunctionExpression, assertAssignmentExpression, assertAssignmentPattern, assertAwaitExpression, assertBigIntLiteral, assertBinary, assertBinaryExpression, assertBindExpression, assertBlock, assertBlockParent, assertBlockStatement, assertBooleanLiteral, assertBooleanLiteralTypeAnnotation, assertBooleanTypeAnnotation, assertBreakStatement, assertCallExpression, assertCatchClause, assertClass, assertClassAccessorProperty, assertClassBody, assertClassDeclaration, assertClassExpression, assertClassImplements, assertClassMethod, assertClassPrivateMethod, assertClassPrivateProperty, assertClassProperty, assertCompletionStatement, assertConditional, assertConditionalExpression, assertContinueStatement, assertDebuggerStatement, assertDecimalLiteral, assertDeclaration, assertDeclareClass, assertDeclareExportAllDeclaration, assertDeclareExportDeclaration, assertDeclareFunction, assertDeclareInterface, assertDeclareModule, assertDeclareModuleExports, assertDeclareOpaqueType, assertDeclareTypeAlias, assertDeclareVariable, assertDeclaredPredicate, assertDecorator, assertDirective, assertDirectiveLiteral, assertDoExpression, assertDoWhileStatement, assertEmptyStatement, assertEmptyTypeAnnotation, assertEnumBody, assertEnumBooleanBody, assertEnumBooleanMember, assertEnumDeclaration, assertEnumDefaultedMember, assertEnumMember, assertEnumNumberBody, assertEnumNumberMember, assertEnumStringBody, assertEnumStringMember, assertEnumSymbolBody, assertExistsTypeAnnotation, assertExportAllDeclaration, assertExportDeclaration, assertExportDefaultDeclaration, assertExportDefaultSpecifier, assertExportNamedDeclaration, assertExportNamespaceSpecifier, assertExportSpecifier, assertExpression, assertExpressionStatement, assertExpressionWrapper, assertFile, assertFlow, assertFlowBaseAnnotation, assertFlowDeclaration, assertFlowPredicate, assertFlowType, assertFor, assertForInStatement, assertForOfStatement, assertForStatement, assertForXStatement, assertFunction, assertFunctionDeclaration, assertFunctionExpression, assertFunctionParent, assertFunctionTypeAnnotation, assertFunctionTypeParam, assertGenericTypeAnnotation, assertIdentifier, assertIfStatement, assertImmutable, assertImport, assertImportAttribute, assertImportDeclaration, assertImportDefaultSpecifier, assertImportNamespaceSpecifier, assertImportSpecifier, assertIndexedAccessType, assertInferredPredicate, assertInterfaceDeclaration, assertInterfaceExtends, assertInterfaceTypeAnnotation, assertInterpreterDirective, assertIntersectionTypeAnnotation, assertJSX, assertJSXAttribute, assertJSXClosingElement, assertJSXClosingFragment, assertJSXElement, assertJSXEmptyExpression, assertJSXExpressionContainer, assertJSXFragment, assertJSXIdentifier, assertJSXMemberExpression, assertJSXNamespacedName, assertJSXOpeningElement, assertJSXOpeningFragment, assertJSXSpreadAttribute, assertJSXSpreadChild, assertJSXText, assertLVal, assertLabeledStatement, assertLiteral, assertLogicalExpression, assertLoop, assertMemberExpression, assertMetaProperty, assertMethod, assertMiscellaneous, assertMixedTypeAnnotation, assertModuleDeclaration, assertModuleExpression, assertModuleSpecifier, assertNewExpression, assertNode, assertNoop, assertNullLiteral, assertNullLiteralTypeAnnotation, assertNullableTypeAnnotation, assertNumberLiteral, assertNumberLiteralTypeAnnotation, assertNumberTypeAnnotation, assertNumericLiteral, assertObjectExpression, assertObjectMember, assertObjectMethod, assertObjectPattern, assertObjectProperty, assertObjectTypeAnnotation, assertObjectTypeCallProperty, assertObjectTypeIndexer, assertObjectTypeInternalSlot, assertObjectTypeProperty, assertObjectTypeSpreadProperty, assertOpaqueType, assertOptionalCallExpression, assertOptionalIndexedAccessType, assertOptionalMemberExpression, assertParenthesizedExpression, assertPattern, assertPatternLike, assertPipelineBareFunction, assertPipelinePrimaryTopicReference, assertPipelineTopicExpression, assertPlaceholder, assertPrivate, assertPrivateName, assertProgram, assertProperty, assertPureish, assertQualifiedTypeIdentifier, assertRecordExpression, assertRegExpLiteral, assertRegexLiteral, assertRestElement, assertRestProperty, assertReturnStatement, assertScopable, assertSequenceExpression, assertSpreadElement, assertSpreadProperty, assertStandardized, assertStatement, assertStaticBlock, assertStringLiteral, assertStringLiteralTypeAnnotation, assertStringTypeAnnotation, assertSuper, assertSwitchCase, assertSwitchStatement, assertSymbolTypeAnnotation, assertTSAnyKeyword, assertTSArrayType, assertTSAsExpression, assertTSBaseType, assertTSBigIntKeyword, assertTSBooleanKeyword, assertTSCallSignatureDeclaration, assertTSConditionalType, assertTSConstructSignatureDeclaration, assertTSConstructorType, assertTSDeclareFunction, assertTSDeclareMethod, assertTSEntityName, assertTSEnumDeclaration, assertTSEnumMember, assertTSExportAssignment, assertTSExpressionWithTypeArguments, assertTSExternalModuleReference, assertTSFunctionType, assertTSImportEqualsDeclaration, assertTSImportType, assertTSIndexSignature, assertTSIndexedAccessType, assertTSInferType, assertTSInstantiationExpression, assertTSInterfaceBody, assertTSInterfaceDeclaration, assertTSIntersectionType, assertTSIntrinsicKeyword, assertTSLiteralType, assertTSMappedType, assertTSMethodSignature, assertTSModuleBlock, assertTSModuleDeclaration, assertTSNamedTupleMember, assertTSNamespaceExportDeclaration, assertTSNeverKeyword, assertTSNonNullExpression, assertTSNullKeyword, assertTSNumberKeyword, assertTSObjectKeyword, assertTSOptionalType, assertTSParameterProperty, assertTSParenthesizedType, assertTSPropertySignature, assertTSQualifiedName, assertTSRestType, assertTSStringKeyword, assertTSSymbolKeyword, assertTSThisType, assertTSTupleType, assertTSType, assertTSTypeAliasDeclaration, assertTSTypeAnnotation, assertTSTypeAssertion, assertTSTypeElement, assertTSTypeLiteral, assertTSTypeOperator, assertTSTypeParameter, assertTSTypeParameterDeclaration, assertTSTypeParameterInstantiation, assertTSTypePredicate, assertTSTypeQuery, assertTSTypeReference, assertTSUndefinedKeyword, assertTSUnionType, assertTSUnknownKeyword, assertTSVoidKeyword, assertTaggedTemplateExpression, assertTemplateElement, assertTemplateLiteral, assertTerminatorless, assertThisExpression, assertThisTypeAnnotation, assertThrowStatement, assertTopicReference, assertTryStatement, assertTupleExpression, assertTupleTypeAnnotation, assertTypeAlias, assertTypeAnnotation, assertTypeCastExpression, assertTypeParameter, assertTypeParameterDeclaration, assertTypeParameterInstantiation, assertTypeScript, assertTypeofTypeAnnotation, assertUnaryExpression, assertUnaryLike, assertUnionTypeAnnotation, assertUpdateExpression, assertUserWhitespacable, assertV8IntrinsicIdentifier, assertVariableDeclaration, assertVariableDeclarator, assertVariance, assertVoidTypeAnnotation, assertWhile, assertWhileStatement, assertWithStatement, assertYieldExpression, assignmentExpression, assignmentPattern, awaitExpression, bigIntLiteral, binaryExpression, bindExpression, blockStatement, booleanLiteral, booleanLiteralTypeAnnotation, booleanTypeAnnotation, breakStatement, buildMatchMemberExpression, callExpression, catchClause, classAccessorProperty, classBody, classDeclaration, classExpression, classImplements, classMethod, classPrivateMethod, classPrivateProperty, classProperty, clone, cloneDeep, cloneDeepWithoutLoc, cloneNode, cloneWithoutLoc, conditionalExpression, continueStatement, createFlowUnionType, createTSUnionType, _default$4 as createTypeAnnotationBasedOnTypeof, createFlowUnionType as createUnionTypeAnnotation, debuggerStatement, decimalLiteral, declareClass, declareExportAllDeclaration, declareExportDeclaration, declareFunction, declareInterface, declareModule, declareModuleExports, declareOpaqueType, declareTypeAlias, declareVariable, declaredPredicate, decorator, directive, directiveLiteral, doExpression, doWhileStatement, emptyStatement, emptyTypeAnnotation, ensureBlock, enumBooleanBody, enumBooleanMember, enumDeclaration, enumDefaultedMember, enumNumberBody, enumNumberMember, enumStringBody, enumStringMember, enumSymbolBody, existsTypeAnnotation, exportAllDeclaration, exportDefaultDeclaration, exportDefaultSpecifier, exportNamedDeclaration, exportNamespaceSpecifier, exportSpecifier, expressionStatement, file, forInStatement, forOfStatement, forStatement, functionDeclaration, functionExpression, functionTypeAnnotation, functionTypeParam, genericTypeAnnotation, getBindingIdentifiers, _default as getOuterBindingIdentifiers, identifier, ifStatement, _import as import, importAttribute, importDeclaration, importDefaultSpecifier, importNamespaceSpecifier, importSpecifier, indexedAccessType, inferredPredicate, inheritInnerComments, inheritLeadingComments, inheritTrailingComments, inherits, inheritsComments, interfaceDeclaration, interfaceExtends, interfaceTypeAnnotation, interpreterDirective, intersectionTypeAnnotation, is, isAccessor, isAnyTypeAnnotation, isArgumentPlaceholder, isArrayExpression, isArrayPattern, isArrayTypeAnnotation, isArrowFunctionExpression, isAssignmentExpression, isAssignmentPattern, isAwaitExpression, isBigIntLiteral, isBinary, isBinaryExpression, isBindExpression, isBinding, isBlock, isBlockParent, isBlockScoped, isBlockStatement, isBooleanLiteral, isBooleanLiteralTypeAnnotation, isBooleanTypeAnnotation, isBreakStatement, isCallExpression, isCatchClause, isClass, isClassAccessorProperty, isClassBody, isClassDeclaration, isClassExpression, isClassImplements, isClassMethod, isClassPrivateMethod, isClassPrivateProperty, isClassProperty, isCompletionStatement, isConditional, isConditionalExpression, isContinueStatement, isDebuggerStatement, isDecimalLiteral, isDeclaration, isDeclareClass, isDeclareExportAllDeclaration, isDeclareExportDeclaration, isDeclareFunction, isDeclareInterface, isDeclareModule, isDeclareModuleExports, isDeclareOpaqueType, isDeclareTypeAlias, isDeclareVariable, isDeclaredPredicate, isDecorator, isDirective, isDirectiveLiteral, isDoExpression, isDoWhileStatement, isEmptyStatement, isEmptyTypeAnnotation, isEnumBody, isEnumBooleanBody, isEnumBooleanMember, isEnumDeclaration, isEnumDefaultedMember, isEnumMember, isEnumNumberBody, isEnumNumberMember, isEnumStringBody, isEnumStringMember, isEnumSymbolBody, isExistsTypeAnnotation, isExportAllDeclaration, isExportDeclaration, isExportDefaultDeclaration, isExportDefaultSpecifier, isExportNamedDeclaration, isExportNamespaceSpecifier, isExportSpecifier, isExpression, isExpressionStatement, isExpressionWrapper, isFile, isFlow, isFlowBaseAnnotation, isFlowDeclaration, isFlowPredicate, isFlowType, isFor, isForInStatement, isForOfStatement, isForStatement, isForXStatement, isFunction, isFunctionDeclaration, isFunctionExpression, isFunctionParent, isFunctionTypeAnnotation, isFunctionTypeParam, isGenericTypeAnnotation, isIdentifier, isIfStatement, isImmutable, isImport, isImportAttribute, isImportDeclaration, isImportDefaultSpecifier, isImportNamespaceSpecifier, isImportSpecifier, isIndexedAccessType, isInferredPredicate, isInterfaceDeclaration, isInterfaceExtends, isInterfaceTypeAnnotation, isInterpreterDirective, isIntersectionTypeAnnotation, isJSX, isJSXAttribute, isJSXClosingElement, isJSXClosingFragment, isJSXElement, isJSXEmptyExpression, isJSXExpressionContainer, isJSXFragment, isJSXIdentifier, isJSXMemberExpression, isJSXNamespacedName, isJSXOpeningElement, isJSXOpeningFragment, isJSXSpreadAttribute, isJSXSpreadChild, isJSXText, isLVal, isLabeledStatement, isLet, isLiteral, isLogicalExpression, isLoop, isMemberExpression, isMetaProperty, isMethod, isMiscellaneous, isMixedTypeAnnotation, isModuleDeclaration, isModuleExpression, isModuleSpecifier, isNewExpression, isNode, isNodesEquivalent, isNoop, isNullLiteral, isNullLiteralTypeAnnotation, isNullableTypeAnnotation, isNumberLiteral, isNumberLiteralTypeAnnotation, isNumberTypeAnnotation, isNumericLiteral, isObjectExpression, isObjectMember, isObjectMethod, isObjectPattern, isObjectProperty, isObjectTypeAnnotation, isObjectTypeCallProperty, isObjectTypeIndexer, isObjectTypeInternalSlot, isObjectTypeProperty, isObjectTypeSpreadProperty, isOpaqueType, isOptionalCallExpression, isOptionalIndexedAccessType, isOptionalMemberExpression, isParenthesizedExpression, isPattern, isPatternLike, isPipelineBareFunction, isPipelinePrimaryTopicReference, isPipelineTopicExpression, isPlaceholder, isPlaceholderType, isPrivate, isPrivateName, isProgram, isProperty, isPureish, isQualifiedTypeIdentifier, isRecordExpression, isReferenced, isRegExpLiteral, isRegexLiteral, isRestElement, isRestProperty, isReturnStatement, isScopable, isScope, isSequenceExpression, isSpecifierDefault, isSpreadElement, isSpreadProperty, isStandardized, isStatement, isStaticBlock, isStringLiteral, isStringLiteralTypeAnnotation, isStringTypeAnnotation, isSuper, isSwitchCase, isSwitchStatement, isSymbolTypeAnnotation, isTSAnyKeyword, isTSArrayType, isTSAsExpression, isTSBaseType, isTSBigIntKeyword, isTSBooleanKeyword, isTSCallSignatureDeclaration, isTSConditionalType, isTSConstructSignatureDeclaration, isTSConstructorType, isTSDeclareFunction, isTSDeclareMethod, isTSEntityName, isTSEnumDeclaration, isTSEnumMember, isTSExportAssignment, isTSExpressionWithTypeArguments, isTSExternalModuleReference, isTSFunctionType, isTSImportEqualsDeclaration, isTSImportType, isTSIndexSignature, isTSIndexedAccessType, isTSInferType, isTSInstantiationExpression, isTSInterfaceBody, isTSInterfaceDeclaration, isTSIntersectionType, isTSIntrinsicKeyword, isTSLiteralType, isTSMappedType, isTSMethodSignature, isTSModuleBlock, isTSModuleDeclaration, isTSNamedTupleMember, isTSNamespaceExportDeclaration, isTSNeverKeyword, isTSNonNullExpression, isTSNullKeyword, isTSNumberKeyword, isTSObjectKeyword, isTSOptionalType, isTSParameterProperty, isTSParenthesizedType, isTSPropertySignature, isTSQualifiedName, isTSRestType, isTSStringKeyword, isTSSymbolKeyword, isTSThisType, isTSTupleType, isTSType, isTSTypeAliasDeclaration, isTSTypeAnnotation, isTSTypeAssertion, isTSTypeElement, isTSTypeLiteral, isTSTypeOperator, isTSTypeParameter, isTSTypeParameterDeclaration, isTSTypeParameterInstantiation, isTSTypePredicate, isTSTypeQuery, isTSTypeReference, isTSUndefinedKeyword, isTSUnionType, isTSUnknownKeyword, isTSVoidKeyword, isTaggedTemplateExpression, isTemplateElement, isTemplateLiteral, isTerminatorless, isThisExpression, isThisTypeAnnotation, isThrowStatement, isTopicReference, isTryStatement, isTupleExpression, isTupleTypeAnnotation, isType, isTypeAlias, isTypeAnnotation, isTypeCastExpression, isTypeParameter, isTypeParameterDeclaration, isTypeParameterInstantiation, isTypeScript, isTypeofTypeAnnotation, isUnaryExpression, isUnaryLike, isUnionTypeAnnotation, isUpdateExpression, isUserWhitespacable, isV8IntrinsicIdentifier, isValidES3Identifier, isValidIdentifier, isVar, isVariableDeclaration, isVariableDeclarator, isVariance, isVoidTypeAnnotation, isWhile, isWhileStatement, isWithStatement, isYieldExpression, jsxAttribute as jSXAttribute, jsxClosingElement as jSXClosingElement, jsxClosingFragment as jSXClosingFragment, jsxElement as jSXElement, jsxEmptyExpression as jSXEmptyExpression, jsxExpressionContainer as jSXExpressionContainer, jsxFragment as jSXFragment, jsxIdentifier as jSXIdentifier, jsxMemberExpression as jSXMemberExpression, jsxNamespacedName as jSXNamespacedName, jsxOpeningElement as jSXOpeningElement, jsxOpeningFragment as jSXOpeningFragment, jsxSpreadAttribute as jSXSpreadAttribute, jsxSpreadChild as jSXSpreadChild, jsxText as jSXText, jsxAttribute, jsxClosingElement, jsxClosingFragment, jsxElement, jsxEmptyExpression, jsxExpressionContainer, jsxFragment, jsxIdentifier, jsxMemberExpression, jsxNamespacedName, jsxOpeningElement, jsxOpeningFragment, jsxSpreadAttribute, jsxSpreadChild, jsxText, labeledStatement, logicalExpression, matchesPattern, memberExpression, metaProperty, mixedTypeAnnotation, moduleExpression, newExpression, noop, nullLiteral, nullLiteralTypeAnnotation, nullableTypeAnnotation, NumberLiteral as numberLiteral, numberLiteralTypeAnnotation, numberTypeAnnotation, numericLiteral, objectExpression, objectMethod, objectPattern, objectProperty, objectTypeAnnotation, objectTypeCallProperty, objectTypeIndexer, objectTypeInternalSlot, objectTypeProperty, objectTypeSpreadProperty, opaqueType, optionalCallExpression, optionalIndexedAccessType, optionalMemberExpression, parenthesizedExpression, pipelineBareFunction, pipelinePrimaryTopicReference, pipelineTopicExpression, placeholder, prependToMemberExpression, privateName, program, qualifiedTypeIdentifier, react, recordExpression, regExpLiteral, RegexLiteral as regexLiteral, removeComments, removeProperties, removePropertiesDeep, removeTypeDuplicates, restElement, RestProperty as restProperty, returnStatement, sequenceExpression, shallowEqual, spreadElement, SpreadProperty as spreadProperty, staticBlock, stringLiteral, stringLiteralTypeAnnotation, stringTypeAnnotation, _super as super, switchCase, switchStatement, symbolTypeAnnotation, tsAnyKeyword as tSAnyKeyword, tsArrayType as tSArrayType, tsAsExpression as tSAsExpression, tsBigIntKeyword as tSBigIntKeyword, tsBooleanKeyword as tSBooleanKeyword, tsCallSignatureDeclaration as tSCallSignatureDeclaration, tsConditionalType as tSConditionalType, tsConstructSignatureDeclaration as tSConstructSignatureDeclaration, tsConstructorType as tSConstructorType, tsDeclareFunction as tSDeclareFunction, tsDeclareMethod as tSDeclareMethod, tsEnumDeclaration as tSEnumDeclaration, tsEnumMember as tSEnumMember, tsExportAssignment as tSExportAssignment, tsExpressionWithTypeArguments as tSExpressionWithTypeArguments, tsExternalModuleReference as tSExternalModuleReference, tsFunctionType as tSFunctionType, tsImportEqualsDeclaration as tSImportEqualsDeclaration, tsImportType as tSImportType, tsIndexSignature as tSIndexSignature, tsIndexedAccessType as tSIndexedAccessType, tsInferType as tSInferType, tsInstantiationExpression as tSInstantiationExpression, tsInterfaceBody as tSInterfaceBody, tsInterfaceDeclaration as tSInterfaceDeclaration, tsIntersectionType as tSIntersectionType, tsIntrinsicKeyword as tSIntrinsicKeyword, tsLiteralType as tSLiteralType, tsMappedType as tSMappedType, tsMethodSignature as tSMethodSignature, tsModuleBlock as tSModuleBlock, tsModuleDeclaration as tSModuleDeclaration, tsNamedTupleMember as tSNamedTupleMember, tsNamespaceExportDeclaration as tSNamespaceExportDeclaration, tsNeverKeyword as tSNeverKeyword, tsNonNullExpression as tSNonNullExpression, tsNullKeyword as tSNullKeyword, tsNumberKeyword as tSNumberKeyword, tsObjectKeyword as tSObjectKeyword, tsOptionalType as tSOptionalType, tsParameterProperty as tSParameterProperty, tsParenthesizedType as tSParenthesizedType, tsPropertySignature as tSPropertySignature, tsQualifiedName as tSQualifiedName, tsRestType as tSRestType, tsStringKeyword as tSStringKeyword, tsSymbolKeyword as tSSymbolKeyword, tsThisType as tSThisType, tsTupleType as tSTupleType, tsTypeAliasDeclaration as tSTypeAliasDeclaration, tsTypeAnnotation as tSTypeAnnotation, tsTypeAssertion as tSTypeAssertion, tsTypeLiteral as tSTypeLiteral, tsTypeOperator as tSTypeOperator, tsTypeParameter as tSTypeParameter, tsTypeParameterDeclaration as tSTypeParameterDeclaration, tsTypeParameterInstantiation as tSTypeParameterInstantiation, tsTypePredicate as tSTypePredicate, tsTypeQuery as tSTypeQuery, tsTypeReference as tSTypeReference, tsUndefinedKeyword as tSUndefinedKeyword, tsUnionType as tSUnionType, tsUnknownKeyword as tSUnknownKeyword, tsVoidKeyword as tSVoidKeyword, taggedTemplateExpression, templateElement, templateLiteral, thisExpression, thisTypeAnnotation, throwStatement, toBindingIdentifierName, toBlock, toComputedKey, _default$3 as toExpression, toIdentifier, toKeyAlias, toSequenceExpression, _default$2 as toStatement, topicReference, traverse, traverseFast, tryStatement, tsAnyKeyword, tsArrayType, tsAsExpression, tsBigIntKeyword, tsBooleanKeyword, tsCallSignatureDeclaration, tsConditionalType, tsConstructSignatureDeclaration, tsConstructorType, tsDeclareFunction, tsDeclareMethod, tsEnumDeclaration, tsEnumMember, tsExportAssignment, tsExpressionWithTypeArguments, tsExternalModuleReference, tsFunctionType, tsImportEqualsDeclaration, tsImportType, tsIndexSignature, tsIndexedAccessType, tsInferType, tsInstantiationExpression, tsInterfaceBody, tsInterfaceDeclaration, tsIntersectionType, tsIntrinsicKeyword, tsLiteralType, tsMappedType, tsMethodSignature, tsModuleBlock, tsModuleDeclaration, tsNamedTupleMember, tsNamespaceExportDeclaration, tsNeverKeyword, tsNonNullExpression, tsNullKeyword, tsNumberKeyword, tsObjectKeyword, tsOptionalType, tsParameterProperty, tsParenthesizedType, tsPropertySignature, tsQualifiedName, tsRestType, tsStringKeyword, tsSymbolKeyword, tsThisType, tsTupleType, tsTypeAliasDeclaration, tsTypeAnnotation, tsTypeAssertion, tsTypeLiteral, tsTypeOperator, tsTypeParameter, tsTypeParameterDeclaration, tsTypeParameterInstantiation, tsTypePredicate, tsTypeQuery, tsTypeReference, tsUndefinedKeyword, tsUnionType, tsUnknownKeyword, tsVoidKeyword, tupleExpression, tupleTypeAnnotation, typeAlias, typeAnnotation, typeCastExpression, typeParameter, typeParameterDeclaration, typeParameterInstantiation, typeofTypeAnnotation, unaryExpression, unionTypeAnnotation, updateExpression, v8IntrinsicIdentifier, validate, _default$1 as valueToNode, variableDeclaration, variableDeclarator, variance, voidTypeAnnotation, whileStatement, withStatement, yieldExpression };
-//# sourceMappingURL=index.d.ts.map
diff --git a/includes/search/node_modules/@babel/types/lib/index.d.ts.map b/includes/search/node_modules/@babel/types/lib/index.d.ts.map
deleted file mode 100644
index 08c58a7..0000000
--- a/includes/search/node_modules/@babel/types/lib/index.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/index.js b/includes/search/node_modules/@babel/types/lib/index.js
deleted file mode 100644
index 1bd3c44..0000000
--- a/includes/search/node_modules/@babel/types/lib/index.js
+++ /dev/null
@@ -1,649 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-var _exportNames = {
- react: true,
- assertNode: true,
- createTypeAnnotationBasedOnTypeof: true,
- createUnionTypeAnnotation: true,
- createFlowUnionType: true,
- createTSUnionType: true,
- cloneNode: true,
- clone: true,
- cloneDeep: true,
- cloneDeepWithoutLoc: true,
- cloneWithoutLoc: true,
- addComment: true,
- addComments: true,
- inheritInnerComments: true,
- inheritLeadingComments: true,
- inheritsComments: true,
- inheritTrailingComments: true,
- removeComments: true,
- ensureBlock: true,
- toBindingIdentifierName: true,
- toBlock: true,
- toComputedKey: true,
- toExpression: true,
- toIdentifier: true,
- toKeyAlias: true,
- toSequenceExpression: true,
- toStatement: true,
- valueToNode: true,
- appendToMemberExpression: true,
- inherits: true,
- prependToMemberExpression: true,
- removeProperties: true,
- removePropertiesDeep: true,
- removeTypeDuplicates: true,
- getBindingIdentifiers: true,
- getOuterBindingIdentifiers: true,
- traverse: true,
- traverseFast: true,
- shallowEqual: true,
- is: true,
- isBinding: true,
- isBlockScoped: true,
- isImmutable: true,
- isLet: true,
- isNode: true,
- isNodesEquivalent: true,
- isPlaceholderType: true,
- isReferenced: true,
- isScope: true,
- isSpecifierDefault: true,
- isType: true,
- isValidES3Identifier: true,
- isValidIdentifier: true,
- isVar: true,
- matchesPattern: true,
- validate: true,
- buildMatchMemberExpression: true
-};
-Object.defineProperty(exports, "addComment", {
- enumerable: true,
- get: function () {
- return _addComment.default;
- }
-});
-Object.defineProperty(exports, "addComments", {
- enumerable: true,
- get: function () {
- return _addComments.default;
- }
-});
-Object.defineProperty(exports, "appendToMemberExpression", {
- enumerable: true,
- get: function () {
- return _appendToMemberExpression.default;
- }
-});
-Object.defineProperty(exports, "assertNode", {
- enumerable: true,
- get: function () {
- return _assertNode.default;
- }
-});
-Object.defineProperty(exports, "buildMatchMemberExpression", {
- enumerable: true,
- get: function () {
- return _buildMatchMemberExpression.default;
- }
-});
-Object.defineProperty(exports, "clone", {
- enumerable: true,
- get: function () {
- return _clone.default;
- }
-});
-Object.defineProperty(exports, "cloneDeep", {
- enumerable: true,
- get: function () {
- return _cloneDeep.default;
- }
-});
-Object.defineProperty(exports, "cloneDeepWithoutLoc", {
- enumerable: true,
- get: function () {
- return _cloneDeepWithoutLoc.default;
- }
-});
-Object.defineProperty(exports, "cloneNode", {
- enumerable: true,
- get: function () {
- return _cloneNode.default;
- }
-});
-Object.defineProperty(exports, "cloneWithoutLoc", {
- enumerable: true,
- get: function () {
- return _cloneWithoutLoc.default;
- }
-});
-Object.defineProperty(exports, "createFlowUnionType", {
- enumerable: true,
- get: function () {
- return _createFlowUnionType.default;
- }
-});
-Object.defineProperty(exports, "createTSUnionType", {
- enumerable: true,
- get: function () {
- return _createTSUnionType.default;
- }
-});
-Object.defineProperty(exports, "createTypeAnnotationBasedOnTypeof", {
- enumerable: true,
- get: function () {
- return _createTypeAnnotationBasedOnTypeof.default;
- }
-});
-Object.defineProperty(exports, "createUnionTypeAnnotation", {
- enumerable: true,
- get: function () {
- return _createFlowUnionType.default;
- }
-});
-Object.defineProperty(exports, "ensureBlock", {
- enumerable: true,
- get: function () {
- return _ensureBlock.default;
- }
-});
-Object.defineProperty(exports, "getBindingIdentifiers", {
- enumerable: true,
- get: function () {
- return _getBindingIdentifiers.default;
- }
-});
-Object.defineProperty(exports, "getOuterBindingIdentifiers", {
- enumerable: true,
- get: function () {
- return _getOuterBindingIdentifiers.default;
- }
-});
-Object.defineProperty(exports, "inheritInnerComments", {
- enumerable: true,
- get: function () {
- return _inheritInnerComments.default;
- }
-});
-Object.defineProperty(exports, "inheritLeadingComments", {
- enumerable: true,
- get: function () {
- return _inheritLeadingComments.default;
- }
-});
-Object.defineProperty(exports, "inheritTrailingComments", {
- enumerable: true,
- get: function () {
- return _inheritTrailingComments.default;
- }
-});
-Object.defineProperty(exports, "inherits", {
- enumerable: true,
- get: function () {
- return _inherits.default;
- }
-});
-Object.defineProperty(exports, "inheritsComments", {
- enumerable: true,
- get: function () {
- return _inheritsComments.default;
- }
-});
-Object.defineProperty(exports, "is", {
- enumerable: true,
- get: function () {
- return _is.default;
- }
-});
-Object.defineProperty(exports, "isBinding", {
- enumerable: true,
- get: function () {
- return _isBinding.default;
- }
-});
-Object.defineProperty(exports, "isBlockScoped", {
- enumerable: true,
- get: function () {
- return _isBlockScoped.default;
- }
-});
-Object.defineProperty(exports, "isImmutable", {
- enumerable: true,
- get: function () {
- return _isImmutable.default;
- }
-});
-Object.defineProperty(exports, "isLet", {
- enumerable: true,
- get: function () {
- return _isLet.default;
- }
-});
-Object.defineProperty(exports, "isNode", {
- enumerable: true,
- get: function () {
- return _isNode.default;
- }
-});
-Object.defineProperty(exports, "isNodesEquivalent", {
- enumerable: true,
- get: function () {
- return _isNodesEquivalent.default;
- }
-});
-Object.defineProperty(exports, "isPlaceholderType", {
- enumerable: true,
- get: function () {
- return _isPlaceholderType.default;
- }
-});
-Object.defineProperty(exports, "isReferenced", {
- enumerable: true,
- get: function () {
- return _isReferenced.default;
- }
-});
-Object.defineProperty(exports, "isScope", {
- enumerable: true,
- get: function () {
- return _isScope.default;
- }
-});
-Object.defineProperty(exports, "isSpecifierDefault", {
- enumerable: true,
- get: function () {
- return _isSpecifierDefault.default;
- }
-});
-Object.defineProperty(exports, "isType", {
- enumerable: true,
- get: function () {
- return _isType.default;
- }
-});
-Object.defineProperty(exports, "isValidES3Identifier", {
- enumerable: true,
- get: function () {
- return _isValidES3Identifier.default;
- }
-});
-Object.defineProperty(exports, "isValidIdentifier", {
- enumerable: true,
- get: function () {
- return _isValidIdentifier.default;
- }
-});
-Object.defineProperty(exports, "isVar", {
- enumerable: true,
- get: function () {
- return _isVar.default;
- }
-});
-Object.defineProperty(exports, "matchesPattern", {
- enumerable: true,
- get: function () {
- return _matchesPattern.default;
- }
-});
-Object.defineProperty(exports, "prependToMemberExpression", {
- enumerable: true,
- get: function () {
- return _prependToMemberExpression.default;
- }
-});
-exports.react = void 0;
-Object.defineProperty(exports, "removeComments", {
- enumerable: true,
- get: function () {
- return _removeComments.default;
- }
-});
-Object.defineProperty(exports, "removeProperties", {
- enumerable: true,
- get: function () {
- return _removeProperties.default;
- }
-});
-Object.defineProperty(exports, "removePropertiesDeep", {
- enumerable: true,
- get: function () {
- return _removePropertiesDeep.default;
- }
-});
-Object.defineProperty(exports, "removeTypeDuplicates", {
- enumerable: true,
- get: function () {
- return _removeTypeDuplicates.default;
- }
-});
-Object.defineProperty(exports, "shallowEqual", {
- enumerable: true,
- get: function () {
- return _shallowEqual.default;
- }
-});
-Object.defineProperty(exports, "toBindingIdentifierName", {
- enumerable: true,
- get: function () {
- return _toBindingIdentifierName.default;
- }
-});
-Object.defineProperty(exports, "toBlock", {
- enumerable: true,
- get: function () {
- return _toBlock.default;
- }
-});
-Object.defineProperty(exports, "toComputedKey", {
- enumerable: true,
- get: function () {
- return _toComputedKey.default;
- }
-});
-Object.defineProperty(exports, "toExpression", {
- enumerable: true,
- get: function () {
- return _toExpression.default;
- }
-});
-Object.defineProperty(exports, "toIdentifier", {
- enumerable: true,
- get: function () {
- return _toIdentifier.default;
- }
-});
-Object.defineProperty(exports, "toKeyAlias", {
- enumerable: true,
- get: function () {
- return _toKeyAlias.default;
- }
-});
-Object.defineProperty(exports, "toSequenceExpression", {
- enumerable: true,
- get: function () {
- return _toSequenceExpression.default;
- }
-});
-Object.defineProperty(exports, "toStatement", {
- enumerable: true,
- get: function () {
- return _toStatement.default;
- }
-});
-Object.defineProperty(exports, "traverse", {
- enumerable: true,
- get: function () {
- return _traverse.default;
- }
-});
-Object.defineProperty(exports, "traverseFast", {
- enumerable: true,
- get: function () {
- return _traverseFast.default;
- }
-});
-Object.defineProperty(exports, "validate", {
- enumerable: true,
- get: function () {
- return _validate.default;
- }
-});
-Object.defineProperty(exports, "valueToNode", {
- enumerable: true,
- get: function () {
- return _valueToNode.default;
- }
-});
-
-var _isReactComponent = require("./validators/react/isReactComponent");
-
-var _isCompatTag = require("./validators/react/isCompatTag");
-
-var _buildChildren = require("./builders/react/buildChildren");
-
-var _assertNode = require("./asserts/assertNode");
-
-var _generated = require("./asserts/generated");
-
-Object.keys(_generated).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _generated[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _generated[key];
- }
- });
-});
-
-var _createTypeAnnotationBasedOnTypeof = require("./builders/flow/createTypeAnnotationBasedOnTypeof");
-
-var _createFlowUnionType = require("./builders/flow/createFlowUnionType");
-
-var _createTSUnionType = require("./builders/typescript/createTSUnionType");
-
-var _generated2 = require("./builders/generated");
-
-Object.keys(_generated2).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _generated2[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _generated2[key];
- }
- });
-});
-
-var _uppercase = require("./builders/generated/uppercase");
-
-Object.keys(_uppercase).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _uppercase[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _uppercase[key];
- }
- });
-});
-
-var _cloneNode = require("./clone/cloneNode");
-
-var _clone = require("./clone/clone");
-
-var _cloneDeep = require("./clone/cloneDeep");
-
-var _cloneDeepWithoutLoc = require("./clone/cloneDeepWithoutLoc");
-
-var _cloneWithoutLoc = require("./clone/cloneWithoutLoc");
-
-var _addComment = require("./comments/addComment");
-
-var _addComments = require("./comments/addComments");
-
-var _inheritInnerComments = require("./comments/inheritInnerComments");
-
-var _inheritLeadingComments = require("./comments/inheritLeadingComments");
-
-var _inheritsComments = require("./comments/inheritsComments");
-
-var _inheritTrailingComments = require("./comments/inheritTrailingComments");
-
-var _removeComments = require("./comments/removeComments");
-
-var _generated3 = require("./constants/generated");
-
-Object.keys(_generated3).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _generated3[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _generated3[key];
- }
- });
-});
-
-var _constants = require("./constants");
-
-Object.keys(_constants).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _constants[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _constants[key];
- }
- });
-});
-
-var _ensureBlock = require("./converters/ensureBlock");
-
-var _toBindingIdentifierName = require("./converters/toBindingIdentifierName");
-
-var _toBlock = require("./converters/toBlock");
-
-var _toComputedKey = require("./converters/toComputedKey");
-
-var _toExpression = require("./converters/toExpression");
-
-var _toIdentifier = require("./converters/toIdentifier");
-
-var _toKeyAlias = require("./converters/toKeyAlias");
-
-var _toSequenceExpression = require("./converters/toSequenceExpression");
-
-var _toStatement = require("./converters/toStatement");
-
-var _valueToNode = require("./converters/valueToNode");
-
-var _definitions = require("./definitions");
-
-Object.keys(_definitions).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _definitions[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _definitions[key];
- }
- });
-});
-
-var _appendToMemberExpression = require("./modifications/appendToMemberExpression");
-
-var _inherits = require("./modifications/inherits");
-
-var _prependToMemberExpression = require("./modifications/prependToMemberExpression");
-
-var _removeProperties = require("./modifications/removeProperties");
-
-var _removePropertiesDeep = require("./modifications/removePropertiesDeep");
-
-var _removeTypeDuplicates = require("./modifications/flow/removeTypeDuplicates");
-
-var _getBindingIdentifiers = require("./retrievers/getBindingIdentifiers");
-
-var _getOuterBindingIdentifiers = require("./retrievers/getOuterBindingIdentifiers");
-
-var _traverse = require("./traverse/traverse");
-
-Object.keys(_traverse).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _traverse[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _traverse[key];
- }
- });
-});
-
-var _traverseFast = require("./traverse/traverseFast");
-
-var _shallowEqual = require("./utils/shallowEqual");
-
-var _is = require("./validators/is");
-
-var _isBinding = require("./validators/isBinding");
-
-var _isBlockScoped = require("./validators/isBlockScoped");
-
-var _isImmutable = require("./validators/isImmutable");
-
-var _isLet = require("./validators/isLet");
-
-var _isNode = require("./validators/isNode");
-
-var _isNodesEquivalent = require("./validators/isNodesEquivalent");
-
-var _isPlaceholderType = require("./validators/isPlaceholderType");
-
-var _isReferenced = require("./validators/isReferenced");
-
-var _isScope = require("./validators/isScope");
-
-var _isSpecifierDefault = require("./validators/isSpecifierDefault");
-
-var _isType = require("./validators/isType");
-
-var _isValidES3Identifier = require("./validators/isValidES3Identifier");
-
-var _isValidIdentifier = require("./validators/isValidIdentifier");
-
-var _isVar = require("./validators/isVar");
-
-var _matchesPattern = require("./validators/matchesPattern");
-
-var _validate = require("./validators/validate");
-
-var _buildMatchMemberExpression = require("./validators/buildMatchMemberExpression");
-
-var _generated4 = require("./validators/generated");
-
-Object.keys(_generated4).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _generated4[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _generated4[key];
- }
- });
-});
-
-var _generated5 = require("./ast-types/generated");
-
-Object.keys(_generated5).forEach(function (key) {
- if (key === "default" || key === "__esModule") return;
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
- if (key in exports && exports[key] === _generated5[key]) return;
- Object.defineProperty(exports, key, {
- enumerable: true,
- get: function () {
- return _generated5[key];
- }
- });
-});
-const react = {
- isReactComponent: _isReactComponent.default,
- isCompatTag: _isCompatTag.default,
- buildChildren: _buildChildren.default
-};
-exports.react = react;
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/index.js.flow b/includes/search/node_modules/@babel/types/lib/index.js.flow
deleted file mode 100644
index 84de6bc..0000000
--- a/includes/search/node_modules/@babel/types/lib/index.js.flow
+++ /dev/null
@@ -1,2586 +0,0 @@
-// NOTE: This file is autogenerated. Do not modify.
-// See packages/babel-types/scripts/generators/flow.js for script used.
-
-declare class BabelNodeComment {
- value: string;
- start: number;
- end: number;
- loc: BabelNodeSourceLocation;
-}
-
-declare class BabelNodeCommentBlock extends BabelNodeComment {
- type: "CommentBlock";
-}
-
-declare class BabelNodeCommentLine extends BabelNodeComment {
- type: "CommentLine";
-}
-
-declare class BabelNodeSourceLocation {
- start: {
- line: number;
- column: number;
- };
-
- end: {
- line: number;
- column: number;
- };
-}
-
-declare class BabelNode {
- leadingComments?: Array<BabelNodeComment>;
- innerComments?: Array<BabelNodeComment>;
- trailingComments?: Array<BabelNodeComment>;
- start: ?number;
- end: ?number;
- loc: ?BabelNodeSourceLocation;
- extra?: { [string]: mixed };
-}
-
-declare class BabelNodeArrayExpression extends BabelNode {
- type: "ArrayExpression";
- elements?: Array<null | BabelNodeExpression | BabelNodeSpreadElement>;
-}
-
-declare class BabelNodeAssignmentExpression extends BabelNode {
- type: "AssignmentExpression";
- operator: string;
- left: BabelNodeLVal;
- right: BabelNodeExpression;
-}
-
-declare class BabelNodeBinaryExpression extends BabelNode {
- type: "BinaryExpression";
- operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>";
- left: BabelNodeExpression | BabelNodePrivateName;
- right: BabelNodeExpression;
-}
-
-declare class BabelNodeInterpreterDirective extends BabelNode {
- type: "InterpreterDirective";
- value: string;
-}
-
-declare class BabelNodeDirective extends BabelNode {
- type: "Directive";
- value: BabelNodeDirectiveLiteral;
-}
-
-declare class BabelNodeDirectiveLiteral extends BabelNode {
- type: "DirectiveLiteral";
- value: string;
-}
-
-declare class BabelNodeBlockStatement extends BabelNode {
- type: "BlockStatement";
- body: Array<BabelNodeStatement>;
- directives?: Array<BabelNodeDirective>;
-}
-
-declare class BabelNodeBreakStatement extends BabelNode {
- type: "BreakStatement";
- label?: BabelNodeIdentifier;
-}
-
-declare class BabelNodeCallExpression extends BabelNode {
- type: "CallExpression";
- callee: BabelNodeExpression | BabelNodeSuper | BabelNodeV8IntrinsicIdentifier;
- arguments: Array<BabelNodeExpression | BabelNodeSpreadElement | BabelNodeJSXNamespacedName | BabelNodeArgumentPlaceholder>;
- optional?: true | false;
- typeArguments?: BabelNodeTypeParameterInstantiation;
- typeParameters?: BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeCatchClause extends BabelNode {
- type: "CatchClause";
- param?: BabelNodeIdentifier | BabelNodeArrayPattern | BabelNodeObjectPattern;
- body: BabelNodeBlockStatement;
-}
-
-declare class BabelNodeConditionalExpression extends BabelNode {
- type: "ConditionalExpression";
- test: BabelNodeExpression;
- consequent: BabelNodeExpression;
- alternate: BabelNodeExpression;
-}
-
-declare class BabelNodeContinueStatement extends BabelNode {
- type: "ContinueStatement";
- label?: BabelNodeIdentifier;
-}
-
-declare class BabelNodeDebuggerStatement extends BabelNode {
- type: "DebuggerStatement";
-}
-
-declare class BabelNodeDoWhileStatement extends BabelNode {
- type: "DoWhileStatement";
- test: BabelNodeExpression;
- body: BabelNodeStatement;
-}
-
-declare class BabelNodeEmptyStatement extends BabelNode {
- type: "EmptyStatement";
-}
-
-declare class BabelNodeExpressionStatement extends BabelNode {
- type: "ExpressionStatement";
- expression: BabelNodeExpression;
-}
-
-declare class BabelNodeFile extends BabelNode {
- type: "File";
- program: BabelNodeProgram;
- comments?: Array<BabelNodeCommentBlock | BabelNodeCommentLine>;
- tokens?: Array<any>;
-}
-
-declare class BabelNodeForInStatement extends BabelNode {
- type: "ForInStatement";
- left: BabelNodeVariableDeclaration | BabelNodeLVal;
- right: BabelNodeExpression;
- body: BabelNodeStatement;
-}
-
-declare class BabelNodeForStatement extends BabelNode {
- type: "ForStatement";
- init?: BabelNodeVariableDeclaration | BabelNodeExpression;
- test?: BabelNodeExpression;
- update?: BabelNodeExpression;
- body: BabelNodeStatement;
-}
-
-declare class BabelNodeFunctionDeclaration extends BabelNode {
- type: "FunctionDeclaration";
- id?: BabelNodeIdentifier;
- params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>;
- body: BabelNodeBlockStatement;
- generator?: boolean;
- async?: boolean;
- declare?: boolean;
- predicate?: BabelNodeDeclaredPredicate | BabelNodeInferredPredicate;
- returnType?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
- typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
-}
-
-declare class BabelNodeFunctionExpression extends BabelNode {
- type: "FunctionExpression";
- id?: BabelNodeIdentifier;
- params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>;
- body: BabelNodeBlockStatement;
- generator?: boolean;
- async?: boolean;
- predicate?: BabelNodeDeclaredPredicate | BabelNodeInferredPredicate;
- returnType?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
- typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
-}
-
-declare class BabelNodeIdentifier extends BabelNode {
- type: "Identifier";
- name: string;
- decorators?: Array<BabelNodeDecorator>;
- optional?: boolean;
- typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
-}
-
-declare class BabelNodeIfStatement extends BabelNode {
- type: "IfStatement";
- test: BabelNodeExpression;
- consequent: BabelNodeStatement;
- alternate?: BabelNodeStatement;
-}
-
-declare class BabelNodeLabeledStatement extends BabelNode {
- type: "LabeledStatement";
- label: BabelNodeIdentifier;
- body: BabelNodeStatement;
-}
-
-declare class BabelNodeStringLiteral extends BabelNode {
- type: "StringLiteral";
- value: string;
-}
-
-declare class BabelNodeNumericLiteral extends BabelNode {
- type: "NumericLiteral";
- value: number;
-}
-
-declare class BabelNodeNullLiteral extends BabelNode {
- type: "NullLiteral";
-}
-
-declare class BabelNodeBooleanLiteral extends BabelNode {
- type: "BooleanLiteral";
- value: boolean;
-}
-
-declare class BabelNodeRegExpLiteral extends BabelNode {
- type: "RegExpLiteral";
- pattern: string;
- flags?: string;
-}
-
-declare class BabelNodeLogicalExpression extends BabelNode {
- type: "LogicalExpression";
- operator: "||" | "&&" | "??";
- left: BabelNodeExpression;
- right: BabelNodeExpression;
-}
-
-declare class BabelNodeMemberExpression extends BabelNode {
- type: "MemberExpression";
- object: BabelNodeExpression | BabelNodeSuper;
- property: BabelNodeExpression | BabelNodeIdentifier | BabelNodePrivateName;
- computed?: boolean;
- optional?: true | false;
-}
-
-declare class BabelNodeNewExpression extends BabelNode {
- type: "NewExpression";
- callee: BabelNodeExpression | BabelNodeSuper | BabelNodeV8IntrinsicIdentifier;
- arguments: Array<BabelNodeExpression | BabelNodeSpreadElement | BabelNodeJSXNamespacedName | BabelNodeArgumentPlaceholder>;
- optional?: true | false;
- typeArguments?: BabelNodeTypeParameterInstantiation;
- typeParameters?: BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeProgram extends BabelNode {
- type: "Program";
- body: Array<BabelNodeStatement>;
- directives?: Array<BabelNodeDirective>;
- sourceType?: "script" | "module";
- interpreter?: BabelNodeInterpreterDirective;
- sourceFile: string;
-}
-
-declare class BabelNodeObjectExpression extends BabelNode {
- type: "ObjectExpression";
- properties: Array<BabelNodeObjectMethod | BabelNodeObjectProperty | BabelNodeSpreadElement>;
-}
-
-declare class BabelNodeObjectMethod extends BabelNode {
- type: "ObjectMethod";
- kind?: "method" | "get" | "set";
- key: BabelNodeExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral;
- params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>;
- body: BabelNodeBlockStatement;
- computed?: boolean;
- generator?: boolean;
- async?: boolean;
- decorators?: Array<BabelNodeDecorator>;
- returnType?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
- typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
-}
-
-declare class BabelNodeObjectProperty extends BabelNode {
- type: "ObjectProperty";
- key: BabelNodeExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeDecimalLiteral | BabelNodePrivateName;
- value: BabelNodeExpression | BabelNodePatternLike;
- computed?: boolean;
- shorthand?: boolean;
- decorators?: Array<BabelNodeDecorator>;
-}
-
-declare class BabelNodeRestElement extends BabelNode {
- type: "RestElement";
- argument: BabelNodeLVal;
- decorators?: Array<BabelNodeDecorator>;
- optional?: boolean;
- typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
-}
-
-declare class BabelNodeReturnStatement extends BabelNode {
- type: "ReturnStatement";
- argument?: BabelNodeExpression;
-}
-
-declare class BabelNodeSequenceExpression extends BabelNode {
- type: "SequenceExpression";
- expressions: Array<BabelNodeExpression>;
-}
-
-declare class BabelNodeParenthesizedExpression extends BabelNode {
- type: "ParenthesizedExpression";
- expression: BabelNodeExpression;
-}
-
-declare class BabelNodeSwitchCase extends BabelNode {
- type: "SwitchCase";
- test?: BabelNodeExpression;
- consequent: Array<BabelNodeStatement>;
-}
-
-declare class BabelNodeSwitchStatement extends BabelNode {
- type: "SwitchStatement";
- discriminant: BabelNodeExpression;
- cases: Array<BabelNodeSwitchCase>;
-}
-
-declare class BabelNodeThisExpression extends BabelNode {
- type: "ThisExpression";
-}
-
-declare class BabelNodeThrowStatement extends BabelNode {
- type: "ThrowStatement";
- argument: BabelNodeExpression;
-}
-
-declare class BabelNodeTryStatement extends BabelNode {
- type: "TryStatement";
- block: BabelNodeBlockStatement;
- handler?: BabelNodeCatchClause;
- finalizer?: BabelNodeBlockStatement;
-}
-
-declare class BabelNodeUnaryExpression extends BabelNode {
- type: "UnaryExpression";
- operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof";
- argument: BabelNodeExpression;
- prefix?: boolean;
-}
-
-declare class BabelNodeUpdateExpression extends BabelNode {
- type: "UpdateExpression";
- operator: "++" | "--";
- argument: BabelNodeExpression;
- prefix?: boolean;
-}
-
-declare class BabelNodeVariableDeclaration extends BabelNode {
- type: "VariableDeclaration";
- kind: "var" | "let" | "const";
- declarations: Array<BabelNodeVariableDeclarator>;
- declare?: boolean;
-}
-
-declare class BabelNodeVariableDeclarator extends BabelNode {
- type: "VariableDeclarator";
- id: BabelNodeLVal;
- init?: BabelNodeExpression;
- definite?: boolean;
-}
-
-declare class BabelNodeWhileStatement extends BabelNode {
- type: "WhileStatement";
- test: BabelNodeExpression;
- body: BabelNodeStatement;
-}
-
-declare class BabelNodeWithStatement extends BabelNode {
- type: "WithStatement";
- object: BabelNodeExpression;
- body: BabelNodeStatement;
-}
-
-declare class BabelNodeAssignmentPattern extends BabelNode {
- type: "AssignmentPattern";
- left: BabelNodeIdentifier | BabelNodeObjectPattern | BabelNodeArrayPattern | BabelNodeMemberExpression | BabelNodeTSAsExpression | BabelNodeTSTypeAssertion | BabelNodeTSNonNullExpression;
- right: BabelNodeExpression;
- decorators?: Array<BabelNodeDecorator>;
- typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
-}
-
-declare class BabelNodeArrayPattern extends BabelNode {
- type: "ArrayPattern";
- elements: Array<null | BabelNodePatternLike | BabelNodeLVal>;
- decorators?: Array<BabelNodeDecorator>;
- optional?: boolean;
- typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
-}
-
-declare class BabelNodeArrowFunctionExpression extends BabelNode {
- type: "ArrowFunctionExpression";
- params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>;
- body: BabelNodeBlockStatement | BabelNodeExpression;
- async?: boolean;
- expression: boolean;
- generator?: boolean;
- predicate?: BabelNodeDeclaredPredicate | BabelNodeInferredPredicate;
- returnType?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
- typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
-}
-
-declare class BabelNodeClassBody extends BabelNode {
- type: "ClassBody";
- body: Array<BabelNodeClassMethod | BabelNodeClassPrivateMethod | BabelNodeClassProperty | BabelNodeClassPrivateProperty | BabelNodeClassAccessorProperty | BabelNodeTSDeclareMethod | BabelNodeTSIndexSignature | BabelNodeStaticBlock>;
-}
-
-declare class BabelNodeClassExpression extends BabelNode {
- type: "ClassExpression";
- id?: BabelNodeIdentifier;
- superClass?: BabelNodeExpression;
- body: BabelNodeClassBody;
- decorators?: Array<BabelNodeDecorator>;
- mixins?: BabelNodeInterfaceExtends;
- superTypeParameters?: BabelNodeTypeParameterInstantiation | BabelNodeTSTypeParameterInstantiation;
- typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
-}
-
-declare class BabelNodeClassDeclaration extends BabelNode {
- type: "ClassDeclaration";
- id: BabelNodeIdentifier;
- superClass?: BabelNodeExpression;
- body: BabelNodeClassBody;
- decorators?: Array<BabelNodeDecorator>;
- abstract?: boolean;
- declare?: boolean;
- mixins?: BabelNodeInterfaceExtends;
- superTypeParameters?: BabelNodeTypeParameterInstantiation | BabelNodeTSTypeParameterInstantiation;
- typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
-}
-
-declare class BabelNodeExportAllDeclaration extends BabelNode {
- type: "ExportAllDeclaration";
- source: BabelNodeStringLiteral;
- assertions?: Array<BabelNodeImportAttribute>;
- exportKind?: "type" | "value";
-}
-
-declare class BabelNodeExportDefaultDeclaration extends BabelNode {
- type: "ExportDefaultDeclaration";
- declaration: BabelNodeTSDeclareFunction | BabelNodeFunctionDeclaration | BabelNodeClassDeclaration | BabelNodeExpression;
- exportKind?: "value";
-}
-
-declare class BabelNodeExportNamedDeclaration extends BabelNode {
- type: "ExportNamedDeclaration";
- declaration?: BabelNodeDeclaration;
- specifiers?: Array<BabelNodeExportSpecifier | BabelNodeExportDefaultSpecifier | BabelNodeExportNamespaceSpecifier>;
- source?: BabelNodeStringLiteral;
- assertions?: Array<BabelNodeImportAttribute>;
- exportKind?: "type" | "value";
-}
-
-declare class BabelNodeExportSpecifier extends BabelNode {
- type: "ExportSpecifier";
- local: BabelNodeIdentifier;
- exported: BabelNodeIdentifier | BabelNodeStringLiteral;
- exportKind?: "type" | "value";
-}
-
-declare class BabelNodeForOfStatement extends BabelNode {
- type: "ForOfStatement";
- left: BabelNodeVariableDeclaration | BabelNodeLVal;
- right: BabelNodeExpression;
- body: BabelNodeStatement;
-}
-
-declare class BabelNodeImportDeclaration extends BabelNode {
- type: "ImportDeclaration";
- specifiers: Array<BabelNodeImportSpecifier | BabelNodeImportDefaultSpecifier | BabelNodeImportNamespaceSpecifier>;
- source: BabelNodeStringLiteral;
- assertions?: Array<BabelNodeImportAttribute>;
- importKind?: "type" | "typeof" | "value";
-}
-
-declare class BabelNodeImportDefaultSpecifier extends BabelNode {
- type: "ImportDefaultSpecifier";
- local: BabelNodeIdentifier;
-}
-
-declare class BabelNodeImportNamespaceSpecifier extends BabelNode {
- type: "ImportNamespaceSpecifier";
- local: BabelNodeIdentifier;
-}
-
-declare class BabelNodeImportSpecifier extends BabelNode {
- type: "ImportSpecifier";
- local: BabelNodeIdentifier;
- imported: BabelNodeIdentifier | BabelNodeStringLiteral;
- importKind?: "type" | "typeof" | "value";
-}
-
-declare class BabelNodeMetaProperty extends BabelNode {
- type: "MetaProperty";
- meta: BabelNodeIdentifier;
- property: BabelNodeIdentifier;
-}
-
-declare class BabelNodeClassMethod extends BabelNode {
- type: "ClassMethod";
- kind?: "get" | "set" | "method" | "constructor";
- key: BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeExpression;
- params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement | BabelNodeTSParameterProperty>;
- body: BabelNodeBlockStatement;
- computed?: boolean;
- generator?: boolean;
- async?: boolean;
- abstract?: boolean;
- access?: "public" | "private" | "protected";
- accessibility?: "public" | "private" | "protected";
- decorators?: Array<BabelNodeDecorator>;
- optional?: boolean;
- override?: boolean;
- returnType?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
- typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
-}
-
-declare class BabelNodeObjectPattern extends BabelNode {
- type: "ObjectPattern";
- properties: Array<BabelNodeRestElement | BabelNodeObjectProperty>;
- decorators?: Array<BabelNodeDecorator>;
- typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
-}
-
-declare class BabelNodeSpreadElement extends BabelNode {
- type: "SpreadElement";
- argument: BabelNodeExpression;
-}
-
-declare class BabelNodeSuper extends BabelNode {
- type: "Super";
-}
-
-declare class BabelNodeTaggedTemplateExpression extends BabelNode {
- type: "TaggedTemplateExpression";
- tag: BabelNodeExpression;
- quasi: BabelNodeTemplateLiteral;
- typeParameters?: BabelNodeTypeParameterInstantiation | BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeTemplateElement extends BabelNode {
- type: "TemplateElement";
- value: { raw: string, cooked?: string };
- tail?: boolean;
-}
-
-declare class BabelNodeTemplateLiteral extends BabelNode {
- type: "TemplateLiteral";
- quasis: Array<BabelNodeTemplateElement>;
- expressions: Array<BabelNodeExpression | BabelNodeTSType>;
-}
-
-declare class BabelNodeYieldExpression extends BabelNode {
- type: "YieldExpression";
- argument?: BabelNodeExpression;
- delegate?: boolean;
-}
-
-declare class BabelNodeAwaitExpression extends BabelNode {
- type: "AwaitExpression";
- argument: BabelNodeExpression;
-}
-
-declare class BabelNodeImport extends BabelNode {
- type: "Import";
-}
-
-declare class BabelNodeBigIntLiteral extends BabelNode {
- type: "BigIntLiteral";
- value: string;
-}
-
-declare class BabelNodeExportNamespaceSpecifier extends BabelNode {
- type: "ExportNamespaceSpecifier";
- exported: BabelNodeIdentifier;
-}
-
-declare class BabelNodeOptionalMemberExpression extends BabelNode {
- type: "OptionalMemberExpression";
- object: BabelNodeExpression;
- property: BabelNodeExpression | BabelNodeIdentifier;
- computed?: boolean;
- optional: boolean;
-}
-
-declare class BabelNodeOptionalCallExpression extends BabelNode {
- type: "OptionalCallExpression";
- callee: BabelNodeExpression;
- arguments: Array<BabelNodeExpression | BabelNodeSpreadElement | BabelNodeJSXNamespacedName | BabelNodeArgumentPlaceholder>;
- optional: boolean;
- typeArguments?: BabelNodeTypeParameterInstantiation;
- typeParameters?: BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeClassProperty extends BabelNode {
- type: "ClassProperty";
- key: BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeExpression;
- value?: BabelNodeExpression;
- typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
- decorators?: Array<BabelNodeDecorator>;
- computed?: boolean;
- abstract?: boolean;
- accessibility?: "public" | "private" | "protected";
- declare?: boolean;
- definite?: boolean;
- optional?: boolean;
- override?: boolean;
- readonly?: boolean;
- variance?: BabelNodeVariance;
-}
-
-declare class BabelNodeClassAccessorProperty extends BabelNode {
- type: "ClassAccessorProperty";
- key: BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeExpression | BabelNodePrivateName;
- value?: BabelNodeExpression;
- typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
- decorators?: Array<BabelNodeDecorator>;
- computed?: boolean;
- abstract?: boolean;
- accessibility?: "public" | "private" | "protected";
- declare?: boolean;
- definite?: boolean;
- optional?: boolean;
- override?: boolean;
- readonly?: boolean;
- variance?: BabelNodeVariance;
-}
-
-declare class BabelNodeClassPrivateProperty extends BabelNode {
- type: "ClassPrivateProperty";
- key: BabelNodePrivateName;
- value?: BabelNodeExpression;
- decorators?: Array<BabelNodeDecorator>;
- definite?: boolean;
- readonly?: boolean;
- typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
- variance?: BabelNodeVariance;
-}
-
-declare class BabelNodeClassPrivateMethod extends BabelNode {
- type: "ClassPrivateMethod";
- kind?: "get" | "set" | "method";
- key: BabelNodePrivateName;
- params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement | BabelNodeTSParameterProperty>;
- body: BabelNodeBlockStatement;
- abstract?: boolean;
- access?: "public" | "private" | "protected";
- accessibility?: "public" | "private" | "protected";
- async?: boolean;
- computed?: boolean;
- decorators?: Array<BabelNodeDecorator>;
- generator?: boolean;
- optional?: boolean;
- override?: boolean;
- returnType?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop;
- typeParameters?: BabelNodeTypeParameterDeclaration | BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
-}
-
-declare class BabelNodePrivateName extends BabelNode {
- type: "PrivateName";
- id: BabelNodeIdentifier;
-}
-
-declare class BabelNodeStaticBlock extends BabelNode {
- type: "StaticBlock";
- body: Array<BabelNodeStatement>;
-}
-
-declare class BabelNodeAnyTypeAnnotation extends BabelNode {
- type: "AnyTypeAnnotation";
-}
-
-declare class BabelNodeArrayTypeAnnotation extends BabelNode {
- type: "ArrayTypeAnnotation";
- elementType: BabelNodeFlowType;
-}
-
-declare class BabelNodeBooleanTypeAnnotation extends BabelNode {
- type: "BooleanTypeAnnotation";
-}
-
-declare class BabelNodeBooleanLiteralTypeAnnotation extends BabelNode {
- type: "BooleanLiteralTypeAnnotation";
- value: boolean;
-}
-
-declare class BabelNodeNullLiteralTypeAnnotation extends BabelNode {
- type: "NullLiteralTypeAnnotation";
-}
-
-declare class BabelNodeClassImplements extends BabelNode {
- type: "ClassImplements";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTypeParameterInstantiation;
-}
-
-declare class BabelNodeDeclareClass extends BabelNode {
- type: "DeclareClass";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTypeParameterDeclaration;
- body: BabelNodeObjectTypeAnnotation;
- mixins?: Array<BabelNodeInterfaceExtends>;
-}
-
-declare class BabelNodeDeclareFunction extends BabelNode {
- type: "DeclareFunction";
- id: BabelNodeIdentifier;
- predicate?: BabelNodeDeclaredPredicate;
-}
-
-declare class BabelNodeDeclareInterface extends BabelNode {
- type: "DeclareInterface";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTypeParameterDeclaration;
- body: BabelNodeObjectTypeAnnotation;
- mixins?: Array<BabelNodeInterfaceExtends>;
-}
-
-declare class BabelNodeDeclareModule extends BabelNode {
- type: "DeclareModule";
- id: BabelNodeIdentifier | BabelNodeStringLiteral;
- body: BabelNodeBlockStatement;
- kind?: "CommonJS" | "ES";
-}
-
-declare class BabelNodeDeclareModuleExports extends BabelNode {
- type: "DeclareModuleExports";
- typeAnnotation: BabelNodeTypeAnnotation;
-}
-
-declare class BabelNodeDeclareTypeAlias extends BabelNode {
- type: "DeclareTypeAlias";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTypeParameterDeclaration;
- right: BabelNodeFlowType;
-}
-
-declare class BabelNodeDeclareOpaqueType extends BabelNode {
- type: "DeclareOpaqueType";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTypeParameterDeclaration;
- supertype?: BabelNodeFlowType;
- impltype?: BabelNodeFlowType;
-}
-
-declare class BabelNodeDeclareVariable extends BabelNode {
- type: "DeclareVariable";
- id: BabelNodeIdentifier;
-}
-
-declare class BabelNodeDeclareExportDeclaration extends BabelNode {
- type: "DeclareExportDeclaration";
- declaration?: BabelNodeFlow;
- specifiers?: Array<BabelNodeExportSpecifier | BabelNodeExportNamespaceSpecifier>;
- source?: BabelNodeStringLiteral;
-}
-
-declare class BabelNodeDeclareExportAllDeclaration extends BabelNode {
- type: "DeclareExportAllDeclaration";
- source: BabelNodeStringLiteral;
- exportKind?: "type" | "value";
-}
-
-declare class BabelNodeDeclaredPredicate extends BabelNode {
- type: "DeclaredPredicate";
- value: BabelNodeFlow;
-}
-
-declare class BabelNodeExistsTypeAnnotation extends BabelNode {
- type: "ExistsTypeAnnotation";
-}
-
-declare class BabelNodeFunctionTypeAnnotation extends BabelNode {
- type: "FunctionTypeAnnotation";
- typeParameters?: BabelNodeTypeParameterDeclaration;
- params: Array<BabelNodeFunctionTypeParam>;
- rest?: BabelNodeFunctionTypeParam;
- returnType: BabelNodeFlowType;
-}
-
-declare class BabelNodeFunctionTypeParam extends BabelNode {
- type: "FunctionTypeParam";
- name?: BabelNodeIdentifier;
- typeAnnotation: BabelNodeFlowType;
- optional?: boolean;
-}
-
-declare class BabelNodeGenericTypeAnnotation extends BabelNode {
- type: "GenericTypeAnnotation";
- id: BabelNodeIdentifier | BabelNodeQualifiedTypeIdentifier;
- typeParameters?: BabelNodeTypeParameterInstantiation;
-}
-
-declare class BabelNodeInferredPredicate extends BabelNode {
- type: "InferredPredicate";
-}
-
-declare class BabelNodeInterfaceExtends extends BabelNode {
- type: "InterfaceExtends";
- id: BabelNodeIdentifier | BabelNodeQualifiedTypeIdentifier;
- typeParameters?: BabelNodeTypeParameterInstantiation;
-}
-
-declare class BabelNodeInterfaceDeclaration extends BabelNode {
- type: "InterfaceDeclaration";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTypeParameterDeclaration;
- body: BabelNodeObjectTypeAnnotation;
- mixins?: Array<BabelNodeInterfaceExtends>;
-}
-
-declare class BabelNodeInterfaceTypeAnnotation extends BabelNode {
- type: "InterfaceTypeAnnotation";
- body: BabelNodeObjectTypeAnnotation;
-}
-
-declare class BabelNodeIntersectionTypeAnnotation extends BabelNode {
- type: "IntersectionTypeAnnotation";
- types: Array<BabelNodeFlowType>;
-}
-
-declare class BabelNodeMixedTypeAnnotation extends BabelNode {
- type: "MixedTypeAnnotation";
-}
-
-declare class BabelNodeEmptyTypeAnnotation extends BabelNode {
- type: "EmptyTypeAnnotation";
-}
-
-declare class BabelNodeNullableTypeAnnotation extends BabelNode {
- type: "NullableTypeAnnotation";
- typeAnnotation: BabelNodeFlowType;
-}
-
-declare class BabelNodeNumberLiteralTypeAnnotation extends BabelNode {
- type: "NumberLiteralTypeAnnotation";
- value: number;
-}
-
-declare class BabelNodeNumberTypeAnnotation extends BabelNode {
- type: "NumberTypeAnnotation";
-}
-
-declare class BabelNodeObjectTypeAnnotation extends BabelNode {
- type: "ObjectTypeAnnotation";
- properties: Array<BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty>;
- indexers?: Array<BabelNodeObjectTypeIndexer>;
- callProperties?: Array<BabelNodeObjectTypeCallProperty>;
- internalSlots?: Array<BabelNodeObjectTypeInternalSlot>;
- exact?: boolean;
- inexact?: boolean;
-}
-
-declare class BabelNodeObjectTypeInternalSlot extends BabelNode {
- type: "ObjectTypeInternalSlot";
- id: BabelNodeIdentifier;
- value: BabelNodeFlowType;
- optional: boolean;
- method: boolean;
-}
-
-declare class BabelNodeObjectTypeCallProperty extends BabelNode {
- type: "ObjectTypeCallProperty";
- value: BabelNodeFlowType;
-}
-
-declare class BabelNodeObjectTypeIndexer extends BabelNode {
- type: "ObjectTypeIndexer";
- id?: BabelNodeIdentifier;
- key: BabelNodeFlowType;
- value: BabelNodeFlowType;
- variance?: BabelNodeVariance;
-}
-
-declare class BabelNodeObjectTypeProperty extends BabelNode {
- type: "ObjectTypeProperty";
- key: BabelNodeIdentifier | BabelNodeStringLiteral;
- value: BabelNodeFlowType;
- variance?: BabelNodeVariance;
- kind: "init" | "get" | "set";
- method: boolean;
- optional: boolean;
- proto: boolean;
-}
-
-declare class BabelNodeObjectTypeSpreadProperty extends BabelNode {
- type: "ObjectTypeSpreadProperty";
- argument: BabelNodeFlowType;
-}
-
-declare class BabelNodeOpaqueType extends BabelNode {
- type: "OpaqueType";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTypeParameterDeclaration;
- supertype?: BabelNodeFlowType;
- impltype: BabelNodeFlowType;
-}
-
-declare class BabelNodeQualifiedTypeIdentifier extends BabelNode {
- type: "QualifiedTypeIdentifier";
- id: BabelNodeIdentifier;
- qualification: BabelNodeIdentifier | BabelNodeQualifiedTypeIdentifier;
-}
-
-declare class BabelNodeStringLiteralTypeAnnotation extends BabelNode {
- type: "StringLiteralTypeAnnotation";
- value: string;
-}
-
-declare class BabelNodeStringTypeAnnotation extends BabelNode {
- type: "StringTypeAnnotation";
-}
-
-declare class BabelNodeSymbolTypeAnnotation extends BabelNode {
- type: "SymbolTypeAnnotation";
-}
-
-declare class BabelNodeThisTypeAnnotation extends BabelNode {
- type: "ThisTypeAnnotation";
-}
-
-declare class BabelNodeTupleTypeAnnotation extends BabelNode {
- type: "TupleTypeAnnotation";
- types: Array<BabelNodeFlowType>;
-}
-
-declare class BabelNodeTypeofTypeAnnotation extends BabelNode {
- type: "TypeofTypeAnnotation";
- argument: BabelNodeFlowType;
-}
-
-declare class BabelNodeTypeAlias extends BabelNode {
- type: "TypeAlias";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTypeParameterDeclaration;
- right: BabelNodeFlowType;
-}
-
-declare class BabelNodeTypeAnnotation extends BabelNode {
- type: "TypeAnnotation";
- typeAnnotation: BabelNodeFlowType;
-}
-
-declare class BabelNodeTypeCastExpression extends BabelNode {
- type: "TypeCastExpression";
- expression: BabelNodeExpression;
- typeAnnotation: BabelNodeTypeAnnotation;
-}
-
-declare class BabelNodeTypeParameter extends BabelNode {
- type: "TypeParameter";
- bound?: BabelNodeTypeAnnotation;
- variance?: BabelNodeVariance;
- name: string;
-}
-
-declare class BabelNodeTypeParameterDeclaration extends BabelNode {
- type: "TypeParameterDeclaration";
- params: Array<BabelNodeTypeParameter>;
-}
-
-declare class BabelNodeTypeParameterInstantiation extends BabelNode {
- type: "TypeParameterInstantiation";
- params: Array<BabelNodeFlowType>;
-}
-
-declare class BabelNodeUnionTypeAnnotation extends BabelNode {
- type: "UnionTypeAnnotation";
- types: Array<BabelNodeFlowType>;
-}
-
-declare class BabelNodeVariance extends BabelNode {
- type: "Variance";
- kind: "minus" | "plus";
-}
-
-declare class BabelNodeVoidTypeAnnotation extends BabelNode {
- type: "VoidTypeAnnotation";
-}
-
-declare class BabelNodeEnumDeclaration extends BabelNode {
- type: "EnumDeclaration";
- id: BabelNodeIdentifier;
- body: BabelNodeEnumBooleanBody | BabelNodeEnumNumberBody | BabelNodeEnumStringBody | BabelNodeEnumSymbolBody;
-}
-
-declare class BabelNodeEnumBooleanBody extends BabelNode {
- type: "EnumBooleanBody";
- members: Array<BabelNodeEnumBooleanMember>;
- explicitType: boolean;
- hasUnknownMembers: boolean;
-}
-
-declare class BabelNodeEnumNumberBody extends BabelNode {
- type: "EnumNumberBody";
- members: Array<BabelNodeEnumNumberMember>;
- explicitType: boolean;
- hasUnknownMembers: boolean;
-}
-
-declare class BabelNodeEnumStringBody extends BabelNode {
- type: "EnumStringBody";
- members: Array<BabelNodeEnumStringMember | BabelNodeEnumDefaultedMember>;
- explicitType: boolean;
- hasUnknownMembers: boolean;
-}
-
-declare class BabelNodeEnumSymbolBody extends BabelNode {
- type: "EnumSymbolBody";
- members: Array<BabelNodeEnumDefaultedMember>;
- hasUnknownMembers: boolean;
-}
-
-declare class BabelNodeEnumBooleanMember extends BabelNode {
- type: "EnumBooleanMember";
- id: BabelNodeIdentifier;
- init: BabelNodeBooleanLiteral;
-}
-
-declare class BabelNodeEnumNumberMember extends BabelNode {
- type: "EnumNumberMember";
- id: BabelNodeIdentifier;
- init: BabelNodeNumericLiteral;
-}
-
-declare class BabelNodeEnumStringMember extends BabelNode {
- type: "EnumStringMember";
- id: BabelNodeIdentifier;
- init: BabelNodeStringLiteral;
-}
-
-declare class BabelNodeEnumDefaultedMember extends BabelNode {
- type: "EnumDefaultedMember";
- id: BabelNodeIdentifier;
-}
-
-declare class BabelNodeIndexedAccessType extends BabelNode {
- type: "IndexedAccessType";
- objectType: BabelNodeFlowType;
- indexType: BabelNodeFlowType;
-}
-
-declare class BabelNodeOptionalIndexedAccessType extends BabelNode {
- type: "OptionalIndexedAccessType";
- objectType: BabelNodeFlowType;
- indexType: BabelNodeFlowType;
- optional: boolean;
-}
-
-declare class BabelNodeJSXAttribute extends BabelNode {
- type: "JSXAttribute";
- name: BabelNodeJSXIdentifier | BabelNodeJSXNamespacedName;
- value?: BabelNodeJSXElement | BabelNodeJSXFragment | BabelNodeStringLiteral | BabelNodeJSXExpressionContainer;
-}
-
-declare class BabelNodeJSXClosingElement extends BabelNode {
- type: "JSXClosingElement";
- name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName;
-}
-
-declare class BabelNodeJSXElement extends BabelNode {
- type: "JSXElement";
- openingElement: BabelNodeJSXOpeningElement;
- closingElement?: BabelNodeJSXClosingElement;
- children: Array<BabelNodeJSXText | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXElement | BabelNodeJSXFragment>;
- selfClosing?: boolean;
-}
-
-declare class BabelNodeJSXEmptyExpression extends BabelNode {
- type: "JSXEmptyExpression";
-}
-
-declare class BabelNodeJSXExpressionContainer extends BabelNode {
- type: "JSXExpressionContainer";
- expression: BabelNodeExpression | BabelNodeJSXEmptyExpression;
-}
-
-declare class BabelNodeJSXSpreadChild extends BabelNode {
- type: "JSXSpreadChild";
- expression: BabelNodeExpression;
-}
-
-declare class BabelNodeJSXIdentifier extends BabelNode {
- type: "JSXIdentifier";
- name: string;
-}
-
-declare class BabelNodeJSXMemberExpression extends BabelNode {
- type: "JSXMemberExpression";
- object: BabelNodeJSXMemberExpression | BabelNodeJSXIdentifier;
- property: BabelNodeJSXIdentifier;
-}
-
-declare class BabelNodeJSXNamespacedName extends BabelNode {
- type: "JSXNamespacedName";
- namespace: BabelNodeJSXIdentifier;
- name: BabelNodeJSXIdentifier;
-}
-
-declare class BabelNodeJSXOpeningElement extends BabelNode {
- type: "JSXOpeningElement";
- name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName;
- attributes: Array<BabelNodeJSXAttribute | BabelNodeJSXSpreadAttribute>;
- selfClosing?: boolean;
- typeParameters?: BabelNodeTypeParameterInstantiation | BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeJSXSpreadAttribute extends BabelNode {
- type: "JSXSpreadAttribute";
- argument: BabelNodeExpression;
-}
-
-declare class BabelNodeJSXText extends BabelNode {
- type: "JSXText";
- value: string;
-}
-
-declare class BabelNodeJSXFragment extends BabelNode {
- type: "JSXFragment";
- openingFragment: BabelNodeJSXOpeningFragment;
- closingFragment: BabelNodeJSXClosingFragment;
- children: Array<BabelNodeJSXText | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXElement | BabelNodeJSXFragment>;
-}
-
-declare class BabelNodeJSXOpeningFragment extends BabelNode {
- type: "JSXOpeningFragment";
-}
-
-declare class BabelNodeJSXClosingFragment extends BabelNode {
- type: "JSXClosingFragment";
-}
-
-declare class BabelNodeNoop extends BabelNode {
- type: "Noop";
-}
-
-declare class BabelNodePlaceholder extends BabelNode {
- type: "Placeholder";
- expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern";
- name: BabelNodeIdentifier;
-}
-
-declare class BabelNodeV8IntrinsicIdentifier extends BabelNode {
- type: "V8IntrinsicIdentifier";
- name: string;
-}
-
-declare class BabelNodeArgumentPlaceholder extends BabelNode {
- type: "ArgumentPlaceholder";
-}
-
-declare class BabelNodeBindExpression extends BabelNode {
- type: "BindExpression";
- object: BabelNodeExpression;
- callee: BabelNodeExpression;
-}
-
-declare class BabelNodeImportAttribute extends BabelNode {
- type: "ImportAttribute";
- key: BabelNodeIdentifier | BabelNodeStringLiteral;
- value: BabelNodeStringLiteral;
-}
-
-declare class BabelNodeDecorator extends BabelNode {
- type: "Decorator";
- expression: BabelNodeExpression;
-}
-
-declare class BabelNodeDoExpression extends BabelNode {
- type: "DoExpression";
- body: BabelNodeBlockStatement;
- async?: boolean;
-}
-
-declare class BabelNodeExportDefaultSpecifier extends BabelNode {
- type: "ExportDefaultSpecifier";
- exported: BabelNodeIdentifier;
-}
-
-declare class BabelNodeRecordExpression extends BabelNode {
- type: "RecordExpression";
- properties: Array<BabelNodeObjectProperty | BabelNodeSpreadElement>;
-}
-
-declare class BabelNodeTupleExpression extends BabelNode {
- type: "TupleExpression";
- elements?: Array<BabelNodeExpression | BabelNodeSpreadElement>;
-}
-
-declare class BabelNodeDecimalLiteral extends BabelNode {
- type: "DecimalLiteral";
- value: string;
-}
-
-declare class BabelNodeModuleExpression extends BabelNode {
- type: "ModuleExpression";
- body: BabelNodeProgram;
-}
-
-declare class BabelNodeTopicReference extends BabelNode {
- type: "TopicReference";
-}
-
-declare class BabelNodePipelineTopicExpression extends BabelNode {
- type: "PipelineTopicExpression";
- expression: BabelNodeExpression;
-}
-
-declare class BabelNodePipelineBareFunction extends BabelNode {
- type: "PipelineBareFunction";
- callee: BabelNodeExpression;
-}
-
-declare class BabelNodePipelinePrimaryTopicReference extends BabelNode {
- type: "PipelinePrimaryTopicReference";
-}
-
-declare class BabelNodeTSParameterProperty extends BabelNode {
- type: "TSParameterProperty";
- parameter: BabelNodeIdentifier | BabelNodeAssignmentPattern;
- accessibility?: "public" | "private" | "protected";
- decorators?: Array<BabelNodeDecorator>;
- override?: boolean;
- readonly?: boolean;
-}
-
-declare class BabelNodeTSDeclareFunction extends BabelNode {
- type: "TSDeclareFunction";
- id?: BabelNodeIdentifier;
- typeParameters?: BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
- params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>;
- returnType?: BabelNodeTSTypeAnnotation | BabelNodeNoop;
- async?: boolean;
- declare?: boolean;
- generator?: boolean;
-}
-
-declare class BabelNodeTSDeclareMethod extends BabelNode {
- type: "TSDeclareMethod";
- decorators?: Array<BabelNodeDecorator>;
- key: BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeExpression;
- typeParameters?: BabelNodeTSTypeParameterDeclaration | BabelNodeNoop;
- params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement | BabelNodeTSParameterProperty>;
- returnType?: BabelNodeTSTypeAnnotation | BabelNodeNoop;
- abstract?: boolean;
- access?: "public" | "private" | "protected";
- accessibility?: "public" | "private" | "protected";
- async?: boolean;
- computed?: boolean;
- generator?: boolean;
- kind?: "get" | "set" | "method" | "constructor";
- optional?: boolean;
- override?: boolean;
-}
-
-declare class BabelNodeTSQualifiedName extends BabelNode {
- type: "TSQualifiedName";
- left: BabelNodeTSEntityName;
- right: BabelNodeIdentifier;
-}
-
-declare class BabelNodeTSCallSignatureDeclaration extends BabelNode {
- type: "TSCallSignatureDeclaration";
- typeParameters?: BabelNodeTSTypeParameterDeclaration;
- parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>;
- typeAnnotation?: BabelNodeTSTypeAnnotation;
-}
-
-declare class BabelNodeTSConstructSignatureDeclaration extends BabelNode {
- type: "TSConstructSignatureDeclaration";
- typeParameters?: BabelNodeTSTypeParameterDeclaration;
- parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>;
- typeAnnotation?: BabelNodeTSTypeAnnotation;
-}
-
-declare class BabelNodeTSPropertySignature extends BabelNode {
- type: "TSPropertySignature";
- key: BabelNodeExpression;
- typeAnnotation?: BabelNodeTSTypeAnnotation;
- initializer?: BabelNodeExpression;
- computed?: boolean;
- kind: "get" | "set";
- optional?: boolean;
- readonly?: boolean;
-}
-
-declare class BabelNodeTSMethodSignature extends BabelNode {
- type: "TSMethodSignature";
- key: BabelNodeExpression;
- typeParameters?: BabelNodeTSTypeParameterDeclaration;
- parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>;
- typeAnnotation?: BabelNodeTSTypeAnnotation;
- computed?: boolean;
- kind: "method" | "get" | "set";
- optional?: boolean;
-}
-
-declare class BabelNodeTSIndexSignature extends BabelNode {
- type: "TSIndexSignature";
- parameters: Array<BabelNodeIdentifier>;
- typeAnnotation?: BabelNodeTSTypeAnnotation;
- readonly?: boolean;
-}
-
-declare class BabelNodeTSAnyKeyword extends BabelNode {
- type: "TSAnyKeyword";
-}
-
-declare class BabelNodeTSBooleanKeyword extends BabelNode {
- type: "TSBooleanKeyword";
-}
-
-declare class BabelNodeTSBigIntKeyword extends BabelNode {
- type: "TSBigIntKeyword";
-}
-
-declare class BabelNodeTSIntrinsicKeyword extends BabelNode {
- type: "TSIntrinsicKeyword";
-}
-
-declare class BabelNodeTSNeverKeyword extends BabelNode {
- type: "TSNeverKeyword";
-}
-
-declare class BabelNodeTSNullKeyword extends BabelNode {
- type: "TSNullKeyword";
-}
-
-declare class BabelNodeTSNumberKeyword extends BabelNode {
- type: "TSNumberKeyword";
-}
-
-declare class BabelNodeTSObjectKeyword extends BabelNode {
- type: "TSObjectKeyword";
-}
-
-declare class BabelNodeTSStringKeyword extends BabelNode {
- type: "TSStringKeyword";
-}
-
-declare class BabelNodeTSSymbolKeyword extends BabelNode {
- type: "TSSymbolKeyword";
-}
-
-declare class BabelNodeTSUndefinedKeyword extends BabelNode {
- type: "TSUndefinedKeyword";
-}
-
-declare class BabelNodeTSUnknownKeyword extends BabelNode {
- type: "TSUnknownKeyword";
-}
-
-declare class BabelNodeTSVoidKeyword extends BabelNode {
- type: "TSVoidKeyword";
-}
-
-declare class BabelNodeTSThisType extends BabelNode {
- type: "TSThisType";
-}
-
-declare class BabelNodeTSFunctionType extends BabelNode {
- type: "TSFunctionType";
- typeParameters?: BabelNodeTSTypeParameterDeclaration;
- parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>;
- typeAnnotation?: BabelNodeTSTypeAnnotation;
-}
-
-declare class BabelNodeTSConstructorType extends BabelNode {
- type: "TSConstructorType";
- typeParameters?: BabelNodeTSTypeParameterDeclaration;
- parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>;
- typeAnnotation?: BabelNodeTSTypeAnnotation;
- abstract?: boolean;
-}
-
-declare class BabelNodeTSTypeReference extends BabelNode {
- type: "TSTypeReference";
- typeName: BabelNodeTSEntityName;
- typeParameters?: BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeTSTypePredicate extends BabelNode {
- type: "TSTypePredicate";
- parameterName: BabelNodeIdentifier | BabelNodeTSThisType;
- typeAnnotation?: BabelNodeTSTypeAnnotation;
- asserts?: boolean;
-}
-
-declare class BabelNodeTSTypeQuery extends BabelNode {
- type: "TSTypeQuery";
- exprName: BabelNodeTSEntityName | BabelNodeTSImportType;
- typeParameters?: BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeTSTypeLiteral extends BabelNode {
- type: "TSTypeLiteral";
- members: Array<BabelNodeTSTypeElement>;
-}
-
-declare class BabelNodeTSArrayType extends BabelNode {
- type: "TSArrayType";
- elementType: BabelNodeTSType;
-}
-
-declare class BabelNodeTSTupleType extends BabelNode {
- type: "TSTupleType";
- elementTypes: Array<BabelNodeTSType | BabelNodeTSNamedTupleMember>;
-}
-
-declare class BabelNodeTSOptionalType extends BabelNode {
- type: "TSOptionalType";
- typeAnnotation: BabelNodeTSType;
-}
-
-declare class BabelNodeTSRestType extends BabelNode {
- type: "TSRestType";
- typeAnnotation: BabelNodeTSType;
-}
-
-declare class BabelNodeTSNamedTupleMember extends BabelNode {
- type: "TSNamedTupleMember";
- label: BabelNodeIdentifier;
- elementType: BabelNodeTSType;
- optional?: boolean;
-}
-
-declare class BabelNodeTSUnionType extends BabelNode {
- type: "TSUnionType";
- types: Array<BabelNodeTSType>;
-}
-
-declare class BabelNodeTSIntersectionType extends BabelNode {
- type: "TSIntersectionType";
- types: Array<BabelNodeTSType>;
-}
-
-declare class BabelNodeTSConditionalType extends BabelNode {
- type: "TSConditionalType";
- checkType: BabelNodeTSType;
- extendsType: BabelNodeTSType;
- trueType: BabelNodeTSType;
- falseType: BabelNodeTSType;
-}
-
-declare class BabelNodeTSInferType extends BabelNode {
- type: "TSInferType";
- typeParameter: BabelNodeTSTypeParameter;
-}
-
-declare class BabelNodeTSParenthesizedType extends BabelNode {
- type: "TSParenthesizedType";
- typeAnnotation: BabelNodeTSType;
-}
-
-declare class BabelNodeTSTypeOperator extends BabelNode {
- type: "TSTypeOperator";
- typeAnnotation: BabelNodeTSType;
- operator: string;
-}
-
-declare class BabelNodeTSIndexedAccessType extends BabelNode {
- type: "TSIndexedAccessType";
- objectType: BabelNodeTSType;
- indexType: BabelNodeTSType;
-}
-
-declare class BabelNodeTSMappedType extends BabelNode {
- type: "TSMappedType";
- typeParameter: BabelNodeTSTypeParameter;
- typeAnnotation?: BabelNodeTSType;
- nameType?: BabelNodeTSType;
- optional?: true | false | "+" | "-";
- readonly?: true | false | "+" | "-";
-}
-
-declare class BabelNodeTSLiteralType extends BabelNode {
- type: "TSLiteralType";
- literal: BabelNodeNumericLiteral | BabelNodeStringLiteral | BabelNodeBooleanLiteral | BabelNodeBigIntLiteral | BabelNodeTemplateLiteral | BabelNodeUnaryExpression;
-}
-
-declare class BabelNodeTSExpressionWithTypeArguments extends BabelNode {
- type: "TSExpressionWithTypeArguments";
- expression: BabelNodeTSEntityName;
- typeParameters?: BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeTSInterfaceDeclaration extends BabelNode {
- type: "TSInterfaceDeclaration";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTSTypeParameterDeclaration;
- body: BabelNodeTSInterfaceBody;
- declare?: boolean;
-}
-
-declare class BabelNodeTSInterfaceBody extends BabelNode {
- type: "TSInterfaceBody";
- body: Array<BabelNodeTSTypeElement>;
-}
-
-declare class BabelNodeTSTypeAliasDeclaration extends BabelNode {
- type: "TSTypeAliasDeclaration";
- id: BabelNodeIdentifier;
- typeParameters?: BabelNodeTSTypeParameterDeclaration;
- typeAnnotation: BabelNodeTSType;
- declare?: boolean;
-}
-
-declare class BabelNodeTSInstantiationExpression extends BabelNode {
- type: "TSInstantiationExpression";
- expression: BabelNodeExpression;
- typeParameters?: BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeTSAsExpression extends BabelNode {
- type: "TSAsExpression";
- expression: BabelNodeExpression;
- typeAnnotation: BabelNodeTSType;
-}
-
-declare class BabelNodeTSTypeAssertion extends BabelNode {
- type: "TSTypeAssertion";
- typeAnnotation: BabelNodeTSType;
- expression: BabelNodeExpression;
-}
-
-declare class BabelNodeTSEnumDeclaration extends BabelNode {
- type: "TSEnumDeclaration";
- id: BabelNodeIdentifier;
- members: Array<BabelNodeTSEnumMember>;
- declare?: boolean;
- initializer?: BabelNodeExpression;
-}
-
-declare class BabelNodeTSEnumMember extends BabelNode {
- type: "TSEnumMember";
- id: BabelNodeIdentifier | BabelNodeStringLiteral;
- initializer?: BabelNodeExpression;
-}
-
-declare class BabelNodeTSModuleDeclaration extends BabelNode {
- type: "TSModuleDeclaration";
- id: BabelNodeIdentifier | BabelNodeStringLiteral;
- body: BabelNodeTSModuleBlock | BabelNodeTSModuleDeclaration;
- declare?: boolean;
- global?: boolean;
-}
-
-declare class BabelNodeTSModuleBlock extends BabelNode {
- type: "TSModuleBlock";
- body: Array<BabelNodeStatement>;
-}
-
-declare class BabelNodeTSImportType extends BabelNode {
- type: "TSImportType";
- argument: BabelNodeStringLiteral;
- qualifier?: BabelNodeTSEntityName;
- typeParameters?: BabelNodeTSTypeParameterInstantiation;
-}
-
-declare class BabelNodeTSImportEqualsDeclaration extends BabelNode {
- type: "TSImportEqualsDeclaration";
- id: BabelNodeIdentifier;
- moduleReference: BabelNodeTSEntityName | BabelNodeTSExternalModuleReference;
- importKind?: "type" | "value";
- isExport: boolean;
-}
-
-declare class BabelNodeTSExternalModuleReference extends BabelNode {
- type: "TSExternalModuleReference";
- expression: BabelNodeStringLiteral;
-}
-
-declare class BabelNodeTSNonNullExpression extends BabelNode {
- type: "TSNonNullExpression";
- expression: BabelNodeExpression;
-}
-
-declare class BabelNodeTSExportAssignment extends BabelNode {
- type: "TSExportAssignment";
- expression: BabelNodeExpression;
-}
-
-declare class BabelNodeTSNamespaceExportDeclaration extends BabelNode {
- type: "TSNamespaceExportDeclaration";
- id: BabelNodeIdentifier;
-}
-
-declare class BabelNodeTSTypeAnnotation extends BabelNode {
- type: "TSTypeAnnotation";
- typeAnnotation: BabelNodeTSType;
-}
-
-declare class BabelNodeTSTypeParameterInstantiation extends BabelNode {
- type: "TSTypeParameterInstantiation";
- params: Array<BabelNodeTSType>;
-}
-
-declare class BabelNodeTSTypeParameterDeclaration extends BabelNode {
- type: "TSTypeParameterDeclaration";
- params: Array<BabelNodeTSTypeParameter>;
-}
-
-declare class BabelNodeTSTypeParameter extends BabelNode {
- type: "TSTypeParameter";
- constraint?: BabelNodeTSType;
- name: string;
- out?: boolean;
-}
-
-type BabelNodeStandardized = BabelNodeArrayExpression | BabelNodeAssignmentExpression | BabelNodeBinaryExpression | BabelNodeInterpreterDirective | BabelNodeDirective | BabelNodeDirectiveLiteral | BabelNodeBlockStatement | BabelNodeBreakStatement | BabelNodeCallExpression | BabelNodeCatchClause | BabelNodeConditionalExpression | BabelNodeContinueStatement | BabelNodeDebuggerStatement | BabelNodeDoWhileStatement | BabelNodeEmptyStatement | BabelNodeExpressionStatement | BabelNodeFile | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeIdentifier | BabelNodeIfStatement | BabelNodeLabeledStatement | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeLogicalExpression | BabelNodeMemberExpression | BabelNodeNewExpression | BabelNodeProgram | BabelNodeObjectExpression | BabelNodeObjectMethod | BabelNodeObjectProperty | BabelNodeRestElement | BabelNodeReturnStatement | BabelNodeSequenceExpression | BabelNodeParenthesizedExpression | BabelNodeSwitchCase | BabelNodeSwitchStatement | BabelNodeThisExpression | BabelNodeThrowStatement | BabelNodeTryStatement | BabelNodeUnaryExpression | BabelNodeUpdateExpression | BabelNodeVariableDeclaration | BabelNodeVariableDeclarator | BabelNodeWhileStatement | BabelNodeWithStatement | BabelNodeAssignmentPattern | BabelNodeArrayPattern | BabelNodeArrowFunctionExpression | BabelNodeClassBody | BabelNodeClassExpression | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeExportSpecifier | BabelNodeForOfStatement | BabelNodeImportDeclaration | BabelNodeImportDefaultSpecifier | BabelNodeImportNamespaceSpecifier | BabelNodeImportSpecifier | BabelNodeMetaProperty | BabelNodeClassMethod | BabelNodeObjectPattern | BabelNodeSpreadElement | BabelNodeSuper | BabelNodeTaggedTemplateExpression | BabelNodeTemplateElement | BabelNodeTemplateLiteral | BabelNodeYieldExpression | BabelNodeAwaitExpression | BabelNodeImport | BabelNodeBigIntLiteral | BabelNodeExportNamespaceSpecifier | BabelNodeOptionalMemberExpression | BabelNodeOptionalCallExpression | BabelNodeClassProperty | BabelNodeClassAccessorProperty | BabelNodeClassPrivateProperty | BabelNodeClassPrivateMethod | BabelNodePrivateName | BabelNodeStaticBlock;
-type BabelNodeExpression = BabelNodeArrayExpression | BabelNodeAssignmentExpression | BabelNodeBinaryExpression | BabelNodeCallExpression | BabelNodeConditionalExpression | BabelNodeFunctionExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeLogicalExpression | BabelNodeMemberExpression | BabelNodeNewExpression | BabelNodeObjectExpression | BabelNodeSequenceExpression | BabelNodeParenthesizedExpression | BabelNodeThisExpression | BabelNodeUnaryExpression | BabelNodeUpdateExpression | BabelNodeArrowFunctionExpression | BabelNodeClassExpression | BabelNodeMetaProperty | BabelNodeSuper | BabelNodeTaggedTemplateExpression | BabelNodeTemplateLiteral | BabelNodeYieldExpression | BabelNodeAwaitExpression | BabelNodeImport | BabelNodeBigIntLiteral | BabelNodeOptionalMemberExpression | BabelNodeOptionalCallExpression | BabelNodeTypeCastExpression | BabelNodeJSXElement | BabelNodeJSXFragment | BabelNodeBindExpression | BabelNodeDoExpression | BabelNodeRecordExpression | BabelNodeTupleExpression | BabelNodeDecimalLiteral | BabelNodeModuleExpression | BabelNodeTopicReference | BabelNodePipelineTopicExpression | BabelNodePipelineBareFunction | BabelNodePipelinePrimaryTopicReference | BabelNodeTSInstantiationExpression | BabelNodeTSAsExpression | BabelNodeTSTypeAssertion | BabelNodeTSNonNullExpression;
-type BabelNodeBinary = BabelNodeBinaryExpression | BabelNodeLogicalExpression;
-type BabelNodeScopable = BabelNodeBlockStatement | BabelNodeCatchClause | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeClassExpression | BabelNodeClassDeclaration | BabelNodeForOfStatement | BabelNodeClassMethod | BabelNodeClassPrivateMethod | BabelNodeStaticBlock | BabelNodeTSModuleBlock;
-type BabelNodeBlockParent = BabelNodeBlockStatement | BabelNodeCatchClause | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeForOfStatement | BabelNodeClassMethod | BabelNodeClassPrivateMethod | BabelNodeStaticBlock | BabelNodeTSModuleBlock;
-type BabelNodeBlock = BabelNodeBlockStatement | BabelNodeProgram | BabelNodeTSModuleBlock;
-type BabelNodeStatement = BabelNodeBlockStatement | BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeDebuggerStatement | BabelNodeDoWhileStatement | BabelNodeEmptyStatement | BabelNodeExpressionStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeIfStatement | BabelNodeLabeledStatement | BabelNodeReturnStatement | BabelNodeSwitchStatement | BabelNodeThrowStatement | BabelNodeTryStatement | BabelNodeVariableDeclaration | BabelNodeWhileStatement | BabelNodeWithStatement | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeForOfStatement | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeOpaqueType | BabelNodeTypeAlias | BabelNodeEnumDeclaration | BabelNodeTSDeclareFunction | BabelNodeTSInterfaceDeclaration | BabelNodeTSTypeAliasDeclaration | BabelNodeTSEnumDeclaration | BabelNodeTSModuleDeclaration | BabelNodeTSImportEqualsDeclaration | BabelNodeTSExportAssignment | BabelNodeTSNamespaceExportDeclaration;
-type BabelNodeTerminatorless = BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeReturnStatement | BabelNodeThrowStatement | BabelNodeYieldExpression | BabelNodeAwaitExpression;
-type BabelNodeCompletionStatement = BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeReturnStatement | BabelNodeThrowStatement;
-type BabelNodeConditional = BabelNodeConditionalExpression | BabelNodeIfStatement;
-type BabelNodeLoop = BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeWhileStatement | BabelNodeForOfStatement;
-type BabelNodeWhile = BabelNodeDoWhileStatement | BabelNodeWhileStatement;
-type BabelNodeExpressionWrapper = BabelNodeExpressionStatement | BabelNodeParenthesizedExpression | BabelNodeTypeCastExpression;
-type BabelNodeFor = BabelNodeForInStatement | BabelNodeForStatement | BabelNodeForOfStatement;
-type BabelNodeForXStatement = BabelNodeForInStatement | BabelNodeForOfStatement;
-type BabelNodeFunction = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeObjectMethod | BabelNodeArrowFunctionExpression | BabelNodeClassMethod | BabelNodeClassPrivateMethod;
-type BabelNodeFunctionParent = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeObjectMethod | BabelNodeArrowFunctionExpression | BabelNodeClassMethod | BabelNodeClassPrivateMethod | BabelNodeStaticBlock;
-type BabelNodePureish = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeArrowFunctionExpression | BabelNodeBigIntLiteral | BabelNodeDecimalLiteral;
-type BabelNodeDeclaration = BabelNodeFunctionDeclaration | BabelNodeVariableDeclaration | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeOpaqueType | BabelNodeTypeAlias | BabelNodeEnumDeclaration | BabelNodeTSDeclareFunction | BabelNodeTSInterfaceDeclaration | BabelNodeTSTypeAliasDeclaration | BabelNodeTSEnumDeclaration | BabelNodeTSModuleDeclaration;
-type BabelNodePatternLike = BabelNodeIdentifier | BabelNodeRestElement | BabelNodeAssignmentPattern | BabelNodeArrayPattern | BabelNodeObjectPattern | BabelNodeTSAsExpression | BabelNodeTSTypeAssertion | BabelNodeTSNonNullExpression;
-type BabelNodeLVal = BabelNodeIdentifier | BabelNodeMemberExpression | BabelNodeRestElement | BabelNodeAssignmentPattern | BabelNodeArrayPattern | BabelNodeObjectPattern | BabelNodeTSParameterProperty | BabelNodeTSAsExpression | BabelNodeTSTypeAssertion | BabelNodeTSNonNullExpression;
-type BabelNodeTSEntityName = BabelNodeIdentifier | BabelNodeTSQualifiedName;
-type BabelNodeLiteral = BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeTemplateLiteral | BabelNodeBigIntLiteral | BabelNodeDecimalLiteral;
-type BabelNodeImmutable = BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeBigIntLiteral | BabelNodeJSXAttribute | BabelNodeJSXClosingElement | BabelNodeJSXElement | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXOpeningElement | BabelNodeJSXText | BabelNodeJSXFragment | BabelNodeJSXOpeningFragment | BabelNodeJSXClosingFragment | BabelNodeDecimalLiteral;
-type BabelNodeUserWhitespacable = BabelNodeObjectMethod | BabelNodeObjectProperty | BabelNodeObjectTypeInternalSlot | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty;
-type BabelNodeMethod = BabelNodeObjectMethod | BabelNodeClassMethod | BabelNodeClassPrivateMethod;
-type BabelNodeObjectMember = BabelNodeObjectMethod | BabelNodeObjectProperty;
-type BabelNodeProperty = BabelNodeObjectProperty | BabelNodeClassProperty | BabelNodeClassAccessorProperty | BabelNodeClassPrivateProperty;
-type BabelNodeUnaryLike = BabelNodeUnaryExpression | BabelNodeSpreadElement;
-type BabelNodePattern = BabelNodeAssignmentPattern | BabelNodeArrayPattern | BabelNodeObjectPattern;
-type BabelNodeClass = BabelNodeClassExpression | BabelNodeClassDeclaration;
-type BabelNodeModuleDeclaration = BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration;
-type BabelNodeExportDeclaration = BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration;
-type BabelNodeModuleSpecifier = BabelNodeExportSpecifier | BabelNodeImportDefaultSpecifier | BabelNodeImportNamespaceSpecifier | BabelNodeImportSpecifier | BabelNodeExportNamespaceSpecifier | BabelNodeExportDefaultSpecifier;
-type BabelNodeAccessor = BabelNodeClassAccessorProperty;
-type BabelNodePrivate = BabelNodeClassPrivateProperty | BabelNodeClassPrivateMethod | BabelNodePrivateName;
-type BabelNodeFlow = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeClassImplements | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeDeclaredPredicate | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInferredPredicate | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeInterfaceTypeAnnotation | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeInternalSlot | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty | BabelNodeOpaqueType | BabelNodeQualifiedTypeIdentifier | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeSymbolTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeTypeAnnotation | BabelNodeTypeCastExpression | BabelNodeTypeParameter | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameterInstantiation | BabelNodeUnionTypeAnnotation | BabelNodeVariance | BabelNodeVoidTypeAnnotation | BabelNodeEnumDeclaration | BabelNodeEnumBooleanBody | BabelNodeEnumNumberBody | BabelNodeEnumStringBody | BabelNodeEnumSymbolBody | BabelNodeEnumBooleanMember | BabelNodeEnumNumberMember | BabelNodeEnumStringMember | BabelNodeEnumDefaultedMember | BabelNodeIndexedAccessType | BabelNodeOptionalIndexedAccessType;
-type BabelNodeFlowType = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeGenericTypeAnnotation | BabelNodeInterfaceTypeAnnotation | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeObjectTypeAnnotation | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeSymbolTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation | BabelNodeIndexedAccessType | BabelNodeOptionalIndexedAccessType;
-type BabelNodeFlowBaseAnnotation = BabelNodeAnyTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeSymbolTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeVoidTypeAnnotation;
-type BabelNodeFlowDeclaration = BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeOpaqueType | BabelNodeTypeAlias;
-type BabelNodeFlowPredicate = BabelNodeDeclaredPredicate | BabelNodeInferredPredicate;
-type BabelNodeEnumBody = BabelNodeEnumBooleanBody | BabelNodeEnumNumberBody | BabelNodeEnumStringBody | BabelNodeEnumSymbolBody;
-type BabelNodeEnumMember = BabelNodeEnumBooleanMember | BabelNodeEnumNumberMember | BabelNodeEnumStringMember | BabelNodeEnumDefaultedMember;
-type BabelNodeJSX = BabelNodeJSXAttribute | BabelNodeJSXClosingElement | BabelNodeJSXElement | BabelNodeJSXEmptyExpression | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName | BabelNodeJSXOpeningElement | BabelNodeJSXSpreadAttribute | BabelNodeJSXText | BabelNodeJSXFragment | BabelNodeJSXOpeningFragment | BabelNodeJSXClosingFragment;
-type BabelNodeMiscellaneous = BabelNodeNoop | BabelNodePlaceholder | BabelNodeV8IntrinsicIdentifier;
-type BabelNodeTypeScript = BabelNodeTSParameterProperty | BabelNodeTSDeclareFunction | BabelNodeTSDeclareMethod | BabelNodeTSQualifiedName | BabelNodeTSCallSignatureDeclaration | BabelNodeTSConstructSignatureDeclaration | BabelNodeTSPropertySignature | BabelNodeTSMethodSignature | BabelNodeTSIndexSignature | BabelNodeTSAnyKeyword | BabelNodeTSBooleanKeyword | BabelNodeTSBigIntKeyword | BabelNodeTSIntrinsicKeyword | BabelNodeTSNeverKeyword | BabelNodeTSNullKeyword | BabelNodeTSNumberKeyword | BabelNodeTSObjectKeyword | BabelNodeTSStringKeyword | BabelNodeTSSymbolKeyword | BabelNodeTSUndefinedKeyword | BabelNodeTSUnknownKeyword | BabelNodeTSVoidKeyword | BabelNodeTSThisType | BabelNodeTSFunctionType | BabelNodeTSConstructorType | BabelNodeTSTypeReference | BabelNodeTSTypePredicate | BabelNodeTSTypeQuery | BabelNodeTSTypeLiteral | BabelNodeTSArrayType | BabelNodeTSTupleType | BabelNodeTSOptionalType | BabelNodeTSRestType | BabelNodeTSNamedTupleMember | BabelNodeTSUnionType | BabelNodeTSIntersectionType | BabelNodeTSConditionalType | BabelNodeTSInferType | BabelNodeTSParenthesizedType | BabelNodeTSTypeOperator | BabelNodeTSIndexedAccessType | BabelNodeTSMappedType | BabelNodeTSLiteralType | BabelNodeTSExpressionWithTypeArguments | BabelNodeTSInterfaceDeclaration | BabelNodeTSInterfaceBody | BabelNodeTSTypeAliasDeclaration | BabelNodeTSInstantiationExpression | BabelNodeTSAsExpression | BabelNodeTSTypeAssertion | BabelNodeTSEnumDeclaration | BabelNodeTSEnumMember | BabelNodeTSModuleDeclaration | BabelNodeTSModuleBlock | BabelNodeTSImportType | BabelNodeTSImportEqualsDeclaration | BabelNodeTSExternalModuleReference | BabelNodeTSNonNullExpression | BabelNodeTSExportAssignment | BabelNodeTSNamespaceExportDeclaration | BabelNodeTSTypeAnnotation | BabelNodeTSTypeParameterInstantiation | BabelNodeTSTypeParameterDeclaration | BabelNodeTSTypeParameter;
-type BabelNodeTSTypeElement = BabelNodeTSCallSignatureDeclaration | BabelNodeTSConstructSignatureDeclaration | BabelNodeTSPropertySignature | BabelNodeTSMethodSignature | BabelNodeTSIndexSignature;
-type BabelNodeTSType = BabelNodeTSAnyKeyword | BabelNodeTSBooleanKeyword | BabelNodeTSBigIntKeyword | BabelNodeTSIntrinsicKeyword | BabelNodeTSNeverKeyword | BabelNodeTSNullKeyword | BabelNodeTSNumberKeyword | BabelNodeTSObjectKeyword | BabelNodeTSStringKeyword | BabelNodeTSSymbolKeyword | BabelNodeTSUndefinedKeyword | BabelNodeTSUnknownKeyword | BabelNodeTSVoidKeyword | BabelNodeTSThisType | BabelNodeTSFunctionType | BabelNodeTSConstructorType | BabelNodeTSTypeReference | BabelNodeTSTypePredicate | BabelNodeTSTypeQuery | BabelNodeTSTypeLiteral | BabelNodeTSArrayType | BabelNodeTSTupleType | BabelNodeTSOptionalType | BabelNodeTSRestType | BabelNodeTSUnionType | BabelNodeTSIntersectionType | BabelNodeTSConditionalType | BabelNodeTSInferType | BabelNodeTSParenthesizedType | BabelNodeTSTypeOperator | BabelNodeTSIndexedAccessType | BabelNodeTSMappedType | BabelNodeTSLiteralType | BabelNodeTSExpressionWithTypeArguments | BabelNodeTSImportType;
-type BabelNodeTSBaseType = BabelNodeTSAnyKeyword | BabelNodeTSBooleanKeyword | BabelNodeTSBigIntKeyword | BabelNodeTSIntrinsicKeyword | BabelNodeTSNeverKeyword | BabelNodeTSNullKeyword | BabelNodeTSNumberKeyword | BabelNodeTSObjectKeyword | BabelNodeTSStringKeyword | BabelNodeTSSymbolKeyword | BabelNodeTSUndefinedKeyword | BabelNodeTSUnknownKeyword | BabelNodeTSVoidKeyword | BabelNodeTSThisType | BabelNodeTSLiteralType;
-
-declare module "@babel/types" {
- declare export function arrayExpression(elements?: Array<null | BabelNodeExpression | BabelNodeSpreadElement>): BabelNodeArrayExpression;
- declare export function assignmentExpression(operator: string, left: BabelNodeLVal, right: BabelNodeExpression): BabelNodeAssignmentExpression;
- declare export function binaryExpression(operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>", left: BabelNodeExpression | BabelNodePrivateName, right: BabelNodeExpression): BabelNodeBinaryExpression;
- declare export function interpreterDirective(value: string): BabelNodeInterpreterDirective;
- declare export function directive(value: BabelNodeDirectiveLiteral): BabelNodeDirective;
- declare export function directiveLiteral(value: string): BabelNodeDirectiveLiteral;
- declare export function blockStatement(body: Array<BabelNodeStatement>, directives?: Array<BabelNodeDirective>): BabelNodeBlockStatement;
- declare export function breakStatement(label?: BabelNodeIdentifier): BabelNodeBreakStatement;
- declare export function callExpression(callee: BabelNodeExpression | BabelNodeSuper | BabelNodeV8IntrinsicIdentifier, _arguments: Array<BabelNodeExpression | BabelNodeSpreadElement | BabelNodeJSXNamespacedName | BabelNodeArgumentPlaceholder>): BabelNodeCallExpression;
- declare export function catchClause(param?: BabelNodeIdentifier | BabelNodeArrayPattern | BabelNodeObjectPattern, body: BabelNodeBlockStatement): BabelNodeCatchClause;
- declare export function conditionalExpression(test: BabelNodeExpression, consequent: BabelNodeExpression, alternate: BabelNodeExpression): BabelNodeConditionalExpression;
- declare export function continueStatement(label?: BabelNodeIdentifier): BabelNodeContinueStatement;
- declare export function debuggerStatement(): BabelNodeDebuggerStatement;
- declare export function doWhileStatement(test: BabelNodeExpression, body: BabelNodeStatement): BabelNodeDoWhileStatement;
- declare export function emptyStatement(): BabelNodeEmptyStatement;
- declare export function expressionStatement(expression: BabelNodeExpression): BabelNodeExpressionStatement;
- declare export function file(program: BabelNodeProgram, comments?: Array<BabelNodeCommentBlock | BabelNodeCommentLine>, tokens?: Array<any>): BabelNodeFile;
- declare export function forInStatement(left: BabelNodeVariableDeclaration | BabelNodeLVal, right: BabelNodeExpression, body: BabelNodeStatement): BabelNodeForInStatement;
- declare export function forStatement(init?: BabelNodeVariableDeclaration | BabelNodeExpression, test?: BabelNodeExpression, update?: BabelNodeExpression, body: BabelNodeStatement): BabelNodeForStatement;
- declare export function functionDeclaration(id?: BabelNodeIdentifier, params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean): BabelNodeFunctionDeclaration;
- declare export function functionExpression(id?: BabelNodeIdentifier, params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean): BabelNodeFunctionExpression;
- declare export function identifier(name: string): BabelNodeIdentifier;
- declare export function ifStatement(test: BabelNodeExpression, consequent: BabelNodeStatement, alternate?: BabelNodeStatement): BabelNodeIfStatement;
- declare export function labeledStatement(label: BabelNodeIdentifier, body: BabelNodeStatement): BabelNodeLabeledStatement;
- declare export function stringLiteral(value: string): BabelNodeStringLiteral;
- declare export function numericLiteral(value: number): BabelNodeNumericLiteral;
- declare export function nullLiteral(): BabelNodeNullLiteral;
- declare export function booleanLiteral(value: boolean): BabelNodeBooleanLiteral;
- declare export function regExpLiteral(pattern: string, flags?: string): BabelNodeRegExpLiteral;
- declare export function logicalExpression(operator: "||" | "&&" | "??", left: BabelNodeExpression, right: BabelNodeExpression): BabelNodeLogicalExpression;
- declare export function memberExpression(object: BabelNodeExpression | BabelNodeSuper, property: BabelNodeExpression | BabelNodeIdentifier | BabelNodePrivateName, computed?: boolean, optional?: true | false): BabelNodeMemberExpression;
- declare export function newExpression(callee: BabelNodeExpression | BabelNodeSuper | BabelNodeV8IntrinsicIdentifier, _arguments: Array<BabelNodeExpression | BabelNodeSpreadElement | BabelNodeJSXNamespacedName | BabelNodeArgumentPlaceholder>): BabelNodeNewExpression;
- declare export function program(body: Array<BabelNodeStatement>, directives?: Array<BabelNodeDirective>, sourceType?: "script" | "module", interpreter?: BabelNodeInterpreterDirective): BabelNodeProgram;
- declare export function objectExpression(properties: Array<BabelNodeObjectMethod | BabelNodeObjectProperty | BabelNodeSpreadElement>): BabelNodeObjectExpression;
- declare export function objectMethod(kind?: "method" | "get" | "set", key: BabelNodeExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral, params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>, body: BabelNodeBlockStatement, computed?: boolean, generator?: boolean, async?: boolean): BabelNodeObjectMethod;
- declare export function objectProperty(key: BabelNodeExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeDecimalLiteral | BabelNodePrivateName, value: BabelNodeExpression | BabelNodePatternLike, computed?: boolean, shorthand?: boolean, decorators?: Array<BabelNodeDecorator>): BabelNodeObjectProperty;
- declare export function restElement(argument: BabelNodeLVal): BabelNodeRestElement;
- declare export function returnStatement(argument?: BabelNodeExpression): BabelNodeReturnStatement;
- declare export function sequenceExpression(expressions: Array<BabelNodeExpression>): BabelNodeSequenceExpression;
- declare export function parenthesizedExpression(expression: BabelNodeExpression): BabelNodeParenthesizedExpression;
- declare export function switchCase(test?: BabelNodeExpression, consequent: Array<BabelNodeStatement>): BabelNodeSwitchCase;
- declare export function switchStatement(discriminant: BabelNodeExpression, cases: Array<BabelNodeSwitchCase>): BabelNodeSwitchStatement;
- declare export function thisExpression(): BabelNodeThisExpression;
- declare export function throwStatement(argument: BabelNodeExpression): BabelNodeThrowStatement;
- declare export function tryStatement(block: BabelNodeBlockStatement, handler?: BabelNodeCatchClause, finalizer?: BabelNodeBlockStatement): BabelNodeTryStatement;
- declare export function unaryExpression(operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof", argument: BabelNodeExpression, prefix?: boolean): BabelNodeUnaryExpression;
- declare export function updateExpression(operator: "++" | "--", argument: BabelNodeExpression, prefix?: boolean): BabelNodeUpdateExpression;
- declare export function variableDeclaration(kind: "var" | "let" | "const", declarations: Array<BabelNodeVariableDeclarator>): BabelNodeVariableDeclaration;
- declare export function variableDeclarator(id: BabelNodeLVal, init?: BabelNodeExpression): BabelNodeVariableDeclarator;
- declare export function whileStatement(test: BabelNodeExpression, body: BabelNodeStatement): BabelNodeWhileStatement;
- declare export function withStatement(object: BabelNodeExpression, body: BabelNodeStatement): BabelNodeWithStatement;
- declare export function assignmentPattern(left: BabelNodeIdentifier | BabelNodeObjectPattern | BabelNodeArrayPattern | BabelNodeMemberExpression | BabelNodeTSAsExpression | BabelNodeTSTypeAssertion | BabelNodeTSNonNullExpression, right: BabelNodeExpression): BabelNodeAssignmentPattern;
- declare export function arrayPattern(elements: Array<null | BabelNodePatternLike | BabelNodeLVal>): BabelNodeArrayPattern;
- declare export function arrowFunctionExpression(params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>, body: BabelNodeBlockStatement | BabelNodeExpression, async?: boolean): BabelNodeArrowFunctionExpression;
- declare export function classBody(body: Array<BabelNodeClassMethod | BabelNodeClassPrivateMethod | BabelNodeClassProperty | BabelNodeClassPrivateProperty | BabelNodeClassAccessorProperty | BabelNodeTSDeclareMethod | BabelNodeTSIndexSignature | BabelNodeStaticBlock>): BabelNodeClassBody;
- declare export function classExpression(id?: BabelNodeIdentifier, superClass?: BabelNodeExpression, body: BabelNodeClassBody, decorators?: Array<BabelNodeDecorator>): BabelNodeClassExpression;
- declare export function classDeclaration(id: BabelNodeIdentifier, superClass?: BabelNodeExpression, body: BabelNodeClassBody, decorators?: Array<BabelNodeDecorator>): BabelNodeClassDeclaration;
- declare export function exportAllDeclaration(source: BabelNodeStringLiteral): BabelNodeExportAllDeclaration;
- declare export function exportDefaultDeclaration(declaration: BabelNodeTSDeclareFunction | BabelNodeFunctionDeclaration | BabelNodeClassDeclaration | BabelNodeExpression): BabelNodeExportDefaultDeclaration;
- declare export function exportNamedDeclaration(declaration?: BabelNodeDeclaration, specifiers?: Array<BabelNodeExportSpecifier | BabelNodeExportDefaultSpecifier | BabelNodeExportNamespaceSpecifier>, source?: BabelNodeStringLiteral): BabelNodeExportNamedDeclaration;
- declare export function exportSpecifier(local: BabelNodeIdentifier, exported: BabelNodeIdentifier | BabelNodeStringLiteral): BabelNodeExportSpecifier;
- declare export function forOfStatement(left: BabelNodeVariableDeclaration | BabelNodeLVal, right: BabelNodeExpression, body: BabelNodeStatement, _await?: boolean): BabelNodeForOfStatement;
- declare export function importDeclaration(specifiers: Array<BabelNodeImportSpecifier | BabelNodeImportDefaultSpecifier | BabelNodeImportNamespaceSpecifier>, source: BabelNodeStringLiteral): BabelNodeImportDeclaration;
- declare export function importDefaultSpecifier(local: BabelNodeIdentifier): BabelNodeImportDefaultSpecifier;
- declare export function importNamespaceSpecifier(local: BabelNodeIdentifier): BabelNodeImportNamespaceSpecifier;
- declare export function importSpecifier(local: BabelNodeIdentifier, imported: BabelNodeIdentifier | BabelNodeStringLiteral): BabelNodeImportSpecifier;
- declare export function metaProperty(meta: BabelNodeIdentifier, property: BabelNodeIdentifier): BabelNodeMetaProperty;
- declare export function classMethod(kind?: "get" | "set" | "method" | "constructor", key: BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeExpression, params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement | BabelNodeTSParameterProperty>, body: BabelNodeBlockStatement, computed?: boolean, _static?: boolean, generator?: boolean, async?: boolean): BabelNodeClassMethod;
- declare export function objectPattern(properties: Array<BabelNodeRestElement | BabelNodeObjectProperty>): BabelNodeObjectPattern;
- declare export function spreadElement(argument: BabelNodeExpression): BabelNodeSpreadElement;
- declare function _super(): BabelNodeSuper;
- declare export { _super as super }
- declare export function taggedTemplateExpression(tag: BabelNodeExpression, quasi: BabelNodeTemplateLiteral): BabelNodeTaggedTemplateExpression;
- declare export function templateElement(value: { raw: string, cooked?: string }, tail?: boolean): BabelNodeTemplateElement;
- declare export function templateLiteral(quasis: Array<BabelNodeTemplateElement>, expressions: Array<BabelNodeExpression | BabelNodeTSType>): BabelNodeTemplateLiteral;
- declare export function yieldExpression(argument?: BabelNodeExpression, delegate?: boolean): BabelNodeYieldExpression;
- declare export function awaitExpression(argument: BabelNodeExpression): BabelNodeAwaitExpression;
- declare function _import(): BabelNodeImport;
- declare export { _import as import }
- declare export function bigIntLiteral(value: string): BabelNodeBigIntLiteral;
- declare export function exportNamespaceSpecifier(exported: BabelNodeIdentifier): BabelNodeExportNamespaceSpecifier;
- declare export function optionalMemberExpression(object: BabelNodeExpression, property: BabelNodeExpression | BabelNodeIdentifier, computed?: boolean, optional: boolean): BabelNodeOptionalMemberExpression;
- declare export function optionalCallExpression(callee: BabelNodeExpression, _arguments: Array<BabelNodeExpression | BabelNodeSpreadElement | BabelNodeJSXNamespacedName | BabelNodeArgumentPlaceholder>, optional: boolean): BabelNodeOptionalCallExpression;
- declare export function classProperty(key: BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeExpression, value?: BabelNodeExpression, typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, decorators?: Array<BabelNodeDecorator>, computed?: boolean, _static?: boolean): BabelNodeClassProperty;
- declare export function classAccessorProperty(key: BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeExpression | BabelNodePrivateName, value?: BabelNodeExpression, typeAnnotation?: BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, decorators?: Array<BabelNodeDecorator>, computed?: boolean, _static?: boolean): BabelNodeClassAccessorProperty;
- declare export function classPrivateProperty(key: BabelNodePrivateName, value?: BabelNodeExpression, decorators?: Array<BabelNodeDecorator>, _static?: boolean): BabelNodeClassPrivateProperty;
- declare export function classPrivateMethod(kind?: "get" | "set" | "method", key: BabelNodePrivateName, params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement | BabelNodeTSParameterProperty>, body: BabelNodeBlockStatement, _static?: boolean): BabelNodeClassPrivateMethod;
- declare export function privateName(id: BabelNodeIdentifier): BabelNodePrivateName;
- declare export function staticBlock(body: Array<BabelNodeStatement>): BabelNodeStaticBlock;
- declare export function anyTypeAnnotation(): BabelNodeAnyTypeAnnotation;
- declare export function arrayTypeAnnotation(elementType: BabelNodeFlowType): BabelNodeArrayTypeAnnotation;
- declare export function booleanTypeAnnotation(): BabelNodeBooleanTypeAnnotation;
- declare export function booleanLiteralTypeAnnotation(value: boolean): BabelNodeBooleanLiteralTypeAnnotation;
- declare export function nullLiteralTypeAnnotation(): BabelNodeNullLiteralTypeAnnotation;
- declare export function classImplements(id: BabelNodeIdentifier, typeParameters?: BabelNodeTypeParameterInstantiation): BabelNodeClassImplements;
- declare export function declareClass(id: BabelNodeIdentifier, typeParameters?: BabelNodeTypeParameterDeclaration, _extends?: Array<BabelNodeInterfaceExtends>, body: BabelNodeObjectTypeAnnotation): BabelNodeDeclareClass;
- declare export function declareFunction(id: BabelNodeIdentifier): BabelNodeDeclareFunction;
- declare export function declareInterface(id: BabelNodeIdentifier, typeParameters?: BabelNodeTypeParameterDeclaration, _extends?: Array<BabelNodeInterfaceExtends>, body: BabelNodeObjectTypeAnnotation): BabelNodeDeclareInterface;
- declare export function declareModule(id: BabelNodeIdentifier | BabelNodeStringLiteral, body: BabelNodeBlockStatement, kind?: "CommonJS" | "ES"): BabelNodeDeclareModule;
- declare export function declareModuleExports(typeAnnotation: BabelNodeTypeAnnotation): BabelNodeDeclareModuleExports;
- declare export function declareTypeAlias(id: BabelNodeIdentifier, typeParameters?: BabelNodeTypeParameterDeclaration, right: BabelNodeFlowType): BabelNodeDeclareTypeAlias;
- declare export function declareOpaqueType(id: BabelNodeIdentifier, typeParameters?: BabelNodeTypeParameterDeclaration, supertype?: BabelNodeFlowType): BabelNodeDeclareOpaqueType;
- declare export function declareVariable(id: BabelNodeIdentifier): BabelNodeDeclareVariable;
- declare export function declareExportDeclaration(declaration?: BabelNodeFlow, specifiers?: Array<BabelNodeExportSpecifier | BabelNodeExportNamespaceSpecifier>, source?: BabelNodeStringLiteral): BabelNodeDeclareExportDeclaration;
- declare export function declareExportAllDeclaration(source: BabelNodeStringLiteral): BabelNodeDeclareExportAllDeclaration;
- declare export function declaredPredicate(value: BabelNodeFlow): BabelNodeDeclaredPredicate;
- declare export function existsTypeAnnotation(): BabelNodeExistsTypeAnnotation;
- declare export function functionTypeAnnotation(typeParameters?: BabelNodeTypeParameterDeclaration, params: Array<BabelNodeFunctionTypeParam>, rest?: BabelNodeFunctionTypeParam, returnType: BabelNodeFlowType): BabelNodeFunctionTypeAnnotation;
- declare export function functionTypeParam(name?: BabelNodeIdentifier, typeAnnotation: BabelNodeFlowType): BabelNodeFunctionTypeParam;
- declare export function genericTypeAnnotation(id: BabelNodeIdentifier | BabelNodeQualifiedTypeIdentifier, typeParameters?: BabelNodeTypeParameterInstantiation): BabelNodeGenericTypeAnnotation;
- declare export function inferredPredicate(): BabelNodeInferredPredicate;
- declare export function interfaceExtends(id: BabelNodeIdentifier | BabelNodeQualifiedTypeIdentifier, typeParameters?: BabelNodeTypeParameterInstantiation): BabelNodeInterfaceExtends;
- declare export function interfaceDeclaration(id: BabelNodeIdentifier, typeParameters?: BabelNodeTypeParameterDeclaration, _extends?: Array<BabelNodeInterfaceExtends>, body: BabelNodeObjectTypeAnnotation): BabelNodeInterfaceDeclaration;
- declare export function interfaceTypeAnnotation(_extends?: Array<BabelNodeInterfaceExtends>, body: BabelNodeObjectTypeAnnotation): BabelNodeInterfaceTypeAnnotation;
- declare export function intersectionTypeAnnotation(types: Array<BabelNodeFlowType>): BabelNodeIntersectionTypeAnnotation;
- declare export function mixedTypeAnnotation(): BabelNodeMixedTypeAnnotation;
- declare export function emptyTypeAnnotation(): BabelNodeEmptyTypeAnnotation;
- declare export function nullableTypeAnnotation(typeAnnotation: BabelNodeFlowType): BabelNodeNullableTypeAnnotation;
- declare export function numberLiteralTypeAnnotation(value: number): BabelNodeNumberLiteralTypeAnnotation;
- declare export function numberTypeAnnotation(): BabelNodeNumberTypeAnnotation;
- declare export function objectTypeAnnotation(properties: Array<BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty>, indexers?: Array<BabelNodeObjectTypeIndexer>, callProperties?: Array<BabelNodeObjectTypeCallProperty>, internalSlots?: Array<BabelNodeObjectTypeInternalSlot>, exact?: boolean): BabelNodeObjectTypeAnnotation;
- declare export function objectTypeInternalSlot(id: BabelNodeIdentifier, value: BabelNodeFlowType, optional: boolean, _static: boolean, method: boolean): BabelNodeObjectTypeInternalSlot;
- declare export function objectTypeCallProperty(value: BabelNodeFlowType): BabelNodeObjectTypeCallProperty;
- declare export function objectTypeIndexer(id?: BabelNodeIdentifier, key: BabelNodeFlowType, value: BabelNodeFlowType, variance?: BabelNodeVariance): BabelNodeObjectTypeIndexer;
- declare export function objectTypeProperty(key: BabelNodeIdentifier | BabelNodeStringLiteral, value: BabelNodeFlowType, variance?: BabelNodeVariance): BabelNodeObjectTypeProperty;
- declare export function objectTypeSpreadProperty(argument: BabelNodeFlowType): BabelNodeObjectTypeSpreadProperty;
- declare export function opaqueType(id: BabelNodeIdentifier, typeParameters?: BabelNodeTypeParameterDeclaration, supertype?: BabelNodeFlowType, impltype: BabelNodeFlowType): BabelNodeOpaqueType;
- declare export function qualifiedTypeIdentifier(id: BabelNodeIdentifier, qualification: BabelNodeIdentifier | BabelNodeQualifiedTypeIdentifier): BabelNodeQualifiedTypeIdentifier;
- declare export function stringLiteralTypeAnnotation(value: string): BabelNodeStringLiteralTypeAnnotation;
- declare export function stringTypeAnnotation(): BabelNodeStringTypeAnnotation;
- declare export function symbolTypeAnnotation(): BabelNodeSymbolTypeAnnotation;
- declare export function thisTypeAnnotation(): BabelNodeThisTypeAnnotation;
- declare export function tupleTypeAnnotation(types: Array<BabelNodeFlowType>): BabelNodeTupleTypeAnnotation;
- declare export function typeofTypeAnnotation(argument: BabelNodeFlowType): BabelNodeTypeofTypeAnnotation;
- declare export function typeAlias(id: BabelNodeIdentifier, typeParameters?: BabelNodeTypeParameterDeclaration, right: BabelNodeFlowType): BabelNodeTypeAlias;
- declare export function typeAnnotation(typeAnnotation: BabelNodeFlowType): BabelNodeTypeAnnotation;
- declare export function typeCastExpression(expression: BabelNodeExpression, typeAnnotation: BabelNodeTypeAnnotation): BabelNodeTypeCastExpression;
- declare export function typeParameter(bound?: BabelNodeTypeAnnotation, _default?: BabelNodeFlowType, variance?: BabelNodeVariance): BabelNodeTypeParameter;
- declare export function typeParameterDeclaration(params: Array<BabelNodeTypeParameter>): BabelNodeTypeParameterDeclaration;
- declare export function typeParameterInstantiation(params: Array<BabelNodeFlowType>): BabelNodeTypeParameterInstantiation;
- declare export function unionTypeAnnotation(types: Array<BabelNodeFlowType>): BabelNodeUnionTypeAnnotation;
- declare export function variance(kind: "minus" | "plus"): BabelNodeVariance;
- declare export function voidTypeAnnotation(): BabelNodeVoidTypeAnnotation;
- declare export function enumDeclaration(id: BabelNodeIdentifier, body: BabelNodeEnumBooleanBody | BabelNodeEnumNumberBody | BabelNodeEnumStringBody | BabelNodeEnumSymbolBody): BabelNodeEnumDeclaration;
- declare export function enumBooleanBody(members: Array<BabelNodeEnumBooleanMember>): BabelNodeEnumBooleanBody;
- declare export function enumNumberBody(members: Array<BabelNodeEnumNumberMember>): BabelNodeEnumNumberBody;
- declare export function enumStringBody(members: Array<BabelNodeEnumStringMember | BabelNodeEnumDefaultedMember>): BabelNodeEnumStringBody;
- declare export function enumSymbolBody(members: Array<BabelNodeEnumDefaultedMember>): BabelNodeEnumSymbolBody;
- declare export function enumBooleanMember(id: BabelNodeIdentifier): BabelNodeEnumBooleanMember;
- declare export function enumNumberMember(id: BabelNodeIdentifier, init: BabelNodeNumericLiteral): BabelNodeEnumNumberMember;
- declare export function enumStringMember(id: BabelNodeIdentifier, init: BabelNodeStringLiteral): BabelNodeEnumStringMember;
- declare export function enumDefaultedMember(id: BabelNodeIdentifier): BabelNodeEnumDefaultedMember;
- declare export function indexedAccessType(objectType: BabelNodeFlowType, indexType: BabelNodeFlowType): BabelNodeIndexedAccessType;
- declare export function optionalIndexedAccessType(objectType: BabelNodeFlowType, indexType: BabelNodeFlowType): BabelNodeOptionalIndexedAccessType;
- declare export function jsxAttribute(name: BabelNodeJSXIdentifier | BabelNodeJSXNamespacedName, value?: BabelNodeJSXElement | BabelNodeJSXFragment | BabelNodeStringLiteral | BabelNodeJSXExpressionContainer): BabelNodeJSXAttribute;
- declare export function jsxClosingElement(name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName): BabelNodeJSXClosingElement;
- declare export function jsxElement(openingElement: BabelNodeJSXOpeningElement, closingElement?: BabelNodeJSXClosingElement, children: Array<BabelNodeJSXText | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXElement | BabelNodeJSXFragment>, selfClosing?: boolean): BabelNodeJSXElement;
- declare export function jsxEmptyExpression(): BabelNodeJSXEmptyExpression;
- declare export function jsxExpressionContainer(expression: BabelNodeExpression | BabelNodeJSXEmptyExpression): BabelNodeJSXExpressionContainer;
- declare export function jsxSpreadChild(expression: BabelNodeExpression): BabelNodeJSXSpreadChild;
- declare export function jsxIdentifier(name: string): BabelNodeJSXIdentifier;
- declare export function jsxMemberExpression(object: BabelNodeJSXMemberExpression | BabelNodeJSXIdentifier, property: BabelNodeJSXIdentifier): BabelNodeJSXMemberExpression;
- declare export function jsxNamespacedName(namespace: BabelNodeJSXIdentifier, name: BabelNodeJSXIdentifier): BabelNodeJSXNamespacedName;
- declare export function jsxOpeningElement(name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName, attributes: Array<BabelNodeJSXAttribute | BabelNodeJSXSpreadAttribute>, selfClosing?: boolean): BabelNodeJSXOpeningElement;
- declare export function jsxSpreadAttribute(argument: BabelNodeExpression): BabelNodeJSXSpreadAttribute;
- declare export function jsxText(value: string): BabelNodeJSXText;
- declare export function jsxFragment(openingFragment: BabelNodeJSXOpeningFragment, closingFragment: BabelNodeJSXClosingFragment, children: Array<BabelNodeJSXText | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXElement | BabelNodeJSXFragment>): BabelNodeJSXFragment;
- declare export function jsxOpeningFragment(): BabelNodeJSXOpeningFragment;
- declare export function jsxClosingFragment(): BabelNodeJSXClosingFragment;
- declare export function noop(): BabelNodeNoop;
- declare export function placeholder(expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern", name: BabelNodeIdentifier): BabelNodePlaceholder;
- declare export function v8IntrinsicIdentifier(name: string): BabelNodeV8IntrinsicIdentifier;
- declare export function argumentPlaceholder(): BabelNodeArgumentPlaceholder;
- declare export function bindExpression(object: BabelNodeExpression, callee: BabelNodeExpression): BabelNodeBindExpression;
- declare export function importAttribute(key: BabelNodeIdentifier | BabelNodeStringLiteral, value: BabelNodeStringLiteral): BabelNodeImportAttribute;
- declare export function decorator(expression: BabelNodeExpression): BabelNodeDecorator;
- declare export function doExpression(body: BabelNodeBlockStatement, async?: boolean): BabelNodeDoExpression;
- declare export function exportDefaultSpecifier(exported: BabelNodeIdentifier): BabelNodeExportDefaultSpecifier;
- declare export function recordExpression(properties: Array<BabelNodeObjectProperty | BabelNodeSpreadElement>): BabelNodeRecordExpression;
- declare export function tupleExpression(elements?: Array<BabelNodeExpression | BabelNodeSpreadElement>): BabelNodeTupleExpression;
- declare export function decimalLiteral(value: string): BabelNodeDecimalLiteral;
- declare export function moduleExpression(body: BabelNodeProgram): BabelNodeModuleExpression;
- declare export function topicReference(): BabelNodeTopicReference;
- declare export function pipelineTopicExpression(expression: BabelNodeExpression): BabelNodePipelineTopicExpression;
- declare export function pipelineBareFunction(callee: BabelNodeExpression): BabelNodePipelineBareFunction;
- declare export function pipelinePrimaryTopicReference(): BabelNodePipelinePrimaryTopicReference;
- declare export function tsParameterProperty(parameter: BabelNodeIdentifier | BabelNodeAssignmentPattern): BabelNodeTSParameterProperty;
- declare export function tsDeclareFunction(id?: BabelNodeIdentifier, typeParameters?: BabelNodeTSTypeParameterDeclaration | BabelNodeNoop, params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement>, returnType?: BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeTSDeclareFunction;
- declare export function tsDeclareMethod(decorators?: Array<BabelNodeDecorator>, key: BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeBigIntLiteral | BabelNodeExpression, typeParameters?: BabelNodeTSTypeParameterDeclaration | BabelNodeNoop, params: Array<BabelNodeIdentifier | BabelNodePattern | BabelNodeRestElement | BabelNodeTSParameterProperty>, returnType?: BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeTSDeclareMethod;
- declare export function tsQualifiedName(left: BabelNodeTSEntityName, right: BabelNodeIdentifier): BabelNodeTSQualifiedName;
- declare export function tsCallSignatureDeclaration(typeParameters?: BabelNodeTSTypeParameterDeclaration, parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>, typeAnnotation?: BabelNodeTSTypeAnnotation): BabelNodeTSCallSignatureDeclaration;
- declare export function tsConstructSignatureDeclaration(typeParameters?: BabelNodeTSTypeParameterDeclaration, parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>, typeAnnotation?: BabelNodeTSTypeAnnotation): BabelNodeTSConstructSignatureDeclaration;
- declare export function tsPropertySignature(key: BabelNodeExpression, typeAnnotation?: BabelNodeTSTypeAnnotation, initializer?: BabelNodeExpression): BabelNodeTSPropertySignature;
- declare export function tsMethodSignature(key: BabelNodeExpression, typeParameters?: BabelNodeTSTypeParameterDeclaration, parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>, typeAnnotation?: BabelNodeTSTypeAnnotation): BabelNodeTSMethodSignature;
- declare export function tsIndexSignature(parameters: Array<BabelNodeIdentifier>, typeAnnotation?: BabelNodeTSTypeAnnotation): BabelNodeTSIndexSignature;
- declare export function tsAnyKeyword(): BabelNodeTSAnyKeyword;
- declare export function tsBooleanKeyword(): BabelNodeTSBooleanKeyword;
- declare export function tsBigIntKeyword(): BabelNodeTSBigIntKeyword;
- declare export function tsIntrinsicKeyword(): BabelNodeTSIntrinsicKeyword;
- declare export function tsNeverKeyword(): BabelNodeTSNeverKeyword;
- declare export function tsNullKeyword(): BabelNodeTSNullKeyword;
- declare export function tsNumberKeyword(): BabelNodeTSNumberKeyword;
- declare export function tsObjectKeyword(): BabelNodeTSObjectKeyword;
- declare export function tsStringKeyword(): BabelNodeTSStringKeyword;
- declare export function tsSymbolKeyword(): BabelNodeTSSymbolKeyword;
- declare export function tsUndefinedKeyword(): BabelNodeTSUndefinedKeyword;
- declare export function tsUnknownKeyword(): BabelNodeTSUnknownKeyword;
- declare export function tsVoidKeyword(): BabelNodeTSVoidKeyword;
- declare export function tsThisType(): BabelNodeTSThisType;
- declare export function tsFunctionType(typeParameters?: BabelNodeTSTypeParameterDeclaration, parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>, typeAnnotation?: BabelNodeTSTypeAnnotation): BabelNodeTSFunctionType;
- declare export function tsConstructorType(typeParameters?: BabelNodeTSTypeParameterDeclaration, parameters: Array<BabelNodeIdentifier | BabelNodeRestElement>, typeAnnotation?: BabelNodeTSTypeAnnotation): BabelNodeTSConstructorType;
- declare export function tsTypeReference(typeName: BabelNodeTSEntityName, typeParameters?: BabelNodeTSTypeParameterInstantiation): BabelNodeTSTypeReference;
- declare export function tsTypePredicate(parameterName: BabelNodeIdentifier | BabelNodeTSThisType, typeAnnotation?: BabelNodeTSTypeAnnotation, asserts?: boolean): BabelNodeTSTypePredicate;
- declare export function tsTypeQuery(exprName: BabelNodeTSEntityName | BabelNodeTSImportType, typeParameters?: BabelNodeTSTypeParameterInstantiation): BabelNodeTSTypeQuery;
- declare export function tsTypeLiteral(members: Array<BabelNodeTSTypeElement>): BabelNodeTSTypeLiteral;
- declare export function tsArrayType(elementType: BabelNodeTSType): BabelNodeTSArrayType;
- declare export function tsTupleType(elementTypes: Array<BabelNodeTSType | BabelNodeTSNamedTupleMember>): BabelNodeTSTupleType;
- declare export function tsOptionalType(typeAnnotation: BabelNodeTSType): BabelNodeTSOptionalType;
- declare export function tsRestType(typeAnnotation: BabelNodeTSType): BabelNodeTSRestType;
- declare export function tsNamedTupleMember(label: BabelNodeIdentifier, elementType: BabelNodeTSType, optional?: boolean): BabelNodeTSNamedTupleMember;
- declare export function tsUnionType(types: Array<BabelNodeTSType>): BabelNodeTSUnionType;
- declare export function tsIntersectionType(types: Array<BabelNodeTSType>): BabelNodeTSIntersectionType;
- declare export function tsConditionalType(checkType: BabelNodeTSType, extendsType: BabelNodeTSType, trueType: BabelNodeTSType, falseType: BabelNodeTSType): BabelNodeTSConditionalType;
- declare export function tsInferType(typeParameter: BabelNodeTSTypeParameter): BabelNodeTSInferType;
- declare export function tsParenthesizedType(typeAnnotation: BabelNodeTSType): BabelNodeTSParenthesizedType;
- declare export function tsTypeOperator(typeAnnotation: BabelNodeTSType): BabelNodeTSTypeOperator;
- declare export function tsIndexedAccessType(objectType: BabelNodeTSType, indexType: BabelNodeTSType): BabelNodeTSIndexedAccessType;
- declare export function tsMappedType(typeParameter: BabelNodeTSTypeParameter, typeAnnotation?: BabelNodeTSType, nameType?: BabelNodeTSType): BabelNodeTSMappedType;
- declare export function tsLiteralType(literal: BabelNodeNumericLiteral | BabelNodeStringLiteral | BabelNodeBooleanLiteral | BabelNodeBigIntLiteral | BabelNodeTemplateLiteral | BabelNodeUnaryExpression): BabelNodeTSLiteralType;
- declare export function tsExpressionWithTypeArguments(expression: BabelNodeTSEntityName, typeParameters?: BabelNodeTSTypeParameterInstantiation): BabelNodeTSExpressionWithTypeArguments;
- declare export function tsInterfaceDeclaration(id: BabelNodeIdentifier, typeParameters?: BabelNodeTSTypeParameterDeclaration, _extends?: Array<BabelNodeTSExpressionWithTypeArguments>, body: BabelNodeTSInterfaceBody): BabelNodeTSInterfaceDeclaration;
- declare export function tsInterfaceBody(body: Array<BabelNodeTSTypeElement>): BabelNodeTSInterfaceBody;
- declare export function tsTypeAliasDeclaration(id: BabelNodeIdentifier, typeParameters?: BabelNodeTSTypeParameterDeclaration, typeAnnotation: BabelNodeTSType): BabelNodeTSTypeAliasDeclaration;
- declare export function tsInstantiationExpression(expression: BabelNodeExpression, typeParameters?: BabelNodeTSTypeParameterInstantiation): BabelNodeTSInstantiationExpression;
- declare export function tsAsExpression(expression: BabelNodeExpression, typeAnnotation: BabelNodeTSType): BabelNodeTSAsExpression;
- declare export function tsTypeAssertion(typeAnnotation: BabelNodeTSType, expression: BabelNodeExpression): BabelNodeTSTypeAssertion;
- declare export function tsEnumDeclaration(id: BabelNodeIdentifier, members: Array<BabelNodeTSEnumMember>): BabelNodeTSEnumDeclaration;
- declare export function tsEnumMember(id: BabelNodeIdentifier | BabelNodeStringLiteral, initializer?: BabelNodeExpression): BabelNodeTSEnumMember;
- declare export function tsModuleDeclaration(id: BabelNodeIdentifier | BabelNodeStringLiteral, body: BabelNodeTSModuleBlock | BabelNodeTSModuleDeclaration): BabelNodeTSModuleDeclaration;
- declare export function tsModuleBlock(body: Array<BabelNodeStatement>): BabelNodeTSModuleBlock;
- declare export function tsImportType(argument: BabelNodeStringLiteral, qualifier?: BabelNodeTSEntityName, typeParameters?: BabelNodeTSTypeParameterInstantiation): BabelNodeTSImportType;
- declare export function tsImportEqualsDeclaration(id: BabelNodeIdentifier, moduleReference: BabelNodeTSEntityName | BabelNodeTSExternalModuleReference): BabelNodeTSImportEqualsDeclaration;
- declare export function tsExternalModuleReference(expression: BabelNodeStringLiteral): BabelNodeTSExternalModuleReference;
- declare export function tsNonNullExpression(expression: BabelNodeExpression): BabelNodeTSNonNullExpression;
- declare export function tsExportAssignment(expression: BabelNodeExpression): BabelNodeTSExportAssignment;
- declare export function tsNamespaceExportDeclaration(id: BabelNodeIdentifier): BabelNodeTSNamespaceExportDeclaration;
- declare export function tsTypeAnnotation(typeAnnotation: BabelNodeTSType): BabelNodeTSTypeAnnotation;
- declare export function tsTypeParameterInstantiation(params: Array<BabelNodeTSType>): BabelNodeTSTypeParameterInstantiation;
- declare export function tsTypeParameterDeclaration(params: Array<BabelNodeTSTypeParameter>): BabelNodeTSTypeParameterDeclaration;
- declare export function tsTypeParameter(constraint?: BabelNodeTSType, _default?: BabelNodeTSType, name: string): BabelNodeTSTypeParameter;
- declare export function isArrayExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeArrayExpression)
- declare export function assertArrayExpression(node: ?Object, opts?: ?Object): void
- declare export function isAssignmentExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeAssignmentExpression)
- declare export function assertAssignmentExpression(node: ?Object, opts?: ?Object): void
- declare export function isBinaryExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeBinaryExpression)
- declare export function assertBinaryExpression(node: ?Object, opts?: ?Object): void
- declare export function isInterpreterDirective(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeInterpreterDirective)
- declare export function assertInterpreterDirective(node: ?Object, opts?: ?Object): void
- declare export function isDirective(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDirective)
- declare export function assertDirective(node: ?Object, opts?: ?Object): void
- declare export function isDirectiveLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDirectiveLiteral)
- declare export function assertDirectiveLiteral(node: ?Object, opts?: ?Object): void
- declare export function isBlockStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeBlockStatement)
- declare export function assertBlockStatement(node: ?Object, opts?: ?Object): void
- declare export function isBreakStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeBreakStatement)
- declare export function assertBreakStatement(node: ?Object, opts?: ?Object): void
- declare export function isCallExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeCallExpression)
- declare export function assertCallExpression(node: ?Object, opts?: ?Object): void
- declare export function isCatchClause(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeCatchClause)
- declare export function assertCatchClause(node: ?Object, opts?: ?Object): void
- declare export function isConditionalExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeConditionalExpression)
- declare export function assertConditionalExpression(node: ?Object, opts?: ?Object): void
- declare export function isContinueStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeContinueStatement)
- declare export function assertContinueStatement(node: ?Object, opts?: ?Object): void
- declare export function isDebuggerStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDebuggerStatement)
- declare export function assertDebuggerStatement(node: ?Object, opts?: ?Object): void
- declare export function isDoWhileStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDoWhileStatement)
- declare export function assertDoWhileStatement(node: ?Object, opts?: ?Object): void
- declare export function isEmptyStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEmptyStatement)
- declare export function assertEmptyStatement(node: ?Object, opts?: ?Object): void
- declare export function isExpressionStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeExpressionStatement)
- declare export function assertExpressionStatement(node: ?Object, opts?: ?Object): void
- declare export function isFile(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeFile)
- declare export function assertFile(node: ?Object, opts?: ?Object): void
- declare export function isForInStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeForInStatement)
- declare export function assertForInStatement(node: ?Object, opts?: ?Object): void
- declare export function isForStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeForStatement)
- declare export function assertForStatement(node: ?Object, opts?: ?Object): void
- declare export function isFunctionDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeFunctionDeclaration)
- declare export function assertFunctionDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isFunctionExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeFunctionExpression)
- declare export function assertFunctionExpression(node: ?Object, opts?: ?Object): void
- declare export function isIdentifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeIdentifier)
- declare export function assertIdentifier(node: ?Object, opts?: ?Object): void
- declare export function isIfStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeIfStatement)
- declare export function assertIfStatement(node: ?Object, opts?: ?Object): void
- declare export function isLabeledStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeLabeledStatement)
- declare export function assertLabeledStatement(node: ?Object, opts?: ?Object): void
- declare export function isStringLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeStringLiteral)
- declare export function assertStringLiteral(node: ?Object, opts?: ?Object): void
- declare export function isNumericLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeNumericLiteral)
- declare export function assertNumericLiteral(node: ?Object, opts?: ?Object): void
- declare export function isNullLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeNullLiteral)
- declare export function assertNullLiteral(node: ?Object, opts?: ?Object): void
- declare export function isBooleanLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeBooleanLiteral)
- declare export function assertBooleanLiteral(node: ?Object, opts?: ?Object): void
- declare export function isRegExpLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeRegExpLiteral)
- declare export function assertRegExpLiteral(node: ?Object, opts?: ?Object): void
- declare export function isLogicalExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeLogicalExpression)
- declare export function assertLogicalExpression(node: ?Object, opts?: ?Object): void
- declare export function isMemberExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeMemberExpression)
- declare export function assertMemberExpression(node: ?Object, opts?: ?Object): void
- declare export function isNewExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeNewExpression)
- declare export function assertNewExpression(node: ?Object, opts?: ?Object): void
- declare export function isProgram(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeProgram)
- declare export function assertProgram(node: ?Object, opts?: ?Object): void
- declare export function isObjectExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectExpression)
- declare export function assertObjectExpression(node: ?Object, opts?: ?Object): void
- declare export function isObjectMethod(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectMethod)
- declare export function assertObjectMethod(node: ?Object, opts?: ?Object): void
- declare export function isObjectProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectProperty)
- declare export function assertObjectProperty(node: ?Object, opts?: ?Object): void
- declare export function isRestElement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeRestElement)
- declare export function assertRestElement(node: ?Object, opts?: ?Object): void
- declare export function isReturnStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeReturnStatement)
- declare export function assertReturnStatement(node: ?Object, opts?: ?Object): void
- declare export function isSequenceExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeSequenceExpression)
- declare export function assertSequenceExpression(node: ?Object, opts?: ?Object): void
- declare export function isParenthesizedExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeParenthesizedExpression)
- declare export function assertParenthesizedExpression(node: ?Object, opts?: ?Object): void
- declare export function isSwitchCase(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeSwitchCase)
- declare export function assertSwitchCase(node: ?Object, opts?: ?Object): void
- declare export function isSwitchStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeSwitchStatement)
- declare export function assertSwitchStatement(node: ?Object, opts?: ?Object): void
- declare export function isThisExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeThisExpression)
- declare export function assertThisExpression(node: ?Object, opts?: ?Object): void
- declare export function isThrowStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeThrowStatement)
- declare export function assertThrowStatement(node: ?Object, opts?: ?Object): void
- declare export function isTryStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTryStatement)
- declare export function assertTryStatement(node: ?Object, opts?: ?Object): void
- declare export function isUnaryExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeUnaryExpression)
- declare export function assertUnaryExpression(node: ?Object, opts?: ?Object): void
- declare export function isUpdateExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeUpdateExpression)
- declare export function assertUpdateExpression(node: ?Object, opts?: ?Object): void
- declare export function isVariableDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeVariableDeclaration)
- declare export function assertVariableDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isVariableDeclarator(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeVariableDeclarator)
- declare export function assertVariableDeclarator(node: ?Object, opts?: ?Object): void
- declare export function isWhileStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeWhileStatement)
- declare export function assertWhileStatement(node: ?Object, opts?: ?Object): void
- declare export function isWithStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeWithStatement)
- declare export function assertWithStatement(node: ?Object, opts?: ?Object): void
- declare export function isAssignmentPattern(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeAssignmentPattern)
- declare export function assertAssignmentPattern(node: ?Object, opts?: ?Object): void
- declare export function isArrayPattern(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeArrayPattern)
- declare export function assertArrayPattern(node: ?Object, opts?: ?Object): void
- declare export function isArrowFunctionExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeArrowFunctionExpression)
- declare export function assertArrowFunctionExpression(node: ?Object, opts?: ?Object): void
- declare export function isClassBody(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeClassBody)
- declare export function assertClassBody(node: ?Object, opts?: ?Object): void
- declare export function isClassExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeClassExpression)
- declare export function assertClassExpression(node: ?Object, opts?: ?Object): void
- declare export function isClassDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeClassDeclaration)
- declare export function assertClassDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isExportAllDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeExportAllDeclaration)
- declare export function assertExportAllDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isExportDefaultDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeExportDefaultDeclaration)
- declare export function assertExportDefaultDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isExportNamedDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeExportNamedDeclaration)
- declare export function assertExportNamedDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isExportSpecifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeExportSpecifier)
- declare export function assertExportSpecifier(node: ?Object, opts?: ?Object): void
- declare export function isForOfStatement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeForOfStatement)
- declare export function assertForOfStatement(node: ?Object, opts?: ?Object): void
- declare export function isImportDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeImportDeclaration)
- declare export function assertImportDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isImportDefaultSpecifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeImportDefaultSpecifier)
- declare export function assertImportDefaultSpecifier(node: ?Object, opts?: ?Object): void
- declare export function isImportNamespaceSpecifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeImportNamespaceSpecifier)
- declare export function assertImportNamespaceSpecifier(node: ?Object, opts?: ?Object): void
- declare export function isImportSpecifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeImportSpecifier)
- declare export function assertImportSpecifier(node: ?Object, opts?: ?Object): void
- declare export function isMetaProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeMetaProperty)
- declare export function assertMetaProperty(node: ?Object, opts?: ?Object): void
- declare export function isClassMethod(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeClassMethod)
- declare export function assertClassMethod(node: ?Object, opts?: ?Object): void
- declare export function isObjectPattern(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectPattern)
- declare export function assertObjectPattern(node: ?Object, opts?: ?Object): void
- declare export function isSpreadElement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeSpreadElement)
- declare export function assertSpreadElement(node: ?Object, opts?: ?Object): void
- declare export function isSuper(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeSuper)
- declare export function assertSuper(node: ?Object, opts?: ?Object): void
- declare export function isTaggedTemplateExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTaggedTemplateExpression)
- declare export function assertTaggedTemplateExpression(node: ?Object, opts?: ?Object): void
- declare export function isTemplateElement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTemplateElement)
- declare export function assertTemplateElement(node: ?Object, opts?: ?Object): void
- declare export function isTemplateLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTemplateLiteral)
- declare export function assertTemplateLiteral(node: ?Object, opts?: ?Object): void
- declare export function isYieldExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeYieldExpression)
- declare export function assertYieldExpression(node: ?Object, opts?: ?Object): void
- declare export function isAwaitExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeAwaitExpression)
- declare export function assertAwaitExpression(node: ?Object, opts?: ?Object): void
- declare export function isImport(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeImport)
- declare export function assertImport(node: ?Object, opts?: ?Object): void
- declare export function isBigIntLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeBigIntLiteral)
- declare export function assertBigIntLiteral(node: ?Object, opts?: ?Object): void
- declare export function isExportNamespaceSpecifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeExportNamespaceSpecifier)
- declare export function assertExportNamespaceSpecifier(node: ?Object, opts?: ?Object): void
- declare export function isOptionalMemberExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeOptionalMemberExpression)
- declare export function assertOptionalMemberExpression(node: ?Object, opts?: ?Object): void
- declare export function isOptionalCallExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeOptionalCallExpression)
- declare export function assertOptionalCallExpression(node: ?Object, opts?: ?Object): void
- declare export function isClassProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeClassProperty)
- declare export function assertClassProperty(node: ?Object, opts?: ?Object): void
- declare export function isClassAccessorProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeClassAccessorProperty)
- declare export function assertClassAccessorProperty(node: ?Object, opts?: ?Object): void
- declare export function isClassPrivateProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeClassPrivateProperty)
- declare export function assertClassPrivateProperty(node: ?Object, opts?: ?Object): void
- declare export function isClassPrivateMethod(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeClassPrivateMethod)
- declare export function assertClassPrivateMethod(node: ?Object, opts?: ?Object): void
- declare export function isPrivateName(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodePrivateName)
- declare export function assertPrivateName(node: ?Object, opts?: ?Object): void
- declare export function isStaticBlock(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeStaticBlock)
- declare export function assertStaticBlock(node: ?Object, opts?: ?Object): void
- declare export function isAnyTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeAnyTypeAnnotation)
- declare export function assertAnyTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isArrayTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeArrayTypeAnnotation)
- declare export function assertArrayTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isBooleanTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeBooleanTypeAnnotation)
- declare export function assertBooleanTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isBooleanLiteralTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeBooleanLiteralTypeAnnotation)
- declare export function assertBooleanLiteralTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isNullLiteralTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeNullLiteralTypeAnnotation)
- declare export function assertNullLiteralTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isClassImplements(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeClassImplements)
- declare export function assertClassImplements(node: ?Object, opts?: ?Object): void
- declare export function isDeclareClass(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareClass)
- declare export function assertDeclareClass(node: ?Object, opts?: ?Object): void
- declare export function isDeclareFunction(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareFunction)
- declare export function assertDeclareFunction(node: ?Object, opts?: ?Object): void
- declare export function isDeclareInterface(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareInterface)
- declare export function assertDeclareInterface(node: ?Object, opts?: ?Object): void
- declare export function isDeclareModule(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareModule)
- declare export function assertDeclareModule(node: ?Object, opts?: ?Object): void
- declare export function isDeclareModuleExports(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareModuleExports)
- declare export function assertDeclareModuleExports(node: ?Object, opts?: ?Object): void
- declare export function isDeclareTypeAlias(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareTypeAlias)
- declare export function assertDeclareTypeAlias(node: ?Object, opts?: ?Object): void
- declare export function isDeclareOpaqueType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareOpaqueType)
- declare export function assertDeclareOpaqueType(node: ?Object, opts?: ?Object): void
- declare export function isDeclareVariable(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareVariable)
- declare export function assertDeclareVariable(node: ?Object, opts?: ?Object): void
- declare export function isDeclareExportDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareExportDeclaration)
- declare export function assertDeclareExportDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isDeclareExportAllDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclareExportAllDeclaration)
- declare export function assertDeclareExportAllDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isDeclaredPredicate(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDeclaredPredicate)
- declare export function assertDeclaredPredicate(node: ?Object, opts?: ?Object): void
- declare export function isExistsTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeExistsTypeAnnotation)
- declare export function assertExistsTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isFunctionTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeFunctionTypeAnnotation)
- declare export function assertFunctionTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isFunctionTypeParam(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeFunctionTypeParam)
- declare export function assertFunctionTypeParam(node: ?Object, opts?: ?Object): void
- declare export function isGenericTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeGenericTypeAnnotation)
- declare export function assertGenericTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isInferredPredicate(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeInferredPredicate)
- declare export function assertInferredPredicate(node: ?Object, opts?: ?Object): void
- declare export function isInterfaceExtends(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeInterfaceExtends)
- declare export function assertInterfaceExtends(node: ?Object, opts?: ?Object): void
- declare export function isInterfaceDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeInterfaceDeclaration)
- declare export function assertInterfaceDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isInterfaceTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeInterfaceTypeAnnotation)
- declare export function assertInterfaceTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isIntersectionTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeIntersectionTypeAnnotation)
- declare export function assertIntersectionTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isMixedTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeMixedTypeAnnotation)
- declare export function assertMixedTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isEmptyTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEmptyTypeAnnotation)
- declare export function assertEmptyTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isNullableTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeNullableTypeAnnotation)
- declare export function assertNullableTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isNumberLiteralTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeNumberLiteralTypeAnnotation)
- declare export function assertNumberLiteralTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isNumberTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeNumberTypeAnnotation)
- declare export function assertNumberTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isObjectTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectTypeAnnotation)
- declare export function assertObjectTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isObjectTypeInternalSlot(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectTypeInternalSlot)
- declare export function assertObjectTypeInternalSlot(node: ?Object, opts?: ?Object): void
- declare export function isObjectTypeCallProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectTypeCallProperty)
- declare export function assertObjectTypeCallProperty(node: ?Object, opts?: ?Object): void
- declare export function isObjectTypeIndexer(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectTypeIndexer)
- declare export function assertObjectTypeIndexer(node: ?Object, opts?: ?Object): void
- declare export function isObjectTypeProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectTypeProperty)
- declare export function assertObjectTypeProperty(node: ?Object, opts?: ?Object): void
- declare export function isObjectTypeSpreadProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeObjectTypeSpreadProperty)
- declare export function assertObjectTypeSpreadProperty(node: ?Object, opts?: ?Object): void
- declare export function isOpaqueType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeOpaqueType)
- declare export function assertOpaqueType(node: ?Object, opts?: ?Object): void
- declare export function isQualifiedTypeIdentifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeQualifiedTypeIdentifier)
- declare export function assertQualifiedTypeIdentifier(node: ?Object, opts?: ?Object): void
- declare export function isStringLiteralTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeStringLiteralTypeAnnotation)
- declare export function assertStringLiteralTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isStringTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeStringTypeAnnotation)
- declare export function assertStringTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isSymbolTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeSymbolTypeAnnotation)
- declare export function assertSymbolTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isThisTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeThisTypeAnnotation)
- declare export function assertThisTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isTupleTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTupleTypeAnnotation)
- declare export function assertTupleTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isTypeofTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTypeofTypeAnnotation)
- declare export function assertTypeofTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isTypeAlias(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTypeAlias)
- declare export function assertTypeAlias(node: ?Object, opts?: ?Object): void
- declare export function isTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTypeAnnotation)
- declare export function assertTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isTypeCastExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTypeCastExpression)
- declare export function assertTypeCastExpression(node: ?Object, opts?: ?Object): void
- declare export function isTypeParameter(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTypeParameter)
- declare export function assertTypeParameter(node: ?Object, opts?: ?Object): void
- declare export function isTypeParameterDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTypeParameterDeclaration)
- declare export function assertTypeParameterDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTypeParameterInstantiation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTypeParameterInstantiation)
- declare export function assertTypeParameterInstantiation(node: ?Object, opts?: ?Object): void
- declare export function isUnionTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeUnionTypeAnnotation)
- declare export function assertUnionTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isVariance(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeVariance)
- declare export function assertVariance(node: ?Object, opts?: ?Object): void
- declare export function isVoidTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeVoidTypeAnnotation)
- declare export function assertVoidTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isEnumDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumDeclaration)
- declare export function assertEnumDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isEnumBooleanBody(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumBooleanBody)
- declare export function assertEnumBooleanBody(node: ?Object, opts?: ?Object): void
- declare export function isEnumNumberBody(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumNumberBody)
- declare export function assertEnumNumberBody(node: ?Object, opts?: ?Object): void
- declare export function isEnumStringBody(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumStringBody)
- declare export function assertEnumStringBody(node: ?Object, opts?: ?Object): void
- declare export function isEnumSymbolBody(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumSymbolBody)
- declare export function assertEnumSymbolBody(node: ?Object, opts?: ?Object): void
- declare export function isEnumBooleanMember(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumBooleanMember)
- declare export function assertEnumBooleanMember(node: ?Object, opts?: ?Object): void
- declare export function isEnumNumberMember(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumNumberMember)
- declare export function assertEnumNumberMember(node: ?Object, opts?: ?Object): void
- declare export function isEnumStringMember(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumStringMember)
- declare export function assertEnumStringMember(node: ?Object, opts?: ?Object): void
- declare export function isEnumDefaultedMember(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeEnumDefaultedMember)
- declare export function assertEnumDefaultedMember(node: ?Object, opts?: ?Object): void
- declare export function isIndexedAccessType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeIndexedAccessType)
- declare export function assertIndexedAccessType(node: ?Object, opts?: ?Object): void
- declare export function isOptionalIndexedAccessType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeOptionalIndexedAccessType)
- declare export function assertOptionalIndexedAccessType(node: ?Object, opts?: ?Object): void
- declare export function isJSXAttribute(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXAttribute)
- declare export function assertJSXAttribute(node: ?Object, opts?: ?Object): void
- declare export function isJSXClosingElement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXClosingElement)
- declare export function assertJSXClosingElement(node: ?Object, opts?: ?Object): void
- declare export function isJSXElement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXElement)
- declare export function assertJSXElement(node: ?Object, opts?: ?Object): void
- declare export function isJSXEmptyExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXEmptyExpression)
- declare export function assertJSXEmptyExpression(node: ?Object, opts?: ?Object): void
- declare export function isJSXExpressionContainer(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXExpressionContainer)
- declare export function assertJSXExpressionContainer(node: ?Object, opts?: ?Object): void
- declare export function isJSXSpreadChild(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXSpreadChild)
- declare export function assertJSXSpreadChild(node: ?Object, opts?: ?Object): void
- declare export function isJSXIdentifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXIdentifier)
- declare export function assertJSXIdentifier(node: ?Object, opts?: ?Object): void
- declare export function isJSXMemberExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXMemberExpression)
- declare export function assertJSXMemberExpression(node: ?Object, opts?: ?Object): void
- declare export function isJSXNamespacedName(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXNamespacedName)
- declare export function assertJSXNamespacedName(node: ?Object, opts?: ?Object): void
- declare export function isJSXOpeningElement(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXOpeningElement)
- declare export function assertJSXOpeningElement(node: ?Object, opts?: ?Object): void
- declare export function isJSXSpreadAttribute(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXSpreadAttribute)
- declare export function assertJSXSpreadAttribute(node: ?Object, opts?: ?Object): void
- declare export function isJSXText(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXText)
- declare export function assertJSXText(node: ?Object, opts?: ?Object): void
- declare export function isJSXFragment(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXFragment)
- declare export function assertJSXFragment(node: ?Object, opts?: ?Object): void
- declare export function isJSXOpeningFragment(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXOpeningFragment)
- declare export function assertJSXOpeningFragment(node: ?Object, opts?: ?Object): void
- declare export function isJSXClosingFragment(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeJSXClosingFragment)
- declare export function assertJSXClosingFragment(node: ?Object, opts?: ?Object): void
- declare export function isNoop(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeNoop)
- declare export function assertNoop(node: ?Object, opts?: ?Object): void
- declare export function isPlaceholder(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodePlaceholder)
- declare export function assertPlaceholder(node: ?Object, opts?: ?Object): void
- declare export function isV8IntrinsicIdentifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeV8IntrinsicIdentifier)
- declare export function assertV8IntrinsicIdentifier(node: ?Object, opts?: ?Object): void
- declare export function isArgumentPlaceholder(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeArgumentPlaceholder)
- declare export function assertArgumentPlaceholder(node: ?Object, opts?: ?Object): void
- declare export function isBindExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeBindExpression)
- declare export function assertBindExpression(node: ?Object, opts?: ?Object): void
- declare export function isImportAttribute(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeImportAttribute)
- declare export function assertImportAttribute(node: ?Object, opts?: ?Object): void
- declare export function isDecorator(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDecorator)
- declare export function assertDecorator(node: ?Object, opts?: ?Object): void
- declare export function isDoExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDoExpression)
- declare export function assertDoExpression(node: ?Object, opts?: ?Object): void
- declare export function isExportDefaultSpecifier(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeExportDefaultSpecifier)
- declare export function assertExportDefaultSpecifier(node: ?Object, opts?: ?Object): void
- declare export function isRecordExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeRecordExpression)
- declare export function assertRecordExpression(node: ?Object, opts?: ?Object): void
- declare export function isTupleExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTupleExpression)
- declare export function assertTupleExpression(node: ?Object, opts?: ?Object): void
- declare export function isDecimalLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeDecimalLiteral)
- declare export function assertDecimalLiteral(node: ?Object, opts?: ?Object): void
- declare export function isModuleExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeModuleExpression)
- declare export function assertModuleExpression(node: ?Object, opts?: ?Object): void
- declare export function isTopicReference(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTopicReference)
- declare export function assertTopicReference(node: ?Object, opts?: ?Object): void
- declare export function isPipelineTopicExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodePipelineTopicExpression)
- declare export function assertPipelineTopicExpression(node: ?Object, opts?: ?Object): void
- declare export function isPipelineBareFunction(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodePipelineBareFunction)
- declare export function assertPipelineBareFunction(node: ?Object, opts?: ?Object): void
- declare export function isPipelinePrimaryTopicReference(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodePipelinePrimaryTopicReference)
- declare export function assertPipelinePrimaryTopicReference(node: ?Object, opts?: ?Object): void
- declare export function isTSParameterProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSParameterProperty)
- declare export function assertTSParameterProperty(node: ?Object, opts?: ?Object): void
- declare export function isTSDeclareFunction(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSDeclareFunction)
- declare export function assertTSDeclareFunction(node: ?Object, opts?: ?Object): void
- declare export function isTSDeclareMethod(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSDeclareMethod)
- declare export function assertTSDeclareMethod(node: ?Object, opts?: ?Object): void
- declare export function isTSQualifiedName(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSQualifiedName)
- declare export function assertTSQualifiedName(node: ?Object, opts?: ?Object): void
- declare export function isTSCallSignatureDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSCallSignatureDeclaration)
- declare export function assertTSCallSignatureDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTSConstructSignatureDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSConstructSignatureDeclaration)
- declare export function assertTSConstructSignatureDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTSPropertySignature(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSPropertySignature)
- declare export function assertTSPropertySignature(node: ?Object, opts?: ?Object): void
- declare export function isTSMethodSignature(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSMethodSignature)
- declare export function assertTSMethodSignature(node: ?Object, opts?: ?Object): void
- declare export function isTSIndexSignature(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSIndexSignature)
- declare export function assertTSIndexSignature(node: ?Object, opts?: ?Object): void
- declare export function isTSAnyKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSAnyKeyword)
- declare export function assertTSAnyKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSBooleanKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSBooleanKeyword)
- declare export function assertTSBooleanKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSBigIntKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSBigIntKeyword)
- declare export function assertTSBigIntKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSIntrinsicKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSIntrinsicKeyword)
- declare export function assertTSIntrinsicKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSNeverKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSNeverKeyword)
- declare export function assertTSNeverKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSNullKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSNullKeyword)
- declare export function assertTSNullKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSNumberKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSNumberKeyword)
- declare export function assertTSNumberKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSObjectKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSObjectKeyword)
- declare export function assertTSObjectKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSStringKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSStringKeyword)
- declare export function assertTSStringKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSSymbolKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSSymbolKeyword)
- declare export function assertTSSymbolKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSUndefinedKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSUndefinedKeyword)
- declare export function assertTSUndefinedKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSUnknownKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSUnknownKeyword)
- declare export function assertTSUnknownKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSVoidKeyword(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSVoidKeyword)
- declare export function assertTSVoidKeyword(node: ?Object, opts?: ?Object): void
- declare export function isTSThisType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSThisType)
- declare export function assertTSThisType(node: ?Object, opts?: ?Object): void
- declare export function isTSFunctionType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSFunctionType)
- declare export function assertTSFunctionType(node: ?Object, opts?: ?Object): void
- declare export function isTSConstructorType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSConstructorType)
- declare export function assertTSConstructorType(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeReference(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeReference)
- declare export function assertTSTypeReference(node: ?Object, opts?: ?Object): void
- declare export function isTSTypePredicate(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypePredicate)
- declare export function assertTSTypePredicate(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeQuery(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeQuery)
- declare export function assertTSTypeQuery(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeLiteral)
- declare export function assertTSTypeLiteral(node: ?Object, opts?: ?Object): void
- declare export function isTSArrayType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSArrayType)
- declare export function assertTSArrayType(node: ?Object, opts?: ?Object): void
- declare export function isTSTupleType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTupleType)
- declare export function assertTSTupleType(node: ?Object, opts?: ?Object): void
- declare export function isTSOptionalType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSOptionalType)
- declare export function assertTSOptionalType(node: ?Object, opts?: ?Object): void
- declare export function isTSRestType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSRestType)
- declare export function assertTSRestType(node: ?Object, opts?: ?Object): void
- declare export function isTSNamedTupleMember(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSNamedTupleMember)
- declare export function assertTSNamedTupleMember(node: ?Object, opts?: ?Object): void
- declare export function isTSUnionType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSUnionType)
- declare export function assertTSUnionType(node: ?Object, opts?: ?Object): void
- declare export function isTSIntersectionType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSIntersectionType)
- declare export function assertTSIntersectionType(node: ?Object, opts?: ?Object): void
- declare export function isTSConditionalType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSConditionalType)
- declare export function assertTSConditionalType(node: ?Object, opts?: ?Object): void
- declare export function isTSInferType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSInferType)
- declare export function assertTSInferType(node: ?Object, opts?: ?Object): void
- declare export function isTSParenthesizedType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSParenthesizedType)
- declare export function assertTSParenthesizedType(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeOperator(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeOperator)
- declare export function assertTSTypeOperator(node: ?Object, opts?: ?Object): void
- declare export function isTSIndexedAccessType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSIndexedAccessType)
- declare export function assertTSIndexedAccessType(node: ?Object, opts?: ?Object): void
- declare export function isTSMappedType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSMappedType)
- declare export function assertTSMappedType(node: ?Object, opts?: ?Object): void
- declare export function isTSLiteralType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSLiteralType)
- declare export function assertTSLiteralType(node: ?Object, opts?: ?Object): void
- declare export function isTSExpressionWithTypeArguments(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSExpressionWithTypeArguments)
- declare export function assertTSExpressionWithTypeArguments(node: ?Object, opts?: ?Object): void
- declare export function isTSInterfaceDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSInterfaceDeclaration)
- declare export function assertTSInterfaceDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTSInterfaceBody(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSInterfaceBody)
- declare export function assertTSInterfaceBody(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeAliasDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeAliasDeclaration)
- declare export function assertTSTypeAliasDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTSInstantiationExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSInstantiationExpression)
- declare export function assertTSInstantiationExpression(node: ?Object, opts?: ?Object): void
- declare export function isTSAsExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSAsExpression)
- declare export function assertTSAsExpression(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeAssertion(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeAssertion)
- declare export function assertTSTypeAssertion(node: ?Object, opts?: ?Object): void
- declare export function isTSEnumDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSEnumDeclaration)
- declare export function assertTSEnumDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTSEnumMember(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSEnumMember)
- declare export function assertTSEnumMember(node: ?Object, opts?: ?Object): void
- declare export function isTSModuleDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSModuleDeclaration)
- declare export function assertTSModuleDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTSModuleBlock(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSModuleBlock)
- declare export function assertTSModuleBlock(node: ?Object, opts?: ?Object): void
- declare export function isTSImportType(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSImportType)
- declare export function assertTSImportType(node: ?Object, opts?: ?Object): void
- declare export function isTSImportEqualsDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSImportEqualsDeclaration)
- declare export function assertTSImportEqualsDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTSExternalModuleReference(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSExternalModuleReference)
- declare export function assertTSExternalModuleReference(node: ?Object, opts?: ?Object): void
- declare export function isTSNonNullExpression(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSNonNullExpression)
- declare export function assertTSNonNullExpression(node: ?Object, opts?: ?Object): void
- declare export function isTSExportAssignment(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSExportAssignment)
- declare export function assertTSExportAssignment(node: ?Object, opts?: ?Object): void
- declare export function isTSNamespaceExportDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSNamespaceExportDeclaration)
- declare export function assertTSNamespaceExportDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeAnnotation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeAnnotation)
- declare export function assertTSTypeAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeParameterInstantiation(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeParameterInstantiation)
- declare export function assertTSTypeParameterInstantiation(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeParameterDeclaration(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeParameterDeclaration)
- declare export function assertTSTypeParameterDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeParameter(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeTSTypeParameter)
- declare export function assertTSTypeParameter(node: ?Object, opts?: ?Object): void
- declare export function isStandardized(node: ?Object, opts?: ?Object): boolean
- declare export function assertStandardized(node: ?Object, opts?: ?Object): void
- declare export function isExpression(node: ?Object, opts?: ?Object): boolean
- declare export function assertExpression(node: ?Object, opts?: ?Object): void
- declare export function isBinary(node: ?Object, opts?: ?Object): boolean
- declare export function assertBinary(node: ?Object, opts?: ?Object): void
- declare export function isScopable(node: ?Object, opts?: ?Object): boolean
- declare export function assertScopable(node: ?Object, opts?: ?Object): void
- declare export function isBlockParent(node: ?Object, opts?: ?Object): boolean
- declare export function assertBlockParent(node: ?Object, opts?: ?Object): void
- declare export function isBlock(node: ?Object, opts?: ?Object): boolean
- declare export function assertBlock(node: ?Object, opts?: ?Object): void
- declare export function isStatement(node: ?Object, opts?: ?Object): boolean
- declare export function assertStatement(node: ?Object, opts?: ?Object): void
- declare export function isTerminatorless(node: ?Object, opts?: ?Object): boolean
- declare export function assertTerminatorless(node: ?Object, opts?: ?Object): void
- declare export function isCompletionStatement(node: ?Object, opts?: ?Object): boolean
- declare export function assertCompletionStatement(node: ?Object, opts?: ?Object): void
- declare export function isConditional(node: ?Object, opts?: ?Object): boolean
- declare export function assertConditional(node: ?Object, opts?: ?Object): void
- declare export function isLoop(node: ?Object, opts?: ?Object): boolean
- declare export function assertLoop(node: ?Object, opts?: ?Object): void
- declare export function isWhile(node: ?Object, opts?: ?Object): boolean
- declare export function assertWhile(node: ?Object, opts?: ?Object): void
- declare export function isExpressionWrapper(node: ?Object, opts?: ?Object): boolean
- declare export function assertExpressionWrapper(node: ?Object, opts?: ?Object): void
- declare export function isFor(node: ?Object, opts?: ?Object): boolean
- declare export function assertFor(node: ?Object, opts?: ?Object): void
- declare export function isForXStatement(node: ?Object, opts?: ?Object): boolean
- declare export function assertForXStatement(node: ?Object, opts?: ?Object): void
- declare export function isFunction(node: ?Object, opts?: ?Object): boolean
- declare export function assertFunction(node: ?Object, opts?: ?Object): void
- declare export function isFunctionParent(node: ?Object, opts?: ?Object): boolean
- declare export function assertFunctionParent(node: ?Object, opts?: ?Object): void
- declare export function isPureish(node: ?Object, opts?: ?Object): boolean
- declare export function assertPureish(node: ?Object, opts?: ?Object): void
- declare export function isDeclaration(node: ?Object, opts?: ?Object): boolean
- declare export function assertDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isPatternLike(node: ?Object, opts?: ?Object): boolean
- declare export function assertPatternLike(node: ?Object, opts?: ?Object): void
- declare export function isLVal(node: ?Object, opts?: ?Object): boolean
- declare export function assertLVal(node: ?Object, opts?: ?Object): void
- declare export function isTSEntityName(node: ?Object, opts?: ?Object): boolean
- declare export function assertTSEntityName(node: ?Object, opts?: ?Object): void
- declare export function isLiteral(node: ?Object, opts?: ?Object): boolean
- declare export function assertLiteral(node: ?Object, opts?: ?Object): void
- declare export function isImmutable(node: ?Object, opts?: ?Object): boolean
- declare export function assertImmutable(node: ?Object, opts?: ?Object): void
- declare export function isUserWhitespacable(node: ?Object, opts?: ?Object): boolean
- declare export function assertUserWhitespacable(node: ?Object, opts?: ?Object): void
- declare export function isMethod(node: ?Object, opts?: ?Object): boolean
- declare export function assertMethod(node: ?Object, opts?: ?Object): void
- declare export function isObjectMember(node: ?Object, opts?: ?Object): boolean
- declare export function assertObjectMember(node: ?Object, opts?: ?Object): void
- declare export function isProperty(node: ?Object, opts?: ?Object): boolean
- declare export function assertProperty(node: ?Object, opts?: ?Object): void
- declare export function isUnaryLike(node: ?Object, opts?: ?Object): boolean
- declare export function assertUnaryLike(node: ?Object, opts?: ?Object): void
- declare export function isPattern(node: ?Object, opts?: ?Object): boolean
- declare export function assertPattern(node: ?Object, opts?: ?Object): void
- declare export function isClass(node: ?Object, opts?: ?Object): boolean
- declare export function assertClass(node: ?Object, opts?: ?Object): void
- declare export function isModuleDeclaration(node: ?Object, opts?: ?Object): boolean
- declare export function assertModuleDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isExportDeclaration(node: ?Object, opts?: ?Object): boolean
- declare export function assertExportDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isModuleSpecifier(node: ?Object, opts?: ?Object): boolean
- declare export function assertModuleSpecifier(node: ?Object, opts?: ?Object): void
- declare export function isAccessor(node: ?Object, opts?: ?Object): boolean
- declare export function assertAccessor(node: ?Object, opts?: ?Object): void
- declare export function isPrivate(node: ?Object, opts?: ?Object): boolean
- declare export function assertPrivate(node: ?Object, opts?: ?Object): void
- declare export function isFlow(node: ?Object, opts?: ?Object): boolean
- declare export function assertFlow(node: ?Object, opts?: ?Object): void
- declare export function isFlowType(node: ?Object, opts?: ?Object): boolean
- declare export function assertFlowType(node: ?Object, opts?: ?Object): void
- declare export function isFlowBaseAnnotation(node: ?Object, opts?: ?Object): boolean
- declare export function assertFlowBaseAnnotation(node: ?Object, opts?: ?Object): void
- declare export function isFlowDeclaration(node: ?Object, opts?: ?Object): boolean
- declare export function assertFlowDeclaration(node: ?Object, opts?: ?Object): void
- declare export function isFlowPredicate(node: ?Object, opts?: ?Object): boolean
- declare export function assertFlowPredicate(node: ?Object, opts?: ?Object): void
- declare export function isEnumBody(node: ?Object, opts?: ?Object): boolean
- declare export function assertEnumBody(node: ?Object, opts?: ?Object): void
- declare export function isEnumMember(node: ?Object, opts?: ?Object): boolean
- declare export function assertEnumMember(node: ?Object, opts?: ?Object): void
- declare export function isJSX(node: ?Object, opts?: ?Object): boolean
- declare export function assertJSX(node: ?Object, opts?: ?Object): void
- declare export function isMiscellaneous(node: ?Object, opts?: ?Object): boolean
- declare export function assertMiscellaneous(node: ?Object, opts?: ?Object): void
- declare export function isTypeScript(node: ?Object, opts?: ?Object): boolean
- declare export function assertTypeScript(node: ?Object, opts?: ?Object): void
- declare export function isTSTypeElement(node: ?Object, opts?: ?Object): boolean
- declare export function assertTSTypeElement(node: ?Object, opts?: ?Object): void
- declare export function isTSType(node: ?Object, opts?: ?Object): boolean
- declare export function assertTSType(node: ?Object, opts?: ?Object): void
- declare export function isTSBaseType(node: ?Object, opts?: ?Object): boolean
- declare export function assertTSBaseType(node: ?Object, opts?: ?Object): void
- declare export function isNumberLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeNumericLiteral)
- declare export function assertNumberLiteral(node: ?Object, opts?: ?Object): void
- declare export function isRegexLiteral(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeRegExpLiteral)
- declare export function assertRegexLiteral(node: ?Object, opts?: ?Object): void
- declare export function isRestProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeRestElement)
- declare export function assertRestProperty(node: ?Object, opts?: ?Object): void
- declare export function isSpreadProperty(node: ?Object, opts?: ?Object): boolean %checks (node instanceof BabelNodeSpreadElement)
- declare export function assertSpreadProperty(node: ?Object, opts?: ?Object): void
- declare export var VISITOR_KEYS: { [type: string]: string[] }
- declare export function assertNode(obj: any): void
- declare export function createTypeAnnotationBasedOnTypeof(type: 'string' | 'number' | 'undefined' | 'boolean' | 'function' | 'object' | 'symbol'): BabelNodeTypeAnnotation
- declare export function createUnionTypeAnnotation(types: Array<BabelNodeFlowType>): BabelNodeUnionTypeAnnotation
- declare export function createFlowUnionType(types: Array<BabelNodeFlowType>): BabelNodeUnionTypeAnnotation
- declare export function buildChildren(node: { children: Array<BabelNodeJSXText | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXElement | BabelNodeJSXFragment | BabelNodeJSXEmptyExpression> }): Array<BabelNodeJSXText | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXElement | BabelNodeJSXFragment>
- declare export function clone<T>(n: T): T;
- declare export function cloneDeep<T>(n: T): T;
- declare export function cloneDeepWithoutLoc<T>(n: T): T;
- declare export function cloneNode<T>(n: T, deep?: boolean, withoutLoc?: boolean): T;
- declare export function cloneWithoutLoc<T>(n: T): T;
- declare type CommentTypeShorthand = 'leading' | 'inner' | 'trailing'
- declare export function addComment<T: BabelNode>(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T
- declare export function addComments<T: BabelNode>(node: T, type: CommentTypeShorthand, comments: Array<Comment>): T
- declare export function inheritInnerComments(node: BabelNode, parent: BabelNode): void
- declare export function inheritLeadingComments(node: BabelNode, parent: BabelNode): void
- declare export function inheritsComments<T: BabelNode>(node: T, parent: BabelNode): void
- declare export function inheritTrailingComments(node: BabelNode, parent: BabelNode): void
- declare export function removeComments<T: BabelNode>(node: T): T
- declare export function ensureBlock(node: BabelNode, key: string): BabelNodeBlockStatement
- declare export function toBindingIdentifierName(name?: ?string): string
- declare export function toBlock(node: BabelNodeStatement | BabelNodeExpression, parent?: BabelNodeFunction | null): BabelNodeBlockStatement
- declare export function toComputedKey(node: BabelNodeMethod | BabelNodeProperty, key?: BabelNodeExpression | BabelNodeIdentifier): BabelNodeExpression
- declare export function toExpression(node: BabelNodeExpressionStatement | BabelNodeExpression | BabelNodeClass | BabelNodeFunction): BabelNodeExpression
- declare export function toIdentifier(name?: ?string): string
- declare export function toKeyAlias(node: BabelNodeMethod | BabelNodeProperty, key?: BabelNode): string
- declare export function toStatement(node: BabelNodeStatement | BabelNodeClass | BabelNodeFunction | BabelNodeAssignmentExpression, ignore?: boolean): BabelNodeStatement | void
- declare export function valueToNode(value: any): BabelNodeExpression
- declare export function removeTypeDuplicates(types: Array<BabelNodeFlowType>): Array<BabelNodeFlowType>
- declare export function appendToMemberExpression(member: BabelNodeMemberExpression, append: BabelNode, computed?: boolean): BabelNodeMemberExpression
- declare export function inherits<T: BabelNode>(child: T, parent: BabelNode | null | void): T
- declare export function prependToMemberExpression(member: BabelNodeMemberExpression, prepend: BabelNodeExpression): BabelNodeMemberExpression
- declare export function removeProperties<T>(n: T, opts: ?{}): void;
- declare export function removePropertiesDeep<T>(n: T, opts: ?{}): T;
- declare export var getBindingIdentifiers: {
- (node: BabelNode, duplicates?: boolean, outerOnly?: boolean): { [key: string]: BabelNodeIdentifier | Array<BabelNodeIdentifier> },
- keys: { [type: string]: string[] }
- }
- declare export function getOuterBindingIdentifiers(node: BabelNode, duplicates?: boolean): { [key: string]: BabelNodeIdentifier | Array<BabelNodeIdentifier> }
- declare type TraversalAncestors = Array<{
- node: BabelNode,
- key: string,
- index?: number,
- }>;
- declare type TraversalHandler<T> = (BabelNode, TraversalAncestors, T) => void;
- declare type TraversalHandlers<T> = {
- enter?: TraversalHandler<T>,
- exit?: TraversalHandler<T>,
- };
- declare export function traverse<T>(n: BabelNode, TraversalHandler<T> | TraversalHandlers<T>, state?: T): void;
- declare export function traverseFast<T>(n: BabelNode, h: TraversalHandler<T>, state?: T): void;
- declare export function shallowEqual(actual: Object, expected: Object): boolean
- declare export function buildMatchMemberExpression(match: string, allowPartial?: boolean): (?BabelNode) => boolean
- declare export function is(type: string, n: BabelNode, opts: Object): boolean;
- declare export function isBinding(node: BabelNode, parent: BabelNode, grandparent?: BabelNode): boolean
- declare export function isBlockScoped(node: BabelNode): boolean
- declare export function isImmutable(node: BabelNode): boolean
- declare export function isLet(node: BabelNode): boolean
- declare export function isNode(node: ?Object): boolean
- declare export function isNodesEquivalent(a: any, b: any): boolean
- declare export function isPlaceholderType(placeholderType: string, targetType: string): boolean
- declare export function isReferenced(node: BabelNode, parent: BabelNode, grandparent?: BabelNode): boolean
- declare export function isScope(node: BabelNode, parent: BabelNode): boolean
- declare export function isSpecifierDefault(specifier: BabelNodeModuleSpecifier): boolean
- declare export function isType(nodetype: ?string, targetType: string): boolean
- declare export function isValidES3Identifier(name: string): boolean
- declare export function isValidES3Identifier(name: string): boolean
- declare export function isValidIdentifier(name: string): boolean
- declare export function isVar(node: BabelNode): boolean
- declare export function matchesPattern(node: ?BabelNode, match: string | Array<string>, allowPartial?: boolean): boolean
- declare export function validate(n: BabelNode, key: string, value: mixed): void;
-}
diff --git a/includes/search/node_modules/@babel/types/lib/index.js.map b/includes/search/node_modules/@babel/types/lib/index.js.map
deleted file mode 100644
index 2b4c8a4..0000000
--- a/includes/search/node_modules/@babel/types/lib/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["react","isReactComponent","isCompatTag","buildChildren"],"sources":["../src/index.ts"],"sourcesContent":["import isReactComponent from \"./validators/react/isReactComponent\";\nimport isCompatTag from \"./validators/react/isCompatTag\";\nimport buildChildren from \"./builders/react/buildChildren\";\n\n// asserts\nexport { default as assertNode } from \"./asserts/assertNode\";\nexport * from \"./asserts/generated\";\n\n// builders\nexport { default as createTypeAnnotationBasedOnTypeof } from \"./builders/flow/createTypeAnnotationBasedOnTypeof\";\n/** @deprecated use createFlowUnionType instead */\nexport { default as createUnionTypeAnnotation } from \"./builders/flow/createFlowUnionType\";\nexport { default as createFlowUnionType } from \"./builders/flow/createFlowUnionType\";\nexport { default as createTSUnionType } from \"./builders/typescript/createTSUnionType\";\nexport * from \"./builders/generated\";\nexport * from \"./builders/generated/uppercase\";\n\n// clone\nexport { default as cloneNode } from \"./clone/cloneNode\";\nexport { default as clone } from \"./clone/clone\";\nexport { default as cloneDeep } from \"./clone/cloneDeep\";\nexport { default as cloneDeepWithoutLoc } from \"./clone/cloneDeepWithoutLoc\";\nexport { default as cloneWithoutLoc } from \"./clone/cloneWithoutLoc\";\n\n// comments\nexport { default as addComment } from \"./comments/addComment\";\nexport { default as addComments } from \"./comments/addComments\";\nexport { default as inheritInnerComments } from \"./comments/inheritInnerComments\";\nexport { default as inheritLeadingComments } from \"./comments/inheritLeadingComments\";\nexport { default as inheritsComments } from \"./comments/inheritsComments\";\nexport { default as inheritTrailingComments } from \"./comments/inheritTrailingComments\";\nexport { default as removeComments } from \"./comments/removeComments\";\n\n// constants\nexport * from \"./constants/generated\";\nexport * from \"./constants\";\n\n// converters\nexport { default as ensureBlock } from \"./converters/ensureBlock\";\nexport { default as toBindingIdentifierName } from \"./converters/toBindingIdentifierName\";\nexport { default as toBlock } from \"./converters/toBlock\";\nexport { default as toComputedKey } from \"./converters/toComputedKey\";\nexport { default as toExpression } from \"./converters/toExpression\";\nexport { default as toIdentifier } from \"./converters/toIdentifier\";\nexport { default as toKeyAlias } from \"./converters/toKeyAlias\";\nexport { default as toSequenceExpression } from \"./converters/toSequenceExpression\";\nexport { default as toStatement } from \"./converters/toStatement\";\nexport { default as valueToNode } from \"./converters/valueToNode\";\n\n// definitions\nexport * from \"./definitions\";\n\n// modifications\nexport { default as appendToMemberExpression } from \"./modifications/appendToMemberExpression\";\nexport { default as inherits } from \"./modifications/inherits\";\nexport { default as prependToMemberExpression } from \"./modifications/prependToMemberExpression\";\nexport {\n default as removeProperties,\n type Options as RemovePropertiesOptions,\n} from \"./modifications/removeProperties\";\nexport { default as removePropertiesDeep } from \"./modifications/removePropertiesDeep\";\nexport { default as removeTypeDuplicates } from \"./modifications/flow/removeTypeDuplicates\";\n\n// retrievers\nexport { default as getBindingIdentifiers } from \"./retrievers/getBindingIdentifiers\";\nexport { default as getOuterBindingIdentifiers } from \"./retrievers/getOuterBindingIdentifiers\";\n\n// traverse\nexport { default as traverse } from \"./traverse/traverse\";\nexport * from \"./traverse/traverse\";\nexport { default as traverseFast } from \"./traverse/traverseFast\";\n\n// utils\nexport { default as shallowEqual } from \"./utils/shallowEqual\";\n\n// validators\nexport { default as is } from \"./validators/is\";\nexport { default as isBinding } from \"./validators/isBinding\";\nexport { default as isBlockScoped } from \"./validators/isBlockScoped\";\nexport { default as isImmutable } from \"./validators/isImmutable\";\nexport { default as isLet } from \"./validators/isLet\";\nexport { default as isNode } from \"./validators/isNode\";\nexport { default as isNodesEquivalent } from \"./validators/isNodesEquivalent\";\nexport { default as isPlaceholderType } from \"./validators/isPlaceholderType\";\nexport { default as isReferenced } from \"./validators/isReferenced\";\nexport { default as isScope } from \"./validators/isScope\";\nexport { default as isSpecifierDefault } from \"./validators/isSpecifierDefault\";\nexport { default as isType } from \"./validators/isType\";\nexport { default as isValidES3Identifier } from \"./validators/isValidES3Identifier\";\nexport { default as isValidIdentifier } from \"./validators/isValidIdentifier\";\nexport { default as isVar } from \"./validators/isVar\";\nexport { default as matchesPattern } from \"./validators/matchesPattern\";\nexport { default as validate } from \"./validators/validate\";\nexport { default as buildMatchMemberExpression } from \"./validators/buildMatchMemberExpression\";\nexport * from \"./validators/generated\";\n\n// react\nexport const react = {\n isReactComponent,\n isCompatTag,\n buildChildren,\n};\n\nexport * from \"./ast-types/generated\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAGA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AAEA;;AAEA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AAGA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AAGA;;AACA;;AAGA;;AACA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAGA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AASA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AANO,MAAMA,KAAK,GAAG;EACnBC,gBAAgB,EAAhBA,yBADmB;EAEnBC,WAAW,EAAXA,oBAFmB;EAGnBC,aAAa,EAAbA;AAHmB,CAAd"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js b/includes/search/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js
deleted file mode 100644
index cbf8db7..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = appendToMemberExpression;
-
-var _generated = require("../builders/generated");
-
-function appendToMemberExpression(member, append, computed = false) {
- member.object = (0, _generated.memberExpression)(member.object, member.property, member.computed);
- member.property = append;
- member.computed = !!computed;
- return member;
-}
-
-//# sourceMappingURL=appendToMemberExpression.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map b/includes/search/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map
deleted file mode 100644
index 24728ab..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["appendToMemberExpression","member","append","computed","object","memberExpression","property"],"sources":["../../src/modifications/appendToMemberExpression.ts"],"sourcesContent":["import { memberExpression } from \"../builders/generated\";\nimport type * as t from \"..\";\n\n/**\n * Append a node to a member expression.\n */\nexport default function appendToMemberExpression(\n member: t.MemberExpression,\n append: t.MemberExpression[\"property\"],\n computed: boolean = false,\n): t.MemberExpression {\n member.object = memberExpression(\n member.object,\n member.property,\n member.computed,\n );\n member.property = append;\n member.computed = !!computed;\n\n return member;\n}\n"],"mappings":";;;;;;;AAAA;;AAMe,SAASA,wBAAT,CACbC,MADa,EAEbC,MAFa,EAGbC,QAAiB,GAAG,KAHP,EAIO;EACpBF,MAAM,CAACG,MAAP,GAAgB,IAAAC,2BAAA,EACdJ,MAAM,CAACG,MADO,EAEdH,MAAM,CAACK,QAFO,EAGdL,MAAM,CAACE,QAHO,CAAhB;EAKAF,MAAM,CAACK,QAAP,GAAkBJ,MAAlB;EACAD,MAAM,CAACE,QAAP,GAAkB,CAAC,CAACA,QAApB;EAEA,OAAOF,MAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js b/includes/search/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
deleted file mode 100644
index f2a5477..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js
+++ /dev/null
@@ -1,80 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = removeTypeDuplicates;
-
-var _generated = require("../../validators/generated");
-
-function getQualifiedName(node) {
- return (0, _generated.isIdentifier)(node) ? node.name : `${node.id.name}.${getQualifiedName(node.qualification)}`;
-}
-
-function removeTypeDuplicates(nodes) {
- const generics = new Map();
- const bases = new Map();
- const typeGroups = new Set();
- const types = [];
-
- for (let i = 0; i < nodes.length; i++) {
- const node = nodes[i];
- if (!node) continue;
-
- if (types.indexOf(node) >= 0) {
- continue;
- }
-
- if ((0, _generated.isAnyTypeAnnotation)(node)) {
- return [node];
- }
-
- if ((0, _generated.isFlowBaseAnnotation)(node)) {
- bases.set(node.type, node);
- continue;
- }
-
- if ((0, _generated.isUnionTypeAnnotation)(node)) {
- if (!typeGroups.has(node.types)) {
- nodes = nodes.concat(node.types);
- typeGroups.add(node.types);
- }
-
- continue;
- }
-
- if ((0, _generated.isGenericTypeAnnotation)(node)) {
- const name = getQualifiedName(node.id);
-
- if (generics.has(name)) {
- let existing = generics.get(name);
-
- if (existing.typeParameters) {
- if (node.typeParameters) {
- existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node.typeParameters.params));
- }
- } else {
- existing = node.typeParameters;
- }
- } else {
- generics.set(name, node);
- }
-
- continue;
- }
-
- types.push(node);
- }
-
- for (const [, baseType] of bases) {
- types.push(baseType);
- }
-
- for (const [, genericName] of generics) {
- types.push(genericName);
- }
-
- return types;
-}
-
-//# sourceMappingURL=removeTypeDuplicates.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map b/includes/search/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map
deleted file mode 100644
index 8f45141..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["getQualifiedName","node","isIdentifier","name","id","qualification","removeTypeDuplicates","nodes","generics","Map","bases","typeGroups","Set","types","i","length","indexOf","isAnyTypeAnnotation","isFlowBaseAnnotation","set","type","isUnionTypeAnnotation","has","concat","add","isGenericTypeAnnotation","existing","get","typeParameters","params","push","baseType","genericName"],"sources":["../../../src/modifications/flow/removeTypeDuplicates.ts"],"sourcesContent":["import {\n isAnyTypeAnnotation,\n isGenericTypeAnnotation,\n isUnionTypeAnnotation,\n isFlowBaseAnnotation,\n isIdentifier,\n} from \"../../validators/generated\";\nimport type * as t from \"../..\";\n\nfunction getQualifiedName(node: t.GenericTypeAnnotation[\"id\"]): string {\n return isIdentifier(node)\n ? node.name\n : `${node.id.name}.${getQualifiedName(node.qualification)}`;\n}\n\n/**\n * Dedupe type annotations.\n */\nexport default function removeTypeDuplicates(\n // todo(babel-8): change type to Array<...>\n nodes: ReadonlyArray<t.FlowType | false | null | undefined>,\n): t.FlowType[] {\n const generics = new Map<string, t.GenericTypeAnnotation>();\n const bases = new Map<t.FlowBaseAnnotation[\"type\"], t.FlowBaseAnnotation>();\n\n // store union type groups to circular references\n const typeGroups = new Set<t.FlowType[]>();\n\n const types: t.FlowType[] = [];\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (!node) continue;\n\n // detect duplicates\n if (types.indexOf(node) >= 0) {\n continue;\n }\n\n // this type matches anything\n if (isAnyTypeAnnotation(node)) {\n return [node];\n }\n\n if (isFlowBaseAnnotation(node)) {\n bases.set(node.type, node);\n continue;\n }\n\n if (isUnionTypeAnnotation(node)) {\n if (!typeGroups.has(node.types)) {\n // todo(babel-8): use .push when nodes is mutable\n nodes = nodes.concat(node.types);\n typeGroups.add(node.types);\n }\n continue;\n }\n\n // find a matching generic type and merge and deduplicate the type parameters\n if (isGenericTypeAnnotation(node)) {\n const name = getQualifiedName(node.id);\n\n if (generics.has(name)) {\n let existing: t.Flow = generics.get(name);\n if (existing.typeParameters) {\n if (node.typeParameters) {\n existing.typeParameters.params = removeTypeDuplicates(\n existing.typeParameters.params.concat(node.typeParameters.params),\n );\n }\n } else {\n existing = node.typeParameters;\n }\n } else {\n generics.set(name, node);\n }\n\n continue;\n }\n\n types.push(node);\n }\n\n // add back in bases\n for (const [, baseType] of bases) {\n types.push(baseType);\n }\n\n // add back in generics\n for (const [, genericName] of generics) {\n types.push(genericName);\n }\n\n return types;\n}\n"],"mappings":";;;;;;;AAAA;;AASA,SAASA,gBAAT,CAA0BC,IAA1B,EAAuE;EACrE,OAAO,IAAAC,uBAAA,EAAaD,IAAb,IACHA,IAAI,CAACE,IADF,GAEF,GAAEF,IAAI,CAACG,EAAL,CAAQD,IAAK,IAAGH,gBAAgB,CAACC,IAAI,CAACI,aAAN,CAAqB,EAF5D;AAGD;;AAKc,SAASC,oBAAT,CAEbC,KAFa,EAGC;EACd,MAAMC,QAAQ,GAAG,IAAIC,GAAJ,EAAjB;EACA,MAAMC,KAAK,GAAG,IAAID,GAAJ,EAAd;EAGA,MAAME,UAAU,GAAG,IAAIC,GAAJ,EAAnB;EAEA,MAAMC,KAAmB,GAAG,EAA5B;;EAEA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,KAAK,CAACQ,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;IACrC,MAAMb,IAAI,GAAGM,KAAK,CAACO,CAAD,CAAlB;IACA,IAAI,CAACb,IAAL,EAAW;;IAGX,IAAIY,KAAK,CAACG,OAAN,CAAcf,IAAd,KAAuB,CAA3B,EAA8B;MAC5B;IACD;;IAGD,IAAI,IAAAgB,8BAAA,EAAoBhB,IAApB,CAAJ,EAA+B;MAC7B,OAAO,CAACA,IAAD,CAAP;IACD;;IAED,IAAI,IAAAiB,+BAAA,EAAqBjB,IAArB,CAAJ,EAAgC;MAC9BS,KAAK,CAACS,GAAN,CAAUlB,IAAI,CAACmB,IAAf,EAAqBnB,IAArB;MACA;IACD;;IAED,IAAI,IAAAoB,gCAAA,EAAsBpB,IAAtB,CAAJ,EAAiC;MAC/B,IAAI,CAACU,UAAU,CAACW,GAAX,CAAerB,IAAI,CAACY,KAApB,CAAL,EAAiC;QAE/BN,KAAK,GAAGA,KAAK,CAACgB,MAAN,CAAatB,IAAI,CAACY,KAAlB,CAAR;QACAF,UAAU,CAACa,GAAX,CAAevB,IAAI,CAACY,KAApB;MACD;;MACD;IACD;;IAGD,IAAI,IAAAY,kCAAA,EAAwBxB,IAAxB,CAAJ,EAAmC;MACjC,MAAME,IAAI,GAAGH,gBAAgB,CAACC,IAAI,CAACG,EAAN,CAA7B;;MAEA,IAAII,QAAQ,CAACc,GAAT,CAAanB,IAAb,CAAJ,EAAwB;QACtB,IAAIuB,QAAgB,GAAGlB,QAAQ,CAACmB,GAAT,CAAaxB,IAAb,CAAvB;;QACA,IAAIuB,QAAQ,CAACE,cAAb,EAA6B;UAC3B,IAAI3B,IAAI,CAAC2B,cAAT,EAAyB;YACvBF,QAAQ,CAACE,cAAT,CAAwBC,MAAxB,GAAiCvB,oBAAoB,CACnDoB,QAAQ,CAACE,cAAT,CAAwBC,MAAxB,CAA+BN,MAA/B,CAAsCtB,IAAI,CAAC2B,cAAL,CAAoBC,MAA1D,CADmD,CAArD;UAGD;QACF,CAND,MAMO;UACLH,QAAQ,GAAGzB,IAAI,CAAC2B,cAAhB;QACD;MACF,CAXD,MAWO;QACLpB,QAAQ,CAACW,GAAT,CAAahB,IAAb,EAAmBF,IAAnB;MACD;;MAED;IACD;;IAEDY,KAAK,CAACiB,IAAN,CAAW7B,IAAX;EACD;;EAGD,KAAK,MAAM,GAAG8B,QAAH,CAAX,IAA2BrB,KAA3B,EAAkC;IAChCG,KAAK,CAACiB,IAAN,CAAWC,QAAX;EACD;;EAGD,KAAK,MAAM,GAAGC,WAAH,CAAX,IAA8BxB,QAA9B,EAAwC;IACtCK,KAAK,CAACiB,IAAN,CAAWE,WAAX;EACD;;EAED,OAAOnB,KAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/inherits.js b/includes/search/node_modules/@babel/types/lib/modifications/inherits.js
deleted file mode 100644
index bd29dc5..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/inherits.js
+++ /dev/null
@@ -1,35 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = inherits;
-
-var _constants = require("../constants");
-
-var _inheritsComments = require("../comments/inheritsComments");
-
-function inherits(child, parent) {
- if (!child || !parent) return child;
-
- for (const key of _constants.INHERIT_KEYS.optional) {
- if (child[key] == null) {
- child[key] = parent[key];
- }
- }
-
- for (const key of Object.keys(parent)) {
- if (key[0] === "_" && key !== "__clone") {
- child[key] = parent[key];
- }
- }
-
- for (const key of _constants.INHERIT_KEYS.force) {
- child[key] = parent[key];
- }
-
- (0, _inheritsComments.default)(child, parent);
- return child;
-}
-
-//# sourceMappingURL=inherits.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/inherits.js.map b/includes/search/node_modules/@babel/types/lib/modifications/inherits.js.map
deleted file mode 100644
index abb6005..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/inherits.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["inherits","child","parent","key","INHERIT_KEYS","optional","Object","keys","force","inheritsComments"],"sources":["../../src/modifications/inherits.ts"],"sourcesContent":["import { INHERIT_KEYS } from \"../constants\";\nimport inheritsComments from \"../comments/inheritsComments\";\nimport type * as t from \"..\";\n\n/**\n * Inherit all contextual properties from `parent` node to `child` node.\n */\nexport default function inherits<T extends t.Node | null | undefined>(\n child: T,\n parent: t.Node | null | undefined,\n): T {\n if (!child || !parent) return child;\n\n // optionally inherit specific properties if not null\n for (const key of INHERIT_KEYS.optional) {\n // @ts-expect-error Fixme: refine parent types\n if (child[key] == null) {\n // @ts-expect-error Fixme: refine parent types\n child[key] = parent[key];\n }\n }\n\n // force inherit \"private\" properties\n for (const key of Object.keys(parent)) {\n if (key[0] === \"_\" && key !== \"__clone\") {\n // @ts-expect-error Fixme: refine parent types\n child[key] = parent[key];\n }\n }\n\n // force inherit select properties\n for (const key of INHERIT_KEYS.force) {\n // @ts-expect-error Fixme: refine parent types\n child[key] = parent[key];\n }\n\n inheritsComments(child, parent);\n\n return child;\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAMe,SAASA,QAAT,CACbC,KADa,EAEbC,MAFa,EAGV;EACH,IAAI,CAACD,KAAD,IAAU,CAACC,MAAf,EAAuB,OAAOD,KAAP;;EAGvB,KAAK,MAAME,GAAX,IAAkBC,uBAAA,CAAaC,QAA/B,EAAyC;IAEvC,IAAIJ,KAAK,CAACE,GAAD,CAAL,IAAc,IAAlB,EAAwB;MAEtBF,KAAK,CAACE,GAAD,CAAL,GAAaD,MAAM,CAACC,GAAD,CAAnB;IACD;EACF;;EAGD,KAAK,MAAMA,GAAX,IAAkBG,MAAM,CAACC,IAAP,CAAYL,MAAZ,CAAlB,EAAuC;IACrC,IAAIC,GAAG,CAAC,CAAD,CAAH,KAAW,GAAX,IAAkBA,GAAG,KAAK,SAA9B,EAAyC;MAEvCF,KAAK,CAACE,GAAD,CAAL,GAAaD,MAAM,CAACC,GAAD,CAAnB;IACD;EACF;;EAGD,KAAK,MAAMA,GAAX,IAAkBC,uBAAA,CAAaI,KAA/B,EAAsC;IAEpCP,KAAK,CAACE,GAAD,CAAL,GAAaD,MAAM,CAACC,GAAD,CAAnB;EACD;;EAED,IAAAM,yBAAA,EAAiBR,KAAjB,EAAwBC,MAAxB;EAEA,OAAOD,KAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js b/includes/search/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js
deleted file mode 100644
index 01049bc..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js
+++ /dev/null
@@ -1,21 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = prependToMemberExpression;
-
-var _generated = require("../builders/generated");
-
-var _ = require("..");
-
-function prependToMemberExpression(member, prepend) {
- if ((0, _.isSuper)(member.object)) {
- throw new Error("Cannot prepend node to super property access (`super.foo`).");
- }
-
- member.object = (0, _generated.memberExpression)(prepend, member.object);
- return member;
-}
-
-//# sourceMappingURL=prependToMemberExpression.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map b/includes/search/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map
deleted file mode 100644
index 7d8299a..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["prependToMemberExpression","member","prepend","isSuper","object","Error","memberExpression"],"sources":["../../src/modifications/prependToMemberExpression.ts"],"sourcesContent":["import { memberExpression } from \"../builders/generated\";\nimport { isSuper } from \"..\";\nimport type * as t from \"..\";\n\n/**\n * Prepend a node to a member expression.\n */\nexport default function prependToMemberExpression<\n T extends Pick<t.MemberExpression, \"object\" | \"property\">,\n>(member: T, prepend: t.MemberExpression[\"object\"]): T {\n if (isSuper(member.object)) {\n throw new Error(\n \"Cannot prepend node to super property access (`super.foo`).\",\n );\n }\n member.object = memberExpression(prepend, member.object);\n\n return member;\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAMe,SAASA,yBAAT,CAEbC,MAFa,EAEFC,OAFE,EAEwC;EACrD,IAAI,IAAAC,SAAA,EAAQF,MAAM,CAACG,MAAf,CAAJ,EAA4B;IAC1B,MAAM,IAAIC,KAAJ,CACJ,6DADI,CAAN;EAGD;;EACDJ,MAAM,CAACG,MAAP,GAAgB,IAAAE,2BAAA,EAAiBJ,OAAjB,EAA0BD,MAAM,CAACG,MAAjC,CAAhB;EAEA,OAAOH,MAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/removeProperties.js b/includes/search/node_modules/@babel/types/lib/modifications/removeProperties.js
deleted file mode 100644
index 1633958..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/removeProperties.js
+++ /dev/null
@@ -1,31 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = removeProperties;
-
-var _constants = require("../constants");
-
-const CLEAR_KEYS = ["tokens", "start", "end", "loc", "raw", "rawValue"];
-const CLEAR_KEYS_PLUS_COMMENTS = [..._constants.COMMENT_KEYS, "comments", ...CLEAR_KEYS];
-
-function removeProperties(node, opts = {}) {
- const map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS;
-
- for (const key of map) {
- if (node[key] != null) node[key] = undefined;
- }
-
- for (const key of Object.keys(node)) {
- if (key[0] === "_" && node[key] != null) node[key] = undefined;
- }
-
- const symbols = Object.getOwnPropertySymbols(node);
-
- for (const sym of symbols) {
- node[sym] = null;
- }
-}
-
-//# sourceMappingURL=removeProperties.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/removeProperties.js.map b/includes/search/node_modules/@babel/types/lib/modifications/removeProperties.js.map
deleted file mode 100644
index aba8f40..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/removeProperties.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["CLEAR_KEYS","CLEAR_KEYS_PLUS_COMMENTS","COMMENT_KEYS","removeProperties","node","opts","map","preserveComments","key","undefined","Object","keys","symbols","getOwnPropertySymbols","sym"],"sources":["../../src/modifications/removeProperties.ts"],"sourcesContent":["import { COMMENT_KEYS } from \"../constants\";\nimport type * as t from \"..\";\n\nconst CLEAR_KEYS = [\n \"tokens\", // only exist in t.File\n \"start\",\n \"end\",\n \"loc\",\n // Fixme: should be extra.raw / extra.rawValue?\n \"raw\",\n \"rawValue\",\n] as const;\n\nconst CLEAR_KEYS_PLUS_COMMENTS = [\n ...COMMENT_KEYS,\n \"comments\",\n ...CLEAR_KEYS,\n] as const;\n\nexport type Options = { preserveComments?: boolean };\n/**\n * Remove all of the _* properties from a node along with the additional metadata\n * properties like location data and raw token data.\n */\nexport default function removeProperties(\n node: t.Node,\n opts: Options = {},\n): void {\n const map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS;\n for (const key of map) {\n // @ts-expect-error tokens only exist in t.File\n if (node[key] != null) node[key] = undefined;\n }\n\n for (const key of Object.keys(node)) {\n // @ts-expect-error string can not index node\n if (key[0] === \"_\" && node[key] != null) node[key] = undefined;\n }\n\n const symbols: Array<symbol> = Object.getOwnPropertySymbols(node);\n for (const sym of symbols) {\n // @ts-expect-error Fixme: document symbol properties\n node[sym] = null;\n }\n}\n"],"mappings":";;;;;;;AAAA;;AAGA,MAAMA,UAAU,GAAG,CACjB,QADiB,EAEjB,OAFiB,EAGjB,KAHiB,EAIjB,KAJiB,EAMjB,KANiB,EAOjB,UAPiB,CAAnB;AAUA,MAAMC,wBAAwB,GAAG,CAC/B,GAAGC,uBAD4B,EAE/B,UAF+B,EAG/B,GAAGF,UAH4B,CAAjC;;AAWe,SAASG,gBAAT,CACbC,IADa,EAEbC,IAAa,GAAG,EAFH,EAGP;EACN,MAAMC,GAAG,GAAGD,IAAI,CAACE,gBAAL,GAAwBP,UAAxB,GAAqCC,wBAAjD;;EACA,KAAK,MAAMO,GAAX,IAAkBF,GAAlB,EAAuB;IAErB,IAAIF,IAAI,CAACI,GAAD,CAAJ,IAAa,IAAjB,EAAuBJ,IAAI,CAACI,GAAD,CAAJ,GAAYC,SAAZ;EACxB;;EAED,KAAK,MAAMD,GAAX,IAAkBE,MAAM,CAACC,IAAP,CAAYP,IAAZ,CAAlB,EAAqC;IAEnC,IAAII,GAAG,CAAC,CAAD,CAAH,KAAW,GAAX,IAAkBJ,IAAI,CAACI,GAAD,CAAJ,IAAa,IAAnC,EAAyCJ,IAAI,CAACI,GAAD,CAAJ,GAAYC,SAAZ;EAC1C;;EAED,MAAMG,OAAsB,GAAGF,MAAM,CAACG,qBAAP,CAA6BT,IAA7B,CAA/B;;EACA,KAAK,MAAMU,GAAX,IAAkBF,OAAlB,EAA2B;IAEzBR,IAAI,CAACU,GAAD,CAAJ,GAAY,IAAZ;EACD;AACF"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js b/includes/search/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js
deleted file mode 100644
index 580b02e..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = removePropertiesDeep;
-
-var _traverseFast = require("../traverse/traverseFast");
-
-var _removeProperties = require("./removeProperties");
-
-function removePropertiesDeep(tree, opts) {
- (0, _traverseFast.default)(tree, _removeProperties.default, opts);
- return tree;
-}
-
-//# sourceMappingURL=removePropertiesDeep.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map b/includes/search/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map
deleted file mode 100644
index 281397a..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["removePropertiesDeep","tree","opts","traverseFast","removeProperties"],"sources":["../../src/modifications/removePropertiesDeep.ts"],"sourcesContent":["import traverseFast from \"../traverse/traverseFast\";\nimport removeProperties from \"./removeProperties\";\nimport type * as t from \"..\";\n\nexport default function removePropertiesDeep<T extends t.Node>(\n tree: T,\n opts?: { preserveComments: boolean } | null,\n): T {\n traverseFast(tree, removeProperties, opts);\n\n return tree;\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAGe,SAASA,oBAAT,CACbC,IADa,EAEbC,IAFa,EAGV;EACH,IAAAC,qBAAA,EAAaF,IAAb,EAAmBG,yBAAnB,EAAqCF,IAArC;EAEA,OAAOD,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js b/includes/search/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js
deleted file mode 100644
index c8aedee..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js
+++ /dev/null
@@ -1,80 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = removeTypeDuplicates;
-
-var _generated = require("../../validators/generated");
-
-function getQualifiedName(node) {
- return (0, _generated.isIdentifier)(node) ? node.name : `${node.right.name}.${getQualifiedName(node.left)}`;
-}
-
-function removeTypeDuplicates(nodes) {
- const generics = new Map();
- const bases = new Map();
- const typeGroups = new Set();
- const types = [];
-
- for (let i = 0; i < nodes.length; i++) {
- const node = nodes[i];
- if (!node) continue;
-
- if (types.indexOf(node) >= 0) {
- continue;
- }
-
- if ((0, _generated.isTSAnyKeyword)(node)) {
- return [node];
- }
-
- if ((0, _generated.isTSBaseType)(node)) {
- bases.set(node.type, node);
- continue;
- }
-
- if ((0, _generated.isTSUnionType)(node)) {
- if (!typeGroups.has(node.types)) {
- nodes.push(...node.types);
- typeGroups.add(node.types);
- }
-
- continue;
- }
-
- if ((0, _generated.isTSTypeReference)(node) && node.typeParameters) {
- const name = getQualifiedName(node.typeName);
-
- if (generics.has(name)) {
- let existing = generics.get(name);
-
- if (existing.typeParameters) {
- if (node.typeParameters) {
- existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node.typeParameters.params));
- }
- } else {
- existing = node.typeParameters;
- }
- } else {
- generics.set(name, node);
- }
-
- continue;
- }
-
- types.push(node);
- }
-
- for (const [, baseType] of bases) {
- types.push(baseType);
- }
-
- for (const [, genericName] of generics) {
- types.push(genericName);
- }
-
- return types;
-}
-
-//# sourceMappingURL=removeTypeDuplicates.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map b/includes/search/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map
deleted file mode 100644
index 557f680..0000000
--- a/includes/search/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["getQualifiedName","node","isIdentifier","name","right","left","removeTypeDuplicates","nodes","generics","Map","bases","typeGroups","Set","types","i","length","indexOf","isTSAnyKeyword","isTSBaseType","set","type","isTSUnionType","has","push","add","isTSTypeReference","typeParameters","typeName","existing","get","params","concat","baseType","genericName"],"sources":["../../../src/modifications/typescript/removeTypeDuplicates.ts"],"sourcesContent":["import {\n isIdentifier,\n isTSAnyKeyword,\n isTSTypeReference,\n isTSUnionType,\n isTSBaseType,\n} from \"../../validators/generated\";\nimport type * as t from \"../..\";\n\nfunction getQualifiedName(node: t.TSTypeReference[\"typeName\"]): string {\n return isIdentifier(node)\n ? node.name\n : `${node.right.name}.${getQualifiedName(node.left)}`;\n}\n\n/**\n * Dedupe type annotations.\n */\nexport default function removeTypeDuplicates(\n nodes: Array<t.TSType>,\n): Array<t.TSType> {\n const generics = new Map<string, t.TSTypeReference>();\n const bases = new Map<t.TSBaseType[\"type\"], t.TSBaseType>();\n\n // store union type groups to circular references\n const typeGroups = new Set<t.TSType[]>();\n\n const types: t.TSType[] = [];\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (!node) continue;\n\n // detect duplicates\n if (types.indexOf(node) >= 0) {\n continue;\n }\n\n // this type matches anything\n if (isTSAnyKeyword(node)) {\n return [node];\n }\n\n // Analogue of FlowBaseAnnotation\n if (isTSBaseType(node)) {\n bases.set(node.type, node);\n continue;\n }\n\n if (isTSUnionType(node)) {\n if (!typeGroups.has(node.types)) {\n nodes.push(...node.types);\n typeGroups.add(node.types);\n }\n continue;\n }\n\n // todo: support merging tuples: number[]\n if (isTSTypeReference(node) && node.typeParameters) {\n const name = getQualifiedName(node.typeName);\n\n if (generics.has(name)) {\n let existing: t.TypeScript = generics.get(name);\n if (existing.typeParameters) {\n if (node.typeParameters) {\n existing.typeParameters.params = removeTypeDuplicates(\n existing.typeParameters.params.concat(node.typeParameters.params),\n );\n }\n } else {\n existing = node.typeParameters;\n }\n } else {\n generics.set(name, node);\n }\n\n continue;\n }\n\n types.push(node);\n }\n\n // add back in bases\n for (const [, baseType] of bases) {\n types.push(baseType);\n }\n\n // add back in generics\n for (const [, genericName] of generics) {\n types.push(genericName);\n }\n\n return types;\n}\n"],"mappings":";;;;;;;AAAA;;AASA,SAASA,gBAAT,CAA0BC,IAA1B,EAAuE;EACrE,OAAO,IAAAC,uBAAA,EAAaD,IAAb,IACHA,IAAI,CAACE,IADF,GAEF,GAAEF,IAAI,CAACG,KAAL,CAAWD,IAAK,IAAGH,gBAAgB,CAACC,IAAI,CAACI,IAAN,CAAY,EAFtD;AAGD;;AAKc,SAASC,oBAAT,CACbC,KADa,EAEI;EACjB,MAAMC,QAAQ,GAAG,IAAIC,GAAJ,EAAjB;EACA,MAAMC,KAAK,GAAG,IAAID,GAAJ,EAAd;EAGA,MAAME,UAAU,GAAG,IAAIC,GAAJ,EAAnB;EAEA,MAAMC,KAAiB,GAAG,EAA1B;;EAEA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,KAAK,CAACQ,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;IACrC,MAAMb,IAAI,GAAGM,KAAK,CAACO,CAAD,CAAlB;IACA,IAAI,CAACb,IAAL,EAAW;;IAGX,IAAIY,KAAK,CAACG,OAAN,CAAcf,IAAd,KAAuB,CAA3B,EAA8B;MAC5B;IACD;;IAGD,IAAI,IAAAgB,yBAAA,EAAehB,IAAf,CAAJ,EAA0B;MACxB,OAAO,CAACA,IAAD,CAAP;IACD;;IAGD,IAAI,IAAAiB,uBAAA,EAAajB,IAAb,CAAJ,EAAwB;MACtBS,KAAK,CAACS,GAAN,CAAUlB,IAAI,CAACmB,IAAf,EAAqBnB,IAArB;MACA;IACD;;IAED,IAAI,IAAAoB,wBAAA,EAAcpB,IAAd,CAAJ,EAAyB;MACvB,IAAI,CAACU,UAAU,CAACW,GAAX,CAAerB,IAAI,CAACY,KAApB,CAAL,EAAiC;QAC/BN,KAAK,CAACgB,IAAN,CAAW,GAAGtB,IAAI,CAACY,KAAnB;QACAF,UAAU,CAACa,GAAX,CAAevB,IAAI,CAACY,KAApB;MACD;;MACD;IACD;;IAGD,IAAI,IAAAY,4BAAA,EAAkBxB,IAAlB,KAA2BA,IAAI,CAACyB,cAApC,EAAoD;MAClD,MAAMvB,IAAI,GAAGH,gBAAgB,CAACC,IAAI,CAAC0B,QAAN,CAA7B;;MAEA,IAAInB,QAAQ,CAACc,GAAT,CAAanB,IAAb,CAAJ,EAAwB;QACtB,IAAIyB,QAAsB,GAAGpB,QAAQ,CAACqB,GAAT,CAAa1B,IAAb,CAA7B;;QACA,IAAIyB,QAAQ,CAACF,cAAb,EAA6B;UAC3B,IAAIzB,IAAI,CAACyB,cAAT,EAAyB;YACvBE,QAAQ,CAACF,cAAT,CAAwBI,MAAxB,GAAiCxB,oBAAoB,CACnDsB,QAAQ,CAACF,cAAT,CAAwBI,MAAxB,CAA+BC,MAA/B,CAAsC9B,IAAI,CAACyB,cAAL,CAAoBI,MAA1D,CADmD,CAArD;UAGD;QACF,CAND,MAMO;UACLF,QAAQ,GAAG3B,IAAI,CAACyB,cAAhB;QACD;MACF,CAXD,MAWO;QACLlB,QAAQ,CAACW,GAAT,CAAahB,IAAb,EAAmBF,IAAnB;MACD;;MAED;IACD;;IAEDY,KAAK,CAACU,IAAN,CAAWtB,IAAX;EACD;;EAGD,KAAK,MAAM,GAAG+B,QAAH,CAAX,IAA2BtB,KAA3B,EAAkC;IAChCG,KAAK,CAACU,IAAN,CAAWS,QAAX;EACD;;EAGD,KAAK,MAAM,GAAGC,WAAH,CAAX,IAA8BzB,QAA9B,EAAwC;IACtCK,KAAK,CAACU,IAAN,CAAWU,WAAX;EACD;;EAED,OAAOpB,KAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js b/includes/search/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js
deleted file mode 100644
index 1951622..0000000
--- a/includes/search/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js
+++ /dev/null
@@ -1,107 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = getBindingIdentifiers;
-
-var _generated = require("../validators/generated");
-
-function getBindingIdentifiers(node, duplicates, outerOnly) {
- const search = [].concat(node);
- const ids = Object.create(null);
-
- while (search.length) {
- const id = search.shift();
- if (!id) continue;
- const keys = getBindingIdentifiers.keys[id.type];
-
- if ((0, _generated.isIdentifier)(id)) {
- if (duplicates) {
- const _ids = ids[id.name] = ids[id.name] || [];
-
- _ids.push(id);
- } else {
- ids[id.name] = id;
- }
-
- continue;
- }
-
- if ((0, _generated.isExportDeclaration)(id) && !(0, _generated.isExportAllDeclaration)(id)) {
- if ((0, _generated.isDeclaration)(id.declaration)) {
- search.push(id.declaration);
- }
-
- continue;
- }
-
- if (outerOnly) {
- if ((0, _generated.isFunctionDeclaration)(id)) {
- search.push(id.id);
- continue;
- }
-
- if ((0, _generated.isFunctionExpression)(id)) {
- continue;
- }
- }
-
- if (keys) {
- for (let i = 0; i < keys.length; i++) {
- const key = keys[i];
- const nodes = id[key];
-
- if (nodes) {
- Array.isArray(nodes) ? search.push(...nodes) : search.push(nodes);
- }
- }
- }
- }
-
- return ids;
-}
-
-getBindingIdentifiers.keys = {
- DeclareClass: ["id"],
- DeclareFunction: ["id"],
- DeclareModule: ["id"],
- DeclareVariable: ["id"],
- DeclareInterface: ["id"],
- DeclareTypeAlias: ["id"],
- DeclareOpaqueType: ["id"],
- InterfaceDeclaration: ["id"],
- TypeAlias: ["id"],
- OpaqueType: ["id"],
- CatchClause: ["param"],
- LabeledStatement: ["label"],
- UnaryExpression: ["argument"],
- AssignmentExpression: ["left"],
- ImportSpecifier: ["local"],
- ImportNamespaceSpecifier: ["local"],
- ImportDefaultSpecifier: ["local"],
- ImportDeclaration: ["specifiers"],
- ExportSpecifier: ["exported"],
- ExportNamespaceSpecifier: ["exported"],
- ExportDefaultSpecifier: ["exported"],
- FunctionDeclaration: ["id", "params"],
- FunctionExpression: ["id", "params"],
- ArrowFunctionExpression: ["params"],
- ObjectMethod: ["params"],
- ClassMethod: ["params"],
- ClassPrivateMethod: ["params"],
- ForInStatement: ["left"],
- ForOfStatement: ["left"],
- ClassDeclaration: ["id"],
- ClassExpression: ["id"],
- RestElement: ["argument"],
- UpdateExpression: ["argument"],
- ObjectProperty: ["value"],
- AssignmentPattern: ["left"],
- ArrayPattern: ["elements"],
- ObjectPattern: ["properties"],
- VariableDeclaration: ["declarations"],
- VariableDeclarator: ["id"]
-};
-
-//# sourceMappingURL=getBindingIdentifiers.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map b/includes/search/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map
deleted file mode 100644
index 20f68b7..0000000
--- a/includes/search/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["getBindingIdentifiers","node","duplicates","outerOnly","search","concat","ids","Object","create","length","id","shift","keys","type","isIdentifier","_ids","name","push","isExportDeclaration","isExportAllDeclaration","isDeclaration","declaration","isFunctionDeclaration","isFunctionExpression","i","key","nodes","Array","isArray","DeclareClass","DeclareFunction","DeclareModule","DeclareVariable","DeclareInterface","DeclareTypeAlias","DeclareOpaqueType","InterfaceDeclaration","TypeAlias","OpaqueType","CatchClause","LabeledStatement","UnaryExpression","AssignmentExpression","ImportSpecifier","ImportNamespaceSpecifier","ImportDefaultSpecifier","ImportDeclaration","ExportSpecifier","ExportNamespaceSpecifier","ExportDefaultSpecifier","FunctionDeclaration","FunctionExpression","ArrowFunctionExpression","ObjectMethod","ClassMethod","ClassPrivateMethod","ForInStatement","ForOfStatement","ClassDeclaration","ClassExpression","RestElement","UpdateExpression","ObjectProperty","AssignmentPattern","ArrayPattern","ObjectPattern","VariableDeclaration","VariableDeclarator"],"sources":["../../src/retrievers/getBindingIdentifiers.ts"],"sourcesContent":["import {\n isExportDeclaration,\n isIdentifier,\n isDeclaration,\n isFunctionDeclaration,\n isFunctionExpression,\n isExportAllDeclaration,\n} from \"../validators/generated\";\nimport type * as t from \"..\";\n\nexport { getBindingIdentifiers as default };\n\nfunction getBindingIdentifiers(\n node: t.Node,\n duplicates: true,\n outerOnly?: boolean,\n): Record<string, Array<t.Identifier>>;\n\nfunction getBindingIdentifiers(\n node: t.Node,\n duplicates?: false,\n outerOnly?: boolean,\n): Record<string, t.Identifier>;\n\nfunction getBindingIdentifiers(\n node: t.Node,\n duplicates?: boolean,\n outerOnly?: boolean,\n): Record<string, t.Identifier> | Record<string, Array<t.Identifier>>;\n\n/**\n * Return a list of binding identifiers associated with the input `node`.\n */\nfunction getBindingIdentifiers(\n node: t.Node,\n duplicates?: boolean,\n outerOnly?: boolean,\n): Record<string, t.Identifier> | Record<string, Array<t.Identifier>> {\n const search: t.Node[] = [].concat(node);\n const ids = Object.create(null);\n\n while (search.length) {\n const id = search.shift();\n if (!id) continue;\n\n const keys =\n // @ts-expect-error getBindingIdentifiers.keys do not cover all AST types\n getBindingIdentifiers.keys[id.type];\n\n if (isIdentifier(id)) {\n if (duplicates) {\n const _ids = (ids[id.name] = ids[id.name] || []);\n _ids.push(id);\n } else {\n ids[id.name] = id;\n }\n continue;\n }\n\n if (isExportDeclaration(id) && !isExportAllDeclaration(id)) {\n if (isDeclaration(id.declaration)) {\n search.push(id.declaration);\n }\n continue;\n }\n\n if (outerOnly) {\n if (isFunctionDeclaration(id)) {\n search.push(id.id);\n continue;\n }\n\n if (isFunctionExpression(id)) {\n continue;\n }\n }\n\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const nodes =\n // @ts-expect-error key must present in id\n id[key] as t.Node[] | t.Node | undefined | null;\n if (nodes) {\n Array.isArray(nodes) ? search.push(...nodes) : search.push(nodes);\n }\n }\n }\n }\n\n // $FlowIssue Object.create() seems broken\n return ids;\n}\n\n/**\n * Mapping of types to their identifier keys.\n */\ngetBindingIdentifiers.keys = {\n DeclareClass: [\"id\"],\n DeclareFunction: [\"id\"],\n DeclareModule: [\"id\"],\n DeclareVariable: [\"id\"],\n DeclareInterface: [\"id\"],\n DeclareTypeAlias: [\"id\"],\n DeclareOpaqueType: [\"id\"],\n InterfaceDeclaration: [\"id\"],\n TypeAlias: [\"id\"],\n OpaqueType: [\"id\"],\n\n CatchClause: [\"param\"],\n LabeledStatement: [\"label\"],\n UnaryExpression: [\"argument\"],\n AssignmentExpression: [\"left\"],\n\n ImportSpecifier: [\"local\"],\n ImportNamespaceSpecifier: [\"local\"],\n ImportDefaultSpecifier: [\"local\"],\n ImportDeclaration: [\"specifiers\"],\n\n ExportSpecifier: [\"exported\"],\n ExportNamespaceSpecifier: [\"exported\"],\n ExportDefaultSpecifier: [\"exported\"],\n\n FunctionDeclaration: [\"id\", \"params\"],\n FunctionExpression: [\"id\", \"params\"],\n ArrowFunctionExpression: [\"params\"],\n ObjectMethod: [\"params\"],\n ClassMethod: [\"params\"],\n ClassPrivateMethod: [\"params\"],\n\n ForInStatement: [\"left\"],\n ForOfStatement: [\"left\"],\n\n ClassDeclaration: [\"id\"],\n ClassExpression: [\"id\"],\n\n RestElement: [\"argument\"],\n UpdateExpression: [\"argument\"],\n\n ObjectProperty: [\"value\"],\n\n AssignmentPattern: [\"left\"],\n ArrayPattern: [\"elements\"],\n ObjectPattern: [\"properties\"],\n\n VariableDeclaration: [\"declarations\"],\n VariableDeclarator: [\"id\"],\n};\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js b/includes/search/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js
deleted file mode 100644
index 908fcab..0000000
--- a/includes/search/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = void 0;
-
-var _getBindingIdentifiers = require("./getBindingIdentifiers");
-
-var _default = getOuterBindingIdentifiers;
-exports.default = _default;
-
-function getOuterBindingIdentifiers(node, duplicates) {
- return (0, _getBindingIdentifiers.default)(node, duplicates, true);
-}
-
-//# sourceMappingURL=getOuterBindingIdentifiers.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map b/includes/search/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map
deleted file mode 100644
index f9ad765..0000000
--- a/includes/search/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["getOuterBindingIdentifiers","node","duplicates","getBindingIdentifiers"],"sources":["../../src/retrievers/getOuterBindingIdentifiers.ts"],"sourcesContent":["import getBindingIdentifiers from \"./getBindingIdentifiers\";\nimport type * as t from \"..\";\n\nexport default getOuterBindingIdentifiers as {\n (node: t.Node, duplicates: true): Record<string, Array<t.Identifier>>;\n (node: t.Node, duplicates?: false): Record<string, t.Identifier>;\n (node: t.Node, duplicates?: boolean):\n | Record<string, t.Identifier>\n | Record<string, Array<t.Identifier>>;\n};\n\nfunction getOuterBindingIdentifiers(\n node: t.Node,\n duplicates: boolean,\n): Record<string, t.Identifier> | Record<string, Array<t.Identifier>> {\n return getBindingIdentifiers(node, duplicates, true);\n}\n"],"mappings":";;;;;;;AAAA;;eAGeA,0B;;;AAQf,SAASA,0BAAT,CACEC,IADF,EAEEC,UAFF,EAGsE;EACpE,OAAO,IAAAC,8BAAA,EAAsBF,IAAtB,EAA4BC,UAA5B,EAAwC,IAAxC,CAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/traverse/traverse.js b/includes/search/node_modules/@babel/types/lib/traverse/traverse.js
deleted file mode 100644
index d74f922..0000000
--- a/includes/search/node_modules/@babel/types/lib/traverse/traverse.js
+++ /dev/null
@@ -1,57 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = traverse;
-
-var _definitions = require("../definitions");
-
-function traverse(node, handlers, state) {
- if (typeof handlers === "function") {
- handlers = {
- enter: handlers
- };
- }
-
- const {
- enter,
- exit
- } = handlers;
- traverseSimpleImpl(node, enter, exit, state, []);
-}
-
-function traverseSimpleImpl(node, enter, exit, state, ancestors) {
- const keys = _definitions.VISITOR_KEYS[node.type];
- if (!keys) return;
- if (enter) enter(node, ancestors, state);
-
- for (const key of keys) {
- const subNode = node[key];
-
- if (Array.isArray(subNode)) {
- for (let i = 0; i < subNode.length; i++) {
- const child = subNode[i];
- if (!child) continue;
- ancestors.push({
- node,
- key,
- index: i
- });
- traverseSimpleImpl(child, enter, exit, state, ancestors);
- ancestors.pop();
- }
- } else if (subNode) {
- ancestors.push({
- node,
- key
- });
- traverseSimpleImpl(subNode, enter, exit, state, ancestors);
- ancestors.pop();
- }
- }
-
- if (exit) exit(node, ancestors, state);
-}
-
-//# sourceMappingURL=traverse.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/traverse/traverse.js.map b/includes/search/node_modules/@babel/types/lib/traverse/traverse.js.map
deleted file mode 100644
index 158a7fa..0000000
--- a/includes/search/node_modules/@babel/types/lib/traverse/traverse.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["traverse","node","handlers","state","enter","exit","traverseSimpleImpl","ancestors","keys","VISITOR_KEYS","type","key","subNode","Array","isArray","i","length","child","push","index","pop"],"sources":["../../src/traverse/traverse.ts"],"sourcesContent":["import { VISITOR_KEYS } from \"../definitions\";\nimport type * as t from \"..\";\n\nexport type TraversalAncestors = Array<{\n node: t.Node;\n key: string;\n index?: number;\n}>;\n\nexport type TraversalHandler<T> = (\n this: undefined,\n node: t.Node,\n parent: TraversalAncestors,\n state: T,\n) => void;\n\nexport type TraversalHandlers<T> = {\n enter?: TraversalHandler<T>;\n exit?: TraversalHandler<T>;\n};\n\n/**\n * A general AST traversal with both prefix and postfix handlers, and a\n * state object. Exposes ancestry data to each handler so that more complex\n * AST data can be taken into account.\n */\nexport default function traverse<T>(\n node: t.Node,\n handlers: TraversalHandler<T> | TraversalHandlers<T>,\n state?: T,\n): void {\n if (typeof handlers === \"function\") {\n handlers = { enter: handlers };\n }\n\n const { enter, exit } = handlers as TraversalHandlers<T>;\n\n traverseSimpleImpl(node, enter, exit, state, []);\n}\n\nfunction traverseSimpleImpl<T>(\n node: any,\n enter: Function | undefined,\n exit: Function | undefined,\n state: T | undefined,\n ancestors: TraversalAncestors,\n) {\n const keys = VISITOR_KEYS[node.type];\n if (!keys) return;\n\n if (enter) enter(node, ancestors, state);\n\n for (const key of keys) {\n const subNode = node[key];\n\n if (Array.isArray(subNode)) {\n for (let i = 0; i < subNode.length; i++) {\n const child = subNode[i];\n if (!child) continue;\n\n ancestors.push({\n node,\n key,\n index: i,\n });\n\n traverseSimpleImpl(child, enter, exit, state, ancestors);\n\n ancestors.pop();\n }\n } else if (subNode) {\n ancestors.push({\n node,\n key,\n });\n\n traverseSimpleImpl(subNode, enter, exit, state, ancestors);\n\n ancestors.pop();\n }\n }\n\n if (exit) exit(node, ancestors, state);\n}\n"],"mappings":";;;;;;;AAAA;;AA0Be,SAASA,QAAT,CACbC,IADa,EAEbC,QAFa,EAGbC,KAHa,EAIP;EACN,IAAI,OAAOD,QAAP,KAAoB,UAAxB,EAAoC;IAClCA,QAAQ,GAAG;MAAEE,KAAK,EAAEF;IAAT,CAAX;EACD;;EAED,MAAM;IAAEE,KAAF;IAASC;EAAT,IAAkBH,QAAxB;EAEAI,kBAAkB,CAACL,IAAD,EAAOG,KAAP,EAAcC,IAAd,EAAoBF,KAApB,EAA2B,EAA3B,CAAlB;AACD;;AAED,SAASG,kBAAT,CACEL,IADF,EAEEG,KAFF,EAGEC,IAHF,EAIEF,KAJF,EAKEI,SALF,EAME;EACA,MAAMC,IAAI,GAAGC,yBAAA,CAAaR,IAAI,CAACS,IAAlB,CAAb;EACA,IAAI,CAACF,IAAL,EAAW;EAEX,IAAIJ,KAAJ,EAAWA,KAAK,CAACH,IAAD,EAAOM,SAAP,EAAkBJ,KAAlB,CAAL;;EAEX,KAAK,MAAMQ,GAAX,IAAkBH,IAAlB,EAAwB;IACtB,MAAMI,OAAO,GAAGX,IAAI,CAACU,GAAD,CAApB;;IAEA,IAAIE,KAAK,CAACC,OAAN,CAAcF,OAAd,CAAJ,EAA4B;MAC1B,KAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,OAAO,CAACI,MAA5B,EAAoCD,CAAC,EAArC,EAAyC;QACvC,MAAME,KAAK,GAAGL,OAAO,CAACG,CAAD,CAArB;QACA,IAAI,CAACE,KAAL,EAAY;QAEZV,SAAS,CAACW,IAAV,CAAe;UACbjB,IADa;UAEbU,GAFa;UAGbQ,KAAK,EAAEJ;QAHM,CAAf;QAMAT,kBAAkB,CAACW,KAAD,EAAQb,KAAR,EAAeC,IAAf,EAAqBF,KAArB,EAA4BI,SAA5B,CAAlB;QAEAA,SAAS,CAACa,GAAV;MACD;IACF,CAfD,MAeO,IAAIR,OAAJ,EAAa;MAClBL,SAAS,CAACW,IAAV,CAAe;QACbjB,IADa;QAEbU;MAFa,CAAf;MAKAL,kBAAkB,CAACM,OAAD,EAAUR,KAAV,EAAiBC,IAAjB,EAAuBF,KAAvB,EAA8BI,SAA9B,CAAlB;MAEAA,SAAS,CAACa,GAAV;IACD;EACF;;EAED,IAAIf,IAAJ,EAAUA,IAAI,CAACJ,IAAD,EAAOM,SAAP,EAAkBJ,KAAlB,CAAJ;AACX"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/traverse/traverseFast.js b/includes/search/node_modules/@babel/types/lib/traverse/traverseFast.js
deleted file mode 100644
index f9eec04..0000000
--- a/includes/search/node_modules/@babel/types/lib/traverse/traverseFast.js
+++ /dev/null
@@ -1,30 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = traverseFast;
-
-var _definitions = require("../definitions");
-
-function traverseFast(node, enter, opts) {
- if (!node) return;
- const keys = _definitions.VISITOR_KEYS[node.type];
- if (!keys) return;
- opts = opts || {};
- enter(node, opts);
-
- for (const key of keys) {
- const subNode = node[key];
-
- if (Array.isArray(subNode)) {
- for (const node of subNode) {
- traverseFast(node, enter, opts);
- }
- } else {
- traverseFast(subNode, enter, opts);
- }
- }
-}
-
-//# sourceMappingURL=traverseFast.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/traverse/traverseFast.js.map b/includes/search/node_modules/@babel/types/lib/traverse/traverseFast.js.map
deleted file mode 100644
index d0e31bf..0000000
--- a/includes/search/node_modules/@babel/types/lib/traverse/traverseFast.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["traverseFast","node","enter","opts","keys","VISITOR_KEYS","type","key","subNode","Array","isArray"],"sources":["../../src/traverse/traverseFast.ts"],"sourcesContent":["import { VISITOR_KEYS } from \"../definitions\";\nimport type * as t from \"..\";\n\n/**\n * A prefix AST traversal implementation meant for simple searching\n * and processing.\n */\nexport default function traverseFast<Options = {}>(\n node: t.Node | null | undefined,\n enter: (node: t.Node, opts?: Options) => void,\n opts?: Options,\n): void {\n if (!node) return;\n\n const keys = VISITOR_KEYS[node.type];\n if (!keys) return;\n\n opts = opts || ({} as Options);\n enter(node, opts);\n\n for (const key of keys) {\n const subNode: t.Node | undefined | null =\n // @ts-expect-error key must present in node\n node[key];\n\n if (Array.isArray(subNode)) {\n for (const node of subNode) {\n traverseFast(node, enter, opts);\n }\n } else {\n traverseFast(subNode, enter, opts);\n }\n }\n}\n"],"mappings":";;;;;;;AAAA;;AAOe,SAASA,YAAT,CACbC,IADa,EAEbC,KAFa,EAGbC,IAHa,EAIP;EACN,IAAI,CAACF,IAAL,EAAW;EAEX,MAAMG,IAAI,GAAGC,yBAAA,CAAaJ,IAAI,CAACK,IAAlB,CAAb;EACA,IAAI,CAACF,IAAL,EAAW;EAEXD,IAAI,GAAGA,IAAI,IAAK,EAAhB;EACAD,KAAK,CAACD,IAAD,EAAOE,IAAP,CAAL;;EAEA,KAAK,MAAMI,GAAX,IAAkBH,IAAlB,EAAwB;IACtB,MAAMI,OAAkC,GAEtCP,IAAI,CAACM,GAAD,CAFN;;IAIA,IAAIE,KAAK,CAACC,OAAN,CAAcF,OAAd,CAAJ,EAA4B;MAC1B,KAAK,MAAMP,IAAX,IAAmBO,OAAnB,EAA4B;QAC1BR,YAAY,CAACC,IAAD,EAAOC,KAAP,EAAcC,IAAd,CAAZ;MACD;IACF,CAJD,MAIO;MACLH,YAAY,CAACQ,OAAD,EAAUN,KAAV,EAAiBC,IAAjB,CAAZ;IACD;EACF;AACF"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/utils/inherit.js b/includes/search/node_modules/@babel/types/lib/utils/inherit.js
deleted file mode 100644
index 97fa990..0000000
--- a/includes/search/node_modules/@babel/types/lib/utils/inherit.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = inherit;
-
-function inherit(key, child, parent) {
- if (child && parent) {
- child[key] = Array.from(new Set([].concat(child[key], parent[key]).filter(Boolean)));
- }
-}
-
-//# sourceMappingURL=inherit.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/utils/inherit.js.map b/includes/search/node_modules/@babel/types/lib/utils/inherit.js.map
deleted file mode 100644
index b71a298..0000000
--- a/includes/search/node_modules/@babel/types/lib/utils/inherit.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["inherit","key","child","parent","Array","from","Set","concat","filter","Boolean"],"sources":["../../src/utils/inherit.ts"],"sourcesContent":["import type * as t from \"..\";\n\nexport default function inherit<\n C extends t.Node | undefined,\n P extends t.Node | undefined,\n>(key: keyof C & keyof P, child: C, parent: P): void {\n if (child && parent) {\n // @ts-expect-error Could further refine key definitions\n child[key] = Array.from(\n new Set([].concat(child[key], parent[key]).filter(Boolean)),\n );\n }\n}\n"],"mappings":";;;;;;;AAEe,SAASA,OAAT,CAGbC,GAHa,EAGWC,KAHX,EAGqBC,MAHrB,EAGsC;EACnD,IAAID,KAAK,IAAIC,MAAb,EAAqB;IAEnBD,KAAK,CAACD,GAAD,CAAL,GAAaG,KAAK,CAACC,IAAN,CACX,IAAIC,GAAJ,CAAQ,GAAGC,MAAH,CAAUL,KAAK,CAACD,GAAD,CAAf,EAAsBE,MAAM,CAACF,GAAD,CAA5B,EAAmCO,MAAnC,CAA0CC,OAA1C,CAAR,CADW,CAAb;EAGD;AACF"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js b/includes/search/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js
deleted file mode 100644
index 4927d9d..0000000
--- a/includes/search/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js
+++ /dev/null
@@ -1,49 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = cleanJSXElementLiteralChild;
-
-var _generated = require("../../builders/generated");
-
-function cleanJSXElementLiteralChild(child, args) {
- const lines = child.value.split(/\r\n|\n|\r/);
- let lastNonEmptyLine = 0;
-
- for (let i = 0; i < lines.length; i++) {
- if (lines[i].match(/[^ \t]/)) {
- lastNonEmptyLine = i;
- }
- }
-
- let str = "";
-
- for (let i = 0; i < lines.length; i++) {
- const line = lines[i];
- const isFirstLine = i === 0;
- const isLastLine = i === lines.length - 1;
- const isLastNonEmptyLine = i === lastNonEmptyLine;
- let trimmedLine = line.replace(/\t/g, " ");
-
- if (!isFirstLine) {
- trimmedLine = trimmedLine.replace(/^[ ]+/, "");
- }
-
- if (!isLastLine) {
- trimmedLine = trimmedLine.replace(/[ ]+$/, "");
- }
-
- if (trimmedLine) {
- if (!isLastNonEmptyLine) {
- trimmedLine += " ";
- }
-
- str += trimmedLine;
- }
- }
-
- if (str) args.push((0, _generated.stringLiteral)(str));
-}
-
-//# sourceMappingURL=cleanJSXElementLiteralChild.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map b/includes/search/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map
deleted file mode 100644
index 965183f..0000000
--- a/includes/search/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["cleanJSXElementLiteralChild","child","args","lines","value","split","lastNonEmptyLine","i","length","match","str","line","isFirstLine","isLastLine","isLastNonEmptyLine","trimmedLine","replace","push","stringLiteral"],"sources":["../../../src/utils/react/cleanJSXElementLiteralChild.ts"],"sourcesContent":["import { stringLiteral } from \"../../builders/generated\";\nimport type * as t from \"../..\";\n\nexport default function cleanJSXElementLiteralChild(\n child: {\n value: string;\n },\n args: Array<t.Node>,\n) {\n const lines = child.value.split(/\\r\\n|\\n|\\r/);\n\n let lastNonEmptyLine = 0;\n\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].match(/[^ \\t]/)) {\n lastNonEmptyLine = i;\n }\n }\n\n let str = \"\";\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n\n const isFirstLine = i === 0;\n const isLastLine = i === lines.length - 1;\n const isLastNonEmptyLine = i === lastNonEmptyLine;\n\n // replace rendered whitespace tabs with spaces\n let trimmedLine = line.replace(/\\t/g, \" \");\n\n // trim whitespace touching a newline\n if (!isFirstLine) {\n trimmedLine = trimmedLine.replace(/^[ ]+/, \"\");\n }\n\n // trim whitespace touching an endline\n if (!isLastLine) {\n trimmedLine = trimmedLine.replace(/[ ]+$/, \"\");\n }\n\n if (trimmedLine) {\n if (!isLastNonEmptyLine) {\n trimmedLine += \" \";\n }\n\n str += trimmedLine;\n }\n }\n\n if (str) args.push(stringLiteral(str));\n}\n"],"mappings":";;;;;;;AAAA;;AAGe,SAASA,2BAAT,CACbC,KADa,EAIbC,IAJa,EAKb;EACA,MAAMC,KAAK,GAAGF,KAAK,CAACG,KAAN,CAAYC,KAAZ,CAAkB,YAAlB,CAAd;EAEA,IAAIC,gBAAgB,GAAG,CAAvB;;EAEA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,KAAK,CAACK,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;IACrC,IAAIJ,KAAK,CAACI,CAAD,CAAL,CAASE,KAAT,CAAe,QAAf,CAAJ,EAA8B;MAC5BH,gBAAgB,GAAGC,CAAnB;IACD;EACF;;EAED,IAAIG,GAAG,GAAG,EAAV;;EAEA,KAAK,IAAIH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,KAAK,CAACK,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;IACrC,MAAMI,IAAI,GAAGR,KAAK,CAACI,CAAD,CAAlB;IAEA,MAAMK,WAAW,GAAGL,CAAC,KAAK,CAA1B;IACA,MAAMM,UAAU,GAAGN,CAAC,KAAKJ,KAAK,CAACK,MAAN,GAAe,CAAxC;IACA,MAAMM,kBAAkB,GAAGP,CAAC,KAAKD,gBAAjC;IAGA,IAAIS,WAAW,GAAGJ,IAAI,CAACK,OAAL,CAAa,KAAb,EAAoB,GAApB,CAAlB;;IAGA,IAAI,CAACJ,WAAL,EAAkB;MAChBG,WAAW,GAAGA,WAAW,CAACC,OAAZ,CAAoB,OAApB,EAA6B,EAA7B,CAAd;IACD;;IAGD,IAAI,CAACH,UAAL,EAAiB;MACfE,WAAW,GAAGA,WAAW,CAACC,OAAZ,CAAoB,OAApB,EAA6B,EAA7B,CAAd;IACD;;IAED,IAAID,WAAJ,EAAiB;MACf,IAAI,CAACD,kBAAL,EAAyB;QACvBC,WAAW,IAAI,GAAf;MACD;;MAEDL,GAAG,IAAIK,WAAP;IACD;EACF;;EAED,IAAIL,GAAJ,EAASR,IAAI,CAACe,IAAL,CAAU,IAAAC,wBAAA,EAAcR,GAAd,CAAV;AACV"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/utils/shallowEqual.js b/includes/search/node_modules/@babel/types/lib/utils/shallowEqual.js
deleted file mode 100644
index 3e91e7a..0000000
--- a/includes/search/node_modules/@babel/types/lib/utils/shallowEqual.js
+++ /dev/null
@@ -1,20 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = shallowEqual;
-
-function shallowEqual(actual, expected) {
- const keys = Object.keys(expected);
-
- for (const key of keys) {
- if (actual[key] !== expected[key]) {
- return false;
- }
- }
-
- return true;
-}
-
-//# sourceMappingURL=shallowEqual.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/utils/shallowEqual.js.map b/includes/search/node_modules/@babel/types/lib/utils/shallowEqual.js.map
deleted file mode 100644
index ff97f2d..0000000
--- a/includes/search/node_modules/@babel/types/lib/utils/shallowEqual.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["shallowEqual","actual","expected","keys","Object","key"],"sources":["../../src/utils/shallowEqual.ts"],"sourcesContent":["export default function shallowEqual<T extends object>(\n actual: object,\n expected: T,\n): actual is T {\n const keys = Object.keys(expected) as (keyof T)[];\n\n for (const key of keys) {\n if (\n // @ts-expect-error maybe we should check whether key exists first\n actual[key] !== expected[key]\n ) {\n return false;\n }\n }\n\n return true;\n}\n"],"mappings":";;;;;;;AAAe,SAASA,YAAT,CACbC,MADa,EAEbC,QAFa,EAGA;EACb,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAP,CAAYD,QAAZ,CAAb;;EAEA,KAAK,MAAMG,GAAX,IAAkBF,IAAlB,EAAwB;IACtB,IAEEF,MAAM,CAACI,GAAD,CAAN,KAAgBH,QAAQ,CAACG,GAAD,CAF1B,EAGE;MACA,OAAO,KAAP;IACD;EACF;;EAED,OAAO,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js b/includes/search/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js
deleted file mode 100644
index 2b569a1..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js
+++ /dev/null
@@ -1,15 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = buildMatchMemberExpression;
-
-var _matchesPattern = require("./matchesPattern");
-
-function buildMatchMemberExpression(match, allowPartial) {
- const parts = match.split(".");
- return member => (0, _matchesPattern.default)(member, parts, allowPartial);
-}
-
-//# sourceMappingURL=buildMatchMemberExpression.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map b/includes/search/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map
deleted file mode 100644
index 10a016d..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["buildMatchMemberExpression","match","allowPartial","parts","split","member","matchesPattern"],"sources":["../../src/validators/buildMatchMemberExpression.ts"],"sourcesContent":["import matchesPattern from \"./matchesPattern\";\nimport type * as t from \"..\";\n\n/**\n * Build a function that when called will return whether or not the\n * input `node` `MemberExpression` matches the input `match`.\n *\n * For example, given the match `React.createClass` it would match the\n * parsed nodes of `React.createClass` and `React[\"createClass\"]`.\n */\nexport default function buildMatchMemberExpression(\n match: string,\n allowPartial?: boolean,\n) {\n const parts = match.split(\".\");\n\n return (member: t.Node) => matchesPattern(member, parts, allowPartial);\n}\n"],"mappings":";;;;;;;AAAA;;AAUe,SAASA,0BAAT,CACbC,KADa,EAEbC,YAFa,EAGb;EACA,MAAMC,KAAK,GAAGF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAAd;EAEA,OAAQC,MAAD,IAAoB,IAAAC,uBAAA,EAAeD,MAAf,EAAuBF,KAAvB,EAA8BD,YAA9B,CAA3B;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/generated/index.js b/includes/search/node_modules/@babel/types/lib/validators/generated/index.js
deleted file mode 100644
index 323e798..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/generated/index.js
+++ /dev/null
@@ -1,4829 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.isAccessor = isAccessor;
-exports.isAnyTypeAnnotation = isAnyTypeAnnotation;
-exports.isArgumentPlaceholder = isArgumentPlaceholder;
-exports.isArrayExpression = isArrayExpression;
-exports.isArrayPattern = isArrayPattern;
-exports.isArrayTypeAnnotation = isArrayTypeAnnotation;
-exports.isArrowFunctionExpression = isArrowFunctionExpression;
-exports.isAssignmentExpression = isAssignmentExpression;
-exports.isAssignmentPattern = isAssignmentPattern;
-exports.isAwaitExpression = isAwaitExpression;
-exports.isBigIntLiteral = isBigIntLiteral;
-exports.isBinary = isBinary;
-exports.isBinaryExpression = isBinaryExpression;
-exports.isBindExpression = isBindExpression;
-exports.isBlock = isBlock;
-exports.isBlockParent = isBlockParent;
-exports.isBlockStatement = isBlockStatement;
-exports.isBooleanLiteral = isBooleanLiteral;
-exports.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation;
-exports.isBooleanTypeAnnotation = isBooleanTypeAnnotation;
-exports.isBreakStatement = isBreakStatement;
-exports.isCallExpression = isCallExpression;
-exports.isCatchClause = isCatchClause;
-exports.isClass = isClass;
-exports.isClassAccessorProperty = isClassAccessorProperty;
-exports.isClassBody = isClassBody;
-exports.isClassDeclaration = isClassDeclaration;
-exports.isClassExpression = isClassExpression;
-exports.isClassImplements = isClassImplements;
-exports.isClassMethod = isClassMethod;
-exports.isClassPrivateMethod = isClassPrivateMethod;
-exports.isClassPrivateProperty = isClassPrivateProperty;
-exports.isClassProperty = isClassProperty;
-exports.isCompletionStatement = isCompletionStatement;
-exports.isConditional = isConditional;
-exports.isConditionalExpression = isConditionalExpression;
-exports.isContinueStatement = isContinueStatement;
-exports.isDebuggerStatement = isDebuggerStatement;
-exports.isDecimalLiteral = isDecimalLiteral;
-exports.isDeclaration = isDeclaration;
-exports.isDeclareClass = isDeclareClass;
-exports.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration;
-exports.isDeclareExportDeclaration = isDeclareExportDeclaration;
-exports.isDeclareFunction = isDeclareFunction;
-exports.isDeclareInterface = isDeclareInterface;
-exports.isDeclareModule = isDeclareModule;
-exports.isDeclareModuleExports = isDeclareModuleExports;
-exports.isDeclareOpaqueType = isDeclareOpaqueType;
-exports.isDeclareTypeAlias = isDeclareTypeAlias;
-exports.isDeclareVariable = isDeclareVariable;
-exports.isDeclaredPredicate = isDeclaredPredicate;
-exports.isDecorator = isDecorator;
-exports.isDirective = isDirective;
-exports.isDirectiveLiteral = isDirectiveLiteral;
-exports.isDoExpression = isDoExpression;
-exports.isDoWhileStatement = isDoWhileStatement;
-exports.isEmptyStatement = isEmptyStatement;
-exports.isEmptyTypeAnnotation = isEmptyTypeAnnotation;
-exports.isEnumBody = isEnumBody;
-exports.isEnumBooleanBody = isEnumBooleanBody;
-exports.isEnumBooleanMember = isEnumBooleanMember;
-exports.isEnumDeclaration = isEnumDeclaration;
-exports.isEnumDefaultedMember = isEnumDefaultedMember;
-exports.isEnumMember = isEnumMember;
-exports.isEnumNumberBody = isEnumNumberBody;
-exports.isEnumNumberMember = isEnumNumberMember;
-exports.isEnumStringBody = isEnumStringBody;
-exports.isEnumStringMember = isEnumStringMember;
-exports.isEnumSymbolBody = isEnumSymbolBody;
-exports.isExistsTypeAnnotation = isExistsTypeAnnotation;
-exports.isExportAllDeclaration = isExportAllDeclaration;
-exports.isExportDeclaration = isExportDeclaration;
-exports.isExportDefaultDeclaration = isExportDefaultDeclaration;
-exports.isExportDefaultSpecifier = isExportDefaultSpecifier;
-exports.isExportNamedDeclaration = isExportNamedDeclaration;
-exports.isExportNamespaceSpecifier = isExportNamespaceSpecifier;
-exports.isExportSpecifier = isExportSpecifier;
-exports.isExpression = isExpression;
-exports.isExpressionStatement = isExpressionStatement;
-exports.isExpressionWrapper = isExpressionWrapper;
-exports.isFile = isFile;
-exports.isFlow = isFlow;
-exports.isFlowBaseAnnotation = isFlowBaseAnnotation;
-exports.isFlowDeclaration = isFlowDeclaration;
-exports.isFlowPredicate = isFlowPredicate;
-exports.isFlowType = isFlowType;
-exports.isFor = isFor;
-exports.isForInStatement = isForInStatement;
-exports.isForOfStatement = isForOfStatement;
-exports.isForStatement = isForStatement;
-exports.isForXStatement = isForXStatement;
-exports.isFunction = isFunction;
-exports.isFunctionDeclaration = isFunctionDeclaration;
-exports.isFunctionExpression = isFunctionExpression;
-exports.isFunctionParent = isFunctionParent;
-exports.isFunctionTypeAnnotation = isFunctionTypeAnnotation;
-exports.isFunctionTypeParam = isFunctionTypeParam;
-exports.isGenericTypeAnnotation = isGenericTypeAnnotation;
-exports.isIdentifier = isIdentifier;
-exports.isIfStatement = isIfStatement;
-exports.isImmutable = isImmutable;
-exports.isImport = isImport;
-exports.isImportAttribute = isImportAttribute;
-exports.isImportDeclaration = isImportDeclaration;
-exports.isImportDefaultSpecifier = isImportDefaultSpecifier;
-exports.isImportNamespaceSpecifier = isImportNamespaceSpecifier;
-exports.isImportSpecifier = isImportSpecifier;
-exports.isIndexedAccessType = isIndexedAccessType;
-exports.isInferredPredicate = isInferredPredicate;
-exports.isInterfaceDeclaration = isInterfaceDeclaration;
-exports.isInterfaceExtends = isInterfaceExtends;
-exports.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation;
-exports.isInterpreterDirective = isInterpreterDirective;
-exports.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation;
-exports.isJSX = isJSX;
-exports.isJSXAttribute = isJSXAttribute;
-exports.isJSXClosingElement = isJSXClosingElement;
-exports.isJSXClosingFragment = isJSXClosingFragment;
-exports.isJSXElement = isJSXElement;
-exports.isJSXEmptyExpression = isJSXEmptyExpression;
-exports.isJSXExpressionContainer = isJSXExpressionContainer;
-exports.isJSXFragment = isJSXFragment;
-exports.isJSXIdentifier = isJSXIdentifier;
-exports.isJSXMemberExpression = isJSXMemberExpression;
-exports.isJSXNamespacedName = isJSXNamespacedName;
-exports.isJSXOpeningElement = isJSXOpeningElement;
-exports.isJSXOpeningFragment = isJSXOpeningFragment;
-exports.isJSXSpreadAttribute = isJSXSpreadAttribute;
-exports.isJSXSpreadChild = isJSXSpreadChild;
-exports.isJSXText = isJSXText;
-exports.isLVal = isLVal;
-exports.isLabeledStatement = isLabeledStatement;
-exports.isLiteral = isLiteral;
-exports.isLogicalExpression = isLogicalExpression;
-exports.isLoop = isLoop;
-exports.isMemberExpression = isMemberExpression;
-exports.isMetaProperty = isMetaProperty;
-exports.isMethod = isMethod;
-exports.isMiscellaneous = isMiscellaneous;
-exports.isMixedTypeAnnotation = isMixedTypeAnnotation;
-exports.isModuleDeclaration = isModuleDeclaration;
-exports.isModuleExpression = isModuleExpression;
-exports.isModuleSpecifier = isModuleSpecifier;
-exports.isNewExpression = isNewExpression;
-exports.isNoop = isNoop;
-exports.isNullLiteral = isNullLiteral;
-exports.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation;
-exports.isNullableTypeAnnotation = isNullableTypeAnnotation;
-exports.isNumberLiteral = isNumberLiteral;
-exports.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation;
-exports.isNumberTypeAnnotation = isNumberTypeAnnotation;
-exports.isNumericLiteral = isNumericLiteral;
-exports.isObjectExpression = isObjectExpression;
-exports.isObjectMember = isObjectMember;
-exports.isObjectMethod = isObjectMethod;
-exports.isObjectPattern = isObjectPattern;
-exports.isObjectProperty = isObjectProperty;
-exports.isObjectTypeAnnotation = isObjectTypeAnnotation;
-exports.isObjectTypeCallProperty = isObjectTypeCallProperty;
-exports.isObjectTypeIndexer = isObjectTypeIndexer;
-exports.isObjectTypeInternalSlot = isObjectTypeInternalSlot;
-exports.isObjectTypeProperty = isObjectTypeProperty;
-exports.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty;
-exports.isOpaqueType = isOpaqueType;
-exports.isOptionalCallExpression = isOptionalCallExpression;
-exports.isOptionalIndexedAccessType = isOptionalIndexedAccessType;
-exports.isOptionalMemberExpression = isOptionalMemberExpression;
-exports.isParenthesizedExpression = isParenthesizedExpression;
-exports.isPattern = isPattern;
-exports.isPatternLike = isPatternLike;
-exports.isPipelineBareFunction = isPipelineBareFunction;
-exports.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference;
-exports.isPipelineTopicExpression = isPipelineTopicExpression;
-exports.isPlaceholder = isPlaceholder;
-exports.isPrivate = isPrivate;
-exports.isPrivateName = isPrivateName;
-exports.isProgram = isProgram;
-exports.isProperty = isProperty;
-exports.isPureish = isPureish;
-exports.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier;
-exports.isRecordExpression = isRecordExpression;
-exports.isRegExpLiteral = isRegExpLiteral;
-exports.isRegexLiteral = isRegexLiteral;
-exports.isRestElement = isRestElement;
-exports.isRestProperty = isRestProperty;
-exports.isReturnStatement = isReturnStatement;
-exports.isScopable = isScopable;
-exports.isSequenceExpression = isSequenceExpression;
-exports.isSpreadElement = isSpreadElement;
-exports.isSpreadProperty = isSpreadProperty;
-exports.isStandardized = isStandardized;
-exports.isStatement = isStatement;
-exports.isStaticBlock = isStaticBlock;
-exports.isStringLiteral = isStringLiteral;
-exports.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation;
-exports.isStringTypeAnnotation = isStringTypeAnnotation;
-exports.isSuper = isSuper;
-exports.isSwitchCase = isSwitchCase;
-exports.isSwitchStatement = isSwitchStatement;
-exports.isSymbolTypeAnnotation = isSymbolTypeAnnotation;
-exports.isTSAnyKeyword = isTSAnyKeyword;
-exports.isTSArrayType = isTSArrayType;
-exports.isTSAsExpression = isTSAsExpression;
-exports.isTSBaseType = isTSBaseType;
-exports.isTSBigIntKeyword = isTSBigIntKeyword;
-exports.isTSBooleanKeyword = isTSBooleanKeyword;
-exports.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration;
-exports.isTSConditionalType = isTSConditionalType;
-exports.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration;
-exports.isTSConstructorType = isTSConstructorType;
-exports.isTSDeclareFunction = isTSDeclareFunction;
-exports.isTSDeclareMethod = isTSDeclareMethod;
-exports.isTSEntityName = isTSEntityName;
-exports.isTSEnumDeclaration = isTSEnumDeclaration;
-exports.isTSEnumMember = isTSEnumMember;
-exports.isTSExportAssignment = isTSExportAssignment;
-exports.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments;
-exports.isTSExternalModuleReference = isTSExternalModuleReference;
-exports.isTSFunctionType = isTSFunctionType;
-exports.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration;
-exports.isTSImportType = isTSImportType;
-exports.isTSIndexSignature = isTSIndexSignature;
-exports.isTSIndexedAccessType = isTSIndexedAccessType;
-exports.isTSInferType = isTSInferType;
-exports.isTSInstantiationExpression = isTSInstantiationExpression;
-exports.isTSInterfaceBody = isTSInterfaceBody;
-exports.isTSInterfaceDeclaration = isTSInterfaceDeclaration;
-exports.isTSIntersectionType = isTSIntersectionType;
-exports.isTSIntrinsicKeyword = isTSIntrinsicKeyword;
-exports.isTSLiteralType = isTSLiteralType;
-exports.isTSMappedType = isTSMappedType;
-exports.isTSMethodSignature = isTSMethodSignature;
-exports.isTSModuleBlock = isTSModuleBlock;
-exports.isTSModuleDeclaration = isTSModuleDeclaration;
-exports.isTSNamedTupleMember = isTSNamedTupleMember;
-exports.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration;
-exports.isTSNeverKeyword = isTSNeverKeyword;
-exports.isTSNonNullExpression = isTSNonNullExpression;
-exports.isTSNullKeyword = isTSNullKeyword;
-exports.isTSNumberKeyword = isTSNumberKeyword;
-exports.isTSObjectKeyword = isTSObjectKeyword;
-exports.isTSOptionalType = isTSOptionalType;
-exports.isTSParameterProperty = isTSParameterProperty;
-exports.isTSParenthesizedType = isTSParenthesizedType;
-exports.isTSPropertySignature = isTSPropertySignature;
-exports.isTSQualifiedName = isTSQualifiedName;
-exports.isTSRestType = isTSRestType;
-exports.isTSStringKeyword = isTSStringKeyword;
-exports.isTSSymbolKeyword = isTSSymbolKeyword;
-exports.isTSThisType = isTSThisType;
-exports.isTSTupleType = isTSTupleType;
-exports.isTSType = isTSType;
-exports.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration;
-exports.isTSTypeAnnotation = isTSTypeAnnotation;
-exports.isTSTypeAssertion = isTSTypeAssertion;
-exports.isTSTypeElement = isTSTypeElement;
-exports.isTSTypeLiteral = isTSTypeLiteral;
-exports.isTSTypeOperator = isTSTypeOperator;
-exports.isTSTypeParameter = isTSTypeParameter;
-exports.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration;
-exports.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation;
-exports.isTSTypePredicate = isTSTypePredicate;
-exports.isTSTypeQuery = isTSTypeQuery;
-exports.isTSTypeReference = isTSTypeReference;
-exports.isTSUndefinedKeyword = isTSUndefinedKeyword;
-exports.isTSUnionType = isTSUnionType;
-exports.isTSUnknownKeyword = isTSUnknownKeyword;
-exports.isTSVoidKeyword = isTSVoidKeyword;
-exports.isTaggedTemplateExpression = isTaggedTemplateExpression;
-exports.isTemplateElement = isTemplateElement;
-exports.isTemplateLiteral = isTemplateLiteral;
-exports.isTerminatorless = isTerminatorless;
-exports.isThisExpression = isThisExpression;
-exports.isThisTypeAnnotation = isThisTypeAnnotation;
-exports.isThrowStatement = isThrowStatement;
-exports.isTopicReference = isTopicReference;
-exports.isTryStatement = isTryStatement;
-exports.isTupleExpression = isTupleExpression;
-exports.isTupleTypeAnnotation = isTupleTypeAnnotation;
-exports.isTypeAlias = isTypeAlias;
-exports.isTypeAnnotation = isTypeAnnotation;
-exports.isTypeCastExpression = isTypeCastExpression;
-exports.isTypeParameter = isTypeParameter;
-exports.isTypeParameterDeclaration = isTypeParameterDeclaration;
-exports.isTypeParameterInstantiation = isTypeParameterInstantiation;
-exports.isTypeScript = isTypeScript;
-exports.isTypeofTypeAnnotation = isTypeofTypeAnnotation;
-exports.isUnaryExpression = isUnaryExpression;
-exports.isUnaryLike = isUnaryLike;
-exports.isUnionTypeAnnotation = isUnionTypeAnnotation;
-exports.isUpdateExpression = isUpdateExpression;
-exports.isUserWhitespacable = isUserWhitespacable;
-exports.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier;
-exports.isVariableDeclaration = isVariableDeclaration;
-exports.isVariableDeclarator = isVariableDeclarator;
-exports.isVariance = isVariance;
-exports.isVoidTypeAnnotation = isVoidTypeAnnotation;
-exports.isWhile = isWhile;
-exports.isWhileStatement = isWhileStatement;
-exports.isWithStatement = isWithStatement;
-exports.isYieldExpression = isYieldExpression;
-
-var _shallowEqual = require("../../utils/shallowEqual");
-
-function isArrayExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ArrayExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isAssignmentExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "AssignmentExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBinaryExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "BinaryExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isInterpreterDirective(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "InterpreterDirective") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDirective(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "Directive") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDirectiveLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DirectiveLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBlockStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "BlockStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBreakStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "BreakStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isCallExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "CallExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isCatchClause(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "CatchClause") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isConditionalExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ConditionalExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isContinueStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ContinueStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDebuggerStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DebuggerStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDoWhileStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DoWhileStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEmptyStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EmptyStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExpressionStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ExpressionStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFile(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "File") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isForInStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ForInStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isForStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ForStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFunctionDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "FunctionDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFunctionExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "FunctionExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isIdentifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "Identifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isIfStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "IfStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isLabeledStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "LabeledStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isStringLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "StringLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isNumericLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "NumericLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isNullLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "NullLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBooleanLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "BooleanLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isRegExpLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "RegExpLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isLogicalExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "LogicalExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isMemberExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "MemberExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isNewExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "NewExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isProgram(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "Program") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectMethod(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectMethod") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isRestElement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "RestElement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isReturnStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ReturnStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isSequenceExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "SequenceExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isParenthesizedExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ParenthesizedExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isSwitchCase(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "SwitchCase") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isSwitchStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "SwitchStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isThisExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ThisExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isThrowStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ThrowStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTryStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TryStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isUnaryExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "UnaryExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isUpdateExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "UpdateExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isVariableDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "VariableDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isVariableDeclarator(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "VariableDeclarator") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isWhileStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "WhileStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isWithStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "WithStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isAssignmentPattern(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "AssignmentPattern") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isArrayPattern(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ArrayPattern") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isArrowFunctionExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ArrowFunctionExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClassBody(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ClassBody") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClassExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ClassExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClassDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ClassDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExportAllDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ExportAllDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExportDefaultDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ExportDefaultDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExportNamedDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ExportNamedDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExportSpecifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ExportSpecifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isForOfStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ForOfStatement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isImportDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ImportDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isImportDefaultSpecifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ImportDefaultSpecifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isImportNamespaceSpecifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ImportNamespaceSpecifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isImportSpecifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ImportSpecifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isMetaProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "MetaProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClassMethod(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ClassMethod") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectPattern(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectPattern") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isSpreadElement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "SpreadElement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isSuper(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "Super") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTaggedTemplateExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TaggedTemplateExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTemplateElement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TemplateElement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTemplateLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TemplateLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isYieldExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "YieldExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isAwaitExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "AwaitExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isImport(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "Import") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBigIntLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "BigIntLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExportNamespaceSpecifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ExportNamespaceSpecifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isOptionalMemberExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "OptionalMemberExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isOptionalCallExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "OptionalCallExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClassProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ClassProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClassAccessorProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ClassAccessorProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClassPrivateProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ClassPrivateProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClassPrivateMethod(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ClassPrivateMethod") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isPrivateName(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "PrivateName") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isStaticBlock(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "StaticBlock") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isAnyTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "AnyTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isArrayTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ArrayTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBooleanTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "BooleanTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBooleanLiteralTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "BooleanLiteralTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isNullLiteralTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "NullLiteralTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClassImplements(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ClassImplements") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareClass(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareClass") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareFunction(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareFunction") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareInterface(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareInterface") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareModule(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareModule") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareModuleExports(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareModuleExports") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareTypeAlias(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareTypeAlias") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareOpaqueType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareOpaqueType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareVariable(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareVariable") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareExportDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareExportDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclareExportAllDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclareExportAllDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclaredPredicate(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DeclaredPredicate") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExistsTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ExistsTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFunctionTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "FunctionTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFunctionTypeParam(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "FunctionTypeParam") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isGenericTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "GenericTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isInferredPredicate(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "InferredPredicate") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isInterfaceExtends(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "InterfaceExtends") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isInterfaceDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "InterfaceDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isInterfaceTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "InterfaceTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isIntersectionTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "IntersectionTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isMixedTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "MixedTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEmptyTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EmptyTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isNullableTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "NullableTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isNumberLiteralTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "NumberLiteralTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isNumberTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "NumberTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectTypeInternalSlot(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectTypeInternalSlot") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectTypeCallProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectTypeCallProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectTypeIndexer(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectTypeIndexer") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectTypeProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectTypeProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectTypeSpreadProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ObjectTypeSpreadProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isOpaqueType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "OpaqueType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isQualifiedTypeIdentifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "QualifiedTypeIdentifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isStringLiteralTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "StringLiteralTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isStringTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "StringTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isSymbolTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "SymbolTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isThisTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ThisTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTupleTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TupleTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTypeofTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TypeofTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTypeAlias(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TypeAlias") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTypeCastExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TypeCastExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTypeParameter(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TypeParameter") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTypeParameterDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TypeParameterDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTypeParameterInstantiation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TypeParameterInstantiation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isUnionTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "UnionTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isVariance(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "Variance") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isVoidTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "VoidTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EnumDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumBooleanBody(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EnumBooleanBody") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumNumberBody(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EnumNumberBody") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumStringBody(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EnumStringBody") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumSymbolBody(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EnumSymbolBody") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumBooleanMember(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EnumBooleanMember") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumNumberMember(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EnumNumberMember") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumStringMember(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EnumStringMember") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumDefaultedMember(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "EnumDefaultedMember") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isIndexedAccessType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "IndexedAccessType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isOptionalIndexedAccessType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "OptionalIndexedAccessType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXAttribute(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXAttribute") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXClosingElement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXClosingElement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXElement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXElement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXEmptyExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXEmptyExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXExpressionContainer(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXExpressionContainer") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXSpreadChild(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXSpreadChild") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXIdentifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXIdentifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXMemberExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXMemberExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXNamespacedName(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXNamespacedName") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXOpeningElement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXOpeningElement") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXSpreadAttribute(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXSpreadAttribute") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXText(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXText") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXFragment(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXFragment") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXOpeningFragment(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXOpeningFragment") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSXClosingFragment(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "JSXClosingFragment") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isNoop(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "Noop") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isPlaceholder(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "Placeholder") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isV8IntrinsicIdentifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "V8IntrinsicIdentifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isArgumentPlaceholder(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ArgumentPlaceholder") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBindExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "BindExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isImportAttribute(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ImportAttribute") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDecorator(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "Decorator") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDoExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DoExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExportDefaultSpecifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ExportDefaultSpecifier") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isRecordExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "RecordExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTupleExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TupleExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDecimalLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "DecimalLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isModuleExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "ModuleExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTopicReference(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TopicReference") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isPipelineTopicExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "PipelineTopicExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isPipelineBareFunction(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "PipelineBareFunction") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isPipelinePrimaryTopicReference(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "PipelinePrimaryTopicReference") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSParameterProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSParameterProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSDeclareFunction(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSDeclareFunction") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSDeclareMethod(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSDeclareMethod") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSQualifiedName(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSQualifiedName") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSCallSignatureDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSCallSignatureDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSConstructSignatureDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSConstructSignatureDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSPropertySignature(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSPropertySignature") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSMethodSignature(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSMethodSignature") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSIndexSignature(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSIndexSignature") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSAnyKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSAnyKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSBooleanKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSBooleanKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSBigIntKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSBigIntKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSIntrinsicKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSIntrinsicKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSNeverKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSNeverKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSNullKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSNullKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSNumberKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSNumberKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSObjectKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSObjectKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSStringKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSStringKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSSymbolKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSSymbolKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSUndefinedKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSUndefinedKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSUnknownKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSUnknownKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSVoidKeyword(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSVoidKeyword") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSThisType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSThisType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSFunctionType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSFunctionType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSConstructorType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSConstructorType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeReference(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeReference") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypePredicate(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypePredicate") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeQuery(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeQuery") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSArrayType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSArrayType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTupleType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTupleType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSOptionalType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSOptionalType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSRestType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSRestType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSNamedTupleMember(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSNamedTupleMember") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSUnionType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSUnionType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSIntersectionType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSIntersectionType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSConditionalType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSConditionalType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSInferType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSInferType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSParenthesizedType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSParenthesizedType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeOperator(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeOperator") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSIndexedAccessType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSIndexedAccessType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSMappedType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSMappedType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSLiteralType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSLiteralType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSExpressionWithTypeArguments(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSExpressionWithTypeArguments") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSInterfaceDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSInterfaceDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSInterfaceBody(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSInterfaceBody") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeAliasDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeAliasDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSInstantiationExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSInstantiationExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSAsExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSAsExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeAssertion(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeAssertion") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSEnumDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSEnumDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSEnumMember(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSEnumMember") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSModuleDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSModuleDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSModuleBlock(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSModuleBlock") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSImportType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSImportType") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSImportEqualsDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSImportEqualsDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSExternalModuleReference(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSExternalModuleReference") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSNonNullExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSNonNullExpression") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSExportAssignment(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSExportAssignment") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSNamespaceExportDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSNamespaceExportDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeAnnotation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeParameterInstantiation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeParameterInstantiation") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeParameterDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeParameterDeclaration") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeParameter(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "TSTypeParameter") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isStandardized(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "InterpreterDirective" === nodeType || "Directive" === nodeType || "DirectiveLiteral" === nodeType || "BlockStatement" === nodeType || "BreakStatement" === nodeType || "CallExpression" === nodeType || "CatchClause" === nodeType || "ConditionalExpression" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "File" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "Program" === nodeType || "ObjectExpression" === nodeType || "ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "RestElement" === nodeType || "ReturnStatement" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "SwitchCase" === nodeType || "SwitchStatement" === nodeType || "ThisExpression" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "VariableDeclaration" === nodeType || "VariableDeclarator" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassBody" === nodeType || "ClassExpression" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ExportSpecifier" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "MetaProperty" === nodeType || "ClassMethod" === nodeType || "ObjectPattern" === nodeType || "SpreadElement" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateElement" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "ExportNamespaceSpecifier" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "ClassProperty" === nodeType || "ClassAccessorProperty" === nodeType || "ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType || "StaticBlock" === nodeType || nodeType === "Placeholder" && ("Identifier" === node.expectedNode || "StringLiteral" === node.expectedNode || "BlockStatement" === node.expectedNode || "ClassBody" === node.expectedNode)) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExpression(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "CallExpression" === nodeType || "ConditionalExpression" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "ObjectExpression" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "ThisExpression" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "MetaProperty" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType || "Import" === nodeType || "BigIntLiteral" === nodeType || "OptionalMemberExpression" === nodeType || "OptionalCallExpression" === nodeType || "TypeCastExpression" === nodeType || "JSXElement" === nodeType || "JSXFragment" === nodeType || "BindExpression" === nodeType || "DoExpression" === nodeType || "RecordExpression" === nodeType || "TupleExpression" === nodeType || "DecimalLiteral" === nodeType || "ModuleExpression" === nodeType || "TopicReference" === nodeType || "PipelineTopicExpression" === nodeType || "PipelineBareFunction" === nodeType || "PipelinePrimaryTopicReference" === nodeType || "TSInstantiationExpression" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Expression" === node.expectedNode || "Identifier" === node.expectedNode || "StringLiteral" === node.expectedNode)) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBinary(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("BinaryExpression" === nodeType || "LogicalExpression" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isScopable(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "ClassDeclaration" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBlockParent(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isBlock(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("BlockStatement" === nodeType || "Program" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("BlockStatement" === nodeType || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "ReturnStatement" === nodeType || "SwitchStatement" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "VariableDeclaration" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || nodeType === "Placeholder" && ("Statement" === node.expectedNode || "Declaration" === node.expectedNode || "BlockStatement" === node.expectedNode)) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTerminatorless(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isCompletionStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isConditional(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ConditionalExpression" === nodeType || "IfStatement" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isLoop(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "WhileStatement" === nodeType || "ForOfStatement" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isWhile(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("DoWhileStatement" === nodeType || "WhileStatement" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExpressionWrapper(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ExpressionStatement" === nodeType || "ParenthesizedExpression" === nodeType || "TypeCastExpression" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFor(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ForInStatement" === nodeType || "ForStatement" === nodeType || "ForOfStatement" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isForXStatement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ForInStatement" === nodeType || "ForOfStatement" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFunction(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFunctionParent(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "StaticBlock" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isPureish(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "ArrowFunctionExpression" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("FunctionDeclaration" === nodeType || "VariableDeclaration" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "EnumDeclaration" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || nodeType === "Placeholder" && "Declaration" === node.expectedNode) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isPatternLike(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("Identifier" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isLVal(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("Identifier" === nodeType || "MemberExpression" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSParameterProperty" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSEntityName(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("Identifier" === nodeType || "TSQualifiedName" === nodeType || nodeType === "Placeholder" && "Identifier" === node.expectedNode) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isLiteral(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "TemplateLiteral" === nodeType || "BigIntLiteral" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isImmutable(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "BigIntLiteral" === nodeType || "JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXOpeningElement" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType || "DecimalLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isUserWhitespacable(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isMethod(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ObjectMethod" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isObjectMember(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ObjectMethod" === nodeType || "ObjectProperty" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isProperty(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ObjectProperty" === nodeType || "ClassProperty" === nodeType || "ClassAccessorProperty" === nodeType || "ClassPrivateProperty" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isUnaryLike(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("UnaryExpression" === nodeType || "SpreadElement" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isPattern(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && "Pattern" === node.expectedNode) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isClass(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ClassExpression" === nodeType || "ClassDeclaration" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isModuleDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isExportDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isModuleSpecifier(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ExportSpecifier" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "ExportNamespaceSpecifier" === nodeType || "ExportDefaultSpecifier" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isAccessor(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ClassAccessorProperty" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isPrivate(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFlow(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ClassImplements" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "DeclaredPredicate" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "FunctionTypeParam" === nodeType || "GenericTypeAnnotation" === nodeType || "InferredPredicate" === nodeType || "InterfaceExtends" === nodeType || "InterfaceDeclaration" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType || "OpaqueType" === nodeType || "QualifiedTypeIdentifier" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "TypeAlias" === nodeType || "TypeAnnotation" === nodeType || "TypeCastExpression" === nodeType || "TypeParameter" === nodeType || "TypeParameterDeclaration" === nodeType || "TypeParameterInstantiation" === nodeType || "UnionTypeAnnotation" === nodeType || "Variance" === nodeType || "VoidTypeAnnotation" === nodeType || "EnumDeclaration" === nodeType || "EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType || "EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFlowType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "GenericTypeAnnotation" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "UnionTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType || "IndexedAccessType" === nodeType || "OptionalIndexedAccessType" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFlowBaseAnnotation(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("AnyTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "SymbolTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFlowDeclaration(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isFlowPredicate(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("DeclaredPredicate" === nodeType || "InferredPredicate" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumBody(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isEnumMember(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isJSX(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXEmptyExpression" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXIdentifier" === nodeType || "JSXMemberExpression" === nodeType || "JSXNamespacedName" === nodeType || "JSXOpeningElement" === nodeType || "JSXSpreadAttribute" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isMiscellaneous(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("Noop" === nodeType || "Placeholder" === nodeType || "V8IntrinsicIdentifier" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTypeScript(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("TSParameterProperty" === nodeType || "TSDeclareFunction" === nodeType || "TSDeclareMethod" === nodeType || "TSQualifiedName" === nodeType || "TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType || "TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSNamedTupleMember" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSInterfaceBody" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSInstantiationExpression" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSEnumDeclaration" === nodeType || "TSEnumMember" === nodeType || "TSModuleDeclaration" === nodeType || "TSModuleBlock" === nodeType || "TSImportType" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExternalModuleReference" === nodeType || "TSNonNullExpression" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || "TSTypeAnnotation" === nodeType || "TSTypeParameterInstantiation" === nodeType || "TSTypeParameterDeclaration" === nodeType || "TSTypeParameter" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSTypeElement(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSImportType" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isTSBaseType(node, opts) {
- if (!node) return false;
- const nodeType = node.type;
-
- if ("TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSIntrinsicKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSLiteralType" === nodeType) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isNumberLiteral(node, opts) {
- console.trace("The node type NumberLiteral has been renamed to NumericLiteral");
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "NumberLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isRegexLiteral(node, opts) {
- console.trace("The node type RegexLiteral has been renamed to RegExpLiteral");
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "RegexLiteral") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isRestProperty(node, opts) {
- console.trace("The node type RestProperty has been renamed to RestElement");
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "RestProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-function isSpreadProperty(node, opts) {
- console.trace("The node type SpreadProperty has been renamed to SpreadElement");
- if (!node) return false;
- const nodeType = node.type;
-
- if (nodeType === "SpreadProperty") {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
- }
-
- return false;
-}
-
-//# sourceMappingURL=index.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/generated/index.js.map b/includes/search/node_modules/@babel/types/lib/validators/generated/index.js.map
deleted file mode 100644
index a6c7d17..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/generated/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isArrayExpression","node","opts","nodeType","type","shallowEqual","isAssignmentExpression","isBinaryExpression","isInterpreterDirective","isDirective","isDirectiveLiteral","isBlockStatement","isBreakStatement","isCallExpression","isCatchClause","isConditionalExpression","isContinueStatement","isDebuggerStatement","isDoWhileStatement","isEmptyStatement","isExpressionStatement","isFile","isForInStatement","isForStatement","isFunctionDeclaration","isFunctionExpression","isIdentifier","isIfStatement","isLabeledStatement","isStringLiteral","isNumericLiteral","isNullLiteral","isBooleanLiteral","isRegExpLiteral","isLogicalExpression","isMemberExpression","isNewExpression","isProgram","isObjectExpression","isObjectMethod","isObjectProperty","isRestElement","isReturnStatement","isSequenceExpression","isParenthesizedExpression","isSwitchCase","isSwitchStatement","isThisExpression","isThrowStatement","isTryStatement","isUnaryExpression","isUpdateExpression","isVariableDeclaration","isVariableDeclarator","isWhileStatement","isWithStatement","isAssignmentPattern","isArrayPattern","isArrowFunctionExpression","isClassBody","isClassExpression","isClassDeclaration","isExportAllDeclaration","isExportDefaultDeclaration","isExportNamedDeclaration","isExportSpecifier","isForOfStatement","isImportDeclaration","isImportDefaultSpecifier","isImportNamespaceSpecifier","isImportSpecifier","isMetaProperty","isClassMethod","isObjectPattern","isSpreadElement","isSuper","isTaggedTemplateExpression","isTemplateElement","isTemplateLiteral","isYieldExpression","isAwaitExpression","isImport","isBigIntLiteral","isExportNamespaceSpecifier","isOptionalMemberExpression","isOptionalCallExpression","isClassProperty","isClassAccessorProperty","isClassPrivateProperty","isClassPrivateMethod","isPrivateName","isStaticBlock","isAnyTypeAnnotation","isArrayTypeAnnotation","isBooleanTypeAnnotation","isBooleanLiteralTypeAnnotation","isNullLiteralTypeAnnotation","isClassImplements","isDeclareClass","isDeclareFunction","isDeclareInterface","isDeclareModule","isDeclareModuleExports","isDeclareTypeAlias","isDeclareOpaqueType","isDeclareVariable","isDeclareExportDeclaration","isDeclareExportAllDeclaration","isDeclaredPredicate","isExistsTypeAnnotation","isFunctionTypeAnnotation","isFunctionTypeParam","isGenericTypeAnnotation","isInferredPredicate","isInterfaceExtends","isInterfaceDeclaration","isInterfaceTypeAnnotation","isIntersectionTypeAnnotation","isMixedTypeAnnotation","isEmptyTypeAnnotation","isNullableTypeAnnotation","isNumberLiteralTypeAnnotation","isNumberTypeAnnotation","isObjectTypeAnnotation","isObjectTypeInternalSlot","isObjectTypeCallProperty","isObjectTypeIndexer","isObjectTypeProperty","isObjectTypeSpreadProperty","isOpaqueType","isQualifiedTypeIdentifier","isStringLiteralTypeAnnotation","isStringTypeAnnotation","isSymbolTypeAnnotation","isThisTypeAnnotation","isTupleTypeAnnotation","isTypeofTypeAnnotation","isTypeAlias","isTypeAnnotation","isTypeCastExpression","isTypeParameter","isTypeParameterDeclaration","isTypeParameterInstantiation","isUnionTypeAnnotation","isVariance","isVoidTypeAnnotation","isEnumDeclaration","isEnumBooleanBody","isEnumNumberBody","isEnumStringBody","isEnumSymbolBody","isEnumBooleanMember","isEnumNumberMember","isEnumStringMember","isEnumDefaultedMember","isIndexedAccessType","isOptionalIndexedAccessType","isJSXAttribute","isJSXClosingElement","isJSXElement","isJSXEmptyExpression","isJSXExpressionContainer","isJSXSpreadChild","isJSXIdentifier","isJSXMemberExpression","isJSXNamespacedName","isJSXOpeningElement","isJSXSpreadAttribute","isJSXText","isJSXFragment","isJSXOpeningFragment","isJSXClosingFragment","isNoop","isPlaceholder","isV8IntrinsicIdentifier","isArgumentPlaceholder","isBindExpression","isImportAttribute","isDecorator","isDoExpression","isExportDefaultSpecifier","isRecordExpression","isTupleExpression","isDecimalLiteral","isModuleExpression","isTopicReference","isPipelineTopicExpression","isPipelineBareFunction","isPipelinePrimaryTopicReference","isTSParameterProperty","isTSDeclareFunction","isTSDeclareMethod","isTSQualifiedName","isTSCallSignatureDeclaration","isTSConstructSignatureDeclaration","isTSPropertySignature","isTSMethodSignature","isTSIndexSignature","isTSAnyKeyword","isTSBooleanKeyword","isTSBigIntKeyword","isTSIntrinsicKeyword","isTSNeverKeyword","isTSNullKeyword","isTSNumberKeyword","isTSObjectKeyword","isTSStringKeyword","isTSSymbolKeyword","isTSUndefinedKeyword","isTSUnknownKeyword","isTSVoidKeyword","isTSThisType","isTSFunctionType","isTSConstructorType","isTSTypeReference","isTSTypePredicate","isTSTypeQuery","isTSTypeLiteral","isTSArrayType","isTSTupleType","isTSOptionalType","isTSRestType","isTSNamedTupleMember","isTSUnionType","isTSIntersectionType","isTSConditionalType","isTSInferType","isTSParenthesizedType","isTSTypeOperator","isTSIndexedAccessType","isTSMappedType","isTSLiteralType","isTSExpressionWithTypeArguments","isTSInterfaceDeclaration","isTSInterfaceBody","isTSTypeAliasDeclaration","isTSInstantiationExpression","isTSAsExpression","isTSTypeAssertion","isTSEnumDeclaration","isTSEnumMember","isTSModuleDeclaration","isTSModuleBlock","isTSImportType","isTSImportEqualsDeclaration","isTSExternalModuleReference","isTSNonNullExpression","isTSExportAssignment","isTSNamespaceExportDeclaration","isTSTypeAnnotation","isTSTypeParameterInstantiation","isTSTypeParameterDeclaration","isTSTypeParameter","isStandardized","expectedNode","isExpression","isBinary","isScopable","isBlockParent","isBlock","isStatement","isTerminatorless","isCompletionStatement","isConditional","isLoop","isWhile","isExpressionWrapper","isFor","isForXStatement","isFunction","isFunctionParent","isPureish","isDeclaration","isPatternLike","isLVal","isTSEntityName","isLiteral","isImmutable","isUserWhitespacable","isMethod","isObjectMember","isProperty","isUnaryLike","isPattern","isClass","isModuleDeclaration","isExportDeclaration","isModuleSpecifier","isAccessor","isPrivate","isFlow","isFlowType","isFlowBaseAnnotation","isFlowDeclaration","isFlowPredicate","isEnumBody","isEnumMember","isJSX","isMiscellaneous","isTypeScript","isTSTypeElement","isTSType","isTSBaseType","isNumberLiteral","console","trace","isRegexLiteral","isRestProperty","isSpreadProperty"],"sources":["../../../src/validators/generated/index.ts"],"sourcesContent":["/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate run 'make build'\n */\nimport shallowEqual from \"../../utils/shallowEqual\";\nimport type * as t from \"../..\";\n\nexport function isArrayExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ArrayExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ArrayExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isAssignmentExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.AssignmentExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"AssignmentExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBinaryExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.BinaryExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"BinaryExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isInterpreterDirective(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.InterpreterDirective {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"InterpreterDirective\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDirective(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Directive {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"Directive\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDirectiveLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DirectiveLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DirectiveLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBlockStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.BlockStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"BlockStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBreakStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.BreakStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"BreakStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isCallExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.CallExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"CallExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isCatchClause(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.CatchClause {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"CatchClause\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isConditionalExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ConditionalExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ConditionalExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isContinueStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ContinueStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ContinueStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDebuggerStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DebuggerStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DebuggerStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDoWhileStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DoWhileStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DoWhileStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEmptyStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EmptyStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EmptyStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExpressionStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExpressionStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ExpressionStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFile(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.File {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"File\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isForInStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ForInStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ForInStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isForStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ForStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ForStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFunctionDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.FunctionDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"FunctionDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFunctionExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.FunctionExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"FunctionExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Identifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"Identifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isIfStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.IfStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"IfStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isLabeledStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.LabeledStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"LabeledStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isStringLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.StringLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"StringLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isNumericLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.NumericLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"NumericLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isNullLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.NullLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"NullLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBooleanLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.BooleanLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"BooleanLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isRegExpLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.RegExpLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"RegExpLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isLogicalExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.LogicalExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"LogicalExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isMemberExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.MemberExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"MemberExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isNewExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.NewExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"NewExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isProgram(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Program {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"Program\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectMethod(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectMethod {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectMethod\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectProperty {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isRestElement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.RestElement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"RestElement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isReturnStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ReturnStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ReturnStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isSequenceExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.SequenceExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"SequenceExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isParenthesizedExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ParenthesizedExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ParenthesizedExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isSwitchCase(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.SwitchCase {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"SwitchCase\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isSwitchStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.SwitchStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"SwitchStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isThisExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ThisExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ThisExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isThrowStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ThrowStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ThrowStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTryStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TryStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TryStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isUnaryExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.UnaryExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"UnaryExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isUpdateExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.UpdateExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"UpdateExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isVariableDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.VariableDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"VariableDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isVariableDeclarator(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.VariableDeclarator {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"VariableDeclarator\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isWhileStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.WhileStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"WhileStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isWithStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.WithStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"WithStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isAssignmentPattern(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.AssignmentPattern {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"AssignmentPattern\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isArrayPattern(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ArrayPattern {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ArrayPattern\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isArrowFunctionExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ArrowFunctionExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ArrowFunctionExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClassBody(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ClassBody {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ClassBody\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClassExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ClassExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ClassExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClassDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ClassDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ClassDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExportAllDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExportAllDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ExportAllDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExportDefaultDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExportDefaultDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ExportDefaultDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExportNamedDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExportNamedDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ExportNamedDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExportSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExportSpecifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ExportSpecifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isForOfStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ForOfStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ForOfStatement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isImportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ImportDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ImportDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isImportDefaultSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ImportDefaultSpecifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ImportDefaultSpecifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isImportNamespaceSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ImportNamespaceSpecifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ImportNamespaceSpecifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isImportSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ImportSpecifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ImportSpecifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isMetaProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.MetaProperty {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"MetaProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClassMethod(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ClassMethod {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ClassMethod\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectPattern(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectPattern {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectPattern\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isSpreadElement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.SpreadElement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"SpreadElement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isSuper(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Super {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"Super\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTaggedTemplateExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TaggedTemplateExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TaggedTemplateExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTemplateElement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TemplateElement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TemplateElement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTemplateLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TemplateLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TemplateLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isYieldExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.YieldExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"YieldExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isAwaitExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.AwaitExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"AwaitExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isImport(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Import {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"Import\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBigIntLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.BigIntLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"BigIntLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExportNamespaceSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExportNamespaceSpecifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ExportNamespaceSpecifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isOptionalMemberExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.OptionalMemberExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"OptionalMemberExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isOptionalCallExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.OptionalCallExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"OptionalCallExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClassProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ClassProperty {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ClassProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClassAccessorProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ClassAccessorProperty {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ClassAccessorProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClassPrivateProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ClassPrivateProperty {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ClassPrivateProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClassPrivateMethod(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ClassPrivateMethod {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ClassPrivateMethod\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isPrivateName(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.PrivateName {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"PrivateName\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isStaticBlock(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.StaticBlock {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"StaticBlock\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isAnyTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.AnyTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"AnyTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isArrayTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ArrayTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ArrayTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBooleanTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.BooleanTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"BooleanTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBooleanLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.BooleanLiteralTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"BooleanLiteralTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isNullLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.NullLiteralTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"NullLiteralTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClassImplements(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ClassImplements {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ClassImplements\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareClass(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareClass {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareClass\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareFunction(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareFunction {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareFunction\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareInterface(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareInterface {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareInterface\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareModule(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareModule {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareModule\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareModuleExports(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareModuleExports {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareModuleExports\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareTypeAlias(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareTypeAlias {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareTypeAlias\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareOpaqueType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareOpaqueType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareOpaqueType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareVariable(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareVariable {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareVariable\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareExportDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareExportDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclareExportAllDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclareExportAllDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclareExportAllDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclaredPredicate(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DeclaredPredicate {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DeclaredPredicate\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExistsTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExistsTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ExistsTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFunctionTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.FunctionTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"FunctionTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFunctionTypeParam(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.FunctionTypeParam {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"FunctionTypeParam\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isGenericTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.GenericTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"GenericTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isInferredPredicate(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.InferredPredicate {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"InferredPredicate\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isInterfaceExtends(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.InterfaceExtends {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"InterfaceExtends\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isInterfaceDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.InterfaceDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"InterfaceDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isInterfaceTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.InterfaceTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"InterfaceTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isIntersectionTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.IntersectionTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"IntersectionTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isMixedTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.MixedTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"MixedTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEmptyTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EmptyTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EmptyTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isNullableTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.NullableTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"NullableTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isNumberLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.NumberLiteralTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"NumberLiteralTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isNumberTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.NumberTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"NumberTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectTypeInternalSlot(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectTypeInternalSlot {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectTypeInternalSlot\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectTypeCallProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectTypeCallProperty {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectTypeCallProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectTypeIndexer(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectTypeIndexer {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectTypeIndexer\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectTypeProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectTypeProperty {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectTypeProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectTypeSpreadProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectTypeSpreadProperty {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ObjectTypeSpreadProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isOpaqueType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.OpaqueType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"OpaqueType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isQualifiedTypeIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.QualifiedTypeIdentifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"QualifiedTypeIdentifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isStringLiteralTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.StringLiteralTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"StringLiteralTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isStringTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.StringTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"StringTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isSymbolTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.SymbolTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"SymbolTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isThisTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ThisTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ThisTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTupleTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TupleTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TupleTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTypeofTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TypeofTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TypeofTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTypeAlias(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TypeAlias {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TypeAlias\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTypeCastExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TypeCastExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TypeCastExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTypeParameter(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TypeParameter {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TypeParameter\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTypeParameterDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TypeParameterDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TypeParameterDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTypeParameterInstantiation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TypeParameterInstantiation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TypeParameterInstantiation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isUnionTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.UnionTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"UnionTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isVariance(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Variance {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"Variance\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isVoidTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.VoidTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"VoidTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EnumDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumBooleanBody(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumBooleanBody {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EnumBooleanBody\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumNumberBody(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumNumberBody {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EnumNumberBody\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumStringBody(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumStringBody {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EnumStringBody\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumSymbolBody(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumSymbolBody {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EnumSymbolBody\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumBooleanMember(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumBooleanMember {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EnumBooleanMember\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumNumberMember(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumNumberMember {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EnumNumberMember\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumStringMember(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumStringMember {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EnumStringMember\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumDefaultedMember(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumDefaultedMember {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"EnumDefaultedMember\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isIndexedAccessType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.IndexedAccessType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"IndexedAccessType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isOptionalIndexedAccessType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.OptionalIndexedAccessType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"OptionalIndexedAccessType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXAttribute(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXAttribute {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXAttribute\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXClosingElement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXClosingElement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXClosingElement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXElement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXElement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXElement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXEmptyExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXEmptyExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXEmptyExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXExpressionContainer(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXExpressionContainer {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXExpressionContainer\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXSpreadChild(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXSpreadChild {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXSpreadChild\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXIdentifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXIdentifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXMemberExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXMemberExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXMemberExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXNamespacedName(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXNamespacedName {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXNamespacedName\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXOpeningElement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXOpeningElement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXOpeningElement\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXSpreadAttribute(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXSpreadAttribute {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXSpreadAttribute\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXText(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXText {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXText\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXFragment(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXFragment {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXFragment\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXOpeningFragment(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXOpeningFragment {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXOpeningFragment\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSXClosingFragment(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSXClosingFragment {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"JSXClosingFragment\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isNoop(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Noop {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"Noop\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isPlaceholder(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Placeholder {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"Placeholder\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isV8IntrinsicIdentifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.V8IntrinsicIdentifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"V8IntrinsicIdentifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isArgumentPlaceholder(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ArgumentPlaceholder {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ArgumentPlaceholder\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBindExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.BindExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"BindExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isImportAttribute(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ImportAttribute {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ImportAttribute\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDecorator(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Decorator {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"Decorator\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDoExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DoExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DoExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExportDefaultSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExportDefaultSpecifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ExportDefaultSpecifier\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isRecordExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.RecordExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"RecordExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTupleExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TupleExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TupleExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDecimalLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.DecimalLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"DecimalLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isModuleExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ModuleExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"ModuleExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTopicReference(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TopicReference {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TopicReference\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isPipelineTopicExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.PipelineTopicExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"PipelineTopicExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isPipelineBareFunction(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.PipelineBareFunction {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"PipelineBareFunction\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isPipelinePrimaryTopicReference(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.PipelinePrimaryTopicReference {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"PipelinePrimaryTopicReference\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSParameterProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSParameterProperty {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSParameterProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSDeclareFunction(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSDeclareFunction {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSDeclareFunction\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSDeclareMethod(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSDeclareMethod {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSDeclareMethod\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSQualifiedName(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSQualifiedName {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSQualifiedName\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSCallSignatureDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSCallSignatureDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSCallSignatureDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSConstructSignatureDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSConstructSignatureDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSConstructSignatureDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSPropertySignature(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSPropertySignature {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSPropertySignature\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSMethodSignature(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSMethodSignature {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSMethodSignature\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSIndexSignature(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSIndexSignature {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSIndexSignature\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSAnyKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSAnyKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSAnyKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSBooleanKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSBooleanKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSBooleanKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSBigIntKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSBigIntKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSBigIntKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSIntrinsicKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSIntrinsicKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSIntrinsicKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSNeverKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSNeverKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSNeverKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSNullKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSNullKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSNullKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSNumberKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSNumberKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSNumberKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSObjectKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSObjectKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSObjectKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSStringKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSStringKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSStringKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSSymbolKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSSymbolKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSSymbolKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSUndefinedKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSUndefinedKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSUndefinedKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSUnknownKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSUnknownKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSUnknownKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSVoidKeyword(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSVoidKeyword {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSVoidKeyword\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSThisType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSThisType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSThisType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSFunctionType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSFunctionType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSFunctionType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSConstructorType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSConstructorType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSConstructorType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeReference(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeReference {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeReference\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypePredicate(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypePredicate {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypePredicate\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeQuery(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeQuery {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeQuery\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeLiteral {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSArrayType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSArrayType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSArrayType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTupleType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTupleType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTupleType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSOptionalType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSOptionalType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSOptionalType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSRestType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSRestType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSRestType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSNamedTupleMember(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSNamedTupleMember {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSNamedTupleMember\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSUnionType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSUnionType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSUnionType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSIntersectionType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSIntersectionType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSIntersectionType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSConditionalType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSConditionalType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSConditionalType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSInferType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSInferType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSInferType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSParenthesizedType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSParenthesizedType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSParenthesizedType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeOperator(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeOperator {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeOperator\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSIndexedAccessType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSIndexedAccessType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSIndexedAccessType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSMappedType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSMappedType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSMappedType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSLiteralType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSLiteralType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSLiteralType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSExpressionWithTypeArguments(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSExpressionWithTypeArguments {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSExpressionWithTypeArguments\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSInterfaceDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSInterfaceDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSInterfaceDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSInterfaceBody(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSInterfaceBody {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSInterfaceBody\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeAliasDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeAliasDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeAliasDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSInstantiationExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSInstantiationExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSInstantiationExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSAsExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSAsExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSAsExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeAssertion(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeAssertion {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeAssertion\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSEnumDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSEnumDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSEnumDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSEnumMember(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSEnumMember {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSEnumMember\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSModuleDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSModuleDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSModuleDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSModuleBlock(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSModuleBlock {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSModuleBlock\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSImportType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSImportType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSImportType\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSImportEqualsDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSImportEqualsDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSImportEqualsDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSExternalModuleReference(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSExternalModuleReference {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSExternalModuleReference\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSNonNullExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSNonNullExpression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSNonNullExpression\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSExportAssignment(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSExportAssignment {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSExportAssignment\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSNamespaceExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSNamespaceExportDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSNamespaceExportDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeAnnotation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeParameterInstantiation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeParameterInstantiation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeParameterInstantiation\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeParameterDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeParameterDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeParameterDeclaration\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeParameter(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeParameter {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"TSTypeParameter\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isStandardized(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Standardized {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ArrayExpression\" === nodeType ||\n \"AssignmentExpression\" === nodeType ||\n \"BinaryExpression\" === nodeType ||\n \"InterpreterDirective\" === nodeType ||\n \"Directive\" === nodeType ||\n \"DirectiveLiteral\" === nodeType ||\n \"BlockStatement\" === nodeType ||\n \"BreakStatement\" === nodeType ||\n \"CallExpression\" === nodeType ||\n \"CatchClause\" === nodeType ||\n \"ConditionalExpression\" === nodeType ||\n \"ContinueStatement\" === nodeType ||\n \"DebuggerStatement\" === nodeType ||\n \"DoWhileStatement\" === nodeType ||\n \"EmptyStatement\" === nodeType ||\n \"ExpressionStatement\" === nodeType ||\n \"File\" === nodeType ||\n \"ForInStatement\" === nodeType ||\n \"ForStatement\" === nodeType ||\n \"FunctionDeclaration\" === nodeType ||\n \"FunctionExpression\" === nodeType ||\n \"Identifier\" === nodeType ||\n \"IfStatement\" === nodeType ||\n \"LabeledStatement\" === nodeType ||\n \"StringLiteral\" === nodeType ||\n \"NumericLiteral\" === nodeType ||\n \"NullLiteral\" === nodeType ||\n \"BooleanLiteral\" === nodeType ||\n \"RegExpLiteral\" === nodeType ||\n \"LogicalExpression\" === nodeType ||\n \"MemberExpression\" === nodeType ||\n \"NewExpression\" === nodeType ||\n \"Program\" === nodeType ||\n \"ObjectExpression\" === nodeType ||\n \"ObjectMethod\" === nodeType ||\n \"ObjectProperty\" === nodeType ||\n \"RestElement\" === nodeType ||\n \"ReturnStatement\" === nodeType ||\n \"SequenceExpression\" === nodeType ||\n \"ParenthesizedExpression\" === nodeType ||\n \"SwitchCase\" === nodeType ||\n \"SwitchStatement\" === nodeType ||\n \"ThisExpression\" === nodeType ||\n \"ThrowStatement\" === nodeType ||\n \"TryStatement\" === nodeType ||\n \"UnaryExpression\" === nodeType ||\n \"UpdateExpression\" === nodeType ||\n \"VariableDeclaration\" === nodeType ||\n \"VariableDeclarator\" === nodeType ||\n \"WhileStatement\" === nodeType ||\n \"WithStatement\" === nodeType ||\n \"AssignmentPattern\" === nodeType ||\n \"ArrayPattern\" === nodeType ||\n \"ArrowFunctionExpression\" === nodeType ||\n \"ClassBody\" === nodeType ||\n \"ClassExpression\" === nodeType ||\n \"ClassDeclaration\" === nodeType ||\n \"ExportAllDeclaration\" === nodeType ||\n \"ExportDefaultDeclaration\" === nodeType ||\n \"ExportNamedDeclaration\" === nodeType ||\n \"ExportSpecifier\" === nodeType ||\n \"ForOfStatement\" === nodeType ||\n \"ImportDeclaration\" === nodeType ||\n \"ImportDefaultSpecifier\" === nodeType ||\n \"ImportNamespaceSpecifier\" === nodeType ||\n \"ImportSpecifier\" === nodeType ||\n \"MetaProperty\" === nodeType ||\n \"ClassMethod\" === nodeType ||\n \"ObjectPattern\" === nodeType ||\n \"SpreadElement\" === nodeType ||\n \"Super\" === nodeType ||\n \"TaggedTemplateExpression\" === nodeType ||\n \"TemplateElement\" === nodeType ||\n \"TemplateLiteral\" === nodeType ||\n \"YieldExpression\" === nodeType ||\n \"AwaitExpression\" === nodeType ||\n \"Import\" === nodeType ||\n \"BigIntLiteral\" === nodeType ||\n \"ExportNamespaceSpecifier\" === nodeType ||\n \"OptionalMemberExpression\" === nodeType ||\n \"OptionalCallExpression\" === nodeType ||\n \"ClassProperty\" === nodeType ||\n \"ClassAccessorProperty\" === nodeType ||\n \"ClassPrivateProperty\" === nodeType ||\n \"ClassPrivateMethod\" === nodeType ||\n \"PrivateName\" === nodeType ||\n \"StaticBlock\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n (\"Identifier\" === (node as t.Placeholder).expectedNode ||\n \"StringLiteral\" === (node as t.Placeholder).expectedNode ||\n \"BlockStatement\" === (node as t.Placeholder).expectedNode ||\n \"ClassBody\" === (node as t.Placeholder).expectedNode))\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExpression(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Expression {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ArrayExpression\" === nodeType ||\n \"AssignmentExpression\" === nodeType ||\n \"BinaryExpression\" === nodeType ||\n \"CallExpression\" === nodeType ||\n \"ConditionalExpression\" === nodeType ||\n \"FunctionExpression\" === nodeType ||\n \"Identifier\" === nodeType ||\n \"StringLiteral\" === nodeType ||\n \"NumericLiteral\" === nodeType ||\n \"NullLiteral\" === nodeType ||\n \"BooleanLiteral\" === nodeType ||\n \"RegExpLiteral\" === nodeType ||\n \"LogicalExpression\" === nodeType ||\n \"MemberExpression\" === nodeType ||\n \"NewExpression\" === nodeType ||\n \"ObjectExpression\" === nodeType ||\n \"SequenceExpression\" === nodeType ||\n \"ParenthesizedExpression\" === nodeType ||\n \"ThisExpression\" === nodeType ||\n \"UnaryExpression\" === nodeType ||\n \"UpdateExpression\" === nodeType ||\n \"ArrowFunctionExpression\" === nodeType ||\n \"ClassExpression\" === nodeType ||\n \"MetaProperty\" === nodeType ||\n \"Super\" === nodeType ||\n \"TaggedTemplateExpression\" === nodeType ||\n \"TemplateLiteral\" === nodeType ||\n \"YieldExpression\" === nodeType ||\n \"AwaitExpression\" === nodeType ||\n \"Import\" === nodeType ||\n \"BigIntLiteral\" === nodeType ||\n \"OptionalMemberExpression\" === nodeType ||\n \"OptionalCallExpression\" === nodeType ||\n \"TypeCastExpression\" === nodeType ||\n \"JSXElement\" === nodeType ||\n \"JSXFragment\" === nodeType ||\n \"BindExpression\" === nodeType ||\n \"DoExpression\" === nodeType ||\n \"RecordExpression\" === nodeType ||\n \"TupleExpression\" === nodeType ||\n \"DecimalLiteral\" === nodeType ||\n \"ModuleExpression\" === nodeType ||\n \"TopicReference\" === nodeType ||\n \"PipelineTopicExpression\" === nodeType ||\n \"PipelineBareFunction\" === nodeType ||\n \"PipelinePrimaryTopicReference\" === nodeType ||\n \"TSInstantiationExpression\" === nodeType ||\n \"TSAsExpression\" === nodeType ||\n \"TSTypeAssertion\" === nodeType ||\n \"TSNonNullExpression\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n (\"Expression\" === (node as t.Placeholder).expectedNode ||\n \"Identifier\" === (node as t.Placeholder).expectedNode ||\n \"StringLiteral\" === (node as t.Placeholder).expectedNode))\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBinary(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Binary {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\"BinaryExpression\" === nodeType || \"LogicalExpression\" === nodeType) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isScopable(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Scopable {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"BlockStatement\" === nodeType ||\n \"CatchClause\" === nodeType ||\n \"DoWhileStatement\" === nodeType ||\n \"ForInStatement\" === nodeType ||\n \"ForStatement\" === nodeType ||\n \"FunctionDeclaration\" === nodeType ||\n \"FunctionExpression\" === nodeType ||\n \"Program\" === nodeType ||\n \"ObjectMethod\" === nodeType ||\n \"SwitchStatement\" === nodeType ||\n \"WhileStatement\" === nodeType ||\n \"ArrowFunctionExpression\" === nodeType ||\n \"ClassExpression\" === nodeType ||\n \"ClassDeclaration\" === nodeType ||\n \"ForOfStatement\" === nodeType ||\n \"ClassMethod\" === nodeType ||\n \"ClassPrivateMethod\" === nodeType ||\n \"StaticBlock\" === nodeType ||\n \"TSModuleBlock\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n \"BlockStatement\" === (node as t.Placeholder).expectedNode)\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBlockParent(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.BlockParent {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"BlockStatement\" === nodeType ||\n \"CatchClause\" === nodeType ||\n \"DoWhileStatement\" === nodeType ||\n \"ForInStatement\" === nodeType ||\n \"ForStatement\" === nodeType ||\n \"FunctionDeclaration\" === nodeType ||\n \"FunctionExpression\" === nodeType ||\n \"Program\" === nodeType ||\n \"ObjectMethod\" === nodeType ||\n \"SwitchStatement\" === nodeType ||\n \"WhileStatement\" === nodeType ||\n \"ArrowFunctionExpression\" === nodeType ||\n \"ForOfStatement\" === nodeType ||\n \"ClassMethod\" === nodeType ||\n \"ClassPrivateMethod\" === nodeType ||\n \"StaticBlock\" === nodeType ||\n \"TSModuleBlock\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n \"BlockStatement\" === (node as t.Placeholder).expectedNode)\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isBlock(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Block {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"BlockStatement\" === nodeType ||\n \"Program\" === nodeType ||\n \"TSModuleBlock\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n \"BlockStatement\" === (node as t.Placeholder).expectedNode)\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Statement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"BlockStatement\" === nodeType ||\n \"BreakStatement\" === nodeType ||\n \"ContinueStatement\" === nodeType ||\n \"DebuggerStatement\" === nodeType ||\n \"DoWhileStatement\" === nodeType ||\n \"EmptyStatement\" === nodeType ||\n \"ExpressionStatement\" === nodeType ||\n \"ForInStatement\" === nodeType ||\n \"ForStatement\" === nodeType ||\n \"FunctionDeclaration\" === nodeType ||\n \"IfStatement\" === nodeType ||\n \"LabeledStatement\" === nodeType ||\n \"ReturnStatement\" === nodeType ||\n \"SwitchStatement\" === nodeType ||\n \"ThrowStatement\" === nodeType ||\n \"TryStatement\" === nodeType ||\n \"VariableDeclaration\" === nodeType ||\n \"WhileStatement\" === nodeType ||\n \"WithStatement\" === nodeType ||\n \"ClassDeclaration\" === nodeType ||\n \"ExportAllDeclaration\" === nodeType ||\n \"ExportDefaultDeclaration\" === nodeType ||\n \"ExportNamedDeclaration\" === nodeType ||\n \"ForOfStatement\" === nodeType ||\n \"ImportDeclaration\" === nodeType ||\n \"DeclareClass\" === nodeType ||\n \"DeclareFunction\" === nodeType ||\n \"DeclareInterface\" === nodeType ||\n \"DeclareModule\" === nodeType ||\n \"DeclareModuleExports\" === nodeType ||\n \"DeclareTypeAlias\" === nodeType ||\n \"DeclareOpaqueType\" === nodeType ||\n \"DeclareVariable\" === nodeType ||\n \"DeclareExportDeclaration\" === nodeType ||\n \"DeclareExportAllDeclaration\" === nodeType ||\n \"InterfaceDeclaration\" === nodeType ||\n \"OpaqueType\" === nodeType ||\n \"TypeAlias\" === nodeType ||\n \"EnumDeclaration\" === nodeType ||\n \"TSDeclareFunction\" === nodeType ||\n \"TSInterfaceDeclaration\" === nodeType ||\n \"TSTypeAliasDeclaration\" === nodeType ||\n \"TSEnumDeclaration\" === nodeType ||\n \"TSModuleDeclaration\" === nodeType ||\n \"TSImportEqualsDeclaration\" === nodeType ||\n \"TSExportAssignment\" === nodeType ||\n \"TSNamespaceExportDeclaration\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n (\"Statement\" === (node as t.Placeholder).expectedNode ||\n \"Declaration\" === (node as t.Placeholder).expectedNode ||\n \"BlockStatement\" === (node as t.Placeholder).expectedNode))\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTerminatorless(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Terminatorless {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"BreakStatement\" === nodeType ||\n \"ContinueStatement\" === nodeType ||\n \"ReturnStatement\" === nodeType ||\n \"ThrowStatement\" === nodeType ||\n \"YieldExpression\" === nodeType ||\n \"AwaitExpression\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isCompletionStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.CompletionStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"BreakStatement\" === nodeType ||\n \"ContinueStatement\" === nodeType ||\n \"ReturnStatement\" === nodeType ||\n \"ThrowStatement\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isConditional(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Conditional {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\"ConditionalExpression\" === nodeType || \"IfStatement\" === nodeType) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isLoop(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Loop {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"DoWhileStatement\" === nodeType ||\n \"ForInStatement\" === nodeType ||\n \"ForStatement\" === nodeType ||\n \"WhileStatement\" === nodeType ||\n \"ForOfStatement\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isWhile(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.While {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\"DoWhileStatement\" === nodeType || \"WhileStatement\" === nodeType) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExpressionWrapper(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExpressionWrapper {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ExpressionStatement\" === nodeType ||\n \"ParenthesizedExpression\" === nodeType ||\n \"TypeCastExpression\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFor(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.For {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ForInStatement\" === nodeType ||\n \"ForStatement\" === nodeType ||\n \"ForOfStatement\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isForXStatement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ForXStatement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\"ForInStatement\" === nodeType || \"ForOfStatement\" === nodeType) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFunction(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Function {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"FunctionDeclaration\" === nodeType ||\n \"FunctionExpression\" === nodeType ||\n \"ObjectMethod\" === nodeType ||\n \"ArrowFunctionExpression\" === nodeType ||\n \"ClassMethod\" === nodeType ||\n \"ClassPrivateMethod\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFunctionParent(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.FunctionParent {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"FunctionDeclaration\" === nodeType ||\n \"FunctionExpression\" === nodeType ||\n \"ObjectMethod\" === nodeType ||\n \"ArrowFunctionExpression\" === nodeType ||\n \"ClassMethod\" === nodeType ||\n \"ClassPrivateMethod\" === nodeType ||\n \"StaticBlock\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isPureish(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Pureish {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"FunctionDeclaration\" === nodeType ||\n \"FunctionExpression\" === nodeType ||\n \"StringLiteral\" === nodeType ||\n \"NumericLiteral\" === nodeType ||\n \"NullLiteral\" === nodeType ||\n \"BooleanLiteral\" === nodeType ||\n \"RegExpLiteral\" === nodeType ||\n \"ArrowFunctionExpression\" === nodeType ||\n \"BigIntLiteral\" === nodeType ||\n \"DecimalLiteral\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n \"StringLiteral\" === (node as t.Placeholder).expectedNode)\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Declaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"FunctionDeclaration\" === nodeType ||\n \"VariableDeclaration\" === nodeType ||\n \"ClassDeclaration\" === nodeType ||\n \"ExportAllDeclaration\" === nodeType ||\n \"ExportDefaultDeclaration\" === nodeType ||\n \"ExportNamedDeclaration\" === nodeType ||\n \"ImportDeclaration\" === nodeType ||\n \"DeclareClass\" === nodeType ||\n \"DeclareFunction\" === nodeType ||\n \"DeclareInterface\" === nodeType ||\n \"DeclareModule\" === nodeType ||\n \"DeclareModuleExports\" === nodeType ||\n \"DeclareTypeAlias\" === nodeType ||\n \"DeclareOpaqueType\" === nodeType ||\n \"DeclareVariable\" === nodeType ||\n \"DeclareExportDeclaration\" === nodeType ||\n \"DeclareExportAllDeclaration\" === nodeType ||\n \"InterfaceDeclaration\" === nodeType ||\n \"OpaqueType\" === nodeType ||\n \"TypeAlias\" === nodeType ||\n \"EnumDeclaration\" === nodeType ||\n \"TSDeclareFunction\" === nodeType ||\n \"TSInterfaceDeclaration\" === nodeType ||\n \"TSTypeAliasDeclaration\" === nodeType ||\n \"TSEnumDeclaration\" === nodeType ||\n \"TSModuleDeclaration\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n \"Declaration\" === (node as t.Placeholder).expectedNode)\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isPatternLike(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.PatternLike {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"Identifier\" === nodeType ||\n \"RestElement\" === nodeType ||\n \"AssignmentPattern\" === nodeType ||\n \"ArrayPattern\" === nodeType ||\n \"ObjectPattern\" === nodeType ||\n \"TSAsExpression\" === nodeType ||\n \"TSTypeAssertion\" === nodeType ||\n \"TSNonNullExpression\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n (\"Pattern\" === (node as t.Placeholder).expectedNode ||\n \"Identifier\" === (node as t.Placeholder).expectedNode))\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isLVal(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.LVal {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"Identifier\" === nodeType ||\n \"MemberExpression\" === nodeType ||\n \"RestElement\" === nodeType ||\n \"AssignmentPattern\" === nodeType ||\n \"ArrayPattern\" === nodeType ||\n \"ObjectPattern\" === nodeType ||\n \"TSParameterProperty\" === nodeType ||\n \"TSAsExpression\" === nodeType ||\n \"TSTypeAssertion\" === nodeType ||\n \"TSNonNullExpression\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n (\"Pattern\" === (node as t.Placeholder).expectedNode ||\n \"Identifier\" === (node as t.Placeholder).expectedNode))\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSEntityName(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSEntityName {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"Identifier\" === nodeType ||\n \"TSQualifiedName\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n \"Identifier\" === (node as t.Placeholder).expectedNode)\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Literal {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"StringLiteral\" === nodeType ||\n \"NumericLiteral\" === nodeType ||\n \"NullLiteral\" === nodeType ||\n \"BooleanLiteral\" === nodeType ||\n \"RegExpLiteral\" === nodeType ||\n \"TemplateLiteral\" === nodeType ||\n \"BigIntLiteral\" === nodeType ||\n \"DecimalLiteral\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n \"StringLiteral\" === (node as t.Placeholder).expectedNode)\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isImmutable(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Immutable {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"StringLiteral\" === nodeType ||\n \"NumericLiteral\" === nodeType ||\n \"NullLiteral\" === nodeType ||\n \"BooleanLiteral\" === nodeType ||\n \"BigIntLiteral\" === nodeType ||\n \"JSXAttribute\" === nodeType ||\n \"JSXClosingElement\" === nodeType ||\n \"JSXElement\" === nodeType ||\n \"JSXExpressionContainer\" === nodeType ||\n \"JSXSpreadChild\" === nodeType ||\n \"JSXOpeningElement\" === nodeType ||\n \"JSXText\" === nodeType ||\n \"JSXFragment\" === nodeType ||\n \"JSXOpeningFragment\" === nodeType ||\n \"JSXClosingFragment\" === nodeType ||\n \"DecimalLiteral\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n \"StringLiteral\" === (node as t.Placeholder).expectedNode)\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isUserWhitespacable(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.UserWhitespacable {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ObjectMethod\" === nodeType ||\n \"ObjectProperty\" === nodeType ||\n \"ObjectTypeInternalSlot\" === nodeType ||\n \"ObjectTypeCallProperty\" === nodeType ||\n \"ObjectTypeIndexer\" === nodeType ||\n \"ObjectTypeProperty\" === nodeType ||\n \"ObjectTypeSpreadProperty\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isMethod(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Method {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ObjectMethod\" === nodeType ||\n \"ClassMethod\" === nodeType ||\n \"ClassPrivateMethod\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isObjectMember(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ObjectMember {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\"ObjectMethod\" === nodeType || \"ObjectProperty\" === nodeType) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isProperty(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Property {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ObjectProperty\" === nodeType ||\n \"ClassProperty\" === nodeType ||\n \"ClassAccessorProperty\" === nodeType ||\n \"ClassPrivateProperty\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isUnaryLike(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.UnaryLike {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\"UnaryExpression\" === nodeType || \"SpreadElement\" === nodeType) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isPattern(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Pattern {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"AssignmentPattern\" === nodeType ||\n \"ArrayPattern\" === nodeType ||\n \"ObjectPattern\" === nodeType ||\n (nodeType === \"Placeholder\" &&\n \"Pattern\" === (node as t.Placeholder).expectedNode)\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isClass(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Class {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\"ClassExpression\" === nodeType || \"ClassDeclaration\" === nodeType) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isModuleDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ModuleDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ExportAllDeclaration\" === nodeType ||\n \"ExportDefaultDeclaration\" === nodeType ||\n \"ExportNamedDeclaration\" === nodeType ||\n \"ImportDeclaration\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isExportDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ExportDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ExportAllDeclaration\" === nodeType ||\n \"ExportDefaultDeclaration\" === nodeType ||\n \"ExportNamedDeclaration\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isModuleSpecifier(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.ModuleSpecifier {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ExportSpecifier\" === nodeType ||\n \"ImportDefaultSpecifier\" === nodeType ||\n \"ImportNamespaceSpecifier\" === nodeType ||\n \"ImportSpecifier\" === nodeType ||\n \"ExportNamespaceSpecifier\" === nodeType ||\n \"ExportDefaultSpecifier\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isAccessor(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Accessor {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\"ClassAccessorProperty\" === nodeType) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isPrivate(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Private {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"ClassPrivateProperty\" === nodeType ||\n \"ClassPrivateMethod\" === nodeType ||\n \"PrivateName\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFlow(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Flow {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"AnyTypeAnnotation\" === nodeType ||\n \"ArrayTypeAnnotation\" === nodeType ||\n \"BooleanTypeAnnotation\" === nodeType ||\n \"BooleanLiteralTypeAnnotation\" === nodeType ||\n \"NullLiteralTypeAnnotation\" === nodeType ||\n \"ClassImplements\" === nodeType ||\n \"DeclareClass\" === nodeType ||\n \"DeclareFunction\" === nodeType ||\n \"DeclareInterface\" === nodeType ||\n \"DeclareModule\" === nodeType ||\n \"DeclareModuleExports\" === nodeType ||\n \"DeclareTypeAlias\" === nodeType ||\n \"DeclareOpaqueType\" === nodeType ||\n \"DeclareVariable\" === nodeType ||\n \"DeclareExportDeclaration\" === nodeType ||\n \"DeclareExportAllDeclaration\" === nodeType ||\n \"DeclaredPredicate\" === nodeType ||\n \"ExistsTypeAnnotation\" === nodeType ||\n \"FunctionTypeAnnotation\" === nodeType ||\n \"FunctionTypeParam\" === nodeType ||\n \"GenericTypeAnnotation\" === nodeType ||\n \"InferredPredicate\" === nodeType ||\n \"InterfaceExtends\" === nodeType ||\n \"InterfaceDeclaration\" === nodeType ||\n \"InterfaceTypeAnnotation\" === nodeType ||\n \"IntersectionTypeAnnotation\" === nodeType ||\n \"MixedTypeAnnotation\" === nodeType ||\n \"EmptyTypeAnnotation\" === nodeType ||\n \"NullableTypeAnnotation\" === nodeType ||\n \"NumberLiteralTypeAnnotation\" === nodeType ||\n \"NumberTypeAnnotation\" === nodeType ||\n \"ObjectTypeAnnotation\" === nodeType ||\n \"ObjectTypeInternalSlot\" === nodeType ||\n \"ObjectTypeCallProperty\" === nodeType ||\n \"ObjectTypeIndexer\" === nodeType ||\n \"ObjectTypeProperty\" === nodeType ||\n \"ObjectTypeSpreadProperty\" === nodeType ||\n \"OpaqueType\" === nodeType ||\n \"QualifiedTypeIdentifier\" === nodeType ||\n \"StringLiteralTypeAnnotation\" === nodeType ||\n \"StringTypeAnnotation\" === nodeType ||\n \"SymbolTypeAnnotation\" === nodeType ||\n \"ThisTypeAnnotation\" === nodeType ||\n \"TupleTypeAnnotation\" === nodeType ||\n \"TypeofTypeAnnotation\" === nodeType ||\n \"TypeAlias\" === nodeType ||\n \"TypeAnnotation\" === nodeType ||\n \"TypeCastExpression\" === nodeType ||\n \"TypeParameter\" === nodeType ||\n \"TypeParameterDeclaration\" === nodeType ||\n \"TypeParameterInstantiation\" === nodeType ||\n \"UnionTypeAnnotation\" === nodeType ||\n \"Variance\" === nodeType ||\n \"VoidTypeAnnotation\" === nodeType ||\n \"EnumDeclaration\" === nodeType ||\n \"EnumBooleanBody\" === nodeType ||\n \"EnumNumberBody\" === nodeType ||\n \"EnumStringBody\" === nodeType ||\n \"EnumSymbolBody\" === nodeType ||\n \"EnumBooleanMember\" === nodeType ||\n \"EnumNumberMember\" === nodeType ||\n \"EnumStringMember\" === nodeType ||\n \"EnumDefaultedMember\" === nodeType ||\n \"IndexedAccessType\" === nodeType ||\n \"OptionalIndexedAccessType\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFlowType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.FlowType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"AnyTypeAnnotation\" === nodeType ||\n \"ArrayTypeAnnotation\" === nodeType ||\n \"BooleanTypeAnnotation\" === nodeType ||\n \"BooleanLiteralTypeAnnotation\" === nodeType ||\n \"NullLiteralTypeAnnotation\" === nodeType ||\n \"ExistsTypeAnnotation\" === nodeType ||\n \"FunctionTypeAnnotation\" === nodeType ||\n \"GenericTypeAnnotation\" === nodeType ||\n \"InterfaceTypeAnnotation\" === nodeType ||\n \"IntersectionTypeAnnotation\" === nodeType ||\n \"MixedTypeAnnotation\" === nodeType ||\n \"EmptyTypeAnnotation\" === nodeType ||\n \"NullableTypeAnnotation\" === nodeType ||\n \"NumberLiteralTypeAnnotation\" === nodeType ||\n \"NumberTypeAnnotation\" === nodeType ||\n \"ObjectTypeAnnotation\" === nodeType ||\n \"StringLiteralTypeAnnotation\" === nodeType ||\n \"StringTypeAnnotation\" === nodeType ||\n \"SymbolTypeAnnotation\" === nodeType ||\n \"ThisTypeAnnotation\" === nodeType ||\n \"TupleTypeAnnotation\" === nodeType ||\n \"TypeofTypeAnnotation\" === nodeType ||\n \"UnionTypeAnnotation\" === nodeType ||\n \"VoidTypeAnnotation\" === nodeType ||\n \"IndexedAccessType\" === nodeType ||\n \"OptionalIndexedAccessType\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFlowBaseAnnotation(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.FlowBaseAnnotation {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"AnyTypeAnnotation\" === nodeType ||\n \"BooleanTypeAnnotation\" === nodeType ||\n \"NullLiteralTypeAnnotation\" === nodeType ||\n \"MixedTypeAnnotation\" === nodeType ||\n \"EmptyTypeAnnotation\" === nodeType ||\n \"NumberTypeAnnotation\" === nodeType ||\n \"StringTypeAnnotation\" === nodeType ||\n \"SymbolTypeAnnotation\" === nodeType ||\n \"ThisTypeAnnotation\" === nodeType ||\n \"VoidTypeAnnotation\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFlowDeclaration(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.FlowDeclaration {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"DeclareClass\" === nodeType ||\n \"DeclareFunction\" === nodeType ||\n \"DeclareInterface\" === nodeType ||\n \"DeclareModule\" === nodeType ||\n \"DeclareModuleExports\" === nodeType ||\n \"DeclareTypeAlias\" === nodeType ||\n \"DeclareOpaqueType\" === nodeType ||\n \"DeclareVariable\" === nodeType ||\n \"DeclareExportDeclaration\" === nodeType ||\n \"DeclareExportAllDeclaration\" === nodeType ||\n \"InterfaceDeclaration\" === nodeType ||\n \"OpaqueType\" === nodeType ||\n \"TypeAlias\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isFlowPredicate(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.FlowPredicate {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\"DeclaredPredicate\" === nodeType || \"InferredPredicate\" === nodeType) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumBody(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumBody {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"EnumBooleanBody\" === nodeType ||\n \"EnumNumberBody\" === nodeType ||\n \"EnumStringBody\" === nodeType ||\n \"EnumSymbolBody\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isEnumMember(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.EnumMember {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"EnumBooleanMember\" === nodeType ||\n \"EnumNumberMember\" === nodeType ||\n \"EnumStringMember\" === nodeType ||\n \"EnumDefaultedMember\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isJSX(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.JSX {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"JSXAttribute\" === nodeType ||\n \"JSXClosingElement\" === nodeType ||\n \"JSXElement\" === nodeType ||\n \"JSXEmptyExpression\" === nodeType ||\n \"JSXExpressionContainer\" === nodeType ||\n \"JSXSpreadChild\" === nodeType ||\n \"JSXIdentifier\" === nodeType ||\n \"JSXMemberExpression\" === nodeType ||\n \"JSXNamespacedName\" === nodeType ||\n \"JSXOpeningElement\" === nodeType ||\n \"JSXSpreadAttribute\" === nodeType ||\n \"JSXText\" === nodeType ||\n \"JSXFragment\" === nodeType ||\n \"JSXOpeningFragment\" === nodeType ||\n \"JSXClosingFragment\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isMiscellaneous(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.Miscellaneous {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"Noop\" === nodeType ||\n \"Placeholder\" === nodeType ||\n \"V8IntrinsicIdentifier\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTypeScript(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TypeScript {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"TSParameterProperty\" === nodeType ||\n \"TSDeclareFunction\" === nodeType ||\n \"TSDeclareMethod\" === nodeType ||\n \"TSQualifiedName\" === nodeType ||\n \"TSCallSignatureDeclaration\" === nodeType ||\n \"TSConstructSignatureDeclaration\" === nodeType ||\n \"TSPropertySignature\" === nodeType ||\n \"TSMethodSignature\" === nodeType ||\n \"TSIndexSignature\" === nodeType ||\n \"TSAnyKeyword\" === nodeType ||\n \"TSBooleanKeyword\" === nodeType ||\n \"TSBigIntKeyword\" === nodeType ||\n \"TSIntrinsicKeyword\" === nodeType ||\n \"TSNeverKeyword\" === nodeType ||\n \"TSNullKeyword\" === nodeType ||\n \"TSNumberKeyword\" === nodeType ||\n \"TSObjectKeyword\" === nodeType ||\n \"TSStringKeyword\" === nodeType ||\n \"TSSymbolKeyword\" === nodeType ||\n \"TSUndefinedKeyword\" === nodeType ||\n \"TSUnknownKeyword\" === nodeType ||\n \"TSVoidKeyword\" === nodeType ||\n \"TSThisType\" === nodeType ||\n \"TSFunctionType\" === nodeType ||\n \"TSConstructorType\" === nodeType ||\n \"TSTypeReference\" === nodeType ||\n \"TSTypePredicate\" === nodeType ||\n \"TSTypeQuery\" === nodeType ||\n \"TSTypeLiteral\" === nodeType ||\n \"TSArrayType\" === nodeType ||\n \"TSTupleType\" === nodeType ||\n \"TSOptionalType\" === nodeType ||\n \"TSRestType\" === nodeType ||\n \"TSNamedTupleMember\" === nodeType ||\n \"TSUnionType\" === nodeType ||\n \"TSIntersectionType\" === nodeType ||\n \"TSConditionalType\" === nodeType ||\n \"TSInferType\" === nodeType ||\n \"TSParenthesizedType\" === nodeType ||\n \"TSTypeOperator\" === nodeType ||\n \"TSIndexedAccessType\" === nodeType ||\n \"TSMappedType\" === nodeType ||\n \"TSLiteralType\" === nodeType ||\n \"TSExpressionWithTypeArguments\" === nodeType ||\n \"TSInterfaceDeclaration\" === nodeType ||\n \"TSInterfaceBody\" === nodeType ||\n \"TSTypeAliasDeclaration\" === nodeType ||\n \"TSInstantiationExpression\" === nodeType ||\n \"TSAsExpression\" === nodeType ||\n \"TSTypeAssertion\" === nodeType ||\n \"TSEnumDeclaration\" === nodeType ||\n \"TSEnumMember\" === nodeType ||\n \"TSModuleDeclaration\" === nodeType ||\n \"TSModuleBlock\" === nodeType ||\n \"TSImportType\" === nodeType ||\n \"TSImportEqualsDeclaration\" === nodeType ||\n \"TSExternalModuleReference\" === nodeType ||\n \"TSNonNullExpression\" === nodeType ||\n \"TSExportAssignment\" === nodeType ||\n \"TSNamespaceExportDeclaration\" === nodeType ||\n \"TSTypeAnnotation\" === nodeType ||\n \"TSTypeParameterInstantiation\" === nodeType ||\n \"TSTypeParameterDeclaration\" === nodeType ||\n \"TSTypeParameter\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSTypeElement(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSTypeElement {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"TSCallSignatureDeclaration\" === nodeType ||\n \"TSConstructSignatureDeclaration\" === nodeType ||\n \"TSPropertySignature\" === nodeType ||\n \"TSMethodSignature\" === nodeType ||\n \"TSIndexSignature\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"TSAnyKeyword\" === nodeType ||\n \"TSBooleanKeyword\" === nodeType ||\n \"TSBigIntKeyword\" === nodeType ||\n \"TSIntrinsicKeyword\" === nodeType ||\n \"TSNeverKeyword\" === nodeType ||\n \"TSNullKeyword\" === nodeType ||\n \"TSNumberKeyword\" === nodeType ||\n \"TSObjectKeyword\" === nodeType ||\n \"TSStringKeyword\" === nodeType ||\n \"TSSymbolKeyword\" === nodeType ||\n \"TSUndefinedKeyword\" === nodeType ||\n \"TSUnknownKeyword\" === nodeType ||\n \"TSVoidKeyword\" === nodeType ||\n \"TSThisType\" === nodeType ||\n \"TSFunctionType\" === nodeType ||\n \"TSConstructorType\" === nodeType ||\n \"TSTypeReference\" === nodeType ||\n \"TSTypePredicate\" === nodeType ||\n \"TSTypeQuery\" === nodeType ||\n \"TSTypeLiteral\" === nodeType ||\n \"TSArrayType\" === nodeType ||\n \"TSTupleType\" === nodeType ||\n \"TSOptionalType\" === nodeType ||\n \"TSRestType\" === nodeType ||\n \"TSUnionType\" === nodeType ||\n \"TSIntersectionType\" === nodeType ||\n \"TSConditionalType\" === nodeType ||\n \"TSInferType\" === nodeType ||\n \"TSParenthesizedType\" === nodeType ||\n \"TSTypeOperator\" === nodeType ||\n \"TSIndexedAccessType\" === nodeType ||\n \"TSMappedType\" === nodeType ||\n \"TSLiteralType\" === nodeType ||\n \"TSExpressionWithTypeArguments\" === nodeType ||\n \"TSImportType\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isTSBaseType(\n node: object | null | undefined,\n opts?: object | null,\n): node is t.TSBaseType {\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (\n \"TSAnyKeyword\" === nodeType ||\n \"TSBooleanKeyword\" === nodeType ||\n \"TSBigIntKeyword\" === nodeType ||\n \"TSIntrinsicKeyword\" === nodeType ||\n \"TSNeverKeyword\" === nodeType ||\n \"TSNullKeyword\" === nodeType ||\n \"TSNumberKeyword\" === nodeType ||\n \"TSObjectKeyword\" === nodeType ||\n \"TSStringKeyword\" === nodeType ||\n \"TSSymbolKeyword\" === nodeType ||\n \"TSUndefinedKeyword\" === nodeType ||\n \"TSUnknownKeyword\" === nodeType ||\n \"TSVoidKeyword\" === nodeType ||\n \"TSThisType\" === nodeType ||\n \"TSLiteralType\" === nodeType\n ) {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isNumberLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): boolean {\n console.trace(\n \"The node type NumberLiteral has been renamed to NumericLiteral\",\n );\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"NumberLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isRegexLiteral(\n node: object | null | undefined,\n opts?: object | null,\n): boolean {\n console.trace(\"The node type RegexLiteral has been renamed to RegExpLiteral\");\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"RegexLiteral\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isRestProperty(\n node: object | null | undefined,\n opts?: object | null,\n): boolean {\n console.trace(\"The node type RestProperty has been renamed to RestElement\");\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"RestProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\nexport function isSpreadProperty(\n node: object | null | undefined,\n opts?: object | null,\n): boolean {\n console.trace(\n \"The node type SpreadProperty has been renamed to SpreadElement\",\n );\n if (!node) return false;\n\n const nodeType = (node as t.Node).type;\n if (nodeType === \"SpreadProperty\") {\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n }\n\n return false;\n}\n"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/is.js b/includes/search/node_modules/@babel/types/lib/validators/is.js
deleted file mode 100644
index a70ede0..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/is.js
+++ /dev/null
@@ -1,35 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = is;
-
-var _shallowEqual = require("../utils/shallowEqual");
-
-var _isType = require("./isType");
-
-var _isPlaceholderType = require("./isPlaceholderType");
-
-var _definitions = require("../definitions");
-
-function is(type, node, opts) {
- if (!node) return false;
- const matches = (0, _isType.default)(node.type, type);
-
- if (!matches) {
- if (!opts && node.type === "Placeholder" && type in _definitions.FLIPPED_ALIAS_KEYS) {
- return (0, _isPlaceholderType.default)(node.expectedNode, type);
- }
-
- return false;
- }
-
- if (typeof opts === "undefined") {
- return true;
- } else {
- return (0, _shallowEqual.default)(node, opts);
- }
-}
-
-//# sourceMappingURL=is.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/is.js.map b/includes/search/node_modules/@babel/types/lib/validators/is.js.map
deleted file mode 100644
index db41c9c..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/is.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["is","type","node","opts","matches","isType","FLIPPED_ALIAS_KEYS","isPlaceholderType","expectedNode","shallowEqual"],"sources":["../../src/validators/is.ts"],"sourcesContent":["import shallowEqual from \"../utils/shallowEqual\";\nimport isType from \"./isType\";\nimport isPlaceholderType from \"./isPlaceholderType\";\nimport { FLIPPED_ALIAS_KEYS } from \"../definitions\";\nimport type * as t from \"..\";\n\nexport default function is<T extends t.Node[\"type\"]>(\n type: T,\n node: t.Node | null | undefined,\n opts?: undefined,\n): node is Extract<t.Node, { type: T }>;\n\nexport default function is<\n T extends t.Node[\"type\"],\n P extends Extract<t.Node, { type: T }>,\n>(type: T, n: t.Node | null | undefined, required: Partial<P>): n is P;\n\nexport default function is<P extends t.Node>(\n type: string,\n node: t.Node | null | undefined,\n opts: Partial<P>,\n): node is P;\n\nexport default function is(\n type: string,\n node: t.Node | null | undefined,\n opts?: Partial<t.Node>,\n): node is t.Node;\n/**\n * Returns whether `node` is of given `type`.\n *\n * For better performance, use this instead of `is[Type]` when `type` is unknown.\n */\nexport default function is(\n type: string,\n node: t.Node | null | undefined,\n opts?: Partial<t.Node>,\n): node is t.Node {\n if (!node) return false;\n\n const matches = isType(node.type, type);\n if (!matches) {\n if (!opts && node.type === \"Placeholder\" && type in FLIPPED_ALIAS_KEYS) {\n // We can only return true if the placeholder doesn't replace a real node,\n // but it replaces a category of nodes (an alias).\n //\n // t.is(\"Identifier\", node) gives some guarantees about node's shape, so we\n // can't say that Placeholder(expectedNode: \"Identifier\") is an identifier\n // because it doesn't have the same properties.\n // On the other hand, t.is(\"Expression\", node) doesn't say anything about\n // the shape of node because Expression can be many different nodes: we can,\n // and should, safely report expression placeholders as Expressions.\n return isPlaceholderType(node.expectedNode, type);\n }\n return false;\n }\n\n if (typeof opts === \"undefined\") {\n return true;\n } else {\n return shallowEqual(node, opts);\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AA8Be,SAASA,EAAT,CACbC,IADa,EAEbC,IAFa,EAGbC,IAHa,EAIG;EAChB,IAAI,CAACD,IAAL,EAAW,OAAO,KAAP;EAEX,MAAME,OAAO,GAAG,IAAAC,eAAA,EAAOH,IAAI,CAACD,IAAZ,EAAkBA,IAAlB,CAAhB;;EACA,IAAI,CAACG,OAAL,EAAc;IACZ,IAAI,CAACD,IAAD,IAASD,IAAI,CAACD,IAAL,KAAc,aAAvB,IAAwCA,IAAI,IAAIK,+BAApD,EAAwE;MAUtE,OAAO,IAAAC,0BAAA,EAAkBL,IAAI,CAACM,YAAvB,EAAqCP,IAArC,CAAP;IACD;;IACD,OAAO,KAAP;EACD;;EAED,IAAI,OAAOE,IAAP,KAAgB,WAApB,EAAiC;IAC/B,OAAO,IAAP;EACD,CAFD,MAEO;IACL,OAAO,IAAAM,qBAAA,EAAaP,IAAb,EAAmBC,IAAnB,CAAP;EACD;AACF"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isBinding.js b/includes/search/node_modules/@babel/types/lib/validators/isBinding.js
deleted file mode 100644
index 61b57c7..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isBinding.js
+++ /dev/null
@@ -1,33 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isBinding;
-
-var _getBindingIdentifiers = require("../retrievers/getBindingIdentifiers");
-
-function isBinding(node, parent, grandparent) {
- if (grandparent && node.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") {
- return false;
- }
-
- const keys = _getBindingIdentifiers.default.keys[parent.type];
-
- if (keys) {
- for (let i = 0; i < keys.length; i++) {
- const key = keys[i];
- const val = parent[key];
-
- if (Array.isArray(val)) {
- if (val.indexOf(node) >= 0) return true;
- } else {
- if (val === node) return true;
- }
- }
- }
-
- return false;
-}
-
-//# sourceMappingURL=isBinding.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isBinding.js.map b/includes/search/node_modules/@babel/types/lib/validators/isBinding.js.map
deleted file mode 100644
index 46402fb..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isBinding.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isBinding","node","parent","grandparent","type","keys","getBindingIdentifiers","i","length","key","val","Array","isArray","indexOf"],"sources":["../../src/validators/isBinding.ts"],"sourcesContent":["import getBindingIdentifiers from \"../retrievers/getBindingIdentifiers\";\nimport type * as t from \"..\";\n/**\n * Check if the input `node` is a binding identifier.\n */\nexport default function isBinding(\n node: t.Node,\n parent: t.Node,\n grandparent?: t.Node,\n): boolean {\n if (\n grandparent &&\n node.type === \"Identifier\" &&\n parent.type === \"ObjectProperty\" &&\n grandparent.type === \"ObjectExpression\"\n ) {\n // We need to special-case this, because getBindingIdentifiers\n // has an ObjectProperty->value entry for destructuring patterns.\n return false;\n }\n\n const keys =\n // @ts-expect-error getBindingIdentifiers.keys does not cover all AST types\n getBindingIdentifiers.keys[parent.type];\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const val =\n // @ts-expect-error key must present in parent\n parent[key];\n if (Array.isArray(val)) {\n if (val.indexOf(node) >= 0) return true;\n } else {\n if (val === node) return true;\n }\n }\n }\n\n return false;\n}\n"],"mappings":";;;;;;;AAAA;;AAKe,SAASA,SAAT,CACbC,IADa,EAEbC,MAFa,EAGbC,WAHa,EAIJ;EACT,IACEA,WAAW,IACXF,IAAI,CAACG,IAAL,KAAc,YADd,IAEAF,MAAM,CAACE,IAAP,KAAgB,gBAFhB,IAGAD,WAAW,CAACC,IAAZ,KAAqB,kBAJvB,EAKE;IAGA,OAAO,KAAP;EACD;;EAED,MAAMC,IAAI,GAERC,8BAAA,CAAsBD,IAAtB,CAA2BH,MAAM,CAACE,IAAlC,CAFF;;EAGA,IAAIC,IAAJ,EAAU;IACR,KAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,IAAI,CAACG,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;MACpC,MAAME,GAAG,GAAGJ,IAAI,CAACE,CAAD,CAAhB;MACA,MAAMG,GAAG,GAEPR,MAAM,CAACO,GAAD,CAFR;;MAGA,IAAIE,KAAK,CAACC,OAAN,CAAcF,GAAd,CAAJ,EAAwB;QACtB,IAAIA,GAAG,CAACG,OAAJ,CAAYZ,IAAZ,KAAqB,CAAzB,EAA4B,OAAO,IAAP;MAC7B,CAFD,MAEO;QACL,IAAIS,GAAG,KAAKT,IAAZ,EAAkB,OAAO,IAAP;MACnB;IACF;EACF;;EAED,OAAO,KAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isBlockScoped.js b/includes/search/node_modules/@babel/types/lib/validators/isBlockScoped.js
deleted file mode 100644
index 0a20a07..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isBlockScoped.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isBlockScoped;
-
-var _generated = require("./generated");
-
-var _isLet = require("./isLet");
-
-function isBlockScoped(node) {
- return (0, _generated.isFunctionDeclaration)(node) || (0, _generated.isClassDeclaration)(node) || (0, _isLet.default)(node);
-}
-
-//# sourceMappingURL=isBlockScoped.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isBlockScoped.js.map b/includes/search/node_modules/@babel/types/lib/validators/isBlockScoped.js.map
deleted file mode 100644
index e18523d..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isBlockScoped.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isBlockScoped","node","isFunctionDeclaration","isClassDeclaration","isLet"],"sources":["../../src/validators/isBlockScoped.ts"],"sourcesContent":["import { isClassDeclaration, isFunctionDeclaration } from \"./generated\";\nimport isLet from \"./isLet\";\nimport type * as t from \"..\";\n\n/**\n * Check if the input `node` is block scoped.\n */\nexport default function isBlockScoped(node: t.Node): boolean {\n return isFunctionDeclaration(node) || isClassDeclaration(node) || isLet(node);\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAMe,SAASA,aAAT,CAAuBC,IAAvB,EAA8C;EAC3D,OAAO,IAAAC,gCAAA,EAAsBD,IAAtB,KAA+B,IAAAE,6BAAA,EAAmBF,IAAnB,CAA/B,IAA2D,IAAAG,cAAA,EAAMH,IAAN,CAAlE;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isImmutable.js b/includes/search/node_modules/@babel/types/lib/validators/isImmutable.js
deleted file mode 100644
index 10d6ed0..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isImmutable.js
+++ /dev/null
@@ -1,26 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isImmutable;
-
-var _isType = require("./isType");
-
-var _generated = require("./generated");
-
-function isImmutable(node) {
- if ((0, _isType.default)(node.type, "Immutable")) return true;
-
- if ((0, _generated.isIdentifier)(node)) {
- if (node.name === "undefined") {
- return true;
- } else {
- return false;
- }
- }
-
- return false;
-}
-
-//# sourceMappingURL=isImmutable.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isImmutable.js.map b/includes/search/node_modules/@babel/types/lib/validators/isImmutable.js.map
deleted file mode 100644
index 22eb758..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isImmutable.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isImmutable","node","isType","type","isIdentifier","name"],"sources":["../../src/validators/isImmutable.ts"],"sourcesContent":["import isType from \"./isType\";\nimport { isIdentifier } from \"./generated\";\nimport type * as t from \"..\";\n\n/**\n * Check if the input `node` is definitely immutable.\n */\nexport default function isImmutable(node: t.Node): boolean {\n if (isType(node.type, \"Immutable\")) return true;\n\n if (isIdentifier(node)) {\n if (node.name === \"undefined\") {\n // immutable!\n return true;\n } else {\n // no idea...\n return false;\n }\n }\n\n return false;\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAMe,SAASA,WAAT,CAAqBC,IAArB,EAA4C;EACzD,IAAI,IAAAC,eAAA,EAAOD,IAAI,CAACE,IAAZ,EAAkB,WAAlB,CAAJ,EAAoC,OAAO,IAAP;;EAEpC,IAAI,IAAAC,uBAAA,EAAaH,IAAb,CAAJ,EAAwB;IACtB,IAAIA,IAAI,CAACI,IAAL,KAAc,WAAlB,EAA+B;MAE7B,OAAO,IAAP;IACD,CAHD,MAGO;MAEL,OAAO,KAAP;IACD;EACF;;EAED,OAAO,KAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isLet.js b/includes/search/node_modules/@babel/types/lib/validators/isLet.js
deleted file mode 100644
index 2e1b0d8..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isLet.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isLet;
-
-var _generated = require("./generated");
-
-var _constants = require("../constants");
-
-function isLet(node) {
- return (0, _generated.isVariableDeclaration)(node) && (node.kind !== "var" || node[_constants.BLOCK_SCOPED_SYMBOL]);
-}
-
-//# sourceMappingURL=isLet.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isLet.js.map b/includes/search/node_modules/@babel/types/lib/validators/isLet.js.map
deleted file mode 100644
index c860773..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isLet.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isLet","node","isVariableDeclaration","kind","BLOCK_SCOPED_SYMBOL"],"sources":["../../src/validators/isLet.ts"],"sourcesContent":["import { isVariableDeclaration } from \"./generated\";\nimport { BLOCK_SCOPED_SYMBOL } from \"../constants\";\nimport type * as t from \"..\";\n\n/**\n * Check if the input `node` is a `let` variable declaration.\n */\nexport default function isLet(node: t.Node): boolean {\n return (\n isVariableDeclaration(node) &&\n (node.kind !== \"var\" ||\n // @ts-expect-error Fixme: document private properties\n node[BLOCK_SCOPED_SYMBOL])\n );\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAMe,SAASA,KAAT,CAAeC,IAAf,EAAsC;EACnD,OACE,IAAAC,gCAAA,EAAsBD,IAAtB,MACCA,IAAI,CAACE,IAAL,KAAc,KAAd,IAECF,IAAI,CAACG,8BAAD,CAHN,CADF;AAMD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isNode.js b/includes/search/node_modules/@babel/types/lib/validators/isNode.js
deleted file mode 100644
index 824b656..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isNode.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isNode;
-
-var _definitions = require("../definitions");
-
-function isNode(node) {
- return !!(node && _definitions.VISITOR_KEYS[node.type]);
-}
-
-//# sourceMappingURL=isNode.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isNode.js.map b/includes/search/node_modules/@babel/types/lib/validators/isNode.js.map
deleted file mode 100644
index 6a2e5b6..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isNode.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isNode","node","VISITOR_KEYS","type"],"sources":["../../src/validators/isNode.ts"],"sourcesContent":["import { VISITOR_KEYS } from \"../definitions\";\nimport type * as t from \"..\";\n\nexport default function isNode(node: any): node is t.Node {\n return !!(node && VISITOR_KEYS[node.type]);\n}\n"],"mappings":";;;;;;;AAAA;;AAGe,SAASA,MAAT,CAAgBC,IAAhB,EAA2C;EACxD,OAAO,CAAC,EAAEA,IAAI,IAAIC,yBAAA,CAAaD,IAAI,CAACE,IAAlB,CAAV,CAAR;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isNodesEquivalent.js b/includes/search/node_modules/@babel/types/lib/validators/isNodesEquivalent.js
deleted file mode 100644
index e070b89..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isNodesEquivalent.js
+++ /dev/null
@@ -1,72 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isNodesEquivalent;
-
-var _definitions = require("../definitions");
-
-function isNodesEquivalent(a, b) {
- if (typeof a !== "object" || typeof b !== "object" || a == null || b == null) {
- return a === b;
- }
-
- if (a.type !== b.type) {
- return false;
- }
-
- const fields = Object.keys(_definitions.NODE_FIELDS[a.type] || a.type);
- const visitorKeys = _definitions.VISITOR_KEYS[a.type];
-
- for (const field of fields) {
- const val_a = a[field];
- const val_b = b[field];
-
- if (typeof val_a !== typeof val_b) {
- return false;
- }
-
- if (val_a == null && val_b == null) {
- continue;
- } else if (val_a == null || val_b == null) {
- return false;
- }
-
- if (Array.isArray(val_a)) {
- if (!Array.isArray(val_b)) {
- return false;
- }
-
- if (val_a.length !== val_b.length) {
- return false;
- }
-
- for (let i = 0; i < val_a.length; i++) {
- if (!isNodesEquivalent(val_a[i], val_b[i])) {
- return false;
- }
- }
-
- continue;
- }
-
- if (typeof val_a === "object" && !(visitorKeys != null && visitorKeys.includes(field))) {
- for (const key of Object.keys(val_a)) {
- if (val_a[key] !== val_b[key]) {
- return false;
- }
- }
-
- continue;
- }
-
- if (!isNodesEquivalent(val_a, val_b)) {
- return false;
- }
- }
-
- return true;
-}
-
-//# sourceMappingURL=isNodesEquivalent.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map b/includes/search/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map
deleted file mode 100644
index 0ee2179..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isNodesEquivalent","a","b","type","fields","Object","keys","NODE_FIELDS","visitorKeys","VISITOR_KEYS","field","val_a","val_b","Array","isArray","length","i","includes","key"],"sources":["../../src/validators/isNodesEquivalent.ts"],"sourcesContent":["import { NODE_FIELDS, VISITOR_KEYS } from \"../definitions\";\nimport type * as t from \"..\";\n\n/**\n * Check if two nodes are equivalent\n */\nexport default function isNodesEquivalent<T extends Partial<t.Node>>(\n a: T,\n b: any,\n): b is T {\n if (\n typeof a !== \"object\" ||\n typeof b !== \"object\" ||\n a == null ||\n b == null\n ) {\n return a === b;\n }\n\n if (a.type !== b.type) {\n return false;\n }\n\n const fields = Object.keys(NODE_FIELDS[a.type] || a.type);\n const visitorKeys = VISITOR_KEYS[a.type];\n\n for (const field of fields) {\n const val_a =\n // @ts-expect-error field must present in a\n a[field];\n const val_b = b[field];\n if (typeof val_a !== typeof val_b) {\n return false;\n }\n if (val_a == null && val_b == null) {\n continue;\n } else if (val_a == null || val_b == null) {\n return false;\n }\n\n if (Array.isArray(val_a)) {\n if (!Array.isArray(val_b)) {\n return false;\n }\n if (val_a.length !== val_b.length) {\n return false;\n }\n\n for (let i = 0; i < val_a.length; i++) {\n if (!isNodesEquivalent(val_a[i], val_b[i])) {\n return false;\n }\n }\n continue;\n }\n\n if (typeof val_a === \"object\" && !visitorKeys?.includes(field)) {\n for (const key of Object.keys(val_a)) {\n if (val_a[key] !== val_b[key]) {\n return false;\n }\n }\n continue;\n }\n\n if (!isNodesEquivalent(val_a, val_b)) {\n return false;\n }\n }\n\n return true;\n}\n"],"mappings":";;;;;;;AAAA;;AAMe,SAASA,iBAAT,CACbC,CADa,EAEbC,CAFa,EAGL;EACR,IACE,OAAOD,CAAP,KAAa,QAAb,IACA,OAAOC,CAAP,KAAa,QADb,IAEAD,CAAC,IAAI,IAFL,IAGAC,CAAC,IAAI,IAJP,EAKE;IACA,OAAOD,CAAC,KAAKC,CAAb;EACD;;EAED,IAAID,CAAC,CAACE,IAAF,KAAWD,CAAC,CAACC,IAAjB,EAAuB;IACrB,OAAO,KAAP;EACD;;EAED,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYC,wBAAA,CAAYN,CAAC,CAACE,IAAd,KAAuBF,CAAC,CAACE,IAArC,CAAf;EACA,MAAMK,WAAW,GAAGC,yBAAA,CAAaR,CAAC,CAACE,IAAf,CAApB;;EAEA,KAAK,MAAMO,KAAX,IAAoBN,MAApB,EAA4B;IAC1B,MAAMO,KAAK,GAETV,CAAC,CAACS,KAAD,CAFH;IAGA,MAAME,KAAK,GAAGV,CAAC,CAACQ,KAAD,CAAf;;IACA,IAAI,OAAOC,KAAP,KAAiB,OAAOC,KAA5B,EAAmC;MACjC,OAAO,KAAP;IACD;;IACD,IAAID,KAAK,IAAI,IAAT,IAAiBC,KAAK,IAAI,IAA9B,EAAoC;MAClC;IACD,CAFD,MAEO,IAAID,KAAK,IAAI,IAAT,IAAiBC,KAAK,IAAI,IAA9B,EAAoC;MACzC,OAAO,KAAP;IACD;;IAED,IAAIC,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAJ,EAA0B;MACxB,IAAI,CAACE,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAL,EAA2B;QACzB,OAAO,KAAP;MACD;;MACD,IAAID,KAAK,CAACI,MAAN,KAAiBH,KAAK,CAACG,MAA3B,EAAmC;QACjC,OAAO,KAAP;MACD;;MAED,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,KAAK,CAACI,MAA1B,EAAkCC,CAAC,EAAnC,EAAuC;QACrC,IAAI,CAAChB,iBAAiB,CAACW,KAAK,CAACK,CAAD,CAAN,EAAWJ,KAAK,CAACI,CAAD,CAAhB,CAAtB,EAA4C;UAC1C,OAAO,KAAP;QACD;MACF;;MACD;IACD;;IAED,IAAI,OAAOL,KAAP,KAAiB,QAAjB,IAA6B,EAACH,WAAD,YAACA,WAAW,CAAES,QAAb,CAAsBP,KAAtB,CAAD,CAAjC,EAAgE;MAC9D,KAAK,MAAMQ,GAAX,IAAkBb,MAAM,CAACC,IAAP,CAAYK,KAAZ,CAAlB,EAAsC;QACpC,IAAIA,KAAK,CAACO,GAAD,CAAL,KAAeN,KAAK,CAACM,GAAD,CAAxB,EAA+B;UAC7B,OAAO,KAAP;QACD;MACF;;MACD;IACD;;IAED,IAAI,CAAClB,iBAAiB,CAACW,KAAD,EAAQC,KAAR,CAAtB,EAAsC;MACpC,OAAO,KAAP;IACD;EACF;;EAED,OAAO,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isPlaceholderType.js b/includes/search/node_modules/@babel/types/lib/validators/isPlaceholderType.js
deleted file mode 100644
index 2853b75..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isPlaceholderType.js
+++ /dev/null
@@ -1,23 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isPlaceholderType;
-
-var _definitions = require("../definitions");
-
-function isPlaceholderType(placeholderType, targetType) {
- if (placeholderType === targetType) return true;
- const aliases = _definitions.PLACEHOLDERS_ALIAS[placeholderType];
-
- if (aliases) {
- for (const alias of aliases) {
- if (targetType === alias) return true;
- }
- }
-
- return false;
-}
-
-//# sourceMappingURL=isPlaceholderType.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map b/includes/search/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map
deleted file mode 100644
index 12b0d35..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isPlaceholderType","placeholderType","targetType","aliases","PLACEHOLDERS_ALIAS","alias"],"sources":["../../src/validators/isPlaceholderType.ts"],"sourcesContent":["import { PLACEHOLDERS_ALIAS } from \"../definitions\";\n\n/**\n * Test if a `placeholderType` is a `targetType` or if `targetType` is an alias of `placeholderType`.\n */\nexport default function isPlaceholderType(\n placeholderType: string,\n targetType: string,\n): boolean {\n if (placeholderType === targetType) return true;\n\n const aliases: Array<string> | undefined =\n PLACEHOLDERS_ALIAS[placeholderType];\n if (aliases) {\n for (const alias of aliases) {\n if (targetType === alias) return true;\n }\n }\n\n return false;\n}\n"],"mappings":";;;;;;;AAAA;;AAKe,SAASA,iBAAT,CACbC,eADa,EAEbC,UAFa,EAGJ;EACT,IAAID,eAAe,KAAKC,UAAxB,EAAoC,OAAO,IAAP;EAEpC,MAAMC,OAAkC,GACtCC,+BAAA,CAAmBH,eAAnB,CADF;;EAEA,IAAIE,OAAJ,EAAa;IACX,KAAK,MAAME,KAAX,IAAoBF,OAApB,EAA6B;MAC3B,IAAID,UAAU,KAAKG,KAAnB,EAA0B,OAAO,IAAP;IAC3B;EACF;;EAED,OAAO,KAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isReferenced.js b/includes/search/node_modules/@babel/types/lib/validators/isReferenced.js
deleted file mode 100644
index 113b6bc..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isReferenced.js
+++ /dev/null
@@ -1,130 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isReferenced;
-
-function isReferenced(node, parent, grandparent) {
- switch (parent.type) {
- case "MemberExpression":
- case "OptionalMemberExpression":
- if (parent.property === node) {
- return !!parent.computed;
- }
-
- return parent.object === node;
-
- case "JSXMemberExpression":
- return parent.object === node;
-
- case "VariableDeclarator":
- return parent.init === node;
-
- case "ArrowFunctionExpression":
- return parent.body === node;
-
- case "PrivateName":
- return false;
-
- case "ClassMethod":
- case "ClassPrivateMethod":
- case "ObjectMethod":
- if (parent.key === node) {
- return !!parent.computed;
- }
-
- return false;
-
- case "ObjectProperty":
- if (parent.key === node) {
- return !!parent.computed;
- }
-
- return !grandparent || grandparent.type !== "ObjectPattern";
-
- case "ClassProperty":
- case "ClassAccessorProperty":
- if (parent.key === node) {
- return !!parent.computed;
- }
-
- return true;
-
- case "ClassPrivateProperty":
- return parent.key !== node;
-
- case "ClassDeclaration":
- case "ClassExpression":
- return parent.superClass === node;
-
- case "AssignmentExpression":
- return parent.right === node;
-
- case "AssignmentPattern":
- return parent.right === node;
-
- case "LabeledStatement":
- return false;
-
- case "CatchClause":
- return false;
-
- case "RestElement":
- return false;
-
- case "BreakStatement":
- case "ContinueStatement":
- return false;
-
- case "FunctionDeclaration":
- case "FunctionExpression":
- return false;
-
- case "ExportNamespaceSpecifier":
- case "ExportDefaultSpecifier":
- return false;
-
- case "ExportSpecifier":
- if (grandparent != null && grandparent.source) {
- return false;
- }
-
- return parent.local === node;
-
- case "ImportDefaultSpecifier":
- case "ImportNamespaceSpecifier":
- case "ImportSpecifier":
- return false;
-
- case "ImportAttribute":
- return false;
-
- case "JSXAttribute":
- return false;
-
- case "ObjectPattern":
- case "ArrayPattern":
- return false;
-
- case "MetaProperty":
- return false;
-
- case "ObjectTypeProperty":
- return parent.key !== node;
-
- case "TSEnumMember":
- return parent.id !== node;
-
- case "TSPropertySignature":
- if (parent.key === node) {
- return !!parent.computed;
- }
-
- return true;
- }
-
- return true;
-}
-
-//# sourceMappingURL=isReferenced.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isReferenced.js.map b/includes/search/node_modules/@babel/types/lib/validators/isReferenced.js.map
deleted file mode 100644
index fc1e004..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isReferenced.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isReferenced","node","parent","grandparent","type","property","computed","object","init","body","key","superClass","right","source","local","id"],"sources":["../../src/validators/isReferenced.ts"],"sourcesContent":["import type * as t from \"..\";\n\n/**\n * Check if the input `node` is a reference to a bound variable.\n */\nexport default function isReferenced(\n node: t.Node,\n parent: t.Node,\n grandparent?: t.Node,\n): boolean {\n switch (parent.type) {\n // yes: PARENT[NODE]\n // yes: NODE.child\n // no: parent.NODE\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n if (parent.property === node) {\n return !!parent.computed;\n }\n return parent.object === node;\n\n case \"JSXMemberExpression\":\n return parent.object === node;\n // no: let NODE = init;\n // yes: let id = NODE;\n case \"VariableDeclarator\":\n return parent.init === node;\n\n // yes: () => NODE\n // no: (NODE) => {}\n case \"ArrowFunctionExpression\":\n return parent.body === node;\n\n // no: class { #NODE; }\n // no: class { get #NODE() {} }\n // no: class { #NODE() {} }\n // no: class { fn() { return this.#NODE; } }\n case \"PrivateName\":\n return false;\n\n // no: class { NODE() {} }\n // yes: class { [NODE]() {} }\n // no: class { foo(NODE) {} }\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"ObjectMethod\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return false;\n\n // yes: { [NODE]: \"\" }\n // no: { NODE: \"\" }\n // depends: { NODE }\n // depends: { key: NODE }\n case \"ObjectProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n // parent.value === node\n return !grandparent || grandparent.type !== \"ObjectPattern\";\n // no: class { NODE = value; }\n // yes: class { [NODE] = value; }\n // yes: class { key = NODE; }\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return true;\n case \"ClassPrivateProperty\":\n return parent.key !== node;\n\n // no: class NODE {}\n // yes: class Foo extends NODE {}\n case \"ClassDeclaration\":\n case \"ClassExpression\":\n return parent.superClass === node;\n\n // yes: left = NODE;\n // no: NODE = right;\n case \"AssignmentExpression\":\n return parent.right === node;\n\n // no: [NODE = foo] = [];\n // yes: [foo = NODE] = [];\n case \"AssignmentPattern\":\n return parent.right === node;\n\n // no: NODE: for (;;) {}\n case \"LabeledStatement\":\n return false;\n\n // no: try {} catch (NODE) {}\n case \"CatchClause\":\n return false;\n\n // no: function foo(...NODE) {}\n case \"RestElement\":\n return false;\n\n case \"BreakStatement\":\n case \"ContinueStatement\":\n return false;\n\n // no: function NODE() {}\n // no: function foo(NODE) {}\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n return false;\n\n // no: export NODE from \"foo\";\n // no: export * as NODE from \"foo\";\n case \"ExportNamespaceSpecifier\":\n case \"ExportDefaultSpecifier\":\n return false;\n\n // no: export { foo as NODE };\n // yes: export { NODE as foo };\n // no: export { NODE as foo } from \"foo\";\n case \"ExportSpecifier\":\n // @ts-expect-error todo(flow->ts): Property 'source' does not exist on type 'AnyTypeAnnotation'.\n if (grandparent?.source) {\n return false;\n }\n return parent.local === node;\n\n // no: import NODE from \"foo\";\n // no: import * as NODE from \"foo\";\n // no: import { NODE as foo } from \"foo\";\n // no: import { foo as NODE } from \"foo\";\n // no: import NODE from \"bar\";\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n return false;\n\n // no: import \"foo\" assert { NODE: \"json\" }\n case \"ImportAttribute\":\n return false;\n\n // no: <div NODE=\"foo\" />\n case \"JSXAttribute\":\n return false;\n\n // no: [NODE] = [];\n // no: ({ NODE }) = [];\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n return false;\n\n // no: new.NODE\n // no: NODE.target\n case \"MetaProperty\":\n return false;\n\n // yes: type X = { somePropert: NODE }\n // no: type X = { NODE: OtherType }\n case \"ObjectTypeProperty\":\n return parent.key !== node;\n\n // yes: enum X { Foo = NODE }\n // no: enum X { NODE }\n case \"TSEnumMember\":\n return parent.id !== node;\n\n // yes: { [NODE]: value }\n // no: { NODE: value }\n case \"TSPropertySignature\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n\n return true;\n }\n\n return true;\n}\n"],"mappings":";;;;;;;AAKe,SAASA,YAAT,CACbC,IADa,EAEbC,MAFa,EAGbC,WAHa,EAIJ;EACT,QAAQD,MAAM,CAACE,IAAf;IAIE,KAAK,kBAAL;IACA,KAAK,0BAAL;MACE,IAAIF,MAAM,CAACG,QAAP,KAAoBJ,IAAxB,EAA8B;QAC5B,OAAO,CAAC,CAACC,MAAM,CAACI,QAAhB;MACD;;MACD,OAAOJ,MAAM,CAACK,MAAP,KAAkBN,IAAzB;;IAEF,KAAK,qBAAL;MACE,OAAOC,MAAM,CAACK,MAAP,KAAkBN,IAAzB;;IAGF,KAAK,oBAAL;MACE,OAAOC,MAAM,CAACM,IAAP,KAAgBP,IAAvB;;IAIF,KAAK,yBAAL;MACE,OAAOC,MAAM,CAACO,IAAP,KAAgBR,IAAvB;;IAMF,KAAK,aAAL;MACE,OAAO,KAAP;;IAKF,KAAK,aAAL;IACA,KAAK,oBAAL;IACA,KAAK,cAAL;MACE,IAAIC,MAAM,CAACQ,GAAP,KAAeT,IAAnB,EAAyB;QACvB,OAAO,CAAC,CAACC,MAAM,CAACI,QAAhB;MACD;;MACD,OAAO,KAAP;;IAMF,KAAK,gBAAL;MACE,IAAIJ,MAAM,CAACQ,GAAP,KAAeT,IAAnB,EAAyB;QACvB,OAAO,CAAC,CAACC,MAAM,CAACI,QAAhB;MACD;;MAED,OAAO,CAACH,WAAD,IAAgBA,WAAW,CAACC,IAAZ,KAAqB,eAA5C;;IAIF,KAAK,eAAL;IACA,KAAK,uBAAL;MACE,IAAIF,MAAM,CAACQ,GAAP,KAAeT,IAAnB,EAAyB;QACvB,OAAO,CAAC,CAACC,MAAM,CAACI,QAAhB;MACD;;MACD,OAAO,IAAP;;IACF,KAAK,sBAAL;MACE,OAAOJ,MAAM,CAACQ,GAAP,KAAeT,IAAtB;;IAIF,KAAK,kBAAL;IACA,KAAK,iBAAL;MACE,OAAOC,MAAM,CAACS,UAAP,KAAsBV,IAA7B;;IAIF,KAAK,sBAAL;MACE,OAAOC,MAAM,CAACU,KAAP,KAAiBX,IAAxB;;IAIF,KAAK,mBAAL;MACE,OAAOC,MAAM,CAACU,KAAP,KAAiBX,IAAxB;;IAGF,KAAK,kBAAL;MACE,OAAO,KAAP;;IAGF,KAAK,aAAL;MACE,OAAO,KAAP;;IAGF,KAAK,aAAL;MACE,OAAO,KAAP;;IAEF,KAAK,gBAAL;IACA,KAAK,mBAAL;MACE,OAAO,KAAP;;IAIF,KAAK,qBAAL;IACA,KAAK,oBAAL;MACE,OAAO,KAAP;;IAIF,KAAK,0BAAL;IACA,KAAK,wBAAL;MACE,OAAO,KAAP;;IAKF,KAAK,iBAAL;MAEE,IAAIE,WAAJ,YAAIA,WAAW,CAAEU,MAAjB,EAAyB;QACvB,OAAO,KAAP;MACD;;MACD,OAAOX,MAAM,CAACY,KAAP,KAAiBb,IAAxB;;IAOF,KAAK,wBAAL;IACA,KAAK,0BAAL;IACA,KAAK,iBAAL;MACE,OAAO,KAAP;;IAGF,KAAK,iBAAL;MACE,OAAO,KAAP;;IAGF,KAAK,cAAL;MACE,OAAO,KAAP;;IAIF,KAAK,eAAL;IACA,KAAK,cAAL;MACE,OAAO,KAAP;;IAIF,KAAK,cAAL;MACE,OAAO,KAAP;;IAIF,KAAK,oBAAL;MACE,OAAOC,MAAM,CAACQ,GAAP,KAAeT,IAAtB;;IAIF,KAAK,cAAL;MACE,OAAOC,MAAM,CAACa,EAAP,KAAcd,IAArB;;IAIF,KAAK,qBAAL;MACE,IAAIC,MAAM,CAACQ,GAAP,KAAeT,IAAnB,EAAyB;QACvB,OAAO,CAAC,CAACC,MAAM,CAACI,QAAhB;MACD;;MAED,OAAO,IAAP;EAnKJ;;EAsKA,OAAO,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isScope.js b/includes/search/node_modules/@babel/types/lib/validators/isScope.js
deleted file mode 100644
index d317d04..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isScope.js
+++ /dev/null
@@ -1,22 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isScope;
-
-var _generated = require("./generated");
-
-function isScope(node, parent) {
- if ((0, _generated.isBlockStatement)(node) && ((0, _generated.isFunction)(parent) || (0, _generated.isCatchClause)(parent))) {
- return false;
- }
-
- if ((0, _generated.isPattern)(node) && ((0, _generated.isFunction)(parent) || (0, _generated.isCatchClause)(parent))) {
- return true;
- }
-
- return (0, _generated.isScopable)(node);
-}
-
-//# sourceMappingURL=isScope.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isScope.js.map b/includes/search/node_modules/@babel/types/lib/validators/isScope.js.map
deleted file mode 100644
index ad9d541..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isScope.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isScope","node","parent","isBlockStatement","isFunction","isCatchClause","isPattern","isScopable"],"sources":["../../src/validators/isScope.ts"],"sourcesContent":["import {\n isFunction,\n isCatchClause,\n isBlockStatement,\n isScopable,\n isPattern,\n} from \"./generated\";\nimport type * as t from \"..\";\n\n/**\n * Check if the input `node` is a scope.\n */\nexport default function isScope(node: t.Node, parent: t.Node): boolean {\n // If a BlockStatement is an immediate descendent of a Function/CatchClause, it must be in the body.\n // Hence we skipped the parentKey === \"params\" check\n if (isBlockStatement(node) && (isFunction(parent) || isCatchClause(parent))) {\n return false;\n }\n\n // If a Pattern is an immediate descendent of a Function/CatchClause, it must be in the params.\n // Hence we skipped the parentKey === \"params\" check\n if (isPattern(node) && (isFunction(parent) || isCatchClause(parent))) {\n return true;\n }\n\n return isScopable(node);\n}\n"],"mappings":";;;;;;;AAAA;;AAYe,SAASA,OAAT,CAAiBC,IAAjB,EAA+BC,MAA/B,EAAwD;EAGrE,IAAI,IAAAC,2BAAA,EAAiBF,IAAjB,MAA2B,IAAAG,qBAAA,EAAWF,MAAX,KAAsB,IAAAG,wBAAA,EAAcH,MAAd,CAAjD,CAAJ,EAA6E;IAC3E,OAAO,KAAP;EACD;;EAID,IAAI,IAAAI,oBAAA,EAAUL,IAAV,MAAoB,IAAAG,qBAAA,EAAWF,MAAX,KAAsB,IAAAG,wBAAA,EAAcH,MAAd,CAA1C,CAAJ,EAAsE;IACpE,OAAO,IAAP;EACD;;EAED,OAAO,IAAAK,qBAAA,EAAWN,IAAX,CAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isSpecifierDefault.js b/includes/search/node_modules/@babel/types/lib/validators/isSpecifierDefault.js
deleted file mode 100644
index 3cb9069..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isSpecifierDefault.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isSpecifierDefault;
-
-var _generated = require("./generated");
-
-function isSpecifierDefault(specifier) {
- return (0, _generated.isImportDefaultSpecifier)(specifier) || (0, _generated.isIdentifier)(specifier.imported || specifier.exported, {
- name: "default"
- });
-}
-
-//# sourceMappingURL=isSpecifierDefault.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map b/includes/search/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map
deleted file mode 100644
index 1f6881b..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isSpecifierDefault","specifier","isImportDefaultSpecifier","isIdentifier","imported","exported","name"],"sources":["../../src/validators/isSpecifierDefault.ts"],"sourcesContent":["import { isIdentifier, isImportDefaultSpecifier } from \"./generated\";\nimport type * as t from \"..\";\n\n/**\n * Check if the input `specifier` is a `default` import or export.\n */\nexport default function isSpecifierDefault(\n specifier: t.ModuleSpecifier,\n): boolean {\n return (\n isImportDefaultSpecifier(specifier) ||\n // @ts-expect-error todo(flow->ts): stricter type for specifier\n isIdentifier(specifier.imported || specifier.exported, {\n name: \"default\",\n })\n );\n}\n"],"mappings":";;;;;;;AAAA;;AAMe,SAASA,kBAAT,CACbC,SADa,EAEJ;EACT,OACE,IAAAC,mCAAA,EAAyBD,SAAzB,KAEA,IAAAE,uBAAA,EAAaF,SAAS,CAACG,QAAV,IAAsBH,SAAS,CAACI,QAA7C,EAAuD;IACrDC,IAAI,EAAE;EAD+C,CAAvD,CAHF;AAOD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isType.js b/includes/search/node_modules/@babel/types/lib/validators/isType.js
deleted file mode 100644
index 0706d62..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isType.js
+++ /dev/null
@@ -1,26 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isType;
-
-var _definitions = require("../definitions");
-
-function isType(nodeType, targetType) {
- if (nodeType === targetType) return true;
- if (_definitions.ALIAS_KEYS[targetType]) return false;
- const aliases = _definitions.FLIPPED_ALIAS_KEYS[targetType];
-
- if (aliases) {
- if (aliases[0] === nodeType) return true;
-
- for (const alias of aliases) {
- if (nodeType === alias) return true;
- }
- }
-
- return false;
-}
-
-//# sourceMappingURL=isType.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isType.js.map b/includes/search/node_modules/@babel/types/lib/validators/isType.js.map
deleted file mode 100644
index 85923ab..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isType.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isType","nodeType","targetType","ALIAS_KEYS","aliases","FLIPPED_ALIAS_KEYS","alias"],"sources":["../../src/validators/isType.ts"],"sourcesContent":["import { FLIPPED_ALIAS_KEYS, ALIAS_KEYS } from \"../definitions\";\nimport type * as t from \"..\";\n\nexport default function isType<T extends t.Node[\"type\"]>(\n nodeType: string,\n targetType: T,\n): nodeType is T;\n\nexport default function isType(\n nodeType: string | null | undefined,\n targetType: string,\n): boolean;\n\n/**\n * Test if a `nodeType` is a `targetType` or if `targetType` is an alias of `nodeType`.\n */\nexport default function isType(nodeType: string, targetType: string): boolean {\n if (nodeType === targetType) return true;\n\n // This is a fast-path. If the test above failed, but an alias key is found, then the\n // targetType was a primary node type, so there's no need to check the aliases.\n // @ts-expect-error targetType may not index ALIAS_KEYS\n if (ALIAS_KEYS[targetType]) return false;\n\n const aliases: Array<string> | undefined = FLIPPED_ALIAS_KEYS[targetType];\n if (aliases) {\n if (aliases[0] === nodeType) return true;\n\n for (const alias of aliases) {\n if (nodeType === alias) return true;\n }\n }\n\n return false;\n}\n"],"mappings":";;;;;;;AAAA;;AAgBe,SAASA,MAAT,CAAgBC,QAAhB,EAAkCC,UAAlC,EAA+D;EAC5E,IAAID,QAAQ,KAAKC,UAAjB,EAA6B,OAAO,IAAP;EAK7B,IAAIC,uBAAA,CAAWD,UAAX,CAAJ,EAA4B,OAAO,KAAP;EAE5B,MAAME,OAAkC,GAAGC,+BAAA,CAAmBH,UAAnB,CAA3C;;EACA,IAAIE,OAAJ,EAAa;IACX,IAAIA,OAAO,CAAC,CAAD,CAAP,KAAeH,QAAnB,EAA6B,OAAO,IAAP;;IAE7B,KAAK,MAAMK,KAAX,IAAoBF,OAApB,EAA6B;MAC3B,IAAIH,QAAQ,KAAKK,KAAjB,EAAwB,OAAO,IAAP;IACzB;EACF;;EAED,OAAO,KAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isValidES3Identifier.js b/includes/search/node_modules/@babel/types/lib/validators/isValidES3Identifier.js
deleted file mode 100644
index 7165970..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isValidES3Identifier.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isValidES3Identifier;
-
-var _isValidIdentifier = require("./isValidIdentifier");
-
-const RESERVED_WORDS_ES3_ONLY = new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]);
-
-function isValidES3Identifier(name) {
- return (0, _isValidIdentifier.default)(name) && !RESERVED_WORDS_ES3_ONLY.has(name);
-}
-
-//# sourceMappingURL=isValidES3Identifier.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map b/includes/search/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map
deleted file mode 100644
index b1ebf25..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["RESERVED_WORDS_ES3_ONLY","Set","isValidES3Identifier","name","isValidIdentifier","has"],"sources":["../../src/validators/isValidES3Identifier.ts"],"sourcesContent":["import isValidIdentifier from \"./isValidIdentifier\";\n\nconst RESERVED_WORDS_ES3_ONLY: Set<string> = new Set([\n \"abstract\",\n \"boolean\",\n \"byte\",\n \"char\",\n \"double\",\n \"enum\",\n \"final\",\n \"float\",\n \"goto\",\n \"implements\",\n \"int\",\n \"interface\",\n \"long\",\n \"native\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"short\",\n \"static\",\n \"synchronized\",\n \"throws\",\n \"transient\",\n \"volatile\",\n]);\n\n/**\n * Check if the input `name` is a valid identifier name according to the ES3 specification.\n *\n * Additional ES3 reserved words are\n */\nexport default function isValidES3Identifier(name: string): boolean {\n return isValidIdentifier(name) && !RESERVED_WORDS_ES3_ONLY.has(name);\n}\n"],"mappings":";;;;;;;AAAA;;AAEA,MAAMA,uBAAoC,GAAG,IAAIC,GAAJ,CAAQ,CACnD,UADmD,EAEnD,SAFmD,EAGnD,MAHmD,EAInD,MAJmD,EAKnD,QALmD,EAMnD,MANmD,EAOnD,OAPmD,EAQnD,OARmD,EASnD,MATmD,EAUnD,YAVmD,EAWnD,KAXmD,EAYnD,WAZmD,EAanD,MAbmD,EAcnD,QAdmD,EAenD,SAfmD,EAgBnD,SAhBmD,EAiBnD,WAjBmD,EAkBnD,QAlBmD,EAmBnD,OAnBmD,EAoBnD,QApBmD,EAqBnD,cArBmD,EAsBnD,QAtBmD,EAuBnD,WAvBmD,EAwBnD,UAxBmD,CAAR,CAA7C;;AAgCe,SAASC,oBAAT,CAA8BC,IAA9B,EAAqD;EAClE,OAAO,IAAAC,0BAAA,EAAkBD,IAAlB,KAA2B,CAACH,uBAAuB,CAACK,GAAxB,CAA4BF,IAA5B,CAAnC;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isValidIdentifier.js b/includes/search/node_modules/@babel/types/lib/validators/isValidIdentifier.js
deleted file mode 100644
index 4324c5f..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isValidIdentifier.js
+++ /dev/null
@@ -1,22 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isValidIdentifier;
-
-var _helperValidatorIdentifier = require("@babel/helper-validator-identifier");
-
-function isValidIdentifier(name, reserved = true) {
- if (typeof name !== "string") return false;
-
- if (reserved) {
- if ((0, _helperValidatorIdentifier.isKeyword)(name) || (0, _helperValidatorIdentifier.isStrictReservedWord)(name, true)) {
- return false;
- }
- }
-
- return (0, _helperValidatorIdentifier.isIdentifierName)(name);
-}
-
-//# sourceMappingURL=isValidIdentifier.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map b/includes/search/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map
deleted file mode 100644
index 05f2ca0..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isValidIdentifier","name","reserved","isKeyword","isStrictReservedWord","isIdentifierName"],"sources":["../../src/validators/isValidIdentifier.ts"],"sourcesContent":["import {\n isIdentifierName,\n isStrictReservedWord,\n isKeyword,\n} from \"@babel/helper-validator-identifier\";\n\n/**\n * Check if the input `name` is a valid identifier name\n * and isn't a reserved word.\n */\nexport default function isValidIdentifier(\n name: string,\n reserved: boolean = true,\n): boolean {\n if (typeof name !== \"string\") return false;\n\n if (reserved) {\n // \"await\" is invalid in module, valid in script; better be safe (see #4952)\n if (isKeyword(name) || isStrictReservedWord(name, true)) {\n return false;\n }\n }\n\n return isIdentifierName(name);\n}\n"],"mappings":";;;;;;;AAAA;;AAUe,SAASA,iBAAT,CACbC,IADa,EAEbC,QAAiB,GAAG,IAFP,EAGJ;EACT,IAAI,OAAOD,IAAP,KAAgB,QAApB,EAA8B,OAAO,KAAP;;EAE9B,IAAIC,QAAJ,EAAc;IAEZ,IAAI,IAAAC,oCAAA,EAAUF,IAAV,KAAmB,IAAAG,+CAAA,EAAqBH,IAArB,EAA2B,IAA3B,CAAvB,EAAyD;MACvD,OAAO,KAAP;IACD;EACF;;EAED,OAAO,IAAAI,2CAAA,EAAiBJ,IAAjB,CAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isVar.js b/includes/search/node_modules/@babel/types/lib/validators/isVar.js
deleted file mode 100644
index b44c52d..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isVar.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isVar;
-
-var _generated = require("./generated");
-
-var _constants = require("../constants");
-
-function isVar(node) {
- return (0, _generated.isVariableDeclaration)(node, {
- kind: "var"
- }) && !node[_constants.BLOCK_SCOPED_SYMBOL];
-}
-
-//# sourceMappingURL=isVar.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/isVar.js.map b/includes/search/node_modules/@babel/types/lib/validators/isVar.js.map
deleted file mode 100644
index 689b9cf..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/isVar.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isVar","node","isVariableDeclaration","kind","BLOCK_SCOPED_SYMBOL"],"sources":["../../src/validators/isVar.ts"],"sourcesContent":["import { isVariableDeclaration } from \"./generated\";\nimport { BLOCK_SCOPED_SYMBOL } from \"../constants\";\nimport type * as t from \"..\";\n\n/**\n * Check if the input `node` is a variable declaration.\n */\nexport default function isVar(node: t.Node): boolean {\n return (\n isVariableDeclaration(node, { kind: \"var\" }) &&\n !(\n // @ts-expect-error document private properties\n node[BLOCK_SCOPED_SYMBOL]\n )\n );\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAMe,SAASA,KAAT,CAAeC,IAAf,EAAsC;EACnD,OACE,IAAAC,gCAAA,EAAsBD,IAAtB,EAA4B;IAAEE,IAAI,EAAE;EAAR,CAA5B,KACA,CAEEF,IAAI,CAACG,8BAAD,CAJR;AAOD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/matchesPattern.js b/includes/search/node_modules/@babel/types/lib/validators/matchesPattern.js
deleted file mode 100644
index b50e4f7..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/matchesPattern.js
+++ /dev/null
@@ -1,44 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = matchesPattern;
-
-var _generated = require("./generated");
-
-function matchesPattern(member, match, allowPartial) {
- if (!(0, _generated.isMemberExpression)(member)) return false;
- const parts = Array.isArray(match) ? match : match.split(".");
- const nodes = [];
- let node;
-
- for (node = member; (0, _generated.isMemberExpression)(node); node = node.object) {
- nodes.push(node.property);
- }
-
- nodes.push(node);
- if (nodes.length < parts.length) return false;
- if (!allowPartial && nodes.length > parts.length) return false;
-
- for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) {
- const node = nodes[j];
- let value;
-
- if ((0, _generated.isIdentifier)(node)) {
- value = node.name;
- } else if ((0, _generated.isStringLiteral)(node)) {
- value = node.value;
- } else if ((0, _generated.isThisExpression)(node)) {
- value = "this";
- } else {
- return false;
- }
-
- if (parts[i] !== value) return false;
- }
-
- return true;
-}
-
-//# sourceMappingURL=matchesPattern.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/matchesPattern.js.map b/includes/search/node_modules/@babel/types/lib/validators/matchesPattern.js.map
deleted file mode 100644
index 1040dd2..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/matchesPattern.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["matchesPattern","member","match","allowPartial","isMemberExpression","parts","Array","isArray","split","nodes","node","object","push","property","length","i","j","value","isIdentifier","name","isStringLiteral","isThisExpression"],"sources":["../../src/validators/matchesPattern.ts"],"sourcesContent":["import {\n isIdentifier,\n isMemberExpression,\n isStringLiteral,\n isThisExpression,\n} from \"./generated\";\nimport type * as t from \"..\";\n\n/**\n * Determines whether or not the input node `member` matches the\n * input `match`.\n *\n * For example, given the match `React.createClass` it would match the\n * parsed nodes of `React.createClass` and `React[\"createClass\"]`.\n */\nexport default function matchesPattern(\n member: t.Node | null | undefined,\n match: string | string[],\n allowPartial?: boolean,\n): boolean {\n // not a member expression\n if (!isMemberExpression(member)) return false;\n\n const parts = Array.isArray(match) ? match : match.split(\".\");\n const nodes = [];\n\n let node;\n for (node = member; isMemberExpression(node); node = node.object) {\n nodes.push(node.property);\n }\n nodes.push(node);\n\n if (nodes.length < parts.length) return false;\n if (!allowPartial && nodes.length > parts.length) return false;\n\n for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) {\n const node = nodes[j];\n let value;\n if (isIdentifier(node)) {\n value = node.name;\n } else if (isStringLiteral(node)) {\n value = node.value;\n } else if (isThisExpression(node)) {\n value = \"this\";\n } else {\n return false;\n }\n\n if (parts[i] !== value) return false;\n }\n\n return true;\n}\n"],"mappings":";;;;;;;AAAA;;AAee,SAASA,cAAT,CACbC,MADa,EAEbC,KAFa,EAGbC,YAHa,EAIJ;EAET,IAAI,CAAC,IAAAC,6BAAA,EAAmBH,MAAnB,CAAL,EAAiC,OAAO,KAAP;EAEjC,MAAMI,KAAK,GAAGC,KAAK,CAACC,OAAN,CAAcL,KAAd,IAAuBA,KAAvB,GAA+BA,KAAK,CAACM,KAAN,CAAY,GAAZ,CAA7C;EACA,MAAMC,KAAK,GAAG,EAAd;EAEA,IAAIC,IAAJ;;EACA,KAAKA,IAAI,GAAGT,MAAZ,EAAoB,IAAAG,6BAAA,EAAmBM,IAAnB,CAApB,EAA8CA,IAAI,GAAGA,IAAI,CAACC,MAA1D,EAAkE;IAChEF,KAAK,CAACG,IAAN,CAAWF,IAAI,CAACG,QAAhB;EACD;;EACDJ,KAAK,CAACG,IAAN,CAAWF,IAAX;EAEA,IAAID,KAAK,CAACK,MAAN,GAAeT,KAAK,CAACS,MAAzB,EAAiC,OAAO,KAAP;EACjC,IAAI,CAACX,YAAD,IAAiBM,KAAK,CAACK,MAAN,GAAeT,KAAK,CAACS,MAA1C,EAAkD,OAAO,KAAP;;EAElD,KAAK,IAAIC,CAAC,GAAG,CAAR,EAAWC,CAAC,GAAGP,KAAK,CAACK,MAAN,GAAe,CAAnC,EAAsCC,CAAC,GAAGV,KAAK,CAACS,MAAhD,EAAwDC,CAAC,IAAIC,CAAC,EAA9D,EAAkE;IAChE,MAAMN,IAAI,GAAGD,KAAK,CAACO,CAAD,CAAlB;IACA,IAAIC,KAAJ;;IACA,IAAI,IAAAC,uBAAA,EAAaR,IAAb,CAAJ,EAAwB;MACtBO,KAAK,GAAGP,IAAI,CAACS,IAAb;IACD,CAFD,MAEO,IAAI,IAAAC,0BAAA,EAAgBV,IAAhB,CAAJ,EAA2B;MAChCO,KAAK,GAAGP,IAAI,CAACO,KAAb;IACD,CAFM,MAEA,IAAI,IAAAI,2BAAA,EAAiBX,IAAjB,CAAJ,EAA4B;MACjCO,KAAK,GAAG,MAAR;IACD,CAFM,MAEA;MACL,OAAO,KAAP;IACD;;IAED,IAAIZ,KAAK,CAACU,CAAD,CAAL,KAAaE,KAAjB,EAAwB,OAAO,KAAP;EACzB;;EAED,OAAO,IAAP;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/react/isCompatTag.js b/includes/search/node_modules/@babel/types/lib/validators/react/isCompatTag.js
deleted file mode 100644
index aef0d09..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/react/isCompatTag.js
+++ /dev/null
@@ -1,12 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = isCompatTag;
-
-function isCompatTag(tagName) {
- return !!tagName && /^[a-z]/.test(tagName);
-}
-
-//# sourceMappingURL=isCompatTag.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map b/includes/search/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map
deleted file mode 100644
index 28546c9..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isCompatTag","tagName","test"],"sources":["../../../src/validators/react/isCompatTag.ts"],"sourcesContent":["export default function isCompatTag(tagName?: string): boolean {\n // Must start with a lowercase ASCII letter\n return !!tagName && /^[a-z]/.test(tagName);\n}\n"],"mappings":";;;;;;;AAAe,SAASA,WAAT,CAAqBC,OAArB,EAAgD;EAE7D,OAAO,CAAC,CAACA,OAAF,IAAa,SAASC,IAAT,CAAcD,OAAd,CAApB;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/react/isReactComponent.js b/includes/search/node_modules/@babel/types/lib/validators/react/isReactComponent.js
deleted file mode 100644
index bf41f33..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/react/isReactComponent.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = void 0;
-
-var _buildMatchMemberExpression = require("../buildMatchMemberExpression");
-
-const isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component");
-var _default = isReactComponent;
-exports.default = _default;
-
-//# sourceMappingURL=isReactComponent.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map b/includes/search/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map
deleted file mode 100644
index 787e432..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["isReactComponent","buildMatchMemberExpression"],"sources":["../../../src/validators/react/isReactComponent.ts"],"sourcesContent":["import buildMatchMemberExpression from \"../buildMatchMemberExpression\";\n\nconst isReactComponent = buildMatchMemberExpression(\"React.Component\");\n\nexport default isReactComponent;\n"],"mappings":";;;;;;;AAAA;;AAEA,MAAMA,gBAAgB,GAAG,IAAAC,mCAAA,EAA2B,iBAA3B,CAAzB;eAEeD,gB"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/lib/validators/validate.js b/includes/search/node_modules/@babel/types/lib/validators/validate.js
deleted file mode 100644
index a2c1653..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/validate.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.default = validate;
-exports.validateChild = validateChild;
-exports.validateField = validateField;
-
-var _definitions = require("../definitions");
-
-function validate(node, key, val) {
- if (!node) return;
- const fields = _definitions.NODE_FIELDS[node.type];
- if (!fields) return;
- const field = fields[key];
- validateField(node, key, val, field);
- validateChild(node, key, val);
-}
-
-function validateField(node, key, val, field) {
- if (!(field != null && field.validate)) return;
- if (field.optional && val == null) return;
- field.validate(node, key, val);
-}
-
-function validateChild(node, key, val) {
- if (val == null) return;
- const validate = _definitions.NODE_PARENT_VALIDATIONS[val.type];
- if (!validate) return;
- validate(node, key, val);
-}
-
-//# sourceMappingURL=validate.js.map
diff --git a/includes/search/node_modules/@babel/types/lib/validators/validate.js.map b/includes/search/node_modules/@babel/types/lib/validators/validate.js.map
deleted file mode 100644
index a9a8da9..0000000
--- a/includes/search/node_modules/@babel/types/lib/validators/validate.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"names":["validate","node","key","val","fields","NODE_FIELDS","type","field","validateField","validateChild","optional","NODE_PARENT_VALIDATIONS"],"sources":["../../src/validators/validate.ts"],"sourcesContent":["import {\n NODE_FIELDS,\n NODE_PARENT_VALIDATIONS,\n type FieldOptions,\n} from \"../definitions\";\nimport type * as t from \"..\";\n\nexport default function validate(\n node: t.Node | undefined | null,\n key: string,\n val: any,\n): void {\n if (!node) return;\n\n const fields = NODE_FIELDS[node.type];\n if (!fields) return;\n\n const field = fields[key];\n validateField(node, key, val, field);\n validateChild(node, key, val);\n}\n\nexport function validateField(\n node: t.Node | undefined | null,\n key: string,\n val: any,\n field: FieldOptions | undefined | null,\n): void {\n if (!field?.validate) return;\n if (field.optional && val == null) return;\n\n field.validate(node, key, val);\n}\n\nexport function validateChild(\n node: t.Node | undefined | null,\n key: string,\n val?: t.Node | undefined | null,\n) {\n if (val == null) return;\n const validate = NODE_PARENT_VALIDATIONS[val.type];\n if (!validate) return;\n validate(node, key, val);\n}\n"],"mappings":";;;;;;;;;AAAA;;AAOe,SAASA,QAAT,CACbC,IADa,EAEbC,GAFa,EAGbC,GAHa,EAIP;EACN,IAAI,CAACF,IAAL,EAAW;EAEX,MAAMG,MAAM,GAAGC,wBAAA,CAAYJ,IAAI,CAACK,IAAjB,CAAf;EACA,IAAI,CAACF,MAAL,EAAa;EAEb,MAAMG,KAAK,GAAGH,MAAM,CAACF,GAAD,CAApB;EACAM,aAAa,CAACP,IAAD,EAAOC,GAAP,EAAYC,GAAZ,EAAiBI,KAAjB,CAAb;EACAE,aAAa,CAACR,IAAD,EAAOC,GAAP,EAAYC,GAAZ,CAAb;AACD;;AAEM,SAASK,aAAT,CACLP,IADK,EAELC,GAFK,EAGLC,GAHK,EAILI,KAJK,EAKC;EACN,IAAI,EAACA,KAAD,YAACA,KAAK,CAAEP,QAAR,CAAJ,EAAsB;EACtB,IAAIO,KAAK,CAACG,QAAN,IAAkBP,GAAG,IAAI,IAA7B,EAAmC;EAEnCI,KAAK,CAACP,QAAN,CAAeC,IAAf,EAAqBC,GAArB,EAA0BC,GAA1B;AACD;;AAEM,SAASM,aAAT,CACLR,IADK,EAELC,GAFK,EAGLC,GAHK,EAIL;EACA,IAAIA,GAAG,IAAI,IAAX,EAAiB;EACjB,MAAMH,QAAQ,GAAGW,oCAAA,CAAwBR,GAAG,CAACG,IAA5B,CAAjB;EACA,IAAI,CAACN,QAAL,EAAe;EACfA,QAAQ,CAACC,IAAD,EAAOC,GAAP,EAAYC,GAAZ,CAAR;AACD"} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/package.json b/includes/search/node_modules/@babel/types/package.json
deleted file mode 100644
index a838369..0000000
--- a/includes/search/node_modules/@babel/types/package.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "@babel/types",
- "version": "7.19.0",
- "description": "Babel Types is a Lodash-esque utility library for AST nodes",
- "author": "The Babel Team (https://babel.dev/team)",
- "homepage": "https://babel.dev/docs/en/next/babel-types",
- "bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3A%22pkg%3A%20types%22+is%3Aopen",
- "license": "MIT",
- "publishConfig": {
- "access": "public"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/babel/babel.git",
- "directory": "packages/babel-types"
- },
- "main": "./lib/index.js",
- "types": "./lib/index-legacy.d.ts",
- "typesVersions": {
- ">=3.7": {
- "lib/index-legacy.d.ts": [
- "lib/index.d.ts"
- ]
- }
- },
- "dependencies": {
- "@babel/helper-string-parser": "^7.18.10",
- "@babel/helper-validator-identifier": "^7.18.6",
- "to-fast-properties": "^2.0.0"
- },
- "devDependencies": {
- "@babel/generator": "^7.19.0",
- "@babel/parser": "^7.19.0",
- "chalk": "^4.1.0",
- "glob": "^7.2.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "type": "commonjs"
-} \ No newline at end of file
diff --git a/includes/search/node_modules/@babel/types/scripts/generators/asserts.js b/includes/search/node_modules/@babel/types/scripts/generators/asserts.js
deleted file mode 100644
index 1d862e4..0000000
--- a/includes/search/node_modules/@babel/types/scripts/generators/asserts.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import * as definitions from "../../lib/definitions/index.js";
-
-function addAssertHelper(type) {
- const result =
- definitions.NODE_FIELDS[type] || definitions.FLIPPED_ALIAS_KEYS[type]
- ? `node is t.${type}`
- : "boolean";
-
- return `export function assert${type}(node: object | null | undefined, opts?: object | null): asserts ${
- result === "boolean" ? "node" : result
- } {
- assert("${type}", node, opts) }
- `;
-}
-
-export default function generateAsserts() {
- let output = `/*
- * This file is auto-generated! Do not modify it directly.
- * To re-generate run 'make build'
- */
-import is from "../../validators/is";
-import type * as t from "../..";
-
-function assert(type: string, node: any, opts?: any): void {
- if (!is(type, node, opts)) {
- throw new Error(
- \`Expected type "\${type}" with option \${JSON.stringify(opts)}, \` +
- \`but instead got "\${node.type}".\`,
- );
- }
-}\n\n`;
-
- Object.keys(definitions.VISITOR_KEYS).forEach(type => {
- output += addAssertHelper(type);
- });
-
- Object.keys(definitions.FLIPPED_ALIAS_KEYS).forEach(type => {
- output += addAssertHelper(type);
- });
-
- Object.keys(definitions.DEPRECATED_KEYS).forEach(type => {
- const newType = definitions.DEPRECATED_KEYS[type];
- output += `export function assert${type}(node: any, opts: any): void {
- console.trace("The node type ${type} has been renamed to ${newType}");
- assert("${type}", node, opts);
-}\n`;
- });
-
- return output;
-}
diff --git a/includes/search/node_modules/@babel/types/scripts/generators/ast-types.js b/includes/search/node_modules/@babel/types/scripts/generators/ast-types.js
deleted file mode 100644
index 92eb055..0000000
--- a/includes/search/node_modules/@babel/types/scripts/generators/ast-types.js
+++ /dev/null
@@ -1,196 +0,0 @@
-import * as t from "../../lib/index.js";
-import stringifyValidator, {
- isValueType,
-} from "../utils/stringifyValidator.js";
-
-const parentMaps = new Map([["File", new Set(["null"])]]);
-
-function registerParentMaps(parent, nodes) {
- for (const node of nodes) {
- if (!parentMaps.has(node)) {
- parentMaps.set(node, new Set());
- }
- parentMaps.get(node).add(parent);
- }
-}
-
-function getNodeTypesFromValidator(validator) {
- if (validator === undefined) return [];
- if (validator.each) {
- return getNodeTypesFromValidator(validator.each);
- }
- if (validator.chainOf) {
- return getNodeTypesFromValidator(validator.chainOf[1]);
- }
- let nodeTypes = [];
- if (validator.oneOfNodeTypes) {
- nodeTypes = validator.oneOfNodeTypes;
- }
- if (validator.oneOfNodeOrValueTypes) {
- nodeTypes = validator.oneOfNodeOrValueTypes.filter(
- type => !isValueType(type)
- );
- }
- return nodeTypes.flatMap(type => t.FLIPPED_ALIAS_KEYS[type] ?? type);
-}
-
-export default function generateAstTypes() {
- let code = `// NOTE: This file is autogenerated. Do not modify.
-// See packages/babel-types/scripts/generators/ast-types.js for script used.
-
-interface BaseComment {
- value: string;
- start?: number;
- end?: number;
- loc?: SourceLocation;
- // generator will skip the comment if ignore is true
- ignore?: boolean;
- type: "CommentBlock" | "CommentLine";
-}
-
-export interface CommentBlock extends BaseComment {
- type: "CommentBlock";
-}
-
-export interface CommentLine extends BaseComment {
- type: "CommentLine";
-}
-
-export type Comment = CommentBlock | CommentLine;
-
-export interface SourceLocation {
- start: {
- line: number;
- column: number;
- };
-
- end: {
- line: number;
- column: number;
- };
-}
-
-interface BaseNode {
- type: Node["type"];
- leadingComments?: Comment[] | null;
- innerComments?: Comment[] | null;
- trailingComments?: Comment[] | null;
- start?: number | null;
- end?: number | null;
- loc?: SourceLocation | null;
- range?: [number, number];
- extra?: Record<string, unknown>;
-}
-
-export type CommentTypeShorthand = "leading" | "inner" | "trailing";
-
-export type Node = ${t.TYPES.filter(k => !t.FLIPPED_ALIAS_KEYS[k])
- .sort()
- .join(" | ")};\n\n`;
-
- const deprecatedAlias = {};
- for (const type in t.DEPRECATED_KEYS) {
- deprecatedAlias[t.DEPRECATED_KEYS[type]] = type;
- }
- for (const type in t.NODE_FIELDS) {
- const fields = t.NODE_FIELDS[type];
- const fieldNames = sortFieldNames(Object.keys(t.NODE_FIELDS[type]), type);
- const struct = [];
-
- fieldNames.forEach(fieldName => {
- const field = fields[fieldName];
- // Future / annoying TODO:
- // MemberExpression.property, ObjectProperty.key and ObjectMethod.key need special cases; either:
- // - convert the declaration to chain() like ClassProperty.key and ClassMethod.key,
- // - declare an alias type for valid keys, detect the case and reuse it here,
- // - declare a disjoint union with, for example, ObjectPropertyBase,
- // ObjectPropertyLiteralKey and ObjectPropertyComputedKey, and declare ObjectProperty
- // as "ObjectPropertyBase & (ObjectPropertyLiteralKey | ObjectPropertyComputedKey)"
- let typeAnnotation = stringifyValidator(field.validate, "");
-
- if (isNullable(field) && !hasDefault(field)) {
- typeAnnotation += " | null";
- }
-
- const alphaNumeric = /^\w+$/;
- const optional = field.optional ? "?" : "";
-
- if (t.isValidIdentifier(fieldName) || alphaNumeric.test(fieldName)) {
- struct.push(`${fieldName}${optional}: ${typeAnnotation};`);
- } else {
- struct.push(`"${fieldName}"${optional}: ${typeAnnotation};`);
- }
-
- registerParentMaps(type, getNodeTypesFromValidator(field.validate));
- });
-
- code += `export interface ${type} extends BaseNode {
- type: "${type}";
- ${struct.join("\n ").trim()}
-}\n\n`;
-
- if (deprecatedAlias[type]) {
- code += `/**
- * @deprecated Use \`${type}\`
- */
-export interface ${deprecatedAlias[type]} extends BaseNode {
- type: "${deprecatedAlias[type]}";
- ${struct.join("\n ").trim()}
-}\n\n
-`;
- }
- }
-
- for (const type in t.FLIPPED_ALIAS_KEYS) {
- const types = t.FLIPPED_ALIAS_KEYS[type];
- code += `export type ${type} = ${types
- .map(type => `${type}`)
- .join(" | ")};\n`;
- }
- code += "\n";
-
- code += "export interface Aliases {\n";
- for (const type in t.FLIPPED_ALIAS_KEYS) {
- code += ` ${type}: ${type};\n`;
- }
- code += "}\n\n";
- code += `export type DeprecatedAliases = ${Object.keys(
- t.DEPRECATED_KEYS
- ).join(" | ")}\n\n`;
-
- code += "export interface ParentMaps {\n";
-
- registerParentMaps("null", [...Object.keys(t.DEPRECATED_KEYS)]);
- // todo: provide a better parent type for Placeholder, currently it acts
- // as a catch-all parent type for an abstract NodePath, s.t NodePath.parent must
- // be a Node if type has not been specified
- registerParentMaps("Node", ["Placeholder"]);
-
- const parentMapsKeys = [...parentMaps.keys()].sort();
- for (const type of parentMapsKeys) {
- const deduplicated = [...parentMaps.get(type)].sort();
- code += ` ${type}: ${deduplicated.join(" | ")};\n`;
- }
- code += "}\n\n";
-
- return code;
-}
-
-function hasDefault(field) {
- return field.default != null;
-}
-
-function isNullable(field) {
- return field.optional || hasDefault(field);
-}
-
-function sortFieldNames(fields, type) {
- return fields.sort((fieldA, fieldB) => {
- const indexA = t.BUILDER_KEYS[type].indexOf(fieldA);
- const indexB = t.BUILDER_KEYS[type].indexOf(fieldB);
- if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
- if (indexA === -1) return 1;
- if (indexB === -1) return -1;
- return indexA - indexB;
- });
-}
diff --git a/includes/search/node_modules/@babel/types/scripts/generators/builders.js b/includes/search/node_modules/@babel/types/scripts/generators/builders.js
deleted file mode 100644
index 46566f5..0000000
--- a/includes/search/node_modules/@babel/types/scripts/generators/builders.js
+++ /dev/null
@@ -1,192 +0,0 @@
-import * as t from "../../lib/index.js";
-import * as definitions from "../../lib/definitions/index.js";
-import formatBuilderName from "../utils/formatBuilderName.js";
-import lowerFirst from "../utils/lowerFirst.js";
-import stringifyValidator from "../utils/stringifyValidator.js";
-
-function areAllRemainingFieldsNullable(fieldName, fieldNames, fields) {
- const index = fieldNames.indexOf(fieldName);
- return fieldNames.slice(index).every(_ => isNullable(fields[_]));
-}
-
-function hasDefault(field) {
- return field.default != null;
-}
-
-function isNullable(field) {
- return field.optional || hasDefault(field);
-}
-
-function sortFieldNames(fields, type) {
- return fields.sort((fieldA, fieldB) => {
- const indexA = t.BUILDER_KEYS[type].indexOf(fieldA);
- const indexB = t.BUILDER_KEYS[type].indexOf(fieldB);
- if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
- if (indexA === -1) return 1;
- if (indexB === -1) return -1;
- return indexA - indexB;
- });
-}
-
-function generateBuilderArgs(type) {
- const fields = t.NODE_FIELDS[type];
- const fieldNames = sortFieldNames(Object.keys(t.NODE_FIELDS[type]), type);
- const builderNames = t.BUILDER_KEYS[type];
-
- const args = [];
-
- fieldNames.forEach(fieldName => {
- const field = fields[fieldName];
- // Future / annoying TODO:
- // MemberExpression.property, ObjectProperty.key and ObjectMethod.key need special cases; either:
- // - convert the declaration to chain() like ClassProperty.key and ClassMethod.key,
- // - declare an alias type for valid keys, detect the case and reuse it here,
- // - declare a disjoint union with, for example, ObjectPropertyBase,
- // ObjectPropertyLiteralKey and ObjectPropertyComputedKey, and declare ObjectProperty
- // as "ObjectPropertyBase & (ObjectPropertyLiteralKey | ObjectPropertyComputedKey)"
- let typeAnnotation = stringifyValidator(field.validate, "t.");
-
- if (isNullable(field) && !hasDefault(field)) {
- typeAnnotation += " | null";
- }
-
- if (builderNames.includes(fieldName)) {
- const field = definitions.NODE_FIELDS[type][fieldName];
- const def = JSON.stringify(field.default);
- const bindingIdentifierName = t.toBindingIdentifierName(fieldName);
- let arg;
- if (areAllRemainingFieldsNullable(fieldName, builderNames, fields)) {
- arg = `${bindingIdentifierName}${
- isNullable(field) && !def ? "?:" : ":"
- } ${typeAnnotation}`;
- } else {
- arg = `${bindingIdentifierName}: ${typeAnnotation}${
- isNullable(field) ? " | undefined" : ""
- }`;
- }
- if (def !== "null" || isNullable(field)) {
- arg += `= ${def}`;
- }
- args.push(arg);
- }
- });
-
- return args;
-}
-
-export default function generateBuilders(kind) {
- return kind === "uppercase.js"
- ? generateUppercaseBuilders()
- : generateLowercaseBuilders();
-}
-
-function generateLowercaseBuilders() {
- let output = `/*
- * This file is auto-generated! Do not modify it directly.
- * To re-generate run 'make build'
- */
-import validateNode from "../validateNode";
-import type * as t from "../..";
-`;
-
- const reservedNames = new Set(["super", "import"]);
- Object.keys(definitions.BUILDER_KEYS).forEach(type => {
- const defArgs = generateBuilderArgs(type);
- const formatedBuilderName = formatBuilderName(type);
- const formatedBuilderNameLocal = reservedNames.has(formatedBuilderName)
- ? `_${formatedBuilderName}`
- : formatedBuilderName;
-
- const fieldNames = sortFieldNames(
- Object.keys(definitions.NODE_FIELDS[type]),
- type
- );
- const builderNames = definitions.BUILDER_KEYS[type];
- const objectFields = [["type", JSON.stringify(type)]];
- fieldNames.forEach(fieldName => {
- const field = definitions.NODE_FIELDS[type][fieldName];
- if (builderNames.includes(fieldName)) {
- const bindingIdentifierName = t.toBindingIdentifierName(fieldName);
- objectFields.push([fieldName, bindingIdentifierName]);
- } else if (!field.optional) {
- const def = JSON.stringify(field.default);
- objectFields.push([fieldName, def]);
- }
- });
-
- output += `${
- formatedBuilderNameLocal === formatedBuilderName ? "export " : ""
- }function ${formatedBuilderNameLocal}(${defArgs.join(", ")}): t.${type} {`;
-
- const nodeObjectExpression = `{\n${objectFields
- .map(([k, v]) => (k === v ? ` ${k},` : ` ${k}: ${v},`))
- .join("\n")}\n }`;
-
- if (builderNames.length > 0) {
- output += `\n return validateNode<t.${type}>(${nodeObjectExpression});`;
- } else {
- output += `\n return ${nodeObjectExpression};`;
- }
- output += `\n}\n`;
-
- if (formatedBuilderNameLocal !== formatedBuilderName) {
- output += `export { ${formatedBuilderNameLocal} as ${formatedBuilderName} };\n`;
- }
-
- // This is needed for backwards compatibility.
- // It should be removed in the next major version.
- // JSXIdentifier -> jSXIdentifier
- if (/^[A-Z]{2}/.test(type)) {
- output += `export { ${formatedBuilderNameLocal} as ${lowerFirst(
- type
- )} }\n`;
- }
- });
-
- Object.keys(definitions.DEPRECATED_KEYS).forEach(type => {
- const newType = definitions.DEPRECATED_KEYS[type];
- const formatedBuilderName = formatBuilderName(type);
- const formatedNewBuilderName = formatBuilderName(newType);
- output += `/** @deprecated */
-function ${type}(${generateBuilderArgs(newType).join(", ")}) {
- console.trace("The node type ${type} has been renamed to ${newType}");
- return ${formatedNewBuilderName}(${t.BUILDER_KEYS[newType].join(", ")});
-}
-export { ${type} as ${formatedBuilderName} };\n`;
- // This is needed for backwards compatibility.
- // It should be removed in the next major version.
- // JSXIdentifier -> jSXIdentifier
- if (/^[A-Z]{2}/.test(type)) {
- output += `export { ${type} as ${lowerFirst(type)} }\n`;
- }
- });
-
- return output;
-}
-
-function generateUppercaseBuilders() {
- let output = `/*
- * This file is auto-generated! Do not modify it directly.
- * To re-generate run 'make build'
- */
-
-/**
- * This file is written in JavaScript and not TypeScript because uppercase builders
- * conflict with AST types. TypeScript reads the uppercase.d.ts file instead.
- */
-
- export {\n`;
-
- Object.keys(definitions.BUILDER_KEYS).forEach(type => {
- const formatedBuilderName = formatBuilderName(type);
- output += ` ${formatedBuilderName} as ${type},\n`;
- });
-
- Object.keys(definitions.DEPRECATED_KEYS).forEach(type => {
- const formatedBuilderName = formatBuilderName(type);
- output += ` ${formatedBuilderName} as ${type},\n`;
- });
-
- output += ` } from './index';\n`;
- return output;
-}
diff --git a/includes/search/node_modules/@babel/types/scripts/generators/constants.js b/includes/search/node_modules/@babel/types/scripts/generators/constants.js
deleted file mode 100644
index 65b7a90..0000000
--- a/includes/search/node_modules/@babel/types/scripts/generators/constants.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import * as definitions from "../../lib/definitions/index.js";
-
-export default function generateConstants() {
- let output = `/*
- * This file is auto-generated! Do not modify it directly.
- * To re-generate run 'make build'
- */
-import { FLIPPED_ALIAS_KEYS } from "../../definitions";\n\n`;
-
- Object.keys(definitions.FLIPPED_ALIAS_KEYS).forEach(type => {
- output += `export const ${type.toUpperCase()}_TYPES = FLIPPED_ALIAS_KEYS["${type}"];\n`;
- });
-
- return output;
-}
diff --git a/includes/search/node_modules/@babel/types/scripts/generators/docs.js b/includes/search/node_modules/@babel/types/scripts/generators/docs.js
deleted file mode 100644
index 528ac0b..0000000
--- a/includes/search/node_modules/@babel/types/scripts/generators/docs.js
+++ /dev/null
@@ -1,283 +0,0 @@
-import util from "util";
-import stringifyValidator from "../utils/stringifyValidator.js";
-import toFunctionName from "../utils/toFunctionName.js";
-
-import * as t from "../../lib/index.js";
-
-const readme = [
- `---
-id: babel-types
-title: @babel/types
----
-<!-- Do not modify! This file is automatically generated by
- github.com/babel/babel/babel-types/scripts/generators/docs.js !-->
-
-> This module contains methods for building ASTs manually and for checking the types of AST nodes.
-
-## Install
-
-\`\`\`sh
-npm install --save-dev @babel/types
-\`\`\`
-
-## API`,
-];
-
-const customTypes = {
- ClassMethod: {
- key: "if computed then `Expression` else `Identifier | Literal`",
- },
- Identifier: {
- name: "`string`",
- },
- MemberExpression: {
- property: "if computed then `Expression` else `Identifier`",
- },
- ObjectMethod: {
- key: "if computed then `Expression` else `Identifier | Literal`",
- },
- ObjectProperty: {
- key: "if computed then `Expression` else `Identifier | Literal`",
- },
- ClassPrivateMethod: {
- computed: "'false'",
- },
- ClassPrivateProperty: {
- computed: "'false'",
- },
-};
-const APIHistory = {
- ClassProperty: [["v7.6.0", "Supports `static`"]],
-};
-function formatHistory(historyItems) {
- const lines = historyItems.map(
- item => "| `" + item[0] + "` | " + item[1] + " |"
- );
- return [
- "<details>",
- " <summary>History</summary>",
- "| Version | Changes |",
- "| --- | --- |",
- ...lines,
- "</details>",
- ];
-}
-function printAPIHistory(key, readme) {
- if (APIHistory[key]) {
- readme.push("");
- readme.push(...formatHistory(APIHistory[key]));
- }
-}
-function printNodeFields(key, readme) {
- if (Object.keys(t.NODE_FIELDS[key]).length > 0) {
- readme.push("");
- readme.push("AST Node `" + key + "` shape:");
- Object.keys(t.NODE_FIELDS[key])
- .sort(function (fieldA, fieldB) {
- const indexA = t.BUILDER_KEYS[key].indexOf(fieldA);
- const indexB = t.BUILDER_KEYS[key].indexOf(fieldB);
- if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
- if (indexA === -1) return 1;
- if (indexB === -1) return -1;
- return indexA - indexB;
- })
- .forEach(function (field) {
- const defaultValue = t.NODE_FIELDS[key][field].default;
- const fieldDescription = ["`" + field + "`"];
- const validator = t.NODE_FIELDS[key][field].validate;
- if (customTypes[key] && customTypes[key][field]) {
- fieldDescription.push(`: ${customTypes[key][field]}`);
- } else if (validator) {
- try {
- fieldDescription.push(
- ": `" + stringifyValidator(validator, "") + "`"
- );
- } catch (ex) {
- if (ex.code === "UNEXPECTED_VALIDATOR_TYPE") {
- console.log(
- "Unrecognised validator type for " + key + "." + field
- );
- console.dir(ex.validator, { depth: 10, colors: true });
- }
- }
- }
- if (defaultValue !== null || t.NODE_FIELDS[key][field].optional) {
- fieldDescription.push(
- " (default: `" + util.inspect(defaultValue) + "`"
- );
- if (t.BUILDER_KEYS[key].indexOf(field) < 0) {
- fieldDescription.push(", excluded from builder function");
- }
- fieldDescription.push(")");
- } else {
- fieldDescription.push(" (required)");
- }
- readme.push("- " + fieldDescription.join(""));
- });
- }
-}
-
-function printAliasKeys(key, readme) {
- if (t.ALIAS_KEYS[key] && t.ALIAS_KEYS[key].length) {
- readme.push("");
- readme.push(
- "Aliases: " +
- t.ALIAS_KEYS[key]
- .map(function (key) {
- return "[`" + key + "`](#" + key.toLowerCase() + ")";
- })
- .join(", ")
- );
- }
-}
-readme.push("### Node Builders");
-readme.push("");
-Object.keys(t.BUILDER_KEYS)
- .sort()
- .forEach(function (key) {
- readme.push("#### " + toFunctionName(key));
- readme.push("");
- readme.push("```javascript");
- readme.push(
- "t." + toFunctionName(key) + "(" + t.BUILDER_KEYS[key].join(", ") + ");"
- );
- readme.push("```");
- printAPIHistory(key, readme);
- readme.push("");
- readme.push(
- "See also `t.is" +
- key +
- "(node, opts)` and `t.assert" +
- key +
- "(node, opts)`."
- );
-
- printNodeFields(key, readme);
- printAliasKeys(key, readme);
-
- readme.push("");
- readme.push("---");
- readme.push("");
- });
-
-function generateMapAliasToNodeTypes() {
- const result = new Map();
- for (const nodeType of Object.keys(t.ALIAS_KEYS)) {
- const aliases = t.ALIAS_KEYS[nodeType];
- if (!aliases) continue;
- for (const alias of aliases) {
- if (!result.has(alias)) {
- result.set(alias, []);
- }
- const nodeTypes = result.get(alias);
- nodeTypes.push(nodeType);
- }
- }
- return result;
-}
-const aliasDescriptions = {
- Accessor: "Deprecated. Will be removed in Babel 8.",
- Binary:
- "A cover of BinaryExpression and LogicalExpression, which share the same AST shape.",
- Block: "Deprecated. Will be removed in Babel 8.",
- BlockParent:
- "A cover of AST nodes that start an execution context with new [LexicalEnvironment](https://tc39.es/ecma262/#table-additional-state-components-for-ecmascript-code-execution-contexts). In other words, they define the scope of `let` and `const` declarations.",
- Class:
- "A cover of ClassExpression and ClassDeclaration, which share the same AST shape.",
- CompletionStatement:
- "A statement that indicates the [completion records](https://tc39.es/ecma262/#sec-completion-record-specification-type). In other words, they define the control flow of the program, such as when should a loop break or an action throws critical errors.",
- Conditional:
- "A cover of ConditionalExpression and IfStatement, which share the same AST shape.",
- Declaration:
- "A cover of any [Declaration](https://tc39.es/ecma262/#prod-Declaration)s.",
- EnumBody: "A cover of Flow enum bodies.",
- EnumMember: "A cover of Flow enum membors.",
- ExportDeclaration:
- "A cover of any [ExportDeclaration](https://tc39.es/ecma262/#prod-ExportDeclaration)s.",
- Expression:
- "A cover of any [Expression](https://tc39.es/ecma262/#sec-ecmascript-language-expressions)s.",
- ExpressionWrapper:
- "A wrapper of expression that does not have runtime semantics.",
- Flow: "A cover of AST nodes defined for Flow.",
- FlowBaseAnnotation: "A cover of primary Flow type annotations.",
- FlowDeclaration: "A cover of Flow declarations.",
- FlowPredicate: "A cover of Flow predicates.",
- FlowType: "A cover of Flow type annotations.",
- For: "A cover of [ForStatement](https://tc39.es/ecma262/#sec-for-statement)s and [ForXStatement](#forxstatement)s.",
- ForXStatement:
- "A cover of [ForInStatements and ForOfStatements](https://tc39.es/ecma262/#sec-for-in-and-for-of-statements).",
- Function:
- "A cover of functions and [method](#method)s, the must have `body` and `params`. Note: `Function` is different to `FunctionParent`. For example, a `StaticBlock` is a `FunctionParent` but not `Function`.",
- FunctionParent:
- "A cover of AST nodes that start an execution context with new [VariableEnvironment](https://tc39.es/ecma262/#table-additional-state-components-for-ecmascript-code-execution-contexts). In other words, they define the scope of `var` declarations. FunctionParent did not include `Program` since Babel 7.",
- Immutable:
- "A cover of immutable objects and JSX elements. An object is [immutable](https://tc39.es/ecma262/#immutable-prototype-exotic-object) if no other properties can be defined once created.",
- JSX: "A cover of AST nodes defined for [JSX](https://facebook.github.io/jsx/).",
- LVal: "A cover of left hand side expressions used in the `left` of assignment expressions and [ForXStatement](#forxstatement)s. ",
- Literal:
- "A cover of [Literal](https://tc39.es/ecma262/#sec-primary-expression-literals)s, [Regular Expression Literal](https://tc39.es/ecma262/#sec-primary-expression-regular-expression-literals)s and [Template Literal](https://tc39.es/ecma262/#sec-template-literals)s.",
- Loop: "A cover of loop statements.",
- Method: "A cover of object methods and class methods.",
- Miscellaneous:
- "A cover of non-standard AST types that are sometimes useful for development.",
- ModuleDeclaration:
- "A cover of ImportDeclaration and [ExportDeclaration](#exportdeclaration)",
- ModuleSpecifier:
- "A cover of import and export specifiers. Note: It is _not_ the [ModuleSpecifier](https://tc39.es/ecma262/#prod-ModuleSpecifier) defined in the spec.",
- ObjectMember:
- "A cover of [members](https://tc39.es/ecma262/#prod-PropertyDefinitionList) in an object literal.",
- Pattern:
- "A cover of [BindingPattern](https://tc39.es/ecma262/#prod-BindingPattern) except Identifiers.",
- PatternLike:
- "A cover of [BindingPattern](https://tc39.es/ecma262/#prod-BindingPattern)s. ",
- Private: "A cover of private class elements and private identifiers.",
- Property: "A cover of object properties and class properties.",
- Pureish:
- "A cover of AST nodes which do not have side-effects. In other words, there is no observable behaviour changes if they are evaluated more than once.",
- Scopable:
- "A cover of [FunctionParent](#functionparent) and [BlockParent](#blockparent).",
- Standardized:
- "A cover of AST nodes which are part of an official ECMAScript specification.",
- Statement:
- "A cover of any [Statement](https://tc39.es/ecma262/#prod-Statement)s.",
- TSBaseType: "A cover of primary TypeScript type annotations.",
- TSEntityName: "A cover of ts entities.",
- TSType: "A cover of TypeScript type annotations.",
- TSTypeElement: "A cover of TypeScript type declarations.",
- TypeScript: "A cover of AST nodes defined for TypeScript.",
- Terminatorless:
- "A cover of AST nodes whose semantic will change when a line terminator is inserted between the operator and the operand.",
- UnaryLike: "A cover of UnaryExpression and SpreadElement.",
- UserWhitespacable: "Deprecated. Will be removed in Babel 8.",
- While:
- "A cover of DoWhileStatement and WhileStatement, which share the same AST shape.",
-};
-const mapAliasToNodeTypes = generateMapAliasToNodeTypes();
-readme.push("### Aliases");
-readme.push("");
-for (const alias of [...mapAliasToNodeTypes.keys()].sort()) {
- const nodeTypes = mapAliasToNodeTypes.get(alias);
- nodeTypes.sort();
- if (!(alias in aliasDescriptions)) {
- throw new Error(
- 'Missing alias descriptions of "' +
- alias +
- ", which covers " +
- nodeTypes.join(",")
- );
- }
- readme.push("#### " + alias);
- readme.push("");
- readme.push(aliasDescriptions[alias]);
- readme.push("```javascript");
- readme.push("t.is" + alias + "(node);");
- readme.push("```");
- readme.push("");
- readme.push("Covered nodes: ");
- for (const nodeType of nodeTypes) {
- readme.push("- [`" + nodeType + "`](#" + nodeType.toLowerCase() + ")");
- }
- readme.push("");
-}
-
-process.stdout.write(readme.join("\n"));
diff --git a/includes/search/node_modules/@babel/types/scripts/generators/flow.js b/includes/search/node_modules/@babel/types/scripts/generators/flow.js
deleted file mode 100644
index 06cd388..0000000
--- a/includes/search/node_modules/@babel/types/scripts/generators/flow.js
+++ /dev/null
@@ -1,260 +0,0 @@
-import * as t from "../../lib/index.js";
-import stringifyValidator from "../utils/stringifyValidator.js";
-import toFunctionName from "../utils/toFunctionName.js";
-
-const NODE_PREFIX = "BabelNode";
-
-let code = `// NOTE: This file is autogenerated. Do not modify.
-// See packages/babel-types/scripts/generators/flow.js for script used.
-
-declare class ${NODE_PREFIX}Comment {
- value: string;
- start: number;
- end: number;
- loc: ${NODE_PREFIX}SourceLocation;
-}
-
-declare class ${NODE_PREFIX}CommentBlock extends ${NODE_PREFIX}Comment {
- type: "CommentBlock";
-}
-
-declare class ${NODE_PREFIX}CommentLine extends ${NODE_PREFIX}Comment {
- type: "CommentLine";
-}
-
-declare class ${NODE_PREFIX}SourceLocation {
- start: {
- line: number;
- column: number;
- };
-
- end: {
- line: number;
- column: number;
- };
-}
-
-declare class ${NODE_PREFIX} {
- leadingComments?: Array<${NODE_PREFIX}Comment>;
- innerComments?: Array<${NODE_PREFIX}Comment>;
- trailingComments?: Array<${NODE_PREFIX}Comment>;
- start: ?number;
- end: ?number;
- loc: ?${NODE_PREFIX}SourceLocation;
- extra?: { [string]: mixed };
-}\n\n`;
-
-//
-
-const lines = [];
-
-for (const type in t.NODE_FIELDS) {
- const fields = t.NODE_FIELDS[type];
-
- const struct = ['type: "' + type + '";'];
- const args = [];
- const builderNames = t.BUILDER_KEYS[type];
-
- Object.keys(t.NODE_FIELDS[type])
- .sort((fieldA, fieldB) => {
- const indexA = t.BUILDER_KEYS[type].indexOf(fieldA);
- const indexB = t.BUILDER_KEYS[type].indexOf(fieldB);
- if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
- if (indexA === -1) return 1;
- if (indexB === -1) return -1;
- return indexA - indexB;
- })
- .forEach(fieldName => {
- const field = fields[fieldName];
-
- let suffix = "";
- if (field.optional || field.default != null) suffix += "?";
-
- let typeAnnotation = "any";
-
- const validate = field.validate;
- if (validate) {
- typeAnnotation = stringifyValidator(validate, NODE_PREFIX);
- }
-
- if (typeAnnotation) {
- suffix += ": " + typeAnnotation;
- }
- if (builderNames.includes(fieldName)) {
- args.push(t.toBindingIdentifierName(fieldName) + suffix);
- }
-
- if (t.isValidIdentifier(fieldName)) {
- struct.push(fieldName + suffix + ";");
- }
- });
-
- code += `declare class ${NODE_PREFIX}${type} extends ${NODE_PREFIX} {
- ${struct.join("\n ").trim()}
-}\n\n`;
-
- // Flow chokes on super() and import() :/
- if (type !== "Super" && type !== "Import") {
- lines.push(
- `declare export function ${toFunctionName(type)}(${args.join(
- ", "
- )}): ${NODE_PREFIX}${type};`
- );
- } else {
- const functionName = toFunctionName(type);
- lines.push(
- `declare function _${functionName}(${args.join(
- ", "
- )}): ${NODE_PREFIX}${type};`,
- `declare export { _${functionName} as ${functionName} }`
- );
- }
-}
-
-for (const typeName of t.TYPES) {
- const isDeprecated = !!t.DEPRECATED_KEYS[typeName];
- const realName = isDeprecated ? t.DEPRECATED_KEYS[typeName] : typeName;
-
- let decl = `declare export function is${typeName}(node: ?Object, opts?: ?Object): boolean`;
- if (t.NODE_FIELDS[realName]) {
- decl += ` %checks (node instanceof ${NODE_PREFIX}${realName})`;
- }
- lines.push(decl);
-
- lines.push(
- `declare export function assert${typeName}(node: ?Object, opts?: ?Object): void`
- );
-}
-
-lines.push(
- `declare export var VISITOR_KEYS: { [type: string]: string[] }`,
-
- // assert/
- `declare export function assertNode(obj: any): void`,
-
- // builders/
- // eslint-disable-next-line max-len
- `declare export function createTypeAnnotationBasedOnTypeof(type: 'string' | 'number' | 'undefined' | 'boolean' | 'function' | 'object' | 'symbol'): ${NODE_PREFIX}TypeAnnotation`,
- // eslint-disable-next-line max-len
- `declare export function createUnionTypeAnnotation(types: Array<${NODE_PREFIX}FlowType>): ${NODE_PREFIX}UnionTypeAnnotation`,
- // eslint-disable-next-line max-len
- `declare export function createFlowUnionType(types: Array<${NODE_PREFIX}FlowType>): ${NODE_PREFIX}UnionTypeAnnotation`,
- // this smells like "internal API"
- // eslint-disable-next-line max-len
- `declare export function buildChildren(node: { children: Array<${NODE_PREFIX}JSXText | ${NODE_PREFIX}JSXExpressionContainer | ${NODE_PREFIX}JSXSpreadChild | ${NODE_PREFIX}JSXElement | ${NODE_PREFIX}JSXFragment | ${NODE_PREFIX}JSXEmptyExpression> }): Array<${NODE_PREFIX}JSXText | ${NODE_PREFIX}JSXExpressionContainer | ${NODE_PREFIX}JSXSpreadChild | ${NODE_PREFIX}JSXElement | ${NODE_PREFIX}JSXFragment>`,
-
- // clone/
- `declare export function clone<T>(n: T): T;`,
- `declare export function cloneDeep<T>(n: T): T;`,
- `declare export function cloneDeepWithoutLoc<T>(n: T): T;`,
- `declare export function cloneNode<T>(n: T, deep?: boolean, withoutLoc?: boolean): T;`,
- `declare export function cloneWithoutLoc<T>(n: T): T;`,
-
- // comments/
- `declare type CommentTypeShorthand = 'leading' | 'inner' | 'trailing'`,
- // eslint-disable-next-line max-len
- `declare export function addComment<T: BabelNode>(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T`,
- // eslint-disable-next-line max-len
- `declare export function addComments<T: BabelNode>(node: T, type: CommentTypeShorthand, comments: Array<Comment>): T`,
- `declare export function inheritInnerComments(node: BabelNode, parent: BabelNode): void`,
- `declare export function inheritLeadingComments(node: BabelNode, parent: BabelNode): void`,
- `declare export function inheritsComments<T: BabelNode>(node: T, parent: BabelNode): void`,
- `declare export function inheritTrailingComments(node: BabelNode, parent: BabelNode): void`,
- `declare export function removeComments<T: BabelNode>(node: T): T`,
-
- // converters/
- `declare export function ensureBlock(node: ${NODE_PREFIX}, key: string): ${NODE_PREFIX}BlockStatement`,
- `declare export function toBindingIdentifierName(name?: ?string): string`,
- // eslint-disable-next-line max-len
- `declare export function toBlock(node: ${NODE_PREFIX}Statement | ${NODE_PREFIX}Expression, parent?: ${NODE_PREFIX}Function | null): ${NODE_PREFIX}BlockStatement`,
- // eslint-disable-next-line max-len
- `declare export function toComputedKey(node: ${NODE_PREFIX}Method | ${NODE_PREFIX}Property, key?: ${NODE_PREFIX}Expression | ${NODE_PREFIX}Identifier): ${NODE_PREFIX}Expression`,
- // eslint-disable-next-line max-len
- `declare export function toExpression(node: ${NODE_PREFIX}ExpressionStatement | ${NODE_PREFIX}Expression | ${NODE_PREFIX}Class | ${NODE_PREFIX}Function): ${NODE_PREFIX}Expression`,
- `declare export function toIdentifier(name?: ?string): string`,
- // eslint-disable-next-line max-len
- `declare export function toKeyAlias(node: ${NODE_PREFIX}Method | ${NODE_PREFIX}Property, key?: ${NODE_PREFIX}): string`,
- // toSequenceExpression relies on types that aren't declared in flow
- // eslint-disable-next-line max-len
- `declare export function toStatement(node: ${NODE_PREFIX}Statement | ${NODE_PREFIX}Class | ${NODE_PREFIX}Function | ${NODE_PREFIX}AssignmentExpression, ignore?: boolean): ${NODE_PREFIX}Statement | void`,
- `declare export function valueToNode(value: any): ${NODE_PREFIX}Expression`,
-
- // modifications/
- // eslint-disable-next-line max-len
- `declare export function removeTypeDuplicates(types: Array<${NODE_PREFIX}FlowType>): Array<${NODE_PREFIX}FlowType>`,
- // eslint-disable-next-line max-len
- `declare export function appendToMemberExpression(member: ${NODE_PREFIX}MemberExpression, append: ${NODE_PREFIX}, computed?: boolean): ${NODE_PREFIX}MemberExpression`,
- // eslint-disable-next-line max-len
- `declare export function inherits<T: BabelNode>(child: T, parent: ${NODE_PREFIX} | null | void): T`,
- // eslint-disable-next-line max-len
- `declare export function prependToMemberExpression(member: ${NODE_PREFIX}MemberExpression, prepend: ${NODE_PREFIX}Expression): ${NODE_PREFIX}MemberExpression`,
- `declare export function removeProperties<T>(n: T, opts: ?{}): void;`,
- `declare export function removePropertiesDeep<T>(n: T, opts: ?{}): T;`,
-
- // retrievers/
- // eslint-disable-next-line max-len
- `declare export var getBindingIdentifiers: {
- (node: ${NODE_PREFIX}, duplicates?: boolean, outerOnly?: boolean): { [key: string]: ${NODE_PREFIX}Identifier | Array<${NODE_PREFIX}Identifier> },
- keys: { [type: string]: string[] }
- }`,
- // eslint-disable-next-line max-len
- `declare export function getOuterBindingIdentifiers(node: BabelNode, duplicates?: boolean): { [key: string]: ${NODE_PREFIX}Identifier | Array<${NODE_PREFIX}Identifier> }`,
-
- // traverse/
- `declare type TraversalAncestors = Array<{
- node: BabelNode,
- key: string,
- index?: number,
- }>;
- declare type TraversalHandler<T> = (BabelNode, TraversalAncestors, T) => void;
- declare type TraversalHandlers<T> = {
- enter?: TraversalHandler<T>,
- exit?: TraversalHandler<T>,
- };`.replace(/(^|\n) {2}/g, "$1"),
- // eslint-disable-next-line
- `declare export function traverse<T>(n: BabelNode, TraversalHandler<T> | TraversalHandlers<T>, state?: T): void;`,
- `declare export function traverseFast<T>(n: BabelNode, h: TraversalHandler<T>, state?: T): void;`,
-
- // utils/
- // cleanJSXElementLiteralChild is not exported
- // inherit is not exported
- `declare export function shallowEqual(actual: Object, expected: Object): boolean`,
-
- // validators/
- // eslint-disable-next-line max-len
- `declare export function buildMatchMemberExpression(match: string, allowPartial?: boolean): (?BabelNode) => boolean`,
- `declare export function is(type: string, n: BabelNode, opts: Object): boolean;`,
- `declare export function isBinding(node: BabelNode, parent: BabelNode, grandparent?: BabelNode): boolean`,
- `declare export function isBlockScoped(node: BabelNode): boolean`,
- `declare export function isImmutable(node: BabelNode): boolean`,
- `declare export function isLet(node: BabelNode): boolean`,
- `declare export function isNode(node: ?Object): boolean`,
- `declare export function isNodesEquivalent(a: any, b: any): boolean`,
- `declare export function isPlaceholderType(placeholderType: string, targetType: string): boolean`,
- `declare export function isReferenced(node: BabelNode, parent: BabelNode, grandparent?: BabelNode): boolean`,
- `declare export function isScope(node: BabelNode, parent: BabelNode): boolean`,
- `declare export function isSpecifierDefault(specifier: BabelNodeModuleSpecifier): boolean`,
- `declare export function isType(nodetype: ?string, targetType: string): boolean`,
- `declare export function isValidES3Identifier(name: string): boolean`,
- `declare export function isValidES3Identifier(name: string): boolean`,
- `declare export function isValidIdentifier(name: string): boolean`,
- `declare export function isVar(node: BabelNode): boolean`,
- // eslint-disable-next-line max-len
- `declare export function matchesPattern(node: ?BabelNode, match: string | Array<string>, allowPartial?: boolean): boolean`,
- `declare export function validate(n: BabelNode, key: string, value: mixed): void;`
-);
-
-for (const type in t.FLIPPED_ALIAS_KEYS) {
- const types = t.FLIPPED_ALIAS_KEYS[type];
- code += `type ${NODE_PREFIX}${type} = ${types
- .map(type => `${NODE_PREFIX}${type}`)
- .join(" | ")};\n`;
-}
-
-code += `\ndeclare module "@babel/types" {
- ${lines.join("\n").replace(/\n/g, "\n ").trim()}
-}\n`;
-
-//
-
-process.stdout.write(code);
diff --git a/includes/search/node_modules/@babel/types/scripts/generators/typescript-legacy.js b/includes/search/node_modules/@babel/types/scripts/generators/typescript-legacy.js
deleted file mode 100644
index 7701047..0000000
--- a/includes/search/node_modules/@babel/types/scripts/generators/typescript-legacy.js
+++ /dev/null
@@ -1,369 +0,0 @@
-import * as t from "../../lib/index.js";
-import stringifyValidator from "../utils/stringifyValidator.js";
-import toFunctionName from "../utils/toFunctionName.js";
-
-let code = `// NOTE: This file is autogenerated. Do not modify.
-// See packages/babel-types/scripts/generators/typescript-legacy.js for script used.
-
-interface BaseComment {
- value: string;
- start: number;
- end: number;
- loc: SourceLocation;
- type: "CommentBlock" | "CommentLine";
-}
-
-export interface CommentBlock extends BaseComment {
- type: "CommentBlock";
-}
-
-export interface CommentLine extends BaseComment {
- type: "CommentLine";
-}
-
-export type Comment = CommentBlock | CommentLine;
-
-export interface SourceLocation {
- start: {
- line: number;
- column: number;
- };
-
- end: {
- line: number;
- column: number;
- };
-}
-
-interface BaseNode {
- leadingComments: ReadonlyArray<Comment> | null;
- innerComments: ReadonlyArray<Comment> | null;
- trailingComments: ReadonlyArray<Comment> | null;
- start: number | null;
- end: number | null;
- loc: SourceLocation | null;
- type: Node["type"];
- extra?: Record<string, unknown>;
-}
-
-export type Node = ${t.TYPES.sort().join(" | ")};\n\n`;
-
-//
-
-const lines = [];
-
-for (const type in t.NODE_FIELDS) {
- const fields = t.NODE_FIELDS[type];
- const fieldNames = sortFieldNames(Object.keys(t.NODE_FIELDS[type]), type);
- const builderNames = t.BUILDER_KEYS[type];
-
- const struct = ['type: "' + type + '";'];
- const args = [];
-
- fieldNames.forEach(fieldName => {
- const field = fields[fieldName];
- // Future / annoying TODO:
- // MemberExpression.property, ObjectProperty.key and ObjectMethod.key need special cases; either:
- // - convert the declaration to chain() like ClassProperty.key and ClassMethod.key,
- // - declare an alias type for valid keys, detect the case and reuse it here,
- // - declare a disjoint union with, for example, ObjectPropertyBase,
- // ObjectPropertyLiteralKey and ObjectPropertyComputedKey, and declare ObjectProperty
- // as "ObjectPropertyBase & (ObjectPropertyLiteralKey | ObjectPropertyComputedKey)"
- let typeAnnotation = stringifyValidator(field.validate, "");
-
- if (isNullable(field) && !hasDefault(field)) {
- typeAnnotation += " | null";
- }
-
- if (builderNames.includes(fieldName)) {
- if (areAllRemainingFieldsNullable(fieldName, builderNames, fields)) {
- args.push(
- `${t.toBindingIdentifierName(fieldName)}${
- isNullable(field) ? "?:" : ":"
- } ${typeAnnotation}`
- );
- } else {
- args.push(
- `${t.toBindingIdentifierName(fieldName)}: ${typeAnnotation}${
- isNullable(field) ? " | undefined" : ""
- }`
- );
- }
- }
-
- const alphaNumeric = /^\w+$/;
-
- if (t.isValidIdentifier(fieldName) || alphaNumeric.test(fieldName)) {
- struct.push(`${fieldName}: ${typeAnnotation};`);
- } else {
- struct.push(`"${fieldName}": ${typeAnnotation};`);
- }
- });
-
- code += `export interface ${type} extends BaseNode {
- ${struct.join("\n ").trim()}
-}\n\n`;
-
- // super and import are reserved words in JavaScript
- if (type !== "Super" && type !== "Import") {
- lines.push(
- `export function ${toFunctionName(type)}(${args.join(", ")}): ${type};`
- );
- } else {
- const functionName = toFunctionName(type);
- lines.push(
- `declare function _${functionName}(${args.join(", ")}): ${type};`,
- `export { _${functionName} as ${functionName}}`
- );
- }
-}
-
-for (const typeName of t.TYPES) {
- const isDeprecated = !!t.DEPRECATED_KEYS[typeName];
- const realName = isDeprecated ? t.DEPRECATED_KEYS[typeName] : typeName;
-
- const result =
- t.NODE_FIELDS[realName] || t.FLIPPED_ALIAS_KEYS[realName]
- ? `node is ${realName}`
- : "boolean";
-
- if (isDeprecated) {
- lines.push(`/** @deprecated Use \`is${realName}\` */`);
- }
- lines.push(
- `export function is${typeName}(node: object | null | undefined, opts?: object | null): ${result};`
- );
-
- if (isDeprecated) {
- lines.push(`/** @deprecated Use \`assert${realName}\` */`);
- }
- lines.push(
- `export function assert${typeName}(node: object | null | undefined, opts?: object | null): void;`
- );
-}
-
-lines.push(
- // assert/
- `export function assertNode(obj: any): void`,
-
- // builders/
- // eslint-disable-next-line max-len
- `export function createTypeAnnotationBasedOnTypeof(type: 'string' | 'number' | 'undefined' | 'boolean' | 'function' | 'object' | 'symbol'): StringTypeAnnotation | VoidTypeAnnotation | NumberTypeAnnotation | BooleanTypeAnnotation | GenericTypeAnnotation`,
- `export function createUnionTypeAnnotation<T extends FlowType>(types: [T]): T`,
- `export function createFlowUnionType<T extends FlowType>(types: [T]): T`,
- // this probably misbehaves if there are 0 elements, and it's not a UnionTypeAnnotation if there's only 1
- // it is possible to require "2 or more" for this overload ([T, T, ...T[]]) but it requires typescript 3.0
- `export function createUnionTypeAnnotation(types: ReadonlyArray<FlowType>): UnionTypeAnnotation`,
- `export function createFlowUnionType(types: ReadonlyArray<FlowType>): UnionTypeAnnotation`,
- // this smells like "internal API"
- // eslint-disable-next-line max-len
- `export function buildChildren(node: { children: ReadonlyArray<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment | JSXEmptyExpression> }): JSXElement['children']`,
-
- // clone/
- `export function clone<T extends Node>(n: T): T;`,
- `export function cloneDeep<T extends Node>(n: T): T;`,
- `export function cloneDeepWithoutLoc<T extends Node>(n: T): T;`,
- `export function cloneNode<T extends Node>(n: T, deep?: boolean, withoutLoc?: boolean): T;`,
- `export function cloneWithoutLoc<T extends Node>(n: T): T;`,
-
- // comments/
- `export type CommentTypeShorthand = 'leading' | 'inner' | 'trailing'`,
- // eslint-disable-next-line max-len
- `export function addComment<T extends Node>(node: T, type: CommentTypeShorthand, content: string, line?: boolean): T`,
- // eslint-disable-next-line max-len
- `export function addComments<T extends Node>(node: T, type: CommentTypeShorthand, comments: ReadonlyArray<Comment>): T`,
- `export function inheritInnerComments(node: Node, parent: Node): void`,
- `export function inheritLeadingComments(node: Node, parent: Node): void`,
- `export function inheritsComments<T extends Node>(node: T, parent: Node): void`,
- `export function inheritTrailingComments(node: Node, parent: Node): void`,
- `export function removeComments<T extends Node>(node: T): T`,
-
- // converters/
- // eslint-disable-next-line max-len
- `export function ensureBlock(node: Extract<Node, { body: BlockStatement | Statement | Expression }>): BlockStatement`,
- // too complex?
- // eslint-disable-next-line max-len
- `export function ensureBlock<K extends keyof Extract<Node, { body: BlockStatement | Statement | Expression }> = 'body'>(node: Extract<Node, Record<K, BlockStatement | Statement | Expression>>, key: K): BlockStatement`,
- // gatherSequenceExpressions is not exported
- `export function toBindingIdentifierName(name: { toString(): string } | null | undefined): string`,
- `export function toBlock(node: Statement | Expression, parent?: Function | null): BlockStatement`,
- // it is possible for `node` to be an arbitrary object if `key` is always provided,
- // but that doesn't look like intended API
- // eslint-disable-next-line max-len
- `export function toComputedKey<T extends Extract<Node, { computed: boolean | null }>>(node: T, key?: Expression | Identifier): Expression`,
- `export function toExpression(node: Function): FunctionExpression`,
- `export function toExpression(node: Class): ClassExpression`,
- `export function toExpression(node: ExpressionStatement | Expression | Class | Function): Expression`,
- `export function toIdentifier(name: { toString(): string } | null | undefined): string`,
- `export function toKeyAlias(node: Method | Property, key?: Node): string`,
- // NOTE: this actually uses Scope from @babel/traverse, but we can't add a dependency on its types,
- // as they live in @types. Declare the structural subset that is required.
- // eslint-disable-next-line max-len
- `export function toSequenceExpression(nodes: ReadonlyArray<Node>, scope: { push(value: { id: LVal; kind: 'var'; init?: Expression}): void; buildUndefinedNode(): Node }): SequenceExpression | undefined`,
- `export function toStatement(node: AssignmentExpression, ignore?: boolean): ExpressionStatement`,
- `export function toStatement(node: Statement | AssignmentExpression, ignore?: boolean): Statement`,
- `export function toStatement(node: Class, ignore: true): ClassDeclaration | undefined`,
- `export function toStatement(node: Class, ignore?: boolean): ClassDeclaration`,
- `export function toStatement(node: Function, ignore: true): FunctionDeclaration | undefined`,
- `export function toStatement(node: Function, ignore?: boolean): FunctionDeclaration`,
- // eslint-disable-next-line max-len
- `export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore: true): Statement | undefined`,
- // eslint-disable-next-line max-len
- `export function toStatement(node: Statement | Class | Function | AssignmentExpression, ignore?: boolean): Statement`,
- // eslint-disable-next-line max-len
- `export function valueToNode(value: undefined): Identifier`, // (should this not be a UnaryExpression to avoid shadowing?)
- `export function valueToNode(value: boolean): BooleanLiteral`,
- `export function valueToNode(value: null): NullLiteral`,
- `export function valueToNode(value: string): StringLiteral`,
- // Infinities and NaN need to use a BinaryExpression; negative values must be wrapped in UnaryExpression
- `export function valueToNode(value: number): NumericLiteral | BinaryExpression | UnaryExpression`,
- `export function valueToNode(value: RegExp): RegExpLiteral`,
- // eslint-disable-next-line max-len
- `export function valueToNode(value: ReadonlyArray<undefined | boolean | null | string | number | RegExp | object>): ArrayExpression`,
- // this throws with objects that are not PlainObject according to lodash,
- // or if there are non-valueToNode-able values
- `export function valueToNode(value: object): ObjectExpression`,
- // eslint-disable-next-line max-len
- `export function valueToNode(value: undefined | boolean | null | string | number | RegExp | object): Expression`,
-
- // modifications/
- // eslint-disable-next-line max-len
- `export function removeTypeDuplicates(types: ReadonlyArray<FlowType | false | null | undefined>): FlowType[]`,
- // eslint-disable-next-line max-len
- `export function appendToMemberExpression<T extends Pick<MemberExpression, 'object' | 'property'>>(member: T, append: MemberExpression['property'], computed?: boolean): T`,
- // eslint-disable-next-line max-len
- `export function inherits<T extends Node | null | undefined>(child: T, parent: Node | null | undefined): T`,
- // eslint-disable-next-line max-len
- `export function prependToMemberExpression<T extends Pick<MemberExpression, 'object' | 'property'>>(member: T, prepend: MemberExpression['object']): T`,
- `export function removeProperties(
- n: Node,
- opts?: { preserveComments: boolean } | null
-): void;`,
- `export function removePropertiesDeep<T extends Node>(
- n: T,
- opts?: { preserveComments: boolean } | null
-): T;`,
-
- // retrievers/
- // eslint-disable-next-line max-len
- `export function getBindingIdentifiers(node: Node, duplicates: true, outerOnly?: boolean): Record<string, Array<Identifier>>`,
- // eslint-disable-next-line max-len
- `export function getBindingIdentifiers(node: Node, duplicates?: false, outerOnly?: boolean): Record<string, Identifier>`,
- // eslint-disable-next-line max-len
- `export function getBindingIdentifiers(node: Node, duplicates: boolean, outerOnly?: boolean): Record<string, Identifier | Array<Identifier>>`,
- // eslint-disable-next-line max-len
- `export function getOuterBindingIdentifiers(node: Node, duplicates: true): Record<string, Array<Identifier>>`,
- `export function getOuterBindingIdentifiers(node: Node, duplicates?: false): Record<string, Identifier>`,
- // eslint-disable-next-line max-len
- `export function getOuterBindingIdentifiers(node: Node, duplicates: boolean): Record<string, Identifier | Array<Identifier>>`,
-
- // traverse/
- `export type TraversalAncestors = ReadonlyArray<{
- node: Node,
- key: string,
- index?: number,
- }>;
- export type TraversalHandler<T> = (
- this: undefined, node: Node, parent: TraversalAncestors, type: T
- ) => void;
- export type TraversalHandlers<T> = {
- enter?: TraversalHandler<T>,
- exit?: TraversalHandler<T>,
- };`.replace(/(^|\n) {2}/g, "$1"),
- // eslint-disable-next-line
- `export function traverse<T>(n: Node, h: TraversalHandler<T> | TraversalHandlers<T>, state?: T): void;`,
- `export function traverseFast<T>(n: Node, h: TraversalHandler<T>, state?: T): void;`,
-
- // utils/
- // cleanJSXElementLiteralChild is not exported
- // inherit is not exported
- `export function shallowEqual<T extends object>(actual: object, expected: T): actual is T`,
-
- // validators/
- // eslint-disable-next-line max-len
- `export function buildMatchMemberExpression(match: string, allowPartial?: boolean): (node: Node | null | undefined) => node is MemberExpression`,
- // eslint-disable-next-line max-len
- `export function is<T extends Node['type']>(type: T, n: Node | null | undefined, required?: undefined): n is Extract<Node, { type: T }>`,
- // eslint-disable-next-line max-len
- `export function is<T extends Node['type'], P extends Extract<Node, { type: T }>>(type: T, n: Node | null | undefined, required: Partial<P>): n is P`,
- // eslint-disable-next-line max-len
- `export function is<P extends Node>(type: string, n: Node | null | undefined, required: Partial<P>): n is P`,
- `export function is(type: string, n: Node | null | undefined, required?: Partial<Node>): n is Node`,
- `export function isBinding(node: Node, parent: Node, grandparent?: Node): boolean`,
- // eslint-disable-next-line max-len
- `export function isBlockScoped(node: Node): node is FunctionDeclaration | ClassDeclaration | VariableDeclaration`,
- `export function isImmutable(node: Node): node is Immutable`,
- `export function isLet(node: Node): node is VariableDeclaration`,
- `export function isNode(node: object | null | undefined): node is Node`,
- `export function isNodesEquivalent<T extends Partial<Node>>(a: T, b: any): b is T`,
- `export function isNodesEquivalent(a: any, b: any): boolean`,
- `export function isPlaceholderType(placeholderType: Node['type'], targetType: Node['type']): boolean`,
- `export function isReferenced(node: Node, parent: Node, grandparent?: Node): boolean`,
- `export function isScope(node: Node, parent: Node): node is Scopable`,
- `export function isSpecifierDefault(specifier: ModuleSpecifier): boolean`,
- `export function isType<T extends Node['type']>(nodetype: string, targetType: T): nodetype is T`,
- `export function isType(nodetype: string | null | undefined, targetType: string): boolean`,
- `export function isValidES3Identifier(name: string): boolean`,
- `export function isValidIdentifier(name: string): boolean`,
- `export function isVar(node: Node): node is VariableDeclaration`,
- // the MemberExpression implication is incidental, but it follows from the implementation
- // eslint-disable-next-line max-len
- `export function matchesPattern(node: Node | null | undefined, match: string | ReadonlyArray<string>, allowPartial?: boolean): node is MemberExpression`,
- // eslint-disable-next-line max-len
- `export function validate<T extends Node, K extends keyof T>(n: Node | null | undefined, key: K, value: T[K]): void;`,
- `export function validate(n: Node, key: string, value: any): void;`
-);
-
-for (const type in t.DEPRECATED_KEYS) {
- code += `/**
- * @deprecated Use \`${t.DEPRECATED_KEYS[type]}\`
- */
-export type ${type} = ${t.DEPRECATED_KEYS[type]};\n
-`;
-}
-
-for (const type in t.FLIPPED_ALIAS_KEYS) {
- const types = t.FLIPPED_ALIAS_KEYS[type];
- code += `export type ${type} = ${types
- .map(type => `${type}`)
- .join(" | ")};\n`;
-}
-code += "\n";
-
-code += "export interface Aliases {\n";
-for (const type in t.FLIPPED_ALIAS_KEYS) {
- code += ` ${type}: ${type};\n`;
-}
-code += "}\n\n";
-
-code += lines.join("\n") + "\n";
-
-//
-
-process.stdout.write(code);
-
-//
-
-function areAllRemainingFieldsNullable(fieldName, fieldNames, fields) {
- const index = fieldNames.indexOf(fieldName);
- return fieldNames.slice(index).every(_ => isNullable(fields[_]));
-}
-
-function hasDefault(field) {
- return field.default != null;
-}
-
-function isNullable(field) {
- return field.optional || hasDefault(field);
-}
-
-function sortFieldNames(fields, type) {
- return fields.sort((fieldA, fieldB) => {
- const indexA = t.BUILDER_KEYS[type].indexOf(fieldA);
- const indexB = t.BUILDER_KEYS[type].indexOf(fieldB);
- if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
- if (indexA === -1) return 1;
- if (indexB === -1) return -1;
- return indexA - indexB;
- });
-}
diff --git a/includes/search/node_modules/@babel/types/scripts/generators/validators.js b/includes/search/node_modules/@babel/types/scripts/generators/validators.js
deleted file mode 100644
index 85c8b49..0000000
--- a/includes/search/node_modules/@babel/types/scripts/generators/validators.js
+++ /dev/null
@@ -1,87 +0,0 @@
-import * as definitions from "../../lib/definitions/index.js";
-
-const has = Function.call.bind(Object.prototype.hasOwnProperty);
-
-function joinComparisons(leftArr, right) {
- return (
- leftArr.map(JSON.stringify).join(` === ${right} || `) + ` === ${right}`
- );
-}
-
-function addIsHelper(type, aliasKeys, deprecated) {
- const targetType = JSON.stringify(type);
- let aliasSource = "";
- if (aliasKeys) {
- aliasSource = joinComparisons(aliasKeys, "nodeType");
- }
-
- let placeholderSource = "";
- const placeholderTypes = [];
- if (
- definitions.PLACEHOLDERS.includes(type) &&
- has(definitions.FLIPPED_ALIAS_KEYS, type)
- ) {
- placeholderTypes.push(type);
- }
- if (has(definitions.PLACEHOLDERS_FLIPPED_ALIAS, type)) {
- placeholderTypes.push(...definitions.PLACEHOLDERS_FLIPPED_ALIAS[type]);
- }
- if (placeholderTypes.length > 0) {
- placeholderSource =
- ' || nodeType === "Placeholder" && (' +
- joinComparisons(
- placeholderTypes,
- "(node as t.Placeholder).expectedNode"
- ) +
- ")";
- }
-
- const result =
- definitions.NODE_FIELDS[type] || definitions.FLIPPED_ALIAS_KEYS[type]
- ? `node is t.${type}`
- : "boolean";
-
- return `export function is${type}(node: object | null | undefined, opts?: object | null): ${result} {
- ${deprecated || ""}
- if (!node) return false;
-
- const nodeType = (node as t.Node).type;
- if (${
- aliasSource ? aliasSource : `nodeType === ${targetType}`
- }${placeholderSource}) {
- if (typeof opts === "undefined") {
- return true;
- } else {
- return shallowEqual(node, opts);
- }
- }
-
- return false;
- }
- `;
-}
-
-export default function generateValidators() {
- let output = `/*
- * This file is auto-generated! Do not modify it directly.
- * To re-generate run 'make build'
- */
-import shallowEqual from "../../utils/shallowEqual";
-import type * as t from "../..";\n\n`;
-
- Object.keys(definitions.VISITOR_KEYS).forEach(type => {
- output += addIsHelper(type);
- });
-
- Object.keys(definitions.FLIPPED_ALIAS_KEYS).forEach(type => {
- output += addIsHelper(type, definitions.FLIPPED_ALIAS_KEYS[type]);
- });
-
- Object.keys(definitions.DEPRECATED_KEYS).forEach(type => {
- const newType = definitions.DEPRECATED_KEYS[type];
- const deprecated = `console.trace("The node type ${type} has been renamed to ${newType}");`;
- output += addIsHelper(type, null, deprecated);
- });
-
- return output;
-}
diff --git a/includes/search/node_modules/@babel/types/scripts/package.json b/includes/search/node_modules/@babel/types/scripts/package.json
deleted file mode 100644
index 5ffd980..0000000
--- a/includes/search/node_modules/@babel/types/scripts/package.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "type": "module" }
diff --git a/includes/search/node_modules/@babel/types/scripts/utils/formatBuilderName.js b/includes/search/node_modules/@babel/types/scripts/utils/formatBuilderName.js
deleted file mode 100644
index f00a3c4..0000000
--- a/includes/search/node_modules/@babel/types/scripts/utils/formatBuilderName.js
+++ /dev/null
@@ -1,8 +0,0 @@
-const toLowerCase = Function.call.bind("".toLowerCase);
-
-export default function formatBuilderName(type) {
- // FunctionExpression -> functionExpression
- // JSXIdentifier -> jsxIdentifier
- // V8IntrinsicIdentifier -> v8IntrinsicIdentifier
- return type.replace(/^([A-Z](?=[a-z0-9])|[A-Z]+(?=[A-Z]))/, toLowerCase);
-}
diff --git a/includes/search/node_modules/@babel/types/scripts/utils/lowerFirst.js b/includes/search/node_modules/@babel/types/scripts/utils/lowerFirst.js
deleted file mode 100644
index 012f252..0000000
--- a/includes/search/node_modules/@babel/types/scripts/utils/lowerFirst.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export default function lowerFirst(string) {
- return string[0].toLowerCase() + string.slice(1);
-}
diff --git a/includes/search/node_modules/@babel/types/scripts/utils/stringifyValidator.js b/includes/search/node_modules/@babel/types/scripts/utils/stringifyValidator.js
deleted file mode 100644
index a3da470..0000000
--- a/includes/search/node_modules/@babel/types/scripts/utils/stringifyValidator.js
+++ /dev/null
@@ -1,69 +0,0 @@
-export default function stringifyValidator(validator, nodePrefix) {
- if (validator === undefined) {
- return "any";
- }
-
- if (validator.each) {
- return `Array<${stringifyValidator(validator.each, nodePrefix)}>`;
- }
-
- if (validator.chainOf) {
- const ret = stringifyValidator(validator.chainOf[1], nodePrefix);
- return Array.isArray(ret) && ret.length === 1 && ret[0] === "any"
- ? stringifyValidator(validator.chainOf[0], nodePrefix)
- : ret;
- }
-
- if (validator.oneOf) {
- return validator.oneOf.map(JSON.stringify).join(" | ");
- }
-
- if (validator.oneOfNodeTypes) {
- return validator.oneOfNodeTypes.map(_ => nodePrefix + _).join(" | ");
- }
-
- if (validator.oneOfNodeOrValueTypes) {
- return validator.oneOfNodeOrValueTypes
- .map(_ => {
- return isValueType(_) ? _ : nodePrefix + _;
- })
- .join(" | ");
- }
-
- if (validator.type) {
- return validator.type;
- }
-
- if (validator.shapeOf) {
- return (
- "{ " +
- Object.keys(validator.shapeOf)
- .map(shapeKey => {
- const propertyDefinition = validator.shapeOf[shapeKey];
- if (propertyDefinition.validate) {
- const isOptional =
- propertyDefinition.optional || propertyDefinition.default != null;
- return (
- shapeKey +
- (isOptional ? "?: " : ": ") +
- stringifyValidator(propertyDefinition.validate)
- );
- }
- return null;
- })
- .filter(Boolean)
- .join(", ") +
- " }"
- );
- }
-
- return ["any"];
-}
-
-/**
- * Heuristic to decide whether or not the given type is a value type (eg. "null")
- * or a Node type (eg. "Expression").
- */
-export function isValueType(type) {
- return type.charAt(0).toLowerCase() === type.charAt(0);
-}
diff --git a/includes/search/node_modules/@babel/types/scripts/utils/toFunctionName.js b/includes/search/node_modules/@babel/types/scripts/utils/toFunctionName.js
deleted file mode 100644
index 2b64578..0000000
--- a/includes/search/node_modules/@babel/types/scripts/utils/toFunctionName.js
+++ /dev/null
@@ -1,4 +0,0 @@
-export default function toFunctionName(typeName) {
- const _ = typeName.replace(/^TS/, "ts").replace(/^JSX/, "jsx");
- return _.slice(0, 1).toLowerCase() + _.slice(1);
-}
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/LICENSE b/includes/search/node_modules/@jridgewell/gen-mapping/LICENSE
deleted file mode 100644
index 352f071..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2022 Justin Ridgewell <jridgewell@google.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/README.md b/includes/search/node_modules/@jridgewell/gen-mapping/README.md
deleted file mode 100644
index 4066cdb..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/README.md
+++ /dev/null
@@ -1,227 +0,0 @@
-# @jridgewell/gen-mapping
-
-> Generate source maps
-
-`gen-mapping` allows you to generate a source map during transpilation or minification.
-With a source map, you're able to trace the original location in the source file, either in Chrome's
-DevTools or using a library like [`@jridgewell/trace-mapping`][trace-mapping].
-
-You may already be familiar with the [`source-map`][source-map] package's `SourceMapGenerator`. This
-provides the same `addMapping` and `setSourceContent` API.
-
-## Installation
-
-```sh
-npm install @jridgewell/gen-mapping
-```
-
-## Usage
-
-```typescript
-import { GenMapping, addMapping, setSourceContent, toEncodedMap, toDecodedMap } from '@jridgewell/gen-mapping';
-
-const map = new GenMapping({
- file: 'output.js',
- sourceRoot: 'https://example.com/',
-});
-
-setSourceContent(map, 'input.js', `function foo() {}`);
-
-addMapping(map, {
- // Lines start at line 1, columns at column 0.
- generated: { line: 1, column: 0 },
- source: 'input.js',
- original: { line: 1, column: 0 },
-});
-
-addMapping(map, {
- generated: { line: 1, column: 9 },
- source: 'input.js',
- original: { line: 1, column: 9 },
- name: 'foo',
-});
-
-assert.deepEqual(toDecodedMap(map), {
- version: 3,
- file: 'output.js',
- names: ['foo'],
- sourceRoot: 'https://example.com/',
- sources: ['input.js'],
- sourcesContent: ['function foo() {}'],
- mappings: [
- [ [0, 0, 0, 0], [9, 0, 0, 9, 0] ]
- ],
-});
-
-assert.deepEqual(toEncodedMap(map), {
- version: 3,
- file: 'output.js',
- names: ['foo'],
- sourceRoot: 'https://example.com/',
- sources: ['input.js'],
- sourcesContent: ['function foo() {}'],
- mappings: 'AAAA,SAASA',
-});
-```
-
-### Smaller Sourcemaps
-
-Not everything needs to be added to a sourcemap, and needless markings can cause signficantly
-larger file sizes. `gen-mapping` exposes `maybeAddSegment`/`maybeAddMapping` APIs that will
-intelligently determine if this marking adds useful information. If not, the marking will be
-skipped.
-
-```typescript
-import { maybeAddMapping } from '@jridgewell/gen-mapping';
-
-const map = new GenMapping();
-
-// Adding a sourceless marking at the beginning of a line isn't useful.
-maybeAddMapping(map, {
- generated: { line: 1, column: 0 },
-});
-
-// Adding a new source marking is useful.
-maybeAddMapping(map, {
- generated: { line: 1, column: 0 },
- source: 'input.js',
- original: { line: 1, column: 0 },
-});
-
-// But adding another marking pointing to the exact same original location isn't, even if the
-// generated column changed.
-maybeAddMapping(map, {
- generated: { line: 1, column: 9 },
- source: 'input.js',
- original: { line: 1, column: 0 },
-});
-
-assert.deepEqual(toEncodedMap(map), {
- version: 3,
- names: [],
- sources: ['input.js'],
- sourcesContent: [null],
- mappings: 'AAAA',
-});
-```
-
-## Benchmarks
-
-```
-node v18.0.0
-
-amp.js.map
-Memory Usage:
-gen-mapping: addSegment 5852872 bytes
-gen-mapping: addMapping 7716042 bytes
-source-map-js 6143250 bytes
-source-map-0.6.1 6124102 bytes
-source-map-0.8.0 6121173 bytes
-Smallest memory usage is gen-mapping: addSegment
-
-Adding speed:
-gen-mapping: addSegment x 441 ops/sec ±2.07% (90 runs sampled)
-gen-mapping: addMapping x 350 ops/sec ±2.40% (86 runs sampled)
-source-map-js: addMapping x 169 ops/sec ±2.42% (80 runs sampled)
-source-map-0.6.1: addMapping x 167 ops/sec ±2.56% (80 runs sampled)
-source-map-0.8.0: addMapping x 168 ops/sec ±2.52% (80 runs sampled)
-Fastest is gen-mapping: addSegment
-
-Generate speed:
-gen-mapping: decoded output x 150,824,370 ops/sec ±0.07% (102 runs sampled)
-gen-mapping: encoded output x 663 ops/sec ±0.22% (98 runs sampled)
-source-map-js: encoded output x 197 ops/sec ±0.45% (84 runs sampled)
-source-map-0.6.1: encoded output x 198 ops/sec ±0.33% (85 runs sampled)
-source-map-0.8.0: encoded output x 197 ops/sec ±0.06% (93 runs sampled)
-Fastest is gen-mapping: decoded output
-
-
-***
-
-
-babel.min.js.map
-Memory Usage:
-gen-mapping: addSegment 37578063 bytes
-gen-mapping: addMapping 37212897 bytes
-source-map-js 47638527 bytes
-source-map-0.6.1 47690503 bytes
-source-map-0.8.0 47470188 bytes
-Smallest memory usage is gen-mapping: addMapping
-
-Adding speed:
-gen-mapping: addSegment x 31.05 ops/sec ±8.31% (43 runs sampled)
-gen-mapping: addMapping x 29.83 ops/sec ±7.36% (51 runs sampled)
-source-map-js: addMapping x 20.73 ops/sec ±6.22% (38 runs sampled)
-source-map-0.6.1: addMapping x 20.03 ops/sec ±10.51% (38 runs sampled)
-source-map-0.8.0: addMapping x 19.30 ops/sec ±8.27% (37 runs sampled)
-Fastest is gen-mapping: addSegment
-
-Generate speed:
-gen-mapping: decoded output x 381,379,234 ops/sec ±0.29% (96 runs sampled)
-gen-mapping: encoded output x 95.15 ops/sec ±2.98% (72 runs sampled)
-source-map-js: encoded output x 15.20 ops/sec ±7.41% (33 runs sampled)
-source-map-0.6.1: encoded output x 16.36 ops/sec ±10.46% (31 runs sampled)
-source-map-0.8.0: encoded output x 16.06 ops/sec ±6.45% (31 runs sampled)
-Fastest is gen-mapping: decoded output
-
-
-***
-
-
-preact.js.map
-Memory Usage:
-gen-mapping: addSegment 416247 bytes
-gen-mapping: addMapping 419824 bytes
-source-map-js 1024619 bytes
-source-map-0.6.1 1146004 bytes
-source-map-0.8.0 1113250 bytes
-Smallest memory usage is gen-mapping: addSegment
-
-Adding speed:
-gen-mapping: addSegment x 13,755 ops/sec ±0.15% (98 runs sampled)
-gen-mapping: addMapping x 13,013 ops/sec ±0.11% (101 runs sampled)
-source-map-js: addMapping x 4,564 ops/sec ±0.21% (98 runs sampled)
-source-map-0.6.1: addMapping x 4,562 ops/sec ±0.11% (99 runs sampled)
-source-map-0.8.0: addMapping x 4,593 ops/sec ±0.11% (100 runs sampled)
-Fastest is gen-mapping: addSegment
-
-Generate speed:
-gen-mapping: decoded output x 379,864,020 ops/sec ±0.23% (93 runs sampled)
-gen-mapping: encoded output x 14,368 ops/sec ±4.07% (82 runs sampled)
-source-map-js: encoded output x 5,261 ops/sec ±0.21% (99 runs sampled)
-source-map-0.6.1: encoded output x 5,124 ops/sec ±0.58% (99 runs sampled)
-source-map-0.8.0: encoded output x 5,434 ops/sec ±0.33% (96 runs sampled)
-Fastest is gen-mapping: decoded output
-
-
-***
-
-
-react.js.map
-Memory Usage:
-gen-mapping: addSegment 975096 bytes
-gen-mapping: addMapping 1102981 bytes
-source-map-js 2918836 bytes
-source-map-0.6.1 2885435 bytes
-source-map-0.8.0 2874336 bytes
-Smallest memory usage is gen-mapping: addSegment
-
-Adding speed:
-gen-mapping: addSegment x 4,772 ops/sec ±0.15% (100 runs sampled)
-gen-mapping: addMapping x 4,456 ops/sec ±0.13% (97 runs sampled)
-source-map-js: addMapping x 1,618 ops/sec ±0.24% (97 runs sampled)
-source-map-0.6.1: addMapping x 1,622 ops/sec ±0.12% (99 runs sampled)
-source-map-0.8.0: addMapping x 1,631 ops/sec ±0.12% (100 runs sampled)
-Fastest is gen-mapping: addSegment
-
-Generate speed:
-gen-mapping: decoded output x 379,107,695 ops/sec ±0.07% (99 runs sampled)
-gen-mapping: encoded output x 5,421 ops/sec ±1.60% (89 runs sampled)
-source-map-js: encoded output x 2,113 ops/sec ±1.81% (98 runs sampled)
-source-map-0.6.1: encoded output x 2,126 ops/sec ±0.10% (100 runs sampled)
-source-map-0.8.0: encoded output x 2,176 ops/sec ±0.39% (98 runs sampled)
-Fastest is gen-mapping: decoded output
-```
-
-[source-map]: https://www.npmjs.com/package/source-map
-[trace-mapping]: https://github.com/jridgewell/trace-mapping
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs b/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs
deleted file mode 100644
index 5aeb5cc..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs
+++ /dev/null
@@ -1,230 +0,0 @@
-import { SetArray, put } from '@jridgewell/set-array';
-import { encode } from '@jridgewell/sourcemap-codec';
-import { TraceMap, decodedMappings } from '@jridgewell/trace-mapping';
-
-const COLUMN = 0;
-const SOURCES_INDEX = 1;
-const SOURCE_LINE = 2;
-const SOURCE_COLUMN = 3;
-const NAMES_INDEX = 4;
-
-const NO_NAME = -1;
-/**
- * A low-level API to associate a generated position with an original source position. Line and
- * column here are 0-based, unlike `addMapping`.
- */
-let addSegment;
-/**
- * A high-level API to associate a generated position with an original source position. Line is
- * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.
- */
-let addMapping;
-/**
- * Same as `addSegment`, but will only add the segment if it generates useful information in the
- * resulting map. This only works correctly if segments are added **in order**, meaning you should
- * not add a segment with a lower generated line/column than one that came before.
- */
-let maybeAddSegment;
-/**
- * Same as `addMapping`, but will only add the mapping if it generates useful information in the
- * resulting map. This only works correctly if mappings are added **in order**, meaning you should
- * not add a mapping with a lower generated line/column than one that came before.
- */
-let maybeAddMapping;
-/**
- * Adds/removes the content of the source file to the source map.
- */
-let setSourceContent;
-/**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-let toDecodedMap;
-/**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-let toEncodedMap;
-/**
- * Constructs a new GenMapping, using the already present mappings of the input.
- */
-let fromMap;
-/**
- * Returns an array of high-level mapping objects for every recorded segment, which could then be
- * passed to the `source-map` library.
- */
-let allMappings;
-// This split declaration is only so that terser can elminiate the static initialization block.
-let addSegmentInternal;
-/**
- * Provides the state to generate a sourcemap.
- */
-class GenMapping {
- constructor({ file, sourceRoot } = {}) {
- this._names = new SetArray();
- this._sources = new SetArray();
- this._sourcesContent = [];
- this._mappings = [];
- this.file = file;
- this.sourceRoot = sourceRoot;
- }
-}
-(() => {
- addSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
- return addSegmentInternal(false, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
- };
- maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
- return addSegmentInternal(true, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
- };
- addMapping = (map, mapping) => {
- return addMappingInternal(false, map, mapping);
- };
- maybeAddMapping = (map, mapping) => {
- return addMappingInternal(true, map, mapping);
- };
- setSourceContent = (map, source, content) => {
- const { _sources: sources, _sourcesContent: sourcesContent } = map;
- sourcesContent[put(sources, source)] = content;
- };
- toDecodedMap = (map) => {
- const { file, sourceRoot, _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = map;
- removeEmptyFinalLines(mappings);
- return {
- version: 3,
- file: file || undefined,
- names: names.array,
- sourceRoot: sourceRoot || undefined,
- sources: sources.array,
- sourcesContent,
- mappings,
- };
- };
- toEncodedMap = (map) => {
- const decoded = toDecodedMap(map);
- return Object.assign(Object.assign({}, decoded), { mappings: encode(decoded.mappings) });
- };
- allMappings = (map) => {
- const out = [];
- const { _mappings: mappings, _sources: sources, _names: names } = map;
- for (let i = 0; i < mappings.length; i++) {
- const line = mappings[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const generated = { line: i + 1, column: seg[COLUMN] };
- let source = undefined;
- let original = undefined;
- let name = undefined;
- if (seg.length !== 1) {
- source = sources.array[seg[SOURCES_INDEX]];
- original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };
- if (seg.length === 5)
- name = names.array[seg[NAMES_INDEX]];
- }
- out.push({ generated, source, original, name });
- }
- }
- return out;
- };
- fromMap = (input) => {
- const map = new TraceMap(input);
- const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });
- putAll(gen._names, map.names);
- putAll(gen._sources, map.sources);
- gen._sourcesContent = map.sourcesContent || map.sources.map(() => null);
- gen._mappings = decodedMappings(map);
- return gen;
- };
- // Internal helpers
- addSegmentInternal = (skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
- const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = map;
- const line = getLine(mappings, genLine);
- const index = getColumnIndex(line, genColumn);
- if (!source) {
- if (skipable && skipSourceless(line, index))
- return;
- return insert(line, index, [genColumn]);
- }
- const sourcesIndex = put(sources, source);
- const namesIndex = name ? put(names, name) : NO_NAME;
- if (sourcesIndex === sourcesContent.length)
- sourcesContent[sourcesIndex] = content !== null && content !== void 0 ? content : null;
- if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {
- return;
- }
- return insert(line, index, name
- ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]
- : [genColumn, sourcesIndex, sourceLine, sourceColumn]);
- };
-})();
-function getLine(mappings, index) {
- for (let i = mappings.length; i <= index; i++) {
- mappings[i] = [];
- }
- return mappings[index];
-}
-function getColumnIndex(line, genColumn) {
- let index = line.length;
- for (let i = index - 1; i >= 0; index = i--) {
- const current = line[i];
- if (genColumn >= current[COLUMN])
- break;
- }
- return index;
-}
-function insert(array, index, value) {
- for (let i = array.length; i > index; i--) {
- array[i] = array[i - 1];
- }
- array[index] = value;
-}
-function removeEmptyFinalLines(mappings) {
- const { length } = mappings;
- let len = length;
- for (let i = len - 1; i >= 0; len = i, i--) {
- if (mappings[i].length > 0)
- break;
- }
- if (len < length)
- mappings.length = len;
-}
-function putAll(strarr, array) {
- for (let i = 0; i < array.length; i++)
- put(strarr, array[i]);
-}
-function skipSourceless(line, index) {
- // The start of a line is already sourceless, so adding a sourceless segment to the beginning
- // doesn't generate any useful information.
- if (index === 0)
- return true;
- const prev = line[index - 1];
- // If the previous segment is also sourceless, then adding another sourceless segment doesn't
- // genrate any new information. Else, this segment will end the source/named segment and point to
- // a sourceless position, which is useful.
- return prev.length === 1;
-}
-function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) {
- // A source/named segment at the start of a line gives position at that genColumn
- if (index === 0)
- return false;
- const prev = line[index - 1];
- // If the previous segment is sourceless, then we're transitioning to a source.
- if (prev.length === 1)
- return false;
- // If the previous segment maps to the exact same source position, then this segment doesn't
- // provide any new position information.
- return (sourcesIndex === prev[SOURCES_INDEX] &&
- sourceLine === prev[SOURCE_LINE] &&
- sourceColumn === prev[SOURCE_COLUMN] &&
- namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME));
-}
-function addMappingInternal(skipable, map, mapping) {
- const { generated, source, original, name, content } = mapping;
- if (!source) {
- return addSegmentInternal(skipable, map, generated.line - 1, generated.column, null, null, null, null, null);
- }
- const s = source;
- return addSegmentInternal(skipable, map, generated.line - 1, generated.column, s, original.line - 1, original.column, name, content);
-}
-
-export { GenMapping, addMapping, addSegment, allMappings, fromMap, maybeAddMapping, maybeAddSegment, setSourceContent, toDecodedMap, toEncodedMap };
-//# sourceMappingURL=gen-mapping.mjs.map
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map b/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map
deleted file mode 100644
index 2fee0cd..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"gen-mapping.mjs","sources":["../src/sourcemap-segment.ts","../src/gen-mapping.ts"],"sourcesContent":["type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n","import { SetArray, put } from '@jridgewell/set-array';\nimport { encode } from '@jridgewell/sourcemap-codec';\nimport { TraceMap, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type { SourceMapInput } from '@jridgewell/trace-mapping';\nimport type { SourceMapSegment } from './sourcemap-segment';\nimport type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types';\n\nexport type { DecodedSourceMap, EncodedSourceMap, Mapping };\n\nexport type Options = {\n file?: string | null;\n sourceRoot?: string | null;\n};\n\nconst NO_NAME = -1;\n\n/**\n * A low-level API to associate a generated position with an original source position. Line and\n * column here are 0-based, unlike `addMapping`.\n */\nexport let addSegment: {\n (\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source?: null,\n sourceLine?: null,\n sourceColumn?: null,\n name?: null,\n content?: null,\n ): void;\n (\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name?: null,\n content?: string | null,\n ): void;\n (\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name: string,\n content?: string | null,\n ): void;\n};\n\n/**\n * A high-level API to associate a generated position with an original source position. Line is\n * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.\n */\nexport let addMapping: {\n (\n map: GenMapping,\n mapping: {\n generated: Pos;\n source?: null;\n original?: null;\n name?: null;\n content?: null;\n },\n ): void;\n (\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name?: null;\n content?: string | null;\n },\n ): void;\n (\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name: string;\n content?: string | null;\n },\n ): void;\n};\n\n/**\n * Same as `addSegment`, but will only add the segment if it generates useful information in the\n * resulting map. This only works correctly if segments are added **in order**, meaning you should\n * not add a segment with a lower generated line/column than one that came before.\n */\nexport let maybeAddSegment: typeof addSegment;\n\n/**\n * Same as `addMapping`, but will only add the mapping if it generates useful information in the\n * resulting map. This only works correctly if mappings are added **in order**, meaning you should\n * not add a mapping with a lower generated line/column than one that came before.\n */\nexport let maybeAddMapping: typeof addMapping;\n\n/**\n * Adds/removes the content of the source file to the source map.\n */\nexport let setSourceContent: (map: GenMapping, source: string, content: string | null) => void;\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport let toDecodedMap: (map: GenMapping) => DecodedSourceMap;\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport let toEncodedMap: (map: GenMapping) => EncodedSourceMap;\n\n/**\n * Constructs a new GenMapping, using the already present mappings of the input.\n */\nexport let fromMap: (input: SourceMapInput) => GenMapping;\n\n/**\n * Returns an array of high-level mapping objects for every recorded segment, which could then be\n * passed to the `source-map` library.\n */\nexport let allMappings: (map: GenMapping) => Mapping[];\n\n// This split declaration is only so that terser can elminiate the static initialization block.\nlet addSegmentInternal: <S extends string | null | undefined>(\n skipable: boolean,\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: S,\n sourceLine: S extends string ? number : null | undefined,\n sourceColumn: S extends string ? number : null | undefined,\n name: S extends string ? string | null | undefined : null | undefined,\n content: S extends string ? string | null | undefined : null | undefined,\n) => void;\n\n/**\n * Provides the state to generate a sourcemap.\n */\nexport class GenMapping {\n private _names = new SetArray();\n private _sources = new SetArray();\n private _sourcesContent: (string | null)[] = [];\n private _mappings: SourceMapSegment[][] = [];\n declare file: string | null | undefined;\n declare sourceRoot: string | null | undefined;\n\n constructor({ file, sourceRoot }: Options = {}) {\n this.file = file;\n this.sourceRoot = sourceRoot;\n }\n\n static {\n addSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {\n return addSegmentInternal(\n false,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n };\n\n maybeAddSegment = (\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n ) => {\n return addSegmentInternal(\n true,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n };\n\n addMapping = (map, mapping) => {\n return addMappingInternal(false, map, mapping as Parameters<typeof addMappingInternal>[2]);\n };\n\n maybeAddMapping = (map, mapping) => {\n return addMappingInternal(true, map, mapping as Parameters<typeof addMappingInternal>[2]);\n };\n\n setSourceContent = (map, source, content) => {\n const { _sources: sources, _sourcesContent: sourcesContent } = map;\n sourcesContent[put(sources, source)] = content;\n };\n\n toDecodedMap = (map) => {\n const {\n file,\n sourceRoot,\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n } = map;\n removeEmptyFinalLines(mappings);\n\n return {\n version: 3,\n file: file || undefined,\n names: names.array,\n sourceRoot: sourceRoot || undefined,\n sources: sources.array,\n sourcesContent,\n mappings,\n };\n };\n\n toEncodedMap = (map) => {\n const decoded = toDecodedMap(map);\n return {\n ...decoded,\n mappings: encode(decoded.mappings as SourceMapSegment[][]),\n };\n };\n\n allMappings = (map) => {\n const out: Mapping[] = [];\n const { _mappings: mappings, _sources: sources, _names: names } = map;\n\n for (let i = 0; i < mappings.length; i++) {\n const line = mappings[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generated = { line: i + 1, column: seg[COLUMN] };\n let source: string | undefined = undefined;\n let original: Pos | undefined = undefined;\n let name: string | undefined = undefined;\n\n if (seg.length !== 1) {\n source = sources.array[seg[SOURCES_INDEX]];\n original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };\n\n if (seg.length === 5) name = names.array[seg[NAMES_INDEX]];\n }\n\n out.push({ generated, source, original, name } as Mapping);\n }\n }\n\n return out;\n };\n\n fromMap = (input) => {\n const map = new TraceMap(input);\n const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });\n\n putAll(gen._names, map.names);\n putAll(gen._sources, map.sources as string[]);\n gen._sourcesContent = map.sourcesContent || map.sources.map(() => null);\n gen._mappings = decodedMappings(map) as GenMapping['_mappings'];\n\n return gen;\n };\n\n // Internal helpers\n addSegmentInternal = (\n skipable,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n ) => {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n } = map;\n const line = getLine(mappings, genLine);\n const index = getColumnIndex(line, genColumn);\n\n if (!source) {\n if (skipable && skipSourceless(line, index)) return;\n return insert(line, index, [genColumn]);\n }\n\n // Sigh, TypeScript can't figure out sourceLine and sourceColumn aren't nullish if source\n // isn't nullish.\n assert<number>(sourceLine);\n assert<number>(sourceColumn);\n\n const sourcesIndex = put(sources, source);\n const namesIndex = name ? put(names, name) : NO_NAME;\n if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content ?? null;\n\n if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {\n return;\n }\n\n return insert(\n line,\n index,\n name\n ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]\n : [genColumn, sourcesIndex, sourceLine, sourceColumn],\n );\n };\n }\n}\n\nfunction assert<T>(_val: unknown): asserts _val is T {\n // noop.\n}\n\nfunction getLine(mappings: SourceMapSegment[][], index: number): SourceMapSegment[] {\n for (let i = mappings.length; i <= index; i++) {\n mappings[i] = [];\n }\n return mappings[index];\n}\n\nfunction getColumnIndex(line: SourceMapSegment[], genColumn: number): number {\n let index = line.length;\n for (let i = index - 1; i >= 0; index = i--) {\n const current = line[i];\n if (genColumn >= current[COLUMN]) break;\n }\n return index;\n}\n\nfunction insert<T>(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\nfunction removeEmptyFinalLines(mappings: SourceMapSegment[][]) {\n const { length } = mappings;\n let len = length;\n for (let i = len - 1; i >= 0; len = i, i--) {\n if (mappings[i].length > 0) break;\n }\n if (len < length) mappings.length = len;\n}\n\nfunction putAll(strarr: SetArray, array: string[]) {\n for (let i = 0; i < array.length; i++) put(strarr, array[i]);\n}\n\nfunction skipSourceless(line: SourceMapSegment[], index: number): boolean {\n // The start of a line is already sourceless, so adding a sourceless segment to the beginning\n // doesn't generate any useful information.\n if (index === 0) return true;\n\n const prev = line[index - 1];\n // If the previous segment is also sourceless, then adding another sourceless segment doesn't\n // genrate any new information. Else, this segment will end the source/named segment and point to\n // a sourceless position, which is useful.\n return prev.length === 1;\n}\n\nfunction skipSource(\n line: SourceMapSegment[],\n index: number,\n sourcesIndex: number,\n sourceLine: number,\n sourceColumn: number,\n namesIndex: number,\n): boolean {\n // A source/named segment at the start of a line gives position at that genColumn\n if (index === 0) return false;\n\n const prev = line[index - 1];\n\n // If the previous segment is sourceless, then we're transitioning to a source.\n if (prev.length === 1) return false;\n\n // If the previous segment maps to the exact same source position, then this segment doesn't\n // provide any new position information.\n return (\n sourcesIndex === prev[SOURCES_INDEX] &&\n sourceLine === prev[SOURCE_LINE] &&\n sourceColumn === prev[SOURCE_COLUMN] &&\n namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME)\n );\n}\n\nfunction addMappingInternal<S extends string | null | undefined>(\n skipable: boolean,\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: S;\n original: S extends string ? Pos : null | undefined;\n name: S extends string ? string | null | undefined : null | undefined;\n content: S extends string ? string | null | undefined : null | undefined;\n },\n) {\n const { generated, source, original, name, content } = mapping;\n if (!source) {\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n null,\n null,\n null,\n null,\n null,\n );\n }\n const s: string = source;\n assert<Pos>(original);\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n s,\n original.line - 1,\n original.column,\n name,\n content,\n );\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js b/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js
deleted file mode 100644
index d9fcf5c..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js
+++ /dev/null
@@ -1,236 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@jridgewell/set-array'), require('@jridgewell/sourcemap-codec'), require('@jridgewell/trace-mapping')) :
- typeof define === 'function' && define.amd ? define(['exports', '@jridgewell/set-array', '@jridgewell/sourcemap-codec', '@jridgewell/trace-mapping'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.genMapping = {}, global.setArray, global.sourcemapCodec, global.traceMapping));
-})(this, (function (exports, setArray, sourcemapCodec, traceMapping) { 'use strict';
-
- const COLUMN = 0;
- const SOURCES_INDEX = 1;
- const SOURCE_LINE = 2;
- const SOURCE_COLUMN = 3;
- const NAMES_INDEX = 4;
-
- const NO_NAME = -1;
- /**
- * A low-level API to associate a generated position with an original source position. Line and
- * column here are 0-based, unlike `addMapping`.
- */
- exports.addSegment = void 0;
- /**
- * A high-level API to associate a generated position with an original source position. Line is
- * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.
- */
- exports.addMapping = void 0;
- /**
- * Same as `addSegment`, but will only add the segment if it generates useful information in the
- * resulting map. This only works correctly if segments are added **in order**, meaning you should
- * not add a segment with a lower generated line/column than one that came before.
- */
- exports.maybeAddSegment = void 0;
- /**
- * Same as `addMapping`, but will only add the mapping if it generates useful information in the
- * resulting map. This only works correctly if mappings are added **in order**, meaning you should
- * not add a mapping with a lower generated line/column than one that came before.
- */
- exports.maybeAddMapping = void 0;
- /**
- * Adds/removes the content of the source file to the source map.
- */
- exports.setSourceContent = void 0;
- /**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
- exports.toDecodedMap = void 0;
- /**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
- exports.toEncodedMap = void 0;
- /**
- * Constructs a new GenMapping, using the already present mappings of the input.
- */
- exports.fromMap = void 0;
- /**
- * Returns an array of high-level mapping objects for every recorded segment, which could then be
- * passed to the `source-map` library.
- */
- exports.allMappings = void 0;
- // This split declaration is only so that terser can elminiate the static initialization block.
- let addSegmentInternal;
- /**
- * Provides the state to generate a sourcemap.
- */
- class GenMapping {
- constructor({ file, sourceRoot } = {}) {
- this._names = new setArray.SetArray();
- this._sources = new setArray.SetArray();
- this._sourcesContent = [];
- this._mappings = [];
- this.file = file;
- this.sourceRoot = sourceRoot;
- }
- }
- (() => {
- exports.addSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
- return addSegmentInternal(false, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
- };
- exports.maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
- return addSegmentInternal(true, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content);
- };
- exports.addMapping = (map, mapping) => {
- return addMappingInternal(false, map, mapping);
- };
- exports.maybeAddMapping = (map, mapping) => {
- return addMappingInternal(true, map, mapping);
- };
- exports.setSourceContent = (map, source, content) => {
- const { _sources: sources, _sourcesContent: sourcesContent } = map;
- sourcesContent[setArray.put(sources, source)] = content;
- };
- exports.toDecodedMap = (map) => {
- const { file, sourceRoot, _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = map;
- removeEmptyFinalLines(mappings);
- return {
- version: 3,
- file: file || undefined,
- names: names.array,
- sourceRoot: sourceRoot || undefined,
- sources: sources.array,
- sourcesContent,
- mappings,
- };
- };
- exports.toEncodedMap = (map) => {
- const decoded = exports.toDecodedMap(map);
- return Object.assign(Object.assign({}, decoded), { mappings: sourcemapCodec.encode(decoded.mappings) });
- };
- exports.allMappings = (map) => {
- const out = [];
- const { _mappings: mappings, _sources: sources, _names: names } = map;
- for (let i = 0; i < mappings.length; i++) {
- const line = mappings[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const generated = { line: i + 1, column: seg[COLUMN] };
- let source = undefined;
- let original = undefined;
- let name = undefined;
- if (seg.length !== 1) {
- source = sources.array[seg[SOURCES_INDEX]];
- original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };
- if (seg.length === 5)
- name = names.array[seg[NAMES_INDEX]];
- }
- out.push({ generated, source, original, name });
- }
- }
- return out;
- };
- exports.fromMap = (input) => {
- const map = new traceMapping.TraceMap(input);
- const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });
- putAll(gen._names, map.names);
- putAll(gen._sources, map.sources);
- gen._sourcesContent = map.sourcesContent || map.sources.map(() => null);
- gen._mappings = traceMapping.decodedMappings(map);
- return gen;
- };
- // Internal helpers
- addSegmentInternal = (skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
- const { _mappings: mappings, _sources: sources, _sourcesContent: sourcesContent, _names: names, } = map;
- const line = getLine(mappings, genLine);
- const index = getColumnIndex(line, genColumn);
- if (!source) {
- if (skipable && skipSourceless(line, index))
- return;
- return insert(line, index, [genColumn]);
- }
- const sourcesIndex = setArray.put(sources, source);
- const namesIndex = name ? setArray.put(names, name) : NO_NAME;
- if (sourcesIndex === sourcesContent.length)
- sourcesContent[sourcesIndex] = content !== null && content !== void 0 ? content : null;
- if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {
- return;
- }
- return insert(line, index, name
- ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]
- : [genColumn, sourcesIndex, sourceLine, sourceColumn]);
- };
- })();
- function getLine(mappings, index) {
- for (let i = mappings.length; i <= index; i++) {
- mappings[i] = [];
- }
- return mappings[index];
- }
- function getColumnIndex(line, genColumn) {
- let index = line.length;
- for (let i = index - 1; i >= 0; index = i--) {
- const current = line[i];
- if (genColumn >= current[COLUMN])
- break;
- }
- return index;
- }
- function insert(array, index, value) {
- for (let i = array.length; i > index; i--) {
- array[i] = array[i - 1];
- }
- array[index] = value;
- }
- function removeEmptyFinalLines(mappings) {
- const { length } = mappings;
- let len = length;
- for (let i = len - 1; i >= 0; len = i, i--) {
- if (mappings[i].length > 0)
- break;
- }
- if (len < length)
- mappings.length = len;
- }
- function putAll(strarr, array) {
- for (let i = 0; i < array.length; i++)
- setArray.put(strarr, array[i]);
- }
- function skipSourceless(line, index) {
- // The start of a line is already sourceless, so adding a sourceless segment to the beginning
- // doesn't generate any useful information.
- if (index === 0)
- return true;
- const prev = line[index - 1];
- // If the previous segment is also sourceless, then adding another sourceless segment doesn't
- // genrate any new information. Else, this segment will end the source/named segment and point to
- // a sourceless position, which is useful.
- return prev.length === 1;
- }
- function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) {
- // A source/named segment at the start of a line gives position at that genColumn
- if (index === 0)
- return false;
- const prev = line[index - 1];
- // If the previous segment is sourceless, then we're transitioning to a source.
- if (prev.length === 1)
- return false;
- // If the previous segment maps to the exact same source position, then this segment doesn't
- // provide any new position information.
- return (sourcesIndex === prev[SOURCES_INDEX] &&
- sourceLine === prev[SOURCE_LINE] &&
- sourceColumn === prev[SOURCE_COLUMN] &&
- namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME));
- }
- function addMappingInternal(skipable, map, mapping) {
- const { generated, source, original, name, content } = mapping;
- if (!source) {
- return addSegmentInternal(skipable, map, generated.line - 1, generated.column, null, null, null, null, null);
- }
- const s = source;
- return addSegmentInternal(skipable, map, generated.line - 1, generated.column, s, original.line - 1, original.column, name, content);
- }
-
- exports.GenMapping = GenMapping;
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=gen-mapping.umd.js.map
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map b/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map
deleted file mode 100644
index 7cc8d14..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"gen-mapping.umd.js","sources":["../src/sourcemap-segment.ts","../src/gen-mapping.ts"],"sourcesContent":["type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n","import { SetArray, put } from '@jridgewell/set-array';\nimport { encode } from '@jridgewell/sourcemap-codec';\nimport { TraceMap, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type { SourceMapInput } from '@jridgewell/trace-mapping';\nimport type { SourceMapSegment } from './sourcemap-segment';\nimport type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types';\n\nexport type { DecodedSourceMap, EncodedSourceMap, Mapping };\n\nexport type Options = {\n file?: string | null;\n sourceRoot?: string | null;\n};\n\nconst NO_NAME = -1;\n\n/**\n * A low-level API to associate a generated position with an original source position. Line and\n * column here are 0-based, unlike `addMapping`.\n */\nexport let addSegment: {\n (\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source?: null,\n sourceLine?: null,\n sourceColumn?: null,\n name?: null,\n content?: null,\n ): void;\n (\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name?: null,\n content?: string | null,\n ): void;\n (\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name: string,\n content?: string | null,\n ): void;\n};\n\n/**\n * A high-level API to associate a generated position with an original source position. Line is\n * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.\n */\nexport let addMapping: {\n (\n map: GenMapping,\n mapping: {\n generated: Pos;\n source?: null;\n original?: null;\n name?: null;\n content?: null;\n },\n ): void;\n (\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name?: null;\n content?: string | null;\n },\n ): void;\n (\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name: string;\n content?: string | null;\n },\n ): void;\n};\n\n/**\n * Same as `addSegment`, but will only add the segment if it generates useful information in the\n * resulting map. This only works correctly if segments are added **in order**, meaning you should\n * not add a segment with a lower generated line/column than one that came before.\n */\nexport let maybeAddSegment: typeof addSegment;\n\n/**\n * Same as `addMapping`, but will only add the mapping if it generates useful information in the\n * resulting map. This only works correctly if mappings are added **in order**, meaning you should\n * not add a mapping with a lower generated line/column than one that came before.\n */\nexport let maybeAddMapping: typeof addMapping;\n\n/**\n * Adds/removes the content of the source file to the source map.\n */\nexport let setSourceContent: (map: GenMapping, source: string, content: string | null) => void;\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport let toDecodedMap: (map: GenMapping) => DecodedSourceMap;\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport let toEncodedMap: (map: GenMapping) => EncodedSourceMap;\n\n/**\n * Constructs a new GenMapping, using the already present mappings of the input.\n */\nexport let fromMap: (input: SourceMapInput) => GenMapping;\n\n/**\n * Returns an array of high-level mapping objects for every recorded segment, which could then be\n * passed to the `source-map` library.\n */\nexport let allMappings: (map: GenMapping) => Mapping[];\n\n// This split declaration is only so that terser can elminiate the static initialization block.\nlet addSegmentInternal: <S extends string | null | undefined>(\n skipable: boolean,\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: S,\n sourceLine: S extends string ? number : null | undefined,\n sourceColumn: S extends string ? number : null | undefined,\n name: S extends string ? string | null | undefined : null | undefined,\n content: S extends string ? string | null | undefined : null | undefined,\n) => void;\n\n/**\n * Provides the state to generate a sourcemap.\n */\nexport class GenMapping {\n private _names = new SetArray();\n private _sources = new SetArray();\n private _sourcesContent: (string | null)[] = [];\n private _mappings: SourceMapSegment[][] = [];\n declare file: string | null | undefined;\n declare sourceRoot: string | null | undefined;\n\n constructor({ file, sourceRoot }: Options = {}) {\n this.file = file;\n this.sourceRoot = sourceRoot;\n }\n\n static {\n addSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {\n return addSegmentInternal(\n false,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n };\n\n maybeAddSegment = (\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n ) => {\n return addSegmentInternal(\n true,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n };\n\n addMapping = (map, mapping) => {\n return addMappingInternal(false, map, mapping as Parameters<typeof addMappingInternal>[2]);\n };\n\n maybeAddMapping = (map, mapping) => {\n return addMappingInternal(true, map, mapping as Parameters<typeof addMappingInternal>[2]);\n };\n\n setSourceContent = (map, source, content) => {\n const { _sources: sources, _sourcesContent: sourcesContent } = map;\n sourcesContent[put(sources, source)] = content;\n };\n\n toDecodedMap = (map) => {\n const {\n file,\n sourceRoot,\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n } = map;\n removeEmptyFinalLines(mappings);\n\n return {\n version: 3,\n file: file || undefined,\n names: names.array,\n sourceRoot: sourceRoot || undefined,\n sources: sources.array,\n sourcesContent,\n mappings,\n };\n };\n\n toEncodedMap = (map) => {\n const decoded = toDecodedMap(map);\n return {\n ...decoded,\n mappings: encode(decoded.mappings as SourceMapSegment[][]),\n };\n };\n\n allMappings = (map) => {\n const out: Mapping[] = [];\n const { _mappings: mappings, _sources: sources, _names: names } = map;\n\n for (let i = 0; i < mappings.length; i++) {\n const line = mappings[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generated = { line: i + 1, column: seg[COLUMN] };\n let source: string | undefined = undefined;\n let original: Pos | undefined = undefined;\n let name: string | undefined = undefined;\n\n if (seg.length !== 1) {\n source = sources.array[seg[SOURCES_INDEX]];\n original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };\n\n if (seg.length === 5) name = names.array[seg[NAMES_INDEX]];\n }\n\n out.push({ generated, source, original, name } as Mapping);\n }\n }\n\n return out;\n };\n\n fromMap = (input) => {\n const map = new TraceMap(input);\n const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });\n\n putAll(gen._names, map.names);\n putAll(gen._sources, map.sources as string[]);\n gen._sourcesContent = map.sourcesContent || map.sources.map(() => null);\n gen._mappings = decodedMappings(map) as GenMapping['_mappings'];\n\n return gen;\n };\n\n // Internal helpers\n addSegmentInternal = (\n skipable,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n ) => {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n } = map;\n const line = getLine(mappings, genLine);\n const index = getColumnIndex(line, genColumn);\n\n if (!source) {\n if (skipable && skipSourceless(line, index)) return;\n return insert(line, index, [genColumn]);\n }\n\n // Sigh, TypeScript can't figure out sourceLine and sourceColumn aren't nullish if source\n // isn't nullish.\n assert<number>(sourceLine);\n assert<number>(sourceColumn);\n\n const sourcesIndex = put(sources, source);\n const namesIndex = name ? put(names, name) : NO_NAME;\n if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content ?? null;\n\n if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {\n return;\n }\n\n return insert(\n line,\n index,\n name\n ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]\n : [genColumn, sourcesIndex, sourceLine, sourceColumn],\n );\n };\n }\n}\n\nfunction assert<T>(_val: unknown): asserts _val is T {\n // noop.\n}\n\nfunction getLine(mappings: SourceMapSegment[][], index: number): SourceMapSegment[] {\n for (let i = mappings.length; i <= index; i++) {\n mappings[i] = [];\n }\n return mappings[index];\n}\n\nfunction getColumnIndex(line: SourceMapSegment[], genColumn: number): number {\n let index = line.length;\n for (let i = index - 1; i >= 0; index = i--) {\n const current = line[i];\n if (genColumn >= current[COLUMN]) break;\n }\n return index;\n}\n\nfunction insert<T>(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\nfunction removeEmptyFinalLines(mappings: SourceMapSegment[][]) {\n const { length } = mappings;\n let len = length;\n for (let i = len - 1; i >= 0; len = i, i--) {\n if (mappings[i].length > 0) break;\n }\n if (len < length) mappings.length = len;\n}\n\nfunction putAll(strarr: SetArray, array: string[]) {\n for (let i = 0; i < array.length; i++) put(strarr, array[i]);\n}\n\nfunction skipSourceless(line: SourceMapSegment[], index: number): boolean {\n // The start of a line is already sourceless, so adding a sourceless segment to the beginning\n // doesn't generate any useful information.\n if (index === 0) return true;\n\n const prev = line[index - 1];\n // If the previous segment is also sourceless, then adding another sourceless segment doesn't\n // genrate any new information. Else, this segment will end the source/named segment and point to\n // a sourceless position, which is useful.\n return prev.length === 1;\n}\n\nfunction skipSource(\n line: SourceMapSegment[],\n index: number,\n sourcesIndex: number,\n sourceLine: number,\n sourceColumn: number,\n namesIndex: number,\n): boolean {\n // A source/named segment at the start of a line gives position at that genColumn\n if (index === 0) return false;\n\n const prev = line[index - 1];\n\n // If the previous segment is sourceless, then we're transitioning to a source.\n if (prev.length === 1) return false;\n\n // If the previous segment maps to the exact same source position, then this segment doesn't\n // provide any new position information.\n return (\n sourcesIndex === prev[SOURCES_INDEX] &&\n sourceLine === prev[SOURCE_LINE] &&\n sourceColumn === prev[SOURCE_COLUMN] &&\n namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME)\n );\n}\n\nfunction addMappingInternal<S extends string | null | undefined>(\n skipable: boolean,\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: S;\n original: S extends string ? Pos : null | undefined;\n name: S extends string ? string | null | undefined : null | undefined;\n content: S extends string ? string | null | undefined : null | undefined;\n },\n) {\n const { generated, source, original, name, content } = mapping;\n if (!source) {\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n null,\n null,\n null,\n null,\n null,\n );\n }\n const s: string = source;\n assert<Pos>(original);\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n s,\n original.line - 1,\n original.column,\n name,\n content,\n );\n}\n"],"names":["addSegment","addMapping","maybeAddSegment","maybeAddMapping","setSourceContent","toDecodedMap","toEncodedMap","fromMap","allMappings","SetArray","put","encode","TraceMap","decodedMappings"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts b/includes/search/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts
deleted file mode 100644
index d510d74..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts
+++ /dev/null
@@ -1,90 +0,0 @@
-import type { SourceMapInput } from '@jridgewell/trace-mapping';
-import type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types';
-export type { DecodedSourceMap, EncodedSourceMap, Mapping };
-export declare type Options = {
- file?: string | null;
- sourceRoot?: string | null;
-};
-/**
- * A low-level API to associate a generated position with an original source position. Line and
- * column here are 0-based, unlike `addMapping`.
- */
-export declare let addSegment: {
- (map: GenMapping, genLine: number, genColumn: number, source?: null, sourceLine?: null, sourceColumn?: null, name?: null, content?: null): void;
- (map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name?: null, content?: string | null): void;
- (map: GenMapping, genLine: number, genColumn: number, source: string, sourceLine: number, sourceColumn: number, name: string, content?: string | null): void;
-};
-/**
- * A high-level API to associate a generated position with an original source position. Line is
- * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.
- */
-export declare let addMapping: {
- (map: GenMapping, mapping: {
- generated: Pos;
- source?: null;
- original?: null;
- name?: null;
- content?: null;
- }): void;
- (map: GenMapping, mapping: {
- generated: Pos;
- source: string;
- original: Pos;
- name?: null;
- content?: string | null;
- }): void;
- (map: GenMapping, mapping: {
- generated: Pos;
- source: string;
- original: Pos;
- name: string;
- content?: string | null;
- }): void;
-};
-/**
- * Same as `addSegment`, but will only add the segment if it generates useful information in the
- * resulting map. This only works correctly if segments are added **in order**, meaning you should
- * not add a segment with a lower generated line/column than one that came before.
- */
-export declare let maybeAddSegment: typeof addSegment;
-/**
- * Same as `addMapping`, but will only add the mapping if it generates useful information in the
- * resulting map. This only works correctly if mappings are added **in order**, meaning you should
- * not add a mapping with a lower generated line/column than one that came before.
- */
-export declare let maybeAddMapping: typeof addMapping;
-/**
- * Adds/removes the content of the source file to the source map.
- */
-export declare let setSourceContent: (map: GenMapping, source: string, content: string | null) => void;
-/**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-export declare let toDecodedMap: (map: GenMapping) => DecodedSourceMap;
-/**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-export declare let toEncodedMap: (map: GenMapping) => EncodedSourceMap;
-/**
- * Constructs a new GenMapping, using the already present mappings of the input.
- */
-export declare let fromMap: (input: SourceMapInput) => GenMapping;
-/**
- * Returns an array of high-level mapping objects for every recorded segment, which could then be
- * passed to the `source-map` library.
- */
-export declare let allMappings: (map: GenMapping) => Mapping[];
-/**
- * Provides the state to generate a sourcemap.
- */
-export declare class GenMapping {
- private _names;
- private _sources;
- private _sourcesContent;
- private _mappings;
- file: string | null | undefined;
- sourceRoot: string | null | undefined;
- constructor({ file, sourceRoot }?: Options);
-}
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts b/includes/search/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts
deleted file mode 100644
index e187ba9..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-declare type GeneratedColumn = number;
-declare type SourcesIndex = number;
-declare type SourceLine = number;
-declare type SourceColumn = number;
-declare type NamesIndex = number;
-export declare type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];
-export declare const COLUMN = 0;
-export declare const SOURCES_INDEX = 1;
-export declare const SOURCE_LINE = 2;
-export declare const SOURCE_COLUMN = 3;
-export declare const NAMES_INDEX = 4;
-export {};
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts b/includes/search/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts
deleted file mode 100644
index b309c81..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import type { SourceMapSegment } from './sourcemap-segment';
-export interface SourceMapV3 {
- file?: string | null;
- names: readonly string[];
- sourceRoot?: string;
- sources: readonly (string | null)[];
- sourcesContent?: readonly (string | null)[];
- version: 3;
-}
-export interface EncodedSourceMap extends SourceMapV3 {
- mappings: string;
-}
-export interface DecodedSourceMap extends SourceMapV3 {
- mappings: readonly SourceMapSegment[][];
-}
-export interface Pos {
- line: number;
- column: number;
-}
-export declare type Mapping = {
- generated: Pos;
- source: undefined;
- original: undefined;
- name: undefined;
-} | {
- generated: Pos;
- source: string;
- original: Pos;
- name: string;
-} | {
- generated: Pos;
- source: string;
- original: Pos;
- name: undefined;
-};
diff --git a/includes/search/node_modules/@jridgewell/gen-mapping/package.json b/includes/search/node_modules/@jridgewell/gen-mapping/package.json
deleted file mode 100644
index 69e0ac8..0000000
--- a/includes/search/node_modules/@jridgewell/gen-mapping/package.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "name": "@jridgewell/gen-mapping",
- "version": "0.3.3",
- "description": "Generate source maps",
- "keywords": [
- "source",
- "map"
- ],
- "author": "Justin Ridgewell <justin@ridgewell.name>",
- "license": "MIT",
- "repository": "https://github.com/jridgewell/gen-mapping",
- "main": "dist/gen-mapping.umd.js",
- "module": "dist/gen-mapping.mjs",
- "types": "dist/types/gen-mapping.d.ts",
- "exports": {
- ".": [
- {
- "types": "./dist/types/gen-mapping.d.ts",
- "browser": "./dist/gen-mapping.umd.js",
- "require": "./dist/gen-mapping.umd.js",
- "import": "./dist/gen-mapping.mjs"
- },
- "./dist/gen-mapping.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "files": [
- "dist"
- ],
- "engines": {
- "node": ">=6.0.0"
- },
- "scripts": {
- "benchmark": "run-s build:rollup benchmark:*",
- "benchmark:install": "cd benchmark && npm install",
- "benchmark:only": "node benchmark/index.mjs",
- "prebuild": "rm -rf dist",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "pretest": "run-s build:rollup",
- "test": "run-s -n test:lint test:coverage",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "mocha",
- "test:coverage": "c8 mocha",
- "test:watch": "run-p 'build:rollup -- --watch' 'test:only -- --watch'",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build"
- },
- "devDependencies": {
- "@rollup/plugin-typescript": "8.3.2",
- "@types/mocha": "9.1.1",
- "@types/node": "17.0.29",
- "@typescript-eslint/eslint-plugin": "5.21.0",
- "@typescript-eslint/parser": "5.21.0",
- "benchmark": "2.1.4",
- "c8": "7.11.2",
- "eslint": "8.14.0",
- "eslint-config-prettier": "8.5.0",
- "mocha": "9.2.2",
- "npm-run-all": "4.1.5",
- "prettier": "2.6.2",
- "rollup": "2.70.2",
- "typescript": "4.6.3"
- },
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
-}
diff --git a/includes/search/node_modules/@jridgewell/resolve-uri/LICENSE b/includes/search/node_modules/@jridgewell/resolve-uri/LICENSE
deleted file mode 100644
index 0a81b2a..0000000
--- a/includes/search/node_modules/@jridgewell/resolve-uri/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2019 Justin Ridgewell <jridgewell@google.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/resolve-uri/README.md b/includes/search/node_modules/@jridgewell/resolve-uri/README.md
deleted file mode 100644
index 2fe70df..0000000
--- a/includes/search/node_modules/@jridgewell/resolve-uri/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# @jridgewell/resolve-uri
-
-> Resolve a URI relative to an optional base URI
-
-Resolve any combination of absolute URIs, protocol-realtive URIs, absolute paths, or relative paths.
-
-## Installation
-
-```sh
-npm install @jridgewell/resolve-uri
-```
-
-## Usage
-
-```typescript
-function resolve(input: string, base?: string): string;
-```
-
-```js
-import resolve from '@jridgewell/resolve-uri';
-
-resolve('foo', 'https://example.com'); // => 'https://example.com/foo'
-```
-
-| Input | Base | Resolution | Explanation |
-|-----------------------|-------------------------|--------------------------------|--------------------------------------------------------------|
-| `https://example.com` | _any_ | `https://example.com/` | Input is normalized only |
-| `//example.com` | `https://base.com/` | `https://example.com/` | Input inherits the base's protocol |
-| `//example.com` | _rest_ | `//example.com/` | Input is normalized only |
-| `/example` | `https://base.com/` | `https://base.com/example` | Input inherits the base's origin |
-| `/example` | `//base.com/` | `//base.com/example` | Input inherits the base's host and remains protocol relative |
-| `/example` | _rest_ | `/example` | Input is normalized only |
-| `example` | `https://base.com/dir/` | `https://base.com/dir/example` | Input is joined with the base |
-| `example` | `https://base.com/file` | `https://base.com/example` | Input is joined with the base without its file |
-| `example` | `//base.com/dir/` | `//base.com/dir/example` | Input is joined with the base's last directory |
-| `example` | `//base.com/file` | `//base.com/example` | Input is joined with the base without its file |
-| `example` | `/base/dir/` | `/base/dir/example` | Input is joined with the base's last directory |
-| `example` | `/base/file` | `/base/example` | Input is joined with the base without its file |
-| `example` | `base/dir/` | `base/dir/example` | Input is joined with the base's last directory |
-| `example` | `base/file` | `base/example` | Input is joined with the base without its file |
diff --git a/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs b/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs
deleted file mode 100644
index 94d8dce..0000000
--- a/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs
+++ /dev/null
@@ -1,242 +0,0 @@
-// Matches the scheme of a URL, eg "http://"
-const schemeRegex = /^[\w+.-]+:\/\//;
-/**
- * Matches the parts of a URL:
- * 1. Scheme, including ":", guaranteed.
- * 2. User/password, including "@", optional.
- * 3. Host, guaranteed.
- * 4. Port, including ":", optional.
- * 5. Path, including "/", optional.
- * 6. Query, including "?", optional.
- * 7. Hash, including "#", optional.
- */
-const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/;
-/**
- * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start
- * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).
- *
- * 1. Host, optional.
- * 2. Path, which may include "/", guaranteed.
- * 3. Query, including "?", optional.
- * 4. Hash, including "#", optional.
- */
-const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;
-var UrlType;
-(function (UrlType) {
- UrlType[UrlType["Empty"] = 1] = "Empty";
- UrlType[UrlType["Hash"] = 2] = "Hash";
- UrlType[UrlType["Query"] = 3] = "Query";
- UrlType[UrlType["RelativePath"] = 4] = "RelativePath";
- UrlType[UrlType["AbsolutePath"] = 5] = "AbsolutePath";
- UrlType[UrlType["SchemeRelative"] = 6] = "SchemeRelative";
- UrlType[UrlType["Absolute"] = 7] = "Absolute";
-})(UrlType || (UrlType = {}));
-function isAbsoluteUrl(input) {
- return schemeRegex.test(input);
-}
-function isSchemeRelativeUrl(input) {
- return input.startsWith('//');
-}
-function isAbsolutePath(input) {
- return input.startsWith('/');
-}
-function isFileUrl(input) {
- return input.startsWith('file:');
-}
-function isRelative(input) {
- return /^[.?#]/.test(input);
-}
-function parseAbsoluteUrl(input) {
- const match = urlRegex.exec(input);
- return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || '');
-}
-function parseFileUrl(input) {
- const match = fileRegex.exec(input);
- const path = match[2];
- return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || '');
-}
-function makeUrl(scheme, user, host, port, path, query, hash) {
- return {
- scheme,
- user,
- host,
- port,
- path,
- query,
- hash,
- type: UrlType.Absolute,
- };
-}
-function parseUrl(input) {
- if (isSchemeRelativeUrl(input)) {
- const url = parseAbsoluteUrl('http:' + input);
- url.scheme = '';
- url.type = UrlType.SchemeRelative;
- return url;
- }
- if (isAbsolutePath(input)) {
- const url = parseAbsoluteUrl('http://foo.com' + input);
- url.scheme = '';
- url.host = '';
- url.type = UrlType.AbsolutePath;
- return url;
- }
- if (isFileUrl(input))
- return parseFileUrl(input);
- if (isAbsoluteUrl(input))
- return parseAbsoluteUrl(input);
- const url = parseAbsoluteUrl('http://foo.com/' + input);
- url.scheme = '';
- url.host = '';
- url.type = input
- ? input.startsWith('?')
- ? UrlType.Query
- : input.startsWith('#')
- ? UrlType.Hash
- : UrlType.RelativePath
- : UrlType.Empty;
- return url;
-}
-function stripPathFilename(path) {
- // If a path ends with a parent directory "..", then it's a relative path with excess parent
- // paths. It's not a file, so we can't strip it.
- if (path.endsWith('/..'))
- return path;
- const index = path.lastIndexOf('/');
- return path.slice(0, index + 1);
-}
-function mergePaths(url, base) {
- normalizePath(base, base.type);
- // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative
- // path).
- if (url.path === '/') {
- url.path = base.path;
- }
- else {
- // Resolution happens relative to the base path's directory, not the file.
- url.path = stripPathFilename(base.path) + url.path;
- }
-}
-/**
- * The path can have empty directories "//", unneeded parents "foo/..", or current directory
- * "foo/.". We need to normalize to a standard representation.
- */
-function normalizePath(url, type) {
- const rel = type <= UrlType.RelativePath;
- const pieces = url.path.split('/');
- // We need to preserve the first piece always, so that we output a leading slash. The item at
- // pieces[0] is an empty string.
- let pointer = 1;
- // Positive is the number of real directories we've output, used for popping a parent directory.
- // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo".
- let positive = 0;
- // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will
- // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a
- // real directory, we won't need to append, unless the other conditions happen again.
- let addTrailingSlash = false;
- for (let i = 1; i < pieces.length; i++) {
- const piece = pieces[i];
- // An empty directory, could be a trailing slash, or just a double "//" in the path.
- if (!piece) {
- addTrailingSlash = true;
- continue;
- }
- // If we encounter a real directory, then we don't need to append anymore.
- addTrailingSlash = false;
- // A current directory, which we can always drop.
- if (piece === '.')
- continue;
- // A parent directory, we need to see if there are any real directories we can pop. Else, we
- // have an excess of parents, and we'll need to keep the "..".
- if (piece === '..') {
- if (positive) {
- addTrailingSlash = true;
- positive--;
- pointer--;
- }
- else if (rel) {
- // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute
- // URL, protocol relative URL, or an absolute path, we don't need to keep excess.
- pieces[pointer++] = piece;
- }
- continue;
- }
- // We've encountered a real directory. Move it to the next insertion pointer, which accounts for
- // any popped or dropped directories.
- pieces[pointer++] = piece;
- positive++;
- }
- let path = '';
- for (let i = 1; i < pointer; i++) {
- path += '/' + pieces[i];
- }
- if (!path || (addTrailingSlash && !path.endsWith('/..'))) {
- path += '/';
- }
- url.path = path;
-}
-/**
- * Attempts to resolve `input` URL/path relative to `base`.
- */
-function resolve(input, base) {
- if (!input && !base)
- return '';
- const url = parseUrl(input);
- let inputType = url.type;
- if (base && inputType !== UrlType.Absolute) {
- const baseUrl = parseUrl(base);
- const baseType = baseUrl.type;
- switch (inputType) {
- case UrlType.Empty:
- url.hash = baseUrl.hash;
- // fall through
- case UrlType.Hash:
- url.query = baseUrl.query;
- // fall through
- case UrlType.Query:
- case UrlType.RelativePath:
- mergePaths(url, baseUrl);
- // fall through
- case UrlType.AbsolutePath:
- // The host, user, and port are joined, you can't copy one without the others.
- url.user = baseUrl.user;
- url.host = baseUrl.host;
- url.port = baseUrl.port;
- // fall through
- case UrlType.SchemeRelative:
- // The input doesn't have a schema at least, so we need to copy at least that over.
- url.scheme = baseUrl.scheme;
- }
- if (baseType > inputType)
- inputType = baseType;
- }
- normalizePath(url, inputType);
- const queryHash = url.query + url.hash;
- switch (inputType) {
- // This is impossible, because of the empty checks at the start of the function.
- // case UrlType.Empty:
- case UrlType.Hash:
- case UrlType.Query:
- return queryHash;
- case UrlType.RelativePath: {
- // The first char is always a "/", and we need it to be relative.
- const path = url.path.slice(1);
- if (!path)
- return queryHash || '.';
- if (isRelative(base || input) && !isRelative(path)) {
- // If base started with a leading ".", or there is no base and input started with a ".",
- // then we need to ensure that the relative path starts with a ".". We don't know if
- // relative starts with a "..", though, so check before prepending.
- return './' + path + queryHash;
- }
- return path + queryHash;
- }
- case UrlType.AbsolutePath:
- return url.path + queryHash;
- default:
- return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;
- }
-}
-
-export { resolve as default };
-//# sourceMappingURL=resolve-uri.mjs.map
diff --git a/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map b/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map
deleted file mode 100644
index 009d043..0000000
--- a/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolve-uri.mjs","sources":["../src/resolve-uri.ts"],"sourcesContent":["// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n\ntype Url = {\n scheme: string;\n user: string;\n host: string;\n port: string;\n path: string;\n query: string;\n hash: string;\n type: UrlType;\n};\n\nenum UrlType {\n Empty = 1,\n Hash = 2,\n Query = 3,\n RelativePath = 4,\n AbsolutePath = 5,\n SchemeRelative = 6,\n Absolute = 7,\n}\n\nfunction isAbsoluteUrl(input: string): boolean {\n return schemeRegex.test(input);\n}\n\nfunction isSchemeRelativeUrl(input: string): boolean {\n return input.startsWith('//');\n}\n\nfunction isAbsolutePath(input: string): boolean {\n return input.startsWith('/');\n}\n\nfunction isFileUrl(input: string): boolean {\n return input.startsWith('file:');\n}\n\nfunction isRelative(input: string): boolean {\n return /^[.?#]/.test(input);\n}\n\nfunction parseAbsoluteUrl(input: string): Url {\n const match = urlRegex.exec(input)!;\n return makeUrl(\n match[1],\n match[2] || '',\n match[3],\n match[4] || '',\n match[5] || '/',\n match[6] || '',\n match[7] || '',\n );\n}\n\nfunction parseFileUrl(input: string): Url {\n const match = fileRegex.exec(input)!;\n const path = match[2];\n return makeUrl(\n 'file:',\n '',\n match[1] || '',\n '',\n isAbsolutePath(path) ? path : '/' + path,\n match[3] || '',\n match[4] || '',\n );\n}\n\nfunction makeUrl(\n scheme: string,\n user: string,\n host: string,\n port: string,\n path: string,\n query: string,\n hash: string,\n): Url {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\n\nfunction parseUrl(input: string): Url {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n\n if (isFileUrl(input)) return parseFileUrl(input);\n\n if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\n\nfunction stripPathFilename(path: string): string {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..')) return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nfunction mergePaths(url: Url, base: Url) {\n normalizePath(base, base.type);\n\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n } else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url: Url, type: UrlType) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n\n // A current directory, which we can always drop.\n if (piece === '.') continue;\n\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nexport default function resolve(input: string, base: string | undefined): string {\n if (!input && !base) return '';\n\n const url = parseUrl(input);\n let inputType = url.type;\n\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType) inputType = baseType;\n }\n\n normalizePath(url, inputType);\n\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n\n if (!path) return queryHash || '.';\n\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n\n return path + queryHash;\n }\n\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js b/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js
deleted file mode 100644
index 0700a2d..0000000
--- a/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js
+++ /dev/null
@@ -1,250 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
- typeof define === 'function' && define.amd ? define(factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.resolveURI = factory());
-})(this, (function () { 'use strict';
-
- // Matches the scheme of a URL, eg "http://"
- const schemeRegex = /^[\w+.-]+:\/\//;
- /**
- * Matches the parts of a URL:
- * 1. Scheme, including ":", guaranteed.
- * 2. User/password, including "@", optional.
- * 3. Host, guaranteed.
- * 4. Port, including ":", optional.
- * 5. Path, including "/", optional.
- * 6. Query, including "?", optional.
- * 7. Hash, including "#", optional.
- */
- const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/;
- /**
- * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start
- * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).
- *
- * 1. Host, optional.
- * 2. Path, which may include "/", guaranteed.
- * 3. Query, including "?", optional.
- * 4. Hash, including "#", optional.
- */
- const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;
- var UrlType;
- (function (UrlType) {
- UrlType[UrlType["Empty"] = 1] = "Empty";
- UrlType[UrlType["Hash"] = 2] = "Hash";
- UrlType[UrlType["Query"] = 3] = "Query";
- UrlType[UrlType["RelativePath"] = 4] = "RelativePath";
- UrlType[UrlType["AbsolutePath"] = 5] = "AbsolutePath";
- UrlType[UrlType["SchemeRelative"] = 6] = "SchemeRelative";
- UrlType[UrlType["Absolute"] = 7] = "Absolute";
- })(UrlType || (UrlType = {}));
- function isAbsoluteUrl(input) {
- return schemeRegex.test(input);
- }
- function isSchemeRelativeUrl(input) {
- return input.startsWith('//');
- }
- function isAbsolutePath(input) {
- return input.startsWith('/');
- }
- function isFileUrl(input) {
- return input.startsWith('file:');
- }
- function isRelative(input) {
- return /^[.?#]/.test(input);
- }
- function parseAbsoluteUrl(input) {
- const match = urlRegex.exec(input);
- return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || '');
- }
- function parseFileUrl(input) {
- const match = fileRegex.exec(input);
- const path = match[2];
- return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || '');
- }
- function makeUrl(scheme, user, host, port, path, query, hash) {
- return {
- scheme,
- user,
- host,
- port,
- path,
- query,
- hash,
- type: UrlType.Absolute,
- };
- }
- function parseUrl(input) {
- if (isSchemeRelativeUrl(input)) {
- const url = parseAbsoluteUrl('http:' + input);
- url.scheme = '';
- url.type = UrlType.SchemeRelative;
- return url;
- }
- if (isAbsolutePath(input)) {
- const url = parseAbsoluteUrl('http://foo.com' + input);
- url.scheme = '';
- url.host = '';
- url.type = UrlType.AbsolutePath;
- return url;
- }
- if (isFileUrl(input))
- return parseFileUrl(input);
- if (isAbsoluteUrl(input))
- return parseAbsoluteUrl(input);
- const url = parseAbsoluteUrl('http://foo.com/' + input);
- url.scheme = '';
- url.host = '';
- url.type = input
- ? input.startsWith('?')
- ? UrlType.Query
- : input.startsWith('#')
- ? UrlType.Hash
- : UrlType.RelativePath
- : UrlType.Empty;
- return url;
- }
- function stripPathFilename(path) {
- // If a path ends with a parent directory "..", then it's a relative path with excess parent
- // paths. It's not a file, so we can't strip it.
- if (path.endsWith('/..'))
- return path;
- const index = path.lastIndexOf('/');
- return path.slice(0, index + 1);
- }
- function mergePaths(url, base) {
- normalizePath(base, base.type);
- // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative
- // path).
- if (url.path === '/') {
- url.path = base.path;
- }
- else {
- // Resolution happens relative to the base path's directory, not the file.
- url.path = stripPathFilename(base.path) + url.path;
- }
- }
- /**
- * The path can have empty directories "//", unneeded parents "foo/..", or current directory
- * "foo/.". We need to normalize to a standard representation.
- */
- function normalizePath(url, type) {
- const rel = type <= UrlType.RelativePath;
- const pieces = url.path.split('/');
- // We need to preserve the first piece always, so that we output a leading slash. The item at
- // pieces[0] is an empty string.
- let pointer = 1;
- // Positive is the number of real directories we've output, used for popping a parent directory.
- // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo".
- let positive = 0;
- // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will
- // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a
- // real directory, we won't need to append, unless the other conditions happen again.
- let addTrailingSlash = false;
- for (let i = 1; i < pieces.length; i++) {
- const piece = pieces[i];
- // An empty directory, could be a trailing slash, or just a double "//" in the path.
- if (!piece) {
- addTrailingSlash = true;
- continue;
- }
- // If we encounter a real directory, then we don't need to append anymore.
- addTrailingSlash = false;
- // A current directory, which we can always drop.
- if (piece === '.')
- continue;
- // A parent directory, we need to see if there are any real directories we can pop. Else, we
- // have an excess of parents, and we'll need to keep the "..".
- if (piece === '..') {
- if (positive) {
- addTrailingSlash = true;
- positive--;
- pointer--;
- }
- else if (rel) {
- // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute
- // URL, protocol relative URL, or an absolute path, we don't need to keep excess.
- pieces[pointer++] = piece;
- }
- continue;
- }
- // We've encountered a real directory. Move it to the next insertion pointer, which accounts for
- // any popped or dropped directories.
- pieces[pointer++] = piece;
- positive++;
- }
- let path = '';
- for (let i = 1; i < pointer; i++) {
- path += '/' + pieces[i];
- }
- if (!path || (addTrailingSlash && !path.endsWith('/..'))) {
- path += '/';
- }
- url.path = path;
- }
- /**
- * Attempts to resolve `input` URL/path relative to `base`.
- */
- function resolve(input, base) {
- if (!input && !base)
- return '';
- const url = parseUrl(input);
- let inputType = url.type;
- if (base && inputType !== UrlType.Absolute) {
- const baseUrl = parseUrl(base);
- const baseType = baseUrl.type;
- switch (inputType) {
- case UrlType.Empty:
- url.hash = baseUrl.hash;
- // fall through
- case UrlType.Hash:
- url.query = baseUrl.query;
- // fall through
- case UrlType.Query:
- case UrlType.RelativePath:
- mergePaths(url, baseUrl);
- // fall through
- case UrlType.AbsolutePath:
- // The host, user, and port are joined, you can't copy one without the others.
- url.user = baseUrl.user;
- url.host = baseUrl.host;
- url.port = baseUrl.port;
- // fall through
- case UrlType.SchemeRelative:
- // The input doesn't have a schema at least, so we need to copy at least that over.
- url.scheme = baseUrl.scheme;
- }
- if (baseType > inputType)
- inputType = baseType;
- }
- normalizePath(url, inputType);
- const queryHash = url.query + url.hash;
- switch (inputType) {
- // This is impossible, because of the empty checks at the start of the function.
- // case UrlType.Empty:
- case UrlType.Hash:
- case UrlType.Query:
- return queryHash;
- case UrlType.RelativePath: {
- // The first char is always a "/", and we need it to be relative.
- const path = url.path.slice(1);
- if (!path)
- return queryHash || '.';
- if (isRelative(base || input) && !isRelative(path)) {
- // If base started with a leading ".", or there is no base and input started with a ".",
- // then we need to ensure that the relative path starts with a ".". We don't know if
- // relative starts with a "..", though, so check before prepending.
- return './' + path + queryHash;
- }
- return path + queryHash;
- }
- case UrlType.AbsolutePath:
- return url.path + queryHash;
- default:
- return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;
- }
- }
-
- return resolve;
-
-}));
-//# sourceMappingURL=resolve-uri.umd.js.map
diff --git a/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map b/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map
deleted file mode 100644
index a3e39eb..0000000
--- a/includes/search/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"resolve-uri.umd.js","sources":["../src/resolve-uri.ts"],"sourcesContent":["// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n\ntype Url = {\n scheme: string;\n user: string;\n host: string;\n port: string;\n path: string;\n query: string;\n hash: string;\n type: UrlType;\n};\n\nenum UrlType {\n Empty = 1,\n Hash = 2,\n Query = 3,\n RelativePath = 4,\n AbsolutePath = 5,\n SchemeRelative = 6,\n Absolute = 7,\n}\n\nfunction isAbsoluteUrl(input: string): boolean {\n return schemeRegex.test(input);\n}\n\nfunction isSchemeRelativeUrl(input: string): boolean {\n return input.startsWith('//');\n}\n\nfunction isAbsolutePath(input: string): boolean {\n return input.startsWith('/');\n}\n\nfunction isFileUrl(input: string): boolean {\n return input.startsWith('file:');\n}\n\nfunction isRelative(input: string): boolean {\n return /^[.?#]/.test(input);\n}\n\nfunction parseAbsoluteUrl(input: string): Url {\n const match = urlRegex.exec(input)!;\n return makeUrl(\n match[1],\n match[2] || '',\n match[3],\n match[4] || '',\n match[5] || '/',\n match[6] || '',\n match[7] || '',\n );\n}\n\nfunction parseFileUrl(input: string): Url {\n const match = fileRegex.exec(input)!;\n const path = match[2];\n return makeUrl(\n 'file:',\n '',\n match[1] || '',\n '',\n isAbsolutePath(path) ? path : '/' + path,\n match[3] || '',\n match[4] || '',\n );\n}\n\nfunction makeUrl(\n scheme: string,\n user: string,\n host: string,\n port: string,\n path: string,\n query: string,\n hash: string,\n): Url {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\n\nfunction parseUrl(input: string): Url {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n\n if (isFileUrl(input)) return parseFileUrl(input);\n\n if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\n\nfunction stripPathFilename(path: string): string {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..')) return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nfunction mergePaths(url: Url, base: Url) {\n normalizePath(base, base.type);\n\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n } else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url: Url, type: UrlType) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n\n // A current directory, which we can always drop.\n if (piece === '.') continue;\n\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nexport default function resolve(input: string, base: string | undefined): string {\n if (!input && !base) return '';\n\n const url = parseUrl(input);\n let inputType = url.type;\n\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType) inputType = baseType;\n }\n\n normalizePath(url, inputType);\n\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n\n if (!path) return queryHash || '.';\n\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n\n return path + queryHash;\n }\n\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts b/includes/search/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts
deleted file mode 100644
index b7f0b3b..0000000
--- a/includes/search/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Attempts to resolve `input` URL/path relative to `base`.
- */
-export default function resolve(input: string, base: string | undefined): string;
diff --git a/includes/search/node_modules/@jridgewell/resolve-uri/package.json b/includes/search/node_modules/@jridgewell/resolve-uri/package.json
deleted file mode 100644
index 114937a..0000000
--- a/includes/search/node_modules/@jridgewell/resolve-uri/package.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "name": "@jridgewell/resolve-uri",
- "version": "3.1.0",
- "description": "Resolve a URI relative to an optional base URI",
- "keywords": [
- "resolve",
- "uri",
- "url",
- "path"
- ],
- "author": "Justin Ridgewell <justin@ridgewell.name>",
- "license": "MIT",
- "repository": "https://github.com/jridgewell/resolve-uri",
- "main": "dist/resolve-uri.umd.js",
- "module": "dist/resolve-uri.mjs",
- "typings": "dist/types/resolve-uri.d.ts",
- "exports": {
- ".": [
- {
- "types": "./dist/types/resolve-uri.d.ts",
- "browser": "./dist/resolve-uri.umd.js",
- "require": "./dist/resolve-uri.umd.js",
- "import": "./dist/resolve-uri.mjs"
- },
- "./dist/resolve-uri.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "files": [
- "dist"
- ],
- "engines": {
- "node": ">=6.0.0"
- },
- "scripts": {
- "prebuild": "rm -rf dist",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "pretest": "run-s build:rollup",
- "test": "run-s -n test:lint test:only",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "mocha",
- "test:coverage": "c8 mocha",
- "test:watch": "mocha --watch",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build"
- },
- "devDependencies": {
- "@jridgewell/resolve-uri-latest": "npm:@jridgewell/resolve-uri@*",
- "@rollup/plugin-typescript": "8.3.0",
- "@typescript-eslint/eslint-plugin": "5.10.0",
- "@typescript-eslint/parser": "5.10.0",
- "c8": "7.11.0",
- "eslint": "8.7.0",
- "eslint-config-prettier": "8.3.0",
- "mocha": "9.2.0",
- "npm-run-all": "4.1.5",
- "prettier": "2.5.1",
- "rollup": "2.66.0",
- "typescript": "4.5.5"
- }
-}
diff --git a/includes/search/node_modules/@jridgewell/set-array/LICENSE b/includes/search/node_modules/@jridgewell/set-array/LICENSE
deleted file mode 100644
index 352f071..0000000
--- a/includes/search/node_modules/@jridgewell/set-array/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2022 Justin Ridgewell <jridgewell@google.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/@jridgewell/set-array/README.md b/includes/search/node_modules/@jridgewell/set-array/README.md
deleted file mode 100644
index 2ed155f..0000000
--- a/includes/search/node_modules/@jridgewell/set-array/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# @jridgewell/set-array
-
-> Like a Set, but provides the index of the `key` in the backing array
-
-This is designed to allow synchronizing a second array with the contents of the backing array, like
-how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`, and there
-are never duplicates.
-
-## Installation
-
-```sh
-npm install @jridgewell/set-array
-```
-
-## Usage
-
-```js
-import { SetArray, get, put, pop } from '@jridgewell/set-array';
-
-const sa = new SetArray();
-
-let index = put(sa, 'first');
-assert.strictEqual(index, 0);
-
-index = put(sa, 'second');
-assert.strictEqual(index, 1);
-
-assert.deepEqual(sa.array, [ 'first', 'second' ]);
-
-index = get(sa, 'first');
-assert.strictEqual(index, 0);
-
-pop(sa);
-index = get(sa, 'second');
-assert.strictEqual(index, undefined);
-assert.deepEqual(sa.array, [ 'first' ]);
-```
diff --git a/includes/search/node_modules/@jridgewell/set-array/dist/set-array.mjs b/includes/search/node_modules/@jridgewell/set-array/dist/set-array.mjs
deleted file mode 100644
index b7f1a9c..0000000
--- a/includes/search/node_modules/@jridgewell/set-array/dist/set-array.mjs
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Gets the index associated with `key` in the backing array, if it is already present.
- */
-let get;
-/**
- * Puts `key` into the backing array, if it is not already present. Returns
- * the index of the `key` in the backing array.
- */
-let put;
-/**
- * Pops the last added item out of the SetArray.
- */
-let pop;
-/**
- * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
- * index of the `key` in the backing array.
- *
- * This is designed to allow synchronizing a second array with the contents of the backing array,
- * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,
- * and there are never duplicates.
- */
-class SetArray {
- constructor() {
- this._indexes = { __proto__: null };
- this.array = [];
- }
-}
-(() => {
- get = (strarr, key) => strarr._indexes[key];
- put = (strarr, key) => {
- // The key may or may not be present. If it is present, it's a number.
- const index = get(strarr, key);
- if (index !== undefined)
- return index;
- const { array, _indexes: indexes } = strarr;
- return (indexes[key] = array.push(key) - 1);
- };
- pop = (strarr) => {
- const { array, _indexes: indexes } = strarr;
- if (array.length === 0)
- return;
- const last = array.pop();
- indexes[last] = undefined;
- };
-})();
-
-export { SetArray, get, pop, put };
-//# sourceMappingURL=set-array.mjs.map
diff --git a/includes/search/node_modules/@jridgewell/set-array/dist/set-array.mjs.map b/includes/search/node_modules/@jridgewell/set-array/dist/set-array.mjs.map
deleted file mode 100644
index ead5643..0000000
--- a/includes/search/node_modules/@jridgewell/set-array/dist/set-array.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"set-array.mjs","sources":["../src/set-array.ts"],"sourcesContent":["/**\n * Gets the index associated with `key` in the backing array, if it is already present.\n */\nexport let get: (strarr: SetArray, key: string) => number | undefined;\n\n/**\n * Puts `key` into the backing array, if it is not already present. Returns\n * the index of the `key` in the backing array.\n */\nexport let put: (strarr: SetArray, key: string) => number;\n\n/**\n * Pops the last added item out of the SetArray.\n */\nexport let pop: (strarr: SetArray) => void;\n\n/**\n * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the\n * index of the `key` in the backing array.\n *\n * This is designed to allow synchronizing a second array with the contents of the backing array,\n * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,\n * and there are never duplicates.\n */\nexport class SetArray {\n private declare _indexes: { [key: string]: number | undefined };\n declare array: readonly string[];\n\n constructor() {\n this._indexes = { __proto__: null } as any;\n this.array = [];\n }\n\n static {\n get = (strarr, key) => strarr._indexes[key];\n\n put = (strarr, key) => {\n // The key may or may not be present. If it is present, it's a number.\n const index = get(strarr, key);\n if (index !== undefined) return index;\n\n const { array, _indexes: indexes } = strarr;\n\n return (indexes[key] = (array as string[]).push(key) - 1);\n };\n\n pop = (strarr) => {\n const { array, _indexes: indexes } = strarr;\n if (array.length === 0) return;\n\n const last = (array as string[]).pop()!;\n indexes[last] = undefined;\n };\n }\n}\n"],"names":[],"mappings":"AAAA;;;IAGW,IAA2D;AAEtE;;;;IAIW,IAA+C;AAE1D;;;IAGW,IAAgC;AAE3C;;;;;;;;MAQa,QAAQ;IAInB;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAS,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;CAuBF;AArBC;IACE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE5C,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG;;QAEhB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAEtC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAE5C,QAAQ,OAAO,CAAC,GAAG,CAAC,GAAI,KAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;KAC3D,CAAC;IAEF,GAAG,GAAG,CAAC,MAAM;QACX,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,IAAI,GAAI,KAAkB,CAAC,GAAG,EAAG,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;KAC3B,CAAC;AACJ,CAAC,GAAA;;;;"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/set-array/dist/set-array.umd.js b/includes/search/node_modules/@jridgewell/set-array/dist/set-array.umd.js
deleted file mode 100644
index a1c200a..0000000
--- a/includes/search/node_modules/@jridgewell/set-array/dist/set-array.umd.js
+++ /dev/null
@@ -1,58 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.setArray = {}));
-})(this, (function (exports) { 'use strict';
-
- /**
- * Gets the index associated with `key` in the backing array, if it is already present.
- */
- exports.get = void 0;
- /**
- * Puts `key` into the backing array, if it is not already present. Returns
- * the index of the `key` in the backing array.
- */
- exports.put = void 0;
- /**
- * Pops the last added item out of the SetArray.
- */
- exports.pop = void 0;
- /**
- * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
- * index of the `key` in the backing array.
- *
- * This is designed to allow synchronizing a second array with the contents of the backing array,
- * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,
- * and there are never duplicates.
- */
- class SetArray {
- constructor() {
- this._indexes = { __proto__: null };
- this.array = [];
- }
- }
- (() => {
- exports.get = (strarr, key) => strarr._indexes[key];
- exports.put = (strarr, key) => {
- // The key may or may not be present. If it is present, it's a number.
- const index = exports.get(strarr, key);
- if (index !== undefined)
- return index;
- const { array, _indexes: indexes } = strarr;
- return (indexes[key] = array.push(key) - 1);
- };
- exports.pop = (strarr) => {
- const { array, _indexes: indexes } = strarr;
- if (array.length === 0)
- return;
- const last = array.pop();
- indexes[last] = undefined;
- };
- })();
-
- exports.SetArray = SetArray;
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=set-array.umd.js.map
diff --git a/includes/search/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map b/includes/search/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map
deleted file mode 100644
index 10005af..0000000
--- a/includes/search/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"set-array.umd.js","sources":["../src/set-array.ts"],"sourcesContent":["/**\n * Gets the index associated with `key` in the backing array, if it is already present.\n */\nexport let get: (strarr: SetArray, key: string) => number | undefined;\n\n/**\n * Puts `key` into the backing array, if it is not already present. Returns\n * the index of the `key` in the backing array.\n */\nexport let put: (strarr: SetArray, key: string) => number;\n\n/**\n * Pops the last added item out of the SetArray.\n */\nexport let pop: (strarr: SetArray) => void;\n\n/**\n * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the\n * index of the `key` in the backing array.\n *\n * This is designed to allow synchronizing a second array with the contents of the backing array,\n * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,\n * and there are never duplicates.\n */\nexport class SetArray {\n private declare _indexes: { [key: string]: number | undefined };\n declare array: readonly string[];\n\n constructor() {\n this._indexes = { __proto__: null } as any;\n this.array = [];\n }\n\n static {\n get = (strarr, key) => strarr._indexes[key];\n\n put = (strarr, key) => {\n // The key may or may not be present. If it is present, it's a number.\n const index = get(strarr, key);\n if (index !== undefined) return index;\n\n const { array, _indexes: indexes } = strarr;\n\n return (indexes[key] = (array as string[]).push(key) - 1);\n };\n\n pop = (strarr) => {\n const { array, _indexes: indexes } = strarr;\n if (array.length === 0) return;\n\n const last = (array as string[]).pop()!;\n indexes[last] = undefined;\n };\n }\n}\n"],"names":["get","put","pop"],"mappings":";;;;;;IAAA;;;AAGWA,yBAA2D;IAEtE;;;;AAIWC,yBAA+C;IAE1D;;;AAGWC,yBAAgC;IAE3C;;;;;;;;UAQa,QAAQ;QAInB;YACE,IAAI,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAS,CAAC;YAC3C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SACjB;KAuBF;IArBC;QACEF,WAAG,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE5CC,WAAG,GAAG,CAAC,MAAM,EAAE,GAAG;;YAEhB,MAAM,KAAK,GAAGD,WAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAEtC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YAE5C,QAAQ,OAAO,CAAC,GAAG,CAAC,GAAI,KAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;SAC3D,CAAC;QAEFE,WAAG,GAAG,CAAC,MAAM;YACX,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE/B,MAAM,IAAI,GAAI,KAAkB,CAAC,GAAG,EAAG,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;SAC3B,CAAC;IACJ,CAAC,GAAA;;;;;;;;;;"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts b/includes/search/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts
deleted file mode 100644
index 7ed59b9..0000000
--- a/includes/search/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Gets the index associated with `key` in the backing array, if it is already present.
- */
-export declare let get: (strarr: SetArray, key: string) => number | undefined;
-/**
- * Puts `key` into the backing array, if it is not already present. Returns
- * the index of the `key` in the backing array.
- */
-export declare let put: (strarr: SetArray, key: string) => number;
-/**
- * Pops the last added item out of the SetArray.
- */
-export declare let pop: (strarr: SetArray) => void;
-/**
- * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
- * index of the `key` in the backing array.
- *
- * This is designed to allow synchronizing a second array with the contents of the backing array,
- * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,
- * and there are never duplicates.
- */
-export declare class SetArray {
- private _indexes;
- array: readonly string[];
- constructor();
-}
diff --git a/includes/search/node_modules/@jridgewell/set-array/package.json b/includes/search/node_modules/@jridgewell/set-array/package.json
deleted file mode 100644
index aec4ee0..0000000
--- a/includes/search/node_modules/@jridgewell/set-array/package.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "name": "@jridgewell/set-array",
- "version": "1.1.2",
- "description": "Like a Set, but provides the index of the `key` in the backing array",
- "keywords": [],
- "author": "Justin Ridgewell <justin@ridgewell.name>",
- "license": "MIT",
- "repository": "https://github.com/jridgewell/set-array",
- "main": "dist/set-array.umd.js",
- "module": "dist/set-array.mjs",
- "typings": "dist/types/set-array.d.ts",
- "exports": {
- ".": [
- {
- "types": "./dist/types/set-array.d.ts",
- "browser": "./dist/set-array.umd.js",
- "require": "./dist/set-array.umd.js",
- "import": "./dist/set-array.mjs"
- },
- "./dist/set-array.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "files": [
- "dist",
- "src"
- ],
- "engines": {
- "node": ">=6.0.0"
- },
- "scripts": {
- "prebuild": "rm -rf dist",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "pretest": "run-s build:rollup",
- "test": "run-s -n test:lint test:only",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "mocha",
- "test:coverage": "c8 mocha",
- "test:watch": "mocha --watch",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build"
- },
- "devDependencies": {
- "@rollup/plugin-typescript": "8.3.0",
- "@types/mocha": "9.1.1",
- "@types/node": "17.0.29",
- "@typescript-eslint/eslint-plugin": "5.10.0",
- "@typescript-eslint/parser": "5.10.0",
- "c8": "7.11.0",
- "eslint": "8.7.0",
- "eslint-config-prettier": "8.3.0",
- "mocha": "9.2.0",
- "npm-run-all": "4.1.5",
- "prettier": "2.5.1",
- "rollup": "2.66.0",
- "typescript": "4.5.5"
- }
-}
diff --git a/includes/search/node_modules/@jridgewell/set-array/src/set-array.ts b/includes/search/node_modules/@jridgewell/set-array/src/set-array.ts
deleted file mode 100644
index f9ff604..0000000
--- a/includes/search/node_modules/@jridgewell/set-array/src/set-array.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Gets the index associated with `key` in the backing array, if it is already present.
- */
-export let get: (strarr: SetArray, key: string) => number | undefined;
-
-/**
- * Puts `key` into the backing array, if it is not already present. Returns
- * the index of the `key` in the backing array.
- */
-export let put: (strarr: SetArray, key: string) => number;
-
-/**
- * Pops the last added item out of the SetArray.
- */
-export let pop: (strarr: SetArray) => void;
-
-/**
- * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the
- * index of the `key` in the backing array.
- *
- * This is designed to allow synchronizing a second array with the contents of the backing array,
- * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,
- * and there are never duplicates.
- */
-export class SetArray {
- private declare _indexes: { [key: string]: number | undefined };
- declare array: readonly string[];
-
- constructor() {
- this._indexes = { __proto__: null } as any;
- this.array = [];
- }
-
- static {
- get = (strarr, key) => strarr._indexes[key];
-
- put = (strarr, key) => {
- // The key may or may not be present. If it is present, it's a number.
- const index = get(strarr, key);
- if (index !== undefined) return index;
-
- const { array, _indexes: indexes } = strarr;
-
- return (indexes[key] = (array as string[]).push(key) - 1);
- };
-
- pop = (strarr) => {
- const { array, _indexes: indexes } = strarr;
- if (array.length === 0) return;
-
- const last = (array as string[]).pop()!;
- indexes[last] = undefined;
- };
- }
-}
diff --git a/includes/search/node_modules/@jridgewell/sourcemap-codec/LICENSE b/includes/search/node_modules/@jridgewell/sourcemap-codec/LICENSE
deleted file mode 100644
index a331065..0000000
--- a/includes/search/node_modules/@jridgewell/sourcemap-codec/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License
-
-Copyright (c) 2015 Rich Harris
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/@jridgewell/sourcemap-codec/README.md b/includes/search/node_modules/@jridgewell/sourcemap-codec/README.md
deleted file mode 100644
index 5cbb315..0000000
--- a/includes/search/node_modules/@jridgewell/sourcemap-codec/README.md
+++ /dev/null
@@ -1,200 +0,0 @@
-# @jridgewell/sourcemap-codec
-
-Encode/decode the `mappings` property of a [sourcemap](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit).
-
-
-## Why?
-
-Sourcemaps are difficult to generate and manipulate, because the `mappings` property – the part that actually links the generated code back to the original source – is encoded using an obscure method called [Variable-length quantity](https://en.wikipedia.org/wiki/Variable-length_quantity). On top of that, each segment in the mapping contains offsets rather than absolute indices, which means that you can't look at a segment in isolation – you have to understand the whole sourcemap.
-
-This package makes the process slightly easier.
-
-
-## Installation
-
-```bash
-npm install @jridgewell/sourcemap-codec
-```
-
-
-## Usage
-
-```js
-import { encode, decode } from '@jridgewell/sourcemap-codec';
-
-var decoded = decode( ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
-
-assert.deepEqual( decoded, [
- // the first line (of the generated code) has no mappings,
- // as shown by the starting semi-colon (which separates lines)
- [],
-
- // the second line contains four (comma-separated) segments
- [
- // segments are encoded as you'd expect:
- // [ generatedCodeColumn, sourceIndex, sourceCodeLine, sourceCodeColumn, nameIndex ]
-
- // i.e. the first segment begins at column 2, and maps back to the second column
- // of the second line (both zero-based) of the 0th source, and uses the 0th
- // name in the `map.names` array
- [ 2, 0, 2, 2, 0 ],
-
- // the remaining segments are 4-length rather than 5-length,
- // because they don't map a name
- [ 4, 0, 2, 4 ],
- [ 6, 0, 2, 5 ],
- [ 7, 0, 2, 7 ]
- ],
-
- // the final line contains two segments
- [
- [ 2, 1, 10, 19 ],
- [ 12, 1, 11, 20 ]
- ]
-]);
-
-var encoded = encode( decoded );
-assert.equal( encoded, ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
-```
-
-## Benchmarks
-
-```
-node v18.0.0
-
-amp.js.map - 45120 segments
-
-Decode Memory Usage:
-@jridgewell/sourcemap-codec 5479160 bytes
-sourcemap-codec 5659336 bytes
-source-map-0.6.1 17144440 bytes
-source-map-0.8.0 6867424 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Decode speed:
-decode: @jridgewell/sourcemap-codec x 502 ops/sec ±1.03% (90 runs sampled)
-decode: sourcemap-codec x 445 ops/sec ±0.97% (92 runs sampled)
-decode: source-map-0.6.1 x 36.01 ops/sec ±1.64% (49 runs sampled)
-decode: source-map-0.8.0 x 367 ops/sec ±0.04% (95 runs sampled)
-Fastest is decode: @jridgewell/sourcemap-codec
-
-Encode Memory Usage:
-@jridgewell/sourcemap-codec 1261620 bytes
-sourcemap-codec 9119248 bytes
-source-map-0.6.1 8968560 bytes
-source-map-0.8.0 8952952 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Encode speed:
-encode: @jridgewell/sourcemap-codec x 738 ops/sec ±0.42% (98 runs sampled)
-encode: sourcemap-codec x 238 ops/sec ±0.73% (88 runs sampled)
-encode: source-map-0.6.1 x 162 ops/sec ±0.43% (84 runs sampled)
-encode: source-map-0.8.0 x 191 ops/sec ±0.34% (90 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec
-
-
-***
-
-
-babel.min.js.map - 347793 segments
-
-Decode Memory Usage:
-@jridgewell/sourcemap-codec 35338184 bytes
-sourcemap-codec 35922736 bytes
-source-map-0.6.1 62366360 bytes
-source-map-0.8.0 44337416 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Decode speed:
-decode: @jridgewell/sourcemap-codec x 40.35 ops/sec ±4.47% (54 runs sampled)
-decode: sourcemap-codec x 36.76 ops/sec ±3.67% (51 runs sampled)
-decode: source-map-0.6.1 x 4.44 ops/sec ±2.15% (16 runs sampled)
-decode: source-map-0.8.0 x 59.35 ops/sec ±0.05% (78 runs sampled)
-Fastest is decode: source-map-0.8.0
-
-Encode Memory Usage:
-@jridgewell/sourcemap-codec 7212604 bytes
-sourcemap-codec 21421456 bytes
-source-map-0.6.1 25286888 bytes
-source-map-0.8.0 25498744 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Encode speed:
-encode: @jridgewell/sourcemap-codec x 112 ops/sec ±0.13% (84 runs sampled)
-encode: sourcemap-codec x 30.23 ops/sec ±2.76% (53 runs sampled)
-encode: source-map-0.6.1 x 19.43 ops/sec ±3.70% (37 runs sampled)
-encode: source-map-0.8.0 x 19.40 ops/sec ±3.26% (37 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec
-
-
-***
-
-
-preact.js.map - 1992 segments
-
-Decode Memory Usage:
-@jridgewell/sourcemap-codec 500272 bytes
-sourcemap-codec 516864 bytes
-source-map-0.6.1 1596672 bytes
-source-map-0.8.0 517272 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Decode speed:
-decode: @jridgewell/sourcemap-codec x 16,137 ops/sec ±0.17% (99 runs sampled)
-decode: sourcemap-codec x 12,139 ops/sec ±0.13% (99 runs sampled)
-decode: source-map-0.6.1 x 1,264 ops/sec ±0.12% (100 runs sampled)
-decode: source-map-0.8.0 x 9,894 ops/sec ±0.08% (101 runs sampled)
-Fastest is decode: @jridgewell/sourcemap-codec
-
-Encode Memory Usage:
-@jridgewell/sourcemap-codec 321026 bytes
-sourcemap-codec 830832 bytes
-source-map-0.6.1 586608 bytes
-source-map-0.8.0 586680 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Encode speed:
-encode: @jridgewell/sourcemap-codec x 19,876 ops/sec ±0.78% (95 runs sampled)
-encode: sourcemap-codec x 6,983 ops/sec ±0.15% (100 runs sampled)
-encode: source-map-0.6.1 x 5,070 ops/sec ±0.12% (102 runs sampled)
-encode: source-map-0.8.0 x 5,641 ops/sec ±0.17% (100 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec
-
-
-***
-
-
-react.js.map - 5726 segments
-
-Decode Memory Usage:
-@jridgewell/sourcemap-codec 734848 bytes
-sourcemap-codec 954200 bytes
-source-map-0.6.1 2276432 bytes
-source-map-0.8.0 955488 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Decode speed:
-decode: @jridgewell/sourcemap-codec x 5,723 ops/sec ±0.12% (98 runs sampled)
-decode: sourcemap-codec x 4,555 ops/sec ±0.09% (101 runs sampled)
-decode: source-map-0.6.1 x 437 ops/sec ±0.11% (93 runs sampled)
-decode: source-map-0.8.0 x 3,441 ops/sec ±0.15% (100 runs sampled)
-Fastest is decode: @jridgewell/sourcemap-codec
-
-Encode Memory Usage:
-@jridgewell/sourcemap-codec 638672 bytes
-sourcemap-codec 1109840 bytes
-source-map-0.6.1 1321224 bytes
-source-map-0.8.0 1324448 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Encode speed:
-encode: @jridgewell/sourcemap-codec x 6,801 ops/sec ±0.48% (98 runs sampled)
-encode: sourcemap-codec x 2,533 ops/sec ±0.13% (101 runs sampled)
-encode: source-map-0.6.1 x 2,248 ops/sec ±0.08% (100 runs sampled)
-encode: source-map-0.8.0 x 2,303 ops/sec ±0.15% (100 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec
-```
-
-# License
-
-MIT
diff --git a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs b/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
deleted file mode 100644
index 3dff372..0000000
--- a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
+++ /dev/null
@@ -1,164 +0,0 @@
-const comma = ','.charCodeAt(0);
-const semicolon = ';'.charCodeAt(0);
-const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-const intToChar = new Uint8Array(64); // 64 possible chars.
-const charToInt = new Uint8Array(128); // z is 122 in ASCII
-for (let i = 0; i < chars.length; i++) {
- const c = chars.charCodeAt(i);
- intToChar[i] = c;
- charToInt[c] = i;
-}
-// Provide a fallback for older environments.
-const td = typeof TextDecoder !== 'undefined'
- ? /* #__PURE__ */ new TextDecoder()
- : typeof Buffer !== 'undefined'
- ? {
- decode(buf) {
- const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
- return out.toString();
- },
- }
- : {
- decode(buf) {
- let out = '';
- for (let i = 0; i < buf.length; i++) {
- out += String.fromCharCode(buf[i]);
- }
- return out;
- },
- };
-function decode(mappings) {
- const state = new Int32Array(5);
- const decoded = [];
- let index = 0;
- do {
- const semi = indexOf(mappings, index);
- const line = [];
- let sorted = true;
- let lastCol = 0;
- state[0] = 0;
- for (let i = index; i < semi; i++) {
- let seg;
- i = decodeInteger(mappings, i, state, 0); // genColumn
- const col = state[0];
- if (col < lastCol)
- sorted = false;
- lastCol = col;
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 1); // sourcesIndex
- i = decodeInteger(mappings, i, state, 2); // sourceLine
- i = decodeInteger(mappings, i, state, 3); // sourceColumn
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 4); // namesIndex
- seg = [col, state[1], state[2], state[3], state[4]];
- }
- else {
- seg = [col, state[1], state[2], state[3]];
- }
- }
- else {
- seg = [col];
- }
- line.push(seg);
- }
- if (!sorted)
- sort(line);
- decoded.push(line);
- index = semi + 1;
- } while (index <= mappings.length);
- return decoded;
-}
-function indexOf(mappings, index) {
- const idx = mappings.indexOf(';', index);
- return idx === -1 ? mappings.length : idx;
-}
-function decodeInteger(mappings, pos, state, j) {
- let value = 0;
- let shift = 0;
- let integer = 0;
- do {
- const c = mappings.charCodeAt(pos++);
- integer = charToInt[c];
- value |= (integer & 31) << shift;
- shift += 5;
- } while (integer & 32);
- const shouldNegate = value & 1;
- value >>>= 1;
- if (shouldNegate) {
- value = -0x80000000 | -value;
- }
- state[j] += value;
- return pos;
-}
-function hasMoreVlq(mappings, i, length) {
- if (i >= length)
- return false;
- return mappings.charCodeAt(i) !== comma;
-}
-function sort(line) {
- line.sort(sortComparator);
-}
-function sortComparator(a, b) {
- return a[0] - b[0];
-}
-function encode(decoded) {
- const state = new Int32Array(5);
- const bufLength = 1024 * 16;
- const subLength = bufLength - 36;
- const buf = new Uint8Array(bufLength);
- const sub = buf.subarray(0, subLength);
- let pos = 0;
- let out = '';
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- if (i > 0) {
- if (pos === bufLength) {
- out += td.decode(buf);
- pos = 0;
- }
- buf[pos++] = semicolon;
- }
- if (line.length === 0)
- continue;
- state[0] = 0;
- for (let j = 0; j < line.length; j++) {
- const segment = line[j];
- // We can push up to 5 ints, each int can take at most 7 chars, and we
- // may push a comma.
- if (pos > subLength) {
- out += td.decode(sub);
- buf.copyWithin(0, subLength, pos);
- pos -= subLength;
- }
- if (j > 0)
- buf[pos++] = comma;
- pos = encodeInteger(buf, pos, state, segment, 0); // genColumn
- if (segment.length === 1)
- continue;
- pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex
- pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine
- pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn
- if (segment.length === 4)
- continue;
- pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex
- }
- }
- return out + td.decode(buf.subarray(0, pos));
-}
-function encodeInteger(buf, pos, state, segment, j) {
- const next = segment[j];
- let num = next - state[j];
- state[j] = next;
- num = num < 0 ? (-num << 1) | 1 : num << 1;
- do {
- let clamped = num & 0b011111;
- num >>>= 5;
- if (num > 0)
- clamped |= 0b100000;
- buf[pos++] = intToChar[clamped];
- } while (num > 0);
- return pos;
-}
-
-export { decode, encode };
-//# sourceMappingURL=sourcemap-codec.mjs.map
diff --git a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map b/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map
deleted file mode 100644
index 236fd12..0000000
--- a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"sourcemap-codec.mjs","sources":["../src/sourcemap-codec.ts"],"sourcesContent":["export type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nconst comma = ','.charCodeAt(0);\nconst semicolon = ';'.charCodeAt(0);\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array) {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport function decode(mappings: string): SourceMapMappings {\n const state: [number, number, number, number, number] = new Int32Array(5) as any;\n const decoded: SourceMapMappings = [];\n\n let index = 0;\n do {\n const semi = indexOf(mappings, index);\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n state[0] = 0;\n\n for (let i = index; i < semi; i++) {\n let seg: SourceMapSegment;\n\n i = decodeInteger(mappings, i, state, 0); // genColumn\n const col = state[0];\n if (col < lastCol) sorted = false;\n lastCol = col;\n\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 1); // sourcesIndex\n i = decodeInteger(mappings, i, state, 2); // sourceLine\n i = decodeInteger(mappings, i, state, 3); // sourceColumn\n\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 4); // namesIndex\n seg = [col, state[1], state[2], state[3], state[4]];\n } else {\n seg = [col, state[1], state[2], state[3]];\n }\n } else {\n seg = [col];\n }\n\n line.push(seg);\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n index = semi + 1;\n } while (index <= mappings.length);\n\n return decoded;\n}\n\nfunction indexOf(mappings: string, index: number): number {\n const idx = mappings.indexOf(';', index);\n return idx === -1 ? mappings.length : idx;\n}\n\nfunction decodeInteger(mappings: string, pos: number, state: SourceMapSegment, j: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = mappings.charCodeAt(pos++);\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n state[j] += value;\n return pos;\n}\n\nfunction hasMoreVlq(mappings: string, i: number, length: number): boolean {\n if (i >= length) return false;\n return mappings.charCodeAt(i) !== comma;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string {\n const state: [number, number, number, number, number] = new Int32Array(5) as any;\n const bufLength = 1024 * 16;\n const subLength = bufLength - 36;\n const buf = new Uint8Array(bufLength);\n const sub = buf.subarray(0, subLength);\n let pos = 0;\n let out = '';\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) {\n if (pos === bufLength) {\n out += td.decode(buf);\n pos = 0;\n }\n buf[pos++] = semicolon;\n }\n if (line.length === 0) continue;\n\n state[0] = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n // We can push up to 5 ints, each int can take at most 7 chars, and we\n // may push a comma.\n if (pos > subLength) {\n out += td.decode(sub);\n buf.copyWithin(0, subLength, pos);\n pos -= subLength;\n }\n if (j > 0) buf[pos++] = comma;\n\n pos = encodeInteger(buf, pos, state, segment, 0); // genColumn\n\n if (segment.length === 1) continue;\n pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex\n pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine\n pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn\n\n if (segment.length === 4) continue;\n pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex\n }\n }\n\n return out + td.decode(buf.subarray(0, pos));\n}\n\nfunction encodeInteger(\n buf: Uint8Array,\n pos: number,\n state: SourceMapSegment,\n segment: SourceMapSegment,\n j: number,\n): number {\n const next = segment[j];\n let num = next - state[j];\n state[j] = next;\n\n num = num < 0 ? (-num << 1) | 1 : num << 1;\n do {\n let clamped = num & 0b011111;\n num >>>= 5;\n if (num > 0) clamped |= 0b100000;\n buf[pos++] = intToChar[clamped];\n } while (num > 0);\n\n return pos;\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js b/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
deleted file mode 100644
index bec92a9..0000000
--- a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
+++ /dev/null
@@ -1,175 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sourcemapCodec = {}));
-})(this, (function (exports) { 'use strict';
-
- const comma = ','.charCodeAt(0);
- const semicolon = ';'.charCodeAt(0);
- const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
- const intToChar = new Uint8Array(64); // 64 possible chars.
- const charToInt = new Uint8Array(128); // z is 122 in ASCII
- for (let i = 0; i < chars.length; i++) {
- const c = chars.charCodeAt(i);
- intToChar[i] = c;
- charToInt[c] = i;
- }
- // Provide a fallback for older environments.
- const td = typeof TextDecoder !== 'undefined'
- ? /* #__PURE__ */ new TextDecoder()
- : typeof Buffer !== 'undefined'
- ? {
- decode(buf) {
- const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
- return out.toString();
- },
- }
- : {
- decode(buf) {
- let out = '';
- for (let i = 0; i < buf.length; i++) {
- out += String.fromCharCode(buf[i]);
- }
- return out;
- },
- };
- function decode(mappings) {
- const state = new Int32Array(5);
- const decoded = [];
- let index = 0;
- do {
- const semi = indexOf(mappings, index);
- const line = [];
- let sorted = true;
- let lastCol = 0;
- state[0] = 0;
- for (let i = index; i < semi; i++) {
- let seg;
- i = decodeInteger(mappings, i, state, 0); // genColumn
- const col = state[0];
- if (col < lastCol)
- sorted = false;
- lastCol = col;
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 1); // sourcesIndex
- i = decodeInteger(mappings, i, state, 2); // sourceLine
- i = decodeInteger(mappings, i, state, 3); // sourceColumn
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 4); // namesIndex
- seg = [col, state[1], state[2], state[3], state[4]];
- }
- else {
- seg = [col, state[1], state[2], state[3]];
- }
- }
- else {
- seg = [col];
- }
- line.push(seg);
- }
- if (!sorted)
- sort(line);
- decoded.push(line);
- index = semi + 1;
- } while (index <= mappings.length);
- return decoded;
- }
- function indexOf(mappings, index) {
- const idx = mappings.indexOf(';', index);
- return idx === -1 ? mappings.length : idx;
- }
- function decodeInteger(mappings, pos, state, j) {
- let value = 0;
- let shift = 0;
- let integer = 0;
- do {
- const c = mappings.charCodeAt(pos++);
- integer = charToInt[c];
- value |= (integer & 31) << shift;
- shift += 5;
- } while (integer & 32);
- const shouldNegate = value & 1;
- value >>>= 1;
- if (shouldNegate) {
- value = -0x80000000 | -value;
- }
- state[j] += value;
- return pos;
- }
- function hasMoreVlq(mappings, i, length) {
- if (i >= length)
- return false;
- return mappings.charCodeAt(i) !== comma;
- }
- function sort(line) {
- line.sort(sortComparator);
- }
- function sortComparator(a, b) {
- return a[0] - b[0];
- }
- function encode(decoded) {
- const state = new Int32Array(5);
- const bufLength = 1024 * 16;
- const subLength = bufLength - 36;
- const buf = new Uint8Array(bufLength);
- const sub = buf.subarray(0, subLength);
- let pos = 0;
- let out = '';
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- if (i > 0) {
- if (pos === bufLength) {
- out += td.decode(buf);
- pos = 0;
- }
- buf[pos++] = semicolon;
- }
- if (line.length === 0)
- continue;
- state[0] = 0;
- for (let j = 0; j < line.length; j++) {
- const segment = line[j];
- // We can push up to 5 ints, each int can take at most 7 chars, and we
- // may push a comma.
- if (pos > subLength) {
- out += td.decode(sub);
- buf.copyWithin(0, subLength, pos);
- pos -= subLength;
- }
- if (j > 0)
- buf[pos++] = comma;
- pos = encodeInteger(buf, pos, state, segment, 0); // genColumn
- if (segment.length === 1)
- continue;
- pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex
- pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine
- pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn
- if (segment.length === 4)
- continue;
- pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex
- }
- }
- return out + td.decode(buf.subarray(0, pos));
- }
- function encodeInteger(buf, pos, state, segment, j) {
- const next = segment[j];
- let num = next - state[j];
- state[j] = next;
- num = num < 0 ? (-num << 1) | 1 : num << 1;
- do {
- let clamped = num & 0b011111;
- num >>>= 5;
- if (num > 0)
- clamped |= 0b100000;
- buf[pos++] = intToChar[clamped];
- } while (num > 0);
- return pos;
- }
-
- exports.decode = decode;
- exports.encode = encode;
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=sourcemap-codec.umd.js.map
diff --git a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map b/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map
deleted file mode 100644
index b6b2003..0000000
--- a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"sourcemap-codec.umd.js","sources":["../src/sourcemap-codec.ts"],"sourcesContent":["export type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nconst comma = ','.charCodeAt(0);\nconst semicolon = ';'.charCodeAt(0);\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array) {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport function decode(mappings: string): SourceMapMappings {\n const state: [number, number, number, number, number] = new Int32Array(5) as any;\n const decoded: SourceMapMappings = [];\n\n let index = 0;\n do {\n const semi = indexOf(mappings, index);\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n state[0] = 0;\n\n for (let i = index; i < semi; i++) {\n let seg: SourceMapSegment;\n\n i = decodeInteger(mappings, i, state, 0); // genColumn\n const col = state[0];\n if (col < lastCol) sorted = false;\n lastCol = col;\n\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 1); // sourcesIndex\n i = decodeInteger(mappings, i, state, 2); // sourceLine\n i = decodeInteger(mappings, i, state, 3); // sourceColumn\n\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 4); // namesIndex\n seg = [col, state[1], state[2], state[3], state[4]];\n } else {\n seg = [col, state[1], state[2], state[3]];\n }\n } else {\n seg = [col];\n }\n\n line.push(seg);\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n index = semi + 1;\n } while (index <= mappings.length);\n\n return decoded;\n}\n\nfunction indexOf(mappings: string, index: number): number {\n const idx = mappings.indexOf(';', index);\n return idx === -1 ? mappings.length : idx;\n}\n\nfunction decodeInteger(mappings: string, pos: number, state: SourceMapSegment, j: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = mappings.charCodeAt(pos++);\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n state[j] += value;\n return pos;\n}\n\nfunction hasMoreVlq(mappings: string, i: number, length: number): boolean {\n if (i >= length) return false;\n return mappings.charCodeAt(i) !== comma;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string {\n const state: [number, number, number, number, number] = new Int32Array(5) as any;\n const bufLength = 1024 * 16;\n const subLength = bufLength - 36;\n const buf = new Uint8Array(bufLength);\n const sub = buf.subarray(0, subLength);\n let pos = 0;\n let out = '';\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) {\n if (pos === bufLength) {\n out += td.decode(buf);\n pos = 0;\n }\n buf[pos++] = semicolon;\n }\n if (line.length === 0) continue;\n\n state[0] = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n // We can push up to 5 ints, each int can take at most 7 chars, and we\n // may push a comma.\n if (pos > subLength) {\n out += td.decode(sub);\n buf.copyWithin(0, subLength, pos);\n pos -= subLength;\n }\n if (j > 0) buf[pos++] = comma;\n\n pos = encodeInteger(buf, pos, state, segment, 0); // genColumn\n\n if (segment.length === 1) continue;\n pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex\n pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine\n pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn\n\n if (segment.length === 4) continue;\n pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex\n }\n }\n\n return out + td.decode(buf.subarray(0, pos));\n}\n\nfunction encodeInteger(\n buf: Uint8Array,\n pos: number,\n state: SourceMapSegment,\n segment: SourceMapSegment,\n j: number,\n): number {\n const next = segment[j];\n let num = next - state[j];\n state[j] = next;\n\n num = num < 0 ? (-num << 1) | 1 : num << 1;\n do {\n let clamped = num & 0b011111;\n num >>>= 5;\n if (num > 0) clamped |= 0b100000;\n buf[pos++] = intToChar[clamped];\n } while (num > 0);\n\n return pos;\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts b/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts
deleted file mode 100644
index 410d320..0000000
--- a/includes/search/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export declare type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number];
-export declare type SourceMapLine = SourceMapSegment[];
-export declare type SourceMapMappings = SourceMapLine[];
-export declare function decode(mappings: string): SourceMapMappings;
-export declare function encode(decoded: SourceMapMappings): string;
-export declare function encode(decoded: Readonly<SourceMapMappings>): string;
diff --git a/includes/search/node_modules/@jridgewell/sourcemap-codec/package.json b/includes/search/node_modules/@jridgewell/sourcemap-codec/package.json
deleted file mode 100644
index 578448f..0000000
--- a/includes/search/node_modules/@jridgewell/sourcemap-codec/package.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "name": "@jridgewell/sourcemap-codec",
- "version": "1.4.15",
- "description": "Encode/decode sourcemap mappings",
- "keywords": [
- "sourcemap",
- "vlq"
- ],
- "main": "dist/sourcemap-codec.umd.js",
- "module": "dist/sourcemap-codec.mjs",
- "types": "dist/types/sourcemap-codec.d.ts",
- "files": [
- "dist"
- ],
- "exports": {
- ".": [
- {
- "types": "./dist/types/sourcemap-codec.d.ts",
- "browser": "./dist/sourcemap-codec.umd.js",
- "require": "./dist/sourcemap-codec.umd.js",
- "import": "./dist/sourcemap-codec.mjs"
- },
- "./dist/sourcemap-codec.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "scripts": {
- "benchmark": "run-s build:rollup benchmark:*",
- "benchmark:install": "cd benchmark && npm install",
- "benchmark:only": "node --expose-gc benchmark/index.js",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "prebuild": "rm -rf dist",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build",
- "pretest": "run-s build:rollup",
- "test": "run-s -n test:lint test:only",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "mocha",
- "test:coverage": "c8 mocha",
- "test:watch": "mocha --watch"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jridgewell/sourcemap-codec.git"
- },
- "author": "Rich Harris",
- "license": "MIT",
- "devDependencies": {
- "@rollup/plugin-typescript": "8.3.0",
- "@types/node": "17.0.15",
- "@typescript-eslint/eslint-plugin": "5.10.0",
- "@typescript-eslint/parser": "5.10.0",
- "benchmark": "2.1.4",
- "c8": "7.11.2",
- "eslint": "8.7.0",
- "eslint-config-prettier": "8.3.0",
- "mocha": "9.2.0",
- "npm-run-all": "4.1.5",
- "prettier": "2.5.1",
- "rollup": "2.64.0",
- "source-map": "0.6.1",
- "source-map-js": "1.0.2",
- "sourcemap-codec": "1.4.8",
- "typescript": "4.5.4"
- }
-}
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/LICENSE b/includes/search/node_modules/@jridgewell/trace-mapping/LICENSE
deleted file mode 100644
index 37bb488..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright 2022 Justin Ridgewell <justin@ridgewell.name>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/README.md b/includes/search/node_modules/@jridgewell/trace-mapping/README.md
deleted file mode 100644
index cc5e4f9..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/README.md
+++ /dev/null
@@ -1,252 +0,0 @@
-# @jridgewell/trace-mapping
-
-> Trace the original position through a source map
-
-`trace-mapping` allows you to take the line and column of an output file and trace it to the
-original location in the source file through a source map.
-
-You may already be familiar with the [`source-map`][source-map] package's `SourceMapConsumer`. This
-provides the same `originalPositionFor` and `generatedPositionFor` API, without requiring WASM.
-
-## Installation
-
-```sh
-npm install @jridgewell/trace-mapping
-```
-
-## Usage
-
-```typescript
-import {
- TraceMap,
- originalPositionFor,
- generatedPositionFor,
- sourceContentFor,
-} from '@jridgewell/trace-mapping';
-
-const tracer = new TraceMap({
- version: 3,
- sources: ['input.js'],
- sourcesContent: ['content of input.js'],
- names: ['foo'],
- mappings: 'KAyCIA',
-});
-
-// Lines start at line 1, columns at column 0.
-const traced = originalPositionFor(tracer, { line: 1, column: 5 });
-assert.deepEqual(traced, {
- source: 'input.js',
- line: 42,
- column: 4,
- name: 'foo',
-});
-
-const content = sourceContentFor(tracer, traced.source);
-assert.strictEqual(content, 'content for input.js');
-
-const generated = generatedPositionFor(tracer, {
- source: 'input.js',
- line: 42,
- column: 4,
-});
-assert.deepEqual(generated, {
- line: 1,
- column: 5,
-});
-```
-
-We also provide a lower level API to get the actual segment that matches our line and column. Unlike
-`originalPositionFor`, `traceSegment` uses a 0-base for `line`:
-
-```typescript
-import { traceSegment } from '@jridgewell/trace-mapping';
-
-// line is 0-base.
-const traced = traceSegment(tracer, /* line */ 0, /* column */ 5);
-
-// Segments are [outputColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]
-// Again, line is 0-base and so is sourceLine
-assert.deepEqual(traced, [5, 0, 41, 4, 0]);
-```
-
-### SectionedSourceMaps
-
-The sourcemap spec defines a special `sections` field that's designed to handle concatenation of
-output code with associated sourcemaps. This type of sourcemap is rarely used (no major build tool
-produces it), but if you are hand coding a concatenation you may need it. We provide an `AnyMap`
-helper that can receive either a regular sourcemap or a `SectionedSourceMap` and returns a
-`TraceMap` instance:
-
-```typescript
-import { AnyMap } from '@jridgewell/trace-mapping';
-const fooOutput = 'foo';
-const barOutput = 'bar';
-const output = [fooOutput, barOutput].join('\n');
-
-const sectioned = new AnyMap({
- version: 3,
- sections: [
- {
- // 0-base line and column
- offset: { line: 0, column: 0 },
- // fooOutput's sourcemap
- map: {
- version: 3,
- sources: ['foo.js'],
- names: ['foo'],
- mappings: 'AAAAA',
- },
- },
- {
- // barOutput's sourcemap will not affect the first line, only the second
- offset: { line: 1, column: 0 },
- map: {
- version: 3,
- sources: ['bar.js'],
- names: ['bar'],
- mappings: 'AAAAA',
- },
- },
- ],
-});
-
-const traced = originalPositionFor(sectioned, {
- line: 2,
- column: 0,
-});
-
-assert.deepEqual(traced, {
- source: 'bar.js',
- line: 1,
- column: 0,
- name: 'bar',
-});
-```
-
-## Benchmarks
-
-```
-node v18.0.0
-
-amp.js.map - 45120 segments
-
-Memory Usage:
-trace-mapping decoded 562400 bytes
-trace-mapping encoded 5706544 bytes
-source-map-js 10717664 bytes
-source-map-0.6.1 17446384 bytes
-source-map-0.8.0 9701757 bytes
-Smallest memory usage is trace-mapping decoded
-
-Init speed:
-trace-mapping: decoded JSON input x 180 ops/sec ±0.34% (85 runs sampled)
-trace-mapping: encoded JSON input x 364 ops/sec ±1.77% (89 runs sampled)
-trace-mapping: decoded Object input x 3,116 ops/sec ±0.50% (96 runs sampled)
-trace-mapping: encoded Object input x 410 ops/sec ±2.62% (85 runs sampled)
-source-map-js: encoded Object input x 84.23 ops/sec ±0.91% (73 runs sampled)
-source-map-0.6.1: encoded Object input x 37.21 ops/sec ±2.08% (51 runs sampled)
-Fastest is trace-mapping: decoded Object input
-
-Trace speed:
-trace-mapping: decoded originalPositionFor x 3,952,212 ops/sec ±0.17% (98 runs sampled)
-trace-mapping: encoded originalPositionFor x 3,487,468 ops/sec ±1.58% (90 runs sampled)
-source-map-js: encoded originalPositionFor x 827,730 ops/sec ±0.78% (97 runs sampled)
-source-map-0.6.1: encoded originalPositionFor x 748,991 ops/sec ±0.53% (94 runs sampled)
-source-map-0.8.0: encoded originalPositionFor x 2,532,894 ops/sec ±0.57% (95 runs sampled)
-Fastest is trace-mapping: decoded originalPositionFor
-
-
-***
-
-
-babel.min.js.map - 347793 segments
-
-Memory Usage:
-trace-mapping decoded 89832 bytes
-trace-mapping encoded 35474640 bytes
-source-map-js 51257176 bytes
-source-map-0.6.1 63515664 bytes
-source-map-0.8.0 42933752 bytes
-Smallest memory usage is trace-mapping decoded
-
-Init speed:
-trace-mapping: decoded JSON input x 15.41 ops/sec ±8.65% (34 runs sampled)
-trace-mapping: encoded JSON input x 28.20 ops/sec ±12.87% (42 runs sampled)
-trace-mapping: decoded Object input x 964 ops/sec ±0.36% (99 runs sampled)
-trace-mapping: encoded Object input x 31.77 ops/sec ±13.79% (45 runs sampled)
-source-map-js: encoded Object input x 6.45 ops/sec ±5.16% (21 runs sampled)
-source-map-0.6.1: encoded Object input x 4.07 ops/sec ±5.24% (15 runs sampled)
-Fastest is trace-mapping: decoded Object input
-
-Trace speed:
-trace-mapping: decoded originalPositionFor x 7,183,038 ops/sec ±0.58% (95 runs sampled)
-trace-mapping: encoded originalPositionFor x 5,192,185 ops/sec ±0.41% (100 runs sampled)
-source-map-js: encoded originalPositionFor x 4,259,489 ops/sec ±0.79% (94 runs sampled)
-source-map-0.6.1: encoded originalPositionFor x 3,742,629 ops/sec ±0.71% (95 runs sampled)
-source-map-0.8.0: encoded originalPositionFor x 6,270,211 ops/sec ±0.64% (94 runs sampled)
-Fastest is trace-mapping: decoded originalPositionFor
-
-
-***
-
-
-preact.js.map - 1992 segments
-
-Memory Usage:
-trace-mapping decoded 37128 bytes
-trace-mapping encoded 247280 bytes
-source-map-js 1143536 bytes
-source-map-0.6.1 1290992 bytes
-source-map-0.8.0 96544 bytes
-Smallest memory usage is trace-mapping decoded
-
-Init speed:
-trace-mapping: decoded JSON input x 3,483 ops/sec ±0.30% (98 runs sampled)
-trace-mapping: encoded JSON input x 6,092 ops/sec ±0.18% (97 runs sampled)
-trace-mapping: decoded Object input x 249,076 ops/sec ±0.24% (98 runs sampled)
-trace-mapping: encoded Object input x 14,555 ops/sec ±0.48% (100 runs sampled)
-source-map-js: encoded Object input x 2,447 ops/sec ±0.36% (99 runs sampled)
-source-map-0.6.1: encoded Object input x 1,201 ops/sec ±0.57% (96 runs sampled)
-Fastest is trace-mapping: decoded Object input
-
-Trace speed:
-trace-mapping: decoded originalPositionFor x 7,620,192 ops/sec ±0.09% (99 runs sampled)
-trace-mapping: encoded originalPositionFor x 6,872,554 ops/sec ±0.30% (97 runs sampled)
-source-map-js: encoded originalPositionFor x 2,489,570 ops/sec ±0.35% (94 runs sampled)
-source-map-0.6.1: encoded originalPositionFor x 1,698,633 ops/sec ±0.28% (98 runs sampled)
-source-map-0.8.0: encoded originalPositionFor x 4,015,644 ops/sec ±0.22% (98 runs sampled)
-Fastest is trace-mapping: decoded originalPositionFor
-
-
-***
-
-
-react.js.map - 5726 segments
-
-Memory Usage:
-trace-mapping decoded 16176 bytes
-trace-mapping encoded 681552 bytes
-source-map-js 2418352 bytes
-source-map-0.6.1 2443672 bytes
-source-map-0.8.0 111768 bytes
-Smallest memory usage is trace-mapping decoded
-
-Init speed:
-trace-mapping: decoded JSON input x 1,720 ops/sec ±0.34% (98 runs sampled)
-trace-mapping: encoded JSON input x 4,406 ops/sec ±0.35% (100 runs sampled)
-trace-mapping: decoded Object input x 92,122 ops/sec ±0.10% (99 runs sampled)
-trace-mapping: encoded Object input x 5,385 ops/sec ±0.37% (99 runs sampled)
-source-map-js: encoded Object input x 794 ops/sec ±0.40% (98 runs sampled)
-source-map-0.6.1: encoded Object input x 416 ops/sec ±0.54% (91 runs sampled)
-Fastest is trace-mapping: decoded Object input
-
-Trace speed:
-trace-mapping: decoded originalPositionFor x 32,759,519 ops/sec ±0.33% (100 runs sampled)
-trace-mapping: encoded originalPositionFor x 31,116,306 ops/sec ±0.33% (97 runs sampled)
-source-map-js: encoded originalPositionFor x 17,458,435 ops/sec ±0.44% (97 runs sampled)
-source-map-0.6.1: encoded originalPositionFor x 12,687,097 ops/sec ±0.43% (95 runs sampled)
-source-map-0.8.0: encoded originalPositionFor x 23,538,275 ops/sec ±0.38% (95 runs sampled)
-Fastest is trace-mapping: decoded originalPositionFor
-```
-
-[source-map]: https://www.npmjs.com/package/source-map
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs b/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs
deleted file mode 100644
index 917a330..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs
+++ /dev/null
@@ -1,552 +0,0 @@
-import { encode, decode } from '@jridgewell/sourcemap-codec';
-import resolveUri from '@jridgewell/resolve-uri';
-
-function resolve(input, base) {
- // The base is always treated as a directory, if it's not empty.
- // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327
- // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401
- if (base && !base.endsWith('/'))
- base += '/';
- return resolveUri(input, base);
-}
-
-/**
- * Removes everything after the last "/", but leaves the slash.
- */
-function stripFilename(path) {
- if (!path)
- return '';
- const index = path.lastIndexOf('/');
- return path.slice(0, index + 1);
-}
-
-const COLUMN = 0;
-const SOURCES_INDEX = 1;
-const SOURCE_LINE = 2;
-const SOURCE_COLUMN = 3;
-const NAMES_INDEX = 4;
-const REV_GENERATED_LINE = 1;
-const REV_GENERATED_COLUMN = 2;
-
-function maybeSort(mappings, owned) {
- const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);
- if (unsortedIndex === mappings.length)
- return mappings;
- // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If
- // not, we do not want to modify the consumer's input array.
- if (!owned)
- mappings = mappings.slice();
- for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {
- mappings[i] = sortSegments(mappings[i], owned);
- }
- return mappings;
-}
-function nextUnsortedSegmentLine(mappings, start) {
- for (let i = start; i < mappings.length; i++) {
- if (!isSorted(mappings[i]))
- return i;
- }
- return mappings.length;
-}
-function isSorted(line) {
- for (let j = 1; j < line.length; j++) {
- if (line[j][COLUMN] < line[j - 1][COLUMN]) {
- return false;
- }
- }
- return true;
-}
-function sortSegments(line, owned) {
- if (!owned)
- line = line.slice();
- return line.sort(sortComparator);
-}
-function sortComparator(a, b) {
- return a[COLUMN] - b[COLUMN];
-}
-
-let found = false;
-/**
- * A binary search implementation that returns the index if a match is found.
- * If no match is found, then the left-index (the index associated with the item that comes just
- * before the desired index) is returned. To maintain proper sort order, a splice would happen at
- * the next index:
- *
- * ```js
- * const array = [1, 3];
- * const needle = 2;
- * const index = binarySearch(array, needle, (item, needle) => item - needle);
- *
- * assert.equal(index, 0);
- * array.splice(index + 1, 0, needle);
- * assert.deepEqual(array, [1, 2, 3]);
- * ```
- */
-function binarySearch(haystack, needle, low, high) {
- while (low <= high) {
- const mid = low + ((high - low) >> 1);
- const cmp = haystack[mid][COLUMN] - needle;
- if (cmp === 0) {
- found = true;
- return mid;
- }
- if (cmp < 0) {
- low = mid + 1;
- }
- else {
- high = mid - 1;
- }
- }
- found = false;
- return low - 1;
-}
-function upperBound(haystack, needle, index) {
- for (let i = index + 1; i < haystack.length; index = i++) {
- if (haystack[i][COLUMN] !== needle)
- break;
- }
- return index;
-}
-function lowerBound(haystack, needle, index) {
- for (let i = index - 1; i >= 0; index = i--) {
- if (haystack[i][COLUMN] !== needle)
- break;
- }
- return index;
-}
-function memoizedState() {
- return {
- lastKey: -1,
- lastNeedle: -1,
- lastIndex: -1,
- };
-}
-/**
- * This overly complicated beast is just to record the last tested line/column and the resulting
- * index, allowing us to skip a few tests if mappings are monotonically increasing.
- */
-function memoizedBinarySearch(haystack, needle, state, key) {
- const { lastKey, lastNeedle, lastIndex } = state;
- let low = 0;
- let high = haystack.length - 1;
- if (key === lastKey) {
- if (needle === lastNeedle) {
- found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;
- return lastIndex;
- }
- if (needle >= lastNeedle) {
- // lastIndex may be -1 if the previous needle was not found.
- low = lastIndex === -1 ? 0 : lastIndex;
- }
- else {
- high = lastIndex;
- }
- }
- state.lastKey = key;
- state.lastNeedle = needle;
- return (state.lastIndex = binarySearch(haystack, needle, low, high));
-}
-
-// Rebuilds the original source files, with mappings that are ordered by source line/column instead
-// of generated line/column.
-function buildBySources(decoded, memos) {
- const sources = memos.map(buildNullArray);
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- if (seg.length === 1)
- continue;
- const sourceIndex = seg[SOURCES_INDEX];
- const sourceLine = seg[SOURCE_LINE];
- const sourceColumn = seg[SOURCE_COLUMN];
- const originalSource = sources[sourceIndex];
- const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = []));
- const memo = memos[sourceIndex];
- // The binary search either found a match, or it found the left-index just before where the
- // segment should go. Either way, we want to insert after that. And there may be multiple
- // generated segments associated with an original location, so there may need to move several
- // indexes before we find where we need to insert.
- const index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine));
- insert(originalLine, (memo.lastIndex = index + 1), [sourceColumn, i, seg[COLUMN]]);
- }
- }
- return sources;
-}
-function insert(array, index, value) {
- for (let i = array.length; i > index; i--) {
- array[i] = array[i - 1];
- }
- array[index] = value;
-}
-// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like
-// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.
-// Numeric properties on objects are magically sorted in ascending order by the engine regardless of
-// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending
-// order when iterating with for-in.
-function buildNullArray() {
- return { __proto__: null };
-}
-
-const AnyMap = function (map, mapUrl) {
- const parsed = typeof map === 'string' ? JSON.parse(map) : map;
- if (!('sections' in parsed))
- return new TraceMap(parsed, mapUrl);
- const mappings = [];
- const sources = [];
- const sourcesContent = [];
- const names = [];
- recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, 0, 0, Infinity, Infinity);
- const joined = {
- version: 3,
- file: parsed.file,
- names,
- sources,
- sourcesContent,
- mappings,
- };
- return presortedDecodedMap(joined);
-};
-function recurse(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) {
- const { sections } = input;
- for (let i = 0; i < sections.length; i++) {
- const { map, offset } = sections[i];
- let sl = stopLine;
- let sc = stopColumn;
- if (i + 1 < sections.length) {
- const nextOffset = sections[i + 1].offset;
- sl = Math.min(stopLine, lineOffset + nextOffset.line);
- if (sl === stopLine) {
- sc = Math.min(stopColumn, columnOffset + nextOffset.column);
- }
- else if (sl < stopLine) {
- sc = columnOffset + nextOffset.column;
- }
- }
- addSection(map, mapUrl, mappings, sources, sourcesContent, names, lineOffset + offset.line, columnOffset + offset.column, sl, sc);
- }
-}
-function addSection(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) {
- if ('sections' in input)
- return recurse(...arguments);
- const map = new TraceMap(input, mapUrl);
- const sourcesOffset = sources.length;
- const namesOffset = names.length;
- const decoded = decodedMappings(map);
- const { resolvedSources, sourcesContent: contents } = map;
- append(sources, resolvedSources);
- append(names, map.names);
- if (contents)
- append(sourcesContent, contents);
- else
- for (let i = 0; i < resolvedSources.length; i++)
- sourcesContent.push(null);
- for (let i = 0; i < decoded.length; i++) {
- const lineI = lineOffset + i;
- // We can only add so many lines before we step into the range that the next section's map
- // controls. When we get to the last line, then we'll start checking the segments to see if
- // they've crossed into the column range. But it may not have any columns that overstep, so we
- // still need to check that we don't overstep lines, too.
- if (lineI > stopLine)
- return;
- // The out line may already exist in mappings (if we're continuing the line started by a
- // previous section). Or, we may have jumped ahead several lines to start this section.
- const out = getLine(mappings, lineI);
- // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the
- // map can be multiple lines), it doesn't.
- const cOffset = i === 0 ? columnOffset : 0;
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const column = cOffset + seg[COLUMN];
- // If this segment steps into the column range that the next section's map controls, we need
- // to stop early.
- if (lineI === stopLine && column >= stopColumn)
- return;
- if (seg.length === 1) {
- out.push([column]);
- continue;
- }
- const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];
- const sourceLine = seg[SOURCE_LINE];
- const sourceColumn = seg[SOURCE_COLUMN];
- out.push(seg.length === 4
- ? [column, sourcesIndex, sourceLine, sourceColumn]
- : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]);
- }
- }
-}
-function append(arr, other) {
- for (let i = 0; i < other.length; i++)
- arr.push(other[i]);
-}
-function getLine(arr, index) {
- for (let i = arr.length; i <= index; i++)
- arr[i] = [];
- return arr[index];
-}
-
-const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';
-const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';
-const LEAST_UPPER_BOUND = -1;
-const GREATEST_LOWER_BOUND = 1;
-/**
- * Returns the encoded (VLQ string) form of the SourceMap's mappings field.
- */
-let encodedMappings;
-/**
- * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
- */
-let decodedMappings;
-/**
- * A low-level API to find the segment associated with a generated line/column (think, from a
- * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.
- */
-let traceSegment;
-/**
- * A higher-level API to find the source/line/column associated with a generated line/column
- * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in
- * `source-map` library.
- */
-let originalPositionFor;
-/**
- * Finds the generated line/column position of the provided source/line/column source position.
- */
-let generatedPositionFor;
-/**
- * Finds all generated line/column positions of the provided source/line/column source position.
- */
-let allGeneratedPositionsFor;
-/**
- * Iterates each mapping in generated position order.
- */
-let eachMapping;
-/**
- * Retrieves the source content for a particular source, if its found. Returns null if not.
- */
-let sourceContentFor;
-/**
- * A helper that skips sorting of the input map's mappings array, which can be expensive for larger
- * maps.
- */
-let presortedDecodedMap;
-/**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-let decodedMap;
-/**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-let encodedMap;
-class TraceMap {
- constructor(map, mapUrl) {
- const isString = typeof map === 'string';
- if (!isString && map._decodedMemo)
- return map;
- const parsed = (isString ? JSON.parse(map) : map);
- const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;
- this.version = version;
- this.file = file;
- this.names = names;
- this.sourceRoot = sourceRoot;
- this.sources = sources;
- this.sourcesContent = sourcesContent;
- const from = resolve(sourceRoot || '', stripFilename(mapUrl));
- this.resolvedSources = sources.map((s) => resolve(s || '', from));
- const { mappings } = parsed;
- if (typeof mappings === 'string') {
- this._encoded = mappings;
- this._decoded = undefined;
- }
- else {
- this._encoded = undefined;
- this._decoded = maybeSort(mappings, isString);
- }
- this._decodedMemo = memoizedState();
- this._bySources = undefined;
- this._bySourceMemos = undefined;
- }
-}
-(() => {
- encodedMappings = (map) => {
- var _a;
- return ((_a = map._encoded) !== null && _a !== void 0 ? _a : (map._encoded = encode(map._decoded)));
- };
- decodedMappings = (map) => {
- return (map._decoded || (map._decoded = decode(map._encoded)));
- };
- traceSegment = (map, line, column) => {
- const decoded = decodedMappings(map);
- // It's common for parent source maps to have pointers to lines that have no
- // mapping (like a "//# sourceMappingURL=") at the end of the child file.
- if (line >= decoded.length)
- return null;
- const segments = decoded[line];
- const index = traceSegmentInternal(segments, map._decodedMemo, line, column, GREATEST_LOWER_BOUND);
- return index === -1 ? null : segments[index];
- };
- originalPositionFor = (map, { line, column, bias }) => {
- line--;
- if (line < 0)
- throw new Error(LINE_GTR_ZERO);
- if (column < 0)
- throw new Error(COL_GTR_EQ_ZERO);
- const decoded = decodedMappings(map);
- // It's common for parent source maps to have pointers to lines that have no
- // mapping (like a "//# sourceMappingURL=") at the end of the child file.
- if (line >= decoded.length)
- return OMapping(null, null, null, null);
- const segments = decoded[line];
- const index = traceSegmentInternal(segments, map._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);
- if (index === -1)
- return OMapping(null, null, null, null);
- const segment = segments[index];
- if (segment.length === 1)
- return OMapping(null, null, null, null);
- const { names, resolvedSources } = map;
- return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);
- };
- allGeneratedPositionsFor = (map, { source, line, column, bias }) => {
- // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.
- return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);
- };
- generatedPositionFor = (map, { source, line, column, bias }) => {
- return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);
- };
- eachMapping = (map, cb) => {
- const decoded = decodedMappings(map);
- const { names, resolvedSources } = map;
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const generatedLine = i + 1;
- const generatedColumn = seg[0];
- let source = null;
- let originalLine = null;
- let originalColumn = null;
- let name = null;
- if (seg.length !== 1) {
- source = resolvedSources[seg[1]];
- originalLine = seg[2] + 1;
- originalColumn = seg[3];
- }
- if (seg.length === 5)
- name = names[seg[4]];
- cb({
- generatedLine,
- generatedColumn,
- source,
- originalLine,
- originalColumn,
- name,
- });
- }
- }
- };
- sourceContentFor = (map, source) => {
- const { sources, resolvedSources, sourcesContent } = map;
- if (sourcesContent == null)
- return null;
- let index = sources.indexOf(source);
- if (index === -1)
- index = resolvedSources.indexOf(source);
- return index === -1 ? null : sourcesContent[index];
- };
- presortedDecodedMap = (map, mapUrl) => {
- const tracer = new TraceMap(clone(map, []), mapUrl);
- tracer._decoded = map.mappings;
- return tracer;
- };
- decodedMap = (map) => {
- return clone(map, decodedMappings(map));
- };
- encodedMap = (map) => {
- return clone(map, encodedMappings(map));
- };
- function generatedPosition(map, source, line, column, bias, all) {
- line--;
- if (line < 0)
- throw new Error(LINE_GTR_ZERO);
- if (column < 0)
- throw new Error(COL_GTR_EQ_ZERO);
- const { sources, resolvedSources } = map;
- let sourceIndex = sources.indexOf(source);
- if (sourceIndex === -1)
- sourceIndex = resolvedSources.indexOf(source);
- if (sourceIndex === -1)
- return all ? [] : GMapping(null, null);
- const generated = (map._bySources || (map._bySources = buildBySources(decodedMappings(map), (map._bySourceMemos = sources.map(memoizedState)))));
- const segments = generated[sourceIndex][line];
- if (segments == null)
- return all ? [] : GMapping(null, null);
- const memo = map._bySourceMemos[sourceIndex];
- if (all)
- return sliceGeneratedPositions(segments, memo, line, column, bias);
- const index = traceSegmentInternal(segments, memo, line, column, bias);
- if (index === -1)
- return GMapping(null, null);
- const segment = segments[index];
- return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);
- }
-})();
-function clone(map, mappings) {
- return {
- version: map.version,
- file: map.file,
- names: map.names,
- sourceRoot: map.sourceRoot,
- sources: map.sources,
- sourcesContent: map.sourcesContent,
- mappings,
- };
-}
-function OMapping(source, line, column, name) {
- return { source, line, column, name };
-}
-function GMapping(line, column) {
- return { line, column };
-}
-function traceSegmentInternal(segments, memo, line, column, bias) {
- let index = memoizedBinarySearch(segments, column, memo, line);
- if (found) {
- index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);
- }
- else if (bias === LEAST_UPPER_BOUND)
- index++;
- if (index === -1 || index === segments.length)
- return -1;
- return index;
-}
-function sliceGeneratedPositions(segments, memo, line, column, bias) {
- let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);
- // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in
- // insertion order) segment that matched. Even if we did respect the bias when tracing, we would
- // still need to call `lowerBound()` to find the first segment, which is slower than just looking
- // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the
- // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to
- // match LEAST_UPPER_BOUND.
- if (!found && bias === LEAST_UPPER_BOUND)
- min++;
- if (min === -1 || min === segments.length)
- return [];
- // We may have found the segment that started at an earlier column. If this is the case, then we
- // need to slice all generated segments that match _that_ column, because all such segments span
- // to our desired column.
- const matchedColumn = found ? column : segments[min][COLUMN];
- // The binary search is not guaranteed to find the lower bound when a match wasn't found.
- if (!found)
- min = lowerBound(segments, matchedColumn, min);
- const max = upperBound(segments, matchedColumn, min);
- const result = [];
- for (; min <= max; min++) {
- const segment = segments[min];
- result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));
- }
- return result;
-}
-
-export { AnyMap, GREATEST_LOWER_BOUND, LEAST_UPPER_BOUND, TraceMap, allGeneratedPositionsFor, decodedMap, decodedMappings, eachMapping, encodedMap, encodedMappings, generatedPositionFor, originalPositionFor, presortedDecodedMap, sourceContentFor, traceSegment };
-//# sourceMappingURL=trace-mapping.mjs.map
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map b/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map
deleted file mode 100644
index 4d40aa1..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"trace-mapping.mjs","sources":["../src/resolve.ts","../src/strip-filename.ts","../src/sourcemap-segment.ts","../src/sort.ts","../src/binary-search.ts","../src/by-source.ts","../src/any-map.ts","../src/trace-mapping.ts"],"sourcesContent":["import resolveUri from '@jridgewell/resolve-uri';\n\nexport default function resolve(input: string, base: string | undefined): string {\n // The base is always treated as a directory, if it's not empty.\n // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327\n // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401\n if (base && !base.endsWith('/')) base += '/';\n\n return resolveUri(input, base);\n}\n","/**\n * Removes everything after the last \"/\", but leaves the slash.\n */\nexport default function stripFilename(path: string | undefined | null): string {\n if (!path) return '';\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n","type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\ntype GeneratedLine = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n\nexport const REV_GENERATED_LINE = 1;\nexport const REV_GENERATED_COLUMN = 2;\n","import { COLUMN } from './sourcemap-segment';\n\nimport type { SourceMapSegment } from './sourcemap-segment';\n\nexport default function maybeSort(\n mappings: SourceMapSegment[][],\n owned: boolean,\n): SourceMapSegment[][] {\n const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);\n if (unsortedIndex === mappings.length) return mappings;\n\n // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If\n // not, we do not want to modify the consumer's input array.\n if (!owned) mappings = mappings.slice();\n\n for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {\n mappings[i] = sortSegments(mappings[i], owned);\n }\n return mappings;\n}\n\nfunction nextUnsortedSegmentLine(mappings: SourceMapSegment[][], start: number): number {\n for (let i = start; i < mappings.length; i++) {\n if (!isSorted(mappings[i])) return i;\n }\n return mappings.length;\n}\n\nfunction isSorted(line: SourceMapSegment[]): boolean {\n for (let j = 1; j < line.length; j++) {\n if (line[j][COLUMN] < line[j - 1][COLUMN]) {\n return false;\n }\n }\n return true;\n}\n\nfunction sortSegments(line: SourceMapSegment[], owned: boolean): SourceMapSegment[] {\n if (!owned) line = line.slice();\n return line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[COLUMN] - b[COLUMN];\n}\n","import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport { COLUMN } from './sourcemap-segment';\n\nexport type MemoState = {\n lastKey: number;\n lastNeedle: number;\n lastIndex: number;\n};\n\nexport let found = false;\n\n/**\n * A binary search implementation that returns the index if a match is found.\n * If no match is found, then the left-index (the index associated with the item that comes just\n * before the desired index) is returned. To maintain proper sort order, a splice would happen at\n * the next index:\n *\n * ```js\n * const array = [1, 3];\n * const needle = 2;\n * const index = binarySearch(array, needle, (item, needle) => item - needle);\n *\n * assert.equal(index, 0);\n * array.splice(index + 1, 0, needle);\n * assert.deepEqual(array, [1, 2, 3]);\n * ```\n */\nexport function binarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n low: number,\n high: number,\n): number {\n while (low <= high) {\n const mid = low + ((high - low) >> 1);\n const cmp = haystack[mid][COLUMN] - needle;\n\n if (cmp === 0) {\n found = true;\n return mid;\n }\n\n if (cmp < 0) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n found = false;\n return low - 1;\n}\n\nexport function upperBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index + 1; i < haystack.length; index = i++) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function lowerBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index - 1; i >= 0; index = i--) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function memoizedState(): MemoState {\n return {\n lastKey: -1,\n lastNeedle: -1,\n lastIndex: -1,\n };\n}\n\n/**\n * This overly complicated beast is just to record the last tested line/column and the resulting\n * index, allowing us to skip a few tests if mappings are monotonically increasing.\n */\nexport function memoizedBinarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n state: MemoState,\n key: number,\n): number {\n const { lastKey, lastNeedle, lastIndex } = state;\n\n let low = 0;\n let high = haystack.length - 1;\n if (key === lastKey) {\n if (needle === lastNeedle) {\n found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n return lastIndex;\n }\n\n if (needle >= lastNeedle) {\n // lastIndex may be -1 if the previous needle was not found.\n low = lastIndex === -1 ? 0 : lastIndex;\n } else {\n high = lastIndex;\n }\n }\n state.lastKey = key;\n state.lastNeedle = needle;\n\n return (state.lastIndex = binarySearch(haystack, needle, low, high));\n}\n","import { COLUMN, SOURCES_INDEX, SOURCE_LINE, SOURCE_COLUMN } from './sourcemap-segment';\nimport { memoizedBinarySearch, upperBound } from './binary-search';\n\nimport type { ReverseSegment, SourceMapSegment } from './sourcemap-segment';\nimport type { MemoState } from './binary-search';\n\nexport type Source = {\n __proto__: null;\n [line: number]: Exclude<ReverseSegment, [number]>[];\n};\n\n// Rebuilds the original source files, with mappings that are ordered by source line/column instead\n// of generated line/column.\nexport default function buildBySources(\n decoded: readonly SourceMapSegment[][],\n memos: MemoState[],\n): Source[] {\n const sources: Source[] = memos.map(buildNullArray);\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n if (seg.length === 1) continue;\n\n const sourceIndex = seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n const originalSource = sources[sourceIndex];\n const originalLine = (originalSource[sourceLine] ||= []);\n const memo = memos[sourceIndex];\n\n // The binary search either found a match, or it found the left-index just before where the\n // segment should go. Either way, we want to insert after that. And there may be multiple\n // generated segments associated with an original location, so there may need to move several\n // indexes before we find where we need to insert.\n const index = upperBound(\n originalLine,\n sourceColumn,\n memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine),\n );\n\n insert(originalLine, (memo.lastIndex = index + 1), [sourceColumn, i, seg[COLUMN]]);\n }\n }\n\n return sources;\n}\n\nfunction insert<T>(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\n// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like\n// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.\n// Numeric properties on objects are magically sorted in ascending order by the engine regardless of\n// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending\n// order when iterating with for-in.\nfunction buildNullArray<T extends { __proto__: null }>(): T {\n return { __proto__: null } as T;\n}\n","import { TraceMap, presortedDecodedMap, decodedMappings } from './trace-mapping';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type {\n Section,\n SectionedSourceMap,\n DecodedSourceMap,\n SectionedSourceMapInput,\n Ro,\n} from './types';\nimport type { SourceMapSegment } from './sourcemap-segment';\n\ntype AnyMap = {\n new (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n};\n\nexport const AnyMap: AnyMap = function (map, mapUrl) {\n const parsed =\n typeof map === 'string' ? (JSON.parse(map) as Exclude<SectionedSourceMapInput, string>) : map;\n\n if (!('sections' in parsed)) return new TraceMap(parsed, mapUrl);\n\n const mappings: SourceMapSegment[][] = [];\n const sources: string[] = [];\n const sourcesContent: (string | null)[] = [];\n const names: string[] = [];\n\n recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, 0, 0, Infinity, Infinity);\n\n const joined: DecodedSourceMap = {\n version: 3,\n file: parsed.file,\n names,\n sources,\n sourcesContent,\n mappings,\n };\n\n return presortedDecodedMap(joined);\n} as AnyMap;\n\nfunction recurse(\n input: Ro<SectionedSourceMap>,\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n const { sections } = input;\n for (let i = 0; i < sections.length; i++) {\n const { map, offset } = sections[i];\n\n let sl = stopLine;\n let sc = stopColumn;\n if (i + 1 < sections.length) {\n const nextOffset = sections[i + 1].offset;\n sl = Math.min(stopLine, lineOffset + nextOffset.line);\n\n if (sl === stopLine) {\n sc = Math.min(stopColumn, columnOffset + nextOffset.column);\n } else if (sl < stopLine) {\n sc = columnOffset + nextOffset.column;\n }\n }\n\n addSection(\n map,\n mapUrl,\n mappings,\n sources,\n sourcesContent,\n names,\n lineOffset + offset.line,\n columnOffset + offset.column,\n sl,\n sc,\n );\n }\n}\n\nfunction addSection(\n input: Ro<Section['map']>,\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n if ('sections' in input) return recurse(...(arguments as unknown as Parameters<typeof recurse>));\n\n const map = new TraceMap(input, mapUrl);\n const sourcesOffset = sources.length;\n const namesOffset = names.length;\n const decoded = decodedMappings(map);\n const { resolvedSources, sourcesContent: contents } = map;\n\n append(sources, resolvedSources);\n append(names, map.names);\n if (contents) append(sourcesContent, contents);\n else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null);\n\n for (let i = 0; i < decoded.length; i++) {\n const lineI = lineOffset + i;\n\n // We can only add so many lines before we step into the range that the next section's map\n // controls. When we get to the last line, then we'll start checking the segments to see if\n // they've crossed into the column range. But it may not have any columns that overstep, so we\n // still need to check that we don't overstep lines, too.\n if (lineI > stopLine) return;\n\n // The out line may already exist in mappings (if we're continuing the line started by a\n // previous section). Or, we may have jumped ahead several lines to start this section.\n const out = getLine(mappings, lineI);\n // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the\n // map can be multiple lines), it doesn't.\n const cOffset = i === 0 ? columnOffset : 0;\n\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n const column = cOffset + seg[COLUMN];\n\n // If this segment steps into the column range that the next section's map controls, we need\n // to stop early.\n if (lineI === stopLine && column >= stopColumn) return;\n\n if (seg.length === 1) {\n out.push([column]);\n continue;\n }\n\n const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n out.push(\n seg.length === 4\n ? [column, sourcesIndex, sourceLine, sourceColumn]\n : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]],\n );\n }\n }\n}\n\nfunction append<T>(arr: T[], other: T[]) {\n for (let i = 0; i < other.length; i++) arr.push(other[i]);\n}\n\nfunction getLine<T>(arr: T[][], index: number): T[] {\n for (let i = arr.length; i <= index; i++) arr[i] = [];\n return arr[index];\n}\n","import { encode, decode } from '@jridgewell/sourcemap-codec';\n\nimport resolve from './resolve';\nimport stripFilename from './strip-filename';\nimport maybeSort from './sort';\nimport buildBySources from './by-source';\nimport {\n memoizedState,\n memoizedBinarySearch,\n upperBound,\n lowerBound,\n found as bsFound,\n} from './binary-search';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n REV_GENERATED_LINE,\n REV_GENERATED_COLUMN,\n} from './sourcemap-segment';\n\nimport type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport type {\n SourceMapV3,\n DecodedSourceMap,\n EncodedSourceMap,\n InvalidOriginalMapping,\n OriginalMapping,\n InvalidGeneratedMapping,\n GeneratedMapping,\n SourceMapInput,\n Needle,\n SourceNeedle,\n SourceMap,\n EachMapping,\n Bias,\n} from './types';\nimport type { Source } from './by-source';\nimport type { MemoState } from './binary-search';\n\nexport type { SourceMapSegment } from './sourcemap-segment';\nexport type {\n SourceMapInput,\n SectionedSourceMapInput,\n DecodedSourceMap,\n EncodedSourceMap,\n SectionedSourceMap,\n InvalidOriginalMapping,\n OriginalMapping as Mapping,\n OriginalMapping,\n InvalidGeneratedMapping,\n GeneratedMapping,\n EachMapping,\n} from './types';\n\nconst LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';\nconst COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';\n\nexport const LEAST_UPPER_BOUND = -1;\nexport const GREATEST_LOWER_BOUND = 1;\n\n/**\n * Returns the encoded (VLQ string) form of the SourceMap's mappings field.\n */\nexport let encodedMappings: (map: TraceMap) => EncodedSourceMap['mappings'];\n\n/**\n * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.\n */\nexport let decodedMappings: (map: TraceMap) => Readonly<DecodedSourceMap['mappings']>;\n\n/**\n * A low-level API to find the segment associated with a generated line/column (think, from a\n * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.\n */\nexport let traceSegment: (\n map: TraceMap,\n line: number,\n column: number,\n) => Readonly<SourceMapSegment> | null;\n\n/**\n * A higher-level API to find the source/line/column associated with a generated line/column\n * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in\n * `source-map` library.\n */\nexport let originalPositionFor: (\n map: TraceMap,\n needle: Needle,\n) => OriginalMapping | InvalidOriginalMapping;\n\n/**\n * Finds the generated line/column position of the provided source/line/column source position.\n */\nexport let generatedPositionFor: (\n map: TraceMap,\n needle: SourceNeedle,\n) => GeneratedMapping | InvalidGeneratedMapping;\n\n/**\n * Finds all generated line/column positions of the provided source/line/column source position.\n */\nexport let allGeneratedPositionsFor: (map: TraceMap, needle: SourceNeedle) => GeneratedMapping[];\n\n/**\n * Iterates each mapping in generated position order.\n */\nexport let eachMapping: (map: TraceMap, cb: (mapping: EachMapping) => void) => void;\n\n/**\n * Retrieves the source content for a particular source, if its found. Returns null if not.\n */\nexport let sourceContentFor: (map: TraceMap, source: string) => string | null;\n\n/**\n * A helper that skips sorting of the input map's mappings array, which can be expensive for larger\n * maps.\n */\nexport let presortedDecodedMap: (map: DecodedSourceMap, mapUrl?: string) => TraceMap;\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport let decodedMap: (\n map: TraceMap,\n) => Omit<DecodedSourceMap, 'mappings'> & { mappings: readonly SourceMapSegment[][] };\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport let encodedMap: (map: TraceMap) => EncodedSourceMap;\n\nexport { AnyMap } from './any-map';\n\nexport class TraceMap implements SourceMap {\n declare version: SourceMapV3['version'];\n declare file: SourceMapV3['file'];\n declare names: SourceMapV3['names'];\n declare sourceRoot: SourceMapV3['sourceRoot'];\n declare sources: SourceMapV3['sources'];\n declare sourcesContent: SourceMapV3['sourcesContent'];\n\n declare resolvedSources: string[];\n private declare _encoded: string | undefined;\n\n private declare _decoded: SourceMapSegment[][] | undefined;\n private declare _decodedMemo: MemoState;\n\n private declare _bySources: Source[] | undefined;\n private declare _bySourceMemos: MemoState[] | undefined;\n\n constructor(map: SourceMapInput, mapUrl?: string | null) {\n const isString = typeof map === 'string';\n\n if (!isString && (map as unknown as { _decodedMemo: any })._decodedMemo) return map as TraceMap;\n\n const parsed = (isString ? JSON.parse(map) : map) as DecodedSourceMap | EncodedSourceMap;\n\n const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;\n this.version = version;\n this.file = file;\n this.names = names;\n this.sourceRoot = sourceRoot;\n this.sources = sources;\n this.sourcesContent = sourcesContent;\n\n const from = resolve(sourceRoot || '', stripFilename(mapUrl));\n this.resolvedSources = sources.map((s) => resolve(s || '', from));\n\n const { mappings } = parsed;\n if (typeof mappings === 'string') {\n this._encoded = mappings;\n this._decoded = undefined;\n } else {\n this._encoded = undefined;\n this._decoded = maybeSort(mappings, isString);\n }\n\n this._decodedMemo = memoizedState();\n this._bySources = undefined;\n this._bySourceMemos = undefined;\n }\n\n static {\n encodedMappings = (map) => {\n return (map._encoded ??= encode(map._decoded!));\n };\n\n decodedMappings = (map) => {\n return (map._decoded ||= decode(map._encoded!));\n };\n\n traceSegment = (map, line, column) => {\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return null;\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n map._decodedMemo,\n line,\n column,\n GREATEST_LOWER_BOUND,\n );\n\n return index === -1 ? null : segments[index];\n };\n\n originalPositionFor = (map, { line, column, bias }) => {\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return OMapping(null, null, null, null);\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n map._decodedMemo,\n line,\n column,\n bias || GREATEST_LOWER_BOUND,\n );\n\n if (index === -1) return OMapping(null, null, null, null);\n\n const segment = segments[index];\n if (segment.length === 1) return OMapping(null, null, null, null);\n\n const { names, resolvedSources } = map;\n return OMapping(\n resolvedSources[segment[SOURCES_INDEX]],\n segment[SOURCE_LINE] + 1,\n segment[SOURCE_COLUMN],\n segment.length === 5 ? names[segment[NAMES_INDEX]] : null,\n );\n };\n\n allGeneratedPositionsFor = (map, { source, line, column, bias }) => {\n // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.\n return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);\n };\n\n generatedPositionFor = (map, { source, line, column, bias }) => {\n return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);\n };\n\n eachMapping = (map, cb) => {\n const decoded = decodedMappings(map);\n const { names, resolvedSources } = map;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generatedLine = i + 1;\n const generatedColumn = seg[0];\n let source = null;\n let originalLine = null;\n let originalColumn = null;\n let name = null;\n if (seg.length !== 1) {\n source = resolvedSources[seg[1]];\n originalLine = seg[2] + 1;\n originalColumn = seg[3];\n }\n if (seg.length === 5) name = names[seg[4]];\n\n cb({\n generatedLine,\n generatedColumn,\n source,\n originalLine,\n originalColumn,\n name,\n } as EachMapping);\n }\n }\n };\n\n sourceContentFor = (map, source) => {\n const { sources, resolvedSources, sourcesContent } = map;\n if (sourcesContent == null) return null;\n\n let index = sources.indexOf(source);\n if (index === -1) index = resolvedSources.indexOf(source);\n\n return index === -1 ? null : sourcesContent[index];\n };\n\n presortedDecodedMap = (map, mapUrl) => {\n const tracer = new TraceMap(clone(map, []), mapUrl);\n tracer._decoded = map.mappings;\n return tracer;\n };\n\n decodedMap = (map) => {\n return clone(map, decodedMappings(map));\n };\n\n encodedMap = (map) => {\n return clone(map, encodedMappings(map));\n };\n\n function generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: false,\n ): GeneratedMapping | InvalidGeneratedMapping;\n function generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: true,\n ): GeneratedMapping[];\n function generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: boolean,\n ): GeneratedMapping | InvalidGeneratedMapping | GeneratedMapping[] {\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const { sources, resolvedSources } = map;\n let sourceIndex = sources.indexOf(source);\n if (sourceIndex === -1) sourceIndex = resolvedSources.indexOf(source);\n if (sourceIndex === -1) return all ? [] : GMapping(null, null);\n\n const generated = (map._bySources ||= buildBySources(\n decodedMappings(map),\n (map._bySourceMemos = sources.map(memoizedState)),\n ));\n\n const segments = generated[sourceIndex][line];\n if (segments == null) return all ? [] : GMapping(null, null);\n\n const memo = map._bySourceMemos![sourceIndex];\n\n if (all) return sliceGeneratedPositions(segments, memo, line, column, bias);\n\n const index = traceSegmentInternal(segments, memo, line, column, bias);\n if (index === -1) return GMapping(null, null);\n\n const segment = segments[index];\n return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);\n }\n }\n}\n\nfunction clone<T extends string | readonly SourceMapSegment[][]>(\n map: TraceMap | DecodedSourceMap | EncodedSourceMap,\n mappings: T,\n): T extends string ? EncodedSourceMap : DecodedSourceMap {\n return {\n version: map.version,\n file: map.file,\n names: map.names,\n sourceRoot: map.sourceRoot,\n sources: map.sources,\n sourcesContent: map.sourcesContent,\n mappings,\n } as any;\n}\n\nfunction OMapping(source: null, line: null, column: null, name: null): InvalidOriginalMapping;\nfunction OMapping(\n source: string,\n line: number,\n column: number,\n name: string | null,\n): OriginalMapping;\nfunction OMapping(\n source: string | null,\n line: number | null,\n column: number | null,\n name: string | null,\n): OriginalMapping | InvalidOriginalMapping {\n return { source, line, column, name } as any;\n}\n\nfunction GMapping(line: null, column: null): InvalidGeneratedMapping;\nfunction GMapping(line: number, column: number): GeneratedMapping;\nfunction GMapping(\n line: number | null,\n column: number | null,\n): GeneratedMapping | InvalidGeneratedMapping {\n return { line, column } as any;\n}\n\nfunction traceSegmentInternal(\n segments: SourceMapSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: SourceMapSegment[] | ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number {\n let index = memoizedBinarySearch(segments, column, memo, line);\n if (bsFound) {\n index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n } else if (bias === LEAST_UPPER_BOUND) index++;\n\n if (index === -1 || index === segments.length) return -1;\n return index;\n}\n\nfunction sliceGeneratedPositions(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): GeneratedMapping[] {\n let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);\n\n // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in\n // insertion order) segment that matched. Even if we did respect the bias when tracing, we would\n // still need to call `lowerBound()` to find the first segment, which is slower than just looking\n // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the\n // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to\n // match LEAST_UPPER_BOUND.\n if (!bsFound && bias === LEAST_UPPER_BOUND) min++;\n\n if (min === -1 || min === segments.length) return [];\n\n // We may have found the segment that started at an earlier column. If this is the case, then we\n // need to slice all generated segments that match _that_ column, because all such segments span\n // to our desired column.\n const matchedColumn = bsFound ? column : segments[min][COLUMN];\n\n // The binary search is not guaranteed to find the lower bound when a match wasn't found.\n if (!bsFound) min = lowerBound(segments, matchedColumn, min);\n const max = upperBound(segments, matchedColumn, min);\n\n const result = [];\n for (; min <= max; min++) {\n const segment = segments[min];\n result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));\n }\n return result;\n}\n"],"names":["bsFound"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js b/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
deleted file mode 100644
index a3251f1..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js
+++ /dev/null
@@ -1,566 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@jridgewell/sourcemap-codec'), require('@jridgewell/resolve-uri')) :
- typeof define === 'function' && define.amd ? define(['exports', '@jridgewell/sourcemap-codec', '@jridgewell/resolve-uri'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.traceMapping = {}, global.sourcemapCodec, global.resolveURI));
-})(this, (function (exports, sourcemapCodec, resolveUri) { 'use strict';
-
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
-
- var resolveUri__default = /*#__PURE__*/_interopDefaultLegacy(resolveUri);
-
- function resolve(input, base) {
- // The base is always treated as a directory, if it's not empty.
- // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327
- // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401
- if (base && !base.endsWith('/'))
- base += '/';
- return resolveUri__default["default"](input, base);
- }
-
- /**
- * Removes everything after the last "/", but leaves the slash.
- */
- function stripFilename(path) {
- if (!path)
- return '';
- const index = path.lastIndexOf('/');
- return path.slice(0, index + 1);
- }
-
- const COLUMN = 0;
- const SOURCES_INDEX = 1;
- const SOURCE_LINE = 2;
- const SOURCE_COLUMN = 3;
- const NAMES_INDEX = 4;
- const REV_GENERATED_LINE = 1;
- const REV_GENERATED_COLUMN = 2;
-
- function maybeSort(mappings, owned) {
- const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);
- if (unsortedIndex === mappings.length)
- return mappings;
- // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If
- // not, we do not want to modify the consumer's input array.
- if (!owned)
- mappings = mappings.slice();
- for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {
- mappings[i] = sortSegments(mappings[i], owned);
- }
- return mappings;
- }
- function nextUnsortedSegmentLine(mappings, start) {
- for (let i = start; i < mappings.length; i++) {
- if (!isSorted(mappings[i]))
- return i;
- }
- return mappings.length;
- }
- function isSorted(line) {
- for (let j = 1; j < line.length; j++) {
- if (line[j][COLUMN] < line[j - 1][COLUMN]) {
- return false;
- }
- }
- return true;
- }
- function sortSegments(line, owned) {
- if (!owned)
- line = line.slice();
- return line.sort(sortComparator);
- }
- function sortComparator(a, b) {
- return a[COLUMN] - b[COLUMN];
- }
-
- let found = false;
- /**
- * A binary search implementation that returns the index if a match is found.
- * If no match is found, then the left-index (the index associated with the item that comes just
- * before the desired index) is returned. To maintain proper sort order, a splice would happen at
- * the next index:
- *
- * ```js
- * const array = [1, 3];
- * const needle = 2;
- * const index = binarySearch(array, needle, (item, needle) => item - needle);
- *
- * assert.equal(index, 0);
- * array.splice(index + 1, 0, needle);
- * assert.deepEqual(array, [1, 2, 3]);
- * ```
- */
- function binarySearch(haystack, needle, low, high) {
- while (low <= high) {
- const mid = low + ((high - low) >> 1);
- const cmp = haystack[mid][COLUMN] - needle;
- if (cmp === 0) {
- found = true;
- return mid;
- }
- if (cmp < 0) {
- low = mid + 1;
- }
- else {
- high = mid - 1;
- }
- }
- found = false;
- return low - 1;
- }
- function upperBound(haystack, needle, index) {
- for (let i = index + 1; i < haystack.length; index = i++) {
- if (haystack[i][COLUMN] !== needle)
- break;
- }
- return index;
- }
- function lowerBound(haystack, needle, index) {
- for (let i = index - 1; i >= 0; index = i--) {
- if (haystack[i][COLUMN] !== needle)
- break;
- }
- return index;
- }
- function memoizedState() {
- return {
- lastKey: -1,
- lastNeedle: -1,
- lastIndex: -1,
- };
- }
- /**
- * This overly complicated beast is just to record the last tested line/column and the resulting
- * index, allowing us to skip a few tests if mappings are monotonically increasing.
- */
- function memoizedBinarySearch(haystack, needle, state, key) {
- const { lastKey, lastNeedle, lastIndex } = state;
- let low = 0;
- let high = haystack.length - 1;
- if (key === lastKey) {
- if (needle === lastNeedle) {
- found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;
- return lastIndex;
- }
- if (needle >= lastNeedle) {
- // lastIndex may be -1 if the previous needle was not found.
- low = lastIndex === -1 ? 0 : lastIndex;
- }
- else {
- high = lastIndex;
- }
- }
- state.lastKey = key;
- state.lastNeedle = needle;
- return (state.lastIndex = binarySearch(haystack, needle, low, high));
- }
-
- // Rebuilds the original source files, with mappings that are ordered by source line/column instead
- // of generated line/column.
- function buildBySources(decoded, memos) {
- const sources = memos.map(buildNullArray);
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- if (seg.length === 1)
- continue;
- const sourceIndex = seg[SOURCES_INDEX];
- const sourceLine = seg[SOURCE_LINE];
- const sourceColumn = seg[SOURCE_COLUMN];
- const originalSource = sources[sourceIndex];
- const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = []));
- const memo = memos[sourceIndex];
- // The binary search either found a match, or it found the left-index just before where the
- // segment should go. Either way, we want to insert after that. And there may be multiple
- // generated segments associated with an original location, so there may need to move several
- // indexes before we find where we need to insert.
- const index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine));
- insert(originalLine, (memo.lastIndex = index + 1), [sourceColumn, i, seg[COLUMN]]);
- }
- }
- return sources;
- }
- function insert(array, index, value) {
- for (let i = array.length; i > index; i--) {
- array[i] = array[i - 1];
- }
- array[index] = value;
- }
- // Null arrays allow us to use ordered index keys without actually allocating contiguous memory like
- // a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.
- // Numeric properties on objects are magically sorted in ascending order by the engine regardless of
- // the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending
- // order when iterating with for-in.
- function buildNullArray() {
- return { __proto__: null };
- }
-
- const AnyMap = function (map, mapUrl) {
- const parsed = typeof map === 'string' ? JSON.parse(map) : map;
- if (!('sections' in parsed))
- return new TraceMap(parsed, mapUrl);
- const mappings = [];
- const sources = [];
- const sourcesContent = [];
- const names = [];
- recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, 0, 0, Infinity, Infinity);
- const joined = {
- version: 3,
- file: parsed.file,
- names,
- sources,
- sourcesContent,
- mappings,
- };
- return exports.presortedDecodedMap(joined);
- };
- function recurse(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) {
- const { sections } = input;
- for (let i = 0; i < sections.length; i++) {
- const { map, offset } = sections[i];
- let sl = stopLine;
- let sc = stopColumn;
- if (i + 1 < sections.length) {
- const nextOffset = sections[i + 1].offset;
- sl = Math.min(stopLine, lineOffset + nextOffset.line);
- if (sl === stopLine) {
- sc = Math.min(stopColumn, columnOffset + nextOffset.column);
- }
- else if (sl < stopLine) {
- sc = columnOffset + nextOffset.column;
- }
- }
- addSection(map, mapUrl, mappings, sources, sourcesContent, names, lineOffset + offset.line, columnOffset + offset.column, sl, sc);
- }
- }
- function addSection(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) {
- if ('sections' in input)
- return recurse(...arguments);
- const map = new TraceMap(input, mapUrl);
- const sourcesOffset = sources.length;
- const namesOffset = names.length;
- const decoded = exports.decodedMappings(map);
- const { resolvedSources, sourcesContent: contents } = map;
- append(sources, resolvedSources);
- append(names, map.names);
- if (contents)
- append(sourcesContent, contents);
- else
- for (let i = 0; i < resolvedSources.length; i++)
- sourcesContent.push(null);
- for (let i = 0; i < decoded.length; i++) {
- const lineI = lineOffset + i;
- // We can only add so many lines before we step into the range that the next section's map
- // controls. When we get to the last line, then we'll start checking the segments to see if
- // they've crossed into the column range. But it may not have any columns that overstep, so we
- // still need to check that we don't overstep lines, too.
- if (lineI > stopLine)
- return;
- // The out line may already exist in mappings (if we're continuing the line started by a
- // previous section). Or, we may have jumped ahead several lines to start this section.
- const out = getLine(mappings, lineI);
- // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the
- // map can be multiple lines), it doesn't.
- const cOffset = i === 0 ? columnOffset : 0;
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const column = cOffset + seg[COLUMN];
- // If this segment steps into the column range that the next section's map controls, we need
- // to stop early.
- if (lineI === stopLine && column >= stopColumn)
- return;
- if (seg.length === 1) {
- out.push([column]);
- continue;
- }
- const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];
- const sourceLine = seg[SOURCE_LINE];
- const sourceColumn = seg[SOURCE_COLUMN];
- out.push(seg.length === 4
- ? [column, sourcesIndex, sourceLine, sourceColumn]
- : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]);
- }
- }
- }
- function append(arr, other) {
- for (let i = 0; i < other.length; i++)
- arr.push(other[i]);
- }
- function getLine(arr, index) {
- for (let i = arr.length; i <= index; i++)
- arr[i] = [];
- return arr[index];
- }
-
- const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';
- const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';
- const LEAST_UPPER_BOUND = -1;
- const GREATEST_LOWER_BOUND = 1;
- /**
- * Returns the encoded (VLQ string) form of the SourceMap's mappings field.
- */
- exports.encodedMappings = void 0;
- /**
- * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
- */
- exports.decodedMappings = void 0;
- /**
- * A low-level API to find the segment associated with a generated line/column (think, from a
- * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.
- */
- exports.traceSegment = void 0;
- /**
- * A higher-level API to find the source/line/column associated with a generated line/column
- * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in
- * `source-map` library.
- */
- exports.originalPositionFor = void 0;
- /**
- * Finds the generated line/column position of the provided source/line/column source position.
- */
- exports.generatedPositionFor = void 0;
- /**
- * Finds all generated line/column positions of the provided source/line/column source position.
- */
- exports.allGeneratedPositionsFor = void 0;
- /**
- * Iterates each mapping in generated position order.
- */
- exports.eachMapping = void 0;
- /**
- * Retrieves the source content for a particular source, if its found. Returns null if not.
- */
- exports.sourceContentFor = void 0;
- /**
- * A helper that skips sorting of the input map's mappings array, which can be expensive for larger
- * maps.
- */
- exports.presortedDecodedMap = void 0;
- /**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
- exports.decodedMap = void 0;
- /**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
- exports.encodedMap = void 0;
- class TraceMap {
- constructor(map, mapUrl) {
- const isString = typeof map === 'string';
- if (!isString && map._decodedMemo)
- return map;
- const parsed = (isString ? JSON.parse(map) : map);
- const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;
- this.version = version;
- this.file = file;
- this.names = names;
- this.sourceRoot = sourceRoot;
- this.sources = sources;
- this.sourcesContent = sourcesContent;
- const from = resolve(sourceRoot || '', stripFilename(mapUrl));
- this.resolvedSources = sources.map((s) => resolve(s || '', from));
- const { mappings } = parsed;
- if (typeof mappings === 'string') {
- this._encoded = mappings;
- this._decoded = undefined;
- }
- else {
- this._encoded = undefined;
- this._decoded = maybeSort(mappings, isString);
- }
- this._decodedMemo = memoizedState();
- this._bySources = undefined;
- this._bySourceMemos = undefined;
- }
- }
- (() => {
- exports.encodedMappings = (map) => {
- var _a;
- return ((_a = map._encoded) !== null && _a !== void 0 ? _a : (map._encoded = sourcemapCodec.encode(map._decoded)));
- };
- exports.decodedMappings = (map) => {
- return (map._decoded || (map._decoded = sourcemapCodec.decode(map._encoded)));
- };
- exports.traceSegment = (map, line, column) => {
- const decoded = exports.decodedMappings(map);
- // It's common for parent source maps to have pointers to lines that have no
- // mapping (like a "//# sourceMappingURL=") at the end of the child file.
- if (line >= decoded.length)
- return null;
- const segments = decoded[line];
- const index = traceSegmentInternal(segments, map._decodedMemo, line, column, GREATEST_LOWER_BOUND);
- return index === -1 ? null : segments[index];
- };
- exports.originalPositionFor = (map, { line, column, bias }) => {
- line--;
- if (line < 0)
- throw new Error(LINE_GTR_ZERO);
- if (column < 0)
- throw new Error(COL_GTR_EQ_ZERO);
- const decoded = exports.decodedMappings(map);
- // It's common for parent source maps to have pointers to lines that have no
- // mapping (like a "//# sourceMappingURL=") at the end of the child file.
- if (line >= decoded.length)
- return OMapping(null, null, null, null);
- const segments = decoded[line];
- const index = traceSegmentInternal(segments, map._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);
- if (index === -1)
- return OMapping(null, null, null, null);
- const segment = segments[index];
- if (segment.length === 1)
- return OMapping(null, null, null, null);
- const { names, resolvedSources } = map;
- return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);
- };
- exports.allGeneratedPositionsFor = (map, { source, line, column, bias }) => {
- // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.
- return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);
- };
- exports.generatedPositionFor = (map, { source, line, column, bias }) => {
- return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);
- };
- exports.eachMapping = (map, cb) => {
- const decoded = exports.decodedMappings(map);
- const { names, resolvedSources } = map;
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- for (let j = 0; j < line.length; j++) {
- const seg = line[j];
- const generatedLine = i + 1;
- const generatedColumn = seg[0];
- let source = null;
- let originalLine = null;
- let originalColumn = null;
- let name = null;
- if (seg.length !== 1) {
- source = resolvedSources[seg[1]];
- originalLine = seg[2] + 1;
- originalColumn = seg[3];
- }
- if (seg.length === 5)
- name = names[seg[4]];
- cb({
- generatedLine,
- generatedColumn,
- source,
- originalLine,
- originalColumn,
- name,
- });
- }
- }
- };
- exports.sourceContentFor = (map, source) => {
- const { sources, resolvedSources, sourcesContent } = map;
- if (sourcesContent == null)
- return null;
- let index = sources.indexOf(source);
- if (index === -1)
- index = resolvedSources.indexOf(source);
- return index === -1 ? null : sourcesContent[index];
- };
- exports.presortedDecodedMap = (map, mapUrl) => {
- const tracer = new TraceMap(clone(map, []), mapUrl);
- tracer._decoded = map.mappings;
- return tracer;
- };
- exports.decodedMap = (map) => {
- return clone(map, exports.decodedMappings(map));
- };
- exports.encodedMap = (map) => {
- return clone(map, exports.encodedMappings(map));
- };
- function generatedPosition(map, source, line, column, bias, all) {
- line--;
- if (line < 0)
- throw new Error(LINE_GTR_ZERO);
- if (column < 0)
- throw new Error(COL_GTR_EQ_ZERO);
- const { sources, resolvedSources } = map;
- let sourceIndex = sources.indexOf(source);
- if (sourceIndex === -1)
- sourceIndex = resolvedSources.indexOf(source);
- if (sourceIndex === -1)
- return all ? [] : GMapping(null, null);
- const generated = (map._bySources || (map._bySources = buildBySources(exports.decodedMappings(map), (map._bySourceMemos = sources.map(memoizedState)))));
- const segments = generated[sourceIndex][line];
- if (segments == null)
- return all ? [] : GMapping(null, null);
- const memo = map._bySourceMemos[sourceIndex];
- if (all)
- return sliceGeneratedPositions(segments, memo, line, column, bias);
- const index = traceSegmentInternal(segments, memo, line, column, bias);
- if (index === -1)
- return GMapping(null, null);
- const segment = segments[index];
- return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);
- }
- })();
- function clone(map, mappings) {
- return {
- version: map.version,
- file: map.file,
- names: map.names,
- sourceRoot: map.sourceRoot,
- sources: map.sources,
- sourcesContent: map.sourcesContent,
- mappings,
- };
- }
- function OMapping(source, line, column, name) {
- return { source, line, column, name };
- }
- function GMapping(line, column) {
- return { line, column };
- }
- function traceSegmentInternal(segments, memo, line, column, bias) {
- let index = memoizedBinarySearch(segments, column, memo, line);
- if (found) {
- index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);
- }
- else if (bias === LEAST_UPPER_BOUND)
- index++;
- if (index === -1 || index === segments.length)
- return -1;
- return index;
- }
- function sliceGeneratedPositions(segments, memo, line, column, bias) {
- let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);
- // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in
- // insertion order) segment that matched. Even if we did respect the bias when tracing, we would
- // still need to call `lowerBound()` to find the first segment, which is slower than just looking
- // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the
- // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to
- // match LEAST_UPPER_BOUND.
- if (!found && bias === LEAST_UPPER_BOUND)
- min++;
- if (min === -1 || min === segments.length)
- return [];
- // We may have found the segment that started at an earlier column. If this is the case, then we
- // need to slice all generated segments that match _that_ column, because all such segments span
- // to our desired column.
- const matchedColumn = found ? column : segments[min][COLUMN];
- // The binary search is not guaranteed to find the lower bound when a match wasn't found.
- if (!found)
- min = lowerBound(segments, matchedColumn, min);
- const max = upperBound(segments, matchedColumn, min);
- const result = [];
- for (; min <= max; min++) {
- const segment = segments[min];
- result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));
- }
- return result;
- }
-
- exports.AnyMap = AnyMap;
- exports.GREATEST_LOWER_BOUND = GREATEST_LOWER_BOUND;
- exports.LEAST_UPPER_BOUND = LEAST_UPPER_BOUND;
- exports.TraceMap = TraceMap;
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=trace-mapping.umd.js.map
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map b/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map
deleted file mode 100644
index fee1219..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"trace-mapping.umd.js","sources":["../src/resolve.ts","../src/strip-filename.ts","../src/sourcemap-segment.ts","../src/sort.ts","../src/binary-search.ts","../src/by-source.ts","../src/any-map.ts","../src/trace-mapping.ts"],"sourcesContent":["import resolveUri from '@jridgewell/resolve-uri';\n\nexport default function resolve(input: string, base: string | undefined): string {\n // The base is always treated as a directory, if it's not empty.\n // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327\n // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401\n if (base && !base.endsWith('/')) base += '/';\n\n return resolveUri(input, base);\n}\n","/**\n * Removes everything after the last \"/\", but leaves the slash.\n */\nexport default function stripFilename(path: string | undefined | null): string {\n if (!path) return '';\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n","type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\ntype GeneratedLine = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n\nexport const REV_GENERATED_LINE = 1;\nexport const REV_GENERATED_COLUMN = 2;\n","import { COLUMN } from './sourcemap-segment';\n\nimport type { SourceMapSegment } from './sourcemap-segment';\n\nexport default function maybeSort(\n mappings: SourceMapSegment[][],\n owned: boolean,\n): SourceMapSegment[][] {\n const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);\n if (unsortedIndex === mappings.length) return mappings;\n\n // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If\n // not, we do not want to modify the consumer's input array.\n if (!owned) mappings = mappings.slice();\n\n for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {\n mappings[i] = sortSegments(mappings[i], owned);\n }\n return mappings;\n}\n\nfunction nextUnsortedSegmentLine(mappings: SourceMapSegment[][], start: number): number {\n for (let i = start; i < mappings.length; i++) {\n if (!isSorted(mappings[i])) return i;\n }\n return mappings.length;\n}\n\nfunction isSorted(line: SourceMapSegment[]): boolean {\n for (let j = 1; j < line.length; j++) {\n if (line[j][COLUMN] < line[j - 1][COLUMN]) {\n return false;\n }\n }\n return true;\n}\n\nfunction sortSegments(line: SourceMapSegment[], owned: boolean): SourceMapSegment[] {\n if (!owned) line = line.slice();\n return line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[COLUMN] - b[COLUMN];\n}\n","import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport { COLUMN } from './sourcemap-segment';\n\nexport type MemoState = {\n lastKey: number;\n lastNeedle: number;\n lastIndex: number;\n};\n\nexport let found = false;\n\n/**\n * A binary search implementation that returns the index if a match is found.\n * If no match is found, then the left-index (the index associated with the item that comes just\n * before the desired index) is returned. To maintain proper sort order, a splice would happen at\n * the next index:\n *\n * ```js\n * const array = [1, 3];\n * const needle = 2;\n * const index = binarySearch(array, needle, (item, needle) => item - needle);\n *\n * assert.equal(index, 0);\n * array.splice(index + 1, 0, needle);\n * assert.deepEqual(array, [1, 2, 3]);\n * ```\n */\nexport function binarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n low: number,\n high: number,\n): number {\n while (low <= high) {\n const mid = low + ((high - low) >> 1);\n const cmp = haystack[mid][COLUMN] - needle;\n\n if (cmp === 0) {\n found = true;\n return mid;\n }\n\n if (cmp < 0) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n found = false;\n return low - 1;\n}\n\nexport function upperBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index + 1; i < haystack.length; index = i++) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function lowerBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index - 1; i >= 0; index = i--) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function memoizedState(): MemoState {\n return {\n lastKey: -1,\n lastNeedle: -1,\n lastIndex: -1,\n };\n}\n\n/**\n * This overly complicated beast is just to record the last tested line/column and the resulting\n * index, allowing us to skip a few tests if mappings are monotonically increasing.\n */\nexport function memoizedBinarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n state: MemoState,\n key: number,\n): number {\n const { lastKey, lastNeedle, lastIndex } = state;\n\n let low = 0;\n let high = haystack.length - 1;\n if (key === lastKey) {\n if (needle === lastNeedle) {\n found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n return lastIndex;\n }\n\n if (needle >= lastNeedle) {\n // lastIndex may be -1 if the previous needle was not found.\n low = lastIndex === -1 ? 0 : lastIndex;\n } else {\n high = lastIndex;\n }\n }\n state.lastKey = key;\n state.lastNeedle = needle;\n\n return (state.lastIndex = binarySearch(haystack, needle, low, high));\n}\n","import { COLUMN, SOURCES_INDEX, SOURCE_LINE, SOURCE_COLUMN } from './sourcemap-segment';\nimport { memoizedBinarySearch, upperBound } from './binary-search';\n\nimport type { ReverseSegment, SourceMapSegment } from './sourcemap-segment';\nimport type { MemoState } from './binary-search';\n\nexport type Source = {\n __proto__: null;\n [line: number]: Exclude<ReverseSegment, [number]>[];\n};\n\n// Rebuilds the original source files, with mappings that are ordered by source line/column instead\n// of generated line/column.\nexport default function buildBySources(\n decoded: readonly SourceMapSegment[][],\n memos: MemoState[],\n): Source[] {\n const sources: Source[] = memos.map(buildNullArray);\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n if (seg.length === 1) continue;\n\n const sourceIndex = seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n const originalSource = sources[sourceIndex];\n const originalLine = (originalSource[sourceLine] ||= []);\n const memo = memos[sourceIndex];\n\n // The binary search either found a match, or it found the left-index just before where the\n // segment should go. Either way, we want to insert after that. And there may be multiple\n // generated segments associated with an original location, so there may need to move several\n // indexes before we find where we need to insert.\n const index = upperBound(\n originalLine,\n sourceColumn,\n memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine),\n );\n\n insert(originalLine, (memo.lastIndex = index + 1), [sourceColumn, i, seg[COLUMN]]);\n }\n }\n\n return sources;\n}\n\nfunction insert<T>(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\n// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like\n// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.\n// Numeric properties on objects are magically sorted in ascending order by the engine regardless of\n// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending\n// order when iterating with for-in.\nfunction buildNullArray<T extends { __proto__: null }>(): T {\n return { __proto__: null } as T;\n}\n","import { TraceMap, presortedDecodedMap, decodedMappings } from './trace-mapping';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type {\n Section,\n SectionedSourceMap,\n DecodedSourceMap,\n SectionedSourceMapInput,\n Ro,\n} from './types';\nimport type { SourceMapSegment } from './sourcemap-segment';\n\ntype AnyMap = {\n new (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n};\n\nexport const AnyMap: AnyMap = function (map, mapUrl) {\n const parsed =\n typeof map === 'string' ? (JSON.parse(map) as Exclude<SectionedSourceMapInput, string>) : map;\n\n if (!('sections' in parsed)) return new TraceMap(parsed, mapUrl);\n\n const mappings: SourceMapSegment[][] = [];\n const sources: string[] = [];\n const sourcesContent: (string | null)[] = [];\n const names: string[] = [];\n\n recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, 0, 0, Infinity, Infinity);\n\n const joined: DecodedSourceMap = {\n version: 3,\n file: parsed.file,\n names,\n sources,\n sourcesContent,\n mappings,\n };\n\n return presortedDecodedMap(joined);\n} as AnyMap;\n\nfunction recurse(\n input: Ro<SectionedSourceMap>,\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n const { sections } = input;\n for (let i = 0; i < sections.length; i++) {\n const { map, offset } = sections[i];\n\n let sl = stopLine;\n let sc = stopColumn;\n if (i + 1 < sections.length) {\n const nextOffset = sections[i + 1].offset;\n sl = Math.min(stopLine, lineOffset + nextOffset.line);\n\n if (sl === stopLine) {\n sc = Math.min(stopColumn, columnOffset + nextOffset.column);\n } else if (sl < stopLine) {\n sc = columnOffset + nextOffset.column;\n }\n }\n\n addSection(\n map,\n mapUrl,\n mappings,\n sources,\n sourcesContent,\n names,\n lineOffset + offset.line,\n columnOffset + offset.column,\n sl,\n sc,\n );\n }\n}\n\nfunction addSection(\n input: Ro<Section['map']>,\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n if ('sections' in input) return recurse(...(arguments as unknown as Parameters<typeof recurse>));\n\n const map = new TraceMap(input, mapUrl);\n const sourcesOffset = sources.length;\n const namesOffset = names.length;\n const decoded = decodedMappings(map);\n const { resolvedSources, sourcesContent: contents } = map;\n\n append(sources, resolvedSources);\n append(names, map.names);\n if (contents) append(sourcesContent, contents);\n else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null);\n\n for (let i = 0; i < decoded.length; i++) {\n const lineI = lineOffset + i;\n\n // We can only add so many lines before we step into the range that the next section's map\n // controls. When we get to the last line, then we'll start checking the segments to see if\n // they've crossed into the column range. But it may not have any columns that overstep, so we\n // still need to check that we don't overstep lines, too.\n if (lineI > stopLine) return;\n\n // The out line may already exist in mappings (if we're continuing the line started by a\n // previous section). Or, we may have jumped ahead several lines to start this section.\n const out = getLine(mappings, lineI);\n // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the\n // map can be multiple lines), it doesn't.\n const cOffset = i === 0 ? columnOffset : 0;\n\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n const column = cOffset + seg[COLUMN];\n\n // If this segment steps into the column range that the next section's map controls, we need\n // to stop early.\n if (lineI === stopLine && column >= stopColumn) return;\n\n if (seg.length === 1) {\n out.push([column]);\n continue;\n }\n\n const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n out.push(\n seg.length === 4\n ? [column, sourcesIndex, sourceLine, sourceColumn]\n : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]],\n );\n }\n }\n}\n\nfunction append<T>(arr: T[], other: T[]) {\n for (let i = 0; i < other.length; i++) arr.push(other[i]);\n}\n\nfunction getLine<T>(arr: T[][], index: number): T[] {\n for (let i = arr.length; i <= index; i++) arr[i] = [];\n return arr[index];\n}\n","import { encode, decode } from '@jridgewell/sourcemap-codec';\n\nimport resolve from './resolve';\nimport stripFilename from './strip-filename';\nimport maybeSort from './sort';\nimport buildBySources from './by-source';\nimport {\n memoizedState,\n memoizedBinarySearch,\n upperBound,\n lowerBound,\n found as bsFound,\n} from './binary-search';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n REV_GENERATED_LINE,\n REV_GENERATED_COLUMN,\n} from './sourcemap-segment';\n\nimport type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport type {\n SourceMapV3,\n DecodedSourceMap,\n EncodedSourceMap,\n InvalidOriginalMapping,\n OriginalMapping,\n InvalidGeneratedMapping,\n GeneratedMapping,\n SourceMapInput,\n Needle,\n SourceNeedle,\n SourceMap,\n EachMapping,\n Bias,\n} from './types';\nimport type { Source } from './by-source';\nimport type { MemoState } from './binary-search';\n\nexport type { SourceMapSegment } from './sourcemap-segment';\nexport type {\n SourceMapInput,\n SectionedSourceMapInput,\n DecodedSourceMap,\n EncodedSourceMap,\n SectionedSourceMap,\n InvalidOriginalMapping,\n OriginalMapping as Mapping,\n OriginalMapping,\n InvalidGeneratedMapping,\n GeneratedMapping,\n EachMapping,\n} from './types';\n\nconst LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';\nconst COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';\n\nexport const LEAST_UPPER_BOUND = -1;\nexport const GREATEST_LOWER_BOUND = 1;\n\n/**\n * Returns the encoded (VLQ string) form of the SourceMap's mappings field.\n */\nexport let encodedMappings: (map: TraceMap) => EncodedSourceMap['mappings'];\n\n/**\n * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.\n */\nexport let decodedMappings: (map: TraceMap) => Readonly<DecodedSourceMap['mappings']>;\n\n/**\n * A low-level API to find the segment associated with a generated line/column (think, from a\n * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.\n */\nexport let traceSegment: (\n map: TraceMap,\n line: number,\n column: number,\n) => Readonly<SourceMapSegment> | null;\n\n/**\n * A higher-level API to find the source/line/column associated with a generated line/column\n * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in\n * `source-map` library.\n */\nexport let originalPositionFor: (\n map: TraceMap,\n needle: Needle,\n) => OriginalMapping | InvalidOriginalMapping;\n\n/**\n * Finds the generated line/column position of the provided source/line/column source position.\n */\nexport let generatedPositionFor: (\n map: TraceMap,\n needle: SourceNeedle,\n) => GeneratedMapping | InvalidGeneratedMapping;\n\n/**\n * Finds all generated line/column positions of the provided source/line/column source position.\n */\nexport let allGeneratedPositionsFor: (map: TraceMap, needle: SourceNeedle) => GeneratedMapping[];\n\n/**\n * Iterates each mapping in generated position order.\n */\nexport let eachMapping: (map: TraceMap, cb: (mapping: EachMapping) => void) => void;\n\n/**\n * Retrieves the source content for a particular source, if its found. Returns null if not.\n */\nexport let sourceContentFor: (map: TraceMap, source: string) => string | null;\n\n/**\n * A helper that skips sorting of the input map's mappings array, which can be expensive for larger\n * maps.\n */\nexport let presortedDecodedMap: (map: DecodedSourceMap, mapUrl?: string) => TraceMap;\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport let decodedMap: (\n map: TraceMap,\n) => Omit<DecodedSourceMap, 'mappings'> & { mappings: readonly SourceMapSegment[][] };\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport let encodedMap: (map: TraceMap) => EncodedSourceMap;\n\nexport { AnyMap } from './any-map';\n\nexport class TraceMap implements SourceMap {\n declare version: SourceMapV3['version'];\n declare file: SourceMapV3['file'];\n declare names: SourceMapV3['names'];\n declare sourceRoot: SourceMapV3['sourceRoot'];\n declare sources: SourceMapV3['sources'];\n declare sourcesContent: SourceMapV3['sourcesContent'];\n\n declare resolvedSources: string[];\n private declare _encoded: string | undefined;\n\n private declare _decoded: SourceMapSegment[][] | undefined;\n private declare _decodedMemo: MemoState;\n\n private declare _bySources: Source[] | undefined;\n private declare _bySourceMemos: MemoState[] | undefined;\n\n constructor(map: SourceMapInput, mapUrl?: string | null) {\n const isString = typeof map === 'string';\n\n if (!isString && (map as unknown as { _decodedMemo: any })._decodedMemo) return map as TraceMap;\n\n const parsed = (isString ? JSON.parse(map) : map) as DecodedSourceMap | EncodedSourceMap;\n\n const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;\n this.version = version;\n this.file = file;\n this.names = names;\n this.sourceRoot = sourceRoot;\n this.sources = sources;\n this.sourcesContent = sourcesContent;\n\n const from = resolve(sourceRoot || '', stripFilename(mapUrl));\n this.resolvedSources = sources.map((s) => resolve(s || '', from));\n\n const { mappings } = parsed;\n if (typeof mappings === 'string') {\n this._encoded = mappings;\n this._decoded = undefined;\n } else {\n this._encoded = undefined;\n this._decoded = maybeSort(mappings, isString);\n }\n\n this._decodedMemo = memoizedState();\n this._bySources = undefined;\n this._bySourceMemos = undefined;\n }\n\n static {\n encodedMappings = (map) => {\n return (map._encoded ??= encode(map._decoded!));\n };\n\n decodedMappings = (map) => {\n return (map._decoded ||= decode(map._encoded!));\n };\n\n traceSegment = (map, line, column) => {\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return null;\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n map._decodedMemo,\n line,\n column,\n GREATEST_LOWER_BOUND,\n );\n\n return index === -1 ? null : segments[index];\n };\n\n originalPositionFor = (map, { line, column, bias }) => {\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return OMapping(null, null, null, null);\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n map._decodedMemo,\n line,\n column,\n bias || GREATEST_LOWER_BOUND,\n );\n\n if (index === -1) return OMapping(null, null, null, null);\n\n const segment = segments[index];\n if (segment.length === 1) return OMapping(null, null, null, null);\n\n const { names, resolvedSources } = map;\n return OMapping(\n resolvedSources[segment[SOURCES_INDEX]],\n segment[SOURCE_LINE] + 1,\n segment[SOURCE_COLUMN],\n segment.length === 5 ? names[segment[NAMES_INDEX]] : null,\n );\n };\n\n allGeneratedPositionsFor = (map, { source, line, column, bias }) => {\n // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.\n return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);\n };\n\n generatedPositionFor = (map, { source, line, column, bias }) => {\n return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);\n };\n\n eachMapping = (map, cb) => {\n const decoded = decodedMappings(map);\n const { names, resolvedSources } = map;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generatedLine = i + 1;\n const generatedColumn = seg[0];\n let source = null;\n let originalLine = null;\n let originalColumn = null;\n let name = null;\n if (seg.length !== 1) {\n source = resolvedSources[seg[1]];\n originalLine = seg[2] + 1;\n originalColumn = seg[3];\n }\n if (seg.length === 5) name = names[seg[4]];\n\n cb({\n generatedLine,\n generatedColumn,\n source,\n originalLine,\n originalColumn,\n name,\n } as EachMapping);\n }\n }\n };\n\n sourceContentFor = (map, source) => {\n const { sources, resolvedSources, sourcesContent } = map;\n if (sourcesContent == null) return null;\n\n let index = sources.indexOf(source);\n if (index === -1) index = resolvedSources.indexOf(source);\n\n return index === -1 ? null : sourcesContent[index];\n };\n\n presortedDecodedMap = (map, mapUrl) => {\n const tracer = new TraceMap(clone(map, []), mapUrl);\n tracer._decoded = map.mappings;\n return tracer;\n };\n\n decodedMap = (map) => {\n return clone(map, decodedMappings(map));\n };\n\n encodedMap = (map) => {\n return clone(map, encodedMappings(map));\n };\n\n function generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: false,\n ): GeneratedMapping | InvalidGeneratedMapping;\n function generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: true,\n ): GeneratedMapping[];\n function generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: boolean,\n ): GeneratedMapping | InvalidGeneratedMapping | GeneratedMapping[] {\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const { sources, resolvedSources } = map;\n let sourceIndex = sources.indexOf(source);\n if (sourceIndex === -1) sourceIndex = resolvedSources.indexOf(source);\n if (sourceIndex === -1) return all ? [] : GMapping(null, null);\n\n const generated = (map._bySources ||= buildBySources(\n decodedMappings(map),\n (map._bySourceMemos = sources.map(memoizedState)),\n ));\n\n const segments = generated[sourceIndex][line];\n if (segments == null) return all ? [] : GMapping(null, null);\n\n const memo = map._bySourceMemos![sourceIndex];\n\n if (all) return sliceGeneratedPositions(segments, memo, line, column, bias);\n\n const index = traceSegmentInternal(segments, memo, line, column, bias);\n if (index === -1) return GMapping(null, null);\n\n const segment = segments[index];\n return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);\n }\n }\n}\n\nfunction clone<T extends string | readonly SourceMapSegment[][]>(\n map: TraceMap | DecodedSourceMap | EncodedSourceMap,\n mappings: T,\n): T extends string ? EncodedSourceMap : DecodedSourceMap {\n return {\n version: map.version,\n file: map.file,\n names: map.names,\n sourceRoot: map.sourceRoot,\n sources: map.sources,\n sourcesContent: map.sourcesContent,\n mappings,\n } as any;\n}\n\nfunction OMapping(source: null, line: null, column: null, name: null): InvalidOriginalMapping;\nfunction OMapping(\n source: string,\n line: number,\n column: number,\n name: string | null,\n): OriginalMapping;\nfunction OMapping(\n source: string | null,\n line: number | null,\n column: number | null,\n name: string | null,\n): OriginalMapping | InvalidOriginalMapping {\n return { source, line, column, name } as any;\n}\n\nfunction GMapping(line: null, column: null): InvalidGeneratedMapping;\nfunction GMapping(line: number, column: number): GeneratedMapping;\nfunction GMapping(\n line: number | null,\n column: number | null,\n): GeneratedMapping | InvalidGeneratedMapping {\n return { line, column } as any;\n}\n\nfunction traceSegmentInternal(\n segments: SourceMapSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: SourceMapSegment[] | ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number {\n let index = memoizedBinarySearch(segments, column, memo, line);\n if (bsFound) {\n index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n } else if (bias === LEAST_UPPER_BOUND) index++;\n\n if (index === -1 || index === segments.length) return -1;\n return index;\n}\n\nfunction sliceGeneratedPositions(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): GeneratedMapping[] {\n let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);\n\n // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in\n // insertion order) segment that matched. Even if we did respect the bias when tracing, we would\n // still need to call `lowerBound()` to find the first segment, which is slower than just looking\n // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the\n // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to\n // match LEAST_UPPER_BOUND.\n if (!bsFound && bias === LEAST_UPPER_BOUND) min++;\n\n if (min === -1 || min === segments.length) return [];\n\n // We may have found the segment that started at an earlier column. If this is the case, then we\n // need to slice all generated segments that match _that_ column, because all such segments span\n // to our desired column.\n const matchedColumn = bsFound ? column : segments[min][COLUMN];\n\n // The binary search is not guaranteed to find the lower bound when a match wasn't found.\n if (!bsFound) min = lowerBound(segments, matchedColumn, min);\n const max = upperBound(segments, matchedColumn, min);\n\n const result = [];\n for (; min <= max; min++) {\n const segment = segments[min];\n result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));\n }\n return result;\n}\n"],"names":["resolveUri","presortedDecodedMap","decodedMappings","encodedMappings","traceSegment","originalPositionFor","generatedPositionFor","allGeneratedPositionsFor","eachMapping","sourceContentFor","decodedMap","encodedMap","encode","decode","bsFound"],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts
deleted file mode 100644
index 08bca6b..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { TraceMap } from './trace-mapping';
-import type { SectionedSourceMapInput } from './types';
-declare type AnyMap = {
- new (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;
- (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;
-};
-export declare const AnyMap: AnyMap;
-export {};
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
deleted file mode 100644
index 88820e5..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';
-export declare type MemoState = {
- lastKey: number;
- lastNeedle: number;
- lastIndex: number;
-};
-export declare let found: boolean;
-/**
- * A binary search implementation that returns the index if a match is found.
- * If no match is found, then the left-index (the index associated with the item that comes just
- * before the desired index) is returned. To maintain proper sort order, a splice would happen at
- * the next index:
- *
- * ```js
- * const array = [1, 3];
- * const needle = 2;
- * const index = binarySearch(array, needle, (item, needle) => item - needle);
- *
- * assert.equal(index, 0);
- * array.splice(index + 1, 0, needle);
- * assert.deepEqual(array, [1, 2, 3]);
- * ```
- */
-export declare function binarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, low: number, high: number): number;
-export declare function upperBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number;
-export declare function lowerBound(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, index: number): number;
-export declare function memoizedState(): MemoState;
-/**
- * This overly complicated beast is just to record the last tested line/column and the resulting
- * index, allowing us to skip a few tests if mappings are monotonically increasing.
- */
-export declare function memoizedBinarySearch(haystack: SourceMapSegment[] | ReverseSegment[], needle: number, state: MemoState, key: number): number;
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts
deleted file mode 100644
index 8d1e538..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { ReverseSegment, SourceMapSegment } from './sourcemap-segment';
-import type { MemoState } from './binary-search';
-export declare type Source = {
- __proto__: null;
- [line: number]: Exclude<ReverseSegment, [number]>[];
-};
-export default function buildBySources(decoded: readonly SourceMapSegment[][], memos: MemoState[]): Source[];
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts
deleted file mode 100644
index cf7d4f8..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export default function resolve(input: string, base: string | undefined): string;
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts
deleted file mode 100644
index 2bfb5dc..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import type { SourceMapSegment } from './sourcemap-segment';
-export default function maybeSort(mappings: SourceMapSegment[][], owned: boolean): SourceMapSegment[][];
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts
deleted file mode 100644
index 6d70924..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-declare type GeneratedColumn = number;
-declare type SourcesIndex = number;
-declare type SourceLine = number;
-declare type SourceColumn = number;
-declare type NamesIndex = number;
-declare type GeneratedLine = number;
-export declare type SourceMapSegment = [GeneratedColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn] | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];
-export declare type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn];
-export declare const COLUMN = 0;
-export declare const SOURCES_INDEX = 1;
-export declare const SOURCE_LINE = 2;
-export declare const SOURCE_COLUMN = 3;
-export declare const NAMES_INDEX = 4;
-export declare const REV_GENERATED_LINE = 1;
-export declare const REV_GENERATED_COLUMN = 2;
-export {};
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts
deleted file mode 100644
index bead5c1..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Removes everything after the last "/", but leaves the slash.
- */
-export default function stripFilename(path: string | undefined | null): string;
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts
deleted file mode 100644
index c125ead..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import type { SourceMapSegment } from './sourcemap-segment';
-import type { SourceMapV3, DecodedSourceMap, EncodedSourceMap, InvalidOriginalMapping, OriginalMapping, InvalidGeneratedMapping, GeneratedMapping, SourceMapInput, Needle, SourceNeedle, SourceMap, EachMapping } from './types';
-export type { SourceMapSegment } from './sourcemap-segment';
-export type { SourceMapInput, SectionedSourceMapInput, DecodedSourceMap, EncodedSourceMap, SectionedSourceMap, InvalidOriginalMapping, OriginalMapping as Mapping, OriginalMapping, InvalidGeneratedMapping, GeneratedMapping, EachMapping, } from './types';
-export declare const LEAST_UPPER_BOUND = -1;
-export declare const GREATEST_LOWER_BOUND = 1;
-/**
- * Returns the encoded (VLQ string) form of the SourceMap's mappings field.
- */
-export declare let encodedMappings: (map: TraceMap) => EncodedSourceMap['mappings'];
-/**
- * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
- */
-export declare let decodedMappings: (map: TraceMap) => Readonly<DecodedSourceMap['mappings']>;
-/**
- * A low-level API to find the segment associated with a generated line/column (think, from a
- * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.
- */
-export declare let traceSegment: (map: TraceMap, line: number, column: number) => Readonly<SourceMapSegment> | null;
-/**
- * A higher-level API to find the source/line/column associated with a generated line/column
- * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in
- * `source-map` library.
- */
-export declare let originalPositionFor: (map: TraceMap, needle: Needle) => OriginalMapping | InvalidOriginalMapping;
-/**
- * Finds the generated line/column position of the provided source/line/column source position.
- */
-export declare let generatedPositionFor: (map: TraceMap, needle: SourceNeedle) => GeneratedMapping | InvalidGeneratedMapping;
-/**
- * Finds all generated line/column positions of the provided source/line/column source position.
- */
-export declare let allGeneratedPositionsFor: (map: TraceMap, needle: SourceNeedle) => GeneratedMapping[];
-/**
- * Iterates each mapping in generated position order.
- */
-export declare let eachMapping: (map: TraceMap, cb: (mapping: EachMapping) => void) => void;
-/**
- * Retrieves the source content for a particular source, if its found. Returns null if not.
- */
-export declare let sourceContentFor: (map: TraceMap, source: string) => string | null;
-/**
- * A helper that skips sorting of the input map's mappings array, which can be expensive for larger
- * maps.
- */
-export declare let presortedDecodedMap: (map: DecodedSourceMap, mapUrl?: string) => TraceMap;
-/**
- * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-export declare let decodedMap: (map: TraceMap) => Omit<DecodedSourceMap, 'mappings'> & {
- mappings: readonly SourceMapSegment[][];
-};
-/**
- * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
- * a sourcemap, or to JSON.stringify.
- */
-export declare let encodedMap: (map: TraceMap) => EncodedSourceMap;
-export { AnyMap } from './any-map';
-export declare class TraceMap implements SourceMap {
- version: SourceMapV3['version'];
- file: SourceMapV3['file'];
- names: SourceMapV3['names'];
- sourceRoot: SourceMapV3['sourceRoot'];
- sources: SourceMapV3['sources'];
- sourcesContent: SourceMapV3['sourcesContent'];
- resolvedSources: string[];
- private _encoded;
- private _decoded;
- private _decodedMemo;
- private _bySources;
- private _bySourceMemos;
- constructor(map: SourceMapInput, mapUrl?: string | null);
-}
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts
deleted file mode 100644
index 2f4fd45..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-import type { SourceMapSegment } from './sourcemap-segment';
-import type { GREATEST_LOWER_BOUND, LEAST_UPPER_BOUND, TraceMap } from './trace-mapping';
-export interface SourceMapV3 {
- file?: string | null;
- names: string[];
- sourceRoot?: string;
- sources: (string | null)[];
- sourcesContent?: (string | null)[];
- version: 3;
-}
-export interface EncodedSourceMap extends SourceMapV3 {
- mappings: string;
-}
-export interface DecodedSourceMap extends SourceMapV3 {
- mappings: SourceMapSegment[][];
-}
-export interface Section {
- offset: {
- line: number;
- column: number;
- };
- map: EncodedSourceMap | DecodedSourceMap | SectionedSourceMap;
-}
-export interface SectionedSourceMap {
- file?: string | null;
- sections: Section[];
- version: 3;
-}
-export declare type OriginalMapping = {
- source: string | null;
- line: number;
- column: number;
- name: string | null;
-};
-export declare type InvalidOriginalMapping = {
- source: null;
- line: null;
- column: null;
- name: null;
-};
-export declare type GeneratedMapping = {
- line: number;
- column: number;
-};
-export declare type InvalidGeneratedMapping = {
- line: null;
- column: null;
-};
-export declare type Bias = typeof GREATEST_LOWER_BOUND | typeof LEAST_UPPER_BOUND;
-export declare type SourceMapInput = string | Ro<EncodedSourceMap> | Ro<DecodedSourceMap> | TraceMap;
-export declare type SectionedSourceMapInput = SourceMapInput | Ro<SectionedSourceMap>;
-export declare type Needle = {
- line: number;
- column: number;
- bias?: Bias;
-};
-export declare type SourceNeedle = {
- source: string;
- line: number;
- column: number;
- bias?: Bias;
-};
-export declare type EachMapping = {
- generatedLine: number;
- generatedColumn: number;
- source: null;
- originalLine: null;
- originalColumn: null;
- name: null;
-} | {
- generatedLine: number;
- generatedColumn: number;
- source: string | null;
- originalLine: number;
- originalColumn: number;
- name: string | null;
-};
-export declare abstract class SourceMap {
- version: SourceMapV3['version'];
- file: SourceMapV3['file'];
- names: SourceMapV3['names'];
- sourceRoot: SourceMapV3['sourceRoot'];
- sources: SourceMapV3['sources'];
- sourcesContent: SourceMapV3['sourcesContent'];
- resolvedSources: SourceMapV3['sources'];
-}
-export declare type Ro<T> = T extends Array<infer V> ? V[] | Readonly<V[]> | RoArray<V> | Readonly<RoArray<V>> : T extends object ? T | Readonly<T> | RoObject<T> | Readonly<RoObject<T>> : T;
-declare type RoArray<T> = Ro<T>[];
-declare type RoObject<T> = {
- [K in keyof T]: T[K] | Ro<T[K]>;
-};
-export {};
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/LICENSE b/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/LICENSE
deleted file mode 100644
index a331065..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License
-
-Copyright (c) 2015 Rich Harris
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/README.md b/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/README.md
deleted file mode 100644
index 2b9e397..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/README.md
+++ /dev/null
@@ -1,200 +0,0 @@
-# sourcemap-codec
-
-Encode/decode the `mappings` property of a [sourcemap](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit).
-
-
-## Why?
-
-Sourcemaps are difficult to generate and manipulate, because the `mappings` property – the part that actually links the generated code back to the original source – is encoded using an obscure method called [Variable-length quantity](https://en.wikipedia.org/wiki/Variable-length_quantity). On top of that, each segment in the mapping contains offsets rather than absolute indices, which means that you can't look at a segment in isolation – you have to understand the whole sourcemap.
-
-This package makes the process slightly easier.
-
-
-## Installation
-
-```bash
-npm install sourcemap-codec
-```
-
-
-## Usage
-
-```js
-import { encode, decode } from 'sourcemap-codec';
-
-var decoded = decode( ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
-
-assert.deepEqual( decoded, [
- // the first line (of the generated code) has no mappings,
- // as shown by the starting semi-colon (which separates lines)
- [],
-
- // the second line contains four (comma-separated) segments
- [
- // segments are encoded as you'd expect:
- // [ generatedCodeColumn, sourceIndex, sourceCodeLine, sourceCodeColumn, nameIndex ]
-
- // i.e. the first segment begins at column 2, and maps back to the second column
- // of the second line (both zero-based) of the 0th source, and uses the 0th
- // name in the `map.names` array
- [ 2, 0, 2, 2, 0 ],
-
- // the remaining segments are 4-length rather than 5-length,
- // because they don't map a name
- [ 4, 0, 2, 4 ],
- [ 6, 0, 2, 5 ],
- [ 7, 0, 2, 7 ]
- ],
-
- // the final line contains two segments
- [
- [ 2, 1, 10, 19 ],
- [ 12, 1, 11, 20 ]
- ]
-]);
-
-var encoded = encode( decoded );
-assert.equal( encoded, ';EAEEA,EAAE,EAAC,CAAE;ECQY,UACC' );
-```
-
-## Benchmarks
-
-```
-node v18.0.0
-
-amp.js.map - 45120 segments
-
-Decode Memory Usage:
-@jridgewell/sourcemap-codec 5479160 bytes
-sourcemap-codec 5659336 bytes
-source-map-0.6.1 17144440 bytes
-source-map-0.8.0 6867424 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Decode speed:
-decode: @jridgewell/sourcemap-codec x 502 ops/sec ±1.03% (90 runs sampled)
-decode: sourcemap-codec x 445 ops/sec ±0.97% (92 runs sampled)
-decode: source-map-0.6.1 x 36.01 ops/sec ±1.64% (49 runs sampled)
-decode: source-map-0.8.0 x 367 ops/sec ±0.04% (95 runs sampled)
-Fastest is decode: @jridgewell/sourcemap-codec
-
-Encode Memory Usage:
-@jridgewell/sourcemap-codec 1261620 bytes
-sourcemap-codec 9119248 bytes
-source-map-0.6.1 8968560 bytes
-source-map-0.8.0 8952952 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Encode speed:
-encode: @jridgewell/sourcemap-codec x 738 ops/sec ±0.42% (98 runs sampled)
-encode: sourcemap-codec x 238 ops/sec ±0.73% (88 runs sampled)
-encode: source-map-0.6.1 x 162 ops/sec ±0.43% (84 runs sampled)
-encode: source-map-0.8.0 x 191 ops/sec ±0.34% (90 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec
-
-
-***
-
-
-babel.min.js.map - 347793 segments
-
-Decode Memory Usage:
-@jridgewell/sourcemap-codec 35338184 bytes
-sourcemap-codec 35922736 bytes
-source-map-0.6.1 62366360 bytes
-source-map-0.8.0 44337416 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Decode speed:
-decode: @jridgewell/sourcemap-codec x 40.35 ops/sec ±4.47% (54 runs sampled)
-decode: sourcemap-codec x 36.76 ops/sec ±3.67% (51 runs sampled)
-decode: source-map-0.6.1 x 4.44 ops/sec ±2.15% (16 runs sampled)
-decode: source-map-0.8.0 x 59.35 ops/sec ±0.05% (78 runs sampled)
-Fastest is decode: source-map-0.8.0
-
-Encode Memory Usage:
-@jridgewell/sourcemap-codec 7212604 bytes
-sourcemap-codec 21421456 bytes
-source-map-0.6.1 25286888 bytes
-source-map-0.8.0 25498744 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Encode speed:
-encode: @jridgewell/sourcemap-codec x 112 ops/sec ±0.13% (84 runs sampled)
-encode: sourcemap-codec x 30.23 ops/sec ±2.76% (53 runs sampled)
-encode: source-map-0.6.1 x 19.43 ops/sec ±3.70% (37 runs sampled)
-encode: source-map-0.8.0 x 19.40 ops/sec ±3.26% (37 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec
-
-
-***
-
-
-preact.js.map - 1992 segments
-
-Decode Memory Usage:
-@jridgewell/sourcemap-codec 500272 bytes
-sourcemap-codec 516864 bytes
-source-map-0.6.1 1596672 bytes
-source-map-0.8.0 517272 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Decode speed:
-decode: @jridgewell/sourcemap-codec x 16,137 ops/sec ±0.17% (99 runs sampled)
-decode: sourcemap-codec x 12,139 ops/sec ±0.13% (99 runs sampled)
-decode: source-map-0.6.1 x 1,264 ops/sec ±0.12% (100 runs sampled)
-decode: source-map-0.8.0 x 9,894 ops/sec ±0.08% (101 runs sampled)
-Fastest is decode: @jridgewell/sourcemap-codec
-
-Encode Memory Usage:
-@jridgewell/sourcemap-codec 321026 bytes
-sourcemap-codec 830832 bytes
-source-map-0.6.1 586608 bytes
-source-map-0.8.0 586680 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Encode speed:
-encode: @jridgewell/sourcemap-codec x 19,876 ops/sec ±0.78% (95 runs sampled)
-encode: sourcemap-codec x 6,983 ops/sec ±0.15% (100 runs sampled)
-encode: source-map-0.6.1 x 5,070 ops/sec ±0.12% (102 runs sampled)
-encode: source-map-0.8.0 x 5,641 ops/sec ±0.17% (100 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec
-
-
-***
-
-
-react.js.map - 5726 segments
-
-Decode Memory Usage:
-@jridgewell/sourcemap-codec 734848 bytes
-sourcemap-codec 954200 bytes
-source-map-0.6.1 2276432 bytes
-source-map-0.8.0 955488 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Decode speed:
-decode: @jridgewell/sourcemap-codec x 5,723 ops/sec ±0.12% (98 runs sampled)
-decode: sourcemap-codec x 4,555 ops/sec ±0.09% (101 runs sampled)
-decode: source-map-0.6.1 x 437 ops/sec ±0.11% (93 runs sampled)
-decode: source-map-0.8.0 x 3,441 ops/sec ±0.15% (100 runs sampled)
-Fastest is decode: @jridgewell/sourcemap-codec
-
-Encode Memory Usage:
-@jridgewell/sourcemap-codec 638672 bytes
-sourcemap-codec 1109840 bytes
-source-map-0.6.1 1321224 bytes
-source-map-0.8.0 1324448 bytes
-Smallest memory usage is @jridgewell/sourcemap-codec
-
-Encode speed:
-encode: @jridgewell/sourcemap-codec x 6,801 ops/sec ±0.48% (98 runs sampled)
-encode: sourcemap-codec x 2,533 ops/sec ±0.13% (101 runs sampled)
-encode: source-map-0.6.1 x 2,248 ops/sec ±0.08% (100 runs sampled)
-encode: source-map-0.8.0 x 2,303 ops/sec ±0.15% (100 runs sampled)
-Fastest is encode: @jridgewell/sourcemap-codec
-```
-
-# License
-
-MIT
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs b/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
deleted file mode 100644
index 3dff372..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
+++ /dev/null
@@ -1,164 +0,0 @@
-const comma = ','.charCodeAt(0);
-const semicolon = ';'.charCodeAt(0);
-const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-const intToChar = new Uint8Array(64); // 64 possible chars.
-const charToInt = new Uint8Array(128); // z is 122 in ASCII
-for (let i = 0; i < chars.length; i++) {
- const c = chars.charCodeAt(i);
- intToChar[i] = c;
- charToInt[c] = i;
-}
-// Provide a fallback for older environments.
-const td = typeof TextDecoder !== 'undefined'
- ? /* #__PURE__ */ new TextDecoder()
- : typeof Buffer !== 'undefined'
- ? {
- decode(buf) {
- const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
- return out.toString();
- },
- }
- : {
- decode(buf) {
- let out = '';
- for (let i = 0; i < buf.length; i++) {
- out += String.fromCharCode(buf[i]);
- }
- return out;
- },
- };
-function decode(mappings) {
- const state = new Int32Array(5);
- const decoded = [];
- let index = 0;
- do {
- const semi = indexOf(mappings, index);
- const line = [];
- let sorted = true;
- let lastCol = 0;
- state[0] = 0;
- for (let i = index; i < semi; i++) {
- let seg;
- i = decodeInteger(mappings, i, state, 0); // genColumn
- const col = state[0];
- if (col < lastCol)
- sorted = false;
- lastCol = col;
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 1); // sourcesIndex
- i = decodeInteger(mappings, i, state, 2); // sourceLine
- i = decodeInteger(mappings, i, state, 3); // sourceColumn
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 4); // namesIndex
- seg = [col, state[1], state[2], state[3], state[4]];
- }
- else {
- seg = [col, state[1], state[2], state[3]];
- }
- }
- else {
- seg = [col];
- }
- line.push(seg);
- }
- if (!sorted)
- sort(line);
- decoded.push(line);
- index = semi + 1;
- } while (index <= mappings.length);
- return decoded;
-}
-function indexOf(mappings, index) {
- const idx = mappings.indexOf(';', index);
- return idx === -1 ? mappings.length : idx;
-}
-function decodeInteger(mappings, pos, state, j) {
- let value = 0;
- let shift = 0;
- let integer = 0;
- do {
- const c = mappings.charCodeAt(pos++);
- integer = charToInt[c];
- value |= (integer & 31) << shift;
- shift += 5;
- } while (integer & 32);
- const shouldNegate = value & 1;
- value >>>= 1;
- if (shouldNegate) {
- value = -0x80000000 | -value;
- }
- state[j] += value;
- return pos;
-}
-function hasMoreVlq(mappings, i, length) {
- if (i >= length)
- return false;
- return mappings.charCodeAt(i) !== comma;
-}
-function sort(line) {
- line.sort(sortComparator);
-}
-function sortComparator(a, b) {
- return a[0] - b[0];
-}
-function encode(decoded) {
- const state = new Int32Array(5);
- const bufLength = 1024 * 16;
- const subLength = bufLength - 36;
- const buf = new Uint8Array(bufLength);
- const sub = buf.subarray(0, subLength);
- let pos = 0;
- let out = '';
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- if (i > 0) {
- if (pos === bufLength) {
- out += td.decode(buf);
- pos = 0;
- }
- buf[pos++] = semicolon;
- }
- if (line.length === 0)
- continue;
- state[0] = 0;
- for (let j = 0; j < line.length; j++) {
- const segment = line[j];
- // We can push up to 5 ints, each int can take at most 7 chars, and we
- // may push a comma.
- if (pos > subLength) {
- out += td.decode(sub);
- buf.copyWithin(0, subLength, pos);
- pos -= subLength;
- }
- if (j > 0)
- buf[pos++] = comma;
- pos = encodeInteger(buf, pos, state, segment, 0); // genColumn
- if (segment.length === 1)
- continue;
- pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex
- pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine
- pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn
- if (segment.length === 4)
- continue;
- pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex
- }
- }
- return out + td.decode(buf.subarray(0, pos));
-}
-function encodeInteger(buf, pos, state, segment, j) {
- const next = segment[j];
- let num = next - state[j];
- state[j] = next;
- num = num < 0 ? (-num << 1) | 1 : num << 1;
- do {
- let clamped = num & 0b011111;
- num >>>= 5;
- if (num > 0)
- clamped |= 0b100000;
- buf[pos++] = intToChar[clamped];
- } while (num > 0);
- return pos;
-}
-
-export { decode, encode };
-//# sourceMappingURL=sourcemap-codec.mjs.map
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map b/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map
deleted file mode 100644
index 36d7249..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"sourcemap-codec.mjs","sources":["../src/sourcemap-codec.ts"],"sourcesContent":[null],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js b/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
deleted file mode 100644
index bec92a9..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js
+++ /dev/null
@@ -1,175 +0,0 @@
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sourcemapCodec = {}));
-})(this, (function (exports) { 'use strict';
-
- const comma = ','.charCodeAt(0);
- const semicolon = ';'.charCodeAt(0);
- const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
- const intToChar = new Uint8Array(64); // 64 possible chars.
- const charToInt = new Uint8Array(128); // z is 122 in ASCII
- for (let i = 0; i < chars.length; i++) {
- const c = chars.charCodeAt(i);
- intToChar[i] = c;
- charToInt[c] = i;
- }
- // Provide a fallback for older environments.
- const td = typeof TextDecoder !== 'undefined'
- ? /* #__PURE__ */ new TextDecoder()
- : typeof Buffer !== 'undefined'
- ? {
- decode(buf) {
- const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
- return out.toString();
- },
- }
- : {
- decode(buf) {
- let out = '';
- for (let i = 0; i < buf.length; i++) {
- out += String.fromCharCode(buf[i]);
- }
- return out;
- },
- };
- function decode(mappings) {
- const state = new Int32Array(5);
- const decoded = [];
- let index = 0;
- do {
- const semi = indexOf(mappings, index);
- const line = [];
- let sorted = true;
- let lastCol = 0;
- state[0] = 0;
- for (let i = index; i < semi; i++) {
- let seg;
- i = decodeInteger(mappings, i, state, 0); // genColumn
- const col = state[0];
- if (col < lastCol)
- sorted = false;
- lastCol = col;
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 1); // sourcesIndex
- i = decodeInteger(mappings, i, state, 2); // sourceLine
- i = decodeInteger(mappings, i, state, 3); // sourceColumn
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 4); // namesIndex
- seg = [col, state[1], state[2], state[3], state[4]];
- }
- else {
- seg = [col, state[1], state[2], state[3]];
- }
- }
- else {
- seg = [col];
- }
- line.push(seg);
- }
- if (!sorted)
- sort(line);
- decoded.push(line);
- index = semi + 1;
- } while (index <= mappings.length);
- return decoded;
- }
- function indexOf(mappings, index) {
- const idx = mappings.indexOf(';', index);
- return idx === -1 ? mappings.length : idx;
- }
- function decodeInteger(mappings, pos, state, j) {
- let value = 0;
- let shift = 0;
- let integer = 0;
- do {
- const c = mappings.charCodeAt(pos++);
- integer = charToInt[c];
- value |= (integer & 31) << shift;
- shift += 5;
- } while (integer & 32);
- const shouldNegate = value & 1;
- value >>>= 1;
- if (shouldNegate) {
- value = -0x80000000 | -value;
- }
- state[j] += value;
- return pos;
- }
- function hasMoreVlq(mappings, i, length) {
- if (i >= length)
- return false;
- return mappings.charCodeAt(i) !== comma;
- }
- function sort(line) {
- line.sort(sortComparator);
- }
- function sortComparator(a, b) {
- return a[0] - b[0];
- }
- function encode(decoded) {
- const state = new Int32Array(5);
- const bufLength = 1024 * 16;
- const subLength = bufLength - 36;
- const buf = new Uint8Array(bufLength);
- const sub = buf.subarray(0, subLength);
- let pos = 0;
- let out = '';
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- if (i > 0) {
- if (pos === bufLength) {
- out += td.decode(buf);
- pos = 0;
- }
- buf[pos++] = semicolon;
- }
- if (line.length === 0)
- continue;
- state[0] = 0;
- for (let j = 0; j < line.length; j++) {
- const segment = line[j];
- // We can push up to 5 ints, each int can take at most 7 chars, and we
- // may push a comma.
- if (pos > subLength) {
- out += td.decode(sub);
- buf.copyWithin(0, subLength, pos);
- pos -= subLength;
- }
- if (j > 0)
- buf[pos++] = comma;
- pos = encodeInteger(buf, pos, state, segment, 0); // genColumn
- if (segment.length === 1)
- continue;
- pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex
- pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine
- pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn
- if (segment.length === 4)
- continue;
- pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex
- }
- }
- return out + td.decode(buf.subarray(0, pos));
- }
- function encodeInteger(buf, pos, state, segment, j) {
- const next = segment[j];
- let num = next - state[j];
- state[j] = next;
- num = num < 0 ? (-num << 1) | 1 : num << 1;
- do {
- let clamped = num & 0b011111;
- num >>>= 5;
- if (num > 0)
- clamped |= 0b100000;
- buf[pos++] = intToChar[clamped];
- } while (num > 0);
- return pos;
- }
-
- exports.decode = decode;
- exports.encode = encode;
-
- Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=sourcemap-codec.umd.js.map
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map b/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map
deleted file mode 100644
index a7a4628..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"sourcemap-codec.umd.js","sources":["../src/sourcemap-codec.ts"],"sourcesContent":[null],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts b/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts
deleted file mode 100644
index 410d320..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export declare type SourceMapSegment = [number] | [number, number, number, number] | [number, number, number, number, number];
-export declare type SourceMapLine = SourceMapSegment[];
-export declare type SourceMapMappings = SourceMapLine[];
-export declare function decode(mappings: string): SourceMapMappings;
-export declare function encode(decoded: SourceMapMappings): string;
-export declare function encode(decoded: Readonly<SourceMapMappings>): string;
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/package.json b/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/package.json
deleted file mode 100644
index 5945072..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/package.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "name": "@jridgewell/sourcemap-codec",
- "version": "1.4.14",
- "description": "Encode/decode sourcemap mappings",
- "keywords": [
- "sourcemap",
- "vlq"
- ],
- "main": "dist/sourcemap-codec.umd.js",
- "module": "dist/sourcemap-codec.mjs",
- "typings": "dist/types/sourcemap-codec.d.ts",
- "files": [
- "dist",
- "src"
- ],
- "exports": {
- ".": [
- {
- "types": "./dist/types/sourcemap-codec.d.ts",
- "browser": "./dist/sourcemap-codec.umd.js",
- "import": "./dist/sourcemap-codec.mjs",
- "require": "./dist/sourcemap-codec.umd.js"
- },
- "./dist/sourcemap-codec.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "scripts": {
- "benchmark": "run-s build:rollup benchmark:*",
- "benchmark:install": "cd benchmark && npm install",
- "benchmark:only": "node --expose-gc benchmark/index.js",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "prebuild": "rm -rf dist",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build",
- "pretest": "run-s build:rollup",
- "test": "run-s -n test:lint test:only",
- "test:debug": "mocha --inspect-brk",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "mocha",
- "test:coverage": "c8 mocha",
- "test:watch": "mocha --watch"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jridgewell/sourcemap-codec.git"
- },
- "author": "Rich Harris",
- "license": "MIT",
- "devDependencies": {
- "@rollup/plugin-typescript": "8.3.0",
- "@types/node": "17.0.15",
- "@typescript-eslint/eslint-plugin": "5.10.0",
- "@typescript-eslint/parser": "5.10.0",
- "benchmark": "2.1.4",
- "c8": "7.11.2",
- "eslint": "8.7.0",
- "eslint-config-prettier": "8.3.0",
- "mocha": "9.2.0",
- "npm-run-all": "4.1.5",
- "prettier": "2.5.1",
- "rollup": "2.64.0",
- "source-map": "0.6.1",
- "source-map-js": "1.0.2",
- "sourcemap-codec": "1.4.8",
- "typescript": "4.5.4"
- }
-}
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts b/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts
deleted file mode 100644
index cafd90e..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts
+++ /dev/null
@@ -1,198 +0,0 @@
-export type SourceMapSegment =
- | [number]
- | [number, number, number, number]
- | [number, number, number, number, number];
-export type SourceMapLine = SourceMapSegment[];
-export type SourceMapMappings = SourceMapLine[];
-
-const comma = ','.charCodeAt(0);
-const semicolon = ';'.charCodeAt(0);
-const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-const intToChar = new Uint8Array(64); // 64 possible chars.
-const charToInt = new Uint8Array(128); // z is 122 in ASCII
-
-for (let i = 0; i < chars.length; i++) {
- const c = chars.charCodeAt(i);
- intToChar[i] = c;
- charToInt[c] = i;
-}
-
-// Provide a fallback for older environments.
-const td =
- typeof TextDecoder !== 'undefined'
- ? /* #__PURE__ */ new TextDecoder()
- : typeof Buffer !== 'undefined'
- ? {
- decode(buf: Uint8Array) {
- const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
- return out.toString();
- },
- }
- : {
- decode(buf: Uint8Array) {
- let out = '';
- for (let i = 0; i < buf.length; i++) {
- out += String.fromCharCode(buf[i]);
- }
- return out;
- },
- };
-
-export function decode(mappings: string): SourceMapMappings {
- const state: [number, number, number, number, number] = new Int32Array(5) as any;
- const decoded: SourceMapMappings = [];
-
- let index = 0;
- do {
- const semi = indexOf(mappings, index);
- const line: SourceMapLine = [];
- let sorted = true;
- let lastCol = 0;
- state[0] = 0;
-
- for (let i = index; i < semi; i++) {
- let seg: SourceMapSegment;
-
- i = decodeInteger(mappings, i, state, 0); // genColumn
- const col = state[0];
- if (col < lastCol) sorted = false;
- lastCol = col;
-
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 1); // sourcesIndex
- i = decodeInteger(mappings, i, state, 2); // sourceLine
- i = decodeInteger(mappings, i, state, 3); // sourceColumn
-
- if (hasMoreVlq(mappings, i, semi)) {
- i = decodeInteger(mappings, i, state, 4); // namesIndex
- seg = [col, state[1], state[2], state[3], state[4]];
- } else {
- seg = [col, state[1], state[2], state[3]];
- }
- } else {
- seg = [col];
- }
-
- line.push(seg);
- }
-
- if (!sorted) sort(line);
- decoded.push(line);
- index = semi + 1;
- } while (index <= mappings.length);
-
- return decoded;
-}
-
-function indexOf(mappings: string, index: number): number {
- const idx = mappings.indexOf(';', index);
- return idx === -1 ? mappings.length : idx;
-}
-
-function decodeInteger(mappings: string, pos: number, state: SourceMapSegment, j: number): number {
- let value = 0;
- let shift = 0;
- let integer = 0;
-
- do {
- const c = mappings.charCodeAt(pos++);
- integer = charToInt[c];
- value |= (integer & 31) << shift;
- shift += 5;
- } while (integer & 32);
-
- const shouldNegate = value & 1;
- value >>>= 1;
-
- if (shouldNegate) {
- value = -0x80000000 | -value;
- }
-
- state[j] += value;
- return pos;
-}
-
-function hasMoreVlq(mappings: string, i: number, length: number): boolean {
- if (i >= length) return false;
- return mappings.charCodeAt(i) !== comma;
-}
-
-function sort(line: SourceMapSegment[]) {
- line.sort(sortComparator);
-}
-
-function sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {
- return a[0] - b[0];
-}
-
-export function encode(decoded: SourceMapMappings): string;
-export function encode(decoded: Readonly<SourceMapMappings>): string;
-export function encode(decoded: Readonly<SourceMapMappings>): string {
- const state: [number, number, number, number, number] = new Int32Array(5) as any;
- const bufLength = 1024 * 16;
- const subLength = bufLength - 36;
- const buf = new Uint8Array(bufLength);
- const sub = buf.subarray(0, subLength);
- let pos = 0;
- let out = '';
-
- for (let i = 0; i < decoded.length; i++) {
- const line = decoded[i];
- if (i > 0) {
- if (pos === bufLength) {
- out += td.decode(buf);
- pos = 0;
- }
- buf[pos++] = semicolon;
- }
- if (line.length === 0) continue;
-
- state[0] = 0;
-
- for (let j = 0; j < line.length; j++) {
- const segment = line[j];
- // We can push up to 5 ints, each int can take at most 7 chars, and we
- // may push a comma.
- if (pos > subLength) {
- out += td.decode(sub);
- buf.copyWithin(0, subLength, pos);
- pos -= subLength;
- }
- if (j > 0) buf[pos++] = comma;
-
- pos = encodeInteger(buf, pos, state, segment, 0); // genColumn
-
- if (segment.length === 1) continue;
- pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex
- pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine
- pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn
-
- if (segment.length === 4) continue;
- pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex
- }
- }
-
- return out + td.decode(buf.subarray(0, pos));
-}
-
-function encodeInteger(
- buf: Uint8Array,
- pos: number,
- state: SourceMapSegment,
- segment: SourceMapSegment,
- j: number,
-): number {
- const next = segment[j];
- let num = next - state[j];
- state[j] = next;
-
- num = num < 0 ? (-num << 1) | 1 : num << 1;
- do {
- let clamped = num & 0b011111;
- num >>>= 5;
- if (num > 0) clamped |= 0b100000;
- buf[pos++] = intToChar[clamped];
- } while (num > 0);
-
- return pos;
-}
diff --git a/includes/search/node_modules/@jridgewell/trace-mapping/package.json b/includes/search/node_modules/@jridgewell/trace-mapping/package.json
deleted file mode 100644
index 9fcc07f..0000000
--- a/includes/search/node_modules/@jridgewell/trace-mapping/package.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "name": "@jridgewell/trace-mapping",
- "version": "0.3.18",
- "description": "Trace the original position through a source map",
- "keywords": [
- "source",
- "map"
- ],
- "main": "dist/trace-mapping.umd.js",
- "module": "dist/trace-mapping.mjs",
- "types": "dist/types/trace-mapping.d.ts",
- "files": [
- "dist"
- ],
- "exports": {
- ".": [
- {
- "types": "./dist/types/trace-mapping.d.ts",
- "browser": "./dist/trace-mapping.umd.js",
- "require": "./dist/trace-mapping.umd.js",
- "import": "./dist/trace-mapping.mjs"
- },
- "./dist/trace-mapping.umd.js"
- ],
- "./package.json": "./package.json"
- },
- "author": "Justin Ridgewell <justin@ridgewell.name>",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jridgewell/trace-mapping.git"
- },
- "license": "MIT",
- "scripts": {
- "benchmark": "run-s build:rollup benchmark:*",
- "benchmark:install": "cd benchmark && npm install",
- "benchmark:only": "node --expose-gc benchmark/index.mjs",
- "build": "run-s -n build:*",
- "build:rollup": "rollup -c rollup.config.js",
- "build:ts": "tsc --project tsconfig.build.json",
- "lint": "run-s -n lint:*",
- "lint:prettier": "npm run test:lint:prettier -- --write",
- "lint:ts": "npm run test:lint:ts -- --fix",
- "prebuild": "rm -rf dist",
- "prepublishOnly": "npm run preversion",
- "preversion": "run-s test build",
- "test": "run-s -n test:lint test:only",
- "test:debug": "ava debug",
- "test:lint": "run-s -n test:lint:*",
- "test:lint:prettier": "prettier --check '{src,test}/**/*.ts' '**/*.md'",
- "test:lint:ts": "eslint '{src,test}/**/*.ts'",
- "test:only": "c8 ava",
- "test:watch": "ava --watch"
- },
- "devDependencies": {
- "@rollup/plugin-typescript": "8.5.0",
- "@typescript-eslint/eslint-plugin": "5.39.0",
- "@typescript-eslint/parser": "5.39.0",
- "ava": "4.3.3",
- "benchmark": "2.1.4",
- "c8": "7.12.0",
- "esbuild": "0.15.10",
- "eslint": "8.25.0",
- "eslint-config-prettier": "8.5.0",
- "eslint-plugin-no-only-tests": "3.0.0",
- "npm-run-all": "4.1.5",
- "prettier": "2.7.1",
- "rollup": "2.79.1",
- "tsx": "3.10.1",
- "typescript": "4.8.4"
- },
- "dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
-}
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/LICENSE b/includes/search/node_modules/@nodelib/fs.scandir/LICENSE
deleted file mode 100644
index 65a9994..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Denis Malinochkin
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/README.md b/includes/search/node_modules/@nodelib/fs.scandir/README.md
deleted file mode 100644
index e0b218b..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/README.md
+++ /dev/null
@@ -1,171 +0,0 @@
-# @nodelib/fs.scandir
-
-> List files and directories inside the specified directory.
-
-## :bulb: Highlights
-
-The package is aimed at obtaining information about entries in the directory.
-
-* :moneybag: Returns useful information: `name`, `path`, `dirent` and `stats` (optional).
-* :gear: On Node.js 10.10+ uses the mechanism without additional calls to determine the entry type. See [`old` and `modern` mode](#old-and-modern-mode).
-* :link: Can safely work with broken symbolic links.
-
-## Install
-
-```console
-npm install @nodelib/fs.scandir
-```
-
-## Usage
-
-```ts
-import * as fsScandir from '@nodelib/fs.scandir';
-
-fsScandir.scandir('path', (error, stats) => { /* … */ });
-```
-
-## API
-
-### .scandir(path, [optionsOrSettings], callback)
-
-Returns an array of plain objects ([`Entry`](#entry)) with information about entry for provided path with standard callback-style.
-
-```ts
-fsScandir.scandir('path', (error, entries) => { /* … */ });
-fsScandir.scandir('path', {}, (error, entries) => { /* … */ });
-fsScandir.scandir('path', new fsScandir.Settings(), (error, entries) => { /* … */ });
-```
-
-### .scandirSync(path, [optionsOrSettings])
-
-Returns an array of plain objects ([`Entry`](#entry)) with information about entry for provided path.
-
-```ts
-const entries = fsScandir.scandirSync('path');
-const entries = fsScandir.scandirSync('path', {});
-const entries = fsScandir.scandirSync(('path', new fsScandir.Settings());
-```
-
-#### path
-
-* Required: `true`
-* Type: `string | Buffer | URL`
-
-A path to a file. If a URL is provided, it must use the `file:` protocol.
-
-#### optionsOrSettings
-
-* Required: `false`
-* Type: `Options | Settings`
-* Default: An instance of `Settings` class
-
-An [`Options`](#options) object or an instance of [`Settings`](#settingsoptions) class.
-
-> :book: When you pass a plain object, an instance of the `Settings` class will be created automatically. If you plan to call the method frequently, use a pre-created instance of the `Settings` class.
-
-### Settings([options])
-
-A class of full settings of the package.
-
-```ts
-const settings = new fsScandir.Settings({ followSymbolicLinks: false });
-
-const entries = fsScandir.scandirSync('path', settings);
-```
-
-## Entry
-
-* `name` — The name of the entry (`unknown.txt`).
-* `path` — The path of the entry relative to call directory (`root/unknown.txt`).
-* `dirent` — An instance of [`fs.Dirent`](./src/types/index.ts) class. On Node.js below 10.10 will be emulated by [`DirentFromStats`](./src/utils/fs.ts) class.
-* `stats` (optional) — An instance of `fs.Stats` class.
-
-For example, the `scandir` call for `tools` directory with one directory inside:
-
-```ts
-{
- dirent: Dirent { name: 'typedoc', /* … */ },
- name: 'typedoc',
- path: 'tools/typedoc'
-}
-```
-
-## Options
-
-### stats
-
-* Type: `boolean`
-* Default: `false`
-
-Adds an instance of `fs.Stats` class to the [`Entry`](#entry).
-
-> :book: Always use `fs.readdir` without the `withFileTypes` option. ??TODO??
-
-### followSymbolicLinks
-
-* Type: `boolean`
-* Default: `false`
-
-Follow symbolic links or not. Call `fs.stat` on symbolic link if `true`.
-
-### `throwErrorOnBrokenSymbolicLink`
-
-* Type: `boolean`
-* Default: `true`
-
-Throw an error when symbolic link is broken if `true` or safely use `lstat` call if `false`.
-
-### `pathSegmentSeparator`
-
-* Type: `string`
-* Default: `path.sep`
-
-By default, this package uses the correct path separator for your OS (`\` on Windows, `/` on Unix-like systems). But you can set this option to any separator character(s) that you want to use instead.
-
-### `fs`
-
-* Type: [`FileSystemAdapter`](./src/adapters/fs.ts)
-* Default: A default FS methods
-
-By default, the built-in Node.js module (`fs`) is used to work with the file system. You can replace any method with your own.
-
-```ts
-interface FileSystemAdapter {
- lstat?: typeof fs.lstat;
- stat?: typeof fs.stat;
- lstatSync?: typeof fs.lstatSync;
- statSync?: typeof fs.statSync;
- readdir?: typeof fs.readdir;
- readdirSync?: typeof fs.readdirSync;
-}
-
-const settings = new fsScandir.Settings({
- fs: { lstat: fakeLstat }
-});
-```
-
-## `old` and `modern` mode
-
-This package has two modes that are used depending on the environment and parameters of use.
-
-### old
-
-* Node.js below `10.10` or when the `stats` option is enabled
-
-When working in the old mode, the directory is read first (`fs.readdir`), then the type of entries is determined (`fs.lstat` and/or `fs.stat` for symbolic links).
-
-### modern
-
-* Node.js 10.10+ and the `stats` option is disabled
-
-In the modern mode, reading the directory (`fs.readdir` with the `withFileTypes` option) is combined with obtaining information about its entries. An additional call for symbolic links (`fs.stat`) is still present.
-
-This mode makes fewer calls to the file system. It's faster.
-
-## Changelog
-
-See the [Releases section of our GitHub project](https://github.com/nodelib/nodelib/releases) for changelog for each release version.
-
-## License
-
-This software is released under the terms of the MIT license.
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts
deleted file mode 100644
index 827f1db..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import type * as fsStat from '@nodelib/fs.stat';
-import type { Dirent, ErrnoException } from '../types';
-export interface ReaddirAsynchronousMethod {
- (filepath: string, options: {
- withFileTypes: true;
- }, callback: (error: ErrnoException | null, files: Dirent[]) => void): void;
- (filepath: string, callback: (error: ErrnoException | null, files: string[]) => void): void;
-}
-export interface ReaddirSynchronousMethod {
- (filepath: string, options: {
- withFileTypes: true;
- }): Dirent[];
- (filepath: string): string[];
-}
-export declare type FileSystemAdapter = fsStat.FileSystemAdapter & {
- readdir: ReaddirAsynchronousMethod;
- readdirSync: ReaddirSynchronousMethod;
-};
-export declare const FILE_SYSTEM_ADAPTER: FileSystemAdapter;
-export declare function createFileSystemAdapter(fsMethods?: Partial<FileSystemAdapter>): FileSystemAdapter;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/adapters/fs.js b/includes/search/node_modules/@nodelib/fs.scandir/out/adapters/fs.js
deleted file mode 100644
index f0fe022..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/adapters/fs.js
+++ /dev/null
@@ -1,19 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;
-const fs = require("fs");
-exports.FILE_SYSTEM_ADAPTER = {
- lstat: fs.lstat,
- stat: fs.stat,
- lstatSync: fs.lstatSync,
- statSync: fs.statSync,
- readdir: fs.readdir,
- readdirSync: fs.readdirSync
-};
-function createFileSystemAdapter(fsMethods) {
- if (fsMethods === undefined) {
- return exports.FILE_SYSTEM_ADAPTER;
- }
- return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);
-}
-exports.createFileSystemAdapter = createFileSystemAdapter;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/constants.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/constants.d.ts
deleted file mode 100644
index 33f1749..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/constants.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * IS `true` for Node.js 10.10 and greater.
- */
-export declare const IS_SUPPORT_READDIR_WITH_FILE_TYPES: boolean;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/constants.js b/includes/search/node_modules/@nodelib/fs.scandir/out/constants.js
deleted file mode 100644
index 7e3d441..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/constants.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;
-const NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.');
-if (NODE_PROCESS_VERSION_PARTS[0] === undefined || NODE_PROCESS_VERSION_PARTS[1] === undefined) {
- throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);
-}
-const MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10);
-const MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10);
-const SUPPORTED_MAJOR_VERSION = 10;
-const SUPPORTED_MINOR_VERSION = 10;
-const IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION;
-const IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION;
-/**
- * IS `true` for Node.js 10.10 and greater.
- */
-exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/index.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/index.d.ts
deleted file mode 100644
index b9da83e..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/index.d.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import type { FileSystemAdapter, ReaddirAsynchronousMethod, ReaddirSynchronousMethod } from './adapters/fs';
-import * as async from './providers/async';
-import Settings, { Options } from './settings';
-import type { Dirent, Entry } from './types';
-declare type AsyncCallback = async.AsyncCallback;
-declare function scandir(path: string, callback: AsyncCallback): void;
-declare function scandir(path: string, optionsOrSettings: Options | Settings, callback: AsyncCallback): void;
-declare namespace scandir {
- function __promisify__(path: string, optionsOrSettings?: Options | Settings): Promise<Entry[]>;
-}
-declare function scandirSync(path: string, optionsOrSettings?: Options | Settings): Entry[];
-export { scandir, scandirSync, Settings, AsyncCallback, Dirent, Entry, FileSystemAdapter, ReaddirAsynchronousMethod, ReaddirSynchronousMethod, Options };
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/index.js b/includes/search/node_modules/@nodelib/fs.scandir/out/index.js
deleted file mode 100644
index 99c70d3..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/index.js
+++ /dev/null
@@ -1,26 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Settings = exports.scandirSync = exports.scandir = void 0;
-const async = require("./providers/async");
-const sync = require("./providers/sync");
-const settings_1 = require("./settings");
-exports.Settings = settings_1.default;
-function scandir(path, optionsOrSettingsOrCallback, callback) {
- if (typeof optionsOrSettingsOrCallback === 'function') {
- async.read(path, getSettings(), optionsOrSettingsOrCallback);
- return;
- }
- async.read(path, getSettings(optionsOrSettingsOrCallback), callback);
-}
-exports.scandir = scandir;
-function scandirSync(path, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- return sync.read(path, settings);
-}
-exports.scandirSync = scandirSync;
-function getSettings(settingsOrOptions = {}) {
- if (settingsOrOptions instanceof settings_1.default) {
- return settingsOrOptions;
- }
- return new settings_1.default(settingsOrOptions);
-}
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts
deleted file mode 100644
index 5829676..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-/// <reference types="node" />
-import type Settings from '../settings';
-import type { Entry } from '../types';
-export declare type AsyncCallback = (error: NodeJS.ErrnoException, entries: Entry[]) => void;
-export declare function read(directory: string, settings: Settings, callback: AsyncCallback): void;
-export declare function readdirWithFileTypes(directory: string, settings: Settings, callback: AsyncCallback): void;
-export declare function readdir(directory: string, settings: Settings, callback: AsyncCallback): void;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/async.js b/includes/search/node_modules/@nodelib/fs.scandir/out/providers/async.js
deleted file mode 100644
index e8e2f0a..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/async.js
+++ /dev/null
@@ -1,104 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.readdir = exports.readdirWithFileTypes = exports.read = void 0;
-const fsStat = require("@nodelib/fs.stat");
-const rpl = require("run-parallel");
-const constants_1 = require("../constants");
-const utils = require("../utils");
-const common = require("./common");
-function read(directory, settings, callback) {
- if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
- readdirWithFileTypes(directory, settings, callback);
- return;
- }
- readdir(directory, settings, callback);
-}
-exports.read = read;
-function readdirWithFileTypes(directory, settings, callback) {
- settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => {
- if (readdirError !== null) {
- callFailureCallback(callback, readdirError);
- return;
- }
- const entries = dirents.map((dirent) => ({
- dirent,
- name: dirent.name,
- path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
- }));
- if (!settings.followSymbolicLinks) {
- callSuccessCallback(callback, entries);
- return;
- }
- const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings));
- rpl(tasks, (rplError, rplEntries) => {
- if (rplError !== null) {
- callFailureCallback(callback, rplError);
- return;
- }
- callSuccessCallback(callback, rplEntries);
- });
- });
-}
-exports.readdirWithFileTypes = readdirWithFileTypes;
-function makeRplTaskEntry(entry, settings) {
- return (done) => {
- if (!entry.dirent.isSymbolicLink()) {
- done(null, entry);
- return;
- }
- settings.fs.stat(entry.path, (statError, stats) => {
- if (statError !== null) {
- if (settings.throwErrorOnBrokenSymbolicLink) {
- done(statError);
- return;
- }
- done(null, entry);
- return;
- }
- entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
- done(null, entry);
- });
- };
-}
-function readdir(directory, settings, callback) {
- settings.fs.readdir(directory, (readdirError, names) => {
- if (readdirError !== null) {
- callFailureCallback(callback, readdirError);
- return;
- }
- const tasks = names.map((name) => {
- const path = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
- return (done) => {
- fsStat.stat(path, settings.fsStatSettings, (error, stats) => {
- if (error !== null) {
- done(error);
- return;
- }
- const entry = {
- name,
- path,
- dirent: utils.fs.createDirentFromStats(name, stats)
- };
- if (settings.stats) {
- entry.stats = stats;
- }
- done(null, entry);
- });
- };
- });
- rpl(tasks, (rplError, entries) => {
- if (rplError !== null) {
- callFailureCallback(callback, rplError);
- return;
- }
- callSuccessCallback(callback, entries);
- });
- });
-}
-exports.readdir = readdir;
-function callFailureCallback(callback, error) {
- callback(error);
-}
-function callSuccessCallback(callback, result) {
- callback(null, result);
-}
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts
deleted file mode 100644
index 2b4d08b..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export declare function joinPathSegments(a: string, b: string, separator: string): string;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/common.js b/includes/search/node_modules/@nodelib/fs.scandir/out/providers/common.js
deleted file mode 100644
index 8724cb5..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/common.js
+++ /dev/null
@@ -1,13 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.joinPathSegments = void 0;
-function joinPathSegments(a, b, separator) {
- /**
- * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`).
- */
- if (a.endsWith(separator)) {
- return a + b;
- }
- return a + separator + b;
-}
-exports.joinPathSegments = joinPathSegments;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts
deleted file mode 100644
index e05c8f0..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import type Settings from '../settings';
-import type { Entry } from '../types';
-export declare function read(directory: string, settings: Settings): Entry[];
-export declare function readdirWithFileTypes(directory: string, settings: Settings): Entry[];
-export declare function readdir(directory: string, settings: Settings): Entry[];
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/sync.js b/includes/search/node_modules/@nodelib/fs.scandir/out/providers/sync.js
deleted file mode 100644
index 146db34..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/providers/sync.js
+++ /dev/null
@@ -1,54 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.readdir = exports.readdirWithFileTypes = exports.read = void 0;
-const fsStat = require("@nodelib/fs.stat");
-const constants_1 = require("../constants");
-const utils = require("../utils");
-const common = require("./common");
-function read(directory, settings) {
- if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
- return readdirWithFileTypes(directory, settings);
- }
- return readdir(directory, settings);
-}
-exports.read = read;
-function readdirWithFileTypes(directory, settings) {
- const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });
- return dirents.map((dirent) => {
- const entry = {
- dirent,
- name: dirent.name,
- path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
- };
- if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {
- try {
- const stats = settings.fs.statSync(entry.path);
- entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
- }
- catch (error) {
- if (settings.throwErrorOnBrokenSymbolicLink) {
- throw error;
- }
- }
- }
- return entry;
- });
-}
-exports.readdirWithFileTypes = readdirWithFileTypes;
-function readdir(directory, settings) {
- const names = settings.fs.readdirSync(directory);
- return names.map((name) => {
- const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
- const stats = fsStat.statSync(entryPath, settings.fsStatSettings);
- const entry = {
- name,
- path: entryPath,
- dirent: utils.fs.createDirentFromStats(name, stats)
- };
- if (settings.stats) {
- entry.stats = stats;
- }
- return entry;
- });
-}
-exports.readdir = readdir;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/settings.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/settings.d.ts
deleted file mode 100644
index a0db115..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/settings.d.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import * as fsStat from '@nodelib/fs.stat';
-import * as fs from './adapters/fs';
-export interface Options {
- followSymbolicLinks?: boolean;
- fs?: Partial<fs.FileSystemAdapter>;
- pathSegmentSeparator?: string;
- stats?: boolean;
- throwErrorOnBrokenSymbolicLink?: boolean;
-}
-export default class Settings {
- private readonly _options;
- readonly followSymbolicLinks: boolean;
- readonly fs: fs.FileSystemAdapter;
- readonly pathSegmentSeparator: string;
- readonly stats: boolean;
- readonly throwErrorOnBrokenSymbolicLink: boolean;
- readonly fsStatSettings: fsStat.Settings;
- constructor(_options?: Options);
- private _getValue;
-}
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/settings.js b/includes/search/node_modules/@nodelib/fs.scandir/out/settings.js
deleted file mode 100644
index 15a3e8c..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/settings.js
+++ /dev/null
@@ -1,24 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const path = require("path");
-const fsStat = require("@nodelib/fs.stat");
-const fs = require("./adapters/fs");
-class Settings {
- constructor(_options = {}) {
- this._options = _options;
- this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
- this.fs = fs.createFileSystemAdapter(this._options.fs);
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);
- this.stats = this._getValue(this._options.stats, false);
- this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
- this.fsStatSettings = new fsStat.Settings({
- followSymbolicLink: this.followSymbolicLinks,
- fs: this.fs,
- throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
- });
- }
- _getValue(option, value) {
- return option !== null && option !== void 0 ? option : value;
- }
-}
-exports.default = Settings;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/types/index.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/types/index.d.ts
deleted file mode 100644
index f326c5e..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/types/index.d.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-/// <reference types="node" />
-import type * as fs from 'fs';
-export interface Entry {
- dirent: Dirent;
- name: string;
- path: string;
- stats?: Stats;
-}
-export declare type Stats = fs.Stats;
-export declare type ErrnoException = NodeJS.ErrnoException;
-export interface Dirent {
- isBlockDevice: () => boolean;
- isCharacterDevice: () => boolean;
- isDirectory: () => boolean;
- isFIFO: () => boolean;
- isFile: () => boolean;
- isSocket: () => boolean;
- isSymbolicLink: () => boolean;
- name: string;
-}
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/types/index.js b/includes/search/node_modules/@nodelib/fs.scandir/out/types/index.js
deleted file mode 100644
index c8ad2e5..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/types/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts
deleted file mode 100644
index bb863f1..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import type { Dirent, Stats } from '../types';
-export declare function createDirentFromStats(name: string, stats: Stats): Dirent;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/utils/fs.js b/includes/search/node_modules/@nodelib/fs.scandir/out/utils/fs.js
deleted file mode 100644
index ace7c74..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/utils/fs.js
+++ /dev/null
@@ -1,19 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.createDirentFromStats = void 0;
-class DirentFromStats {
- constructor(name, stats) {
- this.name = name;
- this.isBlockDevice = stats.isBlockDevice.bind(stats);
- this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
- this.isDirectory = stats.isDirectory.bind(stats);
- this.isFIFO = stats.isFIFO.bind(stats);
- this.isFile = stats.isFile.bind(stats);
- this.isSocket = stats.isSocket.bind(stats);
- this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
- }
-}
-function createDirentFromStats(name, stats) {
- return new DirentFromStats(name, stats);
-}
-exports.createDirentFromStats = createDirentFromStats;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts b/includes/search/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts
deleted file mode 100644
index 1b41954..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import * as fs from './fs';
-export { fs };
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/out/utils/index.js b/includes/search/node_modules/@nodelib/fs.scandir/out/utils/index.js
deleted file mode 100644
index f5de129..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/out/utils/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.fs = void 0;
-const fs = require("./fs");
-exports.fs = fs;
diff --git a/includes/search/node_modules/@nodelib/fs.scandir/package.json b/includes/search/node_modules/@nodelib/fs.scandir/package.json
deleted file mode 100644
index d3a8924..0000000
--- a/includes/search/node_modules/@nodelib/fs.scandir/package.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "@nodelib/fs.scandir",
- "version": "2.1.5",
- "description": "List files and directories inside the specified directory",
- "license": "MIT",
- "repository": "https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir",
- "keywords": [
- "NodeLib",
- "fs",
- "FileSystem",
- "file system",
- "scandir",
- "readdir",
- "dirent"
- ],
- "engines": {
- "node": ">= 8"
- },
- "files": [
- "out/**",
- "!out/**/*.map",
- "!out/**/*.spec.*"
- ],
- "main": "out/index.js",
- "typings": "out/index.d.ts",
- "scripts": {
- "clean": "rimraf {tsconfig.tsbuildinfo,out}",
- "lint": "eslint \"src/**/*.ts\" --cache",
- "compile": "tsc -b .",
- "compile:watch": "tsc -p . --watch --sourceMap",
- "test": "mocha \"out/**/*.spec.js\" -s 0",
- "build": "npm run clean && npm run compile && npm run lint && npm test",
- "watch": "npm run clean && npm run compile:watch"
- },
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "devDependencies": {
- "@nodelib/fs.macchiato": "1.0.4",
- "@types/run-parallel": "^1.1.0"
- },
- "gitHead": "d6a7960d5281d3dd5f8e2efba49bb552d090f562"
-}
diff --git a/includes/search/node_modules/@nodelib/fs.stat/LICENSE b/includes/search/node_modules/@nodelib/fs.stat/LICENSE
deleted file mode 100644
index 65a9994..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Denis Malinochkin
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/@nodelib/fs.stat/README.md b/includes/search/node_modules/@nodelib/fs.stat/README.md
deleted file mode 100644
index 686f047..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/README.md
+++ /dev/null
@@ -1,126 +0,0 @@
-# @nodelib/fs.stat
-
-> Get the status of a file with some features.
-
-## :bulb: Highlights
-
-Wrapper around standard method `fs.lstat` and `fs.stat` with some features.
-
-* :beginner: Normally follows symbolic link.
-* :gear: Can safely work with broken symbolic link.
-
-## Install
-
-```console
-npm install @nodelib/fs.stat
-```
-
-## Usage
-
-```ts
-import * as fsStat from '@nodelib/fs.stat';
-
-fsStat.stat('path', (error, stats) => { /* … */ });
-```
-
-## API
-
-### .stat(path, [optionsOrSettings], callback)
-
-Returns an instance of `fs.Stats` class for provided path with standard callback-style.
-
-```ts
-fsStat.stat('path', (error, stats) => { /* … */ });
-fsStat.stat('path', {}, (error, stats) => { /* … */ });
-fsStat.stat('path', new fsStat.Settings(), (error, stats) => { /* … */ });
-```
-
-### .statSync(path, [optionsOrSettings])
-
-Returns an instance of `fs.Stats` class for provided path.
-
-```ts
-const stats = fsStat.stat('path');
-const stats = fsStat.stat('path', {});
-const stats = fsStat.stat('path', new fsStat.Settings());
-```
-
-#### path
-
-* Required: `true`
-* Type: `string | Buffer | URL`
-
-A path to a file. If a URL is provided, it must use the `file:` protocol.
-
-#### optionsOrSettings
-
-* Required: `false`
-* Type: `Options | Settings`
-* Default: An instance of `Settings` class
-
-An [`Options`](#options) object or an instance of [`Settings`](#settings) class.
-
-> :book: When you pass a plain object, an instance of the `Settings` class will be created automatically. If you plan to call the method frequently, use a pre-created instance of the `Settings` class.
-
-### Settings([options])
-
-A class of full settings of the package.
-
-```ts
-const settings = new fsStat.Settings({ followSymbolicLink: false });
-
-const stats = fsStat.stat('path', settings);
-```
-
-## Options
-
-### `followSymbolicLink`
-
-* Type: `boolean`
-* Default: `true`
-
-Follow symbolic link or not. Call `fs.stat` on symbolic link if `true`.
-
-### `markSymbolicLink`
-
-* Type: `boolean`
-* Default: `false`
-
-Mark symbolic link by setting the return value of `isSymbolicLink` function to always `true` (even after `fs.stat`).
-
-> :book: Can be used if you want to know what is hidden behind a symbolic link, but still continue to know that it is a symbolic link.
-
-### `throwErrorOnBrokenSymbolicLink`
-
-* Type: `boolean`
-* Default: `true`
-
-Throw an error when symbolic link is broken if `true` or safely return `lstat` call if `false`.
-
-### `fs`
-
-* Type: [`FileSystemAdapter`](./src/adapters/fs.ts)
-* Default: A default FS methods
-
-By default, the built-in Node.js module (`fs`) is used to work with the file system. You can replace any method with your own.
-
-```ts
-interface FileSystemAdapter {
- lstat?: typeof fs.lstat;
- stat?: typeof fs.stat;
- lstatSync?: typeof fs.lstatSync;
- statSync?: typeof fs.statSync;
-}
-
-const settings = new fsStat.Settings({
- fs: { lstat: fakeLstat }
-});
-```
-
-## Changelog
-
-See the [Releases section of our GitHub project](https://github.com/nodelib/nodelib/releases) for changelog for each release version.
-
-## License
-
-This software is released under the terms of the MIT license.
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts b/includes/search/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts
deleted file mode 100644
index 3af759c..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-/// <reference types="node" />
-import * as fs from 'fs';
-import type { ErrnoException } from '../types';
-export declare type StatAsynchronousMethod = (path: string, callback: (error: ErrnoException | null, stats: fs.Stats) => void) => void;
-export declare type StatSynchronousMethod = (path: string) => fs.Stats;
-export interface FileSystemAdapter {
- lstat: StatAsynchronousMethod;
- stat: StatAsynchronousMethod;
- lstatSync: StatSynchronousMethod;
- statSync: StatSynchronousMethod;
-}
-export declare const FILE_SYSTEM_ADAPTER: FileSystemAdapter;
-export declare function createFileSystemAdapter(fsMethods?: Partial<FileSystemAdapter>): FileSystemAdapter;
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/adapters/fs.js b/includes/search/node_modules/@nodelib/fs.stat/out/adapters/fs.js
deleted file mode 100644
index 8dc08c8..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/adapters/fs.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0;
-const fs = require("fs");
-exports.FILE_SYSTEM_ADAPTER = {
- lstat: fs.lstat,
- stat: fs.stat,
- lstatSync: fs.lstatSync,
- statSync: fs.statSync
-};
-function createFileSystemAdapter(fsMethods) {
- if (fsMethods === undefined) {
- return exports.FILE_SYSTEM_ADAPTER;
- }
- return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods);
-}
-exports.createFileSystemAdapter = createFileSystemAdapter;
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/index.d.ts b/includes/search/node_modules/@nodelib/fs.stat/out/index.d.ts
deleted file mode 100644
index f95db99..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/index.d.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import type { FileSystemAdapter, StatAsynchronousMethod, StatSynchronousMethod } from './adapters/fs';
-import * as async from './providers/async';
-import Settings, { Options } from './settings';
-import type { Stats } from './types';
-declare type AsyncCallback = async.AsyncCallback;
-declare function stat(path: string, callback: AsyncCallback): void;
-declare function stat(path: string, optionsOrSettings: Options | Settings, callback: AsyncCallback): void;
-declare namespace stat {
- function __promisify__(path: string, optionsOrSettings?: Options | Settings): Promise<Stats>;
-}
-declare function statSync(path: string, optionsOrSettings?: Options | Settings): Stats;
-export { Settings, stat, statSync, AsyncCallback, FileSystemAdapter, StatAsynchronousMethod, StatSynchronousMethod, Options, Stats };
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/index.js b/includes/search/node_modules/@nodelib/fs.stat/out/index.js
deleted file mode 100644
index b23f751..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/index.js
+++ /dev/null
@@ -1,26 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.statSync = exports.stat = exports.Settings = void 0;
-const async = require("./providers/async");
-const sync = require("./providers/sync");
-const settings_1 = require("./settings");
-exports.Settings = settings_1.default;
-function stat(path, optionsOrSettingsOrCallback, callback) {
- if (typeof optionsOrSettingsOrCallback === 'function') {
- async.read(path, getSettings(), optionsOrSettingsOrCallback);
- return;
- }
- async.read(path, getSettings(optionsOrSettingsOrCallback), callback);
-}
-exports.stat = stat;
-function statSync(path, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- return sync.read(path, settings);
-}
-exports.statSync = statSync;
-function getSettings(settingsOrOptions = {}) {
- if (settingsOrOptions instanceof settings_1.default) {
- return settingsOrOptions;
- }
- return new settings_1.default(settingsOrOptions);
-}
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/providers/async.d.ts b/includes/search/node_modules/@nodelib/fs.stat/out/providers/async.d.ts
deleted file mode 100644
index 85423ce..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/providers/async.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import type Settings from '../settings';
-import type { ErrnoException, Stats } from '../types';
-export declare type AsyncCallback = (error: ErrnoException, stats: Stats) => void;
-export declare function read(path: string, settings: Settings, callback: AsyncCallback): void;
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/providers/async.js b/includes/search/node_modules/@nodelib/fs.stat/out/providers/async.js
deleted file mode 100644
index 983ff0e..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/providers/async.js
+++ /dev/null
@@ -1,36 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.read = void 0;
-function read(path, settings, callback) {
- settings.fs.lstat(path, (lstatError, lstat) => {
- if (lstatError !== null) {
- callFailureCallback(callback, lstatError);
- return;
- }
- if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
- callSuccessCallback(callback, lstat);
- return;
- }
- settings.fs.stat(path, (statError, stat) => {
- if (statError !== null) {
- if (settings.throwErrorOnBrokenSymbolicLink) {
- callFailureCallback(callback, statError);
- return;
- }
- callSuccessCallback(callback, lstat);
- return;
- }
- if (settings.markSymbolicLink) {
- stat.isSymbolicLink = () => true;
- }
- callSuccessCallback(callback, stat);
- });
- });
-}
-exports.read = read;
-function callFailureCallback(callback, error) {
- callback(error);
-}
-function callSuccessCallback(callback, result) {
- callback(null, result);
-}
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts b/includes/search/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts
deleted file mode 100644
index 428c3d7..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import type Settings from '../settings';
-import type { Stats } from '../types';
-export declare function read(path: string, settings: Settings): Stats;
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/providers/sync.js b/includes/search/node_modules/@nodelib/fs.stat/out/providers/sync.js
deleted file mode 100644
index 1521c36..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/providers/sync.js
+++ /dev/null
@@ -1,23 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.read = void 0;
-function read(path, settings) {
- const lstat = settings.fs.lstatSync(path);
- if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
- return lstat;
- }
- try {
- const stat = settings.fs.statSync(path);
- if (settings.markSymbolicLink) {
- stat.isSymbolicLink = () => true;
- }
- return stat;
- }
- catch (error) {
- if (!settings.throwErrorOnBrokenSymbolicLink) {
- return lstat;
- }
- throw error;
- }
-}
-exports.read = read;
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/settings.d.ts b/includes/search/node_modules/@nodelib/fs.stat/out/settings.d.ts
deleted file mode 100644
index f4b3d44..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/settings.d.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import * as fs from './adapters/fs';
-export interface Options {
- followSymbolicLink?: boolean;
- fs?: Partial<fs.FileSystemAdapter>;
- markSymbolicLink?: boolean;
- throwErrorOnBrokenSymbolicLink?: boolean;
-}
-export default class Settings {
- private readonly _options;
- readonly followSymbolicLink: boolean;
- readonly fs: fs.FileSystemAdapter;
- readonly markSymbolicLink: boolean;
- readonly throwErrorOnBrokenSymbolicLink: boolean;
- constructor(_options?: Options);
- private _getValue;
-}
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/settings.js b/includes/search/node_modules/@nodelib/fs.stat/out/settings.js
deleted file mode 100644
index 111ec09..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/settings.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const fs = require("./adapters/fs");
-class Settings {
- constructor(_options = {}) {
- this._options = _options;
- this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);
- this.fs = fs.createFileSystemAdapter(this._options.fs);
- this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);
- this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
- }
- _getValue(option, value) {
- return option !== null && option !== void 0 ? option : value;
- }
-}
-exports.default = Settings;
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/types/index.d.ts b/includes/search/node_modules/@nodelib/fs.stat/out/types/index.d.ts
deleted file mode 100644
index 74c08ed..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/types/index.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-/// <reference types="node" />
-import type * as fs from 'fs';
-export declare type Stats = fs.Stats;
-export declare type ErrnoException = NodeJS.ErrnoException;
diff --git a/includes/search/node_modules/@nodelib/fs.stat/out/types/index.js b/includes/search/node_modules/@nodelib/fs.stat/out/types/index.js
deleted file mode 100644
index c8ad2e5..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/out/types/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/includes/search/node_modules/@nodelib/fs.stat/package.json b/includes/search/node_modules/@nodelib/fs.stat/package.json
deleted file mode 100644
index f2540c2..0000000
--- a/includes/search/node_modules/@nodelib/fs.stat/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "@nodelib/fs.stat",
- "version": "2.0.5",
- "description": "Get the status of a file with some features",
- "license": "MIT",
- "repository": "https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat",
- "keywords": [
- "NodeLib",
- "fs",
- "FileSystem",
- "file system",
- "stat"
- ],
- "engines": {
- "node": ">= 8"
- },
- "files": [
- "out/**",
- "!out/**/*.map",
- "!out/**/*.spec.*"
- ],
- "main": "out/index.js",
- "typings": "out/index.d.ts",
- "scripts": {
- "clean": "rimraf {tsconfig.tsbuildinfo,out}",
- "lint": "eslint \"src/**/*.ts\" --cache",
- "compile": "tsc -b .",
- "compile:watch": "tsc -p . --watch --sourceMap",
- "test": "mocha \"out/**/*.spec.js\" -s 0",
- "build": "npm run clean && npm run compile && npm run lint && npm test",
- "watch": "npm run clean && npm run compile:watch"
- },
- "devDependencies": {
- "@nodelib/fs.macchiato": "1.0.4"
- },
- "gitHead": "d6a7960d5281d3dd5f8e2efba49bb552d090f562"
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/LICENSE b/includes/search/node_modules/@nodelib/fs.walk/LICENSE
deleted file mode 100644
index 65a9994..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Denis Malinochkin
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/@nodelib/fs.walk/README.md b/includes/search/node_modules/@nodelib/fs.walk/README.md
deleted file mode 100644
index 6ccc08d..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/README.md
+++ /dev/null
@@ -1,215 +0,0 @@
-# @nodelib/fs.walk
-
-> A library for efficiently walking a directory recursively.
-
-## :bulb: Highlights
-
-* :moneybag: Returns useful information: `name`, `path`, `dirent` and `stats` (optional).
-* :rocket: On Node.js 10.10+ uses the mechanism without additional calls to determine the entry type for performance reasons. See [`old` and `modern` mode](https://github.com/nodelib/nodelib/blob/master/packages/fs/fs.scandir/README.md#old-and-modern-mode).
-* :gear: Built-in directories/files and error filtering system.
-* :link: Can safely work with broken symbolic links.
-
-## Install
-
-```console
-npm install @nodelib/fs.walk
-```
-
-## Usage
-
-```ts
-import * as fsWalk from '@nodelib/fs.walk';
-
-fsWalk.walk('path', (error, entries) => { /* … */ });
-```
-
-## API
-
-### .walk(path, [optionsOrSettings], callback)
-
-Reads the directory recursively and asynchronously. Requires a callback function.
-
-> :book: If you want to use the Promise API, use `util.promisify`.
-
-```ts
-fsWalk.walk('path', (error, entries) => { /* … */ });
-fsWalk.walk('path', {}, (error, entries) => { /* … */ });
-fsWalk.walk('path', new fsWalk.Settings(), (error, entries) => { /* … */ });
-```
-
-### .walkStream(path, [optionsOrSettings])
-
-Reads the directory recursively and asynchronously. [Readable Stream](https://nodejs.org/dist/latest-v12.x/docs/api/stream.html#stream_readable_streams) is used as a provider.
-
-```ts
-const stream = fsWalk.walkStream('path');
-const stream = fsWalk.walkStream('path', {});
-const stream = fsWalk.walkStream('path', new fsWalk.Settings());
-```
-
-### .walkSync(path, [optionsOrSettings])
-
-Reads the directory recursively and synchronously. Returns an array of entries.
-
-```ts
-const entries = fsWalk.walkSync('path');
-const entries = fsWalk.walkSync('path', {});
-const entries = fsWalk.walkSync('path', new fsWalk.Settings());
-```
-
-#### path
-
-* Required: `true`
-* Type: `string | Buffer | URL`
-
-A path to a file. If a URL is provided, it must use the `file:` protocol.
-
-#### optionsOrSettings
-
-* Required: `false`
-* Type: `Options | Settings`
-* Default: An instance of `Settings` class
-
-An [`Options`](#options) object or an instance of [`Settings`](#settings) class.
-
-> :book: When you pass a plain object, an instance of the `Settings` class will be created automatically. If you plan to call the method frequently, use a pre-created instance of the `Settings` class.
-
-### Settings([options])
-
-A class of full settings of the package.
-
-```ts
-const settings = new fsWalk.Settings({ followSymbolicLinks: true });
-
-const entries = fsWalk.walkSync('path', settings);
-```
-
-## Entry
-
-* `name` — The name of the entry (`unknown.txt`).
-* `path` — The path of the entry relative to call directory (`root/unknown.txt`).
-* `dirent` — An instance of [`fs.Dirent`](./src/types/index.ts) class.
-* [`stats`] — An instance of `fs.Stats` class.
-
-## Options
-
-### basePath
-
-* Type: `string`
-* Default: `undefined`
-
-By default, all paths are built relative to the root path. You can use this option to set custom root path.
-
-In the example below we read the files from the `root` directory, but in the results the root path will be `custom`.
-
-```ts
-fsWalk.walkSync('root'); // → ['root/file.txt']
-fsWalk.walkSync('root', { basePath: 'custom' }); // → ['custom/file.txt']
-```
-
-### concurrency
-
-* Type: `number`
-* Default: `Infinity`
-
-The maximum number of concurrent calls to `fs.readdir`.
-
-> :book: The higher the number, the higher performance and the load on the File System. If you want to read in quiet mode, set the value to `4 * os.cpus().length` (4 is default size of [thread pool work scheduling](http://docs.libuv.org/en/v1.x/threadpool.html#thread-pool-work-scheduling)).
-
-### deepFilter
-
-* Type: [`DeepFilterFunction`](./src/settings.ts)
-* Default: `undefined`
-
-A function that indicates whether the directory will be read deep or not.
-
-```ts
-// Skip all directories that starts with `node_modules`
-const filter: DeepFilterFunction = (entry) => !entry.path.startsWith('node_modules');
-```
-
-### entryFilter
-
-* Type: [`EntryFilterFunction`](./src/settings.ts)
-* Default: `undefined`
-
-A function that indicates whether the entry will be included to results or not.
-
-```ts
-// Exclude all `.js` files from results
-const filter: EntryFilterFunction = (entry) => !entry.name.endsWith('.js');
-```
-
-### errorFilter
-
-* Type: [`ErrorFilterFunction`](./src/settings.ts)
-* Default: `undefined`
-
-A function that allows you to skip errors that occur when reading directories.
-
-For example, you can skip `ENOENT` errors if required:
-
-```ts
-// Skip all ENOENT errors
-const filter: ErrorFilterFunction = (error) => error.code == 'ENOENT';
-```
-
-### stats
-
-* Type: `boolean`
-* Default: `false`
-
-Adds an instance of `fs.Stats` class to the [`Entry`](#entry).
-
-> :book: Always use `fs.readdir` with additional `fs.lstat/fs.stat` calls to determine the entry type.
-
-### followSymbolicLinks
-
-* Type: `boolean`
-* Default: `false`
-
-Follow symbolic links or not. Call `fs.stat` on symbolic link if `true`.
-
-### `throwErrorOnBrokenSymbolicLink`
-
-* Type: `boolean`
-* Default: `true`
-
-Throw an error when symbolic link is broken if `true` or safely return `lstat` call if `false`.
-
-### `pathSegmentSeparator`
-
-* Type: `string`
-* Default: `path.sep`
-
-By default, this package uses the correct path separator for your OS (`\` on Windows, `/` on Unix-like systems). But you can set this option to any separator character(s) that you want to use instead.
-
-### `fs`
-
-* Type: `FileSystemAdapter`
-* Default: A default FS methods
-
-By default, the built-in Node.js module (`fs`) is used to work with the file system. You can replace any method with your own.
-
-```ts
-interface FileSystemAdapter {
- lstat: typeof fs.lstat;
- stat: typeof fs.stat;
- lstatSync: typeof fs.lstatSync;
- statSync: typeof fs.statSync;
- readdir: typeof fs.readdir;
- readdirSync: typeof fs.readdirSync;
-}
-
-const settings = new fsWalk.Settings({
- fs: { lstat: fakeLstat }
-});
-```
-
-## Changelog
-
-See the [Releases section of our GitHub project](https://github.com/nodelib/nodelib/releases) for changelog for each release version.
-
-## License
-
-This software is released under the terms of the MIT license.
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/index.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/index.d.ts
deleted file mode 100644
index 8864c7b..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/index.d.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-/// <reference types="node" />
-import type { Readable } from 'stream';
-import type { Dirent, FileSystemAdapter } from '@nodelib/fs.scandir';
-import { AsyncCallback } from './providers/async';
-import Settings, { DeepFilterFunction, EntryFilterFunction, ErrorFilterFunction, Options } from './settings';
-import type { Entry } from './types';
-declare function walk(directory: string, callback: AsyncCallback): void;
-declare function walk(directory: string, optionsOrSettings: Options | Settings, callback: AsyncCallback): void;
-declare namespace walk {
- function __promisify__(directory: string, optionsOrSettings?: Options | Settings): Promise<Entry[]>;
-}
-declare function walkSync(directory: string, optionsOrSettings?: Options | Settings): Entry[];
-declare function walkStream(directory: string, optionsOrSettings?: Options | Settings): Readable;
-export { walk, walkSync, walkStream, Settings, AsyncCallback, Dirent, Entry, FileSystemAdapter, Options, DeepFilterFunction, EntryFilterFunction, ErrorFilterFunction };
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/index.js b/includes/search/node_modules/@nodelib/fs.walk/out/index.js
deleted file mode 100644
index 1520787..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/index.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Settings = exports.walkStream = exports.walkSync = exports.walk = void 0;
-const async_1 = require("./providers/async");
-const stream_1 = require("./providers/stream");
-const sync_1 = require("./providers/sync");
-const settings_1 = require("./settings");
-exports.Settings = settings_1.default;
-function walk(directory, optionsOrSettingsOrCallback, callback) {
- if (typeof optionsOrSettingsOrCallback === 'function') {
- new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);
- return;
- }
- new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback);
-}
-exports.walk = walk;
-function walkSync(directory, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- const provider = new sync_1.default(directory, settings);
- return provider.read();
-}
-exports.walkSync = walkSync;
-function walkStream(directory, optionsOrSettings) {
- const settings = getSettings(optionsOrSettings);
- const provider = new stream_1.default(directory, settings);
- return provider.read();
-}
-exports.walkStream = walkStream;
-function getSettings(settingsOrOptions = {}) {
- if (settingsOrOptions instanceof settings_1.default) {
- return settingsOrOptions;
- }
- return new settings_1.default(settingsOrOptions);
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/providers/async.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/providers/async.d.ts
deleted file mode 100644
index 0f6717d..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/providers/async.d.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import AsyncReader from '../readers/async';
-import type Settings from '../settings';
-import type { Entry, Errno } from '../types';
-export declare type AsyncCallback = (error: Errno, entries: Entry[]) => void;
-export default class AsyncProvider {
- private readonly _root;
- private readonly _settings;
- protected readonly _reader: AsyncReader;
- private readonly _storage;
- constructor(_root: string, _settings: Settings);
- read(callback: AsyncCallback): void;
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/providers/async.js b/includes/search/node_modules/@nodelib/fs.walk/out/providers/async.js
deleted file mode 100644
index 51d3be5..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/providers/async.js
+++ /dev/null
@@ -1,30 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const async_1 = require("../readers/async");
-class AsyncProvider {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._reader = new async_1.default(this._root, this._settings);
- this._storage = [];
- }
- read(callback) {
- this._reader.onError((error) => {
- callFailureCallback(callback, error);
- });
- this._reader.onEntry((entry) => {
- this._storage.push(entry);
- });
- this._reader.onEnd(() => {
- callSuccessCallback(callback, this._storage);
- });
- this._reader.read();
- }
-}
-exports.default = AsyncProvider;
-function callFailureCallback(callback, error) {
- callback(error);
-}
-function callSuccessCallback(callback, entries) {
- callback(null, entries);
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/providers/index.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/providers/index.d.ts
deleted file mode 100644
index 874f60c..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/providers/index.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import AsyncProvider from './async';
-import StreamProvider from './stream';
-import SyncProvider from './sync';
-export { AsyncProvider, StreamProvider, SyncProvider };
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/providers/index.js b/includes/search/node_modules/@nodelib/fs.walk/out/providers/index.js
deleted file mode 100644
index 4c2529c..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/providers/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.SyncProvider = exports.StreamProvider = exports.AsyncProvider = void 0;
-const async_1 = require("./async");
-exports.AsyncProvider = async_1.default;
-const stream_1 = require("./stream");
-exports.StreamProvider = stream_1.default;
-const sync_1 = require("./sync");
-exports.SyncProvider = sync_1.default;
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts
deleted file mode 100644
index 294185f..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-/// <reference types="node" />
-import { Readable } from 'stream';
-import AsyncReader from '../readers/async';
-import type Settings from '../settings';
-export default class StreamProvider {
- private readonly _root;
- private readonly _settings;
- protected readonly _reader: AsyncReader;
- protected readonly _stream: Readable;
- constructor(_root: string, _settings: Settings);
- read(): Readable;
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/providers/stream.js b/includes/search/node_modules/@nodelib/fs.walk/out/providers/stream.js
deleted file mode 100644
index 51298b0..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/providers/stream.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const stream_1 = require("stream");
-const async_1 = require("../readers/async");
-class StreamProvider {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._reader = new async_1.default(this._root, this._settings);
- this._stream = new stream_1.Readable({
- objectMode: true,
- read: () => { },
- destroy: () => {
- if (!this._reader.isDestroyed) {
- this._reader.destroy();
- }
- }
- });
- }
- read() {
- this._reader.onError((error) => {
- this._stream.emit('error', error);
- });
- this._reader.onEntry((entry) => {
- this._stream.push(entry);
- });
- this._reader.onEnd(() => {
- this._stream.push(null);
- });
- this._reader.read();
- return this._stream;
- }
-}
-exports.default = StreamProvider;
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts
deleted file mode 100644
index 551c42e..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import SyncReader from '../readers/sync';
-import type Settings from '../settings';
-import type { Entry } from '../types';
-export default class SyncProvider {
- private readonly _root;
- private readonly _settings;
- protected readonly _reader: SyncReader;
- constructor(_root: string, _settings: Settings);
- read(): Entry[];
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/providers/sync.js b/includes/search/node_modules/@nodelib/fs.walk/out/providers/sync.js
deleted file mode 100644
index faab6ca..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/providers/sync.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const sync_1 = require("../readers/sync");
-class SyncProvider {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._reader = new sync_1.default(this._root, this._settings);
- }
- read() {
- return this._reader.read();
- }
-}
-exports.default = SyncProvider;
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/readers/async.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/readers/async.d.ts
deleted file mode 100644
index 9acf4e6..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/readers/async.d.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-/// <reference types="node" />
-import { EventEmitter } from 'events';
-import * as fsScandir from '@nodelib/fs.scandir';
-import type Settings from '../settings';
-import type { Entry, Errno } from '../types';
-import Reader from './reader';
-declare type EntryEventCallback = (entry: Entry) => void;
-declare type ErrorEventCallback = (error: Errno) => void;
-declare type EndEventCallback = () => void;
-export default class AsyncReader extends Reader {
- protected readonly _settings: Settings;
- protected readonly _scandir: typeof fsScandir.scandir;
- protected readonly _emitter: EventEmitter;
- private readonly _queue;
- private _isFatalError;
- private _isDestroyed;
- constructor(_root: string, _settings: Settings);
- read(): EventEmitter;
- get isDestroyed(): boolean;
- destroy(): void;
- onEntry(callback: EntryEventCallback): void;
- onError(callback: ErrorEventCallback): void;
- onEnd(callback: EndEventCallback): void;
- private _pushToQueue;
- private _worker;
- private _handleError;
- private _handleEntry;
- private _emitEntry;
-}
-export {};
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/readers/async.js b/includes/search/node_modules/@nodelib/fs.walk/out/readers/async.js
deleted file mode 100644
index ebe8dd5..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/readers/async.js
+++ /dev/null
@@ -1,97 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const events_1 = require("events");
-const fsScandir = require("@nodelib/fs.scandir");
-const fastq = require("fastq");
-const common = require("./common");
-const reader_1 = require("./reader");
-class AsyncReader extends reader_1.default {
- constructor(_root, _settings) {
- super(_root, _settings);
- this._settings = _settings;
- this._scandir = fsScandir.scandir;
- this._emitter = new events_1.EventEmitter();
- this._queue = fastq(this._worker.bind(this), this._settings.concurrency);
- this._isFatalError = false;
- this._isDestroyed = false;
- this._queue.drain = () => {
- if (!this._isFatalError) {
- this._emitter.emit('end');
- }
- };
- }
- read() {
- this._isFatalError = false;
- this._isDestroyed = false;
- setImmediate(() => {
- this._pushToQueue(this._root, this._settings.basePath);
- });
- return this._emitter;
- }
- get isDestroyed() {
- return this._isDestroyed;
- }
- destroy() {
- if (this._isDestroyed) {
- throw new Error('The reader is already destroyed');
- }
- this._isDestroyed = true;
- this._queue.killAndDrain();
- }
- onEntry(callback) {
- this._emitter.on('entry', callback);
- }
- onError(callback) {
- this._emitter.once('error', callback);
- }
- onEnd(callback) {
- this._emitter.once('end', callback);
- }
- _pushToQueue(directory, base) {
- const queueItem = { directory, base };
- this._queue.push(queueItem, (error) => {
- if (error !== null) {
- this._handleError(error);
- }
- });
- }
- _worker(item, done) {
- this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => {
- if (error !== null) {
- done(error, undefined);
- return;
- }
- for (const entry of entries) {
- this._handleEntry(entry, item.base);
- }
- done(null, undefined);
- });
- }
- _handleError(error) {
- if (this._isDestroyed || !common.isFatalError(this._settings, error)) {
- return;
- }
- this._isFatalError = true;
- this._isDestroyed = true;
- this._emitter.emit('error', error);
- }
- _handleEntry(entry, base) {
- if (this._isDestroyed || this._isFatalError) {
- return;
- }
- const fullpath = entry.path;
- if (base !== undefined) {
- entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
- }
- if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
- this._emitEntry(entry);
- }
- if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
- this._pushToQueue(fullpath, base === undefined ? undefined : entry.path);
- }
- }
- _emitEntry(entry) {
- this._emitter.emit('entry', entry);
- }
-}
-exports.default = AsyncReader;
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/readers/common.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/readers/common.d.ts
deleted file mode 100644
index 5985f97..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/readers/common.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { FilterFunction } from '../settings';
-import type Settings from '../settings';
-import type { Errno } from '../types';
-export declare function isFatalError(settings: Settings, error: Errno): boolean;
-export declare function isAppliedFilter<T>(filter: FilterFunction<T> | null, value: T): boolean;
-export declare function replacePathSegmentSeparator(filepath: string, separator: string): string;
-export declare function joinPathSegments(a: string, b: string, separator: string): string;
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/readers/common.js b/includes/search/node_modules/@nodelib/fs.walk/out/readers/common.js
deleted file mode 100644
index a93572f..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/readers/common.js
+++ /dev/null
@@ -1,31 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.joinPathSegments = exports.replacePathSegmentSeparator = exports.isAppliedFilter = exports.isFatalError = void 0;
-function isFatalError(settings, error) {
- if (settings.errorFilter === null) {
- return true;
- }
- return !settings.errorFilter(error);
-}
-exports.isFatalError = isFatalError;
-function isAppliedFilter(filter, value) {
- return filter === null || filter(value);
-}
-exports.isAppliedFilter = isAppliedFilter;
-function replacePathSegmentSeparator(filepath, separator) {
- return filepath.split(/[/\\]/).join(separator);
-}
-exports.replacePathSegmentSeparator = replacePathSegmentSeparator;
-function joinPathSegments(a, b, separator) {
- if (a === '') {
- return b;
- }
- /**
- * The correct handling of cases when the first segment is a root (`/`, `C:/`) or UNC path (`//?/C:/`).
- */
- if (a.endsWith(separator)) {
- return a + b;
- }
- return a + separator + b;
-}
-exports.joinPathSegments = joinPathSegments;
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts
deleted file mode 100644
index e1f383b..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import type Settings from '../settings';
-export default class Reader {
- protected readonly _root: string;
- protected readonly _settings: Settings;
- constructor(_root: string, _settings: Settings);
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/readers/reader.js b/includes/search/node_modules/@nodelib/fs.walk/out/readers/reader.js
deleted file mode 100644
index 782f07c..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/readers/reader.js
+++ /dev/null
@@ -1,11 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const common = require("./common");
-class Reader {
- constructor(_root, _settings) {
- this._root = _root;
- this._settings = _settings;
- this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator);
- }
-}
-exports.default = Reader;
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts
deleted file mode 100644
index af41033..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import * as fsScandir from '@nodelib/fs.scandir';
-import type { Entry } from '../types';
-import Reader from './reader';
-export default class SyncReader extends Reader {
- protected readonly _scandir: typeof fsScandir.scandirSync;
- private readonly _storage;
- private readonly _queue;
- read(): Entry[];
- private _pushToQueue;
- private _handleQueue;
- private _handleDirectory;
- private _handleError;
- private _handleEntry;
- private _pushToStorage;
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/readers/sync.js b/includes/search/node_modules/@nodelib/fs.walk/out/readers/sync.js
deleted file mode 100644
index 9a8d5a6..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/readers/sync.js
+++ /dev/null
@@ -1,59 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const fsScandir = require("@nodelib/fs.scandir");
-const common = require("./common");
-const reader_1 = require("./reader");
-class SyncReader extends reader_1.default {
- constructor() {
- super(...arguments);
- this._scandir = fsScandir.scandirSync;
- this._storage = [];
- this._queue = new Set();
- }
- read() {
- this._pushToQueue(this._root, this._settings.basePath);
- this._handleQueue();
- return this._storage;
- }
- _pushToQueue(directory, base) {
- this._queue.add({ directory, base });
- }
- _handleQueue() {
- for (const item of this._queue.values()) {
- this._handleDirectory(item.directory, item.base);
- }
- }
- _handleDirectory(directory, base) {
- try {
- const entries = this._scandir(directory, this._settings.fsScandirSettings);
- for (const entry of entries) {
- this._handleEntry(entry, base);
- }
- }
- catch (error) {
- this._handleError(error);
- }
- }
- _handleError(error) {
- if (!common.isFatalError(this._settings, error)) {
- return;
- }
- throw error;
- }
- _handleEntry(entry, base) {
- const fullpath = entry.path;
- if (base !== undefined) {
- entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
- }
- if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
- this._pushToStorage(entry);
- }
- if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
- this._pushToQueue(fullpath, base === undefined ? undefined : entry.path);
- }
- }
- _pushToStorage(entry) {
- this._storage.push(entry);
- }
-}
-exports.default = SyncReader;
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/settings.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/settings.d.ts
deleted file mode 100644
index d1c4b45..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/settings.d.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import * as fsScandir from '@nodelib/fs.scandir';
-import type { Entry, Errno } from './types';
-export declare type FilterFunction<T> = (value: T) => boolean;
-export declare type DeepFilterFunction = FilterFunction<Entry>;
-export declare type EntryFilterFunction = FilterFunction<Entry>;
-export declare type ErrorFilterFunction = FilterFunction<Errno>;
-export interface Options {
- basePath?: string;
- concurrency?: number;
- deepFilter?: DeepFilterFunction;
- entryFilter?: EntryFilterFunction;
- errorFilter?: ErrorFilterFunction;
- followSymbolicLinks?: boolean;
- fs?: Partial<fsScandir.FileSystemAdapter>;
- pathSegmentSeparator?: string;
- stats?: boolean;
- throwErrorOnBrokenSymbolicLink?: boolean;
-}
-export default class Settings {
- private readonly _options;
- readonly basePath?: string;
- readonly concurrency: number;
- readonly deepFilter: DeepFilterFunction | null;
- readonly entryFilter: EntryFilterFunction | null;
- readonly errorFilter: ErrorFilterFunction | null;
- readonly pathSegmentSeparator: string;
- readonly fsScandirSettings: fsScandir.Settings;
- constructor(_options?: Options);
- private _getValue;
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/settings.js b/includes/search/node_modules/@nodelib/fs.walk/out/settings.js
deleted file mode 100644
index d7a85c8..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/settings.js
+++ /dev/null
@@ -1,26 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const path = require("path");
-const fsScandir = require("@nodelib/fs.scandir");
-class Settings {
- constructor(_options = {}) {
- this._options = _options;
- this.basePath = this._getValue(this._options.basePath, undefined);
- this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY);
- this.deepFilter = this._getValue(this._options.deepFilter, null);
- this.entryFilter = this._getValue(this._options.entryFilter, null);
- this.errorFilter = this._getValue(this._options.errorFilter, null);
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path.sep);
- this.fsScandirSettings = new fsScandir.Settings({
- followSymbolicLinks: this._options.followSymbolicLinks,
- fs: this._options.fs,
- pathSegmentSeparator: this._options.pathSegmentSeparator,
- stats: this._options.stats,
- throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink
- });
- }
- _getValue(option, value) {
- return option !== null && option !== void 0 ? option : value;
- }
-}
-exports.default = Settings;
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/types/index.d.ts b/includes/search/node_modules/@nodelib/fs.walk/out/types/index.d.ts
deleted file mode 100644
index 6ee9bd3..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/types/index.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/// <reference types="node" />
-import type * as scandir from '@nodelib/fs.scandir';
-export declare type Entry = scandir.Entry;
-export declare type Errno = NodeJS.ErrnoException;
-export interface QueueItem {
- directory: string;
- base?: string;
-}
diff --git a/includes/search/node_modules/@nodelib/fs.walk/out/types/index.js b/includes/search/node_modules/@nodelib/fs.walk/out/types/index.js
deleted file mode 100644
index c8ad2e5..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/out/types/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/includes/search/node_modules/@nodelib/fs.walk/package.json b/includes/search/node_modules/@nodelib/fs.walk/package.json
deleted file mode 100644
index 86bfce4..0000000
--- a/includes/search/node_modules/@nodelib/fs.walk/package.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "@nodelib/fs.walk",
- "version": "1.2.8",
- "description": "A library for efficiently walking a directory recursively",
- "license": "MIT",
- "repository": "https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk",
- "keywords": [
- "NodeLib",
- "fs",
- "FileSystem",
- "file system",
- "walk",
- "scanner",
- "crawler"
- ],
- "engines": {
- "node": ">= 8"
- },
- "files": [
- "out/**",
- "!out/**/*.map",
- "!out/**/*.spec.*",
- "!out/**/tests/**"
- ],
- "main": "out/index.js",
- "typings": "out/index.d.ts",
- "scripts": {
- "clean": "rimraf {tsconfig.tsbuildinfo,out}",
- "lint": "eslint \"src/**/*.ts\" --cache",
- "compile": "tsc -b .",
- "compile:watch": "tsc -p . --watch --sourceMap",
- "test": "mocha \"out/**/*.spec.js\" -s 0",
- "build": "npm run clean && npm run compile && npm run lint && npm test",
- "watch": "npm run clean && npm run compile:watch"
- },
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "devDependencies": {
- "@nodelib/fs.macchiato": "1.0.4"
- },
- "gitHead": "1e5bad48565da2b06b8600e744324ea240bf49d8"
-}
diff --git a/includes/search/node_modules/agent-base/README.md b/includes/search/node_modules/agent-base/README.md
deleted file mode 100644
index 256f1f3..0000000
--- a/includes/search/node_modules/agent-base/README.md
+++ /dev/null
@@ -1,145 +0,0 @@
-agent-base
-==========
-### Turn a function into an [`http.Agent`][http.Agent] instance
-[![Build Status](https://github.com/TooTallNate/node-agent-base/workflows/Node%20CI/badge.svg)](https://github.com/TooTallNate/node-agent-base/actions?workflow=Node+CI)
-
-This module provides an `http.Agent` generator. That is, you pass it an async
-callback function, and it returns a new `http.Agent` instance that will invoke the
-given callback function when sending outbound HTTP requests.
-
-#### Some subclasses:
-
-Here's some more interesting uses of `agent-base`.
-Send a pull request to list yours!
-
- * [`http-proxy-agent`][http-proxy-agent]: An HTTP(s) proxy `http.Agent` implementation for HTTP endpoints
- * [`https-proxy-agent`][https-proxy-agent]: An HTTP(s) proxy `http.Agent` implementation for HTTPS endpoints
- * [`pac-proxy-agent`][pac-proxy-agent]: A PAC file proxy `http.Agent` implementation for HTTP and HTTPS
- * [`socks-proxy-agent`][socks-proxy-agent]: A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
-
-
-Installation
-------------
-
-Install with `npm`:
-
-``` bash
-$ npm install agent-base
-```
-
-
-Example
--------
-
-Here's a minimal example that creates a new `net.Socket` connection to the server
-for every HTTP request (i.e. the equivalent of `agent: false` option):
-
-```js
-var net = require('net');
-var tls = require('tls');
-var url = require('url');
-var http = require('http');
-var agent = require('agent-base');
-
-var endpoint = 'http://nodejs.org/api/';
-var parsed = url.parse(endpoint);
-
-// This is the important part!
-parsed.agent = agent(function (req, opts) {
- var socket;
- // `secureEndpoint` is true when using the https module
- if (opts.secureEndpoint) {
- socket = tls.connect(opts);
- } else {
- socket = net.connect(opts);
- }
- return socket;
-});
-
-// Everything else works just like normal...
-http.get(parsed, function (res) {
- console.log('"response" event!', res.headers);
- res.pipe(process.stdout);
-});
-```
-
-Returning a Promise or using an `async` function is also supported:
-
-```js
-agent(async function (req, opts) {
- await sleep(1000);
- // etc…
-});
-```
-
-Return another `http.Agent` instance to "pass through" the responsibility
-for that HTTP request to that agent:
-
-```js
-agent(function (req, opts) {
- return opts.secureEndpoint ? https.globalAgent : http.globalAgent;
-});
-```
-
-
-API
----
-
-## Agent(Function callback[, Object options]) → [http.Agent][]
-
-Creates a base `http.Agent` that will execute the callback function `callback`
-for every HTTP request that it is used as the `agent` for. The callback function
-is responsible for creating a `stream.Duplex` instance of some kind that will be
-used as the underlying socket in the HTTP request.
-
-The `options` object accepts the following properties:
-
- * `timeout` - Number - Timeout for the `callback()` function in milliseconds. Defaults to Infinity (optional).
-
-The callback function should have the following signature:
-
-### callback(http.ClientRequest req, Object options, Function cb) → undefined
-
-The ClientRequest `req` can be accessed to read request headers and
-and the path, etc. The `options` object contains the options passed
-to the `http.request()`/`https.request()` function call, and is formatted
-to be directly passed to `net.connect()`/`tls.connect()`, or however
-else you want a Socket to be created. Pass the created socket to
-the callback function `cb` once created, and the HTTP request will
-continue to proceed.
-
-If the `https` module is used to invoke the HTTP request, then the
-`secureEndpoint` property on `options` _will be set to `true`_.
-
-
-License
--------
-
-(The MIT License)
-
-Copyright (c) 2013 Nathan Rajlich &lt;nathan@tootallnate.net&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-[http-proxy-agent]: https://github.com/TooTallNate/node-http-proxy-agent
-[https-proxy-agent]: https://github.com/TooTallNate/node-https-proxy-agent
-[pac-proxy-agent]: https://github.com/TooTallNate/node-pac-proxy-agent
-[socks-proxy-agent]: https://github.com/TooTallNate/node-socks-proxy-agent
-[http.Agent]: https://nodejs.org/api/http.html#http_class_http_agent
diff --git a/includes/search/node_modules/agent-base/dist/src/index.d.ts b/includes/search/node_modules/agent-base/dist/src/index.d.ts
deleted file mode 100644
index bc4ab74..0000000
--- a/includes/search/node_modules/agent-base/dist/src/index.d.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-/// <reference types="node" />
-import net from 'net';
-import http from 'http';
-import https from 'https';
-import { Duplex } from 'stream';
-import { EventEmitter } from 'events';
-declare function createAgent(opts?: createAgent.AgentOptions): createAgent.Agent;
-declare function createAgent(callback: createAgent.AgentCallback, opts?: createAgent.AgentOptions): createAgent.Agent;
-declare namespace createAgent {
- interface ClientRequest extends http.ClientRequest {
- _last?: boolean;
- _hadError?: boolean;
- method: string;
- }
- interface AgentRequestOptions {
- host?: string;
- path?: string;
- port: number;
- }
- interface HttpRequestOptions extends AgentRequestOptions, Omit<http.RequestOptions, keyof AgentRequestOptions> {
- secureEndpoint: false;
- }
- interface HttpsRequestOptions extends AgentRequestOptions, Omit<https.RequestOptions, keyof AgentRequestOptions> {
- secureEndpoint: true;
- }
- type RequestOptions = HttpRequestOptions | HttpsRequestOptions;
- type AgentLike = Pick<createAgent.Agent, 'addRequest'> | http.Agent;
- type AgentCallbackReturn = Duplex | AgentLike;
- type AgentCallbackCallback = (err?: Error | null, socket?: createAgent.AgentCallbackReturn) => void;
- type AgentCallbackPromise = (req: createAgent.ClientRequest, opts: createAgent.RequestOptions) => createAgent.AgentCallbackReturn | Promise<createAgent.AgentCallbackReturn>;
- type AgentCallback = typeof Agent.prototype.callback;
- type AgentOptions = {
- timeout?: number;
- };
- /**
- * Base `http.Agent` implementation.
- * No pooling/keep-alive is implemented by default.
- *
- * @param {Function} callback
- * @api public
- */
- class Agent extends EventEmitter {
- timeout: number | null;
- maxFreeSockets: number;
- maxTotalSockets: number;
- maxSockets: number;
- sockets: {
- [key: string]: net.Socket[];
- };
- freeSockets: {
- [key: string]: net.Socket[];
- };
- requests: {
- [key: string]: http.IncomingMessage[];
- };
- options: https.AgentOptions;
- private promisifiedCallback?;
- private explicitDefaultPort?;
- private explicitProtocol?;
- constructor(callback?: createAgent.AgentCallback | createAgent.AgentOptions, _opts?: createAgent.AgentOptions);
- get defaultPort(): number;
- set defaultPort(v: number);
- get protocol(): string;
- set protocol(v: string);
- callback(req: createAgent.ClientRequest, opts: createAgent.RequestOptions, fn: createAgent.AgentCallbackCallback): void;
- callback(req: createAgent.ClientRequest, opts: createAgent.RequestOptions): createAgent.AgentCallbackReturn | Promise<createAgent.AgentCallbackReturn>;
- /**
- * Called by node-core's "_http_client.js" module when creating
- * a new HTTP request with this Agent instance.
- *
- * @api public
- */
- addRequest(req: ClientRequest, _opts: RequestOptions): void;
- freeSocket(socket: net.Socket, opts: AgentOptions): void;
- destroy(): void;
- }
-}
-export = createAgent;
diff --git a/includes/search/node_modules/agent-base/dist/src/index.js b/includes/search/node_modules/agent-base/dist/src/index.js
deleted file mode 100644
index bfd9e22..0000000
--- a/includes/search/node_modules/agent-base/dist/src/index.js
+++ /dev/null
@@ -1,203 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-const events_1 = require("events");
-const debug_1 = __importDefault(require("debug"));
-const promisify_1 = __importDefault(require("./promisify"));
-const debug = debug_1.default('agent-base');
-function isAgent(v) {
- return Boolean(v) && typeof v.addRequest === 'function';
-}
-function isSecureEndpoint() {
- const { stack } = new Error();
- if (typeof stack !== 'string')
- return false;
- return stack.split('\n').some(l => l.indexOf('(https.js:') !== -1 || l.indexOf('node:https:') !== -1);
-}
-function createAgent(callback, opts) {
- return new createAgent.Agent(callback, opts);
-}
-(function (createAgent) {
- /**
- * Base `http.Agent` implementation.
- * No pooling/keep-alive is implemented by default.
- *
- * @param {Function} callback
- * @api public
- */
- class Agent extends events_1.EventEmitter {
- constructor(callback, _opts) {
- super();
- let opts = _opts;
- if (typeof callback === 'function') {
- this.callback = callback;
- }
- else if (callback) {
- opts = callback;
- }
- // Timeout for the socket to be returned from the callback
- this.timeout = null;
- if (opts && typeof opts.timeout === 'number') {
- this.timeout = opts.timeout;
- }
- // These aren't actually used by `agent-base`, but are required
- // for the TypeScript definition files in `@types/node` :/
- this.maxFreeSockets = 1;
- this.maxSockets = 1;
- this.maxTotalSockets = Infinity;
- this.sockets = {};
- this.freeSockets = {};
- this.requests = {};
- this.options = {};
- }
- get defaultPort() {
- if (typeof this.explicitDefaultPort === 'number') {
- return this.explicitDefaultPort;
- }
- return isSecureEndpoint() ? 443 : 80;
- }
- set defaultPort(v) {
- this.explicitDefaultPort = v;
- }
- get protocol() {
- if (typeof this.explicitProtocol === 'string') {
- return this.explicitProtocol;
- }
- return isSecureEndpoint() ? 'https:' : 'http:';
- }
- set protocol(v) {
- this.explicitProtocol = v;
- }
- callback(req, opts, fn) {
- throw new Error('"agent-base" has no default implementation, you must subclass and override `callback()`');
- }
- /**
- * Called by node-core's "_http_client.js" module when creating
- * a new HTTP request with this Agent instance.
- *
- * @api public
- */
- addRequest(req, _opts) {
- const opts = Object.assign({}, _opts);
- if (typeof opts.secureEndpoint !== 'boolean') {
- opts.secureEndpoint = isSecureEndpoint();
- }
- if (opts.host == null) {
- opts.host = 'localhost';
- }
- if (opts.port == null) {
- opts.port = opts.secureEndpoint ? 443 : 80;
- }
- if (opts.protocol == null) {
- opts.protocol = opts.secureEndpoint ? 'https:' : 'http:';
- }
- if (opts.host && opts.path) {
- // If both a `host` and `path` are specified then it's most
- // likely the result of a `url.parse()` call... we need to
- // remove the `path` portion so that `net.connect()` doesn't
- // attempt to open that as a unix socket file.
- delete opts.path;
- }
- delete opts.agent;
- delete opts.hostname;
- delete opts._defaultAgent;
- delete opts.defaultPort;
- delete opts.createConnection;
- // Hint to use "Connection: close"
- // XXX: non-documented `http` module API :(
- req._last = true;
- req.shouldKeepAlive = false;
- let timedOut = false;
- let timeoutId = null;
- const timeoutMs = opts.timeout || this.timeout;
- const onerror = (err) => {
- if (req._hadError)
- return;
- req.emit('error', err);
- // For Safety. Some additional errors might fire later on
- // and we need to make sure we don't double-fire the error event.
- req._hadError = true;
- };
- const ontimeout = () => {
- timeoutId = null;
- timedOut = true;
- const err = new Error(`A "socket" was not created for HTTP request before ${timeoutMs}ms`);
- err.code = 'ETIMEOUT';
- onerror(err);
- };
- const callbackError = (err) => {
- if (timedOut)
- return;
- if (timeoutId !== null) {
- clearTimeout(timeoutId);
- timeoutId = null;
- }
- onerror(err);
- };
- const onsocket = (socket) => {
- if (timedOut)
- return;
- if (timeoutId != null) {
- clearTimeout(timeoutId);
- timeoutId = null;
- }
- if (isAgent(socket)) {
- // `socket` is actually an `http.Agent` instance, so
- // relinquish responsibility for this `req` to the Agent
- // from here on
- debug('Callback returned another Agent instance %o', socket.constructor.name);
- socket.addRequest(req, opts);
- return;
- }
- if (socket) {
- socket.once('free', () => {
- this.freeSocket(socket, opts);
- });
- req.onSocket(socket);
- return;
- }
- const err = new Error(`no Duplex stream was returned to agent-base for \`${req.method} ${req.path}\``);
- onerror(err);
- };
- if (typeof this.callback !== 'function') {
- onerror(new Error('`callback` is not defined'));
- return;
- }
- if (!this.promisifiedCallback) {
- if (this.callback.length >= 3) {
- debug('Converting legacy callback function to promise');
- this.promisifiedCallback = promisify_1.default(this.callback);
- }
- else {
- this.promisifiedCallback = this.callback;
- }
- }
- if (typeof timeoutMs === 'number' && timeoutMs > 0) {
- timeoutId = setTimeout(ontimeout, timeoutMs);
- }
- if ('port' in opts && typeof opts.port !== 'number') {
- opts.port = Number(opts.port);
- }
- try {
- debug('Resolving socket for %o request: %o', opts.protocol, `${req.method} ${req.path}`);
- Promise.resolve(this.promisifiedCallback(req, opts)).then(onsocket, callbackError);
- }
- catch (err) {
- Promise.reject(err).catch(callbackError);
- }
- }
- freeSocket(socket, opts) {
- debug('Freeing socket %o %o', socket.constructor.name, opts);
- socket.destroy();
- }
- destroy() {
- debug('Destroying agent %o', this.constructor.name);
- }
- }
- createAgent.Agent = Agent;
- // So that `instanceof` works correctly
- createAgent.prototype = createAgent.Agent.prototype;
-})(createAgent || (createAgent = {}));
-module.exports = createAgent;
-//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/agent-base/dist/src/index.js.map b/includes/search/node_modules/agent-base/dist/src/index.js.map
deleted file mode 100644
index bd118ab..0000000
--- a/includes/search/node_modules/agent-base/dist/src/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/agent-base/dist/src/promisify.d.ts b/includes/search/node_modules/agent-base/dist/src/promisify.d.ts
deleted file mode 100644
index 0268869..0000000
--- a/includes/search/node_modules/agent-base/dist/src/promisify.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { ClientRequest, RequestOptions, AgentCallbackCallback, AgentCallbackPromise } from './index';
-declare type LegacyCallback = (req: ClientRequest, opts: RequestOptions, fn: AgentCallbackCallback) => void;
-export default function promisify(fn: LegacyCallback): AgentCallbackPromise;
-export {};
diff --git a/includes/search/node_modules/agent-base/dist/src/promisify.js b/includes/search/node_modules/agent-base/dist/src/promisify.js
deleted file mode 100644
index b2f6132..0000000
--- a/includes/search/node_modules/agent-base/dist/src/promisify.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-function promisify(fn) {
- return function (req, opts) {
- return new Promise((resolve, reject) => {
- fn.call(this, req, opts, (err, rtn) => {
- if (err) {
- reject(err);
- }
- else {
- resolve(rtn);
- }
- });
- });
- };
-}
-exports.default = promisify;
-//# sourceMappingURL=promisify.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/agent-base/dist/src/promisify.js.map b/includes/search/node_modules/agent-base/dist/src/promisify.js.map
deleted file mode 100644
index 4bff9bf..0000000
--- a/includes/search/node_modules/agent-base/dist/src/promisify.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"promisify.js","sourceRoot":"","sources":["../../src/promisify.ts"],"names":[],"mappings":";;AAeA,SAAwB,SAAS,CAAC,EAAkB;IACnD,OAAO,UAAsB,GAAkB,EAAE,IAAoB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,EAAE,CAAC,IAAI,CACN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,CAAC,GAA6B,EAAE,GAAyB,EAAE,EAAE;gBAC5D,IAAI,GAAG,EAAE;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;iBACZ;qBAAM;oBACN,OAAO,CAAC,GAAG,CAAC,CAAC;iBACb;YACF,CAAC,CACD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAjBD,4BAiBC"} \ No newline at end of file
diff --git a/includes/search/node_modules/agent-base/package.json b/includes/search/node_modules/agent-base/package.json
deleted file mode 100644
index fadce3a..0000000
--- a/includes/search/node_modules/agent-base/package.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "name": "agent-base",
- "version": "6.0.2",
- "description": "Turn a function into an `http.Agent` instance",
- "main": "dist/src/index",
- "typings": "dist/src/index",
- "files": [
- "dist/src",
- "src"
- ],
- "scripts": {
- "prebuild": "rimraf dist",
- "build": "tsc",
- "postbuild": "cpy --parents src test '!**/*.ts' dist",
- "test": "mocha --reporter spec dist/test/*.js",
- "test-lint": "eslint src --ext .js,.ts",
- "prepublishOnly": "npm run build"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/node-agent-base.git"
- },
- "keywords": [
- "http",
- "agent",
- "base",
- "barebones",
- "https"
- ],
- "author": "Nathan Rajlich <nathan@tootallnate.net> (http://n8.io/)",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/TooTallNate/node-agent-base/issues"
- },
- "dependencies": {
- "debug": "4"
- },
- "devDependencies": {
- "@types/debug": "4",
- "@types/mocha": "^5.2.7",
- "@types/node": "^14.0.20",
- "@types/semver": "^7.1.0",
- "@types/ws": "^6.0.3",
- "@typescript-eslint/eslint-plugin": "1.6.0",
- "@typescript-eslint/parser": "1.1.0",
- "async-listen": "^1.2.0",
- "cpy-cli": "^2.0.0",
- "eslint": "5.16.0",
- "eslint-config-airbnb": "17.1.0",
- "eslint-config-prettier": "4.1.0",
- "eslint-import-resolver-typescript": "1.1.1",
- "eslint-plugin-import": "2.16.0",
- "eslint-plugin-jsx-a11y": "6.2.1",
- "eslint-plugin-react": "7.12.4",
- "mocha": "^6.2.0",
- "rimraf": "^3.0.0",
- "semver": "^7.1.2",
- "typescript": "^3.5.3",
- "ws": "^3.0.0"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
-}
diff --git a/includes/search/node_modules/agent-base/src/index.ts b/includes/search/node_modules/agent-base/src/index.ts
deleted file mode 100644
index a47ccd4..0000000
--- a/includes/search/node_modules/agent-base/src/index.ts
+++ /dev/null
@@ -1,345 +0,0 @@
-import net from 'net';
-import http from 'http';
-import https from 'https';
-import { Duplex } from 'stream';
-import { EventEmitter } from 'events';
-import createDebug from 'debug';
-import promisify from './promisify';
-
-const debug = createDebug('agent-base');
-
-function isAgent(v: any): v is createAgent.AgentLike {
- return Boolean(v) && typeof v.addRequest === 'function';
-}
-
-function isSecureEndpoint(): boolean {
- const { stack } = new Error();
- if (typeof stack !== 'string') return false;
- return stack.split('\n').some(l => l.indexOf('(https.js:') !== -1 || l.indexOf('node:https:') !== -1);
-}
-
-function createAgent(opts?: createAgent.AgentOptions): createAgent.Agent;
-function createAgent(
- callback: createAgent.AgentCallback,
- opts?: createAgent.AgentOptions
-): createAgent.Agent;
-function createAgent(
- callback?: createAgent.AgentCallback | createAgent.AgentOptions,
- opts?: createAgent.AgentOptions
-) {
- return new createAgent.Agent(callback, opts);
-}
-
-namespace createAgent {
- export interface ClientRequest extends http.ClientRequest {
- _last?: boolean;
- _hadError?: boolean;
- method: string;
- }
-
- export interface AgentRequestOptions {
- host?: string;
- path?: string;
- // `port` on `http.RequestOptions` can be a string or undefined,
- // but `net.TcpNetConnectOpts` expects only a number
- port: number;
- }
-
- export interface HttpRequestOptions
- extends AgentRequestOptions,
- Omit<http.RequestOptions, keyof AgentRequestOptions> {
- secureEndpoint: false;
- }
-
- export interface HttpsRequestOptions
- extends AgentRequestOptions,
- Omit<https.RequestOptions, keyof AgentRequestOptions> {
- secureEndpoint: true;
- }
-
- export type RequestOptions = HttpRequestOptions | HttpsRequestOptions;
-
- export type AgentLike = Pick<createAgent.Agent, 'addRequest'> | http.Agent;
-
- export type AgentCallbackReturn = Duplex | AgentLike;
-
- export type AgentCallbackCallback = (
- err?: Error | null,
- socket?: createAgent.AgentCallbackReturn
- ) => void;
-
- export type AgentCallbackPromise = (
- req: createAgent.ClientRequest,
- opts: createAgent.RequestOptions
- ) =>
- | createAgent.AgentCallbackReturn
- | Promise<createAgent.AgentCallbackReturn>;
-
- export type AgentCallback = typeof Agent.prototype.callback;
-
- export type AgentOptions = {
- timeout?: number;
- };
-
- /**
- * Base `http.Agent` implementation.
- * No pooling/keep-alive is implemented by default.
- *
- * @param {Function} callback
- * @api public
- */
- export class Agent extends EventEmitter {
- public timeout: number | null;
- public maxFreeSockets: number;
- public maxTotalSockets: number;
- public maxSockets: number;
- public sockets: {
- [key: string]: net.Socket[];
- };
- public freeSockets: {
- [key: string]: net.Socket[];
- };
- public requests: {
- [key: string]: http.IncomingMessage[];
- };
- public options: https.AgentOptions;
- private promisifiedCallback?: createAgent.AgentCallbackPromise;
- private explicitDefaultPort?: number;
- private explicitProtocol?: string;
-
- constructor(
- callback?: createAgent.AgentCallback | createAgent.AgentOptions,
- _opts?: createAgent.AgentOptions
- ) {
- super();
-
- let opts = _opts;
- if (typeof callback === 'function') {
- this.callback = callback;
- } else if (callback) {
- opts = callback;
- }
-
- // Timeout for the socket to be returned from the callback
- this.timeout = null;
- if (opts && typeof opts.timeout === 'number') {
- this.timeout = opts.timeout;
- }
-
- // These aren't actually used by `agent-base`, but are required
- // for the TypeScript definition files in `@types/node` :/
- this.maxFreeSockets = 1;
- this.maxSockets = 1;
- this.maxTotalSockets = Infinity;
- this.sockets = {};
- this.freeSockets = {};
- this.requests = {};
- this.options = {};
- }
-
- get defaultPort(): number {
- if (typeof this.explicitDefaultPort === 'number') {
- return this.explicitDefaultPort;
- }
- return isSecureEndpoint() ? 443 : 80;
- }
-
- set defaultPort(v: number) {
- this.explicitDefaultPort = v;
- }
-
- get protocol(): string {
- if (typeof this.explicitProtocol === 'string') {
- return this.explicitProtocol;
- }
- return isSecureEndpoint() ? 'https:' : 'http:';
- }
-
- set protocol(v: string) {
- this.explicitProtocol = v;
- }
-
- callback(
- req: createAgent.ClientRequest,
- opts: createAgent.RequestOptions,
- fn: createAgent.AgentCallbackCallback
- ): void;
- callback(
- req: createAgent.ClientRequest,
- opts: createAgent.RequestOptions
- ):
- | createAgent.AgentCallbackReturn
- | Promise<createAgent.AgentCallbackReturn>;
- callback(
- req: createAgent.ClientRequest,
- opts: createAgent.AgentOptions,
- fn?: createAgent.AgentCallbackCallback
- ):
- | createAgent.AgentCallbackReturn
- | Promise<createAgent.AgentCallbackReturn>
- | void {
- throw new Error(
- '"agent-base" has no default implementation, you must subclass and override `callback()`'
- );
- }
-
- /**
- * Called by node-core's "_http_client.js" module when creating
- * a new HTTP request with this Agent instance.
- *
- * @api public
- */
- addRequest(req: ClientRequest, _opts: RequestOptions): void {
- const opts: RequestOptions = { ..._opts };
-
- if (typeof opts.secureEndpoint !== 'boolean') {
- opts.secureEndpoint = isSecureEndpoint();
- }
-
- if (opts.host == null) {
- opts.host = 'localhost';
- }
-
- if (opts.port == null) {
- opts.port = opts.secureEndpoint ? 443 : 80;
- }
-
- if (opts.protocol == null) {
- opts.protocol = opts.secureEndpoint ? 'https:' : 'http:';
- }
-
- if (opts.host && opts.path) {
- // If both a `host` and `path` are specified then it's most
- // likely the result of a `url.parse()` call... we need to
- // remove the `path` portion so that `net.connect()` doesn't
- // attempt to open that as a unix socket file.
- delete opts.path;
- }
-
- delete opts.agent;
- delete opts.hostname;
- delete opts._defaultAgent;
- delete opts.defaultPort;
- delete opts.createConnection;
-
- // Hint to use "Connection: close"
- // XXX: non-documented `http` module API :(
- req._last = true;
- req.shouldKeepAlive = false;
-
- let timedOut = false;
- let timeoutId: ReturnType<typeof setTimeout> | null = null;
- const timeoutMs = opts.timeout || this.timeout;
-
- const onerror = (err: NodeJS.ErrnoException) => {
- if (req._hadError) return;
- req.emit('error', err);
- // For Safety. Some additional errors might fire later on
- // and we need to make sure we don't double-fire the error event.
- req._hadError = true;
- };
-
- const ontimeout = () => {
- timeoutId = null;
- timedOut = true;
- const err: NodeJS.ErrnoException = new Error(
- `A "socket" was not created for HTTP request before ${timeoutMs}ms`
- );
- err.code = 'ETIMEOUT';
- onerror(err);
- };
-
- const callbackError = (err: NodeJS.ErrnoException) => {
- if (timedOut) return;
- if (timeoutId !== null) {
- clearTimeout(timeoutId);
- timeoutId = null;
- }
- onerror(err);
- };
-
- const onsocket = (socket: AgentCallbackReturn) => {
- if (timedOut) return;
- if (timeoutId != null) {
- clearTimeout(timeoutId);
- timeoutId = null;
- }
-
- if (isAgent(socket)) {
- // `socket` is actually an `http.Agent` instance, so
- // relinquish responsibility for this `req` to the Agent
- // from here on
- debug(
- 'Callback returned another Agent instance %o',
- socket.constructor.name
- );
- (socket as createAgent.Agent).addRequest(req, opts);
- return;
- }
-
- if (socket) {
- socket.once('free', () => {
- this.freeSocket(socket as net.Socket, opts);
- });
- req.onSocket(socket as net.Socket);
- return;
- }
-
- const err = new Error(
- `no Duplex stream was returned to agent-base for \`${req.method} ${req.path}\``
- );
- onerror(err);
- };
-
- if (typeof this.callback !== 'function') {
- onerror(new Error('`callback` is not defined'));
- return;
- }
-
- if (!this.promisifiedCallback) {
- if (this.callback.length >= 3) {
- debug('Converting legacy callback function to promise');
- this.promisifiedCallback = promisify(this.callback);
- } else {
- this.promisifiedCallback = this.callback;
- }
- }
-
- if (typeof timeoutMs === 'number' && timeoutMs > 0) {
- timeoutId = setTimeout(ontimeout, timeoutMs);
- }
-
- if ('port' in opts && typeof opts.port !== 'number') {
- opts.port = Number(opts.port);
- }
-
- try {
- debug(
- 'Resolving socket for %o request: %o',
- opts.protocol,
- `${req.method} ${req.path}`
- );
- Promise.resolve(this.promisifiedCallback(req, opts)).then(
- onsocket,
- callbackError
- );
- } catch (err) {
- Promise.reject(err).catch(callbackError);
- }
- }
-
- freeSocket(socket: net.Socket, opts: AgentOptions) {
- debug('Freeing socket %o %o', socket.constructor.name, opts);
- socket.destroy();
- }
-
- destroy() {
- debug('Destroying agent %o', this.constructor.name);
- }
- }
-
- // So that `instanceof` works correctly
- createAgent.prototype = createAgent.Agent.prototype;
-}
-
-export = createAgent;
diff --git a/includes/search/node_modules/agent-base/src/promisify.ts b/includes/search/node_modules/agent-base/src/promisify.ts
deleted file mode 100644
index 60cc662..0000000
--- a/includes/search/node_modules/agent-base/src/promisify.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import {
- Agent,
- ClientRequest,
- RequestOptions,
- AgentCallbackCallback,
- AgentCallbackPromise,
- AgentCallbackReturn
-} from './index';
-
-type LegacyCallback = (
- req: ClientRequest,
- opts: RequestOptions,
- fn: AgentCallbackCallback
-) => void;
-
-export default function promisify(fn: LegacyCallback): AgentCallbackPromise {
- return function(this: Agent, req: ClientRequest, opts: RequestOptions) {
- return new Promise((resolve, reject) => {
- fn.call(
- this,
- req,
- opts,
- (err: Error | null | undefined, rtn?: AgentCallbackReturn) => {
- if (err) {
- reject(err);
- } else {
- resolve(rtn);
- }
- }
- );
- });
- };
-}
diff --git a/includes/search/node_modules/ansi-regex/index.d.ts b/includes/search/node_modules/ansi-regex/index.d.ts
deleted file mode 100644
index 2dbf6af..0000000
--- a/includes/search/node_modules/ansi-regex/index.d.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-declare namespace ansiRegex {
- interface Options {
- /**
- Match only the first ANSI escape.
-
- @default false
- */
- onlyFirst: boolean;
- }
-}
-
-/**
-Regular expression for matching ANSI escape codes.
-
-@example
-```
-import ansiRegex = require('ansi-regex');
-
-ansiRegex().test('\u001B[4mcake\u001B[0m');
-//=> true
-
-ansiRegex().test('cake');
-//=> false
-
-'\u001B[4mcake\u001B[0m'.match(ansiRegex());
-//=> ['\u001B[4m', '\u001B[0m']
-
-'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
-//=> ['\u001B[4m']
-
-'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
-//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
-```
-*/
-declare function ansiRegex(options?: ansiRegex.Options): RegExp;
-
-export = ansiRegex;
diff --git a/includes/search/node_modules/ansi-regex/index.js b/includes/search/node_modules/ansi-regex/index.js
deleted file mode 100644
index 616ff83..0000000
--- a/includes/search/node_modules/ansi-regex/index.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-module.exports = ({onlyFirst = false} = {}) => {
- const pattern = [
- '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
- '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
- ].join('|');
-
- return new RegExp(pattern, onlyFirst ? undefined : 'g');
-};
diff --git a/includes/search/node_modules/ansi-regex/license b/includes/search/node_modules/ansi-regex/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/ansi-regex/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/ansi-regex/package.json b/includes/search/node_modules/ansi-regex/package.json
deleted file mode 100644
index 017f531..0000000
--- a/includes/search/node_modules/ansi-regex/package.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "name": "ansi-regex",
- "version": "5.0.1",
- "description": "Regular expression for matching ANSI escape codes",
- "license": "MIT",
- "repository": "chalk/ansi-regex",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd",
- "view-supported": "node fixtures/view-codes.js"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "command-line",
- "text",
- "regex",
- "regexp",
- "re",
- "match",
- "test",
- "find",
- "pattern"
- ],
- "devDependencies": {
- "ava": "^2.4.0",
- "tsd": "^0.9.0",
- "xo": "^0.25.3"
- }
-}
diff --git a/includes/search/node_modules/ansi-regex/readme.md b/includes/search/node_modules/ansi-regex/readme.md
deleted file mode 100644
index 4d848bc..0000000
--- a/includes/search/node_modules/ansi-regex/readme.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# ansi-regex
-
-> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
-
-
-## Install
-
-```
-$ npm install ansi-regex
-```
-
-
-## Usage
-
-```js
-const ansiRegex = require('ansi-regex');
-
-ansiRegex().test('\u001B[4mcake\u001B[0m');
-//=> true
-
-ansiRegex().test('cake');
-//=> false
-
-'\u001B[4mcake\u001B[0m'.match(ansiRegex());
-//=> ['\u001B[4m', '\u001B[0m']
-
-'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
-//=> ['\u001B[4m']
-
-'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
-//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
-```
-
-
-## API
-
-### ansiRegex(options?)
-
-Returns a regex for matching ANSI escape codes.
-
-#### options
-
-Type: `object`
-
-##### onlyFirst
-
-Type: `boolean`<br>
-Default: `false` *(Matches any ANSI escape codes in a string)*
-
-Match only the first ANSI escape.
-
-
-## FAQ
-
-### Why do you test for codes not in the ECMA 48 standard?
-
-Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. We test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them.
-
-On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
-
-
-## Maintainers
-
-- [Sindre Sorhus](https://github.com/sindresorhus)
-- [Josh Junon](https://github.com/qix-)
-
-
----
-
-<div align="center">
- <b>
- <a href="https://tidelift.com/subscription/pkg/npm-ansi-regex?utm_source=npm-ansi-regex&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
- </b>
- <br>
- <sub>
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
- </sub>
-</div>
diff --git a/includes/search/node_modules/ansi-styles/index.d.ts b/includes/search/node_modules/ansi-styles/index.d.ts
deleted file mode 100644
index 44a907e..0000000
--- a/includes/search/node_modules/ansi-styles/index.d.ts
+++ /dev/null
@@ -1,345 +0,0 @@
-declare type CSSColor =
- | 'aliceblue'
- | 'antiquewhite'
- | 'aqua'
- | 'aquamarine'
- | 'azure'
- | 'beige'
- | 'bisque'
- | 'black'
- | 'blanchedalmond'
- | 'blue'
- | 'blueviolet'
- | 'brown'
- | 'burlywood'
- | 'cadetblue'
- | 'chartreuse'
- | 'chocolate'
- | 'coral'
- | 'cornflowerblue'
- | 'cornsilk'
- | 'crimson'
- | 'cyan'
- | 'darkblue'
- | 'darkcyan'
- | 'darkgoldenrod'
- | 'darkgray'
- | 'darkgreen'
- | 'darkgrey'
- | 'darkkhaki'
- | 'darkmagenta'
- | 'darkolivegreen'
- | 'darkorange'
- | 'darkorchid'
- | 'darkred'
- | 'darksalmon'
- | 'darkseagreen'
- | 'darkslateblue'
- | 'darkslategray'
- | 'darkslategrey'
- | 'darkturquoise'
- | 'darkviolet'
- | 'deeppink'
- | 'deepskyblue'
- | 'dimgray'
- | 'dimgrey'
- | 'dodgerblue'
- | 'firebrick'
- | 'floralwhite'
- | 'forestgreen'
- | 'fuchsia'
- | 'gainsboro'
- | 'ghostwhite'
- | 'gold'
- | 'goldenrod'
- | 'gray'
- | 'green'
- | 'greenyellow'
- | 'grey'
- | 'honeydew'
- | 'hotpink'
- | 'indianred'
- | 'indigo'
- | 'ivory'
- | 'khaki'
- | 'lavender'
- | 'lavenderblush'
- | 'lawngreen'
- | 'lemonchiffon'
- | 'lightblue'
- | 'lightcoral'
- | 'lightcyan'
- | 'lightgoldenrodyellow'
- | 'lightgray'
- | 'lightgreen'
- | 'lightgrey'
- | 'lightpink'
- | 'lightsalmon'
- | 'lightseagreen'
- | 'lightskyblue'
- | 'lightslategray'
- | 'lightslategrey'
- | 'lightsteelblue'
- | 'lightyellow'
- | 'lime'
- | 'limegreen'
- | 'linen'
- | 'magenta'
- | 'maroon'
- | 'mediumaquamarine'
- | 'mediumblue'
- | 'mediumorchid'
- | 'mediumpurple'
- | 'mediumseagreen'
- | 'mediumslateblue'
- | 'mediumspringgreen'
- | 'mediumturquoise'
- | 'mediumvioletred'
- | 'midnightblue'
- | 'mintcream'
- | 'mistyrose'
- | 'moccasin'
- | 'navajowhite'
- | 'navy'
- | 'oldlace'
- | 'olive'
- | 'olivedrab'
- | 'orange'
- | 'orangered'
- | 'orchid'
- | 'palegoldenrod'
- | 'palegreen'
- | 'paleturquoise'
- | 'palevioletred'
- | 'papayawhip'
- | 'peachpuff'
- | 'peru'
- | 'pink'
- | 'plum'
- | 'powderblue'
- | 'purple'
- | 'rebeccapurple'
- | 'red'
- | 'rosybrown'
- | 'royalblue'
- | 'saddlebrown'
- | 'salmon'
- | 'sandybrown'
- | 'seagreen'
- | 'seashell'
- | 'sienna'
- | 'silver'
- | 'skyblue'
- | 'slateblue'
- | 'slategray'
- | 'slategrey'
- | 'snow'
- | 'springgreen'
- | 'steelblue'
- | 'tan'
- | 'teal'
- | 'thistle'
- | 'tomato'
- | 'turquoise'
- | 'violet'
- | 'wheat'
- | 'white'
- | 'whitesmoke'
- | 'yellow'
- | 'yellowgreen';
-
-declare namespace ansiStyles {
- interface ColorConvert {
- /**
- The RGB color space.
-
- @param red - (`0`-`255`)
- @param green - (`0`-`255`)
- @param blue - (`0`-`255`)
- */
- rgb(red: number, green: number, blue: number): string;
-
- /**
- The RGB HEX color space.
-
- @param hex - A hexadecimal string containing RGB data.
- */
- hex(hex: string): string;
-
- /**
- @param keyword - A CSS color name.
- */
- keyword(keyword: CSSColor): string;
-
- /**
- The HSL color space.
-
- @param hue - (`0`-`360`)
- @param saturation - (`0`-`100`)
- @param lightness - (`0`-`100`)
- */
- hsl(hue: number, saturation: number, lightness: number): string;
-
- /**
- The HSV color space.
-
- @param hue - (`0`-`360`)
- @param saturation - (`0`-`100`)
- @param value - (`0`-`100`)
- */
- hsv(hue: number, saturation: number, value: number): string;
-
- /**
- The HSV color space.
-
- @param hue - (`0`-`360`)
- @param whiteness - (`0`-`100`)
- @param blackness - (`0`-`100`)
- */
- hwb(hue: number, whiteness: number, blackness: number): string;
-
- /**
- Use a [4-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4-bit) to set text color.
- */
- ansi(ansi: number): string;
-
- /**
- Use an [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set text color.
- */
- ansi256(ansi: number): string;
- }
-
- interface CSPair {
- /**
- The ANSI terminal control sequence for starting this style.
- */
- readonly open: string;
-
- /**
- The ANSI terminal control sequence for ending this style.
- */
- readonly close: string;
- }
-
- interface ColorBase {
- readonly ansi: ColorConvert;
- readonly ansi256: ColorConvert;
- readonly ansi16m: ColorConvert;
-
- /**
- The ANSI terminal control sequence for ending this color.
- */
- readonly close: string;
- }
-
- interface Modifier {
- /**
- Resets the current color chain.
- */
- readonly reset: CSPair;
-
- /**
- Make text bold.
- */
- readonly bold: CSPair;
-
- /**
- Emitting only a small amount of light.
- */
- readonly dim: CSPair;
-
- /**
- Make text italic. (Not widely supported)
- */
- readonly italic: CSPair;
-
- /**
- Make text underline. (Not widely supported)
- */
- readonly underline: CSPair;
-
- /**
- Inverse background and foreground colors.
- */
- readonly inverse: CSPair;
-
- /**
- Prints the text, but makes it invisible.
- */
- readonly hidden: CSPair;
-
- /**
- Puts a horizontal line through the center of the text. (Not widely supported)
- */
- readonly strikethrough: CSPair;
- }
-
- interface ForegroundColor {
- readonly black: CSPair;
- readonly red: CSPair;
- readonly green: CSPair;
- readonly yellow: CSPair;
- readonly blue: CSPair;
- readonly cyan: CSPair;
- readonly magenta: CSPair;
- readonly white: CSPair;
-
- /**
- Alias for `blackBright`.
- */
- readonly gray: CSPair;
-
- /**
- Alias for `blackBright`.
- */
- readonly grey: CSPair;
-
- readonly blackBright: CSPair;
- readonly redBright: CSPair;
- readonly greenBright: CSPair;
- readonly yellowBright: CSPair;
- readonly blueBright: CSPair;
- readonly cyanBright: CSPair;
- readonly magentaBright: CSPair;
- readonly whiteBright: CSPair;
- }
-
- interface BackgroundColor {
- readonly bgBlack: CSPair;
- readonly bgRed: CSPair;
- readonly bgGreen: CSPair;
- readonly bgYellow: CSPair;
- readonly bgBlue: CSPair;
- readonly bgCyan: CSPair;
- readonly bgMagenta: CSPair;
- readonly bgWhite: CSPair;
-
- /**
- Alias for `bgBlackBright`.
- */
- readonly bgGray: CSPair;
-
- /**
- Alias for `bgBlackBright`.
- */
- readonly bgGrey: CSPair;
-
- readonly bgBlackBright: CSPair;
- readonly bgRedBright: CSPair;
- readonly bgGreenBright: CSPair;
- readonly bgYellowBright: CSPair;
- readonly bgBlueBright: CSPair;
- readonly bgCyanBright: CSPair;
- readonly bgMagentaBright: CSPair;
- readonly bgWhiteBright: CSPair;
- }
-}
-
-declare const ansiStyles: {
- readonly modifier: ansiStyles.Modifier;
- readonly color: ansiStyles.ForegroundColor & ansiStyles.ColorBase;
- readonly bgColor: ansiStyles.BackgroundColor & ansiStyles.ColorBase;
- readonly codes: ReadonlyMap<number, number>;
-} & ansiStyles.BackgroundColor & ansiStyles.ForegroundColor & ansiStyles.Modifier;
-
-export = ansiStyles;
diff --git a/includes/search/node_modules/ansi-styles/index.js b/includes/search/node_modules/ansi-styles/index.js
deleted file mode 100644
index 5d82581..0000000
--- a/includes/search/node_modules/ansi-styles/index.js
+++ /dev/null
@@ -1,163 +0,0 @@
-'use strict';
-
-const wrapAnsi16 = (fn, offset) => (...args) => {
- const code = fn(...args);
- return `\u001B[${code + offset}m`;
-};
-
-const wrapAnsi256 = (fn, offset) => (...args) => {
- const code = fn(...args);
- return `\u001B[${38 + offset};5;${code}m`;
-};
-
-const wrapAnsi16m = (fn, offset) => (...args) => {
- const rgb = fn(...args);
- return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
-};
-
-const ansi2ansi = n => n;
-const rgb2rgb = (r, g, b) => [r, g, b];
-
-const setLazyProperty = (object, property, get) => {
- Object.defineProperty(object, property, {
- get: () => {
- const value = get();
-
- Object.defineProperty(object, property, {
- value,
- enumerable: true,
- configurable: true
- });
-
- return value;
- },
- enumerable: true,
- configurable: true
- });
-};
-
-/** @type {typeof import('color-convert')} */
-let colorConvert;
-const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {
- if (colorConvert === undefined) {
- colorConvert = require('color-convert');
- }
-
- const offset = isBackground ? 10 : 0;
- const styles = {};
-
- for (const [sourceSpace, suite] of Object.entries(colorConvert)) {
- const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace;
- if (sourceSpace === targetSpace) {
- styles[name] = wrap(identity, offset);
- } else if (typeof suite === 'object') {
- styles[name] = wrap(suite[targetSpace], offset);
- }
- }
-
- return styles;
-};
-
-function assembleStyles() {
- const codes = new Map();
- const styles = {
- modifier: {
- reset: [0, 0],
- // 21 isn't widely supported and 22 does the same thing
- bold: [1, 22],
- dim: [2, 22],
- italic: [3, 23],
- underline: [4, 24],
- inverse: [7, 27],
- hidden: [8, 28],
- strikethrough: [9, 29]
- },
- color: {
- black: [30, 39],
- red: [31, 39],
- green: [32, 39],
- yellow: [33, 39],
- blue: [34, 39],
- magenta: [35, 39],
- cyan: [36, 39],
- white: [37, 39],
-
- // Bright color
- blackBright: [90, 39],
- redBright: [91, 39],
- greenBright: [92, 39],
- yellowBright: [93, 39],
- blueBright: [94, 39],
- magentaBright: [95, 39],
- cyanBright: [96, 39],
- whiteBright: [97, 39]
- },
- bgColor: {
- bgBlack: [40, 49],
- bgRed: [41, 49],
- bgGreen: [42, 49],
- bgYellow: [43, 49],
- bgBlue: [44, 49],
- bgMagenta: [45, 49],
- bgCyan: [46, 49],
- bgWhite: [47, 49],
-
- // Bright color
- bgBlackBright: [100, 49],
- bgRedBright: [101, 49],
- bgGreenBright: [102, 49],
- bgYellowBright: [103, 49],
- bgBlueBright: [104, 49],
- bgMagentaBright: [105, 49],
- bgCyanBright: [106, 49],
- bgWhiteBright: [107, 49]
- }
- };
-
- // Alias bright black as gray (and grey)
- styles.color.gray = styles.color.blackBright;
- styles.bgColor.bgGray = styles.bgColor.bgBlackBright;
- styles.color.grey = styles.color.blackBright;
- styles.bgColor.bgGrey = styles.bgColor.bgBlackBright;
-
- for (const [groupName, group] of Object.entries(styles)) {
- for (const [styleName, style] of Object.entries(group)) {
- styles[styleName] = {
- open: `\u001B[${style[0]}m`,
- close: `\u001B[${style[1]}m`
- };
-
- group[styleName] = styles[styleName];
-
- codes.set(style[0], style[1]);
- }
-
- Object.defineProperty(styles, groupName, {
- value: group,
- enumerable: false
- });
- }
-
- Object.defineProperty(styles, 'codes', {
- value: codes,
- enumerable: false
- });
-
- styles.color.close = '\u001B[39m';
- styles.bgColor.close = '\u001B[49m';
-
- setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false));
- setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false));
- setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false));
- setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true));
- setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true));
- setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true));
-
- return styles;
-}
-
-// Make the export immutable
-Object.defineProperty(module, 'exports', {
- enumerable: true,
- get: assembleStyles
-});
diff --git a/includes/search/node_modules/ansi-styles/license b/includes/search/node_modules/ansi-styles/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/ansi-styles/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/ansi-styles/package.json b/includes/search/node_modules/ansi-styles/package.json
deleted file mode 100644
index 7539328..0000000
--- a/includes/search/node_modules/ansi-styles/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "ansi-styles",
- "version": "4.3.0",
- "description": "ANSI escape codes for styling strings in the terminal",
- "license": "MIT",
- "repository": "chalk/ansi-styles",
- "funding": "https://github.com/chalk/ansi-styles?sponsor=1",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd",
- "screenshot": "svg-term --command='node screenshot' --out=screenshot.svg --padding=3 --width=55 --height=3 --at=1000 --no-cursor"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "log",
- "logging",
- "command-line",
- "text"
- ],
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "devDependencies": {
- "@types/color-convert": "^1.9.0",
- "ava": "^2.3.0",
- "svg-term-cli": "^2.1.1",
- "tsd": "^0.11.0",
- "xo": "^0.25.3"
- }
-}
diff --git a/includes/search/node_modules/ansi-styles/readme.md b/includes/search/node_modules/ansi-styles/readme.md
deleted file mode 100644
index 24883de..0000000
--- a/includes/search/node_modules/ansi-styles/readme.md
+++ /dev/null
@@ -1,152 +0,0 @@
-# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles)
-
-> [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal
-
-You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings.
-
-<img src="screenshot.svg" width="900">
-
-## Install
-
-```
-$ npm install ansi-styles
-```
-
-## Usage
-
-```js
-const style = require('ansi-styles');
-
-console.log(`${style.green.open}Hello world!${style.green.close}`);
-
-
-// Color conversion between 16/256/truecolor
-// NOTE: If conversion goes to 16 colors or 256 colors, the original color
-// may be degraded to fit that color palette. This means terminals
-// that do not support 16 million colors will best-match the
-// original color.
-console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close);
-console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close);
-console.log(style.color.ansi16m.hex('#abcdef') + 'Hello world!' + style.color.close);
-```
-
-## API
-
-Each style has an `open` and `close` property.
-
-## Styles
-
-### Modifiers
-
-- `reset`
-- `bold`
-- `dim`
-- `italic` *(Not widely supported)*
-- `underline`
-- `inverse`
-- `hidden`
-- `strikethrough` *(Not widely supported)*
-
-### Colors
-
-- `black`
-- `red`
-- `green`
-- `yellow`
-- `blue`
-- `magenta`
-- `cyan`
-- `white`
-- `blackBright` (alias: `gray`, `grey`)
-- `redBright`
-- `greenBright`
-- `yellowBright`
-- `blueBright`
-- `magentaBright`
-- `cyanBright`
-- `whiteBright`
-
-### Background colors
-
-- `bgBlack`
-- `bgRed`
-- `bgGreen`
-- `bgYellow`
-- `bgBlue`
-- `bgMagenta`
-- `bgCyan`
-- `bgWhite`
-- `bgBlackBright` (alias: `bgGray`, `bgGrey`)
-- `bgRedBright`
-- `bgGreenBright`
-- `bgYellowBright`
-- `bgBlueBright`
-- `bgMagentaBright`
-- `bgCyanBright`
-- `bgWhiteBright`
-
-## Advanced usage
-
-By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module.
-
-- `style.modifier`
-- `style.color`
-- `style.bgColor`
-
-###### Example
-
-```js
-console.log(style.color.green.open);
-```
-
-Raw escape codes (i.e. without the CSI escape prefix `\u001B[` and render mode postfix `m`) are available under `style.codes`, which returns a `Map` with the open codes as keys and close codes as values.
-
-###### Example
-
-```js
-console.log(style.codes.get(36));
-//=> 39
-```
-
-## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728)
-
-`ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors.
-
-The following color spaces from `color-convert` are supported:
-
-- `rgb`
-- `hex`
-- `keyword`
-- `hsl`
-- `hsv`
-- `hwb`
-- `ansi`
-- `ansi256`
-
-To use these, call the associated conversion function with the intended output, for example:
-
-```js
-style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code
-style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code
-
-style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code
-style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code
-
-style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code
-style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code
-```
-
-## Related
-
-- [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal
-
-## Maintainers
-
-- [Sindre Sorhus](https://github.com/sindresorhus)
-- [Josh Junon](https://github.com/qix-)
-
-## For enterprise
-
-Available as part of the Tidelift Subscription.
-
-The maintainers of `ansi-styles` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-ansi-styles?utm_source=npm-ansi-styles&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
diff --git a/includes/search/node_modules/array-union/index.d.ts b/includes/search/node_modules/array-union/index.d.ts
deleted file mode 100644
index 379fc1d..0000000
--- a/includes/search/node_modules/array-union/index.d.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
-Create an array of unique values, in order, from the input arrays.
-
-@example
-```
-import arrayUnion = require('array-union');
-
-arrayUnion([1, 1, 2, 3], [2, 3]);
-//=> [1, 2, 3]
-
-arrayUnion(['foo', 'foo', 'bar']);
-//=> ['foo', 'bar']
-
-arrayUnion(['🐱', '🦄', '🐻'], ['🦄', '🌈']);
-//=> ['🐱', '🦄', '🐻', '🌈']
-
-arrayUnion(['🐱', '🦄'], ['🐻', '🦄'], ['🐶', '🌈', '🌈']);
-//=> ['🐱', '🦄', '🐻', '🐶', '🌈']
-```
-*/
-declare function arrayUnion<ArgumentsType extends readonly unknown[]>(
- ...arguments: readonly ArgumentsType[]
-): ArgumentsType;
-
-export = arrayUnion;
diff --git a/includes/search/node_modules/array-union/index.js b/includes/search/node_modules/array-union/index.js
deleted file mode 100644
index 7f85d3d..0000000
--- a/includes/search/node_modules/array-union/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-'use strict';
-
-module.exports = (...arguments_) => {
- return [...new Set([].concat(...arguments_))];
-};
diff --git a/includes/search/node_modules/array-union/license b/includes/search/node_modules/array-union/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/array-union/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/array-union/package.json b/includes/search/node_modules/array-union/package.json
deleted file mode 100644
index 5ad5afa..0000000
--- a/includes/search/node_modules/array-union/package.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "array-union",
- "version": "2.1.0",
- "description": "Create an array of unique values, in order, from the input arrays",
- "license": "MIT",
- "repository": "sindresorhus/array-union",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "array",
- "set",
- "uniq",
- "unique",
- "duplicate",
- "remove",
- "union",
- "combine",
- "merge"
- ],
- "devDependencies": {
- "ava": "^1.4.1",
- "tsd": "^0.7.2",
- "xo": "^0.24.0"
- }
-}
diff --git a/includes/search/node_modules/array-union/readme.md b/includes/search/node_modules/array-union/readme.md
deleted file mode 100644
index 2474a1a..0000000
--- a/includes/search/node_modules/array-union/readme.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# array-union [![Build Status](https://travis-ci.org/sindresorhus/array-union.svg?branch=master)](https://travis-ci.org/sindresorhus/array-union)
-
-> Create an array of unique values, in order, from the input arrays
-
-
-## Install
-
-```
-$ npm install array-union
-```
-
-
-## Usage
-
-```js
-const arrayUnion = require('array-union');
-
-arrayUnion([1, 1, 2, 3], [2, 3]);
-//=> [1, 2, 3]
-
-arrayUnion(['foo', 'foo', 'bar']);
-//=> ['foo', 'bar']
-
-arrayUnion(['🐱', '🦄', '🐻'], ['🦄', '🌈']);
-//=> ['🐱', '🦄', '🐻', '🌈']
-
-arrayUnion(['🐱', '🦄'], ['🐻', '🦄'], ['🐶', '🌈', '🌈']);
-//=> ['🐱', '🦄', '🐻', '🐶', '🌈']
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/includes/search/node_modules/at-least-node/LICENSE b/includes/search/node_modules/at-least-node/LICENSE
deleted file mode 100644
index 5e29ccc..0000000
--- a/includes/search/node_modules/at-least-node/LICENSE
+++ /dev/null
@@ -1,6 +0,0 @@
-The ISC License
-Copyright (c) 2020 Ryan Zimmerman <opensrc@ryanzim.com>
-
-Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/at-least-node/README.md b/includes/search/node_modules/at-least-node/README.md
deleted file mode 100644
index fd6e514..0000000
--- a/includes/search/node_modules/at-least-node/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# at-least-node
-
-![npm](https://img.shields.io/npm/v/at-least-node)
-![node](https://img.shields.io/node/v/at-least-node)
-![NPM](https://img.shields.io/npm/l/at-least-node)
-
-Sometimes you need to check if you're on _at least_ a given Node.js version, but you don't want to pull in the whole [`semver`](https://www.npmjs.com/package/semver) kitchen sink. That's what `at-least-node` is for.
-
-| Package | Size |
-| --------------- | ------- |
-| `at-least-node` | 2.6 kB |
-| `semver` | 75.5 kB |
-
-```js
-const atLeastNode = require('at-least-node')
-atLeastNode('10.12.0')
-// -> true on Node 10.12.0+, false on anything below that
-```
-
-When passing in a version string:
-
-- You cannot include a leading `v` (i.e. `v10.12.0`)
-- You cannot omit sections (i.e. `10.12`)
-- You cannot use pre-releases (i.e. `1.0.0-beta`)
-- There is no input validation, if you make a mistake, the resulting behavior is undefined
diff --git a/includes/search/node_modules/at-least-node/index.js b/includes/search/node_modules/at-least-node/index.js
deleted file mode 100644
index 974a2fa..0000000
--- a/includes/search/node_modules/at-least-node/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = r => {
- const n = process.versions.node.split('.').map(x => parseInt(x, 10))
- r = r.split('.').map(x => parseInt(x, 10))
- return n[0] > r[0] || (n[0] === r[0] && (n[1] > r[1] || (n[1] === r[1] && n[2] >= r[2])))
-}
diff --git a/includes/search/node_modules/at-least-node/package.json b/includes/search/node_modules/at-least-node/package.json
deleted file mode 100644
index 2c13641..0000000
--- a/includes/search/node_modules/at-least-node/package.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "at-least-node",
- "version": "1.0.0",
- "description": "Lightweight Node.js version sniffing/comparison",
- "keywords": [
- "semver",
- "feature"
- ],
- "homepage": "https://github.com/RyanZim/at-least-node#readme",
- "bugs": {
- "url": "https://github.com/RyanZim/at-least-node/issues"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/RyanZim/at-least-node.git"
- },
- "license": "ISC",
- "author": "Ryan Zimmerman <opensrc@ryanzim.com>",
- "main": "index.js",
- "files": [],
- "scripts": {
- "test": "ava"
- },
- "devDependencies": {
- "ava": "^3.1.0",
- "rewire": "^4.0.1",
- "semver": "^7.1.2"
- },
- "engines": {
- "node": ">= 4.0.0"
- }
-}
diff --git a/includes/search/node_modules/base64-js/LICENSE b/includes/search/node_modules/base64-js/LICENSE
deleted file mode 100644
index 6d52b8a..0000000
--- a/includes/search/node_modules/base64-js/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Jameson Little
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/base64-js/README.md b/includes/search/node_modules/base64-js/README.md
deleted file mode 100644
index b42a48f..0000000
--- a/includes/search/node_modules/base64-js/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-base64-js
-=========
-
-`base64-js` does basic base64 encoding/decoding in pure JS.
-
-[![build status](https://secure.travis-ci.org/beatgammit/base64-js.png)](http://travis-ci.org/beatgammit/base64-js)
-
-Many browsers already have base64 encoding/decoding functionality, but it is for text data, not all-purpose binary data.
-
-Sometimes encoding/decoding binary data in the browser is useful, and that is what this module does.
-
-## install
-
-With [npm](https://npmjs.org) do:
-
-`npm install base64-js` and `var base64js = require('base64-js')`
-
-For use in web browsers do:
-
-`<script src="base64js.min.js"></script>`
-
-[Get supported base64-js with the Tidelift Subscription](https://tidelift.com/subscription/pkg/npm-base64-js?utm_source=npm-base64-js&utm_medium=referral&utm_campaign=readme)
-
-## methods
-
-`base64js` has three exposed functions, `byteLength`, `toByteArray` and `fromByteArray`, which both take a single argument.
-
-* `byteLength` - Takes a base64 string and returns length of byte array
-* `toByteArray` - Takes a base64 string and returns a byte array
-* `fromByteArray` - Takes a byte array and returns a base64 string
-
-## license
-
-MIT
diff --git a/includes/search/node_modules/base64-js/base64js.min.js b/includes/search/node_modules/base64-js/base64js.min.js
deleted file mode 100644
index 908ac83..0000000
--- a/includes/search/node_modules/base64-js/base64js.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"==typeof window?"undefined"==typeof global?"undefined"==typeof self?this:self:global:window,b.base64js=a()}})(function(){return function(){function b(d,e,g){function a(j,i){if(!e[j]){if(!d[j]){var f="function"==typeof require&&require;if(!i&&f)return f(j,!0);if(h)return h(j,!0);var c=new Error("Cannot find module '"+j+"'");throw c.code="MODULE_NOT_FOUND",c}var k=e[j]={exports:{}};d[j][0].call(k.exports,function(b){var c=d[j][1][b];return a(c||b)},k,k.exports,b,d,e,g)}return e[j].exports}for(var h="function"==typeof require&&require,c=0;c<g.length;c++)a(g[c]);return a}return b}()({"/":[function(a,b,c){'use strict';function d(a){var b=a.length;if(0<b%4)throw new Error("Invalid string. Length must be a multiple of 4");var c=a.indexOf("=");-1===c&&(c=b);var d=c===b?0:4-c%4;return[c,d]}function e(a,b,c){return 3*(b+c)/4-c}function f(a){var b,c,f=d(a),g=f[0],h=f[1],j=new m(e(a,g,h)),k=0,n=0<h?g-4:g;for(c=0;c<n;c+=4)b=l[a.charCodeAt(c)]<<18|l[a.charCodeAt(c+1)]<<12|l[a.charCodeAt(c+2)]<<6|l[a.charCodeAt(c+3)],j[k++]=255&b>>16,j[k++]=255&b>>8,j[k++]=255&b;return 2===h&&(b=l[a.charCodeAt(c)]<<2|l[a.charCodeAt(c+1)]>>4,j[k++]=255&b),1===h&&(b=l[a.charCodeAt(c)]<<10|l[a.charCodeAt(c+1)]<<4|l[a.charCodeAt(c+2)]>>2,j[k++]=255&b>>8,j[k++]=255&b),j}function g(a){return k[63&a>>18]+k[63&a>>12]+k[63&a>>6]+k[63&a]}function h(a,b,c){for(var d,e=[],f=b;f<c;f+=3)d=(16711680&a[f]<<16)+(65280&a[f+1]<<8)+(255&a[f+2]),e.push(g(d));return e.join("")}function j(a){for(var b,c=a.length,d=c%3,e=[],f=16383,g=0,j=c-d;g<j;g+=f)e.push(h(a,g,g+f>j?j:g+f));return 1===d?(b=a[c-1],e.push(k[b>>2]+k[63&b<<4]+"==")):2===d&&(b=(a[c-2]<<8)+a[c-1],e.push(k[b>>10]+k[63&b>>4]+k[63&b<<2]+"=")),e.join("")}c.byteLength=function(a){var b=d(a),c=b[0],e=b[1];return 3*(c+e)/4-e},c.toByteArray=f,c.fromByteArray=j;for(var k=[],l=[],m="undefined"==typeof Uint8Array?Array:Uint8Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,p=n.length;o<p;++o)k[o]=n[o],l[n.charCodeAt(o)]=o;l[45]=62,l[95]=63},{}]},{},[])("/")}); \ No newline at end of file
diff --git a/includes/search/node_modules/base64-js/index.d.ts b/includes/search/node_modules/base64-js/index.d.ts
deleted file mode 100644
index 7d9fa1d..0000000
--- a/includes/search/node_modules/base64-js/index.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export function byteLength(b64: string): number;
-export function toByteArray(b64: string): Uint8Array;
-export function fromByteArray(uint8: Uint8Array): string;
diff --git a/includes/search/node_modules/base64-js/index.js b/includes/search/node_modules/base64-js/index.js
deleted file mode 100644
index 0599f3e..0000000
--- a/includes/search/node_modules/base64-js/index.js
+++ /dev/null
@@ -1,150 +0,0 @@
-'use strict'
-
-exports.byteLength = byteLength
-exports.toByteArray = toByteArray
-exports.fromByteArray = fromByteArray
-
-var lookup = []
-var revLookup = []
-var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array
-
-var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
-for (var i = 0, len = code.length; i < len; ++i) {
- lookup[i] = code[i]
- revLookup[code.charCodeAt(i)] = i
-}
-
-// Support decoding URL-safe base64 strings, as Node.js does.
-// See: https://en.wikipedia.org/wiki/Base64#URL_applications
-revLookup['-'.charCodeAt(0)] = 62
-revLookup['_'.charCodeAt(0)] = 63
-
-function getLens (b64) {
- var len = b64.length
-
- if (len % 4 > 0) {
- throw new Error('Invalid string. Length must be a multiple of 4')
- }
-
- // Trim off extra bytes after placeholder bytes are found
- // See: https://github.com/beatgammit/base64-js/issues/42
- var validLen = b64.indexOf('=')
- if (validLen === -1) validLen = len
-
- var placeHoldersLen = validLen === len
- ? 0
- : 4 - (validLen % 4)
-
- return [validLen, placeHoldersLen]
-}
-
-// base64 is 4/3 + up to two characters of the original data
-function byteLength (b64) {
- var lens = getLens(b64)
- var validLen = lens[0]
- var placeHoldersLen = lens[1]
- return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
-}
-
-function _byteLength (b64, validLen, placeHoldersLen) {
- return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
-}
-
-function toByteArray (b64) {
- var tmp
- var lens = getLens(b64)
- var validLen = lens[0]
- var placeHoldersLen = lens[1]
-
- var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))
-
- var curByte = 0
-
- // if there are placeholders, only get up to the last complete 4 chars
- var len = placeHoldersLen > 0
- ? validLen - 4
- : validLen
-
- var i
- for (i = 0; i < len; i += 4) {
- tmp =
- (revLookup[b64.charCodeAt(i)] << 18) |
- (revLookup[b64.charCodeAt(i + 1)] << 12) |
- (revLookup[b64.charCodeAt(i + 2)] << 6) |
- revLookup[b64.charCodeAt(i + 3)]
- arr[curByte++] = (tmp >> 16) & 0xFF
- arr[curByte++] = (tmp >> 8) & 0xFF
- arr[curByte++] = tmp & 0xFF
- }
-
- if (placeHoldersLen === 2) {
- tmp =
- (revLookup[b64.charCodeAt(i)] << 2) |
- (revLookup[b64.charCodeAt(i + 1)] >> 4)
- arr[curByte++] = tmp & 0xFF
- }
-
- if (placeHoldersLen === 1) {
- tmp =
- (revLookup[b64.charCodeAt(i)] << 10) |
- (revLookup[b64.charCodeAt(i + 1)] << 4) |
- (revLookup[b64.charCodeAt(i + 2)] >> 2)
- arr[curByte++] = (tmp >> 8) & 0xFF
- arr[curByte++] = tmp & 0xFF
- }
-
- return arr
-}
-
-function tripletToBase64 (num) {
- return lookup[num >> 18 & 0x3F] +
- lookup[num >> 12 & 0x3F] +
- lookup[num >> 6 & 0x3F] +
- lookup[num & 0x3F]
-}
-
-function encodeChunk (uint8, start, end) {
- var tmp
- var output = []
- for (var i = start; i < end; i += 3) {
- tmp =
- ((uint8[i] << 16) & 0xFF0000) +
- ((uint8[i + 1] << 8) & 0xFF00) +
- (uint8[i + 2] & 0xFF)
- output.push(tripletToBase64(tmp))
- }
- return output.join('')
-}
-
-function fromByteArray (uint8) {
- var tmp
- var len = uint8.length
- var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
- var parts = []
- var maxChunkLength = 16383 // must be multiple of 3
-
- // go through the array every three bytes, we'll deal with trailing stuff later
- for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
- parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))
- }
-
- // pad the end with zeros, but make sure to not forget the extra bytes
- if (extraBytes === 1) {
- tmp = uint8[len - 1]
- parts.push(
- lookup[tmp >> 2] +
- lookup[(tmp << 4) & 0x3F] +
- '=='
- )
- } else if (extraBytes === 2) {
- tmp = (uint8[len - 2] << 8) + uint8[len - 1]
- parts.push(
- lookup[tmp >> 10] +
- lookup[(tmp >> 4) & 0x3F] +
- lookup[(tmp << 2) & 0x3F] +
- '='
- )
- }
-
- return parts.join('')
-}
diff --git a/includes/search/node_modules/base64-js/package.json b/includes/search/node_modules/base64-js/package.json
deleted file mode 100644
index c3972e3..0000000
--- a/includes/search/node_modules/base64-js/package.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "name": "base64-js",
- "description": "Base64 encoding/decoding in pure JS",
- "version": "1.5.1",
- "author": "T. Jameson Little <t.jameson.little@gmail.com>",
- "typings": "index.d.ts",
- "bugs": {
- "url": "https://github.com/beatgammit/base64-js/issues"
- },
- "devDependencies": {
- "babel-minify": "^0.5.1",
- "benchmark": "^2.1.4",
- "browserify": "^16.3.0",
- "standard": "*",
- "tape": "4.x"
- },
- "homepage": "https://github.com/beatgammit/base64-js",
- "keywords": [
- "base64"
- ],
- "license": "MIT",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/beatgammit/base64-js.git"
- },
- "scripts": {
- "build": "browserify -s base64js -r ./ | minify > base64js.min.js",
- "lint": "standard",
- "test": "npm run lint && npm run unit",
- "unit": "tape test/*.js"
- },
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
-}
diff --git a/includes/search/node_modules/bl/.travis.yml b/includes/search/node_modules/bl/.travis.yml
deleted file mode 100644
index 016eaf5..0000000
--- a/includes/search/node_modules/bl/.travis.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-sudo: false
-arch:
- - amd64
- - ppc64le
-language: node_js
-node_js:
- - '6'
- - '8'
- - '10'
- - '12'
- - '14'
- - '15'
- - lts/*
-notifications:
- email:
- - rod@vagg.org
- - matteo.collina@gmail.com
diff --git a/includes/search/node_modules/bl/BufferList.js b/includes/search/node_modules/bl/BufferList.js
deleted file mode 100644
index 471ee77..0000000
--- a/includes/search/node_modules/bl/BufferList.js
+++ /dev/null
@@ -1,396 +0,0 @@
-'use strict'
-
-const { Buffer } = require('buffer')
-const symbol = Symbol.for('BufferList')
-
-function BufferList (buf) {
- if (!(this instanceof BufferList)) {
- return new BufferList(buf)
- }
-
- BufferList._init.call(this, buf)
-}
-
-BufferList._init = function _init (buf) {
- Object.defineProperty(this, symbol, { value: true })
-
- this._bufs = []
- this.length = 0
-
- if (buf) {
- this.append(buf)
- }
-}
-
-BufferList.prototype._new = function _new (buf) {
- return new BufferList(buf)
-}
-
-BufferList.prototype._offset = function _offset (offset) {
- if (offset === 0) {
- return [0, 0]
- }
-
- let tot = 0
-
- for (let i = 0; i < this._bufs.length; i++) {
- const _t = tot + this._bufs[i].length
- if (offset < _t || i === this._bufs.length - 1) {
- return [i, offset - tot]
- }
- tot = _t
- }
-}
-
-BufferList.prototype._reverseOffset = function (blOffset) {
- const bufferId = blOffset[0]
- let offset = blOffset[1]
-
- for (let i = 0; i < bufferId; i++) {
- offset += this._bufs[i].length
- }
-
- return offset
-}
-
-BufferList.prototype.get = function get (index) {
- if (index > this.length || index < 0) {
- return undefined
- }
-
- const offset = this._offset(index)
-
- return this._bufs[offset[0]][offset[1]]
-}
-
-BufferList.prototype.slice = function slice (start, end) {
- if (typeof start === 'number' && start < 0) {
- start += this.length
- }
-
- if (typeof end === 'number' && end < 0) {
- end += this.length
- }
-
- return this.copy(null, 0, start, end)
-}
-
-BufferList.prototype.copy = function copy (dst, dstStart, srcStart, srcEnd) {
- if (typeof srcStart !== 'number' || srcStart < 0) {
- srcStart = 0
- }
-
- if (typeof srcEnd !== 'number' || srcEnd > this.length) {
- srcEnd = this.length
- }
-
- if (srcStart >= this.length) {
- return dst || Buffer.alloc(0)
- }
-
- if (srcEnd <= 0) {
- return dst || Buffer.alloc(0)
- }
-
- const copy = !!dst
- const off = this._offset(srcStart)
- const len = srcEnd - srcStart
- let bytes = len
- let bufoff = (copy && dstStart) || 0
- let start = off[1]
-
- // copy/slice everything
- if (srcStart === 0 && srcEnd === this.length) {
- if (!copy) {
- // slice, but full concat if multiple buffers
- return this._bufs.length === 1
- ? this._bufs[0]
- : Buffer.concat(this._bufs, this.length)
- }
-
- // copy, need to copy individual buffers
- for (let i = 0; i < this._bufs.length; i++) {
- this._bufs[i].copy(dst, bufoff)
- bufoff += this._bufs[i].length
- }
-
- return dst
- }
-
- // easy, cheap case where it's a subset of one of the buffers
- if (bytes <= this._bufs[off[0]].length - start) {
- return copy
- ? this._bufs[off[0]].copy(dst, dstStart, start, start + bytes)
- : this._bufs[off[0]].slice(start, start + bytes)
- }
-
- if (!copy) {
- // a slice, we need something to copy in to
- dst = Buffer.allocUnsafe(len)
- }
-
- for (let i = off[0]; i < this._bufs.length; i++) {
- const l = this._bufs[i].length - start
-
- if (bytes > l) {
- this._bufs[i].copy(dst, bufoff, start)
- bufoff += l
- } else {
- this._bufs[i].copy(dst, bufoff, start, start + bytes)
- bufoff += l
- break
- }
-
- bytes -= l
-
- if (start) {
- start = 0
- }
- }
-
- // safeguard so that we don't return uninitialized memory
- if (dst.length > bufoff) return dst.slice(0, bufoff)
-
- return dst
-}
-
-BufferList.prototype.shallowSlice = function shallowSlice (start, end) {
- start = start || 0
- end = typeof end !== 'number' ? this.length : end
-
- if (start < 0) {
- start += this.length
- }
-
- if (end < 0) {
- end += this.length
- }
-
- if (start === end) {
- return this._new()
- }
-
- const startOffset = this._offset(start)
- const endOffset = this._offset(end)
- const buffers = this._bufs.slice(startOffset[0], endOffset[0] + 1)
-
- if (endOffset[1] === 0) {
- buffers.pop()
- } else {
- buffers[buffers.length - 1] = buffers[buffers.length - 1].slice(0, endOffset[1])
- }
-
- if (startOffset[1] !== 0) {
- buffers[0] = buffers[0].slice(startOffset[1])
- }
-
- return this._new(buffers)
-}
-
-BufferList.prototype.toString = function toString (encoding, start, end) {
- return this.slice(start, end).toString(encoding)
-}
-
-BufferList.prototype.consume = function consume (bytes) {
- // first, normalize the argument, in accordance with how Buffer does it
- bytes = Math.trunc(bytes)
- // do nothing if not a positive number
- if (Number.isNaN(bytes) || bytes <= 0) return this
-
- while (this._bufs.length) {
- if (bytes >= this._bufs[0].length) {
- bytes -= this._bufs[0].length
- this.length -= this._bufs[0].length
- this._bufs.shift()
- } else {
- this._bufs[0] = this._bufs[0].slice(bytes)
- this.length -= bytes
- break
- }
- }
-
- return this
-}
-
-BufferList.prototype.duplicate = function duplicate () {
- const copy = this._new()
-
- for (let i = 0; i < this._bufs.length; i++) {
- copy.append(this._bufs[i])
- }
-
- return copy
-}
-
-BufferList.prototype.append = function append (buf) {
- if (buf == null) {
- return this
- }
-
- if (buf.buffer) {
- // append a view of the underlying ArrayBuffer
- this._appendBuffer(Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength))
- } else if (Array.isArray(buf)) {
- for (let i = 0; i < buf.length; i++) {
- this.append(buf[i])
- }
- } else if (this._isBufferList(buf)) {
- // unwrap argument into individual BufferLists
- for (let i = 0; i < buf._bufs.length; i++) {
- this.append(buf._bufs[i])
- }
- } else {
- // coerce number arguments to strings, since Buffer(number) does
- // uninitialized memory allocation
- if (typeof buf === 'number') {
- buf = buf.toString()
- }
-
- this._appendBuffer(Buffer.from(buf))
- }
-
- return this
-}
-
-BufferList.prototype._appendBuffer = function appendBuffer (buf) {
- this._bufs.push(buf)
- this.length += buf.length
-}
-
-BufferList.prototype.indexOf = function (search, offset, encoding) {
- if (encoding === undefined && typeof offset === 'string') {
- encoding = offset
- offset = undefined
- }
-
- if (typeof search === 'function' || Array.isArray(search)) {
- throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.')
- } else if (typeof search === 'number') {
- search = Buffer.from([search])
- } else if (typeof search === 'string') {
- search = Buffer.from(search, encoding)
- } else if (this._isBufferList(search)) {
- search = search.slice()
- } else if (Array.isArray(search.buffer)) {
- search = Buffer.from(search.buffer, search.byteOffset, search.byteLength)
- } else if (!Buffer.isBuffer(search)) {
- search = Buffer.from(search)
- }
-
- offset = Number(offset || 0)
-
- if (isNaN(offset)) {
- offset = 0
- }
-
- if (offset < 0) {
- offset = this.length + offset
- }
-
- if (offset < 0) {
- offset = 0
- }
-
- if (search.length === 0) {
- return offset > this.length ? this.length : offset
- }
-
- const blOffset = this._offset(offset)
- let blIndex = blOffset[0] // index of which internal buffer we're working on
- let buffOffset = blOffset[1] // offset of the internal buffer we're working on
-
- // scan over each buffer
- for (; blIndex < this._bufs.length; blIndex++) {
- const buff = this._bufs[blIndex]
-
- while (buffOffset < buff.length) {
- const availableWindow = buff.length - buffOffset
-
- if (availableWindow >= search.length) {
- const nativeSearchResult = buff.indexOf(search, buffOffset)
-
- if (nativeSearchResult !== -1) {
- return this._reverseOffset([blIndex, nativeSearchResult])
- }
-
- buffOffset = buff.length - search.length + 1 // end of native search window
- } else {
- const revOffset = this._reverseOffset([blIndex, buffOffset])
-
- if (this._match(revOffset, search)) {
- return revOffset
- }
-
- buffOffset++
- }
- }
-
- buffOffset = 0
- }
-
- return -1
-}
-
-BufferList.prototype._match = function (offset, search) {
- if (this.length - offset < search.length) {
- return false
- }
-
- for (let searchOffset = 0; searchOffset < search.length; searchOffset++) {
- if (this.get(offset + searchOffset) !== search[searchOffset]) {
- return false
- }
- }
- return true
-}
-
-;(function () {
- const methods = {
- readDoubleBE: 8,
- readDoubleLE: 8,
- readFloatBE: 4,
- readFloatLE: 4,
- readInt32BE: 4,
- readInt32LE: 4,
- readUInt32BE: 4,
- readUInt32LE: 4,
- readInt16BE: 2,
- readInt16LE: 2,
- readUInt16BE: 2,
- readUInt16LE: 2,
- readInt8: 1,
- readUInt8: 1,
- readIntBE: null,
- readIntLE: null,
- readUIntBE: null,
- readUIntLE: null
- }
-
- for (const m in methods) {
- (function (m) {
- if (methods[m] === null) {
- BufferList.prototype[m] = function (offset, byteLength) {
- return this.slice(offset, offset + byteLength)[m](0, byteLength)
- }
- } else {
- BufferList.prototype[m] = function (offset = 0) {
- return this.slice(offset, offset + methods[m])[m](0)
- }
- }
- }(m))
- }
-}())
-
-// Used internally by the class and also as an indicator of this object being
-// a `BufferList`. It's not possible to use `instanceof BufferList` in a browser
-// environment because there could be multiple different copies of the
-// BufferList class and some `BufferList`s might be `BufferList`s.
-BufferList.prototype._isBufferList = function _isBufferList (b) {
- return b instanceof BufferList || BufferList.isBufferList(b)
-}
-
-BufferList.isBufferList = function isBufferList (b) {
- return b != null && b[symbol]
-}
-
-module.exports = BufferList
diff --git a/includes/search/node_modules/bl/LICENSE.md b/includes/search/node_modules/bl/LICENSE.md
deleted file mode 100644
index ecbe516..0000000
--- a/includes/search/node_modules/bl/LICENSE.md
+++ /dev/null
@@ -1,13 +0,0 @@
-The MIT License (MIT)
-=====================
-
-Copyright (c) 2013-2019 bl contributors
-----------------------------------
-
-*bl contributors listed at <https://github.com/rvagg/bl#contributors>*
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/bl/README.md b/includes/search/node_modules/bl/README.md
deleted file mode 100644
index 9680b1d..0000000
--- a/includes/search/node_modules/bl/README.md
+++ /dev/null
@@ -1,247 +0,0 @@
-# bl *(BufferList)*
-
-[![Build Status](https://api.travis-ci.com/rvagg/bl.svg?branch=master)](https://travis-ci.com/rvagg/bl/)
-
-**A Node.js Buffer list collector, reader and streamer thingy.**
-
-[![NPM](https://nodei.co/npm/bl.svg)](https://nodei.co/npm/bl/)
-
-**bl** is a storage object for collections of Node Buffers, exposing them with the main Buffer readable API. Also works as a duplex stream so you can collect buffers from a stream that emits them and emit buffers to a stream that consumes them!
-
-The original buffers are kept intact and copies are only done as necessary. Any reads that require the use of a single original buffer will return a slice of that buffer only (which references the same memory as the original buffer). Reads that span buffers perform concatenation as required and return the results transparently.
-
-```js
-const { BufferList } = require('bl')
-
-const bl = new BufferList()
-bl.append(Buffer.from('abcd'))
-bl.append(Buffer.from('efg'))
-bl.append('hi') // bl will also accept & convert Strings
-bl.append(Buffer.from('j'))
-bl.append(Buffer.from([ 0x3, 0x4 ]))
-
-console.log(bl.length) // 12
-
-console.log(bl.slice(0, 10).toString('ascii')) // 'abcdefghij'
-console.log(bl.slice(3, 10).toString('ascii')) // 'defghij'
-console.log(bl.slice(3, 6).toString('ascii')) // 'def'
-console.log(bl.slice(3, 8).toString('ascii')) // 'defgh'
-console.log(bl.slice(5, 10).toString('ascii')) // 'fghij'
-
-console.log(bl.indexOf('def')) // 3
-console.log(bl.indexOf('asdf')) // -1
-
-// or just use toString!
-console.log(bl.toString()) // 'abcdefghij\u0003\u0004'
-console.log(bl.toString('ascii', 3, 8)) // 'defgh'
-console.log(bl.toString('ascii', 5, 10)) // 'fghij'
-
-// other standard Buffer readables
-console.log(bl.readUInt16BE(10)) // 0x0304
-console.log(bl.readUInt16LE(10)) // 0x0403
-```
-
-Give it a callback in the constructor and use it just like **[concat-stream](https://github.com/maxogden/node-concat-stream)**:
-
-```js
-const { BufferListStream } = require('bl')
-const fs = require('fs')
-
-fs.createReadStream('README.md')
- .pipe(BufferListStream((err, data) => { // note 'new' isn't strictly required
- // `data` is a complete Buffer object containing the full data
- console.log(data.toString())
- }))
-```
-
-Note that when you use the *callback* method like this, the resulting `data` parameter is a concatenation of all `Buffer` objects in the list. If you want to avoid the overhead of this concatenation (in cases of extreme performance consciousness), then avoid the *callback* method and just listen to `'end'` instead, like a standard Stream.
-
-Or to fetch a URL using [hyperquest](https://github.com/substack/hyperquest) (should work with [request](http://github.com/mikeal/request) and even plain Node http too!):
-
-```js
-const hyperquest = require('hyperquest')
-const { BufferListStream } = require('bl')
-
-const url = 'https://raw.github.com/rvagg/bl/master/README.md'
-
-hyperquest(url).pipe(BufferListStream((err, data) => {
- console.log(data.toString())
-}))
-```
-
-Or, use it as a readable stream to recompose a list of Buffers to an output source:
-
-```js
-const { BufferListStream } = require('bl')
-const fs = require('fs')
-
-var bl = new BufferListStream()
-bl.append(Buffer.from('abcd'))
-bl.append(Buffer.from('efg'))
-bl.append(Buffer.from('hi'))
-bl.append(Buffer.from('j'))
-
-bl.pipe(fs.createWriteStream('gibberish.txt'))
-```
-
-## API
-
- * <a href="#ctor"><code><b>new BufferList([ buf ])</b></code></a>
- * <a href="#isBufferList"><code><b>BufferList.isBufferList(obj)</b></code></a>
- * <a href="#length"><code>bl.<b>length</b></code></a>
- * <a href="#append"><code>bl.<b>append(buffer)</b></code></a>
- * <a href="#get"><code>bl.<b>get(index)</b></code></a>
- * <a href="#indexOf"><code>bl.<b>indexOf(value[, byteOffset][, encoding])</b></code></a>
- * <a href="#slice"><code>bl.<b>slice([ start[, end ] ])</b></code></a>
- * <a href="#shallowSlice"><code>bl.<b>shallowSlice([ start[, end ] ])</b></code></a>
- * <a href="#copy"><code>bl.<b>copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ])</b></code></a>
- * <a href="#duplicate"><code>bl.<b>duplicate()</b></code></a>
- * <a href="#consume"><code>bl.<b>consume(bytes)</b></code></a>
- * <a href="#toString"><code>bl.<b>toString([encoding, [ start, [ end ]]])</b></code></a>
- * <a href="#readXX"><code>bl.<b>readDoubleBE()</b></code>, <code>bl.<b>readDoubleLE()</b></code>, <code>bl.<b>readFloatBE()</b></code>, <code>bl.<b>readFloatLE()</b></code>, <code>bl.<b>readInt32BE()</b></code>, <code>bl.<b>readInt32LE()</b></code>, <code>bl.<b>readUInt32BE()</b></code>, <code>bl.<b>readUInt32LE()</b></code>, <code>bl.<b>readInt16BE()</b></code>, <code>bl.<b>readInt16LE()</b></code>, <code>bl.<b>readUInt16BE()</b></code>, <code>bl.<b>readUInt16LE()</b></code>, <code>bl.<b>readInt8()</b></code>, <code>bl.<b>readUInt8()</b></code></a>
- * <a href="#ctorStream"><code><b>new BufferListStream([ callback ])</b></code></a>
-
---------------------------------------------------------
-<a name="ctor"></a>
-### new BufferList([ Buffer | Buffer array | BufferList | BufferList array | String ])
-No arguments are _required_ for the constructor, but you can initialise the list by passing in a single `Buffer` object or an array of `Buffer` objects.
-
-`new` is not strictly required, if you don't instantiate a new object, it will be done automatically for you so you can create a new instance simply with:
-
-```js
-const { BufferList } = require('bl')
-const bl = BufferList()
-
-// equivalent to:
-
-const { BufferList } = require('bl')
-const bl = new BufferList()
-```
-
---------------------------------------------------------
-<a name="isBufferList"></a>
-### BufferList.isBufferList(obj)
-Determines if the passed object is a `BufferList`. It will return `true` if the passed object is an instance of `BufferList` **or** `BufferListStream` and `false` otherwise.
-
-N.B. this won't return `true` for `BufferList` or `BufferListStream` instances created by versions of this library before this static method was added.
-
---------------------------------------------------------
-<a name="length"></a>
-### bl.length
-Get the length of the list in bytes. This is the sum of the lengths of all of the buffers contained in the list, minus any initial offset for a semi-consumed buffer at the beginning. Should accurately represent the total number of bytes that can be read from the list.
-
---------------------------------------------------------
-<a name="append"></a>
-### bl.append(Buffer | Buffer array | BufferList | BufferList array | String)
-`append(buffer)` adds an additional buffer or BufferList to the internal list. `this` is returned so it can be chained.
-
---------------------------------------------------------
-<a name="get"></a>
-### bl.get(index)
-`get()` will return the byte at the specified index.
-
---------------------------------------------------------
-<a name="indexOf"></a>
-### bl.indexOf(value[, byteOffset][, encoding])
-`get()` will return the byte at the specified index.
-`indexOf()` method returns the first index at which a given element can be found in the BufferList, or -1 if it is not present.
-
---------------------------------------------------------
-<a name="slice"></a>
-### bl.slice([ start, [ end ] ])
-`slice()` returns a new `Buffer` object containing the bytes within the range specified. Both `start` and `end` are optional and will default to the beginning and end of the list respectively.
-
-If the requested range spans a single internal buffer then a slice of that buffer will be returned which shares the original memory range of that Buffer. If the range spans multiple buffers then copy operations will likely occur to give you a uniform Buffer.
-
---------------------------------------------------------
-<a name="shallowSlice"></a>
-### bl.shallowSlice([ start, [ end ] ])
-`shallowSlice()` returns a new `BufferList` object containing the bytes within the range specified. Both `start` and `end` are optional and will default to the beginning and end of the list respectively.
-
-No copies will be performed. All buffers in the result share memory with the original list.
-
---------------------------------------------------------
-<a name="copy"></a>
-### bl.copy(dest, [ destStart, [ srcStart [, srcEnd ] ] ])
-`copy()` copies the content of the list in the `dest` buffer, starting from `destStart` and containing the bytes within the range specified with `srcStart` to `srcEnd`. `destStart`, `start` and `end` are optional and will default to the beginning of the `dest` buffer, and the beginning and end of the list respectively.
-
---------------------------------------------------------
-<a name="duplicate"></a>
-### bl.duplicate()
-`duplicate()` performs a **shallow-copy** of the list. The internal Buffers remains the same, so if you change the underlying Buffers, the change will be reflected in both the original and the duplicate. This method is needed if you want to call `consume()` or `pipe()` and still keep the original list.Example:
-
-```js
-var bl = new BufferListStream()
-
-bl.append('hello')
-bl.append(' world')
-bl.append('\n')
-
-bl.duplicate().pipe(process.stdout, { end: false })
-
-console.log(bl.toString())
-```
-
---------------------------------------------------------
-<a name="consume"></a>
-### bl.consume(bytes)
-`consume()` will shift bytes *off the start of the list*. The number of bytes consumed don't need to line up with the sizes of the internal Buffers&mdash;initial offsets will be calculated accordingly in order to give you a consistent view of the data.
-
---------------------------------------------------------
-<a name="toString"></a>
-### bl.toString([encoding, [ start, [ end ]]])
-`toString()` will return a string representation of the buffer. The optional `start` and `end` arguments are passed on to `slice()`, while the `encoding` is passed on to `toString()` of the resulting Buffer. See the [Buffer#toString()](http://nodejs.org/docs/latest/api/buffer.html#buffer_buf_tostring_encoding_start_end) documentation for more information.
-
---------------------------------------------------------
-<a name="readXX"></a>
-### bl.readDoubleBE(), bl.readDoubleLE(), bl.readFloatBE(), bl.readFloatLE(), bl.readInt32BE(), bl.readInt32LE(), bl.readUInt32BE(), bl.readUInt32LE(), bl.readInt16BE(), bl.readInt16LE(), bl.readUInt16BE(), bl.readUInt16LE(), bl.readInt8(), bl.readUInt8()
-
-All of the standard byte-reading methods of the `Buffer` interface are implemented and will operate across internal Buffer boundaries transparently.
-
-See the <b><code>[Buffer](http://nodejs.org/docs/latest/api/buffer.html)</code></b> documentation for how these work.
-
---------------------------------------------------------
-<a name="ctorStream"></a>
-### new BufferListStream([ callback | Buffer | Buffer array | BufferList | BufferList array | String ])
-**BufferListStream** is a Node **[Duplex Stream](http://nodejs.org/docs/latest/api/stream.html#stream_class_stream_duplex)**, so it can be read from and written to like a standard Node stream. You can also `pipe()` to and from a **BufferListStream** instance.
-
-The constructor takes an optional callback, if supplied, the callback will be called with an error argument followed by a reference to the **bl** instance, when `bl.end()` is called (i.e. from a piped stream). This is a convenient method of collecting the entire contents of a stream, particularly when the stream is *chunky*, such as a network stream.
-
-Normally, no arguments are required for the constructor, but you can initialise the list by passing in a single `Buffer` object or an array of `Buffer` object.
-
-`new` is not strictly required, if you don't instantiate a new object, it will be done automatically for you so you can create a new instance simply with:
-
-```js
-const { BufferListStream } = require('bl')
-const bl = BufferListStream()
-
-// equivalent to:
-
-const { BufferListStream } = require('bl')
-const bl = new BufferListStream()
-```
-
-N.B. For backwards compatibility reasons, `BufferListStream` is the **default** export when you `require('bl')`:
-
-```js
-const { BufferListStream } = require('bl')
-// equivalent to:
-const BufferListStream = require('bl')
-```
-
---------------------------------------------------------
-
-## Contributors
-
-**bl** is brought to you by the following hackers:
-
- * [Rod Vagg](https://github.com/rvagg)
- * [Matteo Collina](https://github.com/mcollina)
- * [Jarett Cruger](https://github.com/jcrugzz)
-
-<a name="license"></a>
-## License &amp; copyright
-
-Copyright (c) 2013-2019 bl contributors (listed above).
-
-bl is licensed under the MIT license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.
diff --git a/includes/search/node_modules/bl/bl.js b/includes/search/node_modules/bl/bl.js
deleted file mode 100644
index 40228f8..0000000
--- a/includes/search/node_modules/bl/bl.js
+++ /dev/null
@@ -1,84 +0,0 @@
-'use strict'
-
-const DuplexStream = require('readable-stream').Duplex
-const inherits = require('inherits')
-const BufferList = require('./BufferList')
-
-function BufferListStream (callback) {
- if (!(this instanceof BufferListStream)) {
- return new BufferListStream(callback)
- }
-
- if (typeof callback === 'function') {
- this._callback = callback
-
- const piper = function piper (err) {
- if (this._callback) {
- this._callback(err)
- this._callback = null
- }
- }.bind(this)
-
- this.on('pipe', function onPipe (src) {
- src.on('error', piper)
- })
- this.on('unpipe', function onUnpipe (src) {
- src.removeListener('error', piper)
- })
-
- callback = null
- }
-
- BufferList._init.call(this, callback)
- DuplexStream.call(this)
-}
-
-inherits(BufferListStream, DuplexStream)
-Object.assign(BufferListStream.prototype, BufferList.prototype)
-
-BufferListStream.prototype._new = function _new (callback) {
- return new BufferListStream(callback)
-}
-
-BufferListStream.prototype._write = function _write (buf, encoding, callback) {
- this._appendBuffer(buf)
-
- if (typeof callback === 'function') {
- callback()
- }
-}
-
-BufferListStream.prototype._read = function _read (size) {
- if (!this.length) {
- return this.push(null)
- }
-
- size = Math.min(size, this.length)
- this.push(this.slice(0, size))
- this.consume(size)
-}
-
-BufferListStream.prototype.end = function end (chunk) {
- DuplexStream.prototype.end.call(this, chunk)
-
- if (this._callback) {
- this._callback(null, this.slice())
- this._callback = null
- }
-}
-
-BufferListStream.prototype._destroy = function _destroy (err, cb) {
- this._bufs.length = 0
- this.length = 0
- cb(err)
-}
-
-BufferListStream.prototype._isBufferList = function _isBufferList (b) {
- return b instanceof BufferListStream || b instanceof BufferList || BufferListStream.isBufferList(b)
-}
-
-BufferListStream.isBufferList = BufferList.isBufferList
-
-module.exports = BufferListStream
-module.exports.BufferListStream = BufferListStream
-module.exports.BufferList = BufferList
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/CONTRIBUTING.md b/includes/search/node_modules/bl/node_modules/readable-stream/CONTRIBUTING.md
deleted file mode 100644
index f478d58..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/CONTRIBUTING.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Developer's Certificate of Origin 1.1
-
-By making a contribution to this project, I certify that:
-
-* (a) The contribution was created in whole or in part by me and I
- have the right to submit it under the open source license
- indicated in the file; or
-
-* (b) The contribution is based upon previous work that, to the best
- of my knowledge, is covered under an appropriate open source
- license and I have the right under that license to submit that
- work with modifications, whether created in whole or in part
- by me, under the same open source license (unless I am
- permitted to submit under a different license), as indicated
- in the file; or
-
-* (c) The contribution was provided directly to me by some other
- person who certified (a), (b) or (c) and I have not modified
- it.
-
-* (d) I understand and agree that this project and the contribution
- are public and that a record of the contribution (including all
- personal information I submit with it, including my sign-off) is
- maintained indefinitely and may be redistributed consistent with
- this project or the open source license(s) involved.
-
-## Moderation Policy
-
-The [Node.js Moderation Policy] applies to this WG.
-
-## Code of Conduct
-
-The [Node.js Code of Conduct][] applies to this WG.
-
-[Node.js Code of Conduct]:
-https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md
-[Node.js Moderation Policy]:
-https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/GOVERNANCE.md b/includes/search/node_modules/bl/node_modules/readable-stream/GOVERNANCE.md
deleted file mode 100644
index 16ffb93..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/GOVERNANCE.md
+++ /dev/null
@@ -1,136 +0,0 @@
-### Streams Working Group
-
-The Node.js Streams is jointly governed by a Working Group
-(WG)
-that is responsible for high-level guidance of the project.
-
-The WG has final authority over this project including:
-
-* Technical direction
-* Project governance and process (including this policy)
-* Contribution policy
-* GitHub repository hosting
-* Conduct guidelines
-* Maintaining the list of additional Collaborators
-
-For the current list of WG members, see the project
-[README.md](./README.md#current-project-team-members).
-
-### Collaborators
-
-The readable-stream GitHub repository is
-maintained by the WG and additional Collaborators who are added by the
-WG on an ongoing basis.
-
-Individuals making significant and valuable contributions are made
-Collaborators and given commit-access to the project. These
-individuals are identified by the WG and their addition as
-Collaborators is discussed during the WG meeting.
-
-_Note:_ If you make a significant contribution and are not considered
-for commit-access log an issue or contact a WG member directly and it
-will be brought up in the next WG meeting.
-
-Modifications of the contents of the readable-stream repository are
-made on
-a collaborative basis. Anybody with a GitHub account may propose a
-modification via pull request and it will be considered by the project
-Collaborators. All pull requests must be reviewed and accepted by a
-Collaborator with sufficient expertise who is able to take full
-responsibility for the change. In the case of pull requests proposed
-by an existing Collaborator, an additional Collaborator is required
-for sign-off. Consensus should be sought if additional Collaborators
-participate and there is disagreement around a particular
-modification. See _Consensus Seeking Process_ below for further detail
-on the consensus model used for governance.
-
-Collaborators may opt to elevate significant or controversial
-modifications, or modifications that have not found consensus to the
-WG for discussion by assigning the ***WG-agenda*** tag to a pull
-request or issue. The WG should serve as the final arbiter where
-required.
-
-For the current list of Collaborators, see the project
-[README.md](./README.md#members).
-
-### WG Membership
-
-WG seats are not time-limited. There is no fixed size of the WG.
-However, the expected target is between 6 and 12, to ensure adequate
-coverage of important areas of expertise, balanced with the ability to
-make decisions efficiently.
-
-There is no specific set of requirements or qualifications for WG
-membership beyond these rules.
-
-The WG may add additional members to the WG by unanimous consensus.
-
-A WG member may be removed from the WG by voluntary resignation, or by
-unanimous consensus of all other WG members.
-
-Changes to WG membership should be posted in the agenda, and may be
-suggested as any other agenda item (see "WG Meetings" below).
-
-If an addition or removal is proposed during a meeting, and the full
-WG is not in attendance to participate, then the addition or removal
-is added to the agenda for the subsequent meeting. This is to ensure
-that all members are given the opportunity to participate in all
-membership decisions. If a WG member is unable to attend a meeting
-where a planned membership decision is being made, then their consent
-is assumed.
-
-No more than 1/3 of the WG members may be affiliated with the same
-employer. If removal or resignation of a WG member, or a change of
-employment by a WG member, creates a situation where more than 1/3 of
-the WG membership shares an employer, then the situation must be
-immediately remedied by the resignation or removal of one or more WG
-members affiliated with the over-represented employer(s).
-
-### WG Meetings
-
-The WG meets occasionally on a Google Hangout On Air. A designated moderator
-approved by the WG runs the meeting. Each meeting should be
-published to YouTube.
-
-Items are added to the WG agenda that are considered contentious or
-are modifications of governance, contribution policy, WG membership,
-or release process.
-
-The intention of the agenda is not to approve or review all patches;
-that should happen continuously on GitHub and be handled by the larger
-group of Collaborators.
-
-Any community member or contributor can ask that something be added to
-the next meeting's agenda by logging a GitHub Issue. Any Collaborator,
-WG member or the moderator can add the item to the agenda by adding
-the ***WG-agenda*** tag to the issue.
-
-Prior to each WG meeting the moderator will share the Agenda with
-members of the WG. WG members can add any items they like to the
-agenda at the beginning of each meeting. The moderator and the WG
-cannot veto or remove items.
-
-The WG may invite persons or representatives from certain projects to
-participate in a non-voting capacity.
-
-The moderator is responsible for summarizing the discussion of each
-agenda item and sends it as a pull request after the meeting.
-
-### Consensus Seeking Process
-
-The WG follows a
-[Consensus
-Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making)
-decision-making model.
-
-When an agenda item has appeared to reach a consensus the moderator
-will ask "Does anyone object?" as a final call for dissent from the
-consensus.
-
-If an agenda item cannot reach a consensus a WG member can call for
-either a closing vote or a vote to table the issue to the next
-meeting. The call for a vote must be seconded by a majority of the WG
-or else the discussion will continue. Simple majority wins.
-
-Note that changes to WG membership require a majority consensus. See
-"WG Membership" above.
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/LICENSE b/includes/search/node_modules/bl/node_modules/readable-stream/LICENSE
deleted file mode 100644
index 2873b3b..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Node.js is licensed for use as follows:
-
-"""
-Copyright Node.js contributors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
-
-This license applies to parts of Node.js originating from the
-https://github.com/joyent/node repository:
-
-"""
-Copyright Joyent, Inc. and other Node contributors. All rights reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/README.md b/includes/search/node_modules/bl/node_modules/readable-stream/README.md
deleted file mode 100644
index 19117c1..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/README.md
+++ /dev/null
@@ -1,106 +0,0 @@
-# readable-stream
-
-***Node.js core streams for userland*** [![Build Status](https://travis-ci.com/nodejs/readable-stream.svg?branch=master)](https://travis-ci.com/nodejs/readable-stream)
-
-
-[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)
-[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)
-
-
-[![Sauce Test Status](https://saucelabs.com/browser-matrix/readabe-stream.svg)](https://saucelabs.com/u/readabe-stream)
-
-```bash
-npm install --save readable-stream
-```
-
-This package is a mirror of the streams implementations in Node.js.
-
-Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.18.1/docs/api/stream.html).
-
-If you want to guarantee a stable streams base, regardless of what version of
-Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).
-
-As of version 2.0.0 **readable-stream** uses semantic versioning.
-
-## Version 3.x.x
-
-v3.x.x of `readable-stream` is a cut from Node 10. This version supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in [Node v9](https://nodejs.org/en/blog/release/v9.0.0/) and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows:
-
-1. Error codes: https://github.com/nodejs/node/pull/13310,
- https://github.com/nodejs/node/pull/13291,
- https://github.com/nodejs/node/pull/16589,
- https://github.com/nodejs/node/pull/15042,
- https://github.com/nodejs/node/pull/15665,
- https://github.com/nodejs/readable-stream/pull/344
-2. 'readable' have precedence over flowing
- https://github.com/nodejs/node/pull/18994
-3. make virtual methods errors consistent
- https://github.com/nodejs/node/pull/18813
-4. updated streams error handling
- https://github.com/nodejs/node/pull/18438
-5. writable.end should return this.
- https://github.com/nodejs/node/pull/18780
-6. readable continues to read when push('')
- https://github.com/nodejs/node/pull/18211
-7. add custom inspect to BufferList
- https://github.com/nodejs/node/pull/17907
-8. always defer 'readable' with nextTick
- https://github.com/nodejs/node/pull/17979
-
-## Version 2.x.x
-v2.x.x of `readable-stream` is a cut of the stream module from Node 8 (there have been no semver-major changes from Node 4 to 8). This version supports all Node.js versions from 0.8, as well as evergreen browsers and IE 10 & 11.
-
-### Big Thanks
-
-Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][sauce]
-
-# Usage
-
-You can swap your `require('stream')` with `require('readable-stream')`
-without any changes, if you are just using one of the main classes and
-functions.
-
-```js
-const {
- Readable,
- Writable,
- Transform,
- Duplex,
- pipeline,
- finished
-} = require('readable-stream')
-````
-
-Note that `require('stream')` will return `Stream`, while
-`require('readable-stream')` will return `Readable`. We discourage using
-whatever is exported directly, but rather use one of the properties as
-shown in the example above.
-
-# Streams Working Group
-
-`readable-stream` is maintained by the Streams Working Group, which
-oversees the development and maintenance of the Streams API within
-Node.js. The responsibilities of the Streams Working Group include:
-
-* Addressing stream issues on the Node.js issue tracker.
-* Authoring and editing stream documentation within the Node.js project.
-* Reviewing changes to stream subclasses within the Node.js project.
-* Redirecting changes to streams from the Node.js project to this
- project.
-* Assisting in the implementation of stream providers within Node.js.
-* Recommending versions of `readable-stream` to be included in Node.js.
-* Messaging about the future of streams to give the community advance
- notice of changes.
-
-<a name="members"></a>
-## Team Members
-
-* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) &lt;calvin.metcalf@gmail.com&gt;
- - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242
-* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;mathiasbuus@gmail.com&gt;
-* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) &lt;matteo.collina@gmail.com&gt;
- - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E
-* **Irina Shestak** ([@lrlna](https://github.com/lrlna)) &lt;shestak.irina@gmail.com&gt;
-* **Yoshua Wyuts** ([@yoshuawuyts](https://github.com/yoshuawuyts)) &lt;yoshuawuyts@gmail.com&gt;
-
-[sauce]: https://saucelabs.com
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/errors-browser.js b/includes/search/node_modules/bl/node_modules/readable-stream/errors-browser.js
deleted file mode 100644
index fb8e73e..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/errors-browser.js
+++ /dev/null
@@ -1,127 +0,0 @@
-'use strict';
-
-function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
-
-var codes = {};
-
-function createErrorType(code, message, Base) {
- if (!Base) {
- Base = Error;
- }
-
- function getMessage(arg1, arg2, arg3) {
- if (typeof message === 'string') {
- return message;
- } else {
- return message(arg1, arg2, arg3);
- }
- }
-
- var NodeError =
- /*#__PURE__*/
- function (_Base) {
- _inheritsLoose(NodeError, _Base);
-
- function NodeError(arg1, arg2, arg3) {
- return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;
- }
-
- return NodeError;
- }(Base);
-
- NodeError.prototype.name = Base.name;
- NodeError.prototype.code = code;
- codes[code] = NodeError;
-} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
-
-
-function oneOf(expected, thing) {
- if (Array.isArray(expected)) {
- var len = expected.length;
- expected = expected.map(function (i) {
- return String(i);
- });
-
- if (len > 2) {
- return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(', '), ", or ") + expected[len - 1];
- } else if (len === 2) {
- return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);
- } else {
- return "of ".concat(thing, " ").concat(expected[0]);
- }
- } else {
- return "of ".concat(thing, " ").concat(String(expected));
- }
-} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
-
-
-function startsWith(str, search, pos) {
- return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
-} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
-
-
-function endsWith(str, search, this_len) {
- if (this_len === undefined || this_len > str.length) {
- this_len = str.length;
- }
-
- return str.substring(this_len - search.length, this_len) === search;
-} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
-
-
-function includes(str, search, start) {
- if (typeof start !== 'number') {
- start = 0;
- }
-
- if (start + search.length > str.length) {
- return false;
- } else {
- return str.indexOf(search, start) !== -1;
- }
-}
-
-createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {
- return 'The value "' + value + '" is invalid for option "' + name + '"';
-}, TypeError);
-createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {
- // determiner: 'must be' or 'must not be'
- var determiner;
-
- if (typeof expected === 'string' && startsWith(expected, 'not ')) {
- determiner = 'must not be';
- expected = expected.replace(/^not /, '');
- } else {
- determiner = 'must be';
- }
-
- var msg;
-
- if (endsWith(name, ' argument')) {
- // For cases like 'first argument'
- msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, 'type'));
- } else {
- var type = includes(name, '.') ? 'property' : 'argument';
- msg = "The \"".concat(name, "\" ").concat(type, " ").concat(determiner, " ").concat(oneOf(expected, 'type'));
- }
-
- msg += ". Received type ".concat(typeof actual);
- return msg;
-}, TypeError);
-createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');
-createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {
- return 'The ' + name + ' method is not implemented';
-});
-createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');
-createErrorType('ERR_STREAM_DESTROYED', function (name) {
- return 'Cannot call ' + name + ' after a stream was destroyed';
-});
-createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');
-createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');
-createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');
-createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);
-createErrorType('ERR_UNKNOWN_ENCODING', function (arg) {
- return 'Unknown encoding: ' + arg;
-}, TypeError);
-createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');
-module.exports.codes = codes;
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/errors.js b/includes/search/node_modules/bl/node_modules/readable-stream/errors.js
deleted file mode 100644
index 8471526..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/errors.js
+++ /dev/null
@@ -1,116 +0,0 @@
-'use strict';
-
-const codes = {};
-
-function createErrorType(code, message, Base) {
- if (!Base) {
- Base = Error
- }
-
- function getMessage (arg1, arg2, arg3) {
- if (typeof message === 'string') {
- return message
- } else {
- return message(arg1, arg2, arg3)
- }
- }
-
- class NodeError extends Base {
- constructor (arg1, arg2, arg3) {
- super(getMessage(arg1, arg2, arg3));
- }
- }
-
- NodeError.prototype.name = Base.name;
- NodeError.prototype.code = code;
-
- codes[code] = NodeError;
-}
-
-// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
-function oneOf(expected, thing) {
- if (Array.isArray(expected)) {
- const len = expected.length;
- expected = expected.map((i) => String(i));
- if (len > 2) {
- return `one of ${thing} ${expected.slice(0, len - 1).join(', ')}, or ` +
- expected[len - 1];
- } else if (len === 2) {
- return `one of ${thing} ${expected[0]} or ${expected[1]}`;
- } else {
- return `of ${thing} ${expected[0]}`;
- }
- } else {
- return `of ${thing} ${String(expected)}`;
- }
-}
-
-// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
-function startsWith(str, search, pos) {
- return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
-}
-
-// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
-function endsWith(str, search, this_len) {
- if (this_len === undefined || this_len > str.length) {
- this_len = str.length;
- }
- return str.substring(this_len - search.length, this_len) === search;
-}
-
-// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
-function includes(str, search, start) {
- if (typeof start !== 'number') {
- start = 0;
- }
-
- if (start + search.length > str.length) {
- return false;
- } else {
- return str.indexOf(search, start) !== -1;
- }
-}
-
-createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {
- return 'The value "' + value + '" is invalid for option "' + name + '"'
-}, TypeError);
-createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {
- // determiner: 'must be' or 'must not be'
- let determiner;
- if (typeof expected === 'string' && startsWith(expected, 'not ')) {
- determiner = 'must not be';
- expected = expected.replace(/^not /, '');
- } else {
- determiner = 'must be';
- }
-
- let msg;
- if (endsWith(name, ' argument')) {
- // For cases like 'first argument'
- msg = `The ${name} ${determiner} ${oneOf(expected, 'type')}`;
- } else {
- const type = includes(name, '.') ? 'property' : 'argument';
- msg = `The "${name}" ${type} ${determiner} ${oneOf(expected, 'type')}`;
- }
-
- msg += `. Received type ${typeof actual}`;
- return msg;
-}, TypeError);
-createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');
-createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {
- return 'The ' + name + ' method is not implemented'
-});
-createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');
-createErrorType('ERR_STREAM_DESTROYED', function (name) {
- return 'Cannot call ' + name + ' after a stream was destroyed';
-});
-createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');
-createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');
-createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');
-createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);
-createErrorType('ERR_UNKNOWN_ENCODING', function (arg) {
- return 'Unknown encoding: ' + arg
-}, TypeError);
-createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');
-
-module.exports.codes = codes;
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/experimentalWarning.js b/includes/search/node_modules/bl/node_modules/readable-stream/experimentalWarning.js
deleted file mode 100644
index 78e8414..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/experimentalWarning.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict'
-
-var experimentalWarnings = new Set();
-
-function emitExperimentalWarning(feature) {
- if (experimentalWarnings.has(feature)) return;
- var msg = feature + ' is an experimental feature. This feature could ' +
- 'change at any time';
- experimentalWarnings.add(feature);
- process.emitWarning(msg, 'ExperimentalWarning');
-}
-
-function noop() {}
-
-module.exports.emitExperimentalWarning = process.emitWarning
- ? emitExperimentalWarning
- : noop;
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js
deleted file mode 100644
index 19abfa6..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a duplex stream is just a stream that is both readable and writable.
-// Since JS doesn't have multiple prototypal inheritance, this class
-// prototypally inherits from Readable, and then parasitically from
-// Writable.
-
-'use strict';
-
-/*<replacement>*/
-var objectKeys = Object.keys || function (obj) {
- var keys = [];
- for (var key in obj) keys.push(key);
- return keys;
-};
-/*</replacement>*/
-
-module.exports = Duplex;
-var Readable = require('./_stream_readable');
-var Writable = require('./_stream_writable');
-require('inherits')(Duplex, Readable);
-{
- // Allow the keys array to be GC'ed.
- var keys = objectKeys(Writable.prototype);
- for (var v = 0; v < keys.length; v++) {
- var method = keys[v];
- if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
- }
-}
-function Duplex(options) {
- if (!(this instanceof Duplex)) return new Duplex(options);
- Readable.call(this, options);
- Writable.call(this, options);
- this.allowHalfOpen = true;
- if (options) {
- if (options.readable === false) this.readable = false;
- if (options.writable === false) this.writable = false;
- if (options.allowHalfOpen === false) {
- this.allowHalfOpen = false;
- this.once('end', onend);
- }
- }
-}
-Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.highWaterMark;
- }
-});
-Object.defineProperty(Duplex.prototype, 'writableBuffer', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState && this._writableState.getBuffer();
- }
-});
-Object.defineProperty(Duplex.prototype, 'writableLength', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.length;
- }
-});
-
-// the no-half-open enforcer
-function onend() {
- // If the writable side ended, then we're ok.
- if (this._writableState.ended) return;
-
- // no more data can be written.
- // But allow more writes to happen in this tick.
- process.nextTick(onEndNT, this);
-}
-function onEndNT(self) {
- self.end();
-}
-Object.defineProperty(Duplex.prototype, 'destroyed', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- if (this._readableState === undefined || this._writableState === undefined) {
- return false;
- }
- return this._readableState.destroyed && this._writableState.destroyed;
- },
- set: function set(value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (this._readableState === undefined || this._writableState === undefined) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- this._writableState.destroyed = value;
- }
-}); \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js
deleted file mode 100644
index 24a6bdd..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a passthrough stream.
-// basically just the most minimal sort of Transform stream.
-// Every written chunk gets output as-is.
-
-'use strict';
-
-module.exports = PassThrough;
-var Transform = require('./_stream_transform');
-require('inherits')(PassThrough, Transform);
-function PassThrough(options) {
- if (!(this instanceof PassThrough)) return new PassThrough(options);
- Transform.call(this, options);
-}
-PassThrough.prototype._transform = function (chunk, encoding, cb) {
- cb(null, chunk);
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js
deleted file mode 100644
index df1f608..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js
+++ /dev/null
@@ -1,1027 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-'use strict';
-
-module.exports = Readable;
-
-/*<replacement>*/
-var Duplex;
-/*</replacement>*/
-
-Readable.ReadableState = ReadableState;
-
-/*<replacement>*/
-var EE = require('events').EventEmitter;
-var EElistenerCount = function EElistenerCount(emitter, type) {
- return emitter.listeners(type).length;
-};
-/*</replacement>*/
-
-/*<replacement>*/
-var Stream = require('./internal/streams/stream');
-/*</replacement>*/
-
-var Buffer = require('buffer').Buffer;
-var OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};
-function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
-}
-function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
-}
-
-/*<replacement>*/
-var debugUtil = require('util');
-var debug;
-if (debugUtil && debugUtil.debuglog) {
- debug = debugUtil.debuglog('stream');
-} else {
- debug = function debug() {};
-}
-/*</replacement>*/
-
-var BufferList = require('./internal/streams/buffer_list');
-var destroyImpl = require('./internal/streams/destroy');
-var _require = require('./internal/streams/state'),
- getHighWaterMark = _require.getHighWaterMark;
-var _require$codes = require('../errors').codes,
- ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,
- ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,
- ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,
- ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;
-
-// Lazy loaded to improve the startup performance.
-var StringDecoder;
-var createReadableStreamAsyncIterator;
-var from;
-require('inherits')(Readable, Stream);
-var errorOrDestroy = destroyImpl.errorOrDestroy;
-var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];
-function prependListener(emitter, event, fn) {
- // Sadly this is not cacheable as some libraries bundle their own
- // event emitter implementation with them.
- if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);
-
- // This is a hack to make sure that our error handler is attached before any
- // userland ones. NEVER DO THIS. This is here only because this code needs
- // to continue to work with older versions of Node.js that do not include
- // the prependListener() method. The goal is to eventually remove this hack.
- if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];
-}
-function ReadableState(options, stream, isDuplex) {
- Duplex = Duplex || require('./_stream_duplex');
- options = options || {};
-
- // Duplex streams are both readable and writable, but share
- // the same options object.
- // However, some cases require setting options to different
- // values for the readable and the writable sides of the duplex stream.
- // These options can be provided separately as readableXXX and writableXXX.
- if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;
-
- // object stream flag. Used to make read(n) ignore n and to
- // make all the buffer merging and length checks go away
- this.objectMode = !!options.objectMode;
- if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-
- // the point at which it stops calling _read() to fill the buffer
- // Note: 0 is a valid value, means "don't call _read preemptively ever"
- this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);
-
- // A linked list is used to store data chunks instead of an array because the
- // linked list can remove elements from the beginning faster than
- // array.shift()
- this.buffer = new BufferList();
- this.length = 0;
- this.pipes = null;
- this.pipesCount = 0;
- this.flowing = null;
- this.ended = false;
- this.endEmitted = false;
- this.reading = false;
-
- // a flag to be able to tell if the event 'readable'/'data' is emitted
- // immediately, or on a later tick. We set this to true at first, because
- // any actions that shouldn't happen until "later" should generally also
- // not happen before the first read call.
- this.sync = true;
-
- // whenever we return null, then we set a flag to say
- // that we're awaiting a 'readable' event emission.
- this.needReadable = false;
- this.emittedReadable = false;
- this.readableListening = false;
- this.resumeScheduled = false;
- this.paused = true;
-
- // Should close be emitted on destroy. Defaults to true.
- this.emitClose = options.emitClose !== false;
-
- // Should .destroy() be called after 'end' (and potentially 'finish')
- this.autoDestroy = !!options.autoDestroy;
-
- // has it been destroyed
- this.destroyed = false;
-
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || 'utf8';
-
- // the number of writers that are awaiting a drain event in .pipe()s
- this.awaitDrain = 0;
-
- // if true, a maybeReadMore has been scheduled
- this.readingMore = false;
- this.decoder = null;
- this.encoding = null;
- if (options.encoding) {
- if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
- this.decoder = new StringDecoder(options.encoding);
- this.encoding = options.encoding;
- }
-}
-function Readable(options) {
- Duplex = Duplex || require('./_stream_duplex');
- if (!(this instanceof Readable)) return new Readable(options);
-
- // Checking for a Stream.Duplex instance is faster here instead of inside
- // the ReadableState constructor, at least with V8 6.5
- var isDuplex = this instanceof Duplex;
- this._readableState = new ReadableState(options, this, isDuplex);
-
- // legacy
- this.readable = true;
- if (options) {
- if (typeof options.read === 'function') this._read = options.read;
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
- }
- Stream.call(this);
-}
-Object.defineProperty(Readable.prototype, 'destroyed', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- if (this._readableState === undefined) {
- return false;
- }
- return this._readableState.destroyed;
- },
- set: function set(value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._readableState) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- }
-});
-Readable.prototype.destroy = destroyImpl.destroy;
-Readable.prototype._undestroy = destroyImpl.undestroy;
-Readable.prototype._destroy = function (err, cb) {
- cb(err);
-};
-
-// Manually shove something into the read() buffer.
-// This returns true if the highWaterMark has not been hit yet,
-// similar to how Writable.write() returns true if you should
-// write() some more.
-Readable.prototype.push = function (chunk, encoding) {
- var state = this._readableState;
- var skipChunkCheck;
- if (!state.objectMode) {
- if (typeof chunk === 'string') {
- encoding = encoding || state.defaultEncoding;
- if (encoding !== state.encoding) {
- chunk = Buffer.from(chunk, encoding);
- encoding = '';
- }
- skipChunkCheck = true;
- }
- } else {
- skipChunkCheck = true;
- }
- return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
-};
-
-// Unshift should *always* be something directly out of read()
-Readable.prototype.unshift = function (chunk) {
- return readableAddChunk(this, chunk, null, true, false);
-};
-function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
- debug('readableAddChunk', chunk);
- var state = stream._readableState;
- if (chunk === null) {
- state.reading = false;
- onEofChunk(stream, state);
- } else {
- var er;
- if (!skipChunkCheck) er = chunkInvalid(state, chunk);
- if (er) {
- errorOrDestroy(stream, er);
- } else if (state.objectMode || chunk && chunk.length > 0) {
- if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
- if (addToFront) {
- if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);
- } else if (state.ended) {
- errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
- } else if (state.destroyed) {
- return false;
- } else {
- state.reading = false;
- if (state.decoder && !encoding) {
- chunk = state.decoder.write(chunk);
- if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);
- } else {
- addChunk(stream, state, chunk, false);
- }
- }
- } else if (!addToFront) {
- state.reading = false;
- maybeReadMore(stream, state);
- }
- }
-
- // We can push more data if we are below the highWaterMark.
- // Also, if we have no data yet, we can stand some more bytes.
- // This is to work around cases where hwm=0, such as the repl.
- return !state.ended && (state.length < state.highWaterMark || state.length === 0);
-}
-function addChunk(stream, state, chunk, addToFront) {
- if (state.flowing && state.length === 0 && !state.sync) {
- state.awaitDrain = 0;
- stream.emit('data', chunk);
- } else {
- // update the buffer info.
- state.length += state.objectMode ? 1 : chunk.length;
- if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);
- if (state.needReadable) emitReadable(stream);
- }
- maybeReadMore(stream, state);
-}
-function chunkInvalid(state, chunk) {
- var er;
- if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
- er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);
- }
- return er;
-}
-Readable.prototype.isPaused = function () {
- return this._readableState.flowing === false;
-};
-
-// backwards compatibility.
-Readable.prototype.setEncoding = function (enc) {
- if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
- var decoder = new StringDecoder(enc);
- this._readableState.decoder = decoder;
- // If setEncoding(null), decoder.encoding equals utf8
- this._readableState.encoding = this._readableState.decoder.encoding;
-
- // Iterate over current buffer to convert already stored Buffers:
- var p = this._readableState.buffer.head;
- var content = '';
- while (p !== null) {
- content += decoder.write(p.data);
- p = p.next;
- }
- this._readableState.buffer.clear();
- if (content !== '') this._readableState.buffer.push(content);
- this._readableState.length = content.length;
- return this;
-};
-
-// Don't raise the hwm > 1GB
-var MAX_HWM = 0x40000000;
-function computeNewHighWaterMark(n) {
- if (n >= MAX_HWM) {
- // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.
- n = MAX_HWM;
- } else {
- // Get the next highest power of 2 to prevent increasing hwm excessively in
- // tiny amounts
- n--;
- n |= n >>> 1;
- n |= n >>> 2;
- n |= n >>> 4;
- n |= n >>> 8;
- n |= n >>> 16;
- n++;
- }
- return n;
-}
-
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function howMuchToRead(n, state) {
- if (n <= 0 || state.length === 0 && state.ended) return 0;
- if (state.objectMode) return 1;
- if (n !== n) {
- // Only flow one buffer at a time
- if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;
- }
- // If we're asking for more than the current hwm, then raise the hwm.
- if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
- if (n <= state.length) return n;
- // Don't have enough
- if (!state.ended) {
- state.needReadable = true;
- return 0;
- }
- return state.length;
-}
-
-// you can override either this method, or the async _read(n) below.
-Readable.prototype.read = function (n) {
- debug('read', n);
- n = parseInt(n, 10);
- var state = this._readableState;
- var nOrig = n;
- if (n !== 0) state.emittedReadable = false;
-
- // if we're doing read(0) to trigger a readable event, but we
- // already have a bunch of data in the buffer, then just trigger
- // the 'readable' event and move on.
- if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
- debug('read: emitReadable', state.length, state.ended);
- if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);
- return null;
- }
- n = howMuchToRead(n, state);
-
- // if we've ended, and we're now clear, then finish it up.
- if (n === 0 && state.ended) {
- if (state.length === 0) endReadable(this);
- return null;
- }
-
- // All the actual chunk generation logic needs to be
- // *below* the call to _read. The reason is that in certain
- // synthetic stream cases, such as passthrough streams, _read
- // may be a completely synchronous operation which may change
- // the state of the read buffer, providing enough data when
- // before there was *not* enough.
- //
- // So, the steps are:
- // 1. Figure out what the state of things will be after we do
- // a read from the buffer.
- //
- // 2. If that resulting state will trigger a _read, then call _read.
- // Note that this may be asynchronous, or synchronous. Yes, it is
- // deeply ugly to write APIs this way, but that still doesn't mean
- // that the Readable class should behave improperly, as streams are
- // designed to be sync/async agnostic.
- // Take note if the _read call is sync or async (ie, if the read call
- // has returned yet), so that we know whether or not it's safe to emit
- // 'readable' etc.
- //
- // 3. Actually pull the requested chunks out of the buffer and return.
-
- // if we need a readable event, then we need to do some reading.
- var doRead = state.needReadable;
- debug('need readable', doRead);
-
- // if we currently have less than the highWaterMark, then also read some
- if (state.length === 0 || state.length - n < state.highWaterMark) {
- doRead = true;
- debug('length less than watermark', doRead);
- }
-
- // however, if we've ended, then there's no point, and if we're already
- // reading, then it's unnecessary.
- if (state.ended || state.reading) {
- doRead = false;
- debug('reading or ended', doRead);
- } else if (doRead) {
- debug('do read');
- state.reading = true;
- state.sync = true;
- // if the length is currently zero, then we *need* a readable event.
- if (state.length === 0) state.needReadable = true;
- // call internal read method
- this._read(state.highWaterMark);
- state.sync = false;
- // If _read pushed data synchronously, then `reading` will be false,
- // and we need to re-evaluate how much data we can return to the user.
- if (!state.reading) n = howMuchToRead(nOrig, state);
- }
- var ret;
- if (n > 0) ret = fromList(n, state);else ret = null;
- if (ret === null) {
- state.needReadable = state.length <= state.highWaterMark;
- n = 0;
- } else {
- state.length -= n;
- state.awaitDrain = 0;
- }
- if (state.length === 0) {
- // If we have nothing in the buffer, then we want to know
- // as soon as we *do* get something into the buffer.
- if (!state.ended) state.needReadable = true;
-
- // If we tried to read() past the EOF, then emit end on the next tick.
- if (nOrig !== n && state.ended) endReadable(this);
- }
- if (ret !== null) this.emit('data', ret);
- return ret;
-};
-function onEofChunk(stream, state) {
- debug('onEofChunk');
- if (state.ended) return;
- if (state.decoder) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) {
- state.buffer.push(chunk);
- state.length += state.objectMode ? 1 : chunk.length;
- }
- }
- state.ended = true;
- if (state.sync) {
- // if we are sync, wait until next tick to emit the data.
- // Otherwise we risk emitting data in the flow()
- // the readable code triggers during a read() call
- emitReadable(stream);
- } else {
- // emit 'readable' now to make sure it gets picked up.
- state.needReadable = false;
- if (!state.emittedReadable) {
- state.emittedReadable = true;
- emitReadable_(stream);
- }
- }
-}
-
-// Don't emit readable right away in sync mode, because this can trigger
-// another read() call => stack overflow. This way, it might trigger
-// a nextTick recursion warning, but that's not so bad.
-function emitReadable(stream) {
- var state = stream._readableState;
- debug('emitReadable', state.needReadable, state.emittedReadable);
- state.needReadable = false;
- if (!state.emittedReadable) {
- debug('emitReadable', state.flowing);
- state.emittedReadable = true;
- process.nextTick(emitReadable_, stream);
- }
-}
-function emitReadable_(stream) {
- var state = stream._readableState;
- debug('emitReadable_', state.destroyed, state.length, state.ended);
- if (!state.destroyed && (state.length || state.ended)) {
- stream.emit('readable');
- state.emittedReadable = false;
- }
-
- // The stream needs another readable event if
- // 1. It is not flowing, as the flow mechanism will take
- // care of it.
- // 2. It is not ended.
- // 3. It is below the highWaterMark, so we can schedule
- // another readable later.
- state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
- flow(stream);
-}
-
-// at this point, the user has presumably seen the 'readable' event,
-// and called read() to consume some data. that may have triggered
-// in turn another _read(n) call, in which case reading = true if
-// it's in progress.
-// However, if we're not ended, or reading, and the length < hwm,
-// then go ahead and try to read some more preemptively.
-function maybeReadMore(stream, state) {
- if (!state.readingMore) {
- state.readingMore = true;
- process.nextTick(maybeReadMore_, stream, state);
- }
-}
-function maybeReadMore_(stream, state) {
- // Attempt to read more data if we should.
- //
- // The conditions for reading more data are (one of):
- // - Not enough data buffered (state.length < state.highWaterMark). The loop
- // is responsible for filling the buffer with enough data if such data
- // is available. If highWaterMark is 0 and we are not in the flowing mode
- // we should _not_ attempt to buffer any extra data. We'll get more data
- // when the stream consumer calls read() instead.
- // - No data in the buffer, and the stream is in flowing mode. In this mode
- // the loop below is responsible for ensuring read() is called. Failing to
- // call read here would abort the flow and there's no other mechanism for
- // continuing the flow if the stream consumer has just subscribed to the
- // 'data' event.
- //
- // In addition to the above conditions to keep reading data, the following
- // conditions prevent the data from being read:
- // - The stream has ended (state.ended).
- // - There is already a pending 'read' operation (state.reading). This is a
- // case where the the stream has called the implementation defined _read()
- // method, but they are processing the call asynchronously and have _not_
- // called push() with new data. In this case we skip performing more
- // read()s. The execution ends in this method again after the _read() ends
- // up calling push() with more data.
- while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
- var len = state.length;
- debug('maybeReadMore read 0');
- stream.read(0);
- if (len === state.length)
- // didn't get any data, stop spinning.
- break;
- }
- state.readingMore = false;
-}
-
-// abstract method. to be overridden in specific implementation classes.
-// call cb(er, data) where data is <= n in length.
-// for virtual (non-string, non-buffer) streams, "length" is somewhat
-// arbitrary, and perhaps not very meaningful.
-Readable.prototype._read = function (n) {
- errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));
-};
-Readable.prototype.pipe = function (dest, pipeOpts) {
- var src = this;
- var state = this._readableState;
- switch (state.pipesCount) {
- case 0:
- state.pipes = dest;
- break;
- case 1:
- state.pipes = [state.pipes, dest];
- break;
- default:
- state.pipes.push(dest);
- break;
- }
- state.pipesCount += 1;
- debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
- var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
- var endFn = doEnd ? onend : unpipe;
- if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);
- dest.on('unpipe', onunpipe);
- function onunpipe(readable, unpipeInfo) {
- debug('onunpipe');
- if (readable === src) {
- if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
- unpipeInfo.hasUnpiped = true;
- cleanup();
- }
- }
- }
- function onend() {
- debug('onend');
- dest.end();
- }
-
- // when the dest drains, it reduces the awaitDrain counter
- // on the source. This would be more elegant with a .once()
- // handler in flow(), but adding and removing repeatedly is
- // too slow.
- var ondrain = pipeOnDrain(src);
- dest.on('drain', ondrain);
- var cleanedUp = false;
- function cleanup() {
- debug('cleanup');
- // cleanup event handlers once the pipe is broken
- dest.removeListener('close', onclose);
- dest.removeListener('finish', onfinish);
- dest.removeListener('drain', ondrain);
- dest.removeListener('error', onerror);
- dest.removeListener('unpipe', onunpipe);
- src.removeListener('end', onend);
- src.removeListener('end', unpipe);
- src.removeListener('data', ondata);
- cleanedUp = true;
-
- // if the reader is waiting for a drain event from this
- // specific writer, then it would cause it to never start
- // flowing again.
- // So, if this is awaiting a drain, then we just call it now.
- // If we don't know, then assume that we are waiting for one.
- if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
- }
- src.on('data', ondata);
- function ondata(chunk) {
- debug('ondata');
- var ret = dest.write(chunk);
- debug('dest.write', ret);
- if (ret === false) {
- // If the user unpiped during `dest.write()`, it is possible
- // to get stuck in a permanently paused state if that write
- // also returned false.
- // => Check whether `dest` is still a piping destination.
- if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
- debug('false write response, pause', state.awaitDrain);
- state.awaitDrain++;
- }
- src.pause();
- }
- }
-
- // if the dest has an error, then stop piping into it.
- // however, don't suppress the throwing behavior for this.
- function onerror(er) {
- debug('onerror', er);
- unpipe();
- dest.removeListener('error', onerror);
- if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);
- }
-
- // Make sure our error handler is attached before userland ones.
- prependListener(dest, 'error', onerror);
-
- // Both close and finish should trigger unpipe, but only once.
- function onclose() {
- dest.removeListener('finish', onfinish);
- unpipe();
- }
- dest.once('close', onclose);
- function onfinish() {
- debug('onfinish');
- dest.removeListener('close', onclose);
- unpipe();
- }
- dest.once('finish', onfinish);
- function unpipe() {
- debug('unpipe');
- src.unpipe(dest);
- }
-
- // tell the dest that it's being piped to
- dest.emit('pipe', src);
-
- // start the flow if it hasn't been started already.
- if (!state.flowing) {
- debug('pipe resume');
- src.resume();
- }
- return dest;
-};
-function pipeOnDrain(src) {
- return function pipeOnDrainFunctionResult() {
- var state = src._readableState;
- debug('pipeOnDrain', state.awaitDrain);
- if (state.awaitDrain) state.awaitDrain--;
- if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {
- state.flowing = true;
- flow(src);
- }
- };
-}
-Readable.prototype.unpipe = function (dest) {
- var state = this._readableState;
- var unpipeInfo = {
- hasUnpiped: false
- };
-
- // if we're not piping anywhere, then do nothing.
- if (state.pipesCount === 0) return this;
-
- // just one destination. most common case.
- if (state.pipesCount === 1) {
- // passed in one, but it's not the right one.
- if (dest && dest !== state.pipes) return this;
- if (!dest) dest = state.pipes;
-
- // got a match.
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
- if (dest) dest.emit('unpipe', this, unpipeInfo);
- return this;
- }
-
- // slow case. multiple pipe destinations.
-
- if (!dest) {
- // remove all.
- var dests = state.pipes;
- var len = state.pipesCount;
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
- for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {
- hasUnpiped: false
- });
- return this;
- }
-
- // try to find the right one.
- var index = indexOf(state.pipes, dest);
- if (index === -1) return this;
- state.pipes.splice(index, 1);
- state.pipesCount -= 1;
- if (state.pipesCount === 1) state.pipes = state.pipes[0];
- dest.emit('unpipe', this, unpipeInfo);
- return this;
-};
-
-// set up data events if they are asked for
-// Ensure readable listeners eventually get something
-Readable.prototype.on = function (ev, fn) {
- var res = Stream.prototype.on.call(this, ev, fn);
- var state = this._readableState;
- if (ev === 'data') {
- // update readableListening so that resume() may be a no-op
- // a few lines down. This is needed to support once('readable').
- state.readableListening = this.listenerCount('readable') > 0;
-
- // Try start flowing on next tick if stream isn't explicitly paused
- if (state.flowing !== false) this.resume();
- } else if (ev === 'readable') {
- if (!state.endEmitted && !state.readableListening) {
- state.readableListening = state.needReadable = true;
- state.flowing = false;
- state.emittedReadable = false;
- debug('on readable', state.length, state.reading);
- if (state.length) {
- emitReadable(this);
- } else if (!state.reading) {
- process.nextTick(nReadingNextTick, this);
- }
- }
- }
- return res;
-};
-Readable.prototype.addListener = Readable.prototype.on;
-Readable.prototype.removeListener = function (ev, fn) {
- var res = Stream.prototype.removeListener.call(this, ev, fn);
- if (ev === 'readable') {
- // We need to check if there is someone still listening to
- // readable and reset the state. However this needs to happen
- // after readable has been emitted but before I/O (nextTick) to
- // support once('readable', fn) cycles. This means that calling
- // resume within the same tick will have no
- // effect.
- process.nextTick(updateReadableListening, this);
- }
- return res;
-};
-Readable.prototype.removeAllListeners = function (ev) {
- var res = Stream.prototype.removeAllListeners.apply(this, arguments);
- if (ev === 'readable' || ev === undefined) {
- // We need to check if there is someone still listening to
- // readable and reset the state. However this needs to happen
- // after readable has been emitted but before I/O (nextTick) to
- // support once('readable', fn) cycles. This means that calling
- // resume within the same tick will have no
- // effect.
- process.nextTick(updateReadableListening, this);
- }
- return res;
-};
-function updateReadableListening(self) {
- var state = self._readableState;
- state.readableListening = self.listenerCount('readable') > 0;
- if (state.resumeScheduled && !state.paused) {
- // flowing needs to be set to true now, otherwise
- // the upcoming resume will not flow.
- state.flowing = true;
-
- // crude way to check if we should resume
- } else if (self.listenerCount('data') > 0) {
- self.resume();
- }
-}
-function nReadingNextTick(self) {
- debug('readable nexttick read 0');
- self.read(0);
-}
-
-// pause() and resume() are remnants of the legacy readable stream API
-// If the user uses them, then switch into old mode.
-Readable.prototype.resume = function () {
- var state = this._readableState;
- if (!state.flowing) {
- debug('resume');
- // we flow only if there is no one listening
- // for readable, but we still have to call
- // resume()
- state.flowing = !state.readableListening;
- resume(this, state);
- }
- state.paused = false;
- return this;
-};
-function resume(stream, state) {
- if (!state.resumeScheduled) {
- state.resumeScheduled = true;
- process.nextTick(resume_, stream, state);
- }
-}
-function resume_(stream, state) {
- debug('resume', state.reading);
- if (!state.reading) {
- stream.read(0);
- }
- state.resumeScheduled = false;
- stream.emit('resume');
- flow(stream);
- if (state.flowing && !state.reading) stream.read(0);
-}
-Readable.prototype.pause = function () {
- debug('call pause flowing=%j', this._readableState.flowing);
- if (this._readableState.flowing !== false) {
- debug('pause');
- this._readableState.flowing = false;
- this.emit('pause');
- }
- this._readableState.paused = true;
- return this;
-};
-function flow(stream) {
- var state = stream._readableState;
- debug('flow', state.flowing);
- while (state.flowing && stream.read() !== null);
-}
-
-// wrap an old-style stream as the async data source.
-// This is *not* part of the readable stream interface.
-// It is an ugly unfortunate mess of history.
-Readable.prototype.wrap = function (stream) {
- var _this = this;
- var state = this._readableState;
- var paused = false;
- stream.on('end', function () {
- debug('wrapped end');
- if (state.decoder && !state.ended) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) _this.push(chunk);
- }
- _this.push(null);
- });
- stream.on('data', function (chunk) {
- debug('wrapped data');
- if (state.decoder) chunk = state.decoder.write(chunk);
-
- // don't skip over falsy values in objectMode
- if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;
- var ret = _this.push(chunk);
- if (!ret) {
- paused = true;
- stream.pause();
- }
- });
-
- // proxy all the other methods.
- // important when wrapping filters and duplexes.
- for (var i in stream) {
- if (this[i] === undefined && typeof stream[i] === 'function') {
- this[i] = function methodWrap(method) {
- return function methodWrapReturnFunction() {
- return stream[method].apply(stream, arguments);
- };
- }(i);
- }
- }
-
- // proxy certain important events.
- for (var n = 0; n < kProxyEvents.length; n++) {
- stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
- }
-
- // when we try to consume some more bytes, simply unpause the
- // underlying stream.
- this._read = function (n) {
- debug('wrapped _read', n);
- if (paused) {
- paused = false;
- stream.resume();
- }
- };
- return this;
-};
-if (typeof Symbol === 'function') {
- Readable.prototype[Symbol.asyncIterator] = function () {
- if (createReadableStreamAsyncIterator === undefined) {
- createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');
- }
- return createReadableStreamAsyncIterator(this);
- };
-}
-Object.defineProperty(Readable.prototype, 'readableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState.highWaterMark;
- }
-});
-Object.defineProperty(Readable.prototype, 'readableBuffer', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState && this._readableState.buffer;
- }
-});
-Object.defineProperty(Readable.prototype, 'readableFlowing', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState.flowing;
- },
- set: function set(state) {
- if (this._readableState) {
- this._readableState.flowing = state;
- }
- }
-});
-
-// exposed for testing purposes only.
-Readable._fromList = fromList;
-Object.defineProperty(Readable.prototype, 'readableLength', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState.length;
- }
-});
-
-// Pluck off n bytes from an array of buffers.
-// Length is the combined lengths of all the buffers in the list.
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function fromList(n, state) {
- // nothing buffered
- if (state.length === 0) return null;
- var ret;
- if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {
- // read it all, truncate the list
- if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);
- state.buffer.clear();
- } else {
- // read part of list
- ret = state.buffer.consume(n, state.decoder);
- }
- return ret;
-}
-function endReadable(stream) {
- var state = stream._readableState;
- debug('endReadable', state.endEmitted);
- if (!state.endEmitted) {
- state.ended = true;
- process.nextTick(endReadableNT, state, stream);
- }
-}
-function endReadableNT(state, stream) {
- debug('endReadableNT', state.endEmitted, state.length);
-
- // Check that we didn't get one last unshift.
- if (!state.endEmitted && state.length === 0) {
- state.endEmitted = true;
- stream.readable = false;
- stream.emit('end');
- if (state.autoDestroy) {
- // In case of duplex streams we need a way to detect
- // if the writable side is ready for autoDestroy as well
- var wState = stream._writableState;
- if (!wState || wState.autoDestroy && wState.finished) {
- stream.destroy();
- }
- }
- }
-}
-if (typeof Symbol === 'function') {
- Readable.from = function (iterable, opts) {
- if (from === undefined) {
- from = require('./internal/streams/from');
- }
- return from(Readable, iterable, opts);
- };
-}
-function indexOf(xs, x) {
- for (var i = 0, l = xs.length; i < l; i++) {
- if (xs[i] === x) return i;
- }
- return -1;
-} \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js
deleted file mode 100644
index 1ccb715..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a transform stream is a readable/writable stream where you do
-// something with the data. Sometimes it's called a "filter",
-// but that's not a great name for it, since that implies a thing where
-// some bits pass through, and others are simply ignored. (That would
-// be a valid example of a transform, of course.)
-//
-// While the output is causally related to the input, it's not a
-// necessarily symmetric or synchronous transformation. For example,
-// a zlib stream might take multiple plain-text writes(), and then
-// emit a single compressed chunk some time in the future.
-//
-// Here's how this works:
-//
-// The Transform stream has all the aspects of the readable and writable
-// stream classes. When you write(chunk), that calls _write(chunk,cb)
-// internally, and returns false if there's a lot of pending writes
-// buffered up. When you call read(), that calls _read(n) until
-// there's enough pending readable data buffered up.
-//
-// In a transform stream, the written data is placed in a buffer. When
-// _read(n) is called, it transforms the queued up data, calling the
-// buffered _write cb's as it consumes chunks. If consuming a single
-// written chunk would result in multiple output chunks, then the first
-// outputted bit calls the readcb, and subsequent chunks just go into
-// the read buffer, and will cause it to emit 'readable' if necessary.
-//
-// This way, back-pressure is actually determined by the reading side,
-// since _read has to be called to start processing a new chunk. However,
-// a pathological inflate type of transform can cause excessive buffering
-// here. For example, imagine a stream where every byte of input is
-// interpreted as an integer from 0-255, and then results in that many
-// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
-// 1kb of data being output. In this case, you could write a very small
-// amount of input, and end up with a very large amount of output. In
-// such a pathological inflating mechanism, there'd be no way to tell
-// the system to stop doing the transform. A single 4MB write could
-// cause the system to run out of memory.
-//
-// However, even in such a pathological case, only a single written chunk
-// would be consumed, and then the rest would wait (un-transformed) until
-// the results of the previous transformed chunk were consumed.
-
-'use strict';
-
-module.exports = Transform;
-var _require$codes = require('../errors').codes,
- ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,
- ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,
- ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,
- ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;
-var Duplex = require('./_stream_duplex');
-require('inherits')(Transform, Duplex);
-function afterTransform(er, data) {
- var ts = this._transformState;
- ts.transforming = false;
- var cb = ts.writecb;
- if (cb === null) {
- return this.emit('error', new ERR_MULTIPLE_CALLBACK());
- }
- ts.writechunk = null;
- ts.writecb = null;
- if (data != null)
- // single equals check for both `null` and `undefined`
- this.push(data);
- cb(er);
- var rs = this._readableState;
- rs.reading = false;
- if (rs.needReadable || rs.length < rs.highWaterMark) {
- this._read(rs.highWaterMark);
- }
-}
-function Transform(options) {
- if (!(this instanceof Transform)) return new Transform(options);
- Duplex.call(this, options);
- this._transformState = {
- afterTransform: afterTransform.bind(this),
- needTransform: false,
- transforming: false,
- writecb: null,
- writechunk: null,
- writeencoding: null
- };
-
- // start out asking for a readable event once data is transformed.
- this._readableState.needReadable = true;
-
- // we have implemented the _read method, and done the other things
- // that Readable wants before the first _read call, so unset the
- // sync guard flag.
- this._readableState.sync = false;
- if (options) {
- if (typeof options.transform === 'function') this._transform = options.transform;
- if (typeof options.flush === 'function') this._flush = options.flush;
- }
-
- // When the writable side finishes, then flush out anything remaining.
- this.on('prefinish', prefinish);
-}
-function prefinish() {
- var _this = this;
- if (typeof this._flush === 'function' && !this._readableState.destroyed) {
- this._flush(function (er, data) {
- done(_this, er, data);
- });
- } else {
- done(this, null, null);
- }
-}
-Transform.prototype.push = function (chunk, encoding) {
- this._transformState.needTransform = false;
- return Duplex.prototype.push.call(this, chunk, encoding);
-};
-
-// This is the part where you do stuff!
-// override this function in implementation classes.
-// 'chunk' is an input chunk.
-//
-// Call `push(newChunk)` to pass along transformed output
-// to the readable side. You may call 'push' zero or more times.
-//
-// Call `cb(err)` when you are done with this chunk. If you pass
-// an error, then that'll put the hurt on the whole operation. If you
-// never call cb(), then you'll never get another chunk.
-Transform.prototype._transform = function (chunk, encoding, cb) {
- cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));
-};
-Transform.prototype._write = function (chunk, encoding, cb) {
- var ts = this._transformState;
- ts.writecb = cb;
- ts.writechunk = chunk;
- ts.writeencoding = encoding;
- if (!ts.transforming) {
- var rs = this._readableState;
- if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
- }
-};
-
-// Doesn't matter what the args are here.
-// _transform does all the work.
-// That we got here means that the readable side wants more data.
-Transform.prototype._read = function (n) {
- var ts = this._transformState;
- if (ts.writechunk !== null && !ts.transforming) {
- ts.transforming = true;
- this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
- } else {
- // mark that we need a transform, so that any data that comes in
- // will get processed, now that we've asked for it.
- ts.needTransform = true;
- }
-};
-Transform.prototype._destroy = function (err, cb) {
- Duplex.prototype._destroy.call(this, err, function (err2) {
- cb(err2);
- });
-};
-function done(stream, er, data) {
- if (er) return stream.emit('error', er);
- if (data != null)
- // single equals check for both `null` and `undefined`
- stream.push(data);
-
- // TODO(BridgeAR): Write a test for these two error cases
- // if there's nothing in the write buffer, then that means
- // that nothing more will ever be provided
- if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();
- if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();
- return stream.push(null);
-} \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js
deleted file mode 100644
index 292415e..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js
+++ /dev/null
@@ -1,641 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// A bit simpler than readable streams.
-// Implement an async ._write(chunk, encoding, cb), and it'll handle all
-// the drain event emission and buffering.
-
-'use strict';
-
-module.exports = Writable;
-
-/* <replacement> */
-function WriteReq(chunk, encoding, cb) {
- this.chunk = chunk;
- this.encoding = encoding;
- this.callback = cb;
- this.next = null;
-}
-
-// It seems a linked list but it is not
-// there will be only 2 of these for each stream
-function CorkedRequest(state) {
- var _this = this;
- this.next = null;
- this.entry = null;
- this.finish = function () {
- onCorkedFinish(_this, state);
- };
-}
-/* </replacement> */
-
-/*<replacement>*/
-var Duplex;
-/*</replacement>*/
-
-Writable.WritableState = WritableState;
-
-/*<replacement>*/
-var internalUtil = {
- deprecate: require('util-deprecate')
-};
-/*</replacement>*/
-
-/*<replacement>*/
-var Stream = require('./internal/streams/stream');
-/*</replacement>*/
-
-var Buffer = require('buffer').Buffer;
-var OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};
-function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
-}
-function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
-}
-var destroyImpl = require('./internal/streams/destroy');
-var _require = require('./internal/streams/state'),
- getHighWaterMark = _require.getHighWaterMark;
-var _require$codes = require('../errors').codes,
- ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,
- ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,
- ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,
- ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,
- ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,
- ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,
- ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,
- ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;
-var errorOrDestroy = destroyImpl.errorOrDestroy;
-require('inherits')(Writable, Stream);
-function nop() {}
-function WritableState(options, stream, isDuplex) {
- Duplex = Duplex || require('./_stream_duplex');
- options = options || {};
-
- // Duplex streams are both readable and writable, but share
- // the same options object.
- // However, some cases require setting options to different
- // values for the readable and the writable sides of the duplex stream,
- // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.
- if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;
-
- // object stream flag to indicate whether or not this stream
- // contains buffers or objects.
- this.objectMode = !!options.objectMode;
- if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-
- // the point at which write() starts returning false
- // Note: 0 is a valid value, means that we always return false if
- // the entire buffer is not flushed immediately on write()
- this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);
-
- // if _final has been called
- this.finalCalled = false;
-
- // drain event flag.
- this.needDrain = false;
- // at the start of calling end()
- this.ending = false;
- // when end() has been called, and returned
- this.ended = false;
- // when 'finish' is emitted
- this.finished = false;
-
- // has it been destroyed
- this.destroyed = false;
-
- // should we decode strings into buffers before passing to _write?
- // this is here so that some node-core streams can optimize string
- // handling at a lower level.
- var noDecode = options.decodeStrings === false;
- this.decodeStrings = !noDecode;
-
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || 'utf8';
-
- // not an actual buffer we keep track of, but a measurement
- // of how much we're waiting to get pushed to some underlying
- // socket or file.
- this.length = 0;
-
- // a flag to see when we're in the middle of a write.
- this.writing = false;
-
- // when true all writes will be buffered until .uncork() call
- this.corked = 0;
-
- // a flag to be able to tell if the onwrite cb is called immediately,
- // or on a later tick. We set this to true at first, because any
- // actions that shouldn't happen until "later" should generally also
- // not happen before the first write call.
- this.sync = true;
-
- // a flag to know if we're processing previously buffered items, which
- // may call the _write() callback in the same tick, so that we don't
- // end up in an overlapped onwrite situation.
- this.bufferProcessing = false;
-
- // the callback that's passed to _write(chunk,cb)
- this.onwrite = function (er) {
- onwrite(stream, er);
- };
-
- // the callback that the user supplies to write(chunk,encoding,cb)
- this.writecb = null;
-
- // the amount that is being written when _write is called.
- this.writelen = 0;
- this.bufferedRequest = null;
- this.lastBufferedRequest = null;
-
- // number of pending user-supplied write callbacks
- // this must be 0 before 'finish' can be emitted
- this.pendingcb = 0;
-
- // emit prefinish if the only thing we're waiting for is _write cbs
- // This is relevant for synchronous Transform streams
- this.prefinished = false;
-
- // True if the error was already emitted and should not be thrown again
- this.errorEmitted = false;
-
- // Should close be emitted on destroy. Defaults to true.
- this.emitClose = options.emitClose !== false;
-
- // Should .destroy() be called after 'finish' (and potentially 'end')
- this.autoDestroy = !!options.autoDestroy;
-
- // count buffered requests
- this.bufferedRequestCount = 0;
-
- // allocate the first CorkedRequest, there is always
- // one allocated and free to use, and we maintain at most two
- this.corkedRequestsFree = new CorkedRequest(this);
-}
-WritableState.prototype.getBuffer = function getBuffer() {
- var current = this.bufferedRequest;
- var out = [];
- while (current) {
- out.push(current);
- current = current.next;
- }
- return out;
-};
-(function () {
- try {
- Object.defineProperty(WritableState.prototype, 'buffer', {
- get: internalUtil.deprecate(function writableStateBufferGetter() {
- return this.getBuffer();
- }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')
- });
- } catch (_) {}
-})();
-
-// Test _writableState for inheritance to account for Duplex streams,
-// whose prototype chain only points to Readable.
-var realHasInstance;
-if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {
- realHasInstance = Function.prototype[Symbol.hasInstance];
- Object.defineProperty(Writable, Symbol.hasInstance, {
- value: function value(object) {
- if (realHasInstance.call(this, object)) return true;
- if (this !== Writable) return false;
- return object && object._writableState instanceof WritableState;
- }
- });
-} else {
- realHasInstance = function realHasInstance(object) {
- return object instanceof this;
- };
-}
-function Writable(options) {
- Duplex = Duplex || require('./_stream_duplex');
-
- // Writable ctor is applied to Duplexes, too.
- // `realHasInstance` is necessary because using plain `instanceof`
- // would return false, as no `_writableState` property is attached.
-
- // Trying to use the custom `instanceof` for Writable here will also break the
- // Node.js LazyTransform implementation, which has a non-trivial getter for
- // `_writableState` that would lead to infinite recursion.
-
- // Checking for a Stream.Duplex instance is faster here instead of inside
- // the WritableState constructor, at least with V8 6.5
- var isDuplex = this instanceof Duplex;
- if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);
- this._writableState = new WritableState(options, this, isDuplex);
-
- // legacy.
- this.writable = true;
- if (options) {
- if (typeof options.write === 'function') this._write = options.write;
- if (typeof options.writev === 'function') this._writev = options.writev;
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
- if (typeof options.final === 'function') this._final = options.final;
- }
- Stream.call(this);
-}
-
-// Otherwise people can pipe Writable streams, which is just wrong.
-Writable.prototype.pipe = function () {
- errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-};
-function writeAfterEnd(stream, cb) {
- var er = new ERR_STREAM_WRITE_AFTER_END();
- // TODO: defer error events consistently everywhere, not just the cb
- errorOrDestroy(stream, er);
- process.nextTick(cb, er);
-}
-
-// Checks that a user-supplied chunk is valid, especially for the particular
-// mode the stream is in. Currently this means that `null` is never accepted
-// and undefined/non-string values are only allowed in object mode.
-function validChunk(stream, state, chunk, cb) {
- var er;
- if (chunk === null) {
- er = new ERR_STREAM_NULL_VALUES();
- } else if (typeof chunk !== 'string' && !state.objectMode) {
- er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);
- }
- if (er) {
- errorOrDestroy(stream, er);
- process.nextTick(cb, er);
- return false;
- }
- return true;
-}
-Writable.prototype.write = function (chunk, encoding, cb) {
- var state = this._writableState;
- var ret = false;
- var isBuf = !state.objectMode && _isUint8Array(chunk);
- if (isBuf && !Buffer.isBuffer(chunk)) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
- if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
- if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;
- if (typeof cb !== 'function') cb = nop;
- if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {
- state.pendingcb++;
- ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
- }
- return ret;
-};
-Writable.prototype.cork = function () {
- this._writableState.corked++;
-};
-Writable.prototype.uncork = function () {
- var state = this._writableState;
- if (state.corked) {
- state.corked--;
- if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
- }
-};
-Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
- // node::ParseEncoding() requires lower case.
- if (typeof encoding === 'string') encoding = encoding.toLowerCase();
- if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);
- this._writableState.defaultEncoding = encoding;
- return this;
-};
-Object.defineProperty(Writable.prototype, 'writableBuffer', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState && this._writableState.getBuffer();
- }
-});
-function decodeChunk(state, chunk, encoding) {
- if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {
- chunk = Buffer.from(chunk, encoding);
- }
- return chunk;
-}
-Object.defineProperty(Writable.prototype, 'writableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.highWaterMark;
- }
-});
-
-// if we're already writing something, then just put this
-// in the queue, and wait our turn. Otherwise, call _write
-// If we return false, then we need a drain event, so set that flag.
-function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
- if (!isBuf) {
- var newChunk = decodeChunk(state, chunk, encoding);
- if (chunk !== newChunk) {
- isBuf = true;
- encoding = 'buffer';
- chunk = newChunk;
- }
- }
- var len = state.objectMode ? 1 : chunk.length;
- state.length += len;
- var ret = state.length < state.highWaterMark;
- // we must ensure that previous needDrain will not be reset to false.
- if (!ret) state.needDrain = true;
- if (state.writing || state.corked) {
- var last = state.lastBufferedRequest;
- state.lastBufferedRequest = {
- chunk: chunk,
- encoding: encoding,
- isBuf: isBuf,
- callback: cb,
- next: null
- };
- if (last) {
- last.next = state.lastBufferedRequest;
- } else {
- state.bufferedRequest = state.lastBufferedRequest;
- }
- state.bufferedRequestCount += 1;
- } else {
- doWrite(stream, state, false, len, chunk, encoding, cb);
- }
- return ret;
-}
-function doWrite(stream, state, writev, len, chunk, encoding, cb) {
- state.writelen = len;
- state.writecb = cb;
- state.writing = true;
- state.sync = true;
- if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);
- state.sync = false;
-}
-function onwriteError(stream, state, sync, er, cb) {
- --state.pendingcb;
- if (sync) {
- // defer the callback if we are being called synchronously
- // to avoid piling up things on the stack
- process.nextTick(cb, er);
- // this can emit finish, and it will always happen
- // after error
- process.nextTick(finishMaybe, stream, state);
- stream._writableState.errorEmitted = true;
- errorOrDestroy(stream, er);
- } else {
- // the caller expect this to happen before if
- // it is async
- cb(er);
- stream._writableState.errorEmitted = true;
- errorOrDestroy(stream, er);
- // this can emit finish, but finish must
- // always follow error
- finishMaybe(stream, state);
- }
-}
-function onwriteStateUpdate(state) {
- state.writing = false;
- state.writecb = null;
- state.length -= state.writelen;
- state.writelen = 0;
-}
-function onwrite(stream, er) {
- var state = stream._writableState;
- var sync = state.sync;
- var cb = state.writecb;
- if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();
- onwriteStateUpdate(state);
- if (er) onwriteError(stream, state, sync, er, cb);else {
- // Check if we're actually ready to finish, but don't emit yet
- var finished = needFinish(state) || stream.destroyed;
- if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
- clearBuffer(stream, state);
- }
- if (sync) {
- process.nextTick(afterWrite, stream, state, finished, cb);
- } else {
- afterWrite(stream, state, finished, cb);
- }
- }
-}
-function afterWrite(stream, state, finished, cb) {
- if (!finished) onwriteDrain(stream, state);
- state.pendingcb--;
- cb();
- finishMaybe(stream, state);
-}
-
-// Must force callback to be called on nextTick, so that we don't
-// emit 'drain' before the write() consumer gets the 'false' return
-// value, and has a chance to attach a 'drain' listener.
-function onwriteDrain(stream, state) {
- if (state.length === 0 && state.needDrain) {
- state.needDrain = false;
- stream.emit('drain');
- }
-}
-
-// if there's something in the buffer waiting, then process it
-function clearBuffer(stream, state) {
- state.bufferProcessing = true;
- var entry = state.bufferedRequest;
- if (stream._writev && entry && entry.next) {
- // Fast case, write everything using _writev()
- var l = state.bufferedRequestCount;
- var buffer = new Array(l);
- var holder = state.corkedRequestsFree;
- holder.entry = entry;
- var count = 0;
- var allBuffers = true;
- while (entry) {
- buffer[count] = entry;
- if (!entry.isBuf) allBuffers = false;
- entry = entry.next;
- count += 1;
- }
- buffer.allBuffers = allBuffers;
- doWrite(stream, state, true, state.length, buffer, '', holder.finish);
-
- // doWrite is almost always async, defer these to save a bit of time
- // as the hot path ends with doWrite
- state.pendingcb++;
- state.lastBufferedRequest = null;
- if (holder.next) {
- state.corkedRequestsFree = holder.next;
- holder.next = null;
- } else {
- state.corkedRequestsFree = new CorkedRequest(state);
- }
- state.bufferedRequestCount = 0;
- } else {
- // Slow case, write chunks one-by-one
- while (entry) {
- var chunk = entry.chunk;
- var encoding = entry.encoding;
- var cb = entry.callback;
- var len = state.objectMode ? 1 : chunk.length;
- doWrite(stream, state, false, len, chunk, encoding, cb);
- entry = entry.next;
- state.bufferedRequestCount--;
- // if we didn't call the onwrite immediately, then
- // it means that we need to wait until it does.
- // also, that means that the chunk and cb are currently
- // being processed, so move the buffer counter past them.
- if (state.writing) {
- break;
- }
- }
- if (entry === null) state.lastBufferedRequest = null;
- }
- state.bufferedRequest = entry;
- state.bufferProcessing = false;
-}
-Writable.prototype._write = function (chunk, encoding, cb) {
- cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));
-};
-Writable.prototype._writev = null;
-Writable.prototype.end = function (chunk, encoding, cb) {
- var state = this._writableState;
- if (typeof chunk === 'function') {
- cb = chunk;
- chunk = null;
- encoding = null;
- } else if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
- if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);
-
- // .end() fully uncorks
- if (state.corked) {
- state.corked = 1;
- this.uncork();
- }
-
- // ignore unnecessary end() calls.
- if (!state.ending) endWritable(this, state, cb);
- return this;
-};
-Object.defineProperty(Writable.prototype, 'writableLength', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.length;
- }
-});
-function needFinish(state) {
- return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
-}
-function callFinal(stream, state) {
- stream._final(function (err) {
- state.pendingcb--;
- if (err) {
- errorOrDestroy(stream, err);
- }
- state.prefinished = true;
- stream.emit('prefinish');
- finishMaybe(stream, state);
- });
-}
-function prefinish(stream, state) {
- if (!state.prefinished && !state.finalCalled) {
- if (typeof stream._final === 'function' && !state.destroyed) {
- state.pendingcb++;
- state.finalCalled = true;
- process.nextTick(callFinal, stream, state);
- } else {
- state.prefinished = true;
- stream.emit('prefinish');
- }
- }
-}
-function finishMaybe(stream, state) {
- var need = needFinish(state);
- if (need) {
- prefinish(stream, state);
- if (state.pendingcb === 0) {
- state.finished = true;
- stream.emit('finish');
- if (state.autoDestroy) {
- // In case of duplex streams we need a way to detect
- // if the readable side is ready for autoDestroy as well
- var rState = stream._readableState;
- if (!rState || rState.autoDestroy && rState.endEmitted) {
- stream.destroy();
- }
- }
- }
- }
- return need;
-}
-function endWritable(stream, state, cb) {
- state.ending = true;
- finishMaybe(stream, state);
- if (cb) {
- if (state.finished) process.nextTick(cb);else stream.once('finish', cb);
- }
- state.ended = true;
- stream.writable = false;
-}
-function onCorkedFinish(corkReq, state, err) {
- var entry = corkReq.entry;
- corkReq.entry = null;
- while (entry) {
- var cb = entry.callback;
- state.pendingcb--;
- cb(err);
- entry = entry.next;
- }
-
- // reuse the free corkReq.
- state.corkedRequestsFree.next = corkReq;
-}
-Object.defineProperty(Writable.prototype, 'destroyed', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- if (this._writableState === undefined) {
- return false;
- }
- return this._writableState.destroyed;
- },
- set: function set(value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._writableState) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._writableState.destroyed = value;
- }
-});
-Writable.prototype.destroy = destroyImpl.destroy;
-Writable.prototype._undestroy = destroyImpl.undestroy;
-Writable.prototype._destroy = function (err, cb) {
- cb(err);
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/async_iterator.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/async_iterator.js
deleted file mode 100644
index 742c5a4..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/async_iterator.js
+++ /dev/null
@@ -1,180 +0,0 @@
-'use strict';
-
-var _Object$setPrototypeO;
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-var finished = require('./end-of-stream');
-var kLastResolve = Symbol('lastResolve');
-var kLastReject = Symbol('lastReject');
-var kError = Symbol('error');
-var kEnded = Symbol('ended');
-var kLastPromise = Symbol('lastPromise');
-var kHandlePromise = Symbol('handlePromise');
-var kStream = Symbol('stream');
-function createIterResult(value, done) {
- return {
- value: value,
- done: done
- };
-}
-function readAndResolve(iter) {
- var resolve = iter[kLastResolve];
- if (resolve !== null) {
- var data = iter[kStream].read();
- // we defer if data is null
- // we can be expecting either 'end' or
- // 'error'
- if (data !== null) {
- iter[kLastPromise] = null;
- iter[kLastResolve] = null;
- iter[kLastReject] = null;
- resolve(createIterResult(data, false));
- }
- }
-}
-function onReadable(iter) {
- // we wait for the next tick, because it might
- // emit an error with process.nextTick
- process.nextTick(readAndResolve, iter);
-}
-function wrapForNext(lastPromise, iter) {
- return function (resolve, reject) {
- lastPromise.then(function () {
- if (iter[kEnded]) {
- resolve(createIterResult(undefined, true));
- return;
- }
- iter[kHandlePromise](resolve, reject);
- }, reject);
- };
-}
-var AsyncIteratorPrototype = Object.getPrototypeOf(function () {});
-var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {
- get stream() {
- return this[kStream];
- },
- next: function next() {
- var _this = this;
- // if we have detected an error in the meanwhile
- // reject straight away
- var error = this[kError];
- if (error !== null) {
- return Promise.reject(error);
- }
- if (this[kEnded]) {
- return Promise.resolve(createIterResult(undefined, true));
- }
- if (this[kStream].destroyed) {
- // We need to defer via nextTick because if .destroy(err) is
- // called, the error will be emitted via nextTick, and
- // we cannot guarantee that there is no error lingering around
- // waiting to be emitted.
- return new Promise(function (resolve, reject) {
- process.nextTick(function () {
- if (_this[kError]) {
- reject(_this[kError]);
- } else {
- resolve(createIterResult(undefined, true));
- }
- });
- });
- }
-
- // if we have multiple next() calls
- // we will wait for the previous Promise to finish
- // this logic is optimized to support for await loops,
- // where next() is only called once at a time
- var lastPromise = this[kLastPromise];
- var promise;
- if (lastPromise) {
- promise = new Promise(wrapForNext(lastPromise, this));
- } else {
- // fast path needed to support multiple this.push()
- // without triggering the next() queue
- var data = this[kStream].read();
- if (data !== null) {
- return Promise.resolve(createIterResult(data, false));
- }
- promise = new Promise(this[kHandlePromise]);
- }
- this[kLastPromise] = promise;
- return promise;
- }
-}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {
- return this;
-}), _defineProperty(_Object$setPrototypeO, "return", function _return() {
- var _this2 = this;
- // destroy(err, cb) is a private API
- // we can guarantee we have that here, because we control the
- // Readable class this is attached to
- return new Promise(function (resolve, reject) {
- _this2[kStream].destroy(null, function (err) {
- if (err) {
- reject(err);
- return;
- }
- resolve(createIterResult(undefined, true));
- });
- });
-}), _Object$setPrototypeO), AsyncIteratorPrototype);
-var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {
- var _Object$create;
- var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {
- value: stream,
- writable: true
- }), _defineProperty(_Object$create, kLastResolve, {
- value: null,
- writable: true
- }), _defineProperty(_Object$create, kLastReject, {
- value: null,
- writable: true
- }), _defineProperty(_Object$create, kError, {
- value: null,
- writable: true
- }), _defineProperty(_Object$create, kEnded, {
- value: stream._readableState.endEmitted,
- writable: true
- }), _defineProperty(_Object$create, kHandlePromise, {
- value: function value(resolve, reject) {
- var data = iterator[kStream].read();
- if (data) {
- iterator[kLastPromise] = null;
- iterator[kLastResolve] = null;
- iterator[kLastReject] = null;
- resolve(createIterResult(data, false));
- } else {
- iterator[kLastResolve] = resolve;
- iterator[kLastReject] = reject;
- }
- },
- writable: true
- }), _Object$create));
- iterator[kLastPromise] = null;
- finished(stream, function (err) {
- if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {
- var reject = iterator[kLastReject];
- // reject if we are waiting for data in the Promise
- // returned by next() and store the error
- if (reject !== null) {
- iterator[kLastPromise] = null;
- iterator[kLastResolve] = null;
- iterator[kLastReject] = null;
- reject(err);
- }
- iterator[kError] = err;
- return;
- }
- var resolve = iterator[kLastResolve];
- if (resolve !== null) {
- iterator[kLastPromise] = null;
- iterator[kLastResolve] = null;
- iterator[kLastReject] = null;
- resolve(createIterResult(undefined, true));
- }
- iterator[kEnded] = true;
- });
- stream.on('readable', onReadable.bind(null, iterator));
- return iterator;
-};
-module.exports = createReadableStreamAsyncIterator; \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/buffer_list.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/buffer_list.js
deleted file mode 100644
index 69bda49..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/buffer_list.js
+++ /dev/null
@@ -1,183 +0,0 @@
-'use strict';
-
-function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-var _require = require('buffer'),
- Buffer = _require.Buffer;
-var _require2 = require('util'),
- inspect = _require2.inspect;
-var custom = inspect && inspect.custom || 'inspect';
-function copyBuffer(src, target, offset) {
- Buffer.prototype.copy.call(src, target, offset);
-}
-module.exports = /*#__PURE__*/function () {
- function BufferList() {
- _classCallCheck(this, BufferList);
- this.head = null;
- this.tail = null;
- this.length = 0;
- }
- _createClass(BufferList, [{
- key: "push",
- value: function push(v) {
- var entry = {
- data: v,
- next: null
- };
- if (this.length > 0) this.tail.next = entry;else this.head = entry;
- this.tail = entry;
- ++this.length;
- }
- }, {
- key: "unshift",
- value: function unshift(v) {
- var entry = {
- data: v,
- next: this.head
- };
- if (this.length === 0) this.tail = entry;
- this.head = entry;
- ++this.length;
- }
- }, {
- key: "shift",
- value: function shift() {
- if (this.length === 0) return;
- var ret = this.head.data;
- if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;
- --this.length;
- return ret;
- }
- }, {
- key: "clear",
- value: function clear() {
- this.head = this.tail = null;
- this.length = 0;
- }
- }, {
- key: "join",
- value: function join(s) {
- if (this.length === 0) return '';
- var p = this.head;
- var ret = '' + p.data;
- while (p = p.next) ret += s + p.data;
- return ret;
- }
- }, {
- key: "concat",
- value: function concat(n) {
- if (this.length === 0) return Buffer.alloc(0);
- var ret = Buffer.allocUnsafe(n >>> 0);
- var p = this.head;
- var i = 0;
- while (p) {
- copyBuffer(p.data, ret, i);
- i += p.data.length;
- p = p.next;
- }
- return ret;
- }
-
- // Consumes a specified amount of bytes or characters from the buffered data.
- }, {
- key: "consume",
- value: function consume(n, hasStrings) {
- var ret;
- if (n < this.head.data.length) {
- // `slice` is the same for buffers and strings.
- ret = this.head.data.slice(0, n);
- this.head.data = this.head.data.slice(n);
- } else if (n === this.head.data.length) {
- // First chunk is a perfect match.
- ret = this.shift();
- } else {
- // Result spans more than one buffer.
- ret = hasStrings ? this._getString(n) : this._getBuffer(n);
- }
- return ret;
- }
- }, {
- key: "first",
- value: function first() {
- return this.head.data;
- }
-
- // Consumes a specified amount of characters from the buffered data.
- }, {
- key: "_getString",
- value: function _getString(n) {
- var p = this.head;
- var c = 1;
- var ret = p.data;
- n -= ret.length;
- while (p = p.next) {
- var str = p.data;
- var nb = n > str.length ? str.length : n;
- if (nb === str.length) ret += str;else ret += str.slice(0, n);
- n -= nb;
- if (n === 0) {
- if (nb === str.length) {
- ++c;
- if (p.next) this.head = p.next;else this.head = this.tail = null;
- } else {
- this.head = p;
- p.data = str.slice(nb);
- }
- break;
- }
- ++c;
- }
- this.length -= c;
- return ret;
- }
-
- // Consumes a specified amount of bytes from the buffered data.
- }, {
- key: "_getBuffer",
- value: function _getBuffer(n) {
- var ret = Buffer.allocUnsafe(n);
- var p = this.head;
- var c = 1;
- p.data.copy(ret);
- n -= p.data.length;
- while (p = p.next) {
- var buf = p.data;
- var nb = n > buf.length ? buf.length : n;
- buf.copy(ret, ret.length - n, 0, nb);
- n -= nb;
- if (n === 0) {
- if (nb === buf.length) {
- ++c;
- if (p.next) this.head = p.next;else this.head = this.tail = null;
- } else {
- this.head = p;
- p.data = buf.slice(nb);
- }
- break;
- }
- ++c;
- }
- this.length -= c;
- return ret;
- }
-
- // Make sure the linked list only shows the minimal necessary information.
- }, {
- key: custom,
- value: function value(_, options) {
- return inspect(this, _objectSpread(_objectSpread({}, options), {}, {
- // Only inspect one level.
- depth: 0,
- // It should not recurse.
- customInspect: false
- }));
- }
- }]);
- return BufferList;
-}(); \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js
deleted file mode 100644
index 31a17c4..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js
+++ /dev/null
@@ -1,96 +0,0 @@
-'use strict';
-
-// undocumented cb() API, needed for core, not for public API
-function destroy(err, cb) {
- var _this = this;
- var readableDestroyed = this._readableState && this._readableState.destroyed;
- var writableDestroyed = this._writableState && this._writableState.destroyed;
- if (readableDestroyed || writableDestroyed) {
- if (cb) {
- cb(err);
- } else if (err) {
- if (!this._writableState) {
- process.nextTick(emitErrorNT, this, err);
- } else if (!this._writableState.errorEmitted) {
- this._writableState.errorEmitted = true;
- process.nextTick(emitErrorNT, this, err);
- }
- }
- return this;
- }
-
- // we set destroyed to true before firing error callbacks in order
- // to make it re-entrance safe in case destroy() is called within callbacks
-
- if (this._readableState) {
- this._readableState.destroyed = true;
- }
-
- // if this is a duplex stream mark the writable part as destroyed as well
- if (this._writableState) {
- this._writableState.destroyed = true;
- }
- this._destroy(err || null, function (err) {
- if (!cb && err) {
- if (!_this._writableState) {
- process.nextTick(emitErrorAndCloseNT, _this, err);
- } else if (!_this._writableState.errorEmitted) {
- _this._writableState.errorEmitted = true;
- process.nextTick(emitErrorAndCloseNT, _this, err);
- } else {
- process.nextTick(emitCloseNT, _this);
- }
- } else if (cb) {
- process.nextTick(emitCloseNT, _this);
- cb(err);
- } else {
- process.nextTick(emitCloseNT, _this);
- }
- });
- return this;
-}
-function emitErrorAndCloseNT(self, err) {
- emitErrorNT(self, err);
- emitCloseNT(self);
-}
-function emitCloseNT(self) {
- if (self._writableState && !self._writableState.emitClose) return;
- if (self._readableState && !self._readableState.emitClose) return;
- self.emit('close');
-}
-function undestroy() {
- if (this._readableState) {
- this._readableState.destroyed = false;
- this._readableState.reading = false;
- this._readableState.ended = false;
- this._readableState.endEmitted = false;
- }
- if (this._writableState) {
- this._writableState.destroyed = false;
- this._writableState.ended = false;
- this._writableState.ending = false;
- this._writableState.finalCalled = false;
- this._writableState.prefinished = false;
- this._writableState.finished = false;
- this._writableState.errorEmitted = false;
- }
-}
-function emitErrorNT(self, err) {
- self.emit('error', err);
-}
-function errorOrDestroy(stream, err) {
- // We have tests that rely on errors being emitted
- // in the same tick, so changing this is semver major.
- // For now when you opt-in to autoDestroy we allow
- // the error to be emitted nextTick. In a future
- // semver major update we should change the default to this.
-
- var rState = stream._readableState;
- var wState = stream._writableState;
- if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);
-}
-module.exports = {
- destroy: destroy,
- undestroy: undestroy,
- errorOrDestroy: errorOrDestroy
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/end-of-stream.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
deleted file mode 100644
index 59c671b..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Ported from https://github.com/mafintosh/end-of-stream with
-// permission from the author, Mathias Buus (@mafintosh).
-
-'use strict';
-
-var ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;
-function once(callback) {
- var called = false;
- return function () {
- if (called) return;
- called = true;
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
- callback.apply(this, args);
- };
-}
-function noop() {}
-function isRequest(stream) {
- return stream.setHeader && typeof stream.abort === 'function';
-}
-function eos(stream, opts, callback) {
- if (typeof opts === 'function') return eos(stream, null, opts);
- if (!opts) opts = {};
- callback = once(callback || noop);
- var readable = opts.readable || opts.readable !== false && stream.readable;
- var writable = opts.writable || opts.writable !== false && stream.writable;
- var onlegacyfinish = function onlegacyfinish() {
- if (!stream.writable) onfinish();
- };
- var writableEnded = stream._writableState && stream._writableState.finished;
- var onfinish = function onfinish() {
- writable = false;
- writableEnded = true;
- if (!readable) callback.call(stream);
- };
- var readableEnded = stream._readableState && stream._readableState.endEmitted;
- var onend = function onend() {
- readable = false;
- readableEnded = true;
- if (!writable) callback.call(stream);
- };
- var onerror = function onerror(err) {
- callback.call(stream, err);
- };
- var onclose = function onclose() {
- var err;
- if (readable && !readableEnded) {
- if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
- return callback.call(stream, err);
- }
- if (writable && !writableEnded) {
- if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
- return callback.call(stream, err);
- }
- };
- var onrequest = function onrequest() {
- stream.req.on('finish', onfinish);
- };
- if (isRequest(stream)) {
- stream.on('complete', onfinish);
- stream.on('abort', onclose);
- if (stream.req) onrequest();else stream.on('request', onrequest);
- } else if (writable && !stream._writableState) {
- // legacy streams
- stream.on('end', onlegacyfinish);
- stream.on('close', onlegacyfinish);
- }
- stream.on('end', onend);
- stream.on('finish', onfinish);
- if (opts.error !== false) stream.on('error', onerror);
- stream.on('close', onclose);
- return function () {
- stream.removeListener('complete', onfinish);
- stream.removeListener('abort', onclose);
- stream.removeListener('request', onrequest);
- if (stream.req) stream.req.removeListener('finish', onfinish);
- stream.removeListener('end', onlegacyfinish);
- stream.removeListener('close', onlegacyfinish);
- stream.removeListener('finish', onfinish);
- stream.removeListener('end', onend);
- stream.removeListener('error', onerror);
- stream.removeListener('close', onclose);
- };
-}
-module.exports = eos; \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from-browser.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from-browser.js
deleted file mode 100644
index a4ce56f..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from-browser.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function () {
- throw new Error('Readable.from is not available in the browser')
-};
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js
deleted file mode 100644
index 0a34ee9..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js
+++ /dev/null
@@ -1,52 +0,0 @@
-'use strict';
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-var ERR_INVALID_ARG_TYPE = require('../../../errors').codes.ERR_INVALID_ARG_TYPE;
-function from(Readable, iterable, opts) {
- var iterator;
- if (iterable && typeof iterable.next === 'function') {
- iterator = iterable;
- } else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable);
- var readable = new Readable(_objectSpread({
- objectMode: true
- }, opts));
- // Reading boolean to protect against _read
- // being called before last iteration completion.
- var reading = false;
- readable._read = function () {
- if (!reading) {
- reading = true;
- next();
- }
- };
- function next() {
- return _next2.apply(this, arguments);
- }
- function _next2() {
- _next2 = _asyncToGenerator(function* () {
- try {
- var _yield$iterator$next = yield iterator.next(),
- value = _yield$iterator$next.value,
- done = _yield$iterator$next.done;
- if (done) {
- readable.push(null);
- } else if (readable.push(yield value)) {
- next();
- } else {
- reading = false;
- }
- } catch (err) {
- readable.destroy(err);
- }
- });
- return _next2.apply(this, arguments);
- }
- return readable;
-}
-module.exports = from;
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js
deleted file mode 100644
index e6f3924..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Ported from https://github.com/mafintosh/pump with
-// permission from the author, Mathias Buus (@mafintosh).
-
-'use strict';
-
-var eos;
-function once(callback) {
- var called = false;
- return function () {
- if (called) return;
- called = true;
- callback.apply(void 0, arguments);
- };
-}
-var _require$codes = require('../../../errors').codes,
- ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,
- ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
-function noop(err) {
- // Rethrow the error if it exists to avoid swallowing it
- if (err) throw err;
-}
-function isRequest(stream) {
- return stream.setHeader && typeof stream.abort === 'function';
-}
-function destroyer(stream, reading, writing, callback) {
- callback = once(callback);
- var closed = false;
- stream.on('close', function () {
- closed = true;
- });
- if (eos === undefined) eos = require('./end-of-stream');
- eos(stream, {
- readable: reading,
- writable: writing
- }, function (err) {
- if (err) return callback(err);
- closed = true;
- callback();
- });
- var destroyed = false;
- return function (err) {
- if (closed) return;
- if (destroyed) return;
- destroyed = true;
-
- // request.destroy just do .end - .abort is what we want
- if (isRequest(stream)) return stream.abort();
- if (typeof stream.destroy === 'function') return stream.destroy();
- callback(err || new ERR_STREAM_DESTROYED('pipe'));
- };
-}
-function call(fn) {
- fn();
-}
-function pipe(from, to) {
- return from.pipe(to);
-}
-function popCallback(streams) {
- if (!streams.length) return noop;
- if (typeof streams[streams.length - 1] !== 'function') return noop;
- return streams.pop();
-}
-function pipeline() {
- for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {
- streams[_key] = arguments[_key];
- }
- var callback = popCallback(streams);
- if (Array.isArray(streams[0])) streams = streams[0];
- if (streams.length < 2) {
- throw new ERR_MISSING_ARGS('streams');
- }
- var error;
- var destroys = streams.map(function (stream, i) {
- var reading = i < streams.length - 1;
- var writing = i > 0;
- return destroyer(stream, reading, writing, function (err) {
- if (!error) error = err;
- if (err) destroys.forEach(call);
- if (reading) return;
- destroys.forEach(call);
- callback(error);
- });
- });
- return streams.reduce(pipe);
-}
-module.exports = pipeline; \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js
deleted file mode 100644
index 3fbf892..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js
+++ /dev/null
@@ -1,22 +0,0 @@
-'use strict';
-
-var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;
-function highWaterMarkFrom(options, isDuplex, duplexKey) {
- return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-}
-function getHighWaterMark(state, options, duplexKey, isDuplex) {
- var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
- if (hwm != null) {
- if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {
- var name = isDuplex ? duplexKey : 'highWaterMark';
- throw new ERR_INVALID_OPT_VALUE(name, hwm);
- }
- return Math.floor(hwm);
- }
-
- // Default value
- return state.objectMode ? 16 : 16 * 1024;
-}
-module.exports = {
- getHighWaterMark: getHighWaterMark
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream-browser.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream-browser.js
deleted file mode 100644
index 9332a3f..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream-browser.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('events').EventEmitter;
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js b/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js
deleted file mode 100644
index ce2ad5b..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('stream');
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/package.json b/includes/search/node_modules/bl/node_modules/readable-stream/package.json
deleted file mode 100644
index ade59e7..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "readable-stream",
- "version": "3.6.2",
- "description": "Streams3, a user-land copy of the stream library from Node.js",
- "main": "readable.js",
- "engines": {
- "node": ">= 6"
- },
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "devDependencies": {
- "@babel/cli": "^7.2.0",
- "@babel/core": "^7.2.0",
- "@babel/polyfill": "^7.0.0",
- "@babel/preset-env": "^7.2.0",
- "airtap": "0.0.9",
- "assert": "^1.4.0",
- "bl": "^2.0.0",
- "deep-strict-equal": "^0.2.0",
- "events.once": "^2.0.2",
- "glob": "^7.1.2",
- "gunzip-maybe": "^1.4.1",
- "hyperquest": "^2.1.3",
- "lolex": "^2.6.0",
- "nyc": "^11.0.0",
- "pump": "^3.0.0",
- "rimraf": "^2.6.2",
- "tap": "^12.0.0",
- "tape": "^4.9.0",
- "tar-fs": "^1.16.2",
- "util-promisify": "^2.1.0"
- },
- "scripts": {
- "test": "tap -J --no-esm test/parallel/*.js test/ours/*.js",
- "ci": "TAP=1 tap --no-esm test/parallel/*.js test/ours/*.js | tee test.tap",
- "test-browsers": "airtap --sauce-connect --loopback airtap.local -- test/browser.js",
- "test-browser-local": "airtap --open --local -- test/browser.js",
- "cover": "nyc npm test",
- "report": "nyc report --reporter=lcov",
- "update-browser-errors": "babel -o errors-browser.js errors.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/nodejs/readable-stream"
- },
- "keywords": [
- "readable",
- "stream",
- "pipe"
- ],
- "browser": {
- "util": false,
- "worker_threads": false,
- "./errors": "./errors-browser.js",
- "./readable.js": "./readable-browser.js",
- "./lib/internal/streams/from.js": "./lib/internal/streams/from-browser.js",
- "./lib/internal/streams/stream.js": "./lib/internal/streams/stream-browser.js"
- },
- "nyc": {
- "include": [
- "lib/**.js"
- ]
- },
- "license": "MIT"
-}
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/readable-browser.js b/includes/search/node_modules/bl/node_modules/readable-stream/readable-browser.js
deleted file mode 100644
index adbf60d..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/readable-browser.js
+++ /dev/null
@@ -1,9 +0,0 @@
-exports = module.exports = require('./lib/_stream_readable.js');
-exports.Stream = exports;
-exports.Readable = exports;
-exports.Writable = require('./lib/_stream_writable.js');
-exports.Duplex = require('./lib/_stream_duplex.js');
-exports.Transform = require('./lib/_stream_transform.js');
-exports.PassThrough = require('./lib/_stream_passthrough.js');
-exports.finished = require('./lib/internal/streams/end-of-stream.js');
-exports.pipeline = require('./lib/internal/streams/pipeline.js');
diff --git a/includes/search/node_modules/bl/node_modules/readable-stream/readable.js b/includes/search/node_modules/bl/node_modules/readable-stream/readable.js
deleted file mode 100644
index 9e0ca12..0000000
--- a/includes/search/node_modules/bl/node_modules/readable-stream/readable.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var Stream = require('stream');
-if (process.env.READABLE_STREAM === 'disable' && Stream) {
- module.exports = Stream.Readable;
- Object.assign(module.exports, Stream);
- module.exports.Stream = Stream;
-} else {
- exports = module.exports = require('./lib/_stream_readable.js');
- exports.Stream = Stream || exports;
- exports.Readable = exports;
- exports.Writable = require('./lib/_stream_writable.js');
- exports.Duplex = require('./lib/_stream_duplex.js');
- exports.Transform = require('./lib/_stream_transform.js');
- exports.PassThrough = require('./lib/_stream_passthrough.js');
- exports.finished = require('./lib/internal/streams/end-of-stream.js');
- exports.pipeline = require('./lib/internal/streams/pipeline.js');
-}
diff --git a/includes/search/node_modules/bl/package.json b/includes/search/node_modules/bl/package.json
deleted file mode 100644
index 3b2be3f..0000000
--- a/includes/search/node_modules/bl/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "bl",
- "version": "4.1.0",
- "description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
- "license": "MIT",
- "main": "bl.js",
- "scripts": {
- "lint": "standard *.js test/*.js",
- "test": "npm run lint && node test/test.js | faucet"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/rvagg/bl.git"
- },
- "homepage": "https://github.com/rvagg/bl",
- "authors": [
- "Rod Vagg <rod@vagg.org> (https://github.com/rvagg)",
- "Matteo Collina <matteo.collina@gmail.com> (https://github.com/mcollina)",
- "Jarett Cruger <jcrugzz@gmail.com> (https://github.com/jcrugzz)"
- ],
- "keywords": [
- "buffer",
- "buffers",
- "stream",
- "awesomesauce"
- ],
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- },
- "devDependencies": {
- "faucet": "~0.0.1",
- "standard": "^14.3.0",
- "tape": "^4.11.0"
- }
-}
diff --git a/includes/search/node_modules/bl/test/convert.js b/includes/search/node_modules/bl/test/convert.js
deleted file mode 100644
index 9f3e235..0000000
--- a/includes/search/node_modules/bl/test/convert.js
+++ /dev/null
@@ -1,21 +0,0 @@
-'use strict'
-
-const tape = require('tape')
-const { BufferList, BufferListStream } = require('../')
-const { Buffer } = require('buffer')
-
-tape('convert from BufferList to BufferListStream', (t) => {
- const data = Buffer.from(`TEST-${Date.now()}`)
- const bl = new BufferList(data)
- const bls = new BufferListStream(bl)
- t.ok(bl.slice().equals(bls.slice()))
- t.end()
-})
-
-tape('convert from BufferListStream to BufferList', (t) => {
- const data = Buffer.from(`TEST-${Date.now()}`)
- const bls = new BufferListStream(data)
- const bl = new BufferList(bls)
- t.ok(bl.slice().equals(bls.slice()))
- t.end()
-})
diff --git a/includes/search/node_modules/bl/test/indexOf.js b/includes/search/node_modules/bl/test/indexOf.js
deleted file mode 100644
index 62dcb01..0000000
--- a/includes/search/node_modules/bl/test/indexOf.js
+++ /dev/null
@@ -1,492 +0,0 @@
-'use strict'
-
-const tape = require('tape')
-const BufferList = require('../')
-const { Buffer } = require('buffer')
-
-tape('indexOf single byte needle', (t) => {
- const bl = new BufferList(['abcdefg', 'abcdefg', '12345'])
-
- t.equal(bl.indexOf('e'), 4)
- t.equal(bl.indexOf('e', 5), 11)
- t.equal(bl.indexOf('e', 12), -1)
- t.equal(bl.indexOf('5'), 18)
-
- t.end()
-})
-
-tape('indexOf multiple byte needle', (t) => {
- const bl = new BufferList(['abcdefg', 'abcdefg'])
-
- t.equal(bl.indexOf('ef'), 4)
- t.equal(bl.indexOf('ef', 5), 11)
-
- t.end()
-})
-
-tape('indexOf multiple byte needles across buffer boundaries', (t) => {
- const bl = new BufferList(['abcdefg', 'abcdefg'])
-
- t.equal(bl.indexOf('fgabc'), 5)
-
- t.end()
-})
-
-tape('indexOf takes a Uint8Array search', (t) => {
- const bl = new BufferList(['abcdefg', 'abcdefg'])
- const search = new Uint8Array([102, 103, 97, 98, 99]) // fgabc
-
- t.equal(bl.indexOf(search), 5)
-
- t.end()
-})
-
-tape('indexOf takes a buffer list search', (t) => {
- const bl = new BufferList(['abcdefg', 'abcdefg'])
- const search = new BufferList('fgabc')
-
- t.equal(bl.indexOf(search), 5)
-
- t.end()
-})
-
-tape('indexOf a zero byte needle', (t) => {
- const b = new BufferList('abcdef')
- const bufEmpty = Buffer.from('')
-
- t.equal(b.indexOf(''), 0)
- t.equal(b.indexOf('', 1), 1)
- t.equal(b.indexOf('', b.length + 1), b.length)
- t.equal(b.indexOf('', Infinity), b.length)
- t.equal(b.indexOf(bufEmpty), 0)
- t.equal(b.indexOf(bufEmpty, 1), 1)
- t.equal(b.indexOf(bufEmpty, b.length + 1), b.length)
- t.equal(b.indexOf(bufEmpty, Infinity), b.length)
-
- t.end()
-})
-
-tape('indexOf buffers smaller and larger than the needle', (t) => {
- const bl = new BufferList(['abcdefg', 'a', 'bcdefg', 'a', 'bcfgab'])
-
- t.equal(bl.indexOf('fgabc'), 5)
- t.equal(bl.indexOf('fgabc', 6), 12)
- t.equal(bl.indexOf('fgabc', 13), -1)
-
- t.end()
-})
-
-// only present in node 6+
-;(process.version.substr(1).split('.')[0] >= 6) && tape('indexOf latin1 and binary encoding', (t) => {
- const b = new BufferList('abcdef')
-
- // test latin1 encoding
- t.equal(
- new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
- .indexOf('d', 0, 'latin1'),
- 3
- )
- t.equal(
- new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
- .indexOf(Buffer.from('d', 'latin1'), 0, 'latin1'),
- 3
- )
- t.equal(
- new BufferList(Buffer.from('aa\u00e8aa', 'latin1'))
- .indexOf('\u00e8', 'latin1'),
- 2
- )
- t.equal(
- new BufferList(Buffer.from('\u00e8', 'latin1'))
- .indexOf('\u00e8', 'latin1'),
- 0
- )
- t.equal(
- new BufferList(Buffer.from('\u00e8', 'latin1'))
- .indexOf(Buffer.from('\u00e8', 'latin1'), 'latin1'),
- 0
- )
-
- // test binary encoding
- t.equal(
- new BufferList(Buffer.from(b.toString('binary'), 'binary'))
- .indexOf('d', 0, 'binary'),
- 3
- )
- t.equal(
- new BufferList(Buffer.from(b.toString('binary'), 'binary'))
- .indexOf(Buffer.from('d', 'binary'), 0, 'binary'),
- 3
- )
- t.equal(
- new BufferList(Buffer.from('aa\u00e8aa', 'binary'))
- .indexOf('\u00e8', 'binary'),
- 2
- )
- t.equal(
- new BufferList(Buffer.from('\u00e8', 'binary'))
- .indexOf('\u00e8', 'binary'),
- 0
- )
- t.equal(
- new BufferList(Buffer.from('\u00e8', 'binary'))
- .indexOf(Buffer.from('\u00e8', 'binary'), 'binary'),
- 0
- )
-
- t.end()
-})
-
-tape('indexOf the entire nodejs10 buffer test suite', (t) => {
- const b = new BufferList('abcdef')
- const bufA = Buffer.from('a')
- const bufBc = Buffer.from('bc')
- const bufF = Buffer.from('f')
- const bufZ = Buffer.from('z')
-
- const stringComparison = 'abcdef'
-
- t.equal(b.indexOf('a'), 0)
- t.equal(b.indexOf('a', 1), -1)
- t.equal(b.indexOf('a', -1), -1)
- t.equal(b.indexOf('a', -4), -1)
- t.equal(b.indexOf('a', -b.length), 0)
- t.equal(b.indexOf('a', NaN), 0)
- t.equal(b.indexOf('a', -Infinity), 0)
- t.equal(b.indexOf('a', Infinity), -1)
- t.equal(b.indexOf('bc'), 1)
- t.equal(b.indexOf('bc', 2), -1)
- t.equal(b.indexOf('bc', -1), -1)
- t.equal(b.indexOf('bc', -3), -1)
- t.equal(b.indexOf('bc', -5), 1)
- t.equal(b.indexOf('bc', NaN), 1)
- t.equal(b.indexOf('bc', -Infinity), 1)
- t.equal(b.indexOf('bc', Infinity), -1)
- t.equal(b.indexOf('f'), b.length - 1)
- t.equal(b.indexOf('z'), -1)
-
- // empty search tests
- t.equal(b.indexOf(bufA), 0)
- t.equal(b.indexOf(bufA, 1), -1)
- t.equal(b.indexOf(bufA, -1), -1)
- t.equal(b.indexOf(bufA, -4), -1)
- t.equal(b.indexOf(bufA, -b.length), 0)
- t.equal(b.indexOf(bufA, NaN), 0)
- t.equal(b.indexOf(bufA, -Infinity), 0)
- t.equal(b.indexOf(bufA, Infinity), -1)
- t.equal(b.indexOf(bufBc), 1)
- t.equal(b.indexOf(bufBc, 2), -1)
- t.equal(b.indexOf(bufBc, -1), -1)
- t.equal(b.indexOf(bufBc, -3), -1)
- t.equal(b.indexOf(bufBc, -5), 1)
- t.equal(b.indexOf(bufBc, NaN), 1)
- t.equal(b.indexOf(bufBc, -Infinity), 1)
- t.equal(b.indexOf(bufBc, Infinity), -1)
- t.equal(b.indexOf(bufF), b.length - 1)
- t.equal(b.indexOf(bufZ), -1)
- t.equal(b.indexOf(0x61), 0)
- t.equal(b.indexOf(0x61, 1), -1)
- t.equal(b.indexOf(0x61, -1), -1)
- t.equal(b.indexOf(0x61, -4), -1)
- t.equal(b.indexOf(0x61, -b.length), 0)
- t.equal(b.indexOf(0x61, NaN), 0)
- t.equal(b.indexOf(0x61, -Infinity), 0)
- t.equal(b.indexOf(0x61, Infinity), -1)
- t.equal(b.indexOf(0x0), -1)
-
- // test offsets
- t.equal(b.indexOf('d', 2), 3)
- t.equal(b.indexOf('f', 5), 5)
- t.equal(b.indexOf('f', -1), 5)
- t.equal(b.indexOf('f', 6), -1)
-
- t.equal(b.indexOf(Buffer.from('d'), 2), 3)
- t.equal(b.indexOf(Buffer.from('f'), 5), 5)
- t.equal(b.indexOf(Buffer.from('f'), -1), 5)
- t.equal(b.indexOf(Buffer.from('f'), 6), -1)
-
- t.equal(Buffer.from('ff').indexOf(Buffer.from('f'), 1, 'ucs2'), -1)
-
- // test invalid and uppercase encoding
- t.equal(b.indexOf('b', 'utf8'), 1)
- t.equal(b.indexOf('b', 'UTF8'), 1)
- t.equal(b.indexOf('62', 'HEX'), 1)
- t.throws(() => b.indexOf('bad', 'enc'), TypeError)
-
- // test hex encoding
- t.equal(
- Buffer.from(b.toString('hex'), 'hex')
- .indexOf('64', 0, 'hex'),
- 3
- )
- t.equal(
- Buffer.from(b.toString('hex'), 'hex')
- .indexOf(Buffer.from('64', 'hex'), 0, 'hex'),
- 3
- )
-
- // test base64 encoding
- t.equal(
- Buffer.from(b.toString('base64'), 'base64')
- .indexOf('ZA==', 0, 'base64'),
- 3
- )
- t.equal(
- Buffer.from(b.toString('base64'), 'base64')
- .indexOf(Buffer.from('ZA==', 'base64'), 0, 'base64'),
- 3
- )
-
- // test ascii encoding
- t.equal(
- Buffer.from(b.toString('ascii'), 'ascii')
- .indexOf('d', 0, 'ascii'),
- 3
- )
- t.equal(
- Buffer.from(b.toString('ascii'), 'ascii')
- .indexOf(Buffer.from('d', 'ascii'), 0, 'ascii'),
- 3
- )
-
- // test optional offset with passed encoding
- t.equal(Buffer.from('aaaa0').indexOf('30', 'hex'), 4)
- t.equal(Buffer.from('aaaa00a').indexOf('3030', 'hex'), 4)
-
- {
- // test usc2 encoding
- const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
-
- t.equal(8, twoByteString.indexOf('\u0395', 4, 'ucs2'))
- t.equal(6, twoByteString.indexOf('\u03a3', -4, 'ucs2'))
- t.equal(4, twoByteString.indexOf('\u03a3', -6, 'ucs2'))
- t.equal(4, twoByteString.indexOf(
- Buffer.from('\u03a3', 'ucs2'), -6, 'ucs2'))
- t.equal(-1, twoByteString.indexOf('\u03a3', -2, 'ucs2'))
- }
-
- const mixedByteStringUcs2 =
- Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395', 'ucs2')
-
- t.equal(6, mixedByteStringUcs2.indexOf('bc', 0, 'ucs2'))
- t.equal(10, mixedByteStringUcs2.indexOf('\u03a3', 0, 'ucs2'))
- t.equal(-1, mixedByteStringUcs2.indexOf('\u0396', 0, 'ucs2'))
-
- t.equal(
- 6, mixedByteStringUcs2.indexOf(Buffer.from('bc', 'ucs2'), 0, 'ucs2'))
- t.equal(
- 10, mixedByteStringUcs2.indexOf(Buffer.from('\u03a3', 'ucs2'), 0, 'ucs2'))
- t.equal(
- -1, mixedByteStringUcs2.indexOf(Buffer.from('\u0396', 'ucs2'), 0, 'ucs2'))
-
- {
- const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
-
- // Test single char pattern
- t.equal(0, twoByteString.indexOf('\u039a', 0, 'ucs2'))
- let index = twoByteString.indexOf('\u0391', 0, 'ucs2')
- t.equal(2, index, `Alpha - at index ${index}`)
- index = twoByteString.indexOf('\u03a3', 0, 'ucs2')
- t.equal(4, index, `First Sigma - at index ${index}`)
- index = twoByteString.indexOf('\u03a3', 6, 'ucs2')
- t.equal(6, index, `Second Sigma - at index ${index}`)
- index = twoByteString.indexOf('\u0395', 0, 'ucs2')
- t.equal(8, index, `Epsilon - at index ${index}`)
- index = twoByteString.indexOf('\u0392', 0, 'ucs2')
- t.equal(-1, index, `Not beta - at index ${index}`)
-
- // Test multi-char pattern
- index = twoByteString.indexOf('\u039a\u0391', 0, 'ucs2')
- t.equal(0, index, `Lambda Alpha - at index ${index}`)
- index = twoByteString.indexOf('\u0391\u03a3', 0, 'ucs2')
- t.equal(2, index, `Alpha Sigma - at index ${index}`)
- index = twoByteString.indexOf('\u03a3\u03a3', 0, 'ucs2')
- t.equal(4, index, `Sigma Sigma - at index ${index}`)
- index = twoByteString.indexOf('\u03a3\u0395', 0, 'ucs2')
- t.equal(6, index, `Sigma Epsilon - at index ${index}`)
- }
-
- const mixedByteStringUtf8 = Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395')
-
- t.equal(5, mixedByteStringUtf8.indexOf('bc'))
- t.equal(5, mixedByteStringUtf8.indexOf('bc', 5))
- t.equal(5, mixedByteStringUtf8.indexOf('bc', -8))
- t.equal(7, mixedByteStringUtf8.indexOf('\u03a3'))
- t.equal(-1, mixedByteStringUtf8.indexOf('\u0396'))
-
- // Test complex string indexOf algorithms. Only trigger for long strings.
- // Long string that isn't a simple repeat of a shorter string.
- let longString = 'A'
- for (let i = 66; i < 76; i++) { // from 'B' to 'K'
- longString = longString + String.fromCharCode(i) + longString
- }
-
- const longBufferString = Buffer.from(longString)
-
- // pattern of 15 chars, repeated every 16 chars in long
- let pattern = 'ABACABADABACABA'
- for (let i = 0; i < longBufferString.length - pattern.length; i += 7) {
- const index = longBufferString.indexOf(pattern, i)
- t.equal((i + 15) & ~0xf, index,
- `Long ABACABA...-string at index ${i}`)
- }
-
- let index = longBufferString.indexOf('AJABACA')
- t.equal(510, index, `Long AJABACA, First J - at index ${index}`)
- index = longBufferString.indexOf('AJABACA', 511)
- t.equal(1534, index, `Long AJABACA, Second J - at index ${index}`)
-
- pattern = 'JABACABADABACABA'
- index = longBufferString.indexOf(pattern)
- t.equal(511, index, `Long JABACABA..., First J - at index ${index}`)
- index = longBufferString.indexOf(pattern, 512)
- t.equal(
- 1535, index, `Long JABACABA..., Second J - at index ${index}`)
-
- // Search for a non-ASCII string in a pure ASCII string.
- const asciiString = Buffer.from(
- 'somethingnotatallsinisterwhichalsoworks')
- t.equal(-1, asciiString.indexOf('\x2061'))
- t.equal(3, asciiString.indexOf('eth', 0))
-
- // Search in string containing many non-ASCII chars.
- const allCodePoints = []
- for (let i = 0; i < 65536; i++) {
- allCodePoints[i] = i
- }
-
- const allCharsString = String.fromCharCode.apply(String, allCodePoints)
- const allCharsBufferUtf8 = Buffer.from(allCharsString)
- const allCharsBufferUcs2 = Buffer.from(allCharsString, 'ucs2')
-
- // Search for string long enough to trigger complex search with ASCII pattern
- // and UC16 subject.
- t.equal(-1, allCharsBufferUtf8.indexOf('notfound'))
- t.equal(-1, allCharsBufferUcs2.indexOf('notfound'))
-
- // Needle is longer than haystack, but only because it's encoded as UTF-16
- t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'ucs2'), -1)
-
- t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'utf8'), 0)
- t.equal(Buffer.from('aaaa').indexOf('你好', 'ucs2'), -1)
-
- // Haystack has odd length, but the needle is UCS2.
- t.equal(Buffer.from('aaaaa').indexOf('b', 'ucs2'), -1)
-
- {
- // Find substrings in Utf8.
- const lengths = [1, 3, 15] // Single char, simple and complex.
- const indices = [0x5, 0x60, 0x400, 0x680, 0x7ee, 0xFF02, 0x16610, 0x2f77b]
- for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
- for (let i = 0; i < indices.length; i++) {
- const index = indices[i]
- let length = lengths[lengthIndex]
-
- if (index + length > 0x7F) {
- length = 2 * length
- }
-
- if (index + length > 0x7FF) {
- length = 3 * length
- }
-
- if (index + length > 0xFFFF) {
- length = 4 * length
- }
-
- const patternBufferUtf8 = allCharsBufferUtf8.slice(index, index + length)
- t.equal(index, allCharsBufferUtf8.indexOf(patternBufferUtf8))
-
- const patternStringUtf8 = patternBufferUtf8.toString()
- t.equal(index, allCharsBufferUtf8.indexOf(patternStringUtf8))
- }
- }
- }
-
- {
- // Find substrings in Usc2.
- const lengths = [2, 4, 16] // Single char, simple and complex.
- const indices = [0x5, 0x65, 0x105, 0x205, 0x285, 0x2005, 0x2085, 0xfff0]
-
- for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
- for (let i = 0; i < indices.length; i++) {
- const index = indices[i] * 2
- const length = lengths[lengthIndex]
-
- const patternBufferUcs2 =
- allCharsBufferUcs2.slice(index, index + length)
- t.equal(
- index, allCharsBufferUcs2.indexOf(patternBufferUcs2, 0, 'ucs2'))
-
- const patternStringUcs2 = patternBufferUcs2.toString('ucs2')
- t.equal(
- index, allCharsBufferUcs2.indexOf(patternStringUcs2, 0, 'ucs2'))
- }
- }
- }
-
- [
- () => {},
- {},
- []
- ].forEach((val) => {
- t.throws(() => b.indexOf(val), TypeError, `"${JSON.stringify(val)}" should throw`)
- })
-
- // Test weird offset arguments.
- // The following offsets coerce to NaN or 0, searching the whole Buffer
- t.equal(b.indexOf('b', undefined), 1)
- t.equal(b.indexOf('b', {}), 1)
- t.equal(b.indexOf('b', 0), 1)
- t.equal(b.indexOf('b', null), 1)
- t.equal(b.indexOf('b', []), 1)
-
- // The following offset coerces to 2, in other words +[2] === 2
- t.equal(b.indexOf('b', [2]), -1)
-
- // Behavior should match String.indexOf()
- t.equal(
- b.indexOf('b', undefined),
- stringComparison.indexOf('b', undefined))
- t.equal(
- b.indexOf('b', {}),
- stringComparison.indexOf('b', {}))
- t.equal(
- b.indexOf('b', 0),
- stringComparison.indexOf('b', 0))
- t.equal(
- b.indexOf('b', null),
- stringComparison.indexOf('b', null))
- t.equal(
- b.indexOf('b', []),
- stringComparison.indexOf('b', []))
- t.equal(
- b.indexOf('b', [2]),
- stringComparison.indexOf('b', [2]))
-
- // test truncation of Number arguments to uint8
- {
- const buf = Buffer.from('this is a test')
-
- t.equal(buf.indexOf(0x6973), 3)
- t.equal(buf.indexOf(0x697320), 4)
- t.equal(buf.indexOf(0x69732069), 2)
- t.equal(buf.indexOf(0x697374657374), 0)
- t.equal(buf.indexOf(0x69737374), 0)
- t.equal(buf.indexOf(0x69737465), 11)
- t.equal(buf.indexOf(0x69737465), 11)
- t.equal(buf.indexOf(-140), 0)
- t.equal(buf.indexOf(-152), 1)
- t.equal(buf.indexOf(0xff), -1)
- t.equal(buf.indexOf(0xffff), -1)
- }
-
- // Test that Uint8Array arguments are okay.
- {
- const needle = new Uint8Array([0x66, 0x6f, 0x6f])
- const haystack = new BufferList(Buffer.from('a foo b foo'))
- t.equal(haystack.indexOf(needle), 2)
- }
-
- t.end()
-})
diff --git a/includes/search/node_modules/bl/test/isBufferList.js b/includes/search/node_modules/bl/test/isBufferList.js
deleted file mode 100644
index 9d895d5..0000000
--- a/includes/search/node_modules/bl/test/isBufferList.js
+++ /dev/null
@@ -1,32 +0,0 @@
-'use strict'
-
-const tape = require('tape')
-const { BufferList, BufferListStream } = require('../')
-const { Buffer } = require('buffer')
-
-tape('isBufferList positives', (t) => {
- t.ok(BufferList.isBufferList(new BufferList()))
- t.ok(BufferList.isBufferList(new BufferListStream()))
-
- t.end()
-})
-
-tape('isBufferList negatives', (t) => {
- const types = [
- null,
- undefined,
- NaN,
- true,
- false,
- {},
- [],
- Buffer.alloc(0),
- [Buffer.alloc(0)]
- ]
-
- for (const obj of types) {
- t.notOk(BufferList.isBufferList(obj))
- }
-
- t.end()
-})
diff --git a/includes/search/node_modules/bl/test/test.js b/includes/search/node_modules/bl/test/test.js
deleted file mode 100644
index e523d0c..0000000
--- a/includes/search/node_modules/bl/test/test.js
+++ /dev/null
@@ -1,869 +0,0 @@
-'use strict'
-
-const tape = require('tape')
-const crypto = require('crypto')
-const fs = require('fs')
-const path = require('path')
-const BufferList = require('../')
-const { Buffer } = require('buffer')
-
-const encodings =
- ('hex utf8 utf-8 ascii binary base64' +
- (process.browser ? '' : ' ucs2 ucs-2 utf16le utf-16le')).split(' ')
-
-require('./indexOf')
-require('./isBufferList')
-require('./convert')
-
-tape('single bytes from single buffer', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('abcd'))
-
- t.equal(bl.length, 4)
- t.equal(bl.get(-1), undefined)
- t.equal(bl.get(0), 97)
- t.equal(bl.get(1), 98)
- t.equal(bl.get(2), 99)
- t.equal(bl.get(3), 100)
- t.equal(bl.get(4), undefined)
-
- t.end()
-})
-
-tape('single bytes from multiple buffers', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('abcd'))
- bl.append(Buffer.from('efg'))
- bl.append(Buffer.from('hi'))
- bl.append(Buffer.from('j'))
-
- t.equal(bl.length, 10)
-
- t.equal(bl.get(0), 97)
- t.equal(bl.get(1), 98)
- t.equal(bl.get(2), 99)
- t.equal(bl.get(3), 100)
- t.equal(bl.get(4), 101)
- t.equal(bl.get(5), 102)
- t.equal(bl.get(6), 103)
- t.equal(bl.get(7), 104)
- t.equal(bl.get(8), 105)
- t.equal(bl.get(9), 106)
-
- t.end()
-})
-
-tape('multi bytes from single buffer', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('abcd'))
-
- t.equal(bl.length, 4)
-
- t.equal(bl.slice(0, 4).toString('ascii'), 'abcd')
- t.equal(bl.slice(0, 3).toString('ascii'), 'abc')
- t.equal(bl.slice(1, 4).toString('ascii'), 'bcd')
- t.equal(bl.slice(-4, -1).toString('ascii'), 'abc')
-
- t.end()
-})
-
-tape('multi bytes from single buffer (negative indexes)', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('buffer'))
-
- t.equal(bl.length, 6)
-
- t.equal(bl.slice(-6, -1).toString('ascii'), 'buffe')
- t.equal(bl.slice(-6, -2).toString('ascii'), 'buff')
- t.equal(bl.slice(-5, -2).toString('ascii'), 'uff')
-
- t.end()
-})
-
-tape('multiple bytes from multiple buffers', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('abcd'))
- bl.append(Buffer.from('efg'))
- bl.append(Buffer.from('hi'))
- bl.append(Buffer.from('j'))
-
- t.equal(bl.length, 10)
-
- t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij')
- t.equal(bl.slice(3, 10).toString('ascii'), 'defghij')
- t.equal(bl.slice(3, 6).toString('ascii'), 'def')
- t.equal(bl.slice(3, 8).toString('ascii'), 'defgh')
- t.equal(bl.slice(5, 10).toString('ascii'), 'fghij')
- t.equal(bl.slice(-7, -4).toString('ascii'), 'def')
-
- t.end()
-})
-
-tape('multiple bytes from multiple buffer lists', function (t) {
- const bl = new BufferList()
-
- bl.append(new BufferList([Buffer.from('abcd'), Buffer.from('efg')]))
- bl.append(new BufferList([Buffer.from('hi'), Buffer.from('j')]))
-
- t.equal(bl.length, 10)
-
- t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij')
-
- t.equal(bl.slice(3, 10).toString('ascii'), 'defghij')
- t.equal(bl.slice(3, 6).toString('ascii'), 'def')
- t.equal(bl.slice(3, 8).toString('ascii'), 'defgh')
- t.equal(bl.slice(5, 10).toString('ascii'), 'fghij')
-
- t.end()
-})
-
-// same data as previous test, just using nested constructors
-tape('multiple bytes from crazy nested buffer lists', function (t) {
- const bl = new BufferList()
-
- bl.append(new BufferList([
- new BufferList([
- new BufferList(Buffer.from('abc')),
- Buffer.from('d'),
- new BufferList(Buffer.from('efg'))
- ]),
- new BufferList([Buffer.from('hi')]),
- new BufferList(Buffer.from('j'))
- ]))
-
- t.equal(bl.length, 10)
-
- t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij')
-
- t.equal(bl.slice(3, 10).toString('ascii'), 'defghij')
- t.equal(bl.slice(3, 6).toString('ascii'), 'def')
- t.equal(bl.slice(3, 8).toString('ascii'), 'defgh')
- t.equal(bl.slice(5, 10).toString('ascii'), 'fghij')
-
- t.end()
-})
-
-tape('append accepts arrays of Buffers', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('abc'))
- bl.append([Buffer.from('def')])
- bl.append([Buffer.from('ghi'), Buffer.from('jkl')])
- bl.append([Buffer.from('mnop'), Buffer.from('qrstu'), Buffer.from('vwxyz')])
- t.equal(bl.length, 26)
- t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz')
-
- t.end()
-})
-
-tape('append accepts arrays of Uint8Arrays', function (t) {
- const bl = new BufferList()
-
- bl.append(new Uint8Array([97, 98, 99]))
- bl.append([Uint8Array.from([100, 101, 102])])
- bl.append([new Uint8Array([103, 104, 105]), new Uint8Array([106, 107, 108])])
- bl.append([new Uint8Array([109, 110, 111, 112]), new Uint8Array([113, 114, 115, 116, 117]), new Uint8Array([118, 119, 120, 121, 122])])
- t.equal(bl.length, 26)
- t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz')
-
- t.end()
-})
-
-tape('append accepts arrays of BufferLists', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('abc'))
- bl.append([new BufferList('def')])
- bl.append(new BufferList([Buffer.from('ghi'), new BufferList('jkl')]))
- bl.append([Buffer.from('mnop'), new BufferList([Buffer.from('qrstu'), Buffer.from('vwxyz')])])
- t.equal(bl.length, 26)
- t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz')
-
- t.end()
-})
-
-tape('append chainable', function (t) {
- const bl = new BufferList()
-
- t.ok(bl.append(Buffer.from('abcd')) === bl)
- t.ok(bl.append([Buffer.from('abcd')]) === bl)
- t.ok(bl.append(new BufferList(Buffer.from('abcd'))) === bl)
- t.ok(bl.append([new BufferList(Buffer.from('abcd'))]) === bl)
-
- t.end()
-})
-
-tape('append chainable (test results)', function (t) {
- const bl = new BufferList('abc')
- .append([new BufferList('def')])
- .append(new BufferList([Buffer.from('ghi'), new BufferList('jkl')]))
- .append([Buffer.from('mnop'), new BufferList([Buffer.from('qrstu'), Buffer.from('vwxyz')])])
-
- t.equal(bl.length, 26)
- t.equal(bl.slice().toString('ascii'), 'abcdefghijklmnopqrstuvwxyz')
-
- t.end()
-})
-
-tape('consuming from multiple buffers', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('abcd'))
- bl.append(Buffer.from('efg'))
- bl.append(Buffer.from('hi'))
- bl.append(Buffer.from('j'))
-
- t.equal(bl.length, 10)
-
- t.equal(bl.slice(0, 10).toString('ascii'), 'abcdefghij')
-
- bl.consume(3)
- t.equal(bl.length, 7)
- t.equal(bl.slice(0, 7).toString('ascii'), 'defghij')
-
- bl.consume(2)
- t.equal(bl.length, 5)
- t.equal(bl.slice(0, 5).toString('ascii'), 'fghij')
-
- bl.consume(1)
- t.equal(bl.length, 4)
- t.equal(bl.slice(0, 4).toString('ascii'), 'ghij')
-
- bl.consume(1)
- t.equal(bl.length, 3)
- t.equal(bl.slice(0, 3).toString('ascii'), 'hij')
-
- bl.consume(2)
- t.equal(bl.length, 1)
- t.equal(bl.slice(0, 1).toString('ascii'), 'j')
-
- t.end()
-})
-
-tape('complete consumption', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('a'))
- bl.append(Buffer.from('b'))
-
- bl.consume(2)
-
- t.equal(bl.length, 0)
- t.equal(bl._bufs.length, 0)
-
- t.end()
-})
-
-tape('test readUInt8 / readInt8', function (t) {
- const buf1 = Buffer.alloc(1)
- const buf2 = Buffer.alloc(3)
- const buf3 = Buffer.alloc(3)
- const bl = new BufferList()
-
- buf1[0] = 0x1
- buf2[1] = 0x3
- buf2[2] = 0x4
- buf3[0] = 0x23
- buf3[1] = 0x42
-
- bl.append(buf1)
- bl.append(buf2)
- bl.append(buf3)
-
- t.equal(bl.readUInt8(), 0x1)
- t.equal(bl.readUInt8(2), 0x3)
- t.equal(bl.readInt8(2), 0x3)
- t.equal(bl.readUInt8(3), 0x4)
- t.equal(bl.readInt8(3), 0x4)
- t.equal(bl.readUInt8(4), 0x23)
- t.equal(bl.readInt8(4), 0x23)
- t.equal(bl.readUInt8(5), 0x42)
- t.equal(bl.readInt8(5), 0x42)
-
- t.end()
-})
-
-tape('test readUInt16LE / readUInt16BE / readInt16LE / readInt16BE', function (t) {
- const buf1 = Buffer.alloc(1)
- const buf2 = Buffer.alloc(3)
- const buf3 = Buffer.alloc(3)
- const bl = new BufferList()
-
- buf1[0] = 0x1
- buf2[1] = 0x3
- buf2[2] = 0x4
- buf3[0] = 0x23
- buf3[1] = 0x42
-
- bl.append(buf1)
- bl.append(buf2)
- bl.append(buf3)
-
- t.equal(bl.readUInt16BE(), 0x0100)
- t.equal(bl.readUInt16LE(), 0x0001)
- t.equal(bl.readUInt16BE(2), 0x0304)
- t.equal(bl.readUInt16LE(2), 0x0403)
- t.equal(bl.readInt16BE(2), 0x0304)
- t.equal(bl.readInt16LE(2), 0x0403)
- t.equal(bl.readUInt16BE(3), 0x0423)
- t.equal(bl.readUInt16LE(3), 0x2304)
- t.equal(bl.readInt16BE(3), 0x0423)
- t.equal(bl.readInt16LE(3), 0x2304)
- t.equal(bl.readUInt16BE(4), 0x2342)
- t.equal(bl.readUInt16LE(4), 0x4223)
- t.equal(bl.readInt16BE(4), 0x2342)
- t.equal(bl.readInt16LE(4), 0x4223)
-
- t.end()
-})
-
-tape('test readUInt32LE / readUInt32BE / readInt32LE / readInt32BE', function (t) {
- const buf1 = Buffer.alloc(1)
- const buf2 = Buffer.alloc(3)
- const buf3 = Buffer.alloc(3)
- const bl = new BufferList()
-
- buf1[0] = 0x1
- buf2[1] = 0x3
- buf2[2] = 0x4
- buf3[0] = 0x23
- buf3[1] = 0x42
-
- bl.append(buf1)
- bl.append(buf2)
- bl.append(buf3)
-
- t.equal(bl.readUInt32BE(), 0x01000304)
- t.equal(bl.readUInt32LE(), 0x04030001)
- t.equal(bl.readUInt32BE(2), 0x03042342)
- t.equal(bl.readUInt32LE(2), 0x42230403)
- t.equal(bl.readInt32BE(2), 0x03042342)
- t.equal(bl.readInt32LE(2), 0x42230403)
-
- t.end()
-})
-
-tape('test readUIntLE / readUIntBE / readIntLE / readIntBE', function (t) {
- const buf1 = Buffer.alloc(1)
- const buf2 = Buffer.alloc(3)
- const buf3 = Buffer.alloc(3)
- const bl = new BufferList()
-
- buf2[0] = 0x2
- buf2[1] = 0x3
- buf2[2] = 0x4
- buf3[0] = 0x23
- buf3[1] = 0x42
- buf3[2] = 0x61
-
- bl.append(buf1)
- bl.append(buf2)
- bl.append(buf3)
-
- t.equal(bl.readUIntBE(1, 1), 0x02)
- t.equal(bl.readUIntBE(1, 2), 0x0203)
- t.equal(bl.readUIntBE(1, 3), 0x020304)
- t.equal(bl.readUIntBE(1, 4), 0x02030423)
- t.equal(bl.readUIntBE(1, 5), 0x0203042342)
- t.equal(bl.readUIntBE(1, 6), 0x020304234261)
- t.equal(bl.readUIntLE(1, 1), 0x02)
- t.equal(bl.readUIntLE(1, 2), 0x0302)
- t.equal(bl.readUIntLE(1, 3), 0x040302)
- t.equal(bl.readUIntLE(1, 4), 0x23040302)
- t.equal(bl.readUIntLE(1, 5), 0x4223040302)
- t.equal(bl.readUIntLE(1, 6), 0x614223040302)
- t.equal(bl.readIntBE(1, 1), 0x02)
- t.equal(bl.readIntBE(1, 2), 0x0203)
- t.equal(bl.readIntBE(1, 3), 0x020304)
- t.equal(bl.readIntBE(1, 4), 0x02030423)
- t.equal(bl.readIntBE(1, 5), 0x0203042342)
- t.equal(bl.readIntBE(1, 6), 0x020304234261)
- t.equal(bl.readIntLE(1, 1), 0x02)
- t.equal(bl.readIntLE(1, 2), 0x0302)
- t.equal(bl.readIntLE(1, 3), 0x040302)
- t.equal(bl.readIntLE(1, 4), 0x23040302)
- t.equal(bl.readIntLE(1, 5), 0x4223040302)
- t.equal(bl.readIntLE(1, 6), 0x614223040302)
-
- t.end()
-})
-
-tape('test readFloatLE / readFloatBE', function (t) {
- const buf1 = Buffer.alloc(1)
- const buf2 = Buffer.alloc(3)
- const buf3 = Buffer.alloc(3)
- const bl = new BufferList()
-
- buf1[0] = 0x01
- buf2[1] = 0x00
- buf2[2] = 0x00
- buf3[0] = 0x80
- buf3[1] = 0x3f
-
- bl.append(buf1)
- bl.append(buf2)
- bl.append(buf3)
-
- const canonical = Buffer.concat([buf1, buf2, buf3])
- t.equal(bl.readFloatLE(), canonical.readFloatLE())
- t.equal(bl.readFloatBE(), canonical.readFloatBE())
- t.equal(bl.readFloatLE(2), canonical.readFloatLE(2))
- t.equal(bl.readFloatBE(2), canonical.readFloatBE(2))
-
- t.end()
-})
-
-tape('test readDoubleLE / readDoubleBE', function (t) {
- const buf1 = Buffer.alloc(1)
- const buf2 = Buffer.alloc(3)
- const buf3 = Buffer.alloc(10)
- const bl = new BufferList()
-
- buf1[0] = 0x01
- buf2[1] = 0x55
- buf2[2] = 0x55
- buf3[0] = 0x55
- buf3[1] = 0x55
- buf3[2] = 0x55
- buf3[3] = 0x55
- buf3[4] = 0xd5
- buf3[5] = 0x3f
-
- bl.append(buf1)
- bl.append(buf2)
- bl.append(buf3)
-
- const canonical = Buffer.concat([buf1, buf2, buf3])
- t.equal(bl.readDoubleBE(), canonical.readDoubleBE())
- t.equal(bl.readDoubleLE(), canonical.readDoubleLE())
- t.equal(bl.readDoubleBE(2), canonical.readDoubleBE(2))
- t.equal(bl.readDoubleLE(2), canonical.readDoubleLE(2))
-
- t.end()
-})
-
-tape('test toString', function (t) {
- const bl = new BufferList()
-
- bl.append(Buffer.from('abcd'))
- bl.append(Buffer.from('efg'))
- bl.append(Buffer.from('hi'))
- bl.append(Buffer.from('j'))
-
- t.equal(bl.toString('ascii', 0, 10), 'abcdefghij')
- t.equal(bl.toString('ascii', 3, 10), 'defghij')
- t.equal(bl.toString('ascii', 3, 6), 'def')
- t.equal(bl.toString('ascii', 3, 8), 'defgh')
- t.equal(bl.toString('ascii', 5, 10), 'fghij')
-
- t.end()
-})
-
-tape('test toString encoding', function (t) {
- const bl = new BufferList()
- const b = Buffer.from('abcdefghij\xff\x00')
-
- bl.append(Buffer.from('abcd'))
- bl.append(Buffer.from('efg'))
- bl.append(Buffer.from('hi'))
- bl.append(Buffer.from('j'))
- bl.append(Buffer.from('\xff\x00'))
-
- encodings.forEach(function (enc) {
- t.equal(bl.toString(enc), b.toString(enc), enc)
- })
-
- t.end()
-})
-
-tape('uninitialized memory', function (t) {
- const secret = crypto.randomBytes(256)
- for (let i = 0; i < 1e6; i++) {
- const clone = Buffer.from(secret)
- const bl = new BufferList()
- bl.append(Buffer.from('a'))
- bl.consume(-1024)
- const buf = bl.slice(1)
- if (buf.indexOf(clone) !== -1) {
- t.fail(`Match (at ${i})`)
- break
- }
- }
- t.end()
-})
-
-!process.browser && tape('test stream', function (t) {
- const random = crypto.randomBytes(65534)
-
- const bl = new BufferList((err, buf) => {
- t.ok(Buffer.isBuffer(buf))
- t.ok(err === null)
- t.ok(random.equals(bl.slice()))
- t.ok(random.equals(buf.slice()))
-
- bl.pipe(fs.createWriteStream('/tmp/bl_test_rnd_out.dat'))
- .on('close', function () {
- const rndhash = crypto.createHash('md5').update(random).digest('hex')
- const md5sum = crypto.createHash('md5')
- const s = fs.createReadStream('/tmp/bl_test_rnd_out.dat')
-
- s.on('data', md5sum.update.bind(md5sum))
- s.on('end', function () {
- t.equal(rndhash, md5sum.digest('hex'), 'woohoo! correct hash!')
- t.end()
- })
- })
- })
-
- fs.writeFileSync('/tmp/bl_test_rnd.dat', random)
- fs.createReadStream('/tmp/bl_test_rnd.dat').pipe(bl)
-})
-
-tape('instantiation with Buffer', function (t) {
- const buf = crypto.randomBytes(1024)
- const buf2 = crypto.randomBytes(1024)
- let b = BufferList(buf)
-
- t.equal(buf.toString('hex'), b.slice().toString('hex'), 'same buffer')
- b = BufferList([buf, buf2])
- t.equal(b.slice().toString('hex'), Buffer.concat([buf, buf2]).toString('hex'), 'same buffer')
-
- t.end()
-})
-
-tape('test String appendage', function (t) {
- const bl = new BufferList()
- const b = Buffer.from('abcdefghij\xff\x00')
-
- bl.append('abcd')
- bl.append('efg')
- bl.append('hi')
- bl.append('j')
- bl.append('\xff\x00')
-
- encodings.forEach(function (enc) {
- t.equal(bl.toString(enc), b.toString(enc))
- })
-
- t.end()
-})
-
-tape('test Number appendage', function (t) {
- const bl = new BufferList()
- const b = Buffer.from('1234567890')
-
- bl.append(1234)
- bl.append(567)
- bl.append(89)
- bl.append(0)
-
- encodings.forEach(function (enc) {
- t.equal(bl.toString(enc), b.toString(enc))
- })
-
- t.end()
-})
-
-tape('write nothing, should get empty buffer', function (t) {
- t.plan(3)
- BufferList(function (err, data) {
- t.notOk(err, 'no error')
- t.ok(Buffer.isBuffer(data), 'got a buffer')
- t.equal(0, data.length, 'got a zero-length buffer')
- t.end()
- }).end()
-})
-
-tape('unicode string', function (t) {
- t.plan(2)
-
- const inp1 = '\u2600'
- const inp2 = '\u2603'
- const exp = inp1 + ' and ' + inp2
- const bl = BufferList()
-
- bl.write(inp1)
- bl.write(' and ')
- bl.write(inp2)
- t.equal(exp, bl.toString())
- t.equal(Buffer.from(exp).toString('hex'), bl.toString('hex'))
-})
-
-tape('should emit finish', function (t) {
- const source = BufferList()
- const dest = BufferList()
-
- source.write('hello')
- source.pipe(dest)
-
- dest.on('finish', function () {
- t.equal(dest.toString('utf8'), 'hello')
- t.end()
- })
-})
-
-tape('basic copy', function (t) {
- const buf = crypto.randomBytes(1024)
- const buf2 = Buffer.alloc(1024)
- const b = BufferList(buf)
-
- b.copy(buf2)
- t.equal(b.slice().toString('hex'), buf2.toString('hex'), 'same buffer')
-
- t.end()
-})
-
-tape('copy after many appends', function (t) {
- const buf = crypto.randomBytes(512)
- const buf2 = Buffer.alloc(1024)
- const b = BufferList(buf)
-
- b.append(buf)
- b.copy(buf2)
- t.equal(b.slice().toString('hex'), buf2.toString('hex'), 'same buffer')
-
- t.end()
-})
-
-tape('copy at a precise position', function (t) {
- const buf = crypto.randomBytes(1004)
- const buf2 = Buffer.alloc(1024)
- const b = BufferList(buf)
-
- b.copy(buf2, 20)
- t.equal(b.slice().toString('hex'), buf2.slice(20).toString('hex'), 'same buffer')
-
- t.end()
-})
-
-tape('copy starting from a precise location', function (t) {
- const buf = crypto.randomBytes(10)
- const buf2 = Buffer.alloc(5)
- const b = BufferList(buf)
-
- b.copy(buf2, 0, 5)
- t.equal(b.slice(5).toString('hex'), buf2.toString('hex'), 'same buffer')
-
- t.end()
-})
-
-tape('copy in an interval', function (t) {
- const rnd = crypto.randomBytes(10)
- const b = BufferList(rnd) // put the random bytes there
- const actual = Buffer.alloc(3)
- const expected = Buffer.alloc(3)
-
- rnd.copy(expected, 0, 5, 8)
- b.copy(actual, 0, 5, 8)
-
- t.equal(actual.toString('hex'), expected.toString('hex'), 'same buffer')
-
- t.end()
-})
-
-tape('copy an interval between two buffers', function (t) {
- const buf = crypto.randomBytes(10)
- const buf2 = Buffer.alloc(10)
- const b = BufferList(buf)
-
- b.append(buf)
- b.copy(buf2, 0, 5, 15)
-
- t.equal(b.slice(5, 15).toString('hex'), buf2.toString('hex'), 'same buffer')
-
- t.end()
-})
-
-tape('shallow slice across buffer boundaries', function (t) {
- const bl = new BufferList(['First', 'Second', 'Third'])
-
- t.equal(bl.shallowSlice(3, 13).toString(), 'stSecondTh')
-
- t.end()
-})
-
-tape('shallow slice within single buffer', function (t) {
- t.plan(2)
-
- const bl = new BufferList(['First', 'Second', 'Third'])
-
- t.equal(bl.shallowSlice(5, 10).toString(), 'Secon')
- t.equal(bl.shallowSlice(7, 10).toString(), 'con')
-
- t.end()
-})
-
-tape('shallow slice single buffer', function (t) {
- t.plan(3)
-
- const bl = new BufferList(['First', 'Second', 'Third'])
-
- t.equal(bl.shallowSlice(0, 5).toString(), 'First')
- t.equal(bl.shallowSlice(5, 11).toString(), 'Second')
- t.equal(bl.shallowSlice(11, 16).toString(), 'Third')
-})
-
-tape('shallow slice with negative or omitted indices', function (t) {
- t.plan(4)
-
- const bl = new BufferList(['First', 'Second', 'Third'])
-
- t.equal(bl.shallowSlice().toString(), 'FirstSecondThird')
- t.equal(bl.shallowSlice(5).toString(), 'SecondThird')
- t.equal(bl.shallowSlice(5, -3).toString(), 'SecondTh')
- t.equal(bl.shallowSlice(-8).toString(), 'ondThird')
-})
-
-tape('shallow slice does not make a copy', function (t) {
- t.plan(1)
-
- const buffers = [Buffer.from('First'), Buffer.from('Second'), Buffer.from('Third')]
- const bl = (new BufferList(buffers)).shallowSlice(5, -3)
-
- buffers[1].fill('h')
- buffers[2].fill('h')
-
- t.equal(bl.toString(), 'hhhhhhhh')
-})
-
-tape('shallow slice with 0 length', function (t) {
- t.plan(1)
-
- const buffers = [Buffer.from('First'), Buffer.from('Second'), Buffer.from('Third')]
- const bl = (new BufferList(buffers)).shallowSlice(0, 0)
-
- t.equal(bl.length, 0)
-})
-
-tape('shallow slice with 0 length from middle', function (t) {
- t.plan(1)
-
- const buffers = [Buffer.from('First'), Buffer.from('Second'), Buffer.from('Third')]
- const bl = (new BufferList(buffers)).shallowSlice(10, 10)
-
- t.equal(bl.length, 0)
-})
-
-tape('duplicate', function (t) {
- t.plan(2)
-
- const bl = new BufferList('abcdefghij\xff\x00')
- const dup = bl.duplicate()
-
- t.equal(bl.prototype, dup.prototype)
- t.equal(bl.toString('hex'), dup.toString('hex'))
-})
-
-tape('destroy no pipe', function (t) {
- t.plan(2)
-
- const bl = new BufferList('alsdkfja;lsdkfja;lsdk')
-
- bl.destroy()
-
- t.equal(bl._bufs.length, 0)
- t.equal(bl.length, 0)
-})
-
-tape('destroy with error', function (t) {
- t.plan(3)
-
- const bl = new BufferList('alsdkfja;lsdkfja;lsdk')
- const err = new Error('kaboom')
-
- bl.destroy(err)
- bl.on('error', function (_err) {
- t.equal(_err, err)
- })
-
- t.equal(bl._bufs.length, 0)
- t.equal(bl.length, 0)
-})
-
-!process.browser && tape('destroy with pipe before read end', function (t) {
- t.plan(2)
-
- const bl = new BufferList()
- fs.createReadStream(path.join(__dirname, '/test.js'))
- .pipe(bl)
-
- bl.destroy()
-
- t.equal(bl._bufs.length, 0)
- t.equal(bl.length, 0)
-})
-
-!process.browser && tape('destroy with pipe before read end with race', function (t) {
- t.plan(2)
-
- const bl = new BufferList()
-
- fs.createReadStream(path.join(__dirname, '/test.js'))
- .pipe(bl)
-
- setTimeout(function () {
- bl.destroy()
- setTimeout(function () {
- t.equal(bl._bufs.length, 0)
- t.equal(bl.length, 0)
- }, 500)
- }, 500)
-})
-
-!process.browser && tape('destroy with pipe after read end', function (t) {
- t.plan(2)
-
- const bl = new BufferList()
-
- fs.createReadStream(path.join(__dirname, '/test.js'))
- .on('end', onEnd)
- .pipe(bl)
-
- function onEnd () {
- bl.destroy()
-
- t.equal(bl._bufs.length, 0)
- t.equal(bl.length, 0)
- }
-})
-
-!process.browser && tape('destroy with pipe while writing to a destination', function (t) {
- t.plan(4)
-
- const bl = new BufferList()
- const ds = new BufferList()
-
- fs.createReadStream(path.join(__dirname, '/test.js'))
- .on('end', onEnd)
- .pipe(bl)
-
- function onEnd () {
- bl.pipe(ds)
-
- setTimeout(function () {
- bl.destroy()
-
- t.equals(bl._bufs.length, 0)
- t.equals(bl.length, 0)
-
- ds.destroy()
-
- t.equals(bl._bufs.length, 0)
- t.equals(bl.length, 0)
- }, 100)
- }
-})
-
-!process.browser && tape('handle error', function (t) {
- t.plan(2)
-
- fs.createReadStream('/does/not/exist').pipe(BufferList(function (err, data) {
- t.ok(err instanceof Error, 'has error')
- t.notOk(data, 'no data')
- }))
-})
diff --git a/includes/search/node_modules/braces/CHANGELOG.md b/includes/search/node_modules/braces/CHANGELOG.md
deleted file mode 100644
index 36f798b..0000000
--- a/includes/search/node_modules/braces/CHANGELOG.md
+++ /dev/null
@@ -1,184 +0,0 @@
-# Release history
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
-and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
-
-<details>
- <summary><strong>Guiding Principles</strong></summary>
-
-- Changelogs are for humans, not machines.
-- There should be an entry for every single version.
-- The same types of changes should be grouped.
-- Versions and sections should be linkable.
-- The latest version comes first.
-- The release date of each versions is displayed.
-- Mention whether you follow Semantic Versioning.
-
-</details>
-
-<details>
- <summary><strong>Types of changes</strong></summary>
-
-Changelog entries are classified using the following labels _(from [keep-a-changelog](http://keepachangelog.com/)_):
-
-- `Added` for new features.
-- `Changed` for changes in existing functionality.
-- `Deprecated` for soon-to-be removed features.
-- `Removed` for now removed features.
-- `Fixed` for any bug fixes.
-- `Security` in case of vulnerabilities.
-
-</details>
-
-## [3.0.0] - 2018-04-08
-
-v3.0 is a complete refactor, resulting in a faster, smaller codebase, with fewer deps, and a more accurate parser and compiler.
-
-**Breaking Changes**
-
-- The undocumented `.makeRe` method was removed
-
-**Non-breaking changes**
-
-- Caching was removed
-
-## [2.3.2] - 2018-04-08
-
-- start refactoring
-- cover sets
-- better range handling
-
-## [2.3.1] - 2018-02-17
-
-- Remove unnecessary escape in Regex. (#14)
-
-## [2.3.0] - 2017-10-19
-
-- minor code reorganization
-- optimize regex
-- expose `maxLength` option
-
-## [2.2.1] - 2017-05-30
-
-- don't condense when braces contain extglobs
-
-## [2.2.0] - 2017-05-28
-
-- ensure word boundaries are preserved
-- fixes edge case where extglob characters precede a brace pattern
-
-## [2.1.1] - 2017-04-27
-
-- use snapdragon-node
-- handle edge case
-- optimizations, lint
-
-## [2.0.4] - 2017-04-11
-
-- pass opts to compiler
-- minor optimization in create method
-- re-write parser handlers to remove negation regex
-
-## [2.0.3] - 2016-12-10
-
-- use split-string
-- clear queue at the end
-- adds sequences example
-- add unit tests
-
-## [2.0.2] - 2016-10-21
-
-- fix comma handling in nested extglobs
-
-## [2.0.1] - 2016-10-20
-
-- add comments
-- more tests, ensure quotes are stripped
-
-## [2.0.0] - 2016-10-19
-
-- don't expand braces inside character classes
-- add quantifier pattern
-
-## [1.8.5] - 2016-05-21
-
-- Refactor (#10)
-
-## [1.8.4] - 2016-04-20
-
-- fixes https://github.com/jonschlinkert/micromatch/issues/66
-
-## [1.8.0] - 2015-03-18
-
-- adds exponent examples, tests
-- fixes the first example in https://github.com/jonschlinkert/micromatch/issues/38
-
-## [1.6.0] - 2015-01-30
-
-- optimizations, `bash` mode:
-- improve path escaping
-
-## [1.5.0] - 2015-01-28
-
-- Merge pull request #5 from eush77/lib-files
-
-## [1.4.0] - 2015-01-24
-
-- add extglob tests
-- externalize exponent function
-- better whitespace handling
-
-## [1.3.0] - 2015-01-24
-
-- make regex patterns explicity
-
-## [1.1.0] - 2015-01-11
-
-- don't create a match group with `makeRe`
-
-## [1.0.0] - 2014-12-23
-
-- Merge commit '97b05f5544f8348736a8efaecf5c32bbe3e2ad6e'
-- support empty brace syntax
-- better bash coverage
-- better support for regex strings
-
-## [0.1.4] - 2014-11-14
-
-- improve recognition of bad args, recognize mismatched argument types
-- support escaping
-- remove pathname-expansion
-- support whitespace in patterns
-
-## [0.1.0]
-
-- first commit
-
-[2.3.2]: https://github.com/micromatch/braces/compare/2.3.1...2.3.2
-[2.3.1]: https://github.com/micromatch/braces/compare/2.3.0...2.3.1
-[2.3.0]: https://github.com/micromatch/braces/compare/2.2.1...2.3.0
-[2.2.1]: https://github.com/micromatch/braces/compare/2.2.0...2.2.1
-[2.2.0]: https://github.com/micromatch/braces/compare/2.1.1...2.2.0
-[2.1.1]: https://github.com/micromatch/braces/compare/2.1.0...2.1.1
-[2.1.0]: https://github.com/micromatch/braces/compare/2.0.4...2.1.0
-[2.0.4]: https://github.com/micromatch/braces/compare/2.0.3...2.0.4
-[2.0.3]: https://github.com/micromatch/braces/compare/2.0.2...2.0.3
-[2.0.2]: https://github.com/micromatch/braces/compare/2.0.1...2.0.2
-[2.0.1]: https://github.com/micromatch/braces/compare/2.0.0...2.0.1
-[2.0.0]: https://github.com/micromatch/braces/compare/1.8.5...2.0.0
-[1.8.5]: https://github.com/micromatch/braces/compare/1.8.4...1.8.5
-[1.8.4]: https://github.com/micromatch/braces/compare/1.8.0...1.8.4
-[1.8.0]: https://github.com/micromatch/braces/compare/1.6.0...1.8.0
-[1.6.0]: https://github.com/micromatch/braces/compare/1.5.0...1.6.0
-[1.5.0]: https://github.com/micromatch/braces/compare/1.4.0...1.5.0
-[1.4.0]: https://github.com/micromatch/braces/compare/1.3.0...1.4.0
-[1.3.0]: https://github.com/micromatch/braces/compare/1.2.0...1.3.0
-[1.2.0]: https://github.com/micromatch/braces/compare/1.1.0...1.2.0
-[1.1.0]: https://github.com/micromatch/braces/compare/1.0.0...1.1.0
-[1.0.0]: https://github.com/micromatch/braces/compare/0.1.4...1.0.0
-[0.1.4]: https://github.com/micromatch/braces/compare/0.1.0...0.1.4
-
-[Unreleased]: https://github.com/micromatch/braces/compare/0.1.0...HEAD
-[keep-a-changelog]: https://github.com/olivierlacan/keep-a-changelog \ No newline at end of file
diff --git a/includes/search/node_modules/braces/LICENSE b/includes/search/node_modules/braces/LICENSE
deleted file mode 100644
index d32ab44..0000000
--- a/includes/search/node_modules/braces/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-2018, Jon Schlinkert.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/braces/README.md b/includes/search/node_modules/braces/README.md
deleted file mode 100644
index cba2f60..0000000
--- a/includes/search/node_modules/braces/README.md
+++ /dev/null
@@ -1,593 +0,0 @@
-# braces [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W8YFZ425KND68) [![NPM version](https://img.shields.io/npm/v/braces.svg?style=flat)](https://www.npmjs.com/package/braces) [![NPM monthly downloads](https://img.shields.io/npm/dm/braces.svg?style=flat)](https://npmjs.org/package/braces) [![NPM total downloads](https://img.shields.io/npm/dt/braces.svg?style=flat)](https://npmjs.org/package/braces) [![Linux Build Status](https://img.shields.io/travis/micromatch/braces.svg?style=flat&label=Travis)](https://travis-ci.org/micromatch/braces)
-
-> Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.
-
-Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
-
-## Install
-
-Install with [npm](https://www.npmjs.com/):
-
-```sh
-$ npm install --save braces
-```
-
-## v3.0.0 Released!!
-
-See the [changelog](CHANGELOG.md) for details.
-
-## Why use braces?
-
-Brace patterns make globs more powerful by adding the ability to match specific ranges and sequences of characters.
-
-* **Accurate** - complete support for the [Bash 4.3 Brace Expansion](www.gnu.org/software/bash/) specification (passes all of the Bash braces tests)
-* **[fast and performant](#benchmarks)** - Starts fast, runs fast and [scales well](#performance) as patterns increase in complexity.
-* **Organized code base** - The parser and compiler are easy to maintain and update when edge cases crop up.
-* **Well-tested** - Thousands of test assertions, and passes all of the Bash, minimatch, and [brace-expansion](https://github.com/juliangruber/brace-expansion) unit tests (as of the date this was written).
-* **Safer** - You shouldn't have to worry about users defining aggressive or malicious brace patterns that can break your application. Braces takes measures to prevent malicious regex that can be used for DDoS attacks (see [catastrophic backtracking](https://www.regular-expressions.info/catastrophic.html)).
-* [Supports lists](#lists) - (aka "sets") `a/{b,c}/d` => `['a/b/d', 'a/c/d']`
-* [Supports sequences](#sequences) - (aka "ranges") `{01..03}` => `['01', '02', '03']`
-* [Supports steps](#steps) - (aka "increments") `{2..10..2}` => `['2', '4', '6', '8', '10']`
-* [Supports escaping](#escaping) - To prevent evaluation of special characters.
-
-## Usage
-
-The main export is a function that takes one or more brace `patterns` and `options`.
-
-```js
-const braces = require('braces');
-// braces(patterns[, options]);
-
-console.log(braces(['{01..05}', '{a..e}']));
-//=> ['(0[1-5])', '([a-e])']
-
-console.log(braces(['{01..05}', '{a..e}'], { expand: true }));
-//=> ['01', '02', '03', '04', '05', 'a', 'b', 'c', 'd', 'e']
-```
-
-### Brace Expansion vs. Compilation
-
-By default, brace patterns are compiled into strings that are optimized for creating regular expressions and matching.
-
-**Compiled**
-
-```js
-console.log(braces('a/{x,y,z}/b'));
-//=> ['a/(x|y|z)/b']
-console.log(braces(['a/{01..20}/b', 'a/{1..5}/b']));
-//=> [ 'a/(0[1-9]|1[0-9]|20)/b', 'a/([1-5])/b' ]
-```
-
-**Expanded**
-
-Enable brace expansion by setting the `expand` option to true, or by using [braces.expand()](#expand) (returns an array similar to what you'd expect from Bash, or `echo {1..5}`, or [minimatch](https://github.com/isaacs/minimatch)):
-
-```js
-console.log(braces('a/{x,y,z}/b', { expand: true }));
-//=> ['a/x/b', 'a/y/b', 'a/z/b']
-
-console.log(braces.expand('{01..10}'));
-//=> ['01','02','03','04','05','06','07','08','09','10']
-```
-
-### Lists
-
-Expand lists (like Bash "sets"):
-
-```js
-console.log(braces('a/{foo,bar,baz}/*.js'));
-//=> ['a/(foo|bar|baz)/*.js']
-
-console.log(braces.expand('a/{foo,bar,baz}/*.js'));
-//=> ['a/foo/*.js', 'a/bar/*.js', 'a/baz/*.js']
-```
-
-### Sequences
-
-Expand ranges of characters (like Bash "sequences"):
-
-```js
-console.log(braces.expand('{1..3}')); // ['1', '2', '3']
-console.log(braces.expand('a/{1..3}/b')); // ['a/1/b', 'a/2/b', 'a/3/b']
-console.log(braces('{a..c}', { expand: true })); // ['a', 'b', 'c']
-console.log(braces('foo/{a..c}', { expand: true })); // ['foo/a', 'foo/b', 'foo/c']
-
-// supports zero-padded ranges
-console.log(braces('a/{01..03}/b')); //=> ['a/(0[1-3])/b']
-console.log(braces('a/{001..300}/b')); //=> ['a/(0{2}[1-9]|0[1-9][0-9]|[12][0-9]{2}|300)/b']
-```
-
-See [fill-range](https://github.com/jonschlinkert/fill-range) for all available range-expansion options.
-
-### Steppped ranges
-
-Steps, or increments, may be used with ranges:
-
-```js
-console.log(braces.expand('{2..10..2}'));
-//=> ['2', '4', '6', '8', '10']
-
-console.log(braces('{2..10..2}'));
-//=> ['(2|4|6|8|10)']
-```
-
-When the [.optimize](#optimize) method is used, or [options.optimize](#optionsoptimize) is set to true, sequences are passed to [to-regex-range](https://github.com/jonschlinkert/to-regex-range) for expansion.
-
-### Nesting
-
-Brace patterns may be nested. The results of each expanded string are not sorted, and left to right order is preserved.
-
-**"Expanded" braces**
-
-```js
-console.log(braces.expand('a{b,c,/{x,y}}/e'));
-//=> ['ab/e', 'ac/e', 'a/x/e', 'a/y/e']
-
-console.log(braces.expand('a/{x,{1..5},y}/c'));
-//=> ['a/x/c', 'a/1/c', 'a/2/c', 'a/3/c', 'a/4/c', 'a/5/c', 'a/y/c']
-```
-
-**"Optimized" braces**
-
-```js
-console.log(braces('a{b,c,/{x,y}}/e'));
-//=> ['a(b|c|/(x|y))/e']
-
-console.log(braces('a/{x,{1..5},y}/c'));
-//=> ['a/(x|([1-5])|y)/c']
-```
-
-### Escaping
-
-**Escaping braces**
-
-A brace pattern will not be expanded or evaluted if _either the opening or closing brace is escaped_:
-
-```js
-console.log(braces.expand('a\\{d,c,b}e'));
-//=> ['a{d,c,b}e']
-
-console.log(braces.expand('a{d,c,b\\}e'));
-//=> ['a{d,c,b}e']
-```
-
-**Escaping commas**
-
-Commas inside braces may also be escaped:
-
-```js
-console.log(braces.expand('a{b\\,c}d'));
-//=> ['a{b,c}d']
-
-console.log(braces.expand('a{d\\,c,b}e'));
-//=> ['ad,ce', 'abe']
-```
-
-**Single items**
-
-Following bash conventions, a brace pattern is also not expanded when it contains a single character:
-
-```js
-console.log(braces.expand('a{b}c'));
-//=> ['a{b}c']
-```
-
-## Options
-
-### options.maxLength
-
-**Type**: `Number`
-
-**Default**: `65,536`
-
-**Description**: Limit the length of the input string. Useful when the input string is generated or your application allows users to pass a string, et cetera.
-
-```js
-console.log(braces('a/{b,c}/d', { maxLength: 3 })); //=> throws an error
-```
-
-### options.expand
-
-**Type**: `Boolean`
-
-**Default**: `undefined`
-
-**Description**: Generate an "expanded" brace pattern (alternatively you can use the `braces.expand()` method, which does the same thing).
-
-```js
-console.log(braces('a/{b,c}/d', { expand: true }));
-//=> [ 'a/b/d', 'a/c/d' ]
-```
-
-### options.nodupes
-
-**Type**: `Boolean`
-
-**Default**: `undefined`
-
-**Description**: Remove duplicates from the returned array.
-
-### options.rangeLimit
-
-**Type**: `Number`
-
-**Default**: `1000`
-
-**Description**: To prevent malicious patterns from being passed by users, an error is thrown when `braces.expand()` is used or `options.expand` is true and the generated range will exceed the `rangeLimit`.
-
-You can customize `options.rangeLimit` or set it to `Inifinity` to disable this altogether.
-
-**Examples**
-
-```js
-// pattern exceeds the "rangeLimit", so it's optimized automatically
-console.log(braces.expand('{1..1000}'));
-//=> ['([1-9]|[1-9][0-9]{1,2}|1000)']
-
-// pattern does not exceed "rangeLimit", so it's NOT optimized
-console.log(braces.expand('{1..100}'));
-//=> ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '100']
-```
-
-### options.transform
-
-**Type**: `Function`
-
-**Default**: `undefined`
-
-**Description**: Customize range expansion.
-
-**Example: Transforming non-numeric values**
-
-```js
-const alpha = braces.expand('x/{a..e}/y', {
- transform(value, index) {
- // When non-numeric values are passed, "value" is a character code.
- return 'foo/' + String.fromCharCode(value) + '-' + index;
- }
-});
-console.log(alpha);
-//=> [ 'x/foo/a-0/y', 'x/foo/b-1/y', 'x/foo/c-2/y', 'x/foo/d-3/y', 'x/foo/e-4/y' ]
-```
-
-**Example: Transforming numeric values**
-
-```js
-const numeric = braces.expand('{1..5}', {
- transform(value) {
- // when numeric values are passed, "value" is a number
- return 'foo/' + value * 2;
- }
-});
-console.log(numeric);
-//=> [ 'foo/2', 'foo/4', 'foo/6', 'foo/8', 'foo/10' ]
-```
-
-### options.quantifiers
-
-**Type**: `Boolean`
-
-**Default**: `undefined`
-
-**Description**: In regular expressions, quanitifiers can be used to specify how many times a token can be repeated. For example, `a{1,3}` will match the letter `a` one to three times.
-
-Unfortunately, regex quantifiers happen to share the same syntax as [Bash lists](#lists)
-
-The `quantifiers` option tells braces to detect when [regex quantifiers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#quantifiers) are defined in the given pattern, and not to try to expand them as lists.
-
-**Examples**
-
-```js
-const braces = require('braces');
-console.log(braces('a/b{1,3}/{x,y,z}'));
-//=> [ 'a/b(1|3)/(x|y|z)' ]
-console.log(braces('a/b{1,3}/{x,y,z}', {quantifiers: true}));
-//=> [ 'a/b{1,3}/(x|y|z)' ]
-console.log(braces('a/b{1,3}/{x,y,z}', {quantifiers: true, expand: true}));
-//=> [ 'a/b{1,3}/x', 'a/b{1,3}/y', 'a/b{1,3}/z' ]
-```
-
-### options.unescape
-
-**Type**: `Boolean`
-
-**Default**: `undefined`
-
-**Description**: Strip backslashes that were used for escaping from the result.
-
-## What is "brace expansion"?
-
-Brace expansion is a type of parameter expansion that was made popular by unix shells for generating lists of strings, as well as regex-like matching when used alongside wildcards (globs).
-
-In addition to "expansion", braces are also used for matching. In other words:
-
-* [brace expansion](#brace-expansion) is for generating new lists
-* [brace matching](#brace-matching) is for filtering existing lists
-
-<details>
-<summary><strong>More about brace expansion</strong> (click to expand)</summary>
-
-There are two main types of brace expansion:
-
-1. **lists**: which are defined using comma-separated values inside curly braces: `{a,b,c}`
-2. **sequences**: which are defined using a starting value and an ending value, separated by two dots: `a{1..3}b`. Optionally, a third argument may be passed to define a "step" or increment to use: `a{1..100..10}b`. These are also sometimes referred to as "ranges".
-
-Here are some example brace patterns to illustrate how they work:
-
-**Sets**
-
-```
-{a,b,c} => a b c
-{a,b,c}{1,2} => a1 a2 b1 b2 c1 c2
-```
-
-**Sequences**
-
-```
-{1..9} => 1 2 3 4 5 6 7 8 9
-{4..-4} => 4 3 2 1 0 -1 -2 -3 -4
-{1..20..3} => 1 4 7 10 13 16 19
-{a..j} => a b c d e f g h i j
-{j..a} => j i h g f e d c b a
-{a..z..3} => a d g j m p s v y
-```
-
-**Combination**
-
-Sets and sequences can be mixed together or used along with any other strings.
-
-```
-{a,b,c}{1..3} => a1 a2 a3 b1 b2 b3 c1 c2 c3
-foo/{a,b,c}/bar => foo/a/bar foo/b/bar foo/c/bar
-```
-
-The fact that braces can be "expanded" from relatively simple patterns makes them ideal for quickly generating test fixtures, file paths, and similar use cases.
-
-## Brace matching
-
-In addition to _expansion_, brace patterns are also useful for performing regular-expression-like matching.
-
-For example, the pattern `foo/{1..3}/bar` would match any of following strings:
-
-```
-foo/1/bar
-foo/2/bar
-foo/3/bar
-```
-
-But not:
-
-```
-baz/1/qux
-baz/2/qux
-baz/3/qux
-```
-
-Braces can also be combined with [glob patterns](https://github.com/jonschlinkert/micromatch) to perform more advanced wildcard matching. For example, the pattern `*/{1..3}/*` would match any of following strings:
-
-```
-foo/1/bar
-foo/2/bar
-foo/3/bar
-baz/1/qux
-baz/2/qux
-baz/3/qux
-```
-
-## Brace matching pitfalls
-
-Although brace patterns offer a user-friendly way of matching ranges or sets of strings, there are also some major disadvantages and potential risks you should be aware of.
-
-### tldr
-
-**"brace bombs"**
-
-* brace expansion can eat up a huge amount of processing resources
-* as brace patterns increase _linearly in size_, the system resources required to expand the pattern increase exponentially
-* users can accidentally (or intentially) exhaust your system's resources resulting in the equivalent of a DoS attack (bonus: no programming knowledge is required!)
-
-For a more detailed explanation with examples, see the [geometric complexity](#geometric-complexity) section.
-
-### The solution
-
-Jump to the [performance section](#performance) to see how Braces solves this problem in comparison to other libraries.
-
-### Geometric complexity
-
-At minimum, brace patterns with sets limited to two elements have quadradic or `O(n^2)` complexity. But the complexity of the algorithm increases exponentially as the number of sets, _and elements per set_, increases, which is `O(n^c)`.
-
-For example, the following sets demonstrate quadratic (`O(n^2)`) complexity:
-
-```
-{1,2}{3,4} => (2X2) => 13 14 23 24
-{1,2}{3,4}{5,6} => (2X2X2) => 135 136 145 146 235 236 245 246
-```
-
-But add an element to a set, and we get a n-fold Cartesian product with `O(n^c)` complexity:
-
-```
-{1,2,3}{4,5,6}{7,8,9} => (3X3X3) => 147 148 149 157 158 159 167 168 169 247 248
- 249 257 258 259 267 268 269 347 348 349 357
- 358 359 367 368 369
-```
-
-Now, imagine how this complexity grows given that each element is a n-tuple:
-
-```
-{1..100}{1..100} => (100X100) => 10,000 elements (38.4 kB)
-{1..100}{1..100}{1..100} => (100X100X100) => 1,000,000 elements (5.76 MB)
-```
-
-Although these examples are clearly contrived, they demonstrate how brace patterns can quickly grow out of control.
-
-**More information**
-
-Interested in learning more about brace expansion?
-
-* [linuxjournal/bash-brace-expansion](http://www.linuxjournal.com/content/bash-brace-expansion)
-* [rosettacode/Brace_expansion](https://rosettacode.org/wiki/Brace_expansion)
-* [cartesian product](https://en.wikipedia.org/wiki/Cartesian_product)
-
-</details>
-
-## Performance
-
-Braces is not only screaming fast, it's also more accurate the other brace expansion libraries.
-
-### Better algorithms
-
-Fortunately there is a solution to the ["brace bomb" problem](#brace-matching-pitfalls): _don't expand brace patterns into an array when they're used for matching_.
-
-Instead, convert the pattern into an optimized regular expression. This is easier said than done, and braces is the only library that does this currently.
-
-**The proof is in the numbers**
-
-Minimatch gets exponentially slower as patterns increase in complexity, braces does not. The following results were generated using `braces()` and `minimatch.braceExpand()`, respectively.
-
-| **Pattern** | **braces** | **[minimatch][]** |
-| --- | --- | --- |
-| `{1..9007199254740991}`[^1] | `298 B` (5ms 459μs)| N/A (freezes) |
-| `{1..1000000000000000}` | `41 B` (1ms 15μs) | N/A (freezes) |
-| `{1..100000000000000}` | `40 B` (890μs) | N/A (freezes) |
-| `{1..10000000000000}` | `39 B` (2ms 49μs) | N/A (freezes) |
-| `{1..1000000000000}` | `38 B` (608μs) | N/A (freezes) |
-| `{1..100000000000}` | `37 B` (397μs) | N/A (freezes) |
-| `{1..10000000000}` | `35 B` (983μs) | N/A (freezes) |
-| `{1..1000000000}` | `34 B` (798μs) | N/A (freezes) |
-| `{1..100000000}` | `33 B` (733μs) | N/A (freezes) |
-| `{1..10000000}` | `32 B` (5ms 632μs) | `78.89 MB` (16s 388ms 569μs) |
-| `{1..1000000}` | `31 B` (1ms 381μs) | `6.89 MB` (1s 496ms 887μs) |
-| `{1..100000}` | `30 B` (950μs) | `588.89 kB` (146ms 921μs) |
-| `{1..10000}` | `29 B` (1ms 114μs) | `48.89 kB` (14ms 187μs) |
-| `{1..1000}` | `28 B` (760μs) | `3.89 kB` (1ms 453μs) |
-| `{1..100}` | `22 B` (345μs) | `291 B` (196μs) |
-| `{1..10}` | `10 B` (533μs) | `20 B` (37μs) |
-| `{1..3}` | `7 B` (190μs) | `5 B` (27μs) |
-
-### Faster algorithms
-
-When you need expansion, braces is still much faster.
-
-_(the following results were generated using `braces.expand()` and `minimatch.braceExpand()`, respectively)_
-
-| **Pattern** | **braces** | **[minimatch][]** |
-| --- | --- | --- |
-| `{1..10000000}` | `78.89 MB` (2s 698ms 642μs) | `78.89 MB` (18s 601ms 974μs) |
-| `{1..1000000}` | `6.89 MB` (458ms 576μs) | `6.89 MB` (1s 491ms 621μs) |
-| `{1..100000}` | `588.89 kB` (20ms 728μs) | `588.89 kB` (156ms 919μs) |
-| `{1..10000}` | `48.89 kB` (2ms 202μs) | `48.89 kB` (13ms 641μs) |
-| `{1..1000}` | `3.89 kB` (1ms 796μs) | `3.89 kB` (1ms 958μs) |
-| `{1..100}` | `291 B` (424μs) | `291 B` (211μs) |
-| `{1..10}` | `20 B` (487μs) | `20 B` (72μs) |
-| `{1..3}` | `5 B` (166μs) | `5 B` (27μs) |
-
-If you'd like to run these comparisons yourself, see [test/support/generate.js](test/support/generate.js).
-
-## Benchmarks
-
-### Running benchmarks
-
-Install dev dependencies:
-
-```bash
-npm i -d && npm benchmark
-```
-
-### Latest results
-
-Braces is more accurate, without sacrificing performance.
-
-```bash
-# range (expanded)
- braces x 29,040 ops/sec ±3.69% (91 runs sampled))
- minimatch x 4,735 ops/sec ±1.28% (90 runs sampled)
-
-# range (optimized for regex)
- braces x 382,878 ops/sec ±0.56% (94 runs sampled)
- minimatch x 1,040 ops/sec ±0.44% (93 runs sampled)
-
-# nested ranges (expanded)
- braces x 19,744 ops/sec ±2.27% (92 runs sampled))
- minimatch x 4,579 ops/sec ±0.50% (93 runs sampled)
-
-# nested ranges (optimized for regex)
- braces x 246,019 ops/sec ±2.02% (93 runs sampled)
- minimatch x 1,028 ops/sec ±0.39% (94 runs sampled)
-
-# set (expanded)
- braces x 138,641 ops/sec ±0.53% (95 runs sampled)
- minimatch x 219,582 ops/sec ±0.98% (94 runs sampled)
-
-# set (optimized for regex)
- braces x 388,408 ops/sec ±0.41% (95 runs sampled)
- minimatch x 44,724 ops/sec ±0.91% (89 runs sampled)
-
-# nested sets (expanded)
- braces x 84,966 ops/sec ±0.48% (94 runs sampled)
- minimatch x 140,720 ops/sec ±0.37% (95 runs sampled)
-
-# nested sets (optimized for regex)
- braces x 263,340 ops/sec ±2.06% (92 runs sampled)
- minimatch x 28,714 ops/sec ±0.40% (90 runs sampled)
-```
-
-## About
-
-<details>
-<summary><strong>Contributing</strong></summary>
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
-
-</details>
-
-<details>
-<summary><strong>Running Tests</strong></summary>
-
-Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
-
-```sh
-$ npm install && npm test
-```
-
-</details>
-
-<details>
-<summary><strong>Building docs</strong></summary>
-
-_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
-
-To generate the readme, run the following command:
-
-```sh
-$ npm install -g verbose/verb#dev verb-generate-readme && verb
-```
-
-</details>
-
-### Contributors
-
-| **Commits** | **Contributor** |
-| --- | --- |
-| 197 | [jonschlinkert](https://github.com/jonschlinkert) |
-| 4 | [doowb](https://github.com/doowb) |
-| 1 | [es128](https://github.com/es128) |
-| 1 | [eush77](https://github.com/eush77) |
-| 1 | [hemanth](https://github.com/hemanth) |
-| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) |
-
-### Author
-
-**Jon Schlinkert**
-
-* [GitHub Profile](https://github.com/jonschlinkert)
-* [Twitter Profile](https://twitter.com/jonschlinkert)
-* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
-
-### License
-
-Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT License](LICENSE).
-
-***
-
-_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 08, 2019._ \ No newline at end of file
diff --git a/includes/search/node_modules/braces/index.js b/includes/search/node_modules/braces/index.js
deleted file mode 100644
index 0eee0f5..0000000
--- a/includes/search/node_modules/braces/index.js
+++ /dev/null
@@ -1,170 +0,0 @@
-'use strict';
-
-const stringify = require('./lib/stringify');
-const compile = require('./lib/compile');
-const expand = require('./lib/expand');
-const parse = require('./lib/parse');
-
-/**
- * Expand the given pattern or create a regex-compatible string.
- *
- * ```js
- * const braces = require('braces');
- * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)']
- * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c']
- * ```
- * @param {String} `str`
- * @param {Object} `options`
- * @return {String}
- * @api public
- */
-
-const braces = (input, options = {}) => {
- let output = [];
-
- if (Array.isArray(input)) {
- for (let pattern of input) {
- let result = braces.create(pattern, options);
- if (Array.isArray(result)) {
- output.push(...result);
- } else {
- output.push(result);
- }
- }
- } else {
- output = [].concat(braces.create(input, options));
- }
-
- if (options && options.expand === true && options.nodupes === true) {
- output = [...new Set(output)];
- }
- return output;
-};
-
-/**
- * Parse the given `str` with the given `options`.
- *
- * ```js
- * // braces.parse(pattern, [, options]);
- * const ast = braces.parse('a/{b,c}/d');
- * console.log(ast);
- * ```
- * @param {String} pattern Brace pattern to parse
- * @param {Object} options
- * @return {Object} Returns an AST
- * @api public
- */
-
-braces.parse = (input, options = {}) => parse(input, options);
-
-/**
- * Creates a braces string from an AST, or an AST node.
- *
- * ```js
- * const braces = require('braces');
- * let ast = braces.parse('foo/{a,b}/bar');
- * console.log(stringify(ast.nodes[2])); //=> '{a,b}'
- * ```
- * @param {String} `input` Brace pattern or AST.
- * @param {Object} `options`
- * @return {Array} Returns an array of expanded values.
- * @api public
- */
-
-braces.stringify = (input, options = {}) => {
- if (typeof input === 'string') {
- return stringify(braces.parse(input, options), options);
- }
- return stringify(input, options);
-};
-
-/**
- * Compiles a brace pattern into a regex-compatible, optimized string.
- * This method is called by the main [braces](#braces) function by default.
- *
- * ```js
- * const braces = require('braces');
- * console.log(braces.compile('a/{b,c}/d'));
- * //=> ['a/(b|c)/d']
- * ```
- * @param {String} `input` Brace pattern or AST.
- * @param {Object} `options`
- * @return {Array} Returns an array of expanded values.
- * @api public
- */
-
-braces.compile = (input, options = {}) => {
- if (typeof input === 'string') {
- input = braces.parse(input, options);
- }
- return compile(input, options);
-};
-
-/**
- * Expands a brace pattern into an array. This method is called by the
- * main [braces](#braces) function when `options.expand` is true. Before
- * using this method it's recommended that you read the [performance notes](#performance))
- * and advantages of using [.compile](#compile) instead.
- *
- * ```js
- * const braces = require('braces');
- * console.log(braces.expand('a/{b,c}/d'));
- * //=> ['a/b/d', 'a/c/d'];
- * ```
- * @param {String} `pattern` Brace pattern
- * @param {Object} `options`
- * @return {Array} Returns an array of expanded values.
- * @api public
- */
-
-braces.expand = (input, options = {}) => {
- if (typeof input === 'string') {
- input = braces.parse(input, options);
- }
-
- let result = expand(input, options);
-
- // filter out empty strings if specified
- if (options.noempty === true) {
- result = result.filter(Boolean);
- }
-
- // filter out duplicates if specified
- if (options.nodupes === true) {
- result = [...new Set(result)];
- }
-
- return result;
-};
-
-/**
- * Processes a brace pattern and returns either an expanded array
- * (if `options.expand` is true), a highly optimized regex-compatible string.
- * This method is called by the main [braces](#braces) function.
- *
- * ```js
- * const braces = require('braces');
- * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}'))
- * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)'
- * ```
- * @param {String} `pattern` Brace pattern
- * @param {Object} `options`
- * @return {Array} Returns an array of expanded values.
- * @api public
- */
-
-braces.create = (input, options = {}) => {
- if (input === '' || input.length < 3) {
- return [input];
- }
-
- return options.expand !== true
- ? braces.compile(input, options)
- : braces.expand(input, options);
-};
-
-/**
- * Expose "braces"
- */
-
-module.exports = braces;
diff --git a/includes/search/node_modules/braces/lib/compile.js b/includes/search/node_modules/braces/lib/compile.js
deleted file mode 100644
index 3e984a4..0000000
--- a/includes/search/node_modules/braces/lib/compile.js
+++ /dev/null
@@ -1,57 +0,0 @@
-'use strict';
-
-const fill = require('fill-range');
-const utils = require('./utils');
-
-const compile = (ast, options = {}) => {
- let walk = (node, parent = {}) => {
- let invalidBlock = utils.isInvalidBrace(parent);
- let invalidNode = node.invalid === true && options.escapeInvalid === true;
- let invalid = invalidBlock === true || invalidNode === true;
- let prefix = options.escapeInvalid === true ? '\\' : '';
- let output = '';
-
- if (node.isOpen === true) {
- return prefix + node.value;
- }
- if (node.isClose === true) {
- return prefix + node.value;
- }
-
- if (node.type === 'open') {
- return invalid ? (prefix + node.value) : '(';
- }
-
- if (node.type === 'close') {
- return invalid ? (prefix + node.value) : ')';
- }
-
- if (node.type === 'comma') {
- return node.prev.type === 'comma' ? '' : (invalid ? node.value : '|');
- }
-
- if (node.value) {
- return node.value;
- }
-
- if (node.nodes && node.ranges > 0) {
- let args = utils.reduce(node.nodes);
- let range = fill(...args, { ...options, wrap: false, toRegex: true });
-
- if (range.length !== 0) {
- return args.length > 1 && range.length > 1 ? `(${range})` : range;
- }
- }
-
- if (node.nodes) {
- for (let child of node.nodes) {
- output += walk(child, node);
- }
- }
- return output;
- };
-
- return walk(ast);
-};
-
-module.exports = compile;
diff --git a/includes/search/node_modules/braces/lib/constants.js b/includes/search/node_modules/braces/lib/constants.js
deleted file mode 100644
index a937943..0000000
--- a/includes/search/node_modules/braces/lib/constants.js
+++ /dev/null
@@ -1,57 +0,0 @@
-'use strict';
-
-module.exports = {
- MAX_LENGTH: 1024 * 64,
-
- // Digits
- CHAR_0: '0', /* 0 */
- CHAR_9: '9', /* 9 */
-
- // Alphabet chars.
- CHAR_UPPERCASE_A: 'A', /* A */
- CHAR_LOWERCASE_A: 'a', /* a */
- CHAR_UPPERCASE_Z: 'Z', /* Z */
- CHAR_LOWERCASE_Z: 'z', /* z */
-
- CHAR_LEFT_PARENTHESES: '(', /* ( */
- CHAR_RIGHT_PARENTHESES: ')', /* ) */
-
- CHAR_ASTERISK: '*', /* * */
-
- // Non-alphabetic chars.
- CHAR_AMPERSAND: '&', /* & */
- CHAR_AT: '@', /* @ */
- CHAR_BACKSLASH: '\\', /* \ */
- CHAR_BACKTICK: '`', /* ` */
- CHAR_CARRIAGE_RETURN: '\r', /* \r */
- CHAR_CIRCUMFLEX_ACCENT: '^', /* ^ */
- CHAR_COLON: ':', /* : */
- CHAR_COMMA: ',', /* , */
- CHAR_DOLLAR: '$', /* . */
- CHAR_DOT: '.', /* . */
- CHAR_DOUBLE_QUOTE: '"', /* " */
- CHAR_EQUAL: '=', /* = */
- CHAR_EXCLAMATION_MARK: '!', /* ! */
- CHAR_FORM_FEED: '\f', /* \f */
- CHAR_FORWARD_SLASH: '/', /* / */
- CHAR_HASH: '#', /* # */
- CHAR_HYPHEN_MINUS: '-', /* - */
- CHAR_LEFT_ANGLE_BRACKET: '<', /* < */
- CHAR_LEFT_CURLY_BRACE: '{', /* { */
- CHAR_LEFT_SQUARE_BRACKET: '[', /* [ */
- CHAR_LINE_FEED: '\n', /* \n */
- CHAR_NO_BREAK_SPACE: '\u00A0', /* \u00A0 */
- CHAR_PERCENT: '%', /* % */
- CHAR_PLUS: '+', /* + */
- CHAR_QUESTION_MARK: '?', /* ? */
- CHAR_RIGHT_ANGLE_BRACKET: '>', /* > */
- CHAR_RIGHT_CURLY_BRACE: '}', /* } */
- CHAR_RIGHT_SQUARE_BRACKET: ']', /* ] */
- CHAR_SEMICOLON: ';', /* ; */
- CHAR_SINGLE_QUOTE: '\'', /* ' */
- CHAR_SPACE: ' ', /* */
- CHAR_TAB: '\t', /* \t */
- CHAR_UNDERSCORE: '_', /* _ */
- CHAR_VERTICAL_LINE: '|', /* | */
- CHAR_ZERO_WIDTH_NOBREAK_SPACE: '\uFEFF' /* \uFEFF */
-};
diff --git a/includes/search/node_modules/braces/lib/expand.js b/includes/search/node_modules/braces/lib/expand.js
deleted file mode 100644
index 376c748..0000000
--- a/includes/search/node_modules/braces/lib/expand.js
+++ /dev/null
@@ -1,113 +0,0 @@
-'use strict';
-
-const fill = require('fill-range');
-const stringify = require('./stringify');
-const utils = require('./utils');
-
-const append = (queue = '', stash = '', enclose = false) => {
- let result = [];
-
- queue = [].concat(queue);
- stash = [].concat(stash);
-
- if (!stash.length) return queue;
- if (!queue.length) {
- return enclose ? utils.flatten(stash).map(ele => `{${ele}}`) : stash;
- }
-
- for (let item of queue) {
- if (Array.isArray(item)) {
- for (let value of item) {
- result.push(append(value, stash, enclose));
- }
- } else {
- for (let ele of stash) {
- if (enclose === true && typeof ele === 'string') ele = `{${ele}}`;
- result.push(Array.isArray(ele) ? append(item, ele, enclose) : (item + ele));
- }
- }
- }
- return utils.flatten(result);
-};
-
-const expand = (ast, options = {}) => {
- let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit;
-
- let walk = (node, parent = {}) => {
- node.queue = [];
-
- let p = parent;
- let q = parent.queue;
-
- while (p.type !== 'brace' && p.type !== 'root' && p.parent) {
- p = p.parent;
- q = p.queue;
- }
-
- if (node.invalid || node.dollar) {
- q.push(append(q.pop(), stringify(node, options)));
- return;
- }
-
- if (node.type === 'brace' && node.invalid !== true && node.nodes.length === 2) {
- q.push(append(q.pop(), ['{}']));
- return;
- }
-
- if (node.nodes && node.ranges > 0) {
- let args = utils.reduce(node.nodes);
-
- if (utils.exceedsLimit(...args, options.step, rangeLimit)) {
- throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.');
- }
-
- let range = fill(...args, options);
- if (range.length === 0) {
- range = stringify(node, options);
- }
-
- q.push(append(q.pop(), range));
- node.nodes = [];
- return;
- }
-
- let enclose = utils.encloseBrace(node);
- let queue = node.queue;
- let block = node;
-
- while (block.type !== 'brace' && block.type !== 'root' && block.parent) {
- block = block.parent;
- queue = block.queue;
- }
-
- for (let i = 0; i < node.nodes.length; i++) {
- let child = node.nodes[i];
-
- if (child.type === 'comma' && node.type === 'brace') {
- if (i === 1) queue.push('');
- queue.push('');
- continue;
- }
-
- if (child.type === 'close') {
- q.push(append(q.pop(), queue, enclose));
- continue;
- }
-
- if (child.value && child.type !== 'open') {
- queue.push(append(queue.pop(), child.value));
- continue;
- }
-
- if (child.nodes) {
- walk(child, node);
- }
- }
-
- return queue;
- };
-
- return utils.flatten(walk(ast));
-};
-
-module.exports = expand;
diff --git a/includes/search/node_modules/braces/lib/parse.js b/includes/search/node_modules/braces/lib/parse.js
deleted file mode 100644
index 145ea26..0000000
--- a/includes/search/node_modules/braces/lib/parse.js
+++ /dev/null
@@ -1,333 +0,0 @@
-'use strict';
-
-const stringify = require('./stringify');
-
-/**
- * Constants
- */
-
-const {
- MAX_LENGTH,
- CHAR_BACKSLASH, /* \ */
- CHAR_BACKTICK, /* ` */
- CHAR_COMMA, /* , */
- CHAR_DOT, /* . */
- CHAR_LEFT_PARENTHESES, /* ( */
- CHAR_RIGHT_PARENTHESES, /* ) */
- CHAR_LEFT_CURLY_BRACE, /* { */
- CHAR_RIGHT_CURLY_BRACE, /* } */
- CHAR_LEFT_SQUARE_BRACKET, /* [ */
- CHAR_RIGHT_SQUARE_BRACKET, /* ] */
- CHAR_DOUBLE_QUOTE, /* " */
- CHAR_SINGLE_QUOTE, /* ' */
- CHAR_NO_BREAK_SPACE,
- CHAR_ZERO_WIDTH_NOBREAK_SPACE
-} = require('./constants');
-
-/**
- * parse
- */
-
-const parse = (input, options = {}) => {
- if (typeof input !== 'string') {
- throw new TypeError('Expected a string');
- }
-
- let opts = options || {};
- let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
- if (input.length > max) {
- throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);
- }
-
- let ast = { type: 'root', input, nodes: [] };
- let stack = [ast];
- let block = ast;
- let prev = ast;
- let brackets = 0;
- let length = input.length;
- let index = 0;
- let depth = 0;
- let value;
- let memo = {};
-
- /**
- * Helpers
- */
-
- const advance = () => input[index++];
- const push = node => {
- if (node.type === 'text' && prev.type === 'dot') {
- prev.type = 'text';
- }
-
- if (prev && prev.type === 'text' && node.type === 'text') {
- prev.value += node.value;
- return;
- }
-
- block.nodes.push(node);
- node.parent = block;
- node.prev = prev;
- prev = node;
- return node;
- };
-
- push({ type: 'bos' });
-
- while (index < length) {
- block = stack[stack.length - 1];
- value = advance();
-
- /**
- * Invalid chars
- */
-
- if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {
- continue;
- }
-
- /**
- * Escaped chars
- */
-
- if (value === CHAR_BACKSLASH) {
- push({ type: 'text', value: (options.keepEscaping ? value : '') + advance() });
- continue;
- }
-
- /**
- * Right square bracket (literal): ']'
- */
-
- if (value === CHAR_RIGHT_SQUARE_BRACKET) {
- push({ type: 'text', value: '\\' + value });
- continue;
- }
-
- /**
- * Left square bracket: '['
- */
-
- if (value === CHAR_LEFT_SQUARE_BRACKET) {
- brackets++;
-
- let closed = true;
- let next;
-
- while (index < length && (next = advance())) {
- value += next;
-
- if (next === CHAR_LEFT_SQUARE_BRACKET) {
- brackets++;
- continue;
- }
-
- if (next === CHAR_BACKSLASH) {
- value += advance();
- continue;
- }
-
- if (next === CHAR_RIGHT_SQUARE_BRACKET) {
- brackets--;
-
- if (brackets === 0) {
- break;
- }
- }
- }
-
- push({ type: 'text', value });
- continue;
- }
-
- /**
- * Parentheses
- */
-
- if (value === CHAR_LEFT_PARENTHESES) {
- block = push({ type: 'paren', nodes: [] });
- stack.push(block);
- push({ type: 'text', value });
- continue;
- }
-
- if (value === CHAR_RIGHT_PARENTHESES) {
- if (block.type !== 'paren') {
- push({ type: 'text', value });
- continue;
- }
- block = stack.pop();
- push({ type: 'text', value });
- block = stack[stack.length - 1];
- continue;
- }
-
- /**
- * Quotes: '|"|`
- */
-
- if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {
- let open = value;
- let next;
-
- if (options.keepQuotes !== true) {
- value = '';
- }
-
- while (index < length && (next = advance())) {
- if (next === CHAR_BACKSLASH) {
- value += next + advance();
- continue;
- }
-
- if (next === open) {
- if (options.keepQuotes === true) value += next;
- break;
- }
-
- value += next;
- }
-
- push({ type: 'text', value });
- continue;
- }
-
- /**
- * Left curly brace: '{'
- */
-
- if (value === CHAR_LEFT_CURLY_BRACE) {
- depth++;
-
- let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true;
- let brace = {
- type: 'brace',
- open: true,
- close: false,
- dollar,
- depth,
- commas: 0,
- ranges: 0,
- nodes: []
- };
-
- block = push(brace);
- stack.push(block);
- push({ type: 'open', value });
- continue;
- }
-
- /**
- * Right curly brace: '}'
- */
-
- if (value === CHAR_RIGHT_CURLY_BRACE) {
- if (block.type !== 'brace') {
- push({ type: 'text', value });
- continue;
- }
-
- let type = 'close';
- block = stack.pop();
- block.close = true;
-
- push({ type, value });
- depth--;
-
- block = stack[stack.length - 1];
- continue;
- }
-
- /**
- * Comma: ','
- */
-
- if (value === CHAR_COMMA && depth > 0) {
- if (block.ranges > 0) {
- block.ranges = 0;
- let open = block.nodes.shift();
- block.nodes = [open, { type: 'text', value: stringify(block) }];
- }
-
- push({ type: 'comma', value });
- block.commas++;
- continue;
- }
-
- /**
- * Dot: '.'
- */
-
- if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
- let siblings = block.nodes;
-
- if (depth === 0 || siblings.length === 0) {
- push({ type: 'text', value });
- continue;
- }
-
- if (prev.type === 'dot') {
- block.range = [];
- prev.value += value;
- prev.type = 'range';
-
- if (block.nodes.length !== 3 && block.nodes.length !== 5) {
- block.invalid = true;
- block.ranges = 0;
- prev.type = 'text';
- continue;
- }
-
- block.ranges++;
- block.args = [];
- continue;
- }
-
- if (prev.type === 'range') {
- siblings.pop();
-
- let before = siblings[siblings.length - 1];
- before.value += prev.value + value;
- prev = before;
- block.ranges--;
- continue;
- }
-
- push({ type: 'dot', value });
- continue;
- }
-
- /**
- * Text
- */
-
- push({ type: 'text', value });
- }
-
- // Mark imbalanced braces and brackets as invalid
- do {
- block = stack.pop();
-
- if (block.type !== 'root') {
- block.nodes.forEach(node => {
- if (!node.nodes) {
- if (node.type === 'open') node.isOpen = true;
- if (node.type === 'close') node.isClose = true;
- if (!node.nodes) node.type = 'text';
- node.invalid = true;
- }
- });
-
- // get the location of the block on parent.nodes (block's siblings)
- let parent = stack[stack.length - 1];
- let index = parent.nodes.indexOf(block);
- // replace the (invalid) block with it's nodes
- parent.nodes.splice(index, 1, ...block.nodes);
- }
- } while (stack.length > 0);
-
- push({ type: 'eos' });
- return ast;
-};
-
-module.exports = parse;
diff --git a/includes/search/node_modules/braces/lib/stringify.js b/includes/search/node_modules/braces/lib/stringify.js
deleted file mode 100644
index 414b7bc..0000000
--- a/includes/search/node_modules/braces/lib/stringify.js
+++ /dev/null
@@ -1,32 +0,0 @@
-'use strict';
-
-const utils = require('./utils');
-
-module.exports = (ast, options = {}) => {
- let stringify = (node, parent = {}) => {
- let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
- let invalidNode = node.invalid === true && options.escapeInvalid === true;
- let output = '';
-
- if (node.value) {
- if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
- return '\\' + node.value;
- }
- return node.value;
- }
-
- if (node.value) {
- return node.value;
- }
-
- if (node.nodes) {
- for (let child of node.nodes) {
- output += stringify(child);
- }
- }
- return output;
- };
-
- return stringify(ast);
-};
-
diff --git a/includes/search/node_modules/braces/lib/utils.js b/includes/search/node_modules/braces/lib/utils.js
deleted file mode 100644
index e3551a6..0000000
--- a/includes/search/node_modules/braces/lib/utils.js
+++ /dev/null
@@ -1,112 +0,0 @@
-'use strict';
-
-exports.isInteger = num => {
- if (typeof num === 'number') {
- return Number.isInteger(num);
- }
- if (typeof num === 'string' && num.trim() !== '') {
- return Number.isInteger(Number(num));
- }
- return false;
-};
-
-/**
- * Find a node of the given type
- */
-
-exports.find = (node, type) => node.nodes.find(node => node.type === type);
-
-/**
- * Find a node of the given type
- */
-
-exports.exceedsLimit = (min, max, step = 1, limit) => {
- if (limit === false) return false;
- if (!exports.isInteger(min) || !exports.isInteger(max)) return false;
- return ((Number(max) - Number(min)) / Number(step)) >= limit;
-};
-
-/**
- * Escape the given node with '\\' before node.value
- */
-
-exports.escapeNode = (block, n = 0, type) => {
- let node = block.nodes[n];
- if (!node) return;
-
- if ((type && node.type === type) || node.type === 'open' || node.type === 'close') {
- if (node.escaped !== true) {
- node.value = '\\' + node.value;
- node.escaped = true;
- }
- }
-};
-
-/**
- * Returns true if the given brace node should be enclosed in literal braces
- */
-
-exports.encloseBrace = node => {
- if (node.type !== 'brace') return false;
- if ((node.commas >> 0 + node.ranges >> 0) === 0) {
- node.invalid = true;
- return true;
- }
- return false;
-};
-
-/**
- * Returns true if a brace node is invalid.
- */
-
-exports.isInvalidBrace = block => {
- if (block.type !== 'brace') return false;
- if (block.invalid === true || block.dollar) return true;
- if ((block.commas >> 0 + block.ranges >> 0) === 0) {
- block.invalid = true;
- return true;
- }
- if (block.open !== true || block.close !== true) {
- block.invalid = true;
- return true;
- }
- return false;
-};
-
-/**
- * Returns true if a node is an open or close node
- */
-
-exports.isOpenOrClose = node => {
- if (node.type === 'open' || node.type === 'close') {
- return true;
- }
- return node.open === true || node.close === true;
-};
-
-/**
- * Reduce an array of text nodes.
- */
-
-exports.reduce = nodes => nodes.reduce((acc, node) => {
- if (node.type === 'text') acc.push(node.value);
- if (node.type === 'range') node.type = 'text';
- return acc;
-}, []);
-
-/**
- * Flatten an array
- */
-
-exports.flatten = (...args) => {
- const result = [];
- const flat = arr => {
- for (let i = 0; i < arr.length; i++) {
- let ele = arr[i];
- Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele);
- }
- return result;
- };
- flat(args);
- return result;
-};
diff --git a/includes/search/node_modules/braces/package.json b/includes/search/node_modules/braces/package.json
deleted file mode 100644
index 3f52e34..0000000
--- a/includes/search/node_modules/braces/package.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "name": "braces",
- "description": "Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.",
- "version": "3.0.2",
- "homepage": "https://github.com/micromatch/braces",
- "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
- "contributors": [
- "Brian Woodward (https://twitter.com/doowb)",
- "Elan Shanker (https://github.com/es128)",
- "Eugene Sharygin (https://github.com/eush77)",
- "hemanth.hm (http://h3manth.com)",
- "Jon Schlinkert (http://twitter.com/jonschlinkert)"
- ],
- "repository": "micromatch/braces",
- "bugs": {
- "url": "https://github.com/micromatch/braces/issues"
- },
- "license": "MIT",
- "files": [
- "index.js",
- "lib"
- ],
- "main": "index.js",
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "mocha",
- "benchmark": "node benchmark"
- },
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "devDependencies": {
- "ansi-colors": "^3.2.4",
- "bash-path": "^2.0.1",
- "gulp-format-md": "^2.0.0",
- "mocha": "^6.1.1"
- },
- "keywords": [
- "alpha",
- "alphabetical",
- "bash",
- "brace",
- "braces",
- "expand",
- "expansion",
- "filepath",
- "fill",
- "fs",
- "glob",
- "globbing",
- "letter",
- "match",
- "matches",
- "matching",
- "number",
- "numerical",
- "path",
- "range",
- "ranges",
- "sh"
- ],
- "verb": {
- "toc": false,
- "layout": "default",
- "tasks": [
- "readme"
- ],
- "lint": {
- "reflinks": true
- },
- "plugins": [
- "gulp-format-md"
- ]
- }
-}
diff --git a/includes/search/node_modules/buffer/AUTHORS.md b/includes/search/node_modules/buffer/AUTHORS.md
deleted file mode 100644
index 22eb171..0000000
--- a/includes/search/node_modules/buffer/AUTHORS.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# Authors
-
-#### Ordered by first contribution.
-
-- Romain Beauxis (toots@rastageeks.org)
-- Tobias Koppers (tobias.koppers@googlemail.com)
-- Janus (ysangkok@gmail.com)
-- Rainer Dreyer (rdrey1@gmail.com)
-- Tõnis Tiigi (tonistiigi@gmail.com)
-- James Halliday (mail@substack.net)
-- Michael Williamson (mike@zwobble.org)
-- elliottcable (github@elliottcable.name)
-- rafael (rvalle@livelens.net)
-- Andrew Kelley (superjoe30@gmail.com)
-- Andreas Madsen (amwebdk@gmail.com)
-- Mike Brevoort (mike.brevoort@pearson.com)
-- Brian White (mscdex@mscdex.net)
-- Feross Aboukhadijeh (feross@feross.org)
-- Ruben Verborgh (ruben@verborgh.org)
-- eliang (eliang.cs@gmail.com)
-- Jesse Tane (jesse.tane@gmail.com)
-- Alfonso Boza (alfonso@cloud.com)
-- Mathias Buus (mathiasbuus@gmail.com)
-- Devon Govett (devongovett@gmail.com)
-- Daniel Cousens (github@dcousens.com)
-- Joseph Dykstra (josephdykstra@gmail.com)
-- Parsha Pourkhomami (parshap+git@gmail.com)
-- Damjan Košir (damjan.kosir@gmail.com)
-- daverayment (dave.rayment@gmail.com)
-- kawanet (u-suke@kawa.net)
-- Linus Unnebäck (linus@folkdatorn.se)
-- Nolan Lawson (nolan.lawson@gmail.com)
-- Calvin Metcalf (calvin.metcalf@gmail.com)
-- Koki Takahashi (hakatasiloving@gmail.com)
-- Guy Bedford (guybedford@gmail.com)
-- Jan Schär (jscissr@gmail.com)
-- RaulTsc (tomescu.raul@gmail.com)
-- Matthieu Monsch (monsch@alum.mit.edu)
-- Dan Ehrenberg (littledan@chromium.org)
-- Kirill Fomichev (fanatid@ya.ru)
-- Yusuke Kawasaki (u-suke@kawa.net)
-- DC (dcposch@dcpos.ch)
-- John-David Dalton (john.david.dalton@gmail.com)
-- adventure-yunfei (adventure030@gmail.com)
-- Emil Bay (github@tixz.dk)
-- Sam Sudar (sudar.sam@gmail.com)
-- Volker Mische (volker.mische@gmail.com)
-- David Walton (support@geekstocks.com)
-- Сковорода Никита Андреевич (chalkerx@gmail.com)
-- greenkeeper[bot] (greenkeeper[bot]@users.noreply.github.com)
-- ukstv (sergey.ukustov@machinomy.com)
-- Renée Kooi (renee@kooi.me)
-- ranbochen (ranbochen@qq.com)
-- Vladimir Borovik (bobahbdb@gmail.com)
-- greenkeeper[bot] (23040076+greenkeeper[bot]@users.noreply.github.com)
-- kumavis (aaron@kumavis.me)
-- Sergey Ukustov (sergey.ukustov@machinomy.com)
-- Fei Liu (liu.feiwood@gmail.com)
-- Blaine Bublitz (blaine.bublitz@gmail.com)
-- clement (clement@seald.io)
-- Koushik Dutta (koushd@gmail.com)
-- Jordan Harband (ljharb@gmail.com)
-- Niklas Mischkulnig (mischnic@users.noreply.github.com)
-- Nikolai Vavilov (vvnicholas@gmail.com)
-- Fedor Nezhivoi (gyzerok@users.noreply.github.com)
-- Peter Newman (peternewman@users.noreply.github.com)
-- mathmakgakpak (44949126+mathmakgakpak@users.noreply.github.com)
-- jkkang (jkkang@smartauth.kr)
-
-#### Generated by bin/update-authors.sh.
diff --git a/includes/search/node_modules/buffer/LICENSE b/includes/search/node_modules/buffer/LICENSE
deleted file mode 100644
index d6bf75d..0000000
--- a/includes/search/node_modules/buffer/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Feross Aboukhadijeh, and other contributors.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/buffer/README.md b/includes/search/node_modules/buffer/README.md
deleted file mode 100644
index 9a23d7c..0000000
--- a/includes/search/node_modules/buffer/README.md
+++ /dev/null
@@ -1,410 +0,0 @@
-# buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[travis-image]: https://img.shields.io/travis/feross/buffer/master.svg
-[travis-url]: https://travis-ci.org/feross/buffer
-[npm-image]: https://img.shields.io/npm/v/buffer.svg
-[npm-url]: https://npmjs.org/package/buffer
-[downloads-image]: https://img.shields.io/npm/dm/buffer.svg
-[downloads-url]: https://npmjs.org/package/buffer
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-#### The buffer module from [node.js](https://nodejs.org/), for the browser.
-
-[![saucelabs][saucelabs-image]][saucelabs-url]
-
-[saucelabs-image]: https://saucelabs.com/browser-matrix/buffer.svg
-[saucelabs-url]: https://saucelabs.com/u/buffer
-
-With [browserify](http://browserify.org), simply `require('buffer')` or use the `Buffer` global and you will get this module.
-
-The goal is to provide an API that is 100% identical to
-[node's Buffer API](https://nodejs.org/api/buffer.html). Read the
-[official docs](https://nodejs.org/api/buffer.html) for the full list of properties,
-instance methods, and class methods that are supported.
-
-## features
-
-- Manipulate binary data like a boss, in all browsers!
-- Super fast. Backed by Typed Arrays (`Uint8Array`/`ArrayBuffer`, not `Object`)
-- Extremely small bundle size (**6.75KB minified + gzipped**, 51.9KB with comments)
-- Excellent browser support (Chrome, Firefox, Edge, Safari 9+, IE 11, iOS 9+, Android, etc.)
-- Preserves Node API exactly, with one minor difference (see below)
-- Square-bracket `buf[4]` notation works!
-- Does not modify any browser prototypes or put anything on `window`
-- Comprehensive test suite (including all buffer tests from node.js core)
-
-## install
-
-To use this module directly (without browserify), install it:
-
-```bash
-npm install buffer
-```
-
-This module was previously called **native-buffer-browserify**, but please use **buffer**
-from now on.
-
-If you do not use a bundler, you can use the [standalone script](https://bundle.run/buffer).
-
-## usage
-
-The module's API is identical to node's `Buffer` API. Read the
-[official docs](https://nodejs.org/api/buffer.html) for the full list of properties,
-instance methods, and class methods that are supported.
-
-As mentioned above, `require('buffer')` or use the `Buffer` global with
-[browserify](http://browserify.org) and this module will automatically be included
-in your bundle. Almost any npm module will work in the browser, even if it assumes that
-the node `Buffer` API will be available.
-
-To depend on this module explicitly (without browserify), require it like this:
-
-```js
-var Buffer = require('buffer/').Buffer // note: the trailing slash is important!
-```
-
-To require this module explicitly, use `require('buffer/')` which tells the node.js module
-lookup algorithm (also used by browserify) to use the **npm module** named `buffer`
-instead of the **node.js core** module named `buffer`!
-
-
-## how does it work?
-
-The Buffer constructor returns instances of `Uint8Array` that have their prototype
-changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of `Uint8Array`,
-so the returned instances will have all the node `Buffer` methods and the
-`Uint8Array` methods. Square bracket notation works as expected -- it returns a
-single octet.
-
-The `Uint8Array` prototype remains unmodified.
-
-
-## tracking the latest node api
-
-This module tracks the Buffer API in the latest (unstable) version of node.js. The Buffer
-API is considered **stable** in the
-[node stability index](https://nodejs.org/docs/latest/api/documentation.html#documentation_stability_index),
-so it is unlikely that there will ever be breaking changes.
-Nonetheless, when/if the Buffer API changes in node, this module's API will change
-accordingly.
-
-## related packages
-
-- [`buffer-reverse`](https://www.npmjs.com/package/buffer-reverse) - Reverse a buffer
-- [`buffer-xor`](https://www.npmjs.com/package/buffer-xor) - Bitwise xor a buffer
-- [`is-buffer`](https://www.npmjs.com/package/is-buffer) - Determine if an object is a Buffer without including the whole `Buffer` package
-
-## conversion packages
-
-### convert typed array to buffer
-
-Use [`typedarray-to-buffer`](https://www.npmjs.com/package/typedarray-to-buffer) to convert any kind of typed array to a `Buffer`. Does not perform a copy, so it's super fast.
-
-### convert buffer to typed array
-
-`Buffer` is a subclass of `Uint8Array` (which is a typed array). So there is no need to explicitly convert to typed array. Just use the buffer as a `Uint8Array`.
-
-### convert blob to buffer
-
-Use [`blob-to-buffer`](https://www.npmjs.com/package/blob-to-buffer) to convert a `Blob` to a `Buffer`.
-
-### convert buffer to blob
-
-To convert a `Buffer` to a `Blob`, use the `Blob` constructor:
-
-```js
-var blob = new Blob([ buffer ])
-```
-
-Optionally, specify a mimetype:
-
-```js
-var blob = new Blob([ buffer ], { type: 'text/html' })
-```
-
-### convert arraybuffer to buffer
-
-To convert an `ArrayBuffer` to a `Buffer`, use the `Buffer.from` function. Does not perform a copy, so it's super fast.
-
-```js
-var buffer = Buffer.from(arrayBuffer)
-```
-
-### convert buffer to arraybuffer
-
-To convert a `Buffer` to an `ArrayBuffer`, use the `.buffer` property (which is present on all `Uint8Array` objects):
-
-```js
-var arrayBuffer = buffer.buffer.slice(
- buffer.byteOffset, buffer.byteOffset + buffer.byteLength
-)
-```
-
-Alternatively, use the [`to-arraybuffer`](https://www.npmjs.com/package/to-arraybuffer) module.
-
-## performance
-
-See perf tests in `/perf`.
-
-`BrowserBuffer` is the browser `buffer` module (this repo). `Uint8Array` is included as a
-sanity check (since `BrowserBuffer` uses `Uint8Array` under the hood, `Uint8Array` will
-always be at least a bit faster). Finally, `NodeBuffer` is the node.js buffer module,
-which is included to compare against.
-
-NOTE: Performance has improved since these benchmarks were taken. PR welcome to update the README.
-
-### Chrome 38
-
-| Method | Operations | Accuracy | Sampled | Fastest |
-|:-------|:-----------|:---------|:--------|:-------:|
-| BrowserBuffer#bracket-notation | 11,457,464 ops/sec | ±0.86% | 66 | ✓ |
-| Uint8Array#bracket-notation | 10,824,332 ops/sec | ±0.74% | 65 | |
-| | | | |
-| BrowserBuffer#concat | 450,532 ops/sec | ±0.76% | 68 | |
-| Uint8Array#concat | 1,368,911 ops/sec | ±1.50% | 62 | ✓ |
-| | | | |
-| BrowserBuffer#copy(16000) | 903,001 ops/sec | ±0.96% | 67 | |
-| Uint8Array#copy(16000) | 1,422,441 ops/sec | ±1.04% | 66 | ✓ |
-| | | | |
-| BrowserBuffer#copy(16) | 11,431,358 ops/sec | ±0.46% | 69 | |
-| Uint8Array#copy(16) | 13,944,163 ops/sec | ±1.12% | 68 | ✓ |
-| | | | |
-| BrowserBuffer#new(16000) | 106,329 ops/sec | ±6.70% | 44 | |
-| Uint8Array#new(16000) | 131,001 ops/sec | ±2.85% | 31 | ✓ |
-| | | | |
-| BrowserBuffer#new(16) | 1,554,491 ops/sec | ±1.60% | 65 | |
-| Uint8Array#new(16) | 6,623,930 ops/sec | ±1.66% | 65 | ✓ |
-| | | | |
-| BrowserBuffer#readDoubleBE | 112,830 ops/sec | ±0.51% | 69 | ✓ |
-| DataView#getFloat64 | 93,500 ops/sec | ±0.57% | 68 | |
-| | | | |
-| BrowserBuffer#readFloatBE | 146,678 ops/sec | ±0.95% | 68 | ✓ |
-| DataView#getFloat32 | 99,311 ops/sec | ±0.41% | 67 | |
-| | | | |
-| BrowserBuffer#readUInt32LE | 843,214 ops/sec | ±0.70% | 69 | ✓ |
-| DataView#getUint32 | 103,024 ops/sec | ±0.64% | 67 | |
-| | | | |
-| BrowserBuffer#slice | 1,013,941 ops/sec | ±0.75% | 67 | |
-| Uint8Array#subarray | 1,903,928 ops/sec | ±0.53% | 67 | ✓ |
-| | | | |
-| BrowserBuffer#writeFloatBE | 61,387 ops/sec | ±0.90% | 67 | |
-| DataView#setFloat32 | 141,249 ops/sec | ±0.40% | 66 | ✓ |
-
-
-### Firefox 33
-
-| Method | Operations | Accuracy | Sampled | Fastest |
-|:-------|:-----------|:---------|:--------|:-------:|
-| BrowserBuffer#bracket-notation | 20,800,421 ops/sec | ±1.84% | 60 | |
-| Uint8Array#bracket-notation | 20,826,235 ops/sec | ±2.02% | 61 | ✓ |
-| | | | |
-| BrowserBuffer#concat | 153,076 ops/sec | ±2.32% | 61 | |
-| Uint8Array#concat | 1,255,674 ops/sec | ±8.65% | 52 | ✓ |
-| | | | |
-| BrowserBuffer#copy(16000) | 1,105,312 ops/sec | ±1.16% | 63 | |
-| Uint8Array#copy(16000) | 1,615,911 ops/sec | ±0.55% | 66 | ✓ |
-| | | | |
-| BrowserBuffer#copy(16) | 16,357,599 ops/sec | ±0.73% | 68 | |
-| Uint8Array#copy(16) | 31,436,281 ops/sec | ±1.05% | 68 | ✓ |
-| | | | |
-| BrowserBuffer#new(16000) | 52,995 ops/sec | ±6.01% | 35 | |
-| Uint8Array#new(16000) | 87,686 ops/sec | ±5.68% | 45 | ✓ |
-| | | | |
-| BrowserBuffer#new(16) | 252,031 ops/sec | ±1.61% | 66 | |
-| Uint8Array#new(16) | 8,477,026 ops/sec | ±0.49% | 68 | ✓ |
-| | | | |
-| BrowserBuffer#readDoubleBE | 99,871 ops/sec | ±0.41% | 69 | |
-| DataView#getFloat64 | 285,663 ops/sec | ±0.70% | 68 | ✓ |
-| | | | |
-| BrowserBuffer#readFloatBE | 115,540 ops/sec | ±0.42% | 69 | |
-| DataView#getFloat32 | 288,722 ops/sec | ±0.82% | 68 | ✓ |
-| | | | |
-| BrowserBuffer#readUInt32LE | 633,926 ops/sec | ±1.08% | 67 | ✓ |
-| DataView#getUint32 | 294,808 ops/sec | ±0.79% | 64 | |
-| | | | |
-| BrowserBuffer#slice | 349,425 ops/sec | ±0.46% | 69 | |
-| Uint8Array#subarray | 5,965,819 ops/sec | ±0.60% | 65 | ✓ |
-| | | | |
-| BrowserBuffer#writeFloatBE | 59,980 ops/sec | ±0.41% | 67 | |
-| DataView#setFloat32 | 317,634 ops/sec | ±0.63% | 68 | ✓ |
-
-### Safari 8
-
-| Method | Operations | Accuracy | Sampled | Fastest |
-|:-------|:-----------|:---------|:--------|:-------:|
-| BrowserBuffer#bracket-notation | 10,279,729 ops/sec | ±2.25% | 56 | ✓ |
-| Uint8Array#bracket-notation | 10,030,767 ops/sec | ±2.23% | 59 | |
-| | | | |
-| BrowserBuffer#concat | 144,138 ops/sec | ±1.38% | 65 | |
-| Uint8Array#concat | 4,950,764 ops/sec | ±1.70% | 63 | ✓ |
-| | | | |
-| BrowserBuffer#copy(16000) | 1,058,548 ops/sec | ±1.51% | 64 | |
-| Uint8Array#copy(16000) | 1,409,666 ops/sec | ±1.17% | 65 | ✓ |
-| | | | |
-| BrowserBuffer#copy(16) | 6,282,529 ops/sec | ±1.88% | 58 | |
-| Uint8Array#copy(16) | 11,907,128 ops/sec | ±2.87% | 58 | ✓ |
-| | | | |
-| BrowserBuffer#new(16000) | 101,663 ops/sec | ±3.89% | 57 | |
-| Uint8Array#new(16000) | 22,050,818 ops/sec | ±6.51% | 46 | ✓ |
-| | | | |
-| BrowserBuffer#new(16) | 176,072 ops/sec | ±2.13% | 64 | |
-| Uint8Array#new(16) | 24,385,731 ops/sec | ±5.01% | 51 | ✓ |
-| | | | |
-| BrowserBuffer#readDoubleBE | 41,341 ops/sec | ±1.06% | 67 | |
-| DataView#getFloat64 | 322,280 ops/sec | ±0.84% | 68 | ✓ |
-| | | | |
-| BrowserBuffer#readFloatBE | 46,141 ops/sec | ±1.06% | 65 | |
-| DataView#getFloat32 | 337,025 ops/sec | ±0.43% | 69 | ✓ |
-| | | | |
-| BrowserBuffer#readUInt32LE | 151,551 ops/sec | ±1.02% | 66 | |
-| DataView#getUint32 | 308,278 ops/sec | ±0.94% | 67 | ✓ |
-| | | | |
-| BrowserBuffer#slice | 197,365 ops/sec | ±0.95% | 66 | |
-| Uint8Array#subarray | 9,558,024 ops/sec | ±3.08% | 58 | ✓ |
-| | | | |
-| BrowserBuffer#writeFloatBE | 17,518 ops/sec | ±1.03% | 63 | |
-| DataView#setFloat32 | 319,751 ops/sec | ±0.48% | 68 | ✓ |
-
-
-### Node 0.11.14
-
-| Method | Operations | Accuracy | Sampled | Fastest |
-|:-------|:-----------|:---------|:--------|:-------:|
-| BrowserBuffer#bracket-notation | 10,489,828 ops/sec | ±3.25% | 90 | |
-| Uint8Array#bracket-notation | 10,534,884 ops/sec | ±0.81% | 92 | ✓ |
-| NodeBuffer#bracket-notation | 10,389,910 ops/sec | ±0.97% | 87 | |
-| | | | |
-| BrowserBuffer#concat | 487,830 ops/sec | ±2.58% | 88 | |
-| Uint8Array#concat | 1,814,327 ops/sec | ±1.28% | 88 | ✓ |
-| NodeBuffer#concat | 1,636,523 ops/sec | ±1.88% | 73 | |
-| | | | |
-| BrowserBuffer#copy(16000) | 1,073,665 ops/sec | ±0.77% | 90 | |
-| Uint8Array#copy(16000) | 1,348,517 ops/sec | ±0.84% | 89 | ✓ |
-| NodeBuffer#copy(16000) | 1,289,533 ops/sec | ±0.82% | 93 | |
-| | | | |
-| BrowserBuffer#copy(16) | 12,782,706 ops/sec | ±0.74% | 85 | |
-| Uint8Array#copy(16) | 14,180,427 ops/sec | ±0.93% | 92 | ✓ |
-| NodeBuffer#copy(16) | 11,083,134 ops/sec | ±1.06% | 89 | |
-| | | | |
-| BrowserBuffer#new(16000) | 141,678 ops/sec | ±3.30% | 67 | |
-| Uint8Array#new(16000) | 161,491 ops/sec | ±2.96% | 60 | |
-| NodeBuffer#new(16000) | 292,699 ops/sec | ±3.20% | 55 | ✓ |
-| | | | |
-| BrowserBuffer#new(16) | 1,655,466 ops/sec | ±2.41% | 82 | |
-| Uint8Array#new(16) | 14,399,926 ops/sec | ±0.91% | 94 | ✓ |
-| NodeBuffer#new(16) | 3,894,696 ops/sec | ±0.88% | 92 | |
-| | | | |
-| BrowserBuffer#readDoubleBE | 109,582 ops/sec | ±0.75% | 93 | ✓ |
-| DataView#getFloat64 | 91,235 ops/sec | ±0.81% | 90 | |
-| NodeBuffer#readDoubleBE | 88,593 ops/sec | ±0.96% | 81 | |
-| | | | |
-| BrowserBuffer#readFloatBE | 139,854 ops/sec | ±1.03% | 85 | ✓ |
-| DataView#getFloat32 | 98,744 ops/sec | ±0.80% | 89 | |
-| NodeBuffer#readFloatBE | 92,769 ops/sec | ±0.94% | 93 | |
-| | | | |
-| BrowserBuffer#readUInt32LE | 710,861 ops/sec | ±0.82% | 92 | |
-| DataView#getUint32 | 117,893 ops/sec | ±0.84% | 91 | |
-| NodeBuffer#readUInt32LE | 851,412 ops/sec | ±0.72% | 93 | ✓ |
-| | | | |
-| BrowserBuffer#slice | 1,673,877 ops/sec | ±0.73% | 94 | |
-| Uint8Array#subarray | 6,919,243 ops/sec | ±0.67% | 90 | ✓ |
-| NodeBuffer#slice | 4,617,604 ops/sec | ±0.79% | 93 | |
-| | | | |
-| BrowserBuffer#writeFloatBE | 66,011 ops/sec | ±0.75% | 93 | |
-| DataView#setFloat32 | 127,760 ops/sec | ±0.72% | 93 | ✓ |
-| NodeBuffer#writeFloatBE | 103,352 ops/sec | ±0.83% | 93 | |
-
-### iojs 1.8.1
-
-| Method | Operations | Accuracy | Sampled | Fastest |
-|:-------|:-----------|:---------|:--------|:-------:|
-| BrowserBuffer#bracket-notation | 10,990,488 ops/sec | ±1.11% | 91 | |
-| Uint8Array#bracket-notation | 11,268,757 ops/sec | ±0.65% | 97 | |
-| NodeBuffer#bracket-notation | 11,353,260 ops/sec | ±0.83% | 94 | ✓ |
-| | | | |
-| BrowserBuffer#concat | 378,954 ops/sec | ±0.74% | 94 | |
-| Uint8Array#concat | 1,358,288 ops/sec | ±0.97% | 87 | |
-| NodeBuffer#concat | 1,934,050 ops/sec | ±1.11% | 78 | ✓ |
-| | | | |
-| BrowserBuffer#copy(16000) | 894,538 ops/sec | ±0.56% | 84 | |
-| Uint8Array#copy(16000) | 1,442,656 ops/sec | ±0.71% | 96 | |
-| NodeBuffer#copy(16000) | 1,457,898 ops/sec | ±0.53% | 92 | ✓ |
-| | | | |
-| BrowserBuffer#copy(16) | 12,870,457 ops/sec | ±0.67% | 95 | |
-| Uint8Array#copy(16) | 16,643,989 ops/sec | ±0.61% | 93 | ✓ |
-| NodeBuffer#copy(16) | 14,885,848 ops/sec | ±0.74% | 94 | |
-| | | | |
-| BrowserBuffer#new(16000) | 109,264 ops/sec | ±4.21% | 63 | |
-| Uint8Array#new(16000) | 138,916 ops/sec | ±1.87% | 61 | |
-| NodeBuffer#new(16000) | 281,449 ops/sec | ±3.58% | 51 | ✓ |
-| | | | |
-| BrowserBuffer#new(16) | 1,362,935 ops/sec | ±0.56% | 99 | |
-| Uint8Array#new(16) | 6,193,090 ops/sec | ±0.64% | 95 | ✓ |
-| NodeBuffer#new(16) | 4,745,425 ops/sec | ±1.56% | 90 | |
-| | | | |
-| BrowserBuffer#readDoubleBE | 118,127 ops/sec | ±0.59% | 93 | ✓ |
-| DataView#getFloat64 | 107,332 ops/sec | ±0.65% | 91 | |
-| NodeBuffer#readDoubleBE | 116,274 ops/sec | ±0.94% | 95 | |
-| | | | |
-| BrowserBuffer#readFloatBE | 150,326 ops/sec | ±0.58% | 95 | ✓ |
-| DataView#getFloat32 | 110,541 ops/sec | ±0.57% | 98 | |
-| NodeBuffer#readFloatBE | 121,599 ops/sec | ±0.60% | 87 | |
-| | | | |
-| BrowserBuffer#readUInt32LE | 814,147 ops/sec | ±0.62% | 93 | |
-| DataView#getUint32 | 137,592 ops/sec | ±0.64% | 90 | |
-| NodeBuffer#readUInt32LE | 931,650 ops/sec | ±0.71% | 96 | ✓ |
-| | | | |
-| BrowserBuffer#slice | 878,590 ops/sec | ±0.68% | 93 | |
-| Uint8Array#subarray | 2,843,308 ops/sec | ±1.02% | 90 | |
-| NodeBuffer#slice | 4,998,316 ops/sec | ±0.68% | 90 | ✓ |
-| | | | |
-| BrowserBuffer#writeFloatBE | 65,927 ops/sec | ±0.74% | 93 | |
-| DataView#setFloat32 | 139,823 ops/sec | ±0.97% | 89 | ✓ |
-| NodeBuffer#writeFloatBE | 135,763 ops/sec | ±0.65% | 96 | |
-| | | | |
-
-## Testing the project
-
-First, install the project:
-
- npm install
-
-Then, to run tests in Node.js, run:
-
- npm run test-node
-
-To test locally in a browser, you can run:
-
- npm run test-browser-es5-local # For ES5 browsers that don't support ES6
- npm run test-browser-es6-local # For ES6 compliant browsers
-
-This will print out a URL that you can then open in a browser to run the tests, using [airtap](https://www.npmjs.com/package/airtap).
-
-To run automated browser tests using Saucelabs, ensure that your `SAUCE_USERNAME` and `SAUCE_ACCESS_KEY` environment variables are set, then run:
-
- npm test
-
-This is what's run in Travis, to check against various browsers. The list of browsers is kept in the `bin/airtap-es5.yml` and `bin/airtap-es6.yml` files.
-
-## JavaScript Standard Style
-
-This module uses [JavaScript Standard Style](https://github.com/feross/standard).
-
-[![JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
-
-To test that the code conforms to the style, `npm install` and run:
-
- ./node_modules/.bin/standard
-
-## credit
-
-This was originally forked from [buffer-browserify](https://github.com/toots/buffer-browserify).
-
-## Security Policies and Procedures
-
-The `buffer` team and community take all security bugs in `buffer` seriously. Please see our [security policies and procedures](https://github.com/feross/security) document to learn how to report issues.
-
-## license
-
-MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org), and other contributors. Originally forked from an MIT-licensed module by Romain Beauxis.
diff --git a/includes/search/node_modules/buffer/index.d.ts b/includes/search/node_modules/buffer/index.d.ts
deleted file mode 100644
index 5d1a804..0000000
--- a/includes/search/node_modules/buffer/index.d.ts
+++ /dev/null
@@ -1,186 +0,0 @@
-export class Buffer extends Uint8Array {
- length: number
- write(string: string, offset?: number, length?: number, encoding?: string): number;
- toString(encoding?: string, start?: number, end?: number): string;
- toJSON(): { type: 'Buffer', data: any[] };
- equals(otherBuffer: Buffer): boolean;
- compare(otherBuffer: Buffer, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number;
- copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;
- slice(start?: number, end?: number): Buffer;
- writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
- writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
- writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
- writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
- readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
- readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
- readIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
- readIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
- readUInt8(offset: number, noAssert?: boolean): number;
- readUInt16LE(offset: number, noAssert?: boolean): number;
- readUInt16BE(offset: number, noAssert?: boolean): number;
- readUInt32LE(offset: number, noAssert?: boolean): number;
- readUInt32BE(offset: number, noAssert?: boolean): number;
- readInt8(offset: number, noAssert?: boolean): number;
- readInt16LE(offset: number, noAssert?: boolean): number;
- readInt16BE(offset: number, noAssert?: boolean): number;
- readInt32LE(offset: number, noAssert?: boolean): number;
- readInt32BE(offset: number, noAssert?: boolean): number;
- readFloatLE(offset: number, noAssert?: boolean): number;
- readFloatBE(offset: number, noAssert?: boolean): number;
- readDoubleLE(offset: number, noAssert?: boolean): number;
- readDoubleBE(offset: number, noAssert?: boolean): number;
- reverse(): this;
- swap16(): Buffer;
- swap32(): Buffer;
- swap64(): Buffer;
- writeUInt8(value: number, offset: number, noAssert?: boolean): number;
- writeUInt16LE(value: number, offset: number, noAssert?: boolean): number;
- writeUInt16BE(value: number, offset: number, noAssert?: boolean): number;
- writeUInt32LE(value: number, offset: number, noAssert?: boolean): number;
- writeUInt32BE(value: number, offset: number, noAssert?: boolean): number;
- writeInt8(value: number, offset: number, noAssert?: boolean): number;
- writeInt16LE(value: number, offset: number, noAssert?: boolean): number;
- writeInt16BE(value: number, offset: number, noAssert?: boolean): number;
- writeInt32LE(value: number, offset: number, noAssert?: boolean): number;
- writeInt32BE(value: number, offset: number, noAssert?: boolean): number;
- writeFloatLE(value: number, offset: number, noAssert?: boolean): number;
- writeFloatBE(value: number, offset: number, noAssert?: boolean): number;
- writeDoubleLE(value: number, offset: number, noAssert?: boolean): number;
- writeDoubleBE(value: number, offset: number, noAssert?: boolean): number;
- fill(value: any, offset?: number, end?: number): this;
- indexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;
- lastIndexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;
- includes(value: string | number | Buffer, byteOffset?: number, encoding?: string): boolean;
-
- /**
- * Allocates a new buffer containing the given {str}.
- *
- * @param str String to store in buffer.
- * @param encoding encoding to use, optional. Default is 'utf8'
- */
- constructor (str: string, encoding?: string);
- /**
- * Allocates a new buffer of {size} octets.
- *
- * @param size count of octets to allocate.
- */
- constructor (size: number);
- /**
- * Allocates a new buffer containing the given {array} of octets.
- *
- * @param array The octets to store.
- */
- constructor (array: Uint8Array);
- /**
- * Produces a Buffer backed by the same allocated memory as
- * the given {ArrayBuffer}.
- *
- *
- * @param arrayBuffer The ArrayBuffer with which to share memory.
- */
- constructor (arrayBuffer: ArrayBuffer);
- /**
- * Allocates a new buffer containing the given {array} of octets.
- *
- * @param array The octets to store.
- */
- constructor (array: any[]);
- /**
- * Copies the passed {buffer} data onto a new {Buffer} instance.
- *
- * @param buffer The buffer to copy.
- */
- constructor (buffer: Buffer);
- prototype: Buffer;
- /**
- * Allocates a new Buffer using an {array} of octets.
- *
- * @param array
- */
- static from(array: any[]): Buffer;
- /**
- * When passed a reference to the .buffer property of a TypedArray instance,
- * the newly created Buffer will share the same allocated memory as the TypedArray.
- * The optional {byteOffset} and {length} arguments specify a memory range
- * within the {arrayBuffer} that will be shared by the Buffer.
- *
- * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer()
- * @param byteOffset
- * @param length
- */
- static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer;
- /**
- * Copies the passed {buffer} data onto a new Buffer instance.
- *
- * @param buffer
- */
- static from(buffer: Buffer | Uint8Array): Buffer;
- /**
- * Creates a new Buffer containing the given JavaScript string {str}.
- * If provided, the {encoding} parameter identifies the character encoding.
- * If not provided, {encoding} defaults to 'utf8'.
- *
- * @param str
- */
- static from(str: string, encoding?: string): Buffer;
- /**
- * Returns true if {obj} is a Buffer
- *
- * @param obj object to test.
- */
- static isBuffer(obj: any): obj is Buffer;
- /**
- * Returns true if {encoding} is a valid encoding argument.
- * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'
- *
- * @param encoding string to test.
- */
- static isEncoding(encoding: string): boolean;
- /**
- * Gives the actual byte length of a string. encoding defaults to 'utf8'.
- * This is not the same as String.prototype.length since that returns the number of characters in a string.
- *
- * @param string string to test.
- * @param encoding encoding used to evaluate (defaults to 'utf8')
- */
- static byteLength(string: string, encoding?: string): number;
- /**
- * Returns a buffer which is the result of concatenating all the buffers in the list together.
- *
- * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer.
- * If the list has exactly one item, then the first item of the list is returned.
- * If the list has more than one item, then a new Buffer is created.
- *
- * @param list An array of Buffer objects to concatenate
- * @param totalLength Total length of the buffers when concatenated.
- * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.
- */
- static concat(list: Buffer[], totalLength?: number): Buffer;
- /**
- * The same as buf1.compare(buf2).
- */
- static compare(buf1: Buffer, buf2: Buffer): number;
- /**
- * Allocates a new buffer of {size} octets.
- *
- * @param size count of octets to allocate.
- * @param fill if specified, buffer will be initialized by calling buf.fill(fill).
- * If parameter is omitted, buffer will be filled with zeros.
- * @param encoding encoding used for call to buf.fill while initializing
- */
- static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer;
- /**
- * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents
- * of the newly created Buffer are unknown and may contain sensitive data.
- *
- * @param size count of octets to allocate
- */
- static allocUnsafe(size: number): Buffer;
- /**
- * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents
- * of the newly created Buffer are unknown and may contain sensitive data.
- *
- * @param size count of octets to allocate
- */
- static allocUnsafeSlow(size: number): Buffer;
-}
diff --git a/includes/search/node_modules/buffer/index.js b/includes/search/node_modules/buffer/index.js
deleted file mode 100644
index 609cf31..0000000
--- a/includes/search/node_modules/buffer/index.js
+++ /dev/null
@@ -1,1817 +0,0 @@
-/*!
- * The buffer module from node.js, for the browser.
- *
- * @author Feross Aboukhadijeh <https://feross.org>
- * @license MIT
- */
-/* eslint-disable no-proto */
-
-'use strict'
-
-var base64 = require('base64-js')
-var ieee754 = require('ieee754')
-var customInspectSymbol =
- (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation
- ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation
- : null
-
-exports.Buffer = Buffer
-exports.SlowBuffer = SlowBuffer
-exports.INSPECT_MAX_BYTES = 50
-
-var K_MAX_LENGTH = 0x7fffffff
-exports.kMaxLength = K_MAX_LENGTH
-
-/**
- * If `Buffer.TYPED_ARRAY_SUPPORT`:
- * === true Use Uint8Array implementation (fastest)
- * === false Print warning and recommend using `buffer` v4.x which has an Object
- * implementation (most compatible, even IE6)
- *
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
- * Opera 11.6+, iOS 4.2+.
- *
- * We report that the browser does not support typed arrays if the are not subclassable
- * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`
- * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support
- * for __proto__ and has a buggy typed array implementation.
- */
-Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport()
-
-if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&
- typeof console.error === 'function') {
- console.error(
- 'This browser lacks typed array (Uint8Array) support which is required by ' +
- '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'
- )
-}
-
-function typedArraySupport () {
- // Can typed array instances can be augmented?
- try {
- var arr = new Uint8Array(1)
- var proto = { foo: function () { return 42 } }
- Object.setPrototypeOf(proto, Uint8Array.prototype)
- Object.setPrototypeOf(arr, proto)
- return arr.foo() === 42
- } catch (e) {
- return false
- }
-}
-
-Object.defineProperty(Buffer.prototype, 'parent', {
- enumerable: true,
- get: function () {
- if (!Buffer.isBuffer(this)) return undefined
- return this.buffer
- }
-})
-
-Object.defineProperty(Buffer.prototype, 'offset', {
- enumerable: true,
- get: function () {
- if (!Buffer.isBuffer(this)) return undefined
- return this.byteOffset
- }
-})
-
-function createBuffer (length) {
- if (length > K_MAX_LENGTH) {
- throw new RangeError('The value "' + length + '" is invalid for option "size"')
- }
- // Return an augmented `Uint8Array` instance
- var buf = new Uint8Array(length)
- Object.setPrototypeOf(buf, Buffer.prototype)
- return buf
-}
-
-/**
- * The Buffer constructor returns instances of `Uint8Array` that have their
- * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
- * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
- * and the `Uint8Array` methods. Square bracket notation works as expected -- it
- * returns a single octet.
- *
- * The `Uint8Array` prototype remains unmodified.
- */
-
-function Buffer (arg, encodingOrOffset, length) {
- // Common case.
- if (typeof arg === 'number') {
- if (typeof encodingOrOffset === 'string') {
- throw new TypeError(
- 'The "string" argument must be of type string. Received type number'
- )
- }
- return allocUnsafe(arg)
- }
- return from(arg, encodingOrOffset, length)
-}
-
-Buffer.poolSize = 8192 // not used by this implementation
-
-function from (value, encodingOrOffset, length) {
- if (typeof value === 'string') {
- return fromString(value, encodingOrOffset)
- }
-
- if (ArrayBuffer.isView(value)) {
- return fromArrayView(value)
- }
-
- if (value == null) {
- throw new TypeError(
- 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
- 'or Array-like Object. Received type ' + (typeof value)
- )
- }
-
- if (isInstance(value, ArrayBuffer) ||
- (value && isInstance(value.buffer, ArrayBuffer))) {
- return fromArrayBuffer(value, encodingOrOffset, length)
- }
-
- if (typeof SharedArrayBuffer !== 'undefined' &&
- (isInstance(value, SharedArrayBuffer) ||
- (value && isInstance(value.buffer, SharedArrayBuffer)))) {
- return fromArrayBuffer(value, encodingOrOffset, length)
- }
-
- if (typeof value === 'number') {
- throw new TypeError(
- 'The "value" argument must not be of type number. Received type number'
- )
- }
-
- var valueOf = value.valueOf && value.valueOf()
- if (valueOf != null && valueOf !== value) {
- return Buffer.from(valueOf, encodingOrOffset, length)
- }
-
- var b = fromObject(value)
- if (b) return b
-
- if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&
- typeof value[Symbol.toPrimitive] === 'function') {
- return Buffer.from(
- value[Symbol.toPrimitive]('string'), encodingOrOffset, length
- )
- }
-
- throw new TypeError(
- 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
- 'or Array-like Object. Received type ' + (typeof value)
- )
-}
-
-/**
- * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
- * if value is a number.
- * Buffer.from(str[, encoding])
- * Buffer.from(array)
- * Buffer.from(buffer)
- * Buffer.from(arrayBuffer[, byteOffset[, length]])
- **/
-Buffer.from = function (value, encodingOrOffset, length) {
- return from(value, encodingOrOffset, length)
-}
-
-// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:
-// https://github.com/feross/buffer/pull/148
-Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)
-Object.setPrototypeOf(Buffer, Uint8Array)
-
-function assertSize (size) {
- if (typeof size !== 'number') {
- throw new TypeError('"size" argument must be of type number')
- } else if (size < 0) {
- throw new RangeError('The value "' + size + '" is invalid for option "size"')
- }
-}
-
-function alloc (size, fill, encoding) {
- assertSize(size)
- if (size <= 0) {
- return createBuffer(size)
- }
- if (fill !== undefined) {
- // Only pay attention to encoding if it's a string. This
- // prevents accidentally sending in a number that would
- // be interpreted as a start offset.
- return typeof encoding === 'string'
- ? createBuffer(size).fill(fill, encoding)
- : createBuffer(size).fill(fill)
- }
- return createBuffer(size)
-}
-
-/**
- * Creates a new filled Buffer instance.
- * alloc(size[, fill[, encoding]])
- **/
-Buffer.alloc = function (size, fill, encoding) {
- return alloc(size, fill, encoding)
-}
-
-function allocUnsafe (size) {
- assertSize(size)
- return createBuffer(size < 0 ? 0 : checked(size) | 0)
-}
-
-/**
- * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
- * */
-Buffer.allocUnsafe = function (size) {
- return allocUnsafe(size)
-}
-/**
- * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
- */
-Buffer.allocUnsafeSlow = function (size) {
- return allocUnsafe(size)
-}
-
-function fromString (string, encoding) {
- if (typeof encoding !== 'string' || encoding === '') {
- encoding = 'utf8'
- }
-
- if (!Buffer.isEncoding(encoding)) {
- throw new TypeError('Unknown encoding: ' + encoding)
- }
-
- var length = byteLength(string, encoding) | 0
- var buf = createBuffer(length)
-
- var actual = buf.write(string, encoding)
-
- if (actual !== length) {
- // Writing a hex string, for example, that contains invalid characters will
- // cause everything after the first invalid character to be ignored. (e.g.
- // 'abxxcd' will be treated as 'ab')
- buf = buf.slice(0, actual)
- }
-
- return buf
-}
-
-function fromArrayLike (array) {
- var length = array.length < 0 ? 0 : checked(array.length) | 0
- var buf = createBuffer(length)
- for (var i = 0; i < length; i += 1) {
- buf[i] = array[i] & 255
- }
- return buf
-}
-
-function fromArrayView (arrayView) {
- if (isInstance(arrayView, Uint8Array)) {
- var copy = new Uint8Array(arrayView)
- return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)
- }
- return fromArrayLike(arrayView)
-}
-
-function fromArrayBuffer (array, byteOffset, length) {
- if (byteOffset < 0 || array.byteLength < byteOffset) {
- throw new RangeError('"offset" is outside of buffer bounds')
- }
-
- if (array.byteLength < byteOffset + (length || 0)) {
- throw new RangeError('"length" is outside of buffer bounds')
- }
-
- var buf
- if (byteOffset === undefined && length === undefined) {
- buf = new Uint8Array(array)
- } else if (length === undefined) {
- buf = new Uint8Array(array, byteOffset)
- } else {
- buf = new Uint8Array(array, byteOffset, length)
- }
-
- // Return an augmented `Uint8Array` instance
- Object.setPrototypeOf(buf, Buffer.prototype)
-
- return buf
-}
-
-function fromObject (obj) {
- if (Buffer.isBuffer(obj)) {
- var len = checked(obj.length) | 0
- var buf = createBuffer(len)
-
- if (buf.length === 0) {
- return buf
- }
-
- obj.copy(buf, 0, 0, len)
- return buf
- }
-
- if (obj.length !== undefined) {
- if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {
- return createBuffer(0)
- }
- return fromArrayLike(obj)
- }
-
- if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
- return fromArrayLike(obj.data)
- }
-}
-
-function checked (length) {
- // Note: cannot use `length < K_MAX_LENGTH` here because that fails when
- // length is NaN (which is otherwise coerced to zero.)
- if (length >= K_MAX_LENGTH) {
- throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
- 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')
- }
- return length | 0
-}
-
-function SlowBuffer (length) {
- if (+length != length) { // eslint-disable-line eqeqeq
- length = 0
- }
- return Buffer.alloc(+length)
-}
-
-Buffer.isBuffer = function isBuffer (b) {
- return b != null && b._isBuffer === true &&
- b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false
-}
-
-Buffer.compare = function compare (a, b) {
- if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)
- if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)
- if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
- throw new TypeError(
- 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'
- )
- }
-
- if (a === b) return 0
-
- var x = a.length
- var y = b.length
-
- for (var i = 0, len = Math.min(x, y); i < len; ++i) {
- if (a[i] !== b[i]) {
- x = a[i]
- y = b[i]
- break
- }
- }
-
- if (x < y) return -1
- if (y < x) return 1
- return 0
-}
-
-Buffer.isEncoding = function isEncoding (encoding) {
- switch (String(encoding).toLowerCase()) {
- case 'hex':
- case 'utf8':
- case 'utf-8':
- case 'ascii':
- case 'latin1':
- case 'binary':
- case 'base64':
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return true
- default:
- return false
- }
-}
-
-Buffer.concat = function concat (list, length) {
- if (!Array.isArray(list)) {
- throw new TypeError('"list" argument must be an Array of Buffers')
- }
-
- if (list.length === 0) {
- return Buffer.alloc(0)
- }
-
- var i
- if (length === undefined) {
- length = 0
- for (i = 0; i < list.length; ++i) {
- length += list[i].length
- }
- }
-
- var buffer = Buffer.allocUnsafe(length)
- var pos = 0
- for (i = 0; i < list.length; ++i) {
- var buf = list[i]
- if (isInstance(buf, Uint8Array)) {
- if (pos + buf.length > buffer.length) {
- Buffer.from(buf).copy(buffer, pos)
- } else {
- Uint8Array.prototype.set.call(
- buffer,
- buf,
- pos
- )
- }
- } else if (!Buffer.isBuffer(buf)) {
- throw new TypeError('"list" argument must be an Array of Buffers')
- } else {
- buf.copy(buffer, pos)
- }
- pos += buf.length
- }
- return buffer
-}
-
-function byteLength (string, encoding) {
- if (Buffer.isBuffer(string)) {
- return string.length
- }
- if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {
- return string.byteLength
- }
- if (typeof string !== 'string') {
- throw new TypeError(
- 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' +
- 'Received type ' + typeof string
- )
- }
-
- var len = string.length
- var mustMatch = (arguments.length > 2 && arguments[2] === true)
- if (!mustMatch && len === 0) return 0
-
- // Use a for loop to avoid recursion
- var loweredCase = false
- for (;;) {
- switch (encoding) {
- case 'ascii':
- case 'latin1':
- case 'binary':
- return len
- case 'utf8':
- case 'utf-8':
- return utf8ToBytes(string).length
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return len * 2
- case 'hex':
- return len >>> 1
- case 'base64':
- return base64ToBytes(string).length
- default:
- if (loweredCase) {
- return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8
- }
- encoding = ('' + encoding).toLowerCase()
- loweredCase = true
- }
- }
-}
-Buffer.byteLength = byteLength
-
-function slowToString (encoding, start, end) {
- var loweredCase = false
-
- // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
- // property of a typed array.
-
- // This behaves neither like String nor Uint8Array in that we set start/end
- // to their upper/lower bounds if the value passed is out of range.
- // undefined is handled specially as per ECMA-262 6th Edition,
- // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
- if (start === undefined || start < 0) {
- start = 0
- }
- // Return early if start > this.length. Done here to prevent potential uint32
- // coercion fail below.
- if (start > this.length) {
- return ''
- }
-
- if (end === undefined || end > this.length) {
- end = this.length
- }
-
- if (end <= 0) {
- return ''
- }
-
- // Force coercion to uint32. This will also coerce falsey/NaN values to 0.
- end >>>= 0
- start >>>= 0
-
- if (end <= start) {
- return ''
- }
-
- if (!encoding) encoding = 'utf8'
-
- while (true) {
- switch (encoding) {
- case 'hex':
- return hexSlice(this, start, end)
-
- case 'utf8':
- case 'utf-8':
- return utf8Slice(this, start, end)
-
- case 'ascii':
- return asciiSlice(this, start, end)
-
- case 'latin1':
- case 'binary':
- return latin1Slice(this, start, end)
-
- case 'base64':
- return base64Slice(this, start, end)
-
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return utf16leSlice(this, start, end)
-
- default:
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
- encoding = (encoding + '').toLowerCase()
- loweredCase = true
- }
- }
-}
-
-// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)
-// to detect a Buffer instance. It's not possible to use `instanceof Buffer`
-// reliably in a browserify context because there could be multiple different
-// copies of the 'buffer' package in use. This method works even for Buffer
-// instances that were created from another copy of the `buffer` package.
-// See: https://github.com/feross/buffer/issues/154
-Buffer.prototype._isBuffer = true
-
-function swap (b, n, m) {
- var i = b[n]
- b[n] = b[m]
- b[m] = i
-}
-
-Buffer.prototype.swap16 = function swap16 () {
- var len = this.length
- if (len % 2 !== 0) {
- throw new RangeError('Buffer size must be a multiple of 16-bits')
- }
- for (var i = 0; i < len; i += 2) {
- swap(this, i, i + 1)
- }
- return this
-}
-
-Buffer.prototype.swap32 = function swap32 () {
- var len = this.length
- if (len % 4 !== 0) {
- throw new RangeError('Buffer size must be a multiple of 32-bits')
- }
- for (var i = 0; i < len; i += 4) {
- swap(this, i, i + 3)
- swap(this, i + 1, i + 2)
- }
- return this
-}
-
-Buffer.prototype.swap64 = function swap64 () {
- var len = this.length
- if (len % 8 !== 0) {
- throw new RangeError('Buffer size must be a multiple of 64-bits')
- }
- for (var i = 0; i < len; i += 8) {
- swap(this, i, i + 7)
- swap(this, i + 1, i + 6)
- swap(this, i + 2, i + 5)
- swap(this, i + 3, i + 4)
- }
- return this
-}
-
-Buffer.prototype.toString = function toString () {
- var length = this.length
- if (length === 0) return ''
- if (arguments.length === 0) return utf8Slice(this, 0, length)
- return slowToString.apply(this, arguments)
-}
-
-Buffer.prototype.toLocaleString = Buffer.prototype.toString
-
-Buffer.prototype.equals = function equals (b) {
- if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
- if (this === b) return true
- return Buffer.compare(this, b) === 0
-}
-
-Buffer.prototype.inspect = function inspect () {
- var str = ''
- var max = exports.INSPECT_MAX_BYTES
- str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()
- if (this.length > max) str += ' ... '
- return '<Buffer ' + str + '>'
-}
-if (customInspectSymbol) {
- Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect
-}
-
-Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
- if (isInstance(target, Uint8Array)) {
- target = Buffer.from(target, target.offset, target.byteLength)
- }
- if (!Buffer.isBuffer(target)) {
- throw new TypeError(
- 'The "target" argument must be one of type Buffer or Uint8Array. ' +
- 'Received type ' + (typeof target)
- )
- }
-
- if (start === undefined) {
- start = 0
- }
- if (end === undefined) {
- end = target ? target.length : 0
- }
- if (thisStart === undefined) {
- thisStart = 0
- }
- if (thisEnd === undefined) {
- thisEnd = this.length
- }
-
- if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
- throw new RangeError('out of range index')
- }
-
- if (thisStart >= thisEnd && start >= end) {
- return 0
- }
- if (thisStart >= thisEnd) {
- return -1
- }
- if (start >= end) {
- return 1
- }
-
- start >>>= 0
- end >>>= 0
- thisStart >>>= 0
- thisEnd >>>= 0
-
- if (this === target) return 0
-
- var x = thisEnd - thisStart
- var y = end - start
- var len = Math.min(x, y)
-
- var thisCopy = this.slice(thisStart, thisEnd)
- var targetCopy = target.slice(start, end)
-
- for (var i = 0; i < len; ++i) {
- if (thisCopy[i] !== targetCopy[i]) {
- x = thisCopy[i]
- y = targetCopy[i]
- break
- }
- }
-
- if (x < y) return -1
- if (y < x) return 1
- return 0
-}
-
-// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
-// OR the last index of `val` in `buffer` at offset <= `byteOffset`.
-//
-// Arguments:
-// - buffer - a Buffer to search
-// - val - a string, Buffer, or number
-// - byteOffset - an index into `buffer`; will be clamped to an int32
-// - encoding - an optional encoding, relevant is val is a string
-// - dir - true for indexOf, false for lastIndexOf
-function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
- // Empty buffer means no match
- if (buffer.length === 0) return -1
-
- // Normalize byteOffset
- if (typeof byteOffset === 'string') {
- encoding = byteOffset
- byteOffset = 0
- } else if (byteOffset > 0x7fffffff) {
- byteOffset = 0x7fffffff
- } else if (byteOffset < -0x80000000) {
- byteOffset = -0x80000000
- }
- byteOffset = +byteOffset // Coerce to Number.
- if (numberIsNaN(byteOffset)) {
- // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
- byteOffset = dir ? 0 : (buffer.length - 1)
- }
-
- // Normalize byteOffset: negative offsets start from the end of the buffer
- if (byteOffset < 0) byteOffset = buffer.length + byteOffset
- if (byteOffset >= buffer.length) {
- if (dir) return -1
- else byteOffset = buffer.length - 1
- } else if (byteOffset < 0) {
- if (dir) byteOffset = 0
- else return -1
- }
-
- // Normalize val
- if (typeof val === 'string') {
- val = Buffer.from(val, encoding)
- }
-
- // Finally, search either indexOf (if dir is true) or lastIndexOf
- if (Buffer.isBuffer(val)) {
- // Special case: looking for empty string/buffer always fails
- if (val.length === 0) {
- return -1
- }
- return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
- } else if (typeof val === 'number') {
- val = val & 0xFF // Search for a byte value [0-255]
- if (typeof Uint8Array.prototype.indexOf === 'function') {
- if (dir) {
- return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
- } else {
- return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
- }
- }
- return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)
- }
-
- throw new TypeError('val must be string, number or Buffer')
-}
-
-function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
- var indexSize = 1
- var arrLength = arr.length
- var valLength = val.length
-
- if (encoding !== undefined) {
- encoding = String(encoding).toLowerCase()
- if (encoding === 'ucs2' || encoding === 'ucs-2' ||
- encoding === 'utf16le' || encoding === 'utf-16le') {
- if (arr.length < 2 || val.length < 2) {
- return -1
- }
- indexSize = 2
- arrLength /= 2
- valLength /= 2
- byteOffset /= 2
- }
- }
-
- function read (buf, i) {
- if (indexSize === 1) {
- return buf[i]
- } else {
- return buf.readUInt16BE(i * indexSize)
- }
- }
-
- var i
- if (dir) {
- var foundIndex = -1
- for (i = byteOffset; i < arrLength; i++) {
- if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
- if (foundIndex === -1) foundIndex = i
- if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
- } else {
- if (foundIndex !== -1) i -= i - foundIndex
- foundIndex = -1
- }
- }
- } else {
- if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
- for (i = byteOffset; i >= 0; i--) {
- var found = true
- for (var j = 0; j < valLength; j++) {
- if (read(arr, i + j) !== read(val, j)) {
- found = false
- break
- }
- }
- if (found) return i
- }
- }
-
- return -1
-}
-
-Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
- return this.indexOf(val, byteOffset, encoding) !== -1
-}
-
-Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
- return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
-}
-
-Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
- return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
-}
-
-function hexWrite (buf, string, offset, length) {
- offset = Number(offset) || 0
- var remaining = buf.length - offset
- if (!length) {
- length = remaining
- } else {
- length = Number(length)
- if (length > remaining) {
- length = remaining
- }
- }
-
- var strLen = string.length
-
- if (length > strLen / 2) {
- length = strLen / 2
- }
- for (var i = 0; i < length; ++i) {
- var parsed = parseInt(string.substr(i * 2, 2), 16)
- if (numberIsNaN(parsed)) return i
- buf[offset + i] = parsed
- }
- return i
-}
-
-function utf8Write (buf, string, offset, length) {
- return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
-}
-
-function asciiWrite (buf, string, offset, length) {
- return blitBuffer(asciiToBytes(string), buf, offset, length)
-}
-
-function base64Write (buf, string, offset, length) {
- return blitBuffer(base64ToBytes(string), buf, offset, length)
-}
-
-function ucs2Write (buf, string, offset, length) {
- return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
-}
-
-Buffer.prototype.write = function write (string, offset, length, encoding) {
- // Buffer#write(string)
- if (offset === undefined) {
- encoding = 'utf8'
- length = this.length
- offset = 0
- // Buffer#write(string, encoding)
- } else if (length === undefined && typeof offset === 'string') {
- encoding = offset
- length = this.length
- offset = 0
- // Buffer#write(string, offset[, length][, encoding])
- } else if (isFinite(offset)) {
- offset = offset >>> 0
- if (isFinite(length)) {
- length = length >>> 0
- if (encoding === undefined) encoding = 'utf8'
- } else {
- encoding = length
- length = undefined
- }
- } else {
- throw new Error(
- 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
- )
- }
-
- var remaining = this.length - offset
- if (length === undefined || length > remaining) length = remaining
-
- if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
- throw new RangeError('Attempt to write outside buffer bounds')
- }
-
- if (!encoding) encoding = 'utf8'
-
- var loweredCase = false
- for (;;) {
- switch (encoding) {
- case 'hex':
- return hexWrite(this, string, offset, length)
-
- case 'utf8':
- case 'utf-8':
- return utf8Write(this, string, offset, length)
-
- case 'ascii':
- case 'latin1':
- case 'binary':
- return asciiWrite(this, string, offset, length)
-
- case 'base64':
- // Warning: maxLength not taken into account in base64Write
- return base64Write(this, string, offset, length)
-
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return ucs2Write(this, string, offset, length)
-
- default:
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
- encoding = ('' + encoding).toLowerCase()
- loweredCase = true
- }
- }
-}
-
-Buffer.prototype.toJSON = function toJSON () {
- return {
- type: 'Buffer',
- data: Array.prototype.slice.call(this._arr || this, 0)
- }
-}
-
-function base64Slice (buf, start, end) {
- if (start === 0 && end === buf.length) {
- return base64.fromByteArray(buf)
- } else {
- return base64.fromByteArray(buf.slice(start, end))
- }
-}
-
-function utf8Slice (buf, start, end) {
- end = Math.min(buf.length, end)
- var res = []
-
- var i = start
- while (i < end) {
- var firstByte = buf[i]
- var codePoint = null
- var bytesPerSequence = (firstByte > 0xEF)
- ? 4
- : (firstByte > 0xDF)
- ? 3
- : (firstByte > 0xBF)
- ? 2
- : 1
-
- if (i + bytesPerSequence <= end) {
- var secondByte, thirdByte, fourthByte, tempCodePoint
-
- switch (bytesPerSequence) {
- case 1:
- if (firstByte < 0x80) {
- codePoint = firstByte
- }
- break
- case 2:
- secondByte = buf[i + 1]
- if ((secondByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
- if (tempCodePoint > 0x7F) {
- codePoint = tempCodePoint
- }
- }
- break
- case 3:
- secondByte = buf[i + 1]
- thirdByte = buf[i + 2]
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
- if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
- codePoint = tempCodePoint
- }
- }
- break
- case 4:
- secondByte = buf[i + 1]
- thirdByte = buf[i + 2]
- fourthByte = buf[i + 3]
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
- if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
- codePoint = tempCodePoint
- }
- }
- }
- }
-
- if (codePoint === null) {
- // we did not generate a valid codePoint so insert a
- // replacement char (U+FFFD) and advance only 1 byte
- codePoint = 0xFFFD
- bytesPerSequence = 1
- } else if (codePoint > 0xFFFF) {
- // encode to utf16 (surrogate pair dance)
- codePoint -= 0x10000
- res.push(codePoint >>> 10 & 0x3FF | 0xD800)
- codePoint = 0xDC00 | codePoint & 0x3FF
- }
-
- res.push(codePoint)
- i += bytesPerSequence
- }
-
- return decodeCodePointsArray(res)
-}
-
-// Based on http://stackoverflow.com/a/22747272/680742, the browser with
-// the lowest limit is Chrome, with 0x10000 args.
-// We go 1 magnitude less, for safety
-var MAX_ARGUMENTS_LENGTH = 0x1000
-
-function decodeCodePointsArray (codePoints) {
- var len = codePoints.length
- if (len <= MAX_ARGUMENTS_LENGTH) {
- return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
- }
-
- // Decode in chunks to avoid "call stack size exceeded".
- var res = ''
- var i = 0
- while (i < len) {
- res += String.fromCharCode.apply(
- String,
- codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
- )
- }
- return res
-}
-
-function asciiSlice (buf, start, end) {
- var ret = ''
- end = Math.min(buf.length, end)
-
- for (var i = start; i < end; ++i) {
- ret += String.fromCharCode(buf[i] & 0x7F)
- }
- return ret
-}
-
-function latin1Slice (buf, start, end) {
- var ret = ''
- end = Math.min(buf.length, end)
-
- for (var i = start; i < end; ++i) {
- ret += String.fromCharCode(buf[i])
- }
- return ret
-}
-
-function hexSlice (buf, start, end) {
- var len = buf.length
-
- if (!start || start < 0) start = 0
- if (!end || end < 0 || end > len) end = len
-
- var out = ''
- for (var i = start; i < end; ++i) {
- out += hexSliceLookupTable[buf[i]]
- }
- return out
-}
-
-function utf16leSlice (buf, start, end) {
- var bytes = buf.slice(start, end)
- var res = ''
- // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)
- for (var i = 0; i < bytes.length - 1; i += 2) {
- res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))
- }
- return res
-}
-
-Buffer.prototype.slice = function slice (start, end) {
- var len = this.length
- start = ~~start
- end = end === undefined ? len : ~~end
-
- if (start < 0) {
- start += len
- if (start < 0) start = 0
- } else if (start > len) {
- start = len
- }
-
- if (end < 0) {
- end += len
- if (end < 0) end = 0
- } else if (end > len) {
- end = len
- }
-
- if (end < start) end = start
-
- var newBuf = this.subarray(start, end)
- // Return an augmented `Uint8Array` instance
- Object.setPrototypeOf(newBuf, Buffer.prototype)
-
- return newBuf
-}
-
-/*
- * Need to make sure that buffer isn't trying to write out of bounds.
- */
-function checkOffset (offset, ext, length) {
- if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
- if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
-}
-
-Buffer.prototype.readUintLE =
-Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
- offset = offset >>> 0
- byteLength = byteLength >>> 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
-
- var val = this[offset]
- var mul = 1
- var i = 0
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul
- }
-
- return val
-}
-
-Buffer.prototype.readUintBE =
-Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
- offset = offset >>> 0
- byteLength = byteLength >>> 0
- if (!noAssert) {
- checkOffset(offset, byteLength, this.length)
- }
-
- var val = this[offset + --byteLength]
- var mul = 1
- while (byteLength > 0 && (mul *= 0x100)) {
- val += this[offset + --byteLength] * mul
- }
-
- return val
-}
-
-Buffer.prototype.readUint8 =
-Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 1, this.length)
- return this[offset]
-}
-
-Buffer.prototype.readUint16LE =
-Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 2, this.length)
- return this[offset] | (this[offset + 1] << 8)
-}
-
-Buffer.prototype.readUint16BE =
-Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 2, this.length)
- return (this[offset] << 8) | this[offset + 1]
-}
-
-Buffer.prototype.readUint32LE =
-Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return ((this[offset]) |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16)) +
- (this[offset + 3] * 0x1000000)
-}
-
-Buffer.prototype.readUint32BE =
-Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return (this[offset] * 0x1000000) +
- ((this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- this[offset + 3])
-}
-
-Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
- offset = offset >>> 0
- byteLength = byteLength >>> 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
-
- var val = this[offset]
- var mul = 1
- var i = 0
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul
- }
- mul *= 0x80
-
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
-
- return val
-}
-
-Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
- offset = offset >>> 0
- byteLength = byteLength >>> 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
-
- var i = byteLength
- var mul = 1
- var val = this[offset + --i]
- while (i > 0 && (mul *= 0x100)) {
- val += this[offset + --i] * mul
- }
- mul *= 0x80
-
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
-
- return val
-}
-
-Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 1, this.length)
- if (!(this[offset] & 0x80)) return (this[offset])
- return ((0xff - this[offset] + 1) * -1)
-}
-
-Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 2, this.length)
- var val = this[offset] | (this[offset + 1] << 8)
- return (val & 0x8000) ? val | 0xFFFF0000 : val
-}
-
-Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 2, this.length)
- var val = this[offset + 1] | (this[offset] << 8)
- return (val & 0x8000) ? val | 0xFFFF0000 : val
-}
-
-Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return (this[offset]) |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16) |
- (this[offset + 3] << 24)
-}
-
-Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 4, this.length)
-
- return (this[offset] << 24) |
- (this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- (this[offset + 3])
-}
-
-Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 4, this.length)
- return ieee754.read(this, offset, true, 23, 4)
-}
-
-Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 4, this.length)
- return ieee754.read(this, offset, false, 23, 4)
-}
-
-Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 8, this.length)
- return ieee754.read(this, offset, true, 52, 8)
-}
-
-Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
- offset = offset >>> 0
- if (!noAssert) checkOffset(offset, 8, this.length)
- return ieee754.read(this, offset, false, 52, 8)
-}
-
-function checkInt (buf, value, offset, ext, max, min) {
- if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
- if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
-}
-
-Buffer.prototype.writeUintLE =
-Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset >>> 0
- byteLength = byteLength >>> 0
- if (!noAssert) {
- var maxBytes = Math.pow(2, 8 * byteLength) - 1
- checkInt(this, value, offset, byteLength, maxBytes, 0)
- }
-
- var mul = 1
- var i = 0
- this[offset] = value & 0xFF
- while (++i < byteLength && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xFF
- }
-
- return offset + byteLength
-}
-
-Buffer.prototype.writeUintBE =
-Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset >>> 0
- byteLength = byteLength >>> 0
- if (!noAssert) {
- var maxBytes = Math.pow(2, 8 * byteLength) - 1
- checkInt(this, value, offset, byteLength, maxBytes, 0)
- }
-
- var i = byteLength - 1
- var mul = 1
- this[offset + i] = value & 0xFF
- while (--i >= 0 && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xFF
- }
-
- return offset + byteLength
-}
-
-Buffer.prototype.writeUint8 =
-Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
- this[offset] = (value & 0xff)
- return offset + 1
-}
-
-Buffer.prototype.writeUint16LE =
-Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- return offset + 2
-}
-
-Buffer.prototype.writeUint16BE =
-Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
- this[offset] = (value >>> 8)
- this[offset + 1] = (value & 0xff)
- return offset + 2
-}
-
-Buffer.prototype.writeUint32LE =
-Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
- this[offset + 3] = (value >>> 24)
- this[offset + 2] = (value >>> 16)
- this[offset + 1] = (value >>> 8)
- this[offset] = (value & 0xff)
- return offset + 4
-}
-
-Buffer.prototype.writeUint32BE =
-Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
- this[offset] = (value >>> 24)
- this[offset + 1] = (value >>> 16)
- this[offset + 2] = (value >>> 8)
- this[offset + 3] = (value & 0xff)
- return offset + 4
-}
-
-Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) {
- var limit = Math.pow(2, (8 * byteLength) - 1)
-
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
- }
-
- var i = 0
- var mul = 1
- var sub = 0
- this[offset] = value & 0xFF
- while (++i < byteLength && (mul *= 0x100)) {
- if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
- sub = 1
- }
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
- }
-
- return offset + byteLength
-}
-
-Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) {
- var limit = Math.pow(2, (8 * byteLength) - 1)
-
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
- }
-
- var i = byteLength - 1
- var mul = 1
- var sub = 0
- this[offset + i] = value & 0xFF
- while (--i >= 0 && (mul *= 0x100)) {
- if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
- sub = 1
- }
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
- }
-
- return offset + byteLength
-}
-
-Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
- if (value < 0) value = 0xff + value + 1
- this[offset] = (value & 0xff)
- return offset + 1
-}
-
-Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- return offset + 2
-}
-
-Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
- this[offset] = (value >>> 8)
- this[offset + 1] = (value & 0xff)
- return offset + 2
-}
-
-Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- this[offset + 2] = (value >>> 16)
- this[offset + 3] = (value >>> 24)
- return offset + 4
-}
-
-Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
- if (value < 0) value = 0xffffffff + value + 1
- this[offset] = (value >>> 24)
- this[offset + 1] = (value >>> 16)
- this[offset + 2] = (value >>> 8)
- this[offset + 3] = (value & 0xff)
- return offset + 4
-}
-
-function checkIEEE754 (buf, value, offset, ext, max, min) {
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
- if (offset < 0) throw new RangeError('Index out of range')
-}
-
-function writeFloat (buf, value, offset, littleEndian, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) {
- checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
- }
- ieee754.write(buf, value, offset, littleEndian, 23, 4)
- return offset + 4
-}
-
-Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
- return writeFloat(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
- return writeFloat(this, value, offset, false, noAssert)
-}
-
-function writeDouble (buf, value, offset, littleEndian, noAssert) {
- value = +value
- offset = offset >>> 0
- if (!noAssert) {
- checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
- }
- ieee754.write(buf, value, offset, littleEndian, 52, 8)
- return offset + 8
-}
-
-Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
- return writeDouble(this, value, offset, true, noAssert)
-}
-
-Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
- return writeDouble(this, value, offset, false, noAssert)
-}
-
-// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
-Buffer.prototype.copy = function copy (target, targetStart, start, end) {
- if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')
- if (!start) start = 0
- if (!end && end !== 0) end = this.length
- if (targetStart >= target.length) targetStart = target.length
- if (!targetStart) targetStart = 0
- if (end > 0 && end < start) end = start
-
- // Copy 0 bytes; we're done
- if (end === start) return 0
- if (target.length === 0 || this.length === 0) return 0
-
- // Fatal error conditions
- if (targetStart < 0) {
- throw new RangeError('targetStart out of bounds')
- }
- if (start < 0 || start >= this.length) throw new RangeError('Index out of range')
- if (end < 0) throw new RangeError('sourceEnd out of bounds')
-
- // Are we oob?
- if (end > this.length) end = this.length
- if (target.length - targetStart < end - start) {
- end = target.length - targetStart + start
- }
-
- var len = end - start
-
- if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
- // Use built-in when available, missing from IE11
- this.copyWithin(targetStart, start, end)
- } else {
- Uint8Array.prototype.set.call(
- target,
- this.subarray(start, end),
- targetStart
- )
- }
-
- return len
-}
-
-// Usage:
-// buffer.fill(number[, offset[, end]])
-// buffer.fill(buffer[, offset[, end]])
-// buffer.fill(string[, offset[, end]][, encoding])
-Buffer.prototype.fill = function fill (val, start, end, encoding) {
- // Handle string cases:
- if (typeof val === 'string') {
- if (typeof start === 'string') {
- encoding = start
- start = 0
- end = this.length
- } else if (typeof end === 'string') {
- encoding = end
- end = this.length
- }
- if (encoding !== undefined && typeof encoding !== 'string') {
- throw new TypeError('encoding must be a string')
- }
- if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
- throw new TypeError('Unknown encoding: ' + encoding)
- }
- if (val.length === 1) {
- var code = val.charCodeAt(0)
- if ((encoding === 'utf8' && code < 128) ||
- encoding === 'latin1') {
- // Fast path: If `val` fits into a single byte, use that numeric value.
- val = code
- }
- }
- } else if (typeof val === 'number') {
- val = val & 255
- } else if (typeof val === 'boolean') {
- val = Number(val)
- }
-
- // Invalid ranges are not set to a default, so can range check early.
- if (start < 0 || this.length < start || this.length < end) {
- throw new RangeError('Out of range index')
- }
-
- if (end <= start) {
- return this
- }
-
- start = start >>> 0
- end = end === undefined ? this.length : end >>> 0
-
- if (!val) val = 0
-
- var i
- if (typeof val === 'number') {
- for (i = start; i < end; ++i) {
- this[i] = val
- }
- } else {
- var bytes = Buffer.isBuffer(val)
- ? val
- : Buffer.from(val, encoding)
- var len = bytes.length
- if (len === 0) {
- throw new TypeError('The value "' + val +
- '" is invalid for argument "value"')
- }
- for (i = 0; i < end - start; ++i) {
- this[i + start] = bytes[i % len]
- }
- }
-
- return this
-}
-
-// HELPER FUNCTIONS
-// ================
-
-var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g
-
-function base64clean (str) {
- // Node takes equal signs as end of the Base64 encoding
- str = str.split('=')[0]
- // Node strips out invalid characters like \n and \t from the string, base64-js does not
- str = str.trim().replace(INVALID_BASE64_RE, '')
- // Node converts strings with length < 2 to ''
- if (str.length < 2) return ''
- // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
- while (str.length % 4 !== 0) {
- str = str + '='
- }
- return str
-}
-
-function utf8ToBytes (string, units) {
- units = units || Infinity
- var codePoint
- var length = string.length
- var leadSurrogate = null
- var bytes = []
-
- for (var i = 0; i < length; ++i) {
- codePoint = string.charCodeAt(i)
-
- // is surrogate component
- if (codePoint > 0xD7FF && codePoint < 0xE000) {
- // last char was a lead
- if (!leadSurrogate) {
- // no lead yet
- if (codePoint > 0xDBFF) {
- // unexpected trail
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- continue
- } else if (i + 1 === length) {
- // unpaired lead
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- continue
- }
-
- // valid lead
- leadSurrogate = codePoint
-
- continue
- }
-
- // 2 leads in a row
- if (codePoint < 0xDC00) {
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- leadSurrogate = codePoint
- continue
- }
-
- // valid surrogate pair
- codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
- } else if (leadSurrogate) {
- // valid bmp char, but last char was a lead
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- }
-
- leadSurrogate = null
-
- // encode utf8
- if (codePoint < 0x80) {
- if ((units -= 1) < 0) break
- bytes.push(codePoint)
- } else if (codePoint < 0x800) {
- if ((units -= 2) < 0) break
- bytes.push(
- codePoint >> 0x6 | 0xC0,
- codePoint & 0x3F | 0x80
- )
- } else if (codePoint < 0x10000) {
- if ((units -= 3) < 0) break
- bytes.push(
- codePoint >> 0xC | 0xE0,
- codePoint >> 0x6 & 0x3F | 0x80,
- codePoint & 0x3F | 0x80
- )
- } else if (codePoint < 0x110000) {
- if ((units -= 4) < 0) break
- bytes.push(
- codePoint >> 0x12 | 0xF0,
- codePoint >> 0xC & 0x3F | 0x80,
- codePoint >> 0x6 & 0x3F | 0x80,
- codePoint & 0x3F | 0x80
- )
- } else {
- throw new Error('Invalid code point')
- }
- }
-
- return bytes
-}
-
-function asciiToBytes (str) {
- var byteArray = []
- for (var i = 0; i < str.length; ++i) {
- // Node's code seems to be doing this and not & 0x7F..
- byteArray.push(str.charCodeAt(i) & 0xFF)
- }
- return byteArray
-}
-
-function utf16leToBytes (str, units) {
- var c, hi, lo
- var byteArray = []
- for (var i = 0; i < str.length; ++i) {
- if ((units -= 2) < 0) break
-
- c = str.charCodeAt(i)
- hi = c >> 8
- lo = c % 256
- byteArray.push(lo)
- byteArray.push(hi)
- }
-
- return byteArray
-}
-
-function base64ToBytes (str) {
- return base64.toByteArray(base64clean(str))
-}
-
-function blitBuffer (src, dst, offset, length) {
- for (var i = 0; i < length; ++i) {
- if ((i + offset >= dst.length) || (i >= src.length)) break
- dst[i + offset] = src[i]
- }
- return i
-}
-
-// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass
-// the `instanceof` check but they should be treated as of that type.
-// See: https://github.com/feross/buffer/issues/166
-function isInstance (obj, type) {
- return obj instanceof type ||
- (obj != null && obj.constructor != null && obj.constructor.name != null &&
- obj.constructor.name === type.name)
-}
-function numberIsNaN (obj) {
- // For IE11 support
- return obj !== obj // eslint-disable-line no-self-compare
-}
-
-// Create lookup table for `toString('hex')`
-// See: https://github.com/feross/buffer/issues/219
-var hexSliceLookupTable = (function () {
- var alphabet = '0123456789abcdef'
- var table = new Array(256)
- for (var i = 0; i < 16; ++i) {
- var i16 = i * 16
- for (var j = 0; j < 16; ++j) {
- table[i16 + j] = alphabet[i] + alphabet[j]
- }
- }
- return table
-})()
diff --git a/includes/search/node_modules/buffer/package.json b/includes/search/node_modules/buffer/package.json
deleted file mode 100644
index 3b1b498..0000000
--- a/includes/search/node_modules/buffer/package.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "name": "buffer",
- "description": "Node.js Buffer API, for the browser",
- "version": "5.7.1",
- "author": {
- "name": "Feross Aboukhadijeh",
- "email": "feross@feross.org",
- "url": "https://feross.org"
- },
- "bugs": {
- "url": "https://github.com/feross/buffer/issues"
- },
- "contributors": [
- "Romain Beauxis <toots@rastageeks.org>",
- "James Halliday <mail@substack.net>"
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- },
- "devDependencies": {
- "airtap": "^3.0.0",
- "benchmark": "^2.1.4",
- "browserify": "^17.0.0",
- "concat-stream": "^2.0.0",
- "hyperquest": "^2.1.3",
- "is-buffer": "^2.0.4",
- "is-nan": "^1.3.0",
- "split": "^1.0.1",
- "standard": "*",
- "tape": "^5.0.1",
- "through2": "^4.0.2",
- "uglify-js": "^3.11.3"
- },
- "homepage": "https://github.com/feross/buffer",
- "jspm": {
- "map": {
- "./index.js": {
- "node": "@node/buffer"
- }
- }
- },
- "keywords": [
- "arraybuffer",
- "browser",
- "browserify",
- "buffer",
- "compatible",
- "dataview",
- "uint8array"
- ],
- "license": "MIT",
- "main": "index.js",
- "types": "index.d.ts",
- "repository": {
- "type": "git",
- "url": "git://github.com/feross/buffer.git"
- },
- "scripts": {
- "perf": "browserify --debug perf/bracket-notation.js > perf/bundle.js && open perf/index.html",
- "perf-node": "node perf/bracket-notation.js && node perf/concat.js && node perf/copy-big.js && node perf/copy.js && node perf/new-big.js && node perf/new.js && node perf/readDoubleBE.js && node perf/readFloatBE.js && node perf/readUInt32LE.js && node perf/slice.js && node perf/writeFloatBE.js",
- "size": "browserify -r ./ | uglifyjs -c -m | gzip | wc -c",
- "test": "standard && node ./bin/test.js",
- "test-browser-es5": "airtap -- test/*.js",
- "test-browser-es5-local": "airtap --local -- test/*.js",
- "test-browser-es6": "airtap -- test/*.js test/node/*.js",
- "test-browser-es6-local": "airtap --local -- test/*.js test/node/*.js",
- "test-node": "tape test/*.js test/node/*.js",
- "update-authors": "./bin/update-authors.sh"
- },
- "standard": {
- "ignore": [
- "test/node/**/*.js",
- "test/common.js",
- "test/_polyfill.js",
- "perf/**/*.js"
- ],
- "globals": [
- "SharedArrayBuffer"
- ]
- },
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
-}
diff --git a/includes/search/node_modules/chalk/index.d.ts b/includes/search/node_modules/chalk/index.d.ts
deleted file mode 100644
index 9cd88f3..0000000
--- a/includes/search/node_modules/chalk/index.d.ts
+++ /dev/null
@@ -1,415 +0,0 @@
-/**
-Basic foreground colors.
-
-[More colors here.](https://github.com/chalk/chalk/blob/master/readme.md#256-and-truecolor-color-support)
-*/
-declare type ForegroundColor =
- | 'black'
- | 'red'
- | 'green'
- | 'yellow'
- | 'blue'
- | 'magenta'
- | 'cyan'
- | 'white'
- | 'gray'
- | 'grey'
- | 'blackBright'
- | 'redBright'
- | 'greenBright'
- | 'yellowBright'
- | 'blueBright'
- | 'magentaBright'
- | 'cyanBright'
- | 'whiteBright';
-
-/**
-Basic background colors.
-
-[More colors here.](https://github.com/chalk/chalk/blob/master/readme.md#256-and-truecolor-color-support)
-*/
-declare type BackgroundColor =
- | 'bgBlack'
- | 'bgRed'
- | 'bgGreen'
- | 'bgYellow'
- | 'bgBlue'
- | 'bgMagenta'
- | 'bgCyan'
- | 'bgWhite'
- | 'bgGray'
- | 'bgGrey'
- | 'bgBlackBright'
- | 'bgRedBright'
- | 'bgGreenBright'
- | 'bgYellowBright'
- | 'bgBlueBright'
- | 'bgMagentaBright'
- | 'bgCyanBright'
- | 'bgWhiteBright';
-
-/**
-Basic colors.
-
-[More colors here.](https://github.com/chalk/chalk/blob/master/readme.md#256-and-truecolor-color-support)
-*/
-declare type Color = ForegroundColor | BackgroundColor;
-
-declare type Modifiers =
- | 'reset'
- | 'bold'
- | 'dim'
- | 'italic'
- | 'underline'
- | 'inverse'
- | 'hidden'
- | 'strikethrough'
- | 'visible';
-
-declare namespace chalk {
- /**
- Levels:
- - `0` - All colors disabled.
- - `1` - Basic 16 colors support.
- - `2` - ANSI 256 colors support.
- - `3` - Truecolor 16 million colors support.
- */
- type Level = 0 | 1 | 2 | 3;
-
- interface Options {
- /**
- Specify the color support for Chalk.
-
- By default, color support is automatically detected based on the environment.
-
- Levels:
- - `0` - All colors disabled.
- - `1` - Basic 16 colors support.
- - `2` - ANSI 256 colors support.
- - `3` - Truecolor 16 million colors support.
- */
- level?: Level;
- }
-
- /**
- Return a new Chalk instance.
- */
- type Instance = new (options?: Options) => Chalk;
-
- /**
- Detect whether the terminal supports color.
- */
- interface ColorSupport {
- /**
- The color level used by Chalk.
- */
- level: Level;
-
- /**
- Return whether Chalk supports basic 16 colors.
- */
- hasBasic: boolean;
-
- /**
- Return whether Chalk supports ANSI 256 colors.
- */
- has256: boolean;
-
- /**
- Return whether Chalk supports Truecolor 16 million colors.
- */
- has16m: boolean;
- }
-
- interface ChalkFunction {
- /**
- Use a template string.
-
- @remarks Template literals are unsupported for nested calls (see [issue #341](https://github.com/chalk/chalk/issues/341))
-
- @example
- ```
- import chalk = require('chalk');
-
- log(chalk`
- CPU: {red ${cpu.totalPercent}%}
- RAM: {green ${ram.used / ram.total * 100}%}
- DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%}
- `);
- ```
-
- @example
- ```
- import chalk = require('chalk');
-
- log(chalk.red.bgBlack`2 + 3 = {bold ${2 + 3}}`)
- ```
- */
- (text: TemplateStringsArray, ...placeholders: unknown[]): string;
-
- (...text: unknown[]): string;
- }
-
- interface Chalk extends ChalkFunction {
- /**
- Return a new Chalk instance.
- */
- Instance: Instance;
-
- /**
- The color support for Chalk.
-
- By default, color support is automatically detected based on the environment.
-
- Levels:
- - `0` - All colors disabled.
- - `1` - Basic 16 colors support.
- - `2` - ANSI 256 colors support.
- - `3` - Truecolor 16 million colors support.
- */
- level: Level;
-
- /**
- Use HEX value to set text color.
-
- @param color - Hexadecimal value representing the desired color.
-
- @example
- ```
- import chalk = require('chalk');
-
- chalk.hex('#DEADED');
- ```
- */
- hex(color: string): Chalk;
-
- /**
- Use keyword color value to set text color.
-
- @param color - Keyword value representing the desired color.
-
- @example
- ```
- import chalk = require('chalk');
-
- chalk.keyword('orange');
- ```
- */
- keyword(color: string): Chalk;
-
- /**
- Use RGB values to set text color.
- */
- rgb(red: number, green: number, blue: number): Chalk;
-
- /**
- Use HSL values to set text color.
- */
- hsl(hue: number, saturation: number, lightness: number): Chalk;
-
- /**
- Use HSV values to set text color.
- */
- hsv(hue: number, saturation: number, value: number): Chalk;
-
- /**
- Use HWB values to set text color.
- */
- hwb(hue: number, whiteness: number, blackness: number): Chalk;
-
- /**
- Use a [Select/Set Graphic Rendition](https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters) (SGR) [color code number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) to set text color.
-
- 30 <= code && code < 38 || 90 <= code && code < 98
- For example, 31 for red, 91 for redBright.
- */
- ansi(code: number): Chalk;
-
- /**
- Use a [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set text color.
- */
- ansi256(index: number): Chalk;
-
- /**
- Use HEX value to set background color.
-
- @param color - Hexadecimal value representing the desired color.
-
- @example
- ```
- import chalk = require('chalk');
-
- chalk.bgHex('#DEADED');
- ```
- */
- bgHex(color: string): Chalk;
-
- /**
- Use keyword color value to set background color.
-
- @param color - Keyword value representing the desired color.
-
- @example
- ```
- import chalk = require('chalk');
-
- chalk.bgKeyword('orange');
- ```
- */
- bgKeyword(color: string): Chalk;
-
- /**
- Use RGB values to set background color.
- */
- bgRgb(red: number, green: number, blue: number): Chalk;
-
- /**
- Use HSL values to set background color.
- */
- bgHsl(hue: number, saturation: number, lightness: number): Chalk;
-
- /**
- Use HSV values to set background color.
- */
- bgHsv(hue: number, saturation: number, value: number): Chalk;
-
- /**
- Use HWB values to set background color.
- */
- bgHwb(hue: number, whiteness: number, blackness: number): Chalk;
-
- /**
- Use a [Select/Set Graphic Rendition](https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters) (SGR) [color code number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) to set background color.
-
- 30 <= code && code < 38 || 90 <= code && code < 98
- For example, 31 for red, 91 for redBright.
- Use the foreground code, not the background code (for example, not 41, nor 101).
- */
- bgAnsi(code: number): Chalk;
-
- /**
- Use a [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set background color.
- */
- bgAnsi256(index: number): Chalk;
-
- /**
- Modifier: Resets the current color chain.
- */
- readonly reset: Chalk;
-
- /**
- Modifier: Make text bold.
- */
- readonly bold: Chalk;
-
- /**
- Modifier: Emitting only a small amount of light.
- */
- readonly dim: Chalk;
-
- /**
- Modifier: Make text italic. (Not widely supported)
- */
- readonly italic: Chalk;
-
- /**
- Modifier: Make text underline. (Not widely supported)
- */
- readonly underline: Chalk;
-
- /**
- Modifier: Inverse background and foreground colors.
- */
- readonly inverse: Chalk;
-
- /**
- Modifier: Prints the text, but makes it invisible.
- */
- readonly hidden: Chalk;
-
- /**
- Modifier: Puts a horizontal line through the center of the text. (Not widely supported)
- */
- readonly strikethrough: Chalk;
-
- /**
- Modifier: Prints the text only when Chalk has a color support level > 0.
- Can be useful for things that are purely cosmetic.
- */
- readonly visible: Chalk;
-
- readonly black: Chalk;
- readonly red: Chalk;
- readonly green: Chalk;
- readonly yellow: Chalk;
- readonly blue: Chalk;
- readonly magenta: Chalk;
- readonly cyan: Chalk;
- readonly white: Chalk;
-
- /*
- Alias for `blackBright`.
- */
- readonly gray: Chalk;
-
- /*
- Alias for `blackBright`.
- */
- readonly grey: Chalk;
-
- readonly blackBright: Chalk;
- readonly redBright: Chalk;
- readonly greenBright: Chalk;
- readonly yellowBright: Chalk;
- readonly blueBright: Chalk;
- readonly magentaBright: Chalk;
- readonly cyanBright: Chalk;
- readonly whiteBright: Chalk;
-
- readonly bgBlack: Chalk;
- readonly bgRed: Chalk;
- readonly bgGreen: Chalk;
- readonly bgYellow: Chalk;
- readonly bgBlue: Chalk;
- readonly bgMagenta: Chalk;
- readonly bgCyan: Chalk;
- readonly bgWhite: Chalk;
-
- /*
- Alias for `bgBlackBright`.
- */
- readonly bgGray: Chalk;
-
- /*
- Alias for `bgBlackBright`.
- */
- readonly bgGrey: Chalk;
-
- readonly bgBlackBright: Chalk;
- readonly bgRedBright: Chalk;
- readonly bgGreenBright: Chalk;
- readonly bgYellowBright: Chalk;
- readonly bgBlueBright: Chalk;
- readonly bgMagentaBright: Chalk;
- readonly bgCyanBright: Chalk;
- readonly bgWhiteBright: Chalk;
- }
-}
-
-/**
-Main Chalk object that allows to chain styles together.
-Call the last one as a method with a string argument.
-Order doesn't matter, and later styles take precedent in case of a conflict.
-This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
-*/
-declare const chalk: chalk.Chalk & chalk.ChalkFunction & {
- supportsColor: chalk.ColorSupport | false;
- Level: chalk.Level;
- Color: Color;
- ForegroundColor: ForegroundColor;
- BackgroundColor: BackgroundColor;
- Modifiers: Modifiers;
- stderr: chalk.Chalk & {supportsColor: chalk.ColorSupport | false};
-};
-
-export = chalk;
diff --git a/includes/search/node_modules/chalk/license b/includes/search/node_modules/chalk/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/chalk/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/chalk/package.json b/includes/search/node_modules/chalk/package.json
deleted file mode 100644
index 47c23f2..0000000
--- a/includes/search/node_modules/chalk/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "chalk",
- "version": "4.1.2",
- "description": "Terminal string styling done right",
- "license": "MIT",
- "repository": "chalk/chalk",
- "funding": "https://github.com/chalk/chalk?sponsor=1",
- "main": "source",
- "engines": {
- "node": ">=10"
- },
- "scripts": {
- "test": "xo && nyc ava && tsd",
- "bench": "matcha benchmark.js"
- },
- "files": [
- "source",
- "index.d.ts"
- ],
- "keywords": [
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "string",
- "str",
- "ansi",
- "style",
- "styles",
- "tty",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "log",
- "logging",
- "command-line",
- "text"
- ],
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "devDependencies": {
- "ava": "^2.4.0",
- "coveralls": "^3.0.7",
- "execa": "^4.0.0",
- "import-fresh": "^3.1.0",
- "matcha": "^0.7.0",
- "nyc": "^15.0.0",
- "resolve-from": "^5.0.0",
- "tsd": "^0.7.4",
- "xo": "^0.28.2"
- },
- "xo": {
- "rules": {
- "unicorn/prefer-string-slice": "off",
- "unicorn/prefer-includes": "off",
- "@typescript-eslint/member-ordering": "off",
- "no-redeclare": "off",
- "unicorn/string-content": "off",
- "unicorn/better-regex": "off"
- }
- }
-}
diff --git a/includes/search/node_modules/chalk/readme.md b/includes/search/node_modules/chalk/readme.md
deleted file mode 100644
index a055d21..0000000
--- a/includes/search/node_modules/chalk/readme.md
+++ /dev/null
@@ -1,341 +0,0 @@
-<h1 align="center">
- <br>
- <br>
- <img width="320" src="media/logo.svg" alt="Chalk">
- <br>
- <br>
- <br>
-</h1>
-
-> Terminal string styling done right
-
-[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk) [![Coverage Status](https://coveralls.io/repos/github/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/github/chalk/chalk?branch=master) [![npm dependents](https://badgen.net/npm/dependents/chalk)](https://www.npmjs.com/package/chalk?activeTab=dependents) [![Downloads](https://badgen.net/npm/dt/chalk)](https://www.npmjs.com/package/chalk) [![](https://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo) ![TypeScript-ready](https://img.shields.io/npm/types/chalk.svg) [![run on repl.it](https://repl.it/badge/github/chalk/chalk)](https://repl.it/github/chalk/chalk)
-
-<img src="https://cdn.jsdelivr.net/gh/chalk/ansi-styles@8261697c95bf34b6c7767e2cbe9941a851d59385/screenshot.svg" width="900">
-
-<br>
-
----
-
-<div align="center">
- <p>
- <p>
- <sup>
- Sindre Sorhus' open source work is supported by the community on <a href="https://github.com/sponsors/sindresorhus">GitHub Sponsors</a> and <a href="https://stakes.social/0x44d871aebF0126Bf646753E2C976Aa7e68A66c15">Dev</a>
- </sup>
- </p>
- <sup>Special thanks to:</sup>
- <br>
- <br>
- <a href="https://standardresume.co/tech">
- <img src="https://sindresorhus.com/assets/thanks/standard-resume-logo.svg" width="160"/>
- </a>
- <br>
- <br>
- <a href="https://retool.com/?utm_campaign=sindresorhus">
- <img src="https://sindresorhus.com/assets/thanks/retool-logo.svg" width="230"/>
- </a>
- <br>
- <br>
- <a href="https://doppler.com/?utm_campaign=github_repo&utm_medium=referral&utm_content=chalk&utm_source=github">
- <div>
- <img src="https://dashboard.doppler.com/imgs/logo-long.svg" width="240" alt="Doppler">
- </div>
- <b>All your environment variables, in one place</b>
- <div>
- <span>Stop struggling with scattered API keys, hacking together home-brewed tools,</span>
- <br>
- <span>and avoiding access controls. Keep your team and servers in sync with Doppler.</span>
- </div>
- </a>
- <br>
- <a href="https://uibakery.io/?utm_source=chalk&utm_medium=sponsor&utm_campaign=github">
- <div>
- <img src="https://sindresorhus.com/assets/thanks/uibakery-logo.jpg" width="270" alt="UI Bakery">
- </div>
- </a>
- </p>
-</div>
-
----
-
-<br>
-
-## Highlights
-
-- Expressive API
-- Highly performant
-- Ability to nest styles
-- [256/Truecolor color support](#256-and-truecolor-color-support)
-- Auto-detects color support
-- Doesn't extend `String.prototype`
-- Clean and focused
-- Actively maintained
-- [Used by ~50,000 packages](https://www.npmjs.com/browse/depended/chalk) as of January 1, 2020
-
-## Install
-
-```console
-$ npm install chalk
-```
-
-## Usage
-
-```js
-const chalk = require('chalk');
-
-console.log(chalk.blue('Hello world!'));
-```
-
-Chalk comes with an easy to use composable API where you just chain and nest the styles you want.
-
-```js
-const chalk = require('chalk');
-const log = console.log;
-
-// Combine styled and normal strings
-log(chalk.blue('Hello') + ' World' + chalk.red('!'));
-
-// Compose multiple styles using the chainable API
-log(chalk.blue.bgRed.bold('Hello world!'));
-
-// Pass in multiple arguments
-log(chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'));
-
-// Nest styles
-log(chalk.red('Hello', chalk.underline.bgBlue('world') + '!'));
-
-// Nest styles of the same type even (color, underline, background)
-log(chalk.green(
- 'I am a green line ' +
- chalk.blue.underline.bold('with a blue substring') +
- ' that becomes green again!'
-));
-
-// ES2015 template literal
-log(`
-CPU: ${chalk.red('90%')}
-RAM: ${chalk.green('40%')}
-DISK: ${chalk.yellow('70%')}
-`);
-
-// ES2015 tagged template literal
-log(chalk`
-CPU: {red ${cpu.totalPercent}%}
-RAM: {green ${ram.used / ram.total * 100}%}
-DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%}
-`);
-
-// Use RGB colors in terminal emulators that support it.
-log(chalk.keyword('orange')('Yay for orange colored text!'));
-log(chalk.rgb(123, 45, 67).underline('Underlined reddish color'));
-log(chalk.hex('#DEADED').bold('Bold gray!'));
-```
-
-Easily define your own themes:
-
-```js
-const chalk = require('chalk');
-
-const error = chalk.bold.red;
-const warning = chalk.keyword('orange');
-
-console.log(error('Error!'));
-console.log(warning('Warning!'));
-```
-
-Take advantage of console.log [string substitution](https://nodejs.org/docs/latest/api/console.html#console_console_log_data_args):
-
-```js
-const name = 'Sindre';
-console.log(chalk.green('Hello %s'), name);
-//=> 'Hello Sindre'
-```
-
-## API
-
-### chalk.`<style>[.<style>...](string, [string...])`
-
-Example: `chalk.red.bold.underline('Hello', 'world');`
-
-Chain [styles](#styles) and call the last one as a method with a string argument. Order doesn't matter, and later styles take precedent in case of a conflict. This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
-
-Multiple arguments will be separated by space.
-
-### chalk.level
-
-Specifies the level of color support.
-
-Color support is automatically detected, but you can override it by setting the `level` property. You should however only do this in your own code as it applies globally to all Chalk consumers.
-
-If you need to change this in a reusable module, create a new instance:
-
-```js
-const ctx = new chalk.Instance({level: 0});
-```
-
-| Level | Description |
-| :---: | :--- |
-| `0` | All colors disabled |
-| `1` | Basic color support (16 colors) |
-| `2` | 256 color support |
-| `3` | Truecolor support (16 million colors) |
-
-### chalk.supportsColor
-
-Detect whether the terminal [supports color](https://github.com/chalk/supports-color). Used internally and handled for you, but exposed for convenience.
-
-Can be overridden by the user with the flags `--color` and `--no-color`. For situations where using `--color` is not possible, use the environment variable `FORCE_COLOR=1` (level 1), `FORCE_COLOR=2` (level 2), or `FORCE_COLOR=3` (level 3) to forcefully enable color, or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks.
-
-Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color=16m` flags, respectively.
-
-### chalk.stderr and chalk.stderr.supportsColor
-
-`chalk.stderr` contains a separate instance configured with color support detected for `stderr` stream instead of `stdout`. Override rules from `chalk.supportsColor` apply to this too. `chalk.stderr.supportsColor` is exposed for convenience.
-
-## Styles
-
-### Modifiers
-
-- `reset` - Resets the current color chain.
-- `bold` - Make text bold.
-- `dim` - Emitting only a small amount of light.
-- `italic` - Make text italic. *(Not widely supported)*
-- `underline` - Make text underline. *(Not widely supported)*
-- `inverse`- Inverse background and foreground colors.
-- `hidden` - Prints the text, but makes it invisible.
-- `strikethrough` - Puts a horizontal line through the center of the text. *(Not widely supported)*
-- `visible`- Prints the text only when Chalk has a color level > 0. Can be useful for things that are purely cosmetic.
-
-### Colors
-
-- `black`
-- `red`
-- `green`
-- `yellow`
-- `blue`
-- `magenta`
-- `cyan`
-- `white`
-- `blackBright` (alias: `gray`, `grey`)
-- `redBright`
-- `greenBright`
-- `yellowBright`
-- `blueBright`
-- `magentaBright`
-- `cyanBright`
-- `whiteBright`
-
-### Background colors
-
-- `bgBlack`
-- `bgRed`
-- `bgGreen`
-- `bgYellow`
-- `bgBlue`
-- `bgMagenta`
-- `bgCyan`
-- `bgWhite`
-- `bgBlackBright` (alias: `bgGray`, `bgGrey`)
-- `bgRedBright`
-- `bgGreenBright`
-- `bgYellowBright`
-- `bgBlueBright`
-- `bgMagentaBright`
-- `bgCyanBright`
-- `bgWhiteBright`
-
-## Tagged template literal
-
-Chalk can be used as a [tagged template literal](https://exploringjs.com/es6/ch_template-literals.html#_tagged-template-literals).
-
-```js
-const chalk = require('chalk');
-
-const miles = 18;
-const calculateFeet = miles => miles * 5280;
-
-console.log(chalk`
- There are {bold 5280 feet} in a mile.
- In {bold ${miles} miles}, there are {green.bold ${calculateFeet(miles)} feet}.
-`);
-```
-
-Blocks are delimited by an opening curly brace (`{`), a style, some content, and a closing curly brace (`}`).
-
-Template styles are chained exactly like normal Chalk styles. The following three statements are equivalent:
-
-```js
-console.log(chalk.bold.rgb(10, 100, 200)('Hello!'));
-console.log(chalk.bold.rgb(10, 100, 200)`Hello!`);
-console.log(chalk`{bold.rgb(10,100,200) Hello!}`);
-```
-
-Note that function styles (`rgb()`, `hsl()`, `keyword()`, etc.) may not contain spaces between parameters.
-
-All interpolated values (`` chalk`${foo}` ``) are converted to strings via the `.toString()` method. All curly braces (`{` and `}`) in interpolated value strings are escaped.
-
-## 256 and Truecolor color support
-
-Chalk supports 256 colors and [Truecolor](https://gist.github.com/XVilka/8346728) (16 million colors) on supported terminal apps.
-
-Colors are downsampled from 16 million RGB values to an ANSI color format that is supported by the terminal emulator (or by specifying `{level: n}` as a Chalk option). For example, Chalk configured to run at level 1 (basic color support) will downsample an RGB value of #FF0000 (red) to 31 (ANSI escape for red).
-
-Examples:
-
-- `chalk.hex('#DEADED').underline('Hello, world!')`
-- `chalk.keyword('orange')('Some orange text')`
-- `chalk.rgb(15, 100, 204).inverse('Hello!')`
-
-Background versions of these models are prefixed with `bg` and the first level of the module capitalized (e.g. `keyword` for foreground colors and `bgKeyword` for background colors).
-
-- `chalk.bgHex('#DEADED').underline('Hello, world!')`
-- `chalk.bgKeyword('orange')('Some orange text')`
-- `chalk.bgRgb(15, 100, 204).inverse('Hello!')`
-
-The following color models can be used:
-
-- [`rgb`](https://en.wikipedia.org/wiki/RGB_color_model) - Example: `chalk.rgb(255, 136, 0).bold('Orange!')`
-- [`hex`](https://en.wikipedia.org/wiki/Web_colors#Hex_triplet) - Example: `chalk.hex('#FF8800').bold('Orange!')`
-- [`keyword`](https://www.w3.org/wiki/CSS/Properties/color/keywords) (CSS keywords) - Example: `chalk.keyword('orange').bold('Orange!')`
-- [`hsl`](https://en.wikipedia.org/wiki/HSL_and_HSV) - Example: `chalk.hsl(32, 100, 50).bold('Orange!')`
-- [`hsv`](https://en.wikipedia.org/wiki/HSL_and_HSV) - Example: `chalk.hsv(32, 100, 100).bold('Orange!')`
-- [`hwb`](https://en.wikipedia.org/wiki/HWB_color_model) - Example: `chalk.hwb(32, 0, 50).bold('Orange!')`
-- [`ansi`](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) - Example: `chalk.ansi(31).bgAnsi(93)('red on yellowBright')`
-- [`ansi256`](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) - Example: `chalk.bgAnsi256(194)('Honeydew, more or less')`
-
-## Windows
-
-If you're on Windows, do yourself a favor and use [Windows Terminal](https://github.com/microsoft/terminal) instead of `cmd.exe`.
-
-## Origin story
-
-[colors.js](https://github.com/Marak/colors.js) used to be the most popular string styling module, but it has serious deficiencies like extending `String.prototype` which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68) and the package is unmaintained. Although there are other packages, they either do too much or not enough. Chalk is a clean and focused alternative.
-
-## chalk for enterprise
-
-Available as part of the Tidelift Subscription.
-
-The maintainers of chalk and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-chalk?utm_source=npm-chalk&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
-
-## Related
-
-- [chalk-cli](https://github.com/chalk/chalk-cli) - CLI for this module
-- [ansi-styles](https://github.com/chalk/ansi-styles) - ANSI escape codes for styling strings in the terminal
-- [supports-color](https://github.com/chalk/supports-color) - Detect whether a terminal supports color
-- [strip-ansi](https://github.com/chalk/strip-ansi) - Strip ANSI escape codes
-- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Strip ANSI escape codes from a stream
-- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
-- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
-- [wrap-ansi](https://github.com/chalk/wrap-ansi) - Wordwrap a string with ANSI escape codes
-- [slice-ansi](https://github.com/chalk/slice-ansi) - Slice a string with ANSI escape codes
-- [color-convert](https://github.com/qix-/color-convert) - Converts colors between different models
-- [chalk-animation](https://github.com/bokub/chalk-animation) - Animate strings in the terminal
-- [gradient-string](https://github.com/bokub/gradient-string) - Apply color gradients to strings
-- [chalk-pipe](https://github.com/LitoMore/chalk-pipe) - Create chalk style schemes with simpler style strings
-- [terminal-link](https://github.com/sindresorhus/terminal-link) - Create clickable links in the terminal
-
-## Maintainers
-
-- [Sindre Sorhus](https://github.com/sindresorhus)
-- [Josh Junon](https://github.com/qix-)
diff --git a/includes/search/node_modules/chalk/source/index.js b/includes/search/node_modules/chalk/source/index.js
deleted file mode 100644
index 75ec663..0000000
--- a/includes/search/node_modules/chalk/source/index.js
+++ /dev/null
@@ -1,229 +0,0 @@
-'use strict';
-const ansiStyles = require('ansi-styles');
-const {stdout: stdoutColor, stderr: stderrColor} = require('supports-color');
-const {
- stringReplaceAll,
- stringEncaseCRLFWithFirstIndex
-} = require('./util');
-
-const {isArray} = Array;
-
-// `supportsColor.level` → `ansiStyles.color[name]` mapping
-const levelMapping = [
- 'ansi',
- 'ansi',
- 'ansi256',
- 'ansi16m'
-];
-
-const styles = Object.create(null);
-
-const applyOptions = (object, options = {}) => {
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
- throw new Error('The `level` option should be an integer from 0 to 3');
- }
-
- // Detect level if not set manually
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
- object.level = options.level === undefined ? colorLevel : options.level;
-};
-
-class ChalkClass {
- constructor(options) {
- // eslint-disable-next-line no-constructor-return
- return chalkFactory(options);
- }
-}
-
-const chalkFactory = options => {
- const chalk = {};
- applyOptions(chalk, options);
-
- chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_);
-
- Object.setPrototypeOf(chalk, Chalk.prototype);
- Object.setPrototypeOf(chalk.template, chalk);
-
- chalk.template.constructor = () => {
- throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');
- };
-
- chalk.template.Instance = ChalkClass;
-
- return chalk.template;
-};
-
-function Chalk(options) {
- return chalkFactory(options);
-}
-
-for (const [styleName, style] of Object.entries(ansiStyles)) {
- styles[styleName] = {
- get() {
- const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);
- Object.defineProperty(this, styleName, {value: builder});
- return builder;
- }
- };
-}
-
-styles.visible = {
- get() {
- const builder = createBuilder(this, this._styler, true);
- Object.defineProperty(this, 'visible', {value: builder});
- return builder;
- }
-};
-
-const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];
-
-for (const model of usedModels) {
- styles[model] = {
- get() {
- const {level} = this;
- return function (...arguments_) {
- const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);
- return createBuilder(this, styler, this._isEmpty);
- };
- }
- };
-}
-
-for (const model of usedModels) {
- const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);
- styles[bgModel] = {
- get() {
- const {level} = this;
- return function (...arguments_) {
- const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);
- return createBuilder(this, styler, this._isEmpty);
- };
- }
- };
-}
-
-const proto = Object.defineProperties(() => {}, {
- ...styles,
- level: {
- enumerable: true,
- get() {
- return this._generator.level;
- },
- set(level) {
- this._generator.level = level;
- }
- }
-});
-
-const createStyler = (open, close, parent) => {
- let openAll;
- let closeAll;
- if (parent === undefined) {
- openAll = open;
- closeAll = close;
- } else {
- openAll = parent.openAll + open;
- closeAll = close + parent.closeAll;
- }
-
- return {
- open,
- close,
- openAll,
- closeAll,
- parent
- };
-};
-
-const createBuilder = (self, _styler, _isEmpty) => {
- const builder = (...arguments_) => {
- if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {
- // Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}`
- return applyStyle(builder, chalkTag(builder, ...arguments_));
- }
-
- // Single argument is hot path, implicit coercion is faster than anything
- // eslint-disable-next-line no-implicit-coercion
- return applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));
- };
-
- // We alter the prototype because we must return a function, but there is
- // no way to create a function with a different prototype
- Object.setPrototypeOf(builder, proto);
-
- builder._generator = self;
- builder._styler = _styler;
- builder._isEmpty = _isEmpty;
-
- return builder;
-};
-
-const applyStyle = (self, string) => {
- if (self.level <= 0 || !string) {
- return self._isEmpty ? '' : string;
- }
-
- let styler = self._styler;
-
- if (styler === undefined) {
- return string;
- }
-
- const {openAll, closeAll} = styler;
- if (string.indexOf('\u001B') !== -1) {
- while (styler !== undefined) {
- // Replace any instances already present with a re-opening code
- // otherwise only the part of the string until said closing code
- // will be colored, and the rest will simply be 'plain'.
- string = stringReplaceAll(string, styler.close, styler.open);
-
- styler = styler.parent;
- }
- }
-
- // We can move both next actions out of loop, because remaining actions in loop won't have
- // any/visible effect on parts we add here. Close the styling before a linebreak and reopen
- // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92
- const lfIndex = string.indexOf('\n');
- if (lfIndex !== -1) {
- string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
- }
-
- return openAll + string + closeAll;
-};
-
-let template;
-const chalkTag = (chalk, ...strings) => {
- const [firstString] = strings;
-
- if (!isArray(firstString) || !isArray(firstString.raw)) {
- // If chalk() was called by itself or with a string,
- // return the string itself as a string.
- return strings.join(' ');
- }
-
- const arguments_ = strings.slice(1);
- const parts = [firstString.raw[0]];
-
- for (let i = 1; i < firstString.length; i++) {
- parts.push(
- String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'),
- String(firstString.raw[i])
- );
- }
-
- if (template === undefined) {
- template = require('./templates');
- }
-
- return template(chalk, parts.join(''));
-};
-
-Object.defineProperties(Chalk.prototype, styles);
-
-const chalk = Chalk(); // eslint-disable-line new-cap
-chalk.supportsColor = stdoutColor;
-chalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap
-chalk.stderr.supportsColor = stderrColor;
-
-module.exports = chalk;
diff --git a/includes/search/node_modules/chalk/source/templates.js b/includes/search/node_modules/chalk/source/templates.js
deleted file mode 100644
index b130949..0000000
--- a/includes/search/node_modules/chalk/source/templates.js
+++ /dev/null
@@ -1,134 +0,0 @@
-'use strict';
-const TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
-const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
-const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
-const ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
-
-const ESCAPES = new Map([
- ['n', '\n'],
- ['r', '\r'],
- ['t', '\t'],
- ['b', '\b'],
- ['f', '\f'],
- ['v', '\v'],
- ['0', '\0'],
- ['\\', '\\'],
- ['e', '\u001B'],
- ['a', '\u0007']
-]);
-
-function unescape(c) {
- const u = c[0] === 'u';
- const bracket = c[1] === '{';
-
- if ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) {
- return String.fromCharCode(parseInt(c.slice(1), 16));
- }
-
- if (u && bracket) {
- return String.fromCodePoint(parseInt(c.slice(2, -1), 16));
- }
-
- return ESCAPES.get(c) || c;
-}
-
-function parseArguments(name, arguments_) {
- const results = [];
- const chunks = arguments_.trim().split(/\s*,\s*/g);
- let matches;
-
- for (const chunk of chunks) {
- const number = Number(chunk);
- if (!Number.isNaN(number)) {
- results.push(number);
- } else if ((matches = chunk.match(STRING_REGEX))) {
- results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));
- } else {
- throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
- }
- }
-
- return results;
-}
-
-function parseStyle(style) {
- STYLE_REGEX.lastIndex = 0;
-
- const results = [];
- let matches;
-
- while ((matches = STYLE_REGEX.exec(style)) !== null) {
- const name = matches[1];
-
- if (matches[2]) {
- const args = parseArguments(name, matches[2]);
- results.push([name].concat(args));
- } else {
- results.push([name]);
- }
- }
-
- return results;
-}
-
-function buildStyle(chalk, styles) {
- const enabled = {};
-
- for (const layer of styles) {
- for (const style of layer.styles) {
- enabled[style[0]] = layer.inverse ? null : style.slice(1);
- }
- }
-
- let current = chalk;
- for (const [styleName, styles] of Object.entries(enabled)) {
- if (!Array.isArray(styles)) {
- continue;
- }
-
- if (!(styleName in current)) {
- throw new Error(`Unknown Chalk style: ${styleName}`);
- }
-
- current = styles.length > 0 ? current[styleName](...styles) : current[styleName];
- }
-
- return current;
-}
-
-module.exports = (chalk, temporary) => {
- const styles = [];
- const chunks = [];
- let chunk = [];
-
- // eslint-disable-next-line max-params
- temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {
- if (escapeCharacter) {
- chunk.push(unescape(escapeCharacter));
- } else if (style) {
- const string = chunk.join('');
- chunk = [];
- chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));
- styles.push({inverse, styles: parseStyle(style)});
- } else if (close) {
- if (styles.length === 0) {
- throw new Error('Found extraneous } in Chalk template literal');
- }
-
- chunks.push(buildStyle(chalk, styles)(chunk.join('')));
- chunk = [];
- styles.pop();
- } else {
- chunk.push(character);
- }
- });
-
- chunks.push(chunk.join(''));
-
- if (styles.length > 0) {
- const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`;
- throw new Error(errMessage);
- }
-
- return chunks.join('');
-};
diff --git a/includes/search/node_modules/chalk/source/util.js b/includes/search/node_modules/chalk/source/util.js
deleted file mode 100644
index ca466fd..0000000
--- a/includes/search/node_modules/chalk/source/util.js
+++ /dev/null
@@ -1,39 +0,0 @@
-'use strict';
-
-const stringReplaceAll = (string, substring, replacer) => {
- let index = string.indexOf(substring);
- if (index === -1) {
- return string;
- }
-
- const substringLength = substring.length;
- let endIndex = 0;
- let returnValue = '';
- do {
- returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
- endIndex = index + substringLength;
- index = string.indexOf(substring, endIndex);
- } while (index !== -1);
-
- returnValue += string.substr(endIndex);
- return returnValue;
-};
-
-const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
- let endIndex = 0;
- let returnValue = '';
- do {
- const gotCR = string[index - 1] === '\r';
- returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\r\n' : '\n') + postfix;
- endIndex = index + 1;
- index = string.indexOf('\n', endIndex);
- } while (index !== -1);
-
- returnValue += string.substr(endIndex);
- return returnValue;
-};
-
-module.exports = {
- stringReplaceAll,
- stringEncaseCRLFWithFirstIndex
-};
diff --git a/includes/search/node_modules/chownr/LICENSE b/includes/search/node_modules/chownr/LICENSE
deleted file mode 100644
index 19129e3..0000000
--- a/includes/search/node_modules/chownr/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/chownr/README.md b/includes/search/node_modules/chownr/README.md
deleted file mode 100644
index 70e9a54..0000000
--- a/includes/search/node_modules/chownr/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-Like `chown -R`.
-
-Takes the same arguments as `fs.chown()`
diff --git a/includes/search/node_modules/chownr/chownr.js b/includes/search/node_modules/chownr/chownr.js
deleted file mode 100644
index 0d40932..0000000
--- a/includes/search/node_modules/chownr/chownr.js
+++ /dev/null
@@ -1,167 +0,0 @@
-'use strict'
-const fs = require('fs')
-const path = require('path')
-
-/* istanbul ignore next */
-const LCHOWN = fs.lchown ? 'lchown' : 'chown'
-/* istanbul ignore next */
-const LCHOWNSYNC = fs.lchownSync ? 'lchownSync' : 'chownSync'
-
-/* istanbul ignore next */
-const needEISDIRHandled = fs.lchown &&
- !process.version.match(/v1[1-9]+\./) &&
- !process.version.match(/v10\.[6-9]/)
-
-const lchownSync = (path, uid, gid) => {
- try {
- return fs[LCHOWNSYNC](path, uid, gid)
- } catch (er) {
- if (er.code !== 'ENOENT')
- throw er
- }
-}
-
-/* istanbul ignore next */
-const chownSync = (path, uid, gid) => {
- try {
- return fs.chownSync(path, uid, gid)
- } catch (er) {
- if (er.code !== 'ENOENT')
- throw er
- }
-}
-
-/* istanbul ignore next */
-const handleEISDIR =
- needEISDIRHandled ? (path, uid, gid, cb) => er => {
- // Node prior to v10 had a very questionable implementation of
- // fs.lchown, which would always try to call fs.open on a directory
- // Fall back to fs.chown in those cases.
- if (!er || er.code !== 'EISDIR')
- cb(er)
- else
- fs.chown(path, uid, gid, cb)
- }
- : (_, __, ___, cb) => cb
-
-/* istanbul ignore next */
-const handleEISDirSync =
- needEISDIRHandled ? (path, uid, gid) => {
- try {
- return lchownSync(path, uid, gid)
- } catch (er) {
- if (er.code !== 'EISDIR')
- throw er
- chownSync(path, uid, gid)
- }
- }
- : (path, uid, gid) => lchownSync(path, uid, gid)
-
-// fs.readdir could only accept an options object as of node v6
-const nodeVersion = process.version
-let readdir = (path, options, cb) => fs.readdir(path, options, cb)
-let readdirSync = (path, options) => fs.readdirSync(path, options)
-/* istanbul ignore next */
-if (/^v4\./.test(nodeVersion))
- readdir = (path, options, cb) => fs.readdir(path, cb)
-
-const chown = (cpath, uid, gid, cb) => {
- fs[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, er => {
- // Skip ENOENT error
- cb(er && er.code !== 'ENOENT' ? er : null)
- }))
-}
-
-const chownrKid = (p, child, uid, gid, cb) => {
- if (typeof child === 'string')
- return fs.lstat(path.resolve(p, child), (er, stats) => {
- // Skip ENOENT error
- if (er)
- return cb(er.code !== 'ENOENT' ? er : null)
- stats.name = child
- chownrKid(p, stats, uid, gid, cb)
- })
-
- if (child.isDirectory()) {
- chownr(path.resolve(p, child.name), uid, gid, er => {
- if (er)
- return cb(er)
- const cpath = path.resolve(p, child.name)
- chown(cpath, uid, gid, cb)
- })
- } else {
- const cpath = path.resolve(p, child.name)
- chown(cpath, uid, gid, cb)
- }
-}
-
-
-const chownr = (p, uid, gid, cb) => {
- readdir(p, { withFileTypes: true }, (er, children) => {
- // any error other than ENOTDIR or ENOTSUP means it's not readable,
- // or doesn't exist. give up.
- if (er) {
- if (er.code === 'ENOENT')
- return cb()
- else if (er.code !== 'ENOTDIR' && er.code !== 'ENOTSUP')
- return cb(er)
- }
- if (er || !children.length)
- return chown(p, uid, gid, cb)
-
- let len = children.length
- let errState = null
- const then = er => {
- if (errState)
- return
- if (er)
- return cb(errState = er)
- if (-- len === 0)
- return chown(p, uid, gid, cb)
- }
-
- children.forEach(child => chownrKid(p, child, uid, gid, then))
- })
-}
-
-const chownrKidSync = (p, child, uid, gid) => {
- if (typeof child === 'string') {
- try {
- const stats = fs.lstatSync(path.resolve(p, child))
- stats.name = child
- child = stats
- } catch (er) {
- if (er.code === 'ENOENT')
- return
- else
- throw er
- }
- }
-
- if (child.isDirectory())
- chownrSync(path.resolve(p, child.name), uid, gid)
-
- handleEISDirSync(path.resolve(p, child.name), uid, gid)
-}
-
-const chownrSync = (p, uid, gid) => {
- let children
- try {
- children = readdirSync(p, { withFileTypes: true })
- } catch (er) {
- if (er.code === 'ENOENT')
- return
- else if (er.code === 'ENOTDIR' || er.code === 'ENOTSUP')
- return handleEISDirSync(p, uid, gid)
- else
- throw er
- }
-
- if (children && children.length)
- children.forEach(child => chownrKidSync(p, child, uid, gid))
-
- return handleEISDirSync(p, uid, gid)
-}
-
-module.exports = chownr
-chownr.sync = chownrSync
diff --git a/includes/search/node_modules/chownr/package.json b/includes/search/node_modules/chownr/package.json
deleted file mode 100644
index c273a7d..0000000
--- a/includes/search/node_modules/chownr/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
- "name": "chownr",
- "description": "like `chown -R`",
- "version": "1.1.4",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/chownr.git"
- },
- "main": "chownr.js",
- "files": [
- "chownr.js"
- ],
- "devDependencies": {
- "mkdirp": "0.3",
- "rimraf": "^2.7.1",
- "tap": "^14.10.6"
- },
- "tap": {
- "check-coverage": true
- },
- "scripts": {
- "test": "tap",
- "preversion": "npm test",
- "postversion": "npm publish",
- "prepublishOnly": "git push origin --follow-tags"
- },
- "license": "ISC"
-}
diff --git a/includes/search/node_modules/cliui/CHANGELOG.md b/includes/search/node_modules/cliui/CHANGELOG.md
deleted file mode 100644
index d6a7e3f..0000000
--- a/includes/search/node_modules/cliui/CHANGELOG.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-
-### [7.0.4](https://www.github.com/yargs/cliui/compare/v7.0.3...v7.0.4) (2020-11-08)
-
-
-### Bug Fixes
-
-* **deno:** import UIOptions from definitions ([#97](https://www.github.com/yargs/cliui/issues/97)) ([f04f343](https://www.github.com/yargs/cliui/commit/f04f3439bc78114c7e90f82ff56f5acf16268ea8))
-
-### [7.0.3](https://www.github.com/yargs/cliui/compare/v7.0.2...v7.0.3) (2020-10-16)
-
-
-### Bug Fixes
-
-* **exports:** node 13.0 and 13.1 require the dotted object form _with_ a string fallback ([#93](https://www.github.com/yargs/cliui/issues/93)) ([eca16fc](https://www.github.com/yargs/cliui/commit/eca16fc05d26255df3280906c36d7f0e5b05c6e9))
-
-### [7.0.2](https://www.github.com/yargs/cliui/compare/v7.0.1...v7.0.2) (2020-10-14)
-
-
-### Bug Fixes
-
-* **exports:** node 13.0-13.6 require a string fallback ([#91](https://www.github.com/yargs/cliui/issues/91)) ([b529d7e](https://www.github.com/yargs/cliui/commit/b529d7e432901af1af7848b23ed6cf634497d961))
-
-### [7.0.1](https://www.github.com/yargs/cliui/compare/v7.0.0...v7.0.1) (2020-08-16)
-
-
-### Bug Fixes
-
-* **build:** main should be build/index.cjs ([dc29a3c](https://www.github.com/yargs/cliui/commit/dc29a3cc617a410aa850e06337b5954b04f2cb4d))
-
-## [7.0.0](https://www.github.com/yargs/cliui/compare/v6.0.0...v7.0.0) (2020-08-16)
-
-
-### ⚠ BREAKING CHANGES
-
-* tsc/ESM/Deno support (#82)
-* modernize deps and build (#80)
-
-### Build System
-
-* modernize deps and build ([#80](https://www.github.com/yargs/cliui/issues/80)) ([339d08d](https://www.github.com/yargs/cliui/commit/339d08dc71b15a3928aeab09042af94db2f43743))
-
-
-### Code Refactoring
-
-* tsc/ESM/Deno support ([#82](https://www.github.com/yargs/cliui/issues/82)) ([4b777a5](https://www.github.com/yargs/cliui/commit/4b777a5fe01c5d8958c6708695d6aab7dbe5706c))
-
-## [6.0.0](https://www.github.com/yargs/cliui/compare/v5.0.0...v6.0.0) (2019-11-10)
-
-
-### ⚠ BREAKING CHANGES
-
-* update deps, drop Node 6
-
-### Code Refactoring
-
-* update deps, drop Node 6 ([62056df](https://www.github.com/yargs/cliui/commit/62056df))
-
-## [5.0.0](https://github.com/yargs/cliui/compare/v4.1.0...v5.0.0) (2019-04-10)
-
-
-### Bug Fixes
-
-* Update wrap-ansi to fix compatibility with latest versions of chalk. ([#60](https://github.com/yargs/cliui/issues/60)) ([7bf79ae](https://github.com/yargs/cliui/commit/7bf79ae))
-
-
-### BREAKING CHANGES
-
-* Drop support for node < 6.
-
-
-
-<a name="4.1.0"></a>
-## [4.1.0](https://github.com/yargs/cliui/compare/v4.0.0...v4.1.0) (2018-04-23)
-
-
-### Features
-
-* add resetOutput method ([#57](https://github.com/yargs/cliui/issues/57)) ([7246902](https://github.com/yargs/cliui/commit/7246902))
-
-
-
-<a name="4.0.0"></a>
-## [4.0.0](https://github.com/yargs/cliui/compare/v3.2.0...v4.0.0) (2017-12-18)
-
-
-### Bug Fixes
-
-* downgrades strip-ansi to version 3.0.1 ([#54](https://github.com/yargs/cliui/issues/54)) ([5764c46](https://github.com/yargs/cliui/commit/5764c46))
-* set env variable FORCE_COLOR. ([#56](https://github.com/yargs/cliui/issues/56)) ([7350e36](https://github.com/yargs/cliui/commit/7350e36))
-
-
-### Chores
-
-* drop support for node < 4 ([#53](https://github.com/yargs/cliui/issues/53)) ([b105376](https://github.com/yargs/cliui/commit/b105376))
-
-
-### Features
-
-* add fallback for window width ([#45](https://github.com/yargs/cliui/issues/45)) ([d064922](https://github.com/yargs/cliui/commit/d064922))
-
-
-### BREAKING CHANGES
-
-* officially drop support for Node < 4
-
-
-
-<a name="3.2.0"></a>
-## [3.2.0](https://github.com/yargs/cliui/compare/v3.1.2...v3.2.0) (2016-04-11)
-
-
-### Bug Fixes
-
-* reduces tarball size ([acc6c33](https://github.com/yargs/cliui/commit/acc6c33))
-
-### Features
-
-* adds standard-version for release management ([ff84e32](https://github.com/yargs/cliui/commit/ff84e32))
diff --git a/includes/search/node_modules/cliui/LICENSE.txt b/includes/search/node_modules/cliui/LICENSE.txt
deleted file mode 100644
index c7e2747..0000000
--- a/includes/search/node_modules/cliui/LICENSE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Copyright (c) 2015, Contributors
-
-Permission to use, copy, modify, and/or distribute this software
-for any purpose with or without fee is hereby granted, provided
-that the above copyright notice and this permission notice
-appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
-LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
-OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/cliui/README.md b/includes/search/node_modules/cliui/README.md
deleted file mode 100644
index 65b5672..0000000
--- a/includes/search/node_modules/cliui/README.md
+++ /dev/null
@@ -1,141 +0,0 @@
-# cliui
-
-![ci](https://github.com/yargs/cliui/workflows/ci/badge.svg)
-[![NPM version](https://img.shields.io/npm/v/cliui.svg)](https://www.npmjs.com/package/cliui)
-[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
-![nycrc config on GitHub](https://img.shields.io/nycrc/yargs/cliui)
-
-easily create complex multi-column command-line-interfaces.
-
-## Example
-
-```js
-const ui = require('cliui')()
-
-ui.div('Usage: $0 [command] [options]')
-
-ui.div({
- text: 'Options:',
- padding: [2, 0, 1, 0]
-})
-
-ui.div(
- {
- text: "-f, --file",
- width: 20,
- padding: [0, 4, 0, 4]
- },
- {
- text: "the file to load." +
- chalk.green("(if this description is long it wraps).")
- ,
- width: 20
- },
- {
- text: chalk.red("[required]"),
- align: 'right'
- }
-)
-
-console.log(ui.toString())
-```
-
-## Deno/ESM Support
-
-As of `v7` `cliui` supports [Deno](https://github.com/denoland/deno) and
-[ESM](https://nodejs.org/api/esm.html#esm_ecmascript_modules):
-
-```typescript
-import cliui from "https://deno.land/x/cliui/deno.ts";
-
-const ui = cliui({})
-
-ui.div('Usage: $0 [command] [options]')
-
-ui.div({
- text: 'Options:',
- padding: [2, 0, 1, 0]
-})
-
-ui.div({
- text: "-f, --file",
- width: 20,
- padding: [0, 4, 0, 4]
-})
-
-console.log(ui.toString())
-```
-
-<img width="500" src="screenshot.png">
-
-## Layout DSL
-
-cliui exposes a simple layout DSL:
-
-If you create a single `ui.div`, passing a string rather than an
-object:
-
-* `\n`: characters will be interpreted as new rows.
-* `\t`: characters will be interpreted as new columns.
-* `\s`: characters will be interpreted as padding.
-
-**as an example...**
-
-```js
-var ui = require('./')({
- width: 60
-})
-
-ui.div(
- 'Usage: node ./bin/foo.js\n' +
- ' <regex>\t provide a regex\n' +
- ' <glob>\t provide a glob\t [required]'
-)
-
-console.log(ui.toString())
-```
-
-**will output:**
-
-```shell
-Usage: node ./bin/foo.js
- <regex> provide a regex
- <glob> provide a glob [required]
-```
-
-## Methods
-
-```js
-cliui = require('cliui')
-```
-
-### cliui({width: integer})
-
-Specify the maximum width of the UI being generated.
-If no width is provided, cliui will try to get the current window's width and use it, and if that doesn't work, width will be set to `80`.
-
-### cliui({wrap: boolean})
-
-Enable or disable the wrapping of text in a column.
-
-### cliui.div(column, column, column)
-
-Create a row with any number of columns, a column
-can either be a string, or an object with the following
-options:
-
-* **text:** some text to place in the column.
-* **width:** the width of a column.
-* **align:** alignment, `right` or `center`.
-* **padding:** `[top, right, bottom, left]`.
-* **border:** should a border be placed around the div?
-
-### cliui.span(column, column, column)
-
-Similar to `div`, except the next row will be appended without
-a new line being created.
-
-### cliui.resetOutput()
-
-Resets the UI elements of the current cliui instance, maintaining the values
-set for `width` and `wrap`.
diff --git a/includes/search/node_modules/cliui/build/index.cjs b/includes/search/node_modules/cliui/build/index.cjs
deleted file mode 100644
index 82126b6..0000000
--- a/includes/search/node_modules/cliui/build/index.cjs
+++ /dev/null
@@ -1,302 +0,0 @@
-'use strict';
-
-const align = {
- right: alignRight,
- center: alignCenter
-};
-const top = 0;
-const right = 1;
-const bottom = 2;
-const left = 3;
-class UI {
- constructor(opts) {
- var _a;
- this.width = opts.width;
- this.wrap = (_a = opts.wrap) !== null && _a !== void 0 ? _a : true;
- this.rows = [];
- }
- span(...args) {
- const cols = this.div(...args);
- cols.span = true;
- }
- resetOutput() {
- this.rows = [];
- }
- div(...args) {
- if (args.length === 0) {
- this.div('');
- }
- if (this.wrap && this.shouldApplyLayoutDSL(...args) && typeof args[0] === 'string') {
- return this.applyLayoutDSL(args[0]);
- }
- const cols = args.map(arg => {
- if (typeof arg === 'string') {
- return this.colFromString(arg);
- }
- return arg;
- });
- this.rows.push(cols);
- return cols;
- }
- shouldApplyLayoutDSL(...args) {
- return args.length === 1 && typeof args[0] === 'string' &&
- /[\t\n]/.test(args[0]);
- }
- applyLayoutDSL(str) {
- const rows = str.split('\n').map(row => row.split('\t'));
- let leftColumnWidth = 0;
- // simple heuristic for layout, make sure the
- // second column lines up along the left-hand.
- // don't allow the first column to take up more
- // than 50% of the screen.
- rows.forEach(columns => {
- if (columns.length > 1 && mixin.stringWidth(columns[0]) > leftColumnWidth) {
- leftColumnWidth = Math.min(Math.floor(this.width * 0.5), mixin.stringWidth(columns[0]));
- }
- });
- // generate a table:
- // replacing ' ' with padding calculations.
- // using the algorithmically generated width.
- rows.forEach(columns => {
- this.div(...columns.map((r, i) => {
- return {
- text: r.trim(),
- padding: this.measurePadding(r),
- width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined
- };
- }));
- });
- return this.rows[this.rows.length - 1];
- }
- colFromString(text) {
- return {
- text,
- padding: this.measurePadding(text)
- };
- }
- measurePadding(str) {
- // measure padding without ansi escape codes
- const noAnsi = mixin.stripAnsi(str);
- return [0, noAnsi.match(/\s*$/)[0].length, 0, noAnsi.match(/^\s*/)[0].length];
- }
- toString() {
- const lines = [];
- this.rows.forEach(row => {
- this.rowToString(row, lines);
- });
- // don't display any lines with the
- // hidden flag set.
- return lines
- .filter(line => !line.hidden)
- .map(line => line.text)
- .join('\n');
- }
- rowToString(row, lines) {
- this.rasterize(row).forEach((rrow, r) => {
- let str = '';
- rrow.forEach((col, c) => {
- const { width } = row[c]; // the width with padding.
- const wrapWidth = this.negatePadding(row[c]); // the width without padding.
- let ts = col; // temporary string used during alignment/padding.
- if (wrapWidth > mixin.stringWidth(col)) {
- ts += ' '.repeat(wrapWidth - mixin.stringWidth(col));
- }
- // align the string within its column.
- if (row[c].align && row[c].align !== 'left' && this.wrap) {
- const fn = align[row[c].align];
- ts = fn(ts, wrapWidth);
- if (mixin.stringWidth(ts) < wrapWidth) {
- ts += ' '.repeat((width || 0) - mixin.stringWidth(ts) - 1);
- }
- }
- // apply border and padding to string.
- const padding = row[c].padding || [0, 0, 0, 0];
- if (padding[left]) {
- str += ' '.repeat(padding[left]);
- }
- str += addBorder(row[c], ts, '| ');
- str += ts;
- str += addBorder(row[c], ts, ' |');
- if (padding[right]) {
- str += ' '.repeat(padding[right]);
- }
- // if prior row is span, try to render the
- // current row on the prior line.
- if (r === 0 && lines.length > 0) {
- str = this.renderInline(str, lines[lines.length - 1]);
- }
- });
- // remove trailing whitespace.
- lines.push({
- text: str.replace(/ +$/, ''),
- span: row.span
- });
- });
- return lines;
- }
- // if the full 'source' can render in
- // the target line, do so.
- renderInline(source, previousLine) {
- const match = source.match(/^ */);
- const leadingWhitespace = match ? match[0].length : 0;
- const target = previousLine.text;
- const targetTextWidth = mixin.stringWidth(target.trimRight());
- if (!previousLine.span) {
- return source;
- }
- // if we're not applying wrapping logic,
- // just always append to the span.
- if (!this.wrap) {
- previousLine.hidden = true;
- return target + source;
- }
- if (leadingWhitespace < targetTextWidth) {
- return source;
- }
- previousLine.hidden = true;
- return target.trimRight() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimLeft();
- }
- rasterize(row) {
- const rrows = [];
- const widths = this.columnWidths(row);
- let wrapped;
- // word wrap all columns, and create
- // a data-structure that is easy to rasterize.
- row.forEach((col, c) => {
- // leave room for left and right padding.
- col.width = widths[c];
- if (this.wrap) {
- wrapped = mixin.wrap(col.text, this.negatePadding(col), { hard: true }).split('\n');
- }
- else {
- wrapped = col.text.split('\n');
- }
- if (col.border) {
- wrapped.unshift('.' + '-'.repeat(this.negatePadding(col) + 2) + '.');
- wrapped.push("'" + '-'.repeat(this.negatePadding(col) + 2) + "'");
- }
- // add top and bottom padding.
- if (col.padding) {
- wrapped.unshift(...new Array(col.padding[top] || 0).fill(''));
- wrapped.push(...new Array(col.padding[bottom] || 0).fill(''));
- }
- wrapped.forEach((str, r) => {
- if (!rrows[r]) {
- rrows.push([]);
- }
- const rrow = rrows[r];
- for (let i = 0; i < c; i++) {
- if (rrow[i] === undefined) {
- rrow.push('');
- }
- }
- rrow.push(str);
- });
- });
- return rrows;
- }
- negatePadding(col) {
- let wrapWidth = col.width || 0;
- if (col.padding) {
- wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);
- }
- if (col.border) {
- wrapWidth -= 4;
- }
- return wrapWidth;
- }
- columnWidths(row) {
- if (!this.wrap) {
- return row.map(col => {
- return col.width || mixin.stringWidth(col.text);
- });
- }
- let unset = row.length;
- let remainingWidth = this.width;
- // column widths can be set in config.
- const widths = row.map(col => {
- if (col.width) {
- unset--;
- remainingWidth -= col.width;
- return col.width;
- }
- return undefined;
- });
- // any unset widths should be calculated.
- const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;
- return widths.map((w, i) => {
- if (w === undefined) {
- return Math.max(unsetWidth, _minWidth(row[i]));
- }
- return w;
- });
- }
-}
-function addBorder(col, ts, style) {
- if (col.border) {
- if (/[.']-+[.']/.test(ts)) {
- return '';
- }
- if (ts.trim().length !== 0) {
- return style;
- }
- return ' ';
- }
- return '';
-}
-// calculates the minimum width of
-// a column, based on padding preferences.
-function _minWidth(col) {
- const padding = col.padding || [];
- const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);
- if (col.border) {
- return minWidth + 4;
- }
- return minWidth;
-}
-function getWindowWidth() {
- /* istanbul ignore next: depends on terminal */
- if (typeof process === 'object' && process.stdout && process.stdout.columns) {
- return process.stdout.columns;
- }
- return 80;
-}
-function alignRight(str, width) {
- str = str.trim();
- const strWidth = mixin.stringWidth(str);
- if (strWidth < width) {
- return ' '.repeat(width - strWidth) + str;
- }
- return str;
-}
-function alignCenter(str, width) {
- str = str.trim();
- const strWidth = mixin.stringWidth(str);
- /* istanbul ignore next */
- if (strWidth >= width) {
- return str;
- }
- return ' '.repeat((width - strWidth) >> 1) + str;
-}
-let mixin;
-function cliui(opts, _mixin) {
- mixin = _mixin;
- return new UI({
- width: (opts === null || opts === void 0 ? void 0 : opts.width) || getWindowWidth(),
- wrap: opts === null || opts === void 0 ? void 0 : opts.wrap
- });
-}
-
-// Bootstrap cliui with CommonJS dependencies:
-const stringWidth = require('string-width');
-const stripAnsi = require('strip-ansi');
-const wrap = require('wrap-ansi');
-function ui(opts) {
- return cliui(opts, {
- stringWidth,
- stripAnsi,
- wrap
- });
-}
-
-module.exports = ui;
diff --git a/includes/search/node_modules/cliui/build/lib/index.js b/includes/search/node_modules/cliui/build/lib/index.js
deleted file mode 100644
index b6eb054..0000000
--- a/includes/search/node_modules/cliui/build/lib/index.js
+++ /dev/null
@@ -1,287 +0,0 @@
-'use strict';
-const align = {
- right: alignRight,
- center: alignCenter
-};
-const top = 0;
-const right = 1;
-const bottom = 2;
-const left = 3;
-export class UI {
- constructor(opts) {
- var _a;
- this.width = opts.width;
- this.wrap = (_a = opts.wrap) !== null && _a !== void 0 ? _a : true;
- this.rows = [];
- }
- span(...args) {
- const cols = this.div(...args);
- cols.span = true;
- }
- resetOutput() {
- this.rows = [];
- }
- div(...args) {
- if (args.length === 0) {
- this.div('');
- }
- if (this.wrap && this.shouldApplyLayoutDSL(...args) && typeof args[0] === 'string') {
- return this.applyLayoutDSL(args[0]);
- }
- const cols = args.map(arg => {
- if (typeof arg === 'string') {
- return this.colFromString(arg);
- }
- return arg;
- });
- this.rows.push(cols);
- return cols;
- }
- shouldApplyLayoutDSL(...args) {
- return args.length === 1 && typeof args[0] === 'string' &&
- /[\t\n]/.test(args[0]);
- }
- applyLayoutDSL(str) {
- const rows = str.split('\n').map(row => row.split('\t'));
- let leftColumnWidth = 0;
- // simple heuristic for layout, make sure the
- // second column lines up along the left-hand.
- // don't allow the first column to take up more
- // than 50% of the screen.
- rows.forEach(columns => {
- if (columns.length > 1 && mixin.stringWidth(columns[0]) > leftColumnWidth) {
- leftColumnWidth = Math.min(Math.floor(this.width * 0.5), mixin.stringWidth(columns[0]));
- }
- });
- // generate a table:
- // replacing ' ' with padding calculations.
- // using the algorithmically generated width.
- rows.forEach(columns => {
- this.div(...columns.map((r, i) => {
- return {
- text: r.trim(),
- padding: this.measurePadding(r),
- width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined
- };
- }));
- });
- return this.rows[this.rows.length - 1];
- }
- colFromString(text) {
- return {
- text,
- padding: this.measurePadding(text)
- };
- }
- measurePadding(str) {
- // measure padding without ansi escape codes
- const noAnsi = mixin.stripAnsi(str);
- return [0, noAnsi.match(/\s*$/)[0].length, 0, noAnsi.match(/^\s*/)[0].length];
- }
- toString() {
- const lines = [];
- this.rows.forEach(row => {
- this.rowToString(row, lines);
- });
- // don't display any lines with the
- // hidden flag set.
- return lines
- .filter(line => !line.hidden)
- .map(line => line.text)
- .join('\n');
- }
- rowToString(row, lines) {
- this.rasterize(row).forEach((rrow, r) => {
- let str = '';
- rrow.forEach((col, c) => {
- const { width } = row[c]; // the width with padding.
- const wrapWidth = this.negatePadding(row[c]); // the width without padding.
- let ts = col; // temporary string used during alignment/padding.
- if (wrapWidth > mixin.stringWidth(col)) {
- ts += ' '.repeat(wrapWidth - mixin.stringWidth(col));
- }
- // align the string within its column.
- if (row[c].align && row[c].align !== 'left' && this.wrap) {
- const fn = align[row[c].align];
- ts = fn(ts, wrapWidth);
- if (mixin.stringWidth(ts) < wrapWidth) {
- ts += ' '.repeat((width || 0) - mixin.stringWidth(ts) - 1);
- }
- }
- // apply border and padding to string.
- const padding = row[c].padding || [0, 0, 0, 0];
- if (padding[left]) {
- str += ' '.repeat(padding[left]);
- }
- str += addBorder(row[c], ts, '| ');
- str += ts;
- str += addBorder(row[c], ts, ' |');
- if (padding[right]) {
- str += ' '.repeat(padding[right]);
- }
- // if prior row is span, try to render the
- // current row on the prior line.
- if (r === 0 && lines.length > 0) {
- str = this.renderInline(str, lines[lines.length - 1]);
- }
- });
- // remove trailing whitespace.
- lines.push({
- text: str.replace(/ +$/, ''),
- span: row.span
- });
- });
- return lines;
- }
- // if the full 'source' can render in
- // the target line, do so.
- renderInline(source, previousLine) {
- const match = source.match(/^ */);
- const leadingWhitespace = match ? match[0].length : 0;
- const target = previousLine.text;
- const targetTextWidth = mixin.stringWidth(target.trimRight());
- if (!previousLine.span) {
- return source;
- }
- // if we're not applying wrapping logic,
- // just always append to the span.
- if (!this.wrap) {
- previousLine.hidden = true;
- return target + source;
- }
- if (leadingWhitespace < targetTextWidth) {
- return source;
- }
- previousLine.hidden = true;
- return target.trimRight() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimLeft();
- }
- rasterize(row) {
- const rrows = [];
- const widths = this.columnWidths(row);
- let wrapped;
- // word wrap all columns, and create
- // a data-structure that is easy to rasterize.
- row.forEach((col, c) => {
- // leave room for left and right padding.
- col.width = widths[c];
- if (this.wrap) {
- wrapped = mixin.wrap(col.text, this.negatePadding(col), { hard: true }).split('\n');
- }
- else {
- wrapped = col.text.split('\n');
- }
- if (col.border) {
- wrapped.unshift('.' + '-'.repeat(this.negatePadding(col) + 2) + '.');
- wrapped.push("'" + '-'.repeat(this.negatePadding(col) + 2) + "'");
- }
- // add top and bottom padding.
- if (col.padding) {
- wrapped.unshift(...new Array(col.padding[top] || 0).fill(''));
- wrapped.push(...new Array(col.padding[bottom] || 0).fill(''));
- }
- wrapped.forEach((str, r) => {
- if (!rrows[r]) {
- rrows.push([]);
- }
- const rrow = rrows[r];
- for (let i = 0; i < c; i++) {
- if (rrow[i] === undefined) {
- rrow.push('');
- }
- }
- rrow.push(str);
- });
- });
- return rrows;
- }
- negatePadding(col) {
- let wrapWidth = col.width || 0;
- if (col.padding) {
- wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);
- }
- if (col.border) {
- wrapWidth -= 4;
- }
- return wrapWidth;
- }
- columnWidths(row) {
- if (!this.wrap) {
- return row.map(col => {
- return col.width || mixin.stringWidth(col.text);
- });
- }
- let unset = row.length;
- let remainingWidth = this.width;
- // column widths can be set in config.
- const widths = row.map(col => {
- if (col.width) {
- unset--;
- remainingWidth -= col.width;
- return col.width;
- }
- return undefined;
- });
- // any unset widths should be calculated.
- const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;
- return widths.map((w, i) => {
- if (w === undefined) {
- return Math.max(unsetWidth, _minWidth(row[i]));
- }
- return w;
- });
- }
-}
-function addBorder(col, ts, style) {
- if (col.border) {
- if (/[.']-+[.']/.test(ts)) {
- return '';
- }
- if (ts.trim().length !== 0) {
- return style;
- }
- return ' ';
- }
- return '';
-}
-// calculates the minimum width of
-// a column, based on padding preferences.
-function _minWidth(col) {
- const padding = col.padding || [];
- const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);
- if (col.border) {
- return minWidth + 4;
- }
- return minWidth;
-}
-function getWindowWidth() {
- /* istanbul ignore next: depends on terminal */
- if (typeof process === 'object' && process.stdout && process.stdout.columns) {
- return process.stdout.columns;
- }
- return 80;
-}
-function alignRight(str, width) {
- str = str.trim();
- const strWidth = mixin.stringWidth(str);
- if (strWidth < width) {
- return ' '.repeat(width - strWidth) + str;
- }
- return str;
-}
-function alignCenter(str, width) {
- str = str.trim();
- const strWidth = mixin.stringWidth(str);
- /* istanbul ignore next */
- if (strWidth >= width) {
- return str;
- }
- return ' '.repeat((width - strWidth) >> 1) + str;
-}
-let mixin;
-export function cliui(opts, _mixin) {
- mixin = _mixin;
- return new UI({
- width: (opts === null || opts === void 0 ? void 0 : opts.width) || getWindowWidth(),
- wrap: opts === null || opts === void 0 ? void 0 : opts.wrap
- });
-}
diff --git a/includes/search/node_modules/cliui/build/lib/string-utils.js b/includes/search/node_modules/cliui/build/lib/string-utils.js
deleted file mode 100644
index 4b87453..0000000
--- a/includes/search/node_modules/cliui/build/lib/string-utils.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// Minimal replacement for ansi string helpers "wrap-ansi" and "strip-ansi".
-// to facilitate ESM and Deno modules.
-// TODO: look at porting https://www.npmjs.com/package/wrap-ansi to ESM.
-// The npm application
-// Copyright (c) npm, Inc. and Contributors
-// Licensed on the terms of The Artistic License 2.0
-// See: https://github.com/npm/cli/blob/4c65cd952bc8627811735bea76b9b110cc4fc80e/lib/utils/ansi-trim.js
-const ansi = new RegExp('\x1b(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|' +
- '\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)', 'g');
-export function stripAnsi(str) {
- return str.replace(ansi, '');
-}
-export function wrap(str, width) {
- const [start, end] = str.match(ansi) || ['', ''];
- str = stripAnsi(str);
- let wrapped = '';
- for (let i = 0; i < str.length; i++) {
- if (i !== 0 && (i % width) === 0) {
- wrapped += '\n';
- }
- wrapped += str.charAt(i);
- }
- if (start && end) {
- wrapped = `${start}${wrapped}${end}`;
- }
- return wrapped;
-}
diff --git a/includes/search/node_modules/cliui/index.mjs b/includes/search/node_modules/cliui/index.mjs
deleted file mode 100644
index bc7a022..0000000
--- a/includes/search/node_modules/cliui/index.mjs
+++ /dev/null
@@ -1,13 +0,0 @@
-// Bootstrap cliui with CommonJS dependencies:
-import { cliui } from './build/lib/index.js'
-import { wrap, stripAnsi } from './build/lib/string-utils.js'
-
-export default function ui (opts) {
- return cliui(opts, {
- stringWidth: (str) => {
- return [...str].length
- },
- stripAnsi,
- wrap
- })
-}
diff --git a/includes/search/node_modules/cliui/package.json b/includes/search/node_modules/cliui/package.json
deleted file mode 100644
index 3426665..0000000
--- a/includes/search/node_modules/cliui/package.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "name": "cliui",
- "version": "7.0.4",
- "description": "easily create complex multi-column command-line-interfaces",
- "main": "build/index.cjs",
- "exports": {
- ".": [
- {
- "import": "./index.mjs",
- "require": "./build/index.cjs"
- },
- "./build/index.cjs"
- ]
- },
- "type": "module",
- "module": "./index.mjs",
- "scripts": {
- "check": "standardx '**/*.ts' && standardx '**/*.js' && standardx '**/*.cjs'",
- "fix": "standardx --fix '**/*.ts' && standardx --fix '**/*.js' && standardx --fix '**/*.cjs'",
- "pretest": "rimraf build && tsc -p tsconfig.test.json && cross-env NODE_ENV=test npm run build:cjs",
- "test": "c8 mocha ./test/*.cjs",
- "test:esm": "c8 mocha ./test/esm/cliui-test.mjs",
- "postest": "check",
- "coverage": "c8 report --check-coverage",
- "precompile": "rimraf build",
- "compile": "tsc",
- "postcompile": "npm run build:cjs",
- "build:cjs": "rollup -c",
- "prepare": "npm run compile"
- },
- "repository": "yargs/cliui",
- "standard": {
- "ignore": [
- "**/example/**"
- ],
- "globals": [
- "it"
- ]
- },
- "keywords": [
- "cli",
- "command-line",
- "layout",
- "design",
- "console",
- "wrap",
- "table"
- ],
- "author": "Ben Coe <ben@npmjs.com>",
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- },
- "devDependencies": {
- "@types/node": "^14.0.27",
- "@typescript-eslint/eslint-plugin": "^4.0.0",
- "@typescript-eslint/parser": "^4.0.0",
- "@wessberg/rollup-plugin-ts": "^1.3.2",
- "c8": "^7.3.0",
- "chai": "^4.2.0",
- "chalk": "^4.1.0",
- "cross-env": "^7.0.2",
- "eslint": "^7.6.0",
- "eslint-plugin-import": "^2.22.0",
- "eslint-plugin-node": "^11.1.0",
- "gts": "^3.0.0",
- "mocha": "^8.1.1",
- "rimraf": "^3.0.2",
- "rollup": "^2.23.1",
- "standardx": "^7.0.0",
- "typescript": "^4.0.0"
- },
- "files": [
- "build",
- "index.mjs",
- "!*.d.ts"
- ],
- "engine": {
- "node": ">=10"
- }
-}
diff --git a/includes/search/node_modules/color-convert/CHANGELOG.md b/includes/search/node_modules/color-convert/CHANGELOG.md
deleted file mode 100644
index 0a7bce4..0000000
--- a/includes/search/node_modules/color-convert/CHANGELOG.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# 1.0.0 - 2016-01-07
-
-- Removed: unused speed test
-- Added: Automatic routing between previously unsupported conversions
-([#27](https://github.com/Qix-/color-convert/pull/27))
-- Removed: `xxx2xxx()` and `xxx2xxxRaw()` functions
-([#27](https://github.com/Qix-/color-convert/pull/27))
-- Removed: `convert()` class
-([#27](https://github.com/Qix-/color-convert/pull/27))
-- Changed: all functions to lookup dictionary
-([#27](https://github.com/Qix-/color-convert/pull/27))
-- Changed: `ansi` to `ansi256`
-([#27](https://github.com/Qix-/color-convert/pull/27))
-- Fixed: argument grouping for functions requiring only one argument
-([#27](https://github.com/Qix-/color-convert/pull/27))
-
-# 0.6.0 - 2015-07-23
-
-- Added: methods to handle
-[ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) 16/256 colors:
- - rgb2ansi16
- - rgb2ansi
- - hsl2ansi16
- - hsl2ansi
- - hsv2ansi16
- - hsv2ansi
- - hwb2ansi16
- - hwb2ansi
- - cmyk2ansi16
- - cmyk2ansi
- - keyword2ansi16
- - keyword2ansi
- - ansi162rgb
- - ansi162hsl
- - ansi162hsv
- - ansi162hwb
- - ansi162cmyk
- - ansi162keyword
- - ansi2rgb
- - ansi2hsl
- - ansi2hsv
- - ansi2hwb
- - ansi2cmyk
- - ansi2keyword
-([#18](https://github.com/harthur/color-convert/pull/18))
-
-# 0.5.3 - 2015-06-02
-
-- Fixed: hsl2hsv does not return `NaN` anymore when using `[0,0,0]`
-([#15](https://github.com/harthur/color-convert/issues/15))
-
----
-
-Check out commit logs for older releases
diff --git a/includes/search/node_modules/color-convert/LICENSE b/includes/search/node_modules/color-convert/LICENSE
deleted file mode 100644
index 5b4c386..0000000
--- a/includes/search/node_modules/color-convert/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-Copyright (c) 2011-2016 Heather Arthur <fayearthur@gmail.com>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
diff --git a/includes/search/node_modules/color-convert/README.md b/includes/search/node_modules/color-convert/README.md
deleted file mode 100644
index d4b08fc..0000000
--- a/includes/search/node_modules/color-convert/README.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# color-convert
-
-[![Build Status](https://travis-ci.org/Qix-/color-convert.svg?branch=master)](https://travis-ci.org/Qix-/color-convert)
-
-Color-convert is a color conversion library for JavaScript and node.
-It converts all ways between `rgb`, `hsl`, `hsv`, `hwb`, `cmyk`, `ansi`, `ansi16`, `hex` strings, and CSS `keyword`s (will round to closest):
-
-```js
-var convert = require('color-convert');
-
-convert.rgb.hsl(140, 200, 100); // [96, 48, 59]
-convert.keyword.rgb('blue'); // [0, 0, 255]
-
-var rgbChannels = convert.rgb.channels; // 3
-var cmykChannels = convert.cmyk.channels; // 4
-var ansiChannels = convert.ansi16.channels; // 1
-```
-
-# Install
-
-```console
-$ npm install color-convert
-```
-
-# API
-
-Simply get the property of the _from_ and _to_ conversion that you're looking for.
-
-All functions have a rounded and unrounded variant. By default, return values are rounded. To get the unrounded (raw) results, simply tack on `.raw` to the function.
-
-All 'from' functions have a hidden property called `.channels` that indicates the number of channels the function expects (not including alpha).
-
-```js
-var convert = require('color-convert');
-
-// Hex to LAB
-convert.hex.lab('DEADBF'); // [ 76, 21, -2 ]
-convert.hex.lab.raw('DEADBF'); // [ 75.56213190997677, 20.653827952644754, -2.290532499330533 ]
-
-// RGB to CMYK
-convert.rgb.cmyk(167, 255, 4); // [ 35, 0, 98, 0 ]
-convert.rgb.cmyk.raw(167, 255, 4); // [ 34.509803921568626, 0, 98.43137254901961, 0 ]
-```
-
-### Arrays
-All functions that accept multiple arguments also support passing an array.
-
-Note that this does **not** apply to functions that convert from a color that only requires one value (e.g. `keyword`, `ansi256`, `hex`, etc.)
-
-```js
-var convert = require('color-convert');
-
-convert.rgb.hex(123, 45, 67); // '7B2D43'
-convert.rgb.hex([123, 45, 67]); // '7B2D43'
-```
-
-## Routing
-
-Conversions that don't have an _explicitly_ defined conversion (in [conversions.js](conversions.js)), but can be converted by means of sub-conversions (e.g. XYZ -> **RGB** -> CMYK), are automatically routed together. This allows just about any color model supported by `color-convert` to be converted to any other model, so long as a sub-conversion path exists. This is also true for conversions requiring more than one step in between (e.g. LCH -> **LAB** -> **XYZ** -> **RGB** -> Hex).
-
-Keep in mind that extensive conversions _may_ result in a loss of precision, and exist only to be complete. For a list of "direct" (single-step) conversions, see [conversions.js](conversions.js).
-
-# Contribute
-
-If there is a new model you would like to support, or want to add a direct conversion between two existing models, please send us a pull request.
-
-# License
-Copyright &copy; 2011-2016, Heather Arthur and Josh Junon. Licensed under the [MIT License](LICENSE).
diff --git a/includes/search/node_modules/color-convert/conversions.js b/includes/search/node_modules/color-convert/conversions.js
deleted file mode 100644
index 2657f26..0000000
--- a/includes/search/node_modules/color-convert/conversions.js
+++ /dev/null
@@ -1,839 +0,0 @@
-/* MIT license */
-/* eslint-disable no-mixed-operators */
-const cssKeywords = require('color-name');
-
-// NOTE: conversions should only return primitive values (i.e. arrays, or
-// values that give correct `typeof` results).
-// do not use box values types (i.e. Number(), String(), etc.)
-
-const reverseKeywords = {};
-for (const key of Object.keys(cssKeywords)) {
- reverseKeywords[cssKeywords[key]] = key;
-}
-
-const convert = {
- rgb: {channels: 3, labels: 'rgb'},
- hsl: {channels: 3, labels: 'hsl'},
- hsv: {channels: 3, labels: 'hsv'},
- hwb: {channels: 3, labels: 'hwb'},
- cmyk: {channels: 4, labels: 'cmyk'},
- xyz: {channels: 3, labels: 'xyz'},
- lab: {channels: 3, labels: 'lab'},
- lch: {channels: 3, labels: 'lch'},
- hex: {channels: 1, labels: ['hex']},
- keyword: {channels: 1, labels: ['keyword']},
- ansi16: {channels: 1, labels: ['ansi16']},
- ansi256: {channels: 1, labels: ['ansi256']},
- hcg: {channels: 3, labels: ['h', 'c', 'g']},
- apple: {channels: 3, labels: ['r16', 'g16', 'b16']},
- gray: {channels: 1, labels: ['gray']}
-};
-
-module.exports = convert;
-
-// Hide .channels and .labels properties
-for (const model of Object.keys(convert)) {
- if (!('channels' in convert[model])) {
- throw new Error('missing channels property: ' + model);
- }
-
- if (!('labels' in convert[model])) {
- throw new Error('missing channel labels property: ' + model);
- }
-
- if (convert[model].labels.length !== convert[model].channels) {
- throw new Error('channel and label counts mismatch: ' + model);
- }
-
- const {channels, labels} = convert[model];
- delete convert[model].channels;
- delete convert[model].labels;
- Object.defineProperty(convert[model], 'channels', {value: channels});
- Object.defineProperty(convert[model], 'labels', {value: labels});
-}
-
-convert.rgb.hsl = function (rgb) {
- const r = rgb[0] / 255;
- const g = rgb[1] / 255;
- const b = rgb[2] / 255;
- const min = Math.min(r, g, b);
- const max = Math.max(r, g, b);
- const delta = max - min;
- let h;
- let s;
-
- if (max === min) {
- h = 0;
- } else if (r === max) {
- h = (g - b) / delta;
- } else if (g === max) {
- h = 2 + (b - r) / delta;
- } else if (b === max) {
- h = 4 + (r - g) / delta;
- }
-
- h = Math.min(h * 60, 360);
-
- if (h < 0) {
- h += 360;
- }
-
- const l = (min + max) / 2;
-
- if (max === min) {
- s = 0;
- } else if (l <= 0.5) {
- s = delta / (max + min);
- } else {
- s = delta / (2 - max - min);
- }
-
- return [h, s * 100, l * 100];
-};
-
-convert.rgb.hsv = function (rgb) {
- let rdif;
- let gdif;
- let bdif;
- let h;
- let s;
-
- const r = rgb[0] / 255;
- const g = rgb[1] / 255;
- const b = rgb[2] / 255;
- const v = Math.max(r, g, b);
- const diff = v - Math.min(r, g, b);
- const diffc = function (c) {
- return (v - c) / 6 / diff + 1 / 2;
- };
-
- if (diff === 0) {
- h = 0;
- s = 0;
- } else {
- s = diff / v;
- rdif = diffc(r);
- gdif = diffc(g);
- bdif = diffc(b);
-
- if (r === v) {
- h = bdif - gdif;
- } else if (g === v) {
- h = (1 / 3) + rdif - bdif;
- } else if (b === v) {
- h = (2 / 3) + gdif - rdif;
- }
-
- if (h < 0) {
- h += 1;
- } else if (h > 1) {
- h -= 1;
- }
- }
-
- return [
- h * 360,
- s * 100,
- v * 100
- ];
-};
-
-convert.rgb.hwb = function (rgb) {
- const r = rgb[0];
- const g = rgb[1];
- let b = rgb[2];
- const h = convert.rgb.hsl(rgb)[0];
- const w = 1 / 255 * Math.min(r, Math.min(g, b));
-
- b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
-
- return [h, w * 100, b * 100];
-};
-
-convert.rgb.cmyk = function (rgb) {
- const r = rgb[0] / 255;
- const g = rgb[1] / 255;
- const b = rgb[2] / 255;
-
- const k = Math.min(1 - r, 1 - g, 1 - b);
- const c = (1 - r - k) / (1 - k) || 0;
- const m = (1 - g - k) / (1 - k) || 0;
- const y = (1 - b - k) / (1 - k) || 0;
-
- return [c * 100, m * 100, y * 100, k * 100];
-};
-
-function comparativeDistance(x, y) {
- /*
- See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
- */
- return (
- ((x[0] - y[0]) ** 2) +
- ((x[1] - y[1]) ** 2) +
- ((x[2] - y[2]) ** 2)
- );
-}
-
-convert.rgb.keyword = function (rgb) {
- const reversed = reverseKeywords[rgb];
- if (reversed) {
- return reversed;
- }
-
- let currentClosestDistance = Infinity;
- let currentClosestKeyword;
-
- for (const keyword of Object.keys(cssKeywords)) {
- const value = cssKeywords[keyword];
-
- // Compute comparative distance
- const distance = comparativeDistance(rgb, value);
-
- // Check if its less, if so set as closest
- if (distance < currentClosestDistance) {
- currentClosestDistance = distance;
- currentClosestKeyword = keyword;
- }
- }
-
- return currentClosestKeyword;
-};
-
-convert.keyword.rgb = function (keyword) {
- return cssKeywords[keyword];
-};
-
-convert.rgb.xyz = function (rgb) {
- let r = rgb[0] / 255;
- let g = rgb[1] / 255;
- let b = rgb[2] / 255;
-
- // Assume sRGB
- r = r > 0.04045 ? (((r + 0.055) / 1.055) ** 2.4) : (r / 12.92);
- g = g > 0.04045 ? (((g + 0.055) / 1.055) ** 2.4) : (g / 12.92);
- b = b > 0.04045 ? (((b + 0.055) / 1.055) ** 2.4) : (b / 12.92);
-
- const x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);
- const y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);
- const z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);
-
- return [x * 100, y * 100, z * 100];
-};
-
-convert.rgb.lab = function (rgb) {
- const xyz = convert.rgb.xyz(rgb);
- let x = xyz[0];
- let y = xyz[1];
- let z = xyz[2];
-
- x /= 95.047;
- y /= 100;
- z /= 108.883;
-
- x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);
- y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);
- z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);
-
- const l = (116 * y) - 16;
- const a = 500 * (x - y);
- const b = 200 * (y - z);
-
- return [l, a, b];
-};
-
-convert.hsl.rgb = function (hsl) {
- const h = hsl[0] / 360;
- const s = hsl[1] / 100;
- const l = hsl[2] / 100;
- let t2;
- let t3;
- let val;
-
- if (s === 0) {
- val = l * 255;
- return [val, val, val];
- }
-
- if (l < 0.5) {
- t2 = l * (1 + s);
- } else {
- t2 = l + s - l * s;
- }
-
- const t1 = 2 * l - t2;
-
- const rgb = [0, 0, 0];
- for (let i = 0; i < 3; i++) {
- t3 = h + 1 / 3 * -(i - 1);
- if (t3 < 0) {
- t3++;
- }
-
- if (t3 > 1) {
- t3--;
- }
-
- if (6 * t3 < 1) {
- val = t1 + (t2 - t1) * 6 * t3;
- } else if (2 * t3 < 1) {
- val = t2;
- } else if (3 * t3 < 2) {
- val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
- } else {
- val = t1;
- }
-
- rgb[i] = val * 255;
- }
-
- return rgb;
-};
-
-convert.hsl.hsv = function (hsl) {
- const h = hsl[0];
- let s = hsl[1] / 100;
- let l = hsl[2] / 100;
- let smin = s;
- const lmin = Math.max(l, 0.01);
-
- l *= 2;
- s *= (l <= 1) ? l : 2 - l;
- smin *= lmin <= 1 ? lmin : 2 - lmin;
- const v = (l + s) / 2;
- const sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);
-
- return [h, sv * 100, v * 100];
-};
-
-convert.hsv.rgb = function (hsv) {
- const h = hsv[0] / 60;
- const s = hsv[1] / 100;
- let v = hsv[2] / 100;
- const hi = Math.floor(h) % 6;
-
- const f = h - Math.floor(h);
- const p = 255 * v * (1 - s);
- const q = 255 * v * (1 - (s * f));
- const t = 255 * v * (1 - (s * (1 - f)));
- v *= 255;
-
- switch (hi) {
- case 0:
- return [v, t, p];
- case 1:
- return [q, v, p];
- case 2:
- return [p, v, t];
- case 3:
- return [p, q, v];
- case 4:
- return [t, p, v];
- case 5:
- return [v, p, q];
- }
-};
-
-convert.hsv.hsl = function (hsv) {
- const h = hsv[0];
- const s = hsv[1] / 100;
- const v = hsv[2] / 100;
- const vmin = Math.max(v, 0.01);
- let sl;
- let l;
-
- l = (2 - s) * v;
- const lmin = (2 - s) * vmin;
- sl = s * vmin;
- sl /= (lmin <= 1) ? lmin : 2 - lmin;
- sl = sl || 0;
- l /= 2;
-
- return [h, sl * 100, l * 100];
-};
-
-// http://dev.w3.org/csswg/css-color/#hwb-to-rgb
-convert.hwb.rgb = function (hwb) {
- const h = hwb[0] / 360;
- let wh = hwb[1] / 100;
- let bl = hwb[2] / 100;
- const ratio = wh + bl;
- let f;
-
- // Wh + bl cant be > 1
- if (ratio > 1) {
- wh /= ratio;
- bl /= ratio;
- }
-
- const i = Math.floor(6 * h);
- const v = 1 - bl;
- f = 6 * h - i;
-
- if ((i & 0x01) !== 0) {
- f = 1 - f;
- }
-
- const n = wh + f * (v - wh); // Linear interpolation
-
- let r;
- let g;
- let b;
- /* eslint-disable max-statements-per-line,no-multi-spaces */
- switch (i) {
- default:
- case 6:
- case 0: r = v; g = n; b = wh; break;
- case 1: r = n; g = v; b = wh; break;
- case 2: r = wh; g = v; b = n; break;
- case 3: r = wh; g = n; b = v; break;
- case 4: r = n; g = wh; b = v; break;
- case 5: r = v; g = wh; b = n; break;
- }
- /* eslint-enable max-statements-per-line,no-multi-spaces */
-
- return [r * 255, g * 255, b * 255];
-};
-
-convert.cmyk.rgb = function (cmyk) {
- const c = cmyk[0] / 100;
- const m = cmyk[1] / 100;
- const y = cmyk[2] / 100;
- const k = cmyk[3] / 100;
-
- const r = 1 - Math.min(1, c * (1 - k) + k);
- const g = 1 - Math.min(1, m * (1 - k) + k);
- const b = 1 - Math.min(1, y * (1 - k) + k);
-
- return [r * 255, g * 255, b * 255];
-};
-
-convert.xyz.rgb = function (xyz) {
- const x = xyz[0] / 100;
- const y = xyz[1] / 100;
- const z = xyz[2] / 100;
- let r;
- let g;
- let b;
-
- r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);
- g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);
- b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);
-
- // Assume sRGB
- r = r > 0.0031308
- ? ((1.055 * (r ** (1.0 / 2.4))) - 0.055)
- : r * 12.92;
-
- g = g > 0.0031308
- ? ((1.055 * (g ** (1.0 / 2.4))) - 0.055)
- : g * 12.92;
-
- b = b > 0.0031308
- ? ((1.055 * (b ** (1.0 / 2.4))) - 0.055)
- : b * 12.92;
-
- r = Math.min(Math.max(0, r), 1);
- g = Math.min(Math.max(0, g), 1);
- b = Math.min(Math.max(0, b), 1);
-
- return [r * 255, g * 255, b * 255];
-};
-
-convert.xyz.lab = function (xyz) {
- let x = xyz[0];
- let y = xyz[1];
- let z = xyz[2];
-
- x /= 95.047;
- y /= 100;
- z /= 108.883;
-
- x = x > 0.008856 ? (x ** (1 / 3)) : (7.787 * x) + (16 / 116);
- y = y > 0.008856 ? (y ** (1 / 3)) : (7.787 * y) + (16 / 116);
- z = z > 0.008856 ? (z ** (1 / 3)) : (7.787 * z) + (16 / 116);
-
- const l = (116 * y) - 16;
- const a = 500 * (x - y);
- const b = 200 * (y - z);
-
- return [l, a, b];
-};
-
-convert.lab.xyz = function (lab) {
- const l = lab[0];
- const a = lab[1];
- const b = lab[2];
- let x;
- let y;
- let z;
-
- y = (l + 16) / 116;
- x = a / 500 + y;
- z = y - b / 200;
-
- const y2 = y ** 3;
- const x2 = x ** 3;
- const z2 = z ** 3;
- y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
- x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
- z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
-
- x *= 95.047;
- y *= 100;
- z *= 108.883;
-
- return [x, y, z];
-};
-
-convert.lab.lch = function (lab) {
- const l = lab[0];
- const a = lab[1];
- const b = lab[2];
- let h;
-
- const hr = Math.atan2(b, a);
- h = hr * 360 / 2 / Math.PI;
-
- if (h < 0) {
- h += 360;
- }
-
- const c = Math.sqrt(a * a + b * b);
-
- return [l, c, h];
-};
-
-convert.lch.lab = function (lch) {
- const l = lch[0];
- const c = lch[1];
- const h = lch[2];
-
- const hr = h / 360 * 2 * Math.PI;
- const a = c * Math.cos(hr);
- const b = c * Math.sin(hr);
-
- return [l, a, b];
-};
-
-convert.rgb.ansi16 = function (args, saturation = null) {
- const [r, g, b] = args;
- let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization
-
- value = Math.round(value / 50);
-
- if (value === 0) {
- return 30;
- }
-
- let ansi = 30
- + ((Math.round(b / 255) << 2)
- | (Math.round(g / 255) << 1)
- | Math.round(r / 255));
-
- if (value === 2) {
- ansi += 60;
- }
-
- return ansi;
-};
-
-convert.hsv.ansi16 = function (args) {
- // Optimization here; we already know the value and don't need to get
- // it converted for us.
- return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
-};
-
-convert.rgb.ansi256 = function (args) {
- const r = args[0];
- const g = args[1];
- const b = args[2];
-
- // We use the extended greyscale palette here, with the exception of
- // black and white. normal palette only has 4 greyscale shades.
- if (r === g && g === b) {
- if (r < 8) {
- return 16;
- }
-
- if (r > 248) {
- return 231;
- }
-
- return Math.round(((r - 8) / 247) * 24) + 232;
- }
-
- const ansi = 16
- + (36 * Math.round(r / 255 * 5))
- + (6 * Math.round(g / 255 * 5))
- + Math.round(b / 255 * 5);
-
- return ansi;
-};
-
-convert.ansi16.rgb = function (args) {
- let color = args % 10;
-
- // Handle greyscale
- if (color === 0 || color === 7) {
- if (args > 50) {
- color += 3.5;
- }
-
- color = color / 10.5 * 255;
-
- return [color, color, color];
- }
-
- const mult = (~~(args > 50) + 1) * 0.5;
- const r = ((color & 1) * mult) * 255;
- const g = (((color >> 1) & 1) * mult) * 255;
- const b = (((color >> 2) & 1) * mult) * 255;
-
- return [r, g, b];
-};
-
-convert.ansi256.rgb = function (args) {
- // Handle greyscale
- if (args >= 232) {
- const c = (args - 232) * 10 + 8;
- return [c, c, c];
- }
-
- args -= 16;
-
- let rem;
- const r = Math.floor(args / 36) / 5 * 255;
- const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
- const b = (rem % 6) / 5 * 255;
-
- return [r, g, b];
-};
-
-convert.rgb.hex = function (args) {
- const integer = ((Math.round(args[0]) & 0xFF) << 16)
- + ((Math.round(args[1]) & 0xFF) << 8)
- + (Math.round(args[2]) & 0xFF);
-
- const string = integer.toString(16).toUpperCase();
- return '000000'.substring(string.length) + string;
-};
-
-convert.hex.rgb = function (args) {
- const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
- if (!match) {
- return [0, 0, 0];
- }
-
- let colorString = match[0];
-
- if (match[0].length === 3) {
- colorString = colorString.split('').map(char => {
- return char + char;
- }).join('');
- }
-
- const integer = parseInt(colorString, 16);
- const r = (integer >> 16) & 0xFF;
- const g = (integer >> 8) & 0xFF;
- const b = integer & 0xFF;
-
- return [r, g, b];
-};
-
-convert.rgb.hcg = function (rgb) {
- const r = rgb[0] / 255;
- const g = rgb[1] / 255;
- const b = rgb[2] / 255;
- const max = Math.max(Math.max(r, g), b);
- const min = Math.min(Math.min(r, g), b);
- const chroma = (max - min);
- let grayscale;
- let hue;
-
- if (chroma < 1) {
- grayscale = min / (1 - chroma);
- } else {
- grayscale = 0;
- }
-
- if (chroma <= 0) {
- hue = 0;
- } else
- if (max === r) {
- hue = ((g - b) / chroma) % 6;
- } else
- if (max === g) {
- hue = 2 + (b - r) / chroma;
- } else {
- hue = 4 + (r - g) / chroma;
- }
-
- hue /= 6;
- hue %= 1;
-
- return [hue * 360, chroma * 100, grayscale * 100];
-};
-
-convert.hsl.hcg = function (hsl) {
- const s = hsl[1] / 100;
- const l = hsl[2] / 100;
-
- const c = l < 0.5 ? (2.0 * s * l) : (2.0 * s * (1.0 - l));
-
- let f = 0;
- if (c < 1.0) {
- f = (l - 0.5 * c) / (1.0 - c);
- }
-
- return [hsl[0], c * 100, f * 100];
-};
-
-convert.hsv.hcg = function (hsv) {
- const s = hsv[1] / 100;
- const v = hsv[2] / 100;
-
- const c = s * v;
- let f = 0;
-
- if (c < 1.0) {
- f = (v - c) / (1 - c);
- }
-
- return [hsv[0], c * 100, f * 100];
-};
-
-convert.hcg.rgb = function (hcg) {
- const h = hcg[0] / 360;
- const c = hcg[1] / 100;
- const g = hcg[2] / 100;
-
- if (c === 0.0) {
- return [g * 255, g * 255, g * 255];
- }
-
- const pure = [0, 0, 0];
- const hi = (h % 1) * 6;
- const v = hi % 1;
- const w = 1 - v;
- let mg = 0;
-
- /* eslint-disable max-statements-per-line */
- switch (Math.floor(hi)) {
- case 0:
- pure[0] = 1; pure[1] = v; pure[2] = 0; break;
- case 1:
- pure[0] = w; pure[1] = 1; pure[2] = 0; break;
- case 2:
- pure[0] = 0; pure[1] = 1; pure[2] = v; break;
- case 3:
- pure[0] = 0; pure[1] = w; pure[2] = 1; break;
- case 4:
- pure[0] = v; pure[1] = 0; pure[2] = 1; break;
- default:
- pure[0] = 1; pure[1] = 0; pure[2] = w;
- }
- /* eslint-enable max-statements-per-line */
-
- mg = (1.0 - c) * g;
-
- return [
- (c * pure[0] + mg) * 255,
- (c * pure[1] + mg) * 255,
- (c * pure[2] + mg) * 255
- ];
-};
-
-convert.hcg.hsv = function (hcg) {
- const c = hcg[1] / 100;
- const g = hcg[2] / 100;
-
- const v = c + g * (1.0 - c);
- let f = 0;
-
- if (v > 0.0) {
- f = c / v;
- }
-
- return [hcg[0], f * 100, v * 100];
-};
-
-convert.hcg.hsl = function (hcg) {
- const c = hcg[1] / 100;
- const g = hcg[2] / 100;
-
- const l = g * (1.0 - c) + 0.5 * c;
- let s = 0;
-
- if (l > 0.0 && l < 0.5) {
- s = c / (2 * l);
- } else
- if (l >= 0.5 && l < 1.0) {
- s = c / (2 * (1 - l));
- }
-
- return [hcg[0], s * 100, l * 100];
-};
-
-convert.hcg.hwb = function (hcg) {
- const c = hcg[1] / 100;
- const g = hcg[2] / 100;
- const v = c + g * (1.0 - c);
- return [hcg[0], (v - c) * 100, (1 - v) * 100];
-};
-
-convert.hwb.hcg = function (hwb) {
- const w = hwb[1] / 100;
- const b = hwb[2] / 100;
- const v = 1 - b;
- const c = v - w;
- let g = 0;
-
- if (c < 1) {
- g = (v - c) / (1 - c);
- }
-
- return [hwb[0], c * 100, g * 100];
-};
-
-convert.apple.rgb = function (apple) {
- return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];
-};
-
-convert.rgb.apple = function (rgb) {
- return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];
-};
-
-convert.gray.rgb = function (args) {
- return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
-};
-
-convert.gray.hsl = function (args) {
- return [0, 0, args[0]];
-};
-
-convert.gray.hsv = convert.gray.hsl;
-
-convert.gray.hwb = function (gray) {
- return [0, 100, gray[0]];
-};
-
-convert.gray.cmyk = function (gray) {
- return [0, 0, 0, gray[0]];
-};
-
-convert.gray.lab = function (gray) {
- return [gray[0], 0, 0];
-};
-
-convert.gray.hex = function (gray) {
- const val = Math.round(gray[0] / 100 * 255) & 0xFF;
- const integer = (val << 16) + (val << 8) + val;
-
- const string = integer.toString(16).toUpperCase();
- return '000000'.substring(string.length) + string;
-};
-
-convert.rgb.gray = function (rgb) {
- const val = (rgb[0] + rgb[1] + rgb[2]) / 3;
- return [val / 255 * 100];
-};
diff --git a/includes/search/node_modules/color-convert/index.js b/includes/search/node_modules/color-convert/index.js
deleted file mode 100644
index b648e57..0000000
--- a/includes/search/node_modules/color-convert/index.js
+++ /dev/null
@@ -1,81 +0,0 @@
-const conversions = require('./conversions');
-const route = require('./route');
-
-const convert = {};
-
-const models = Object.keys(conversions);
-
-function wrapRaw(fn) {
- const wrappedFn = function (...args) {
- const arg0 = args[0];
- if (arg0 === undefined || arg0 === null) {
- return arg0;
- }
-
- if (arg0.length > 1) {
- args = arg0;
- }
-
- return fn(args);
- };
-
- // Preserve .conversion property if there is one
- if ('conversion' in fn) {
- wrappedFn.conversion = fn.conversion;
- }
-
- return wrappedFn;
-}
-
-function wrapRounded(fn) {
- const wrappedFn = function (...args) {
- const arg0 = args[0];
-
- if (arg0 === undefined || arg0 === null) {
- return arg0;
- }
-
- if (arg0.length > 1) {
- args = arg0;
- }
-
- const result = fn(args);
-
- // We're assuming the result is an array here.
- // see notice in conversions.js; don't use box types
- // in conversion functions.
- if (typeof result === 'object') {
- for (let len = result.length, i = 0; i < len; i++) {
- result[i] = Math.round(result[i]);
- }
- }
-
- return result;
- };
-
- // Preserve .conversion property if there is one
- if ('conversion' in fn) {
- wrappedFn.conversion = fn.conversion;
- }
-
- return wrappedFn;
-}
-
-models.forEach(fromModel => {
- convert[fromModel] = {};
-
- Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});
- Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});
-
- const routes = route(fromModel);
- const routeModels = Object.keys(routes);
-
- routeModels.forEach(toModel => {
- const fn = routes[toModel];
-
- convert[fromModel][toModel] = wrapRounded(fn);
- convert[fromModel][toModel].raw = wrapRaw(fn);
- });
-});
-
-module.exports = convert;
diff --git a/includes/search/node_modules/color-convert/package.json b/includes/search/node_modules/color-convert/package.json
deleted file mode 100644
index 6e48000..0000000
--- a/includes/search/node_modules/color-convert/package.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "color-convert",
- "description": "Plain color conversion functions",
- "version": "2.0.1",
- "author": "Heather Arthur <fayearthur@gmail.com>",
- "license": "MIT",
- "repository": "Qix-/color-convert",
- "scripts": {
- "pretest": "xo",
- "test": "node test/basic.js"
- },
- "engines": {
- "node": ">=7.0.0"
- },
- "keywords": [
- "color",
- "colour",
- "convert",
- "converter",
- "conversion",
- "rgb",
- "hsl",
- "hsv",
- "hwb",
- "cmyk",
- "ansi",
- "ansi16"
- ],
- "files": [
- "index.js",
- "conversions.js",
- "route.js"
- ],
- "xo": {
- "rules": {
- "default-case": 0,
- "no-inline-comments": 0,
- "operator-linebreak": 0
- }
- },
- "devDependencies": {
- "chalk": "^2.4.2",
- "xo": "^0.24.0"
- },
- "dependencies": {
- "color-name": "~1.1.4"
- }
-}
diff --git a/includes/search/node_modules/color-convert/route.js b/includes/search/node_modules/color-convert/route.js
deleted file mode 100644
index 1a08521..0000000
--- a/includes/search/node_modules/color-convert/route.js
+++ /dev/null
@@ -1,97 +0,0 @@
-const conversions = require('./conversions');
-
-/*
- This function routes a model to all other models.
-
- all functions that are routed have a property `.conversion` attached
- to the returned synthetic function. This property is an array
- of strings, each with the steps in between the 'from' and 'to'
- color models (inclusive).
-
- conversions that are not possible simply are not included.
-*/
-
-function buildGraph() {
- const graph = {};
- // https://jsperf.com/object-keys-vs-for-in-with-closure/3
- const models = Object.keys(conversions);
-
- for (let len = models.length, i = 0; i < len; i++) {
- graph[models[i]] = {
- // http://jsperf.com/1-vs-infinity
- // micro-opt, but this is simple.
- distance: -1,
- parent: null
- };
- }
-
- return graph;
-}
-
-// https://en.wikipedia.org/wiki/Breadth-first_search
-function deriveBFS(fromModel) {
- const graph = buildGraph();
- const queue = [fromModel]; // Unshift -> queue -> pop
-
- graph[fromModel].distance = 0;
-
- while (queue.length) {
- const current = queue.pop();
- const adjacents = Object.keys(conversions[current]);
-
- for (let len = adjacents.length, i = 0; i < len; i++) {
- const adjacent = adjacents[i];
- const node = graph[adjacent];
-
- if (node.distance === -1) {
- node.distance = graph[current].distance + 1;
- node.parent = current;
- queue.unshift(adjacent);
- }
- }
- }
-
- return graph;
-}
-
-function link(from, to) {
- return function (args) {
- return to(from(args));
- };
-}
-
-function wrapConversion(toModel, graph) {
- const path = [graph[toModel].parent, toModel];
- let fn = conversions[graph[toModel].parent][toModel];
-
- let cur = graph[toModel].parent;
- while (graph[cur].parent) {
- path.unshift(graph[cur].parent);
- fn = link(conversions[graph[cur].parent][cur], fn);
- cur = graph[cur].parent;
- }
-
- fn.conversion = path;
- return fn;
-}
-
-module.exports = function (fromModel) {
- const graph = deriveBFS(fromModel);
- const conversion = {};
-
- const models = Object.keys(graph);
- for (let len = models.length, i = 0; i < len; i++) {
- const toModel = models[i];
- const node = graph[toModel];
-
- if (node.parent === null) {
- // No possible conversion, or this node is the source model.
- continue;
- }
-
- conversion[toModel] = wrapConversion(toModel, graph);
- }
-
- return conversion;
-};
-
diff --git a/includes/search/node_modules/color-name/LICENSE b/includes/search/node_modules/color-name/LICENSE
deleted file mode 100644
index c6b1001..0000000
--- a/includes/search/node_modules/color-name/LICENSE
+++ /dev/null
@@ -1,8 +0,0 @@
-The MIT License (MIT)
-Copyright (c) 2015 Dmitry Ivanov
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/color-name/README.md b/includes/search/node_modules/color-name/README.md
deleted file mode 100644
index 932b979..0000000
--- a/includes/search/node_modules/color-name/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors.
-
-[![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/)
-
-
-```js
-var colors = require('color-name');
-colors.red //[255,0,0]
-```
-
-<a href="LICENSE"><img src="https://upload.wikimedia.org/wikipedia/commons/0/0c/MIT_logo.svg" width="120"/></a>
diff --git a/includes/search/node_modules/color-name/index.js b/includes/search/node_modules/color-name/index.js
deleted file mode 100644
index b7c198a..0000000
--- a/includes/search/node_modules/color-name/index.js
+++ /dev/null
@@ -1,152 +0,0 @@
-'use strict'
-
-module.exports = {
- "aliceblue": [240, 248, 255],
- "antiquewhite": [250, 235, 215],
- "aqua": [0, 255, 255],
- "aquamarine": [127, 255, 212],
- "azure": [240, 255, 255],
- "beige": [245, 245, 220],
- "bisque": [255, 228, 196],
- "black": [0, 0, 0],
- "blanchedalmond": [255, 235, 205],
- "blue": [0, 0, 255],
- "blueviolet": [138, 43, 226],
- "brown": [165, 42, 42],
- "burlywood": [222, 184, 135],
- "cadetblue": [95, 158, 160],
- "chartreuse": [127, 255, 0],
- "chocolate": [210, 105, 30],
- "coral": [255, 127, 80],
- "cornflowerblue": [100, 149, 237],
- "cornsilk": [255, 248, 220],
- "crimson": [220, 20, 60],
- "cyan": [0, 255, 255],
- "darkblue": [0, 0, 139],
- "darkcyan": [0, 139, 139],
- "darkgoldenrod": [184, 134, 11],
- "darkgray": [169, 169, 169],
- "darkgreen": [0, 100, 0],
- "darkgrey": [169, 169, 169],
- "darkkhaki": [189, 183, 107],
- "darkmagenta": [139, 0, 139],
- "darkolivegreen": [85, 107, 47],
- "darkorange": [255, 140, 0],
- "darkorchid": [153, 50, 204],
- "darkred": [139, 0, 0],
- "darksalmon": [233, 150, 122],
- "darkseagreen": [143, 188, 143],
- "darkslateblue": [72, 61, 139],
- "darkslategray": [47, 79, 79],
- "darkslategrey": [47, 79, 79],
- "darkturquoise": [0, 206, 209],
- "darkviolet": [148, 0, 211],
- "deeppink": [255, 20, 147],
- "deepskyblue": [0, 191, 255],
- "dimgray": [105, 105, 105],
- "dimgrey": [105, 105, 105],
- "dodgerblue": [30, 144, 255],
- "firebrick": [178, 34, 34],
- "floralwhite": [255, 250, 240],
- "forestgreen": [34, 139, 34],
- "fuchsia": [255, 0, 255],
- "gainsboro": [220, 220, 220],
- "ghostwhite": [248, 248, 255],
- "gold": [255, 215, 0],
- "goldenrod": [218, 165, 32],
- "gray": [128, 128, 128],
- "green": [0, 128, 0],
- "greenyellow": [173, 255, 47],
- "grey": [128, 128, 128],
- "honeydew": [240, 255, 240],
- "hotpink": [255, 105, 180],
- "indianred": [205, 92, 92],
- "indigo": [75, 0, 130],
- "ivory": [255, 255, 240],
- "khaki": [240, 230, 140],
- "lavender": [230, 230, 250],
- "lavenderblush": [255, 240, 245],
- "lawngreen": [124, 252, 0],
- "lemonchiffon": [255, 250, 205],
- "lightblue": [173, 216, 230],
- "lightcoral": [240, 128, 128],
- "lightcyan": [224, 255, 255],
- "lightgoldenrodyellow": [250, 250, 210],
- "lightgray": [211, 211, 211],
- "lightgreen": [144, 238, 144],
- "lightgrey": [211, 211, 211],
- "lightpink": [255, 182, 193],
- "lightsalmon": [255, 160, 122],
- "lightseagreen": [32, 178, 170],
- "lightskyblue": [135, 206, 250],
- "lightslategray": [119, 136, 153],
- "lightslategrey": [119, 136, 153],
- "lightsteelblue": [176, 196, 222],
- "lightyellow": [255, 255, 224],
- "lime": [0, 255, 0],
- "limegreen": [50, 205, 50],
- "linen": [250, 240, 230],
- "magenta": [255, 0, 255],
- "maroon": [128, 0, 0],
- "mediumaquamarine": [102, 205, 170],
- "mediumblue": [0, 0, 205],
- "mediumorchid": [186, 85, 211],
- "mediumpurple": [147, 112, 219],
- "mediumseagreen": [60, 179, 113],
- "mediumslateblue": [123, 104, 238],
- "mediumspringgreen": [0, 250, 154],
- "mediumturquoise": [72, 209, 204],
- "mediumvioletred": [199, 21, 133],
- "midnightblue": [25, 25, 112],
- "mintcream": [245, 255, 250],
- "mistyrose": [255, 228, 225],
- "moccasin": [255, 228, 181],
- "navajowhite": [255, 222, 173],
- "navy": [0, 0, 128],
- "oldlace": [253, 245, 230],
- "olive": [128, 128, 0],
- "olivedrab": [107, 142, 35],
- "orange": [255, 165, 0],
- "orangered": [255, 69, 0],
- "orchid": [218, 112, 214],
- "palegoldenrod": [238, 232, 170],
- "palegreen": [152, 251, 152],
- "paleturquoise": [175, 238, 238],
- "palevioletred": [219, 112, 147],
- "papayawhip": [255, 239, 213],
- "peachpuff": [255, 218, 185],
- "peru": [205, 133, 63],
- "pink": [255, 192, 203],
- "plum": [221, 160, 221],
- "powderblue": [176, 224, 230],
- "purple": [128, 0, 128],
- "rebeccapurple": [102, 51, 153],
- "red": [255, 0, 0],
- "rosybrown": [188, 143, 143],
- "royalblue": [65, 105, 225],
- "saddlebrown": [139, 69, 19],
- "salmon": [250, 128, 114],
- "sandybrown": [244, 164, 96],
- "seagreen": [46, 139, 87],
- "seashell": [255, 245, 238],
- "sienna": [160, 82, 45],
- "silver": [192, 192, 192],
- "skyblue": [135, 206, 235],
- "slateblue": [106, 90, 205],
- "slategray": [112, 128, 144],
- "slategrey": [112, 128, 144],
- "snow": [255, 250, 250],
- "springgreen": [0, 255, 127],
- "steelblue": [70, 130, 180],
- "tan": [210, 180, 140],
- "teal": [0, 128, 128],
- "thistle": [216, 191, 216],
- "tomato": [255, 99, 71],
- "turquoise": [64, 224, 208],
- "violet": [238, 130, 238],
- "wheat": [245, 222, 179],
- "white": [255, 255, 255],
- "whitesmoke": [245, 245, 245],
- "yellow": [255, 255, 0],
- "yellowgreen": [154, 205, 50]
-};
diff --git a/includes/search/node_modules/color-name/package.json b/includes/search/node_modules/color-name/package.json
deleted file mode 100644
index 782dd82..0000000
--- a/includes/search/node_modules/color-name/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "color-name",
- "version": "1.1.4",
- "description": "A list of color names and its values",
- "main": "index.js",
- "files": [
- "index.js"
- ],
- "scripts": {
- "test": "node test.js"
- },
- "repository": {
- "type": "git",
- "url": "git@github.com:colorjs/color-name.git"
- },
- "keywords": [
- "color-name",
- "color",
- "color-keyword",
- "keyword"
- ],
- "author": "DY <dfcreative@gmail.com>",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/colorjs/color-name/issues"
- },
- "homepage": "https://github.com/colorjs/color-name"
-}
diff --git a/includes/search/node_modules/core-util-is/LICENSE b/includes/search/node_modules/core-util-is/LICENSE
deleted file mode 100644
index d8d7f94..0000000
--- a/includes/search/node_modules/core-util-is/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright Node.js contributors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
diff --git a/includes/search/node_modules/core-util-is/README.md b/includes/search/node_modules/core-util-is/README.md
deleted file mode 100644
index 5a76b41..0000000
--- a/includes/search/node_modules/core-util-is/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# core-util-is
-
-The `util.is*` functions introduced in Node v0.12.
diff --git a/includes/search/node_modules/core-util-is/lib/util.js b/includes/search/node_modules/core-util-is/lib/util.js
deleted file mode 100644
index 6e5a20d..0000000
--- a/includes/search/node_modules/core-util-is/lib/util.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: These type checking functions intentionally don't use `instanceof`
-// because it is fragile and can be easily faked with `Object.create()`.
-
-function isArray(arg) {
- if (Array.isArray) {
- return Array.isArray(arg);
- }
- return objectToString(arg) === '[object Array]';
-}
-exports.isArray = isArray;
-
-function isBoolean(arg) {
- return typeof arg === 'boolean';
-}
-exports.isBoolean = isBoolean;
-
-function isNull(arg) {
- return arg === null;
-}
-exports.isNull = isNull;
-
-function isNullOrUndefined(arg) {
- return arg == null;
-}
-exports.isNullOrUndefined = isNullOrUndefined;
-
-function isNumber(arg) {
- return typeof arg === 'number';
-}
-exports.isNumber = isNumber;
-
-function isString(arg) {
- return typeof arg === 'string';
-}
-exports.isString = isString;
-
-function isSymbol(arg) {
- return typeof arg === 'symbol';
-}
-exports.isSymbol = isSymbol;
-
-function isUndefined(arg) {
- return arg === void 0;
-}
-exports.isUndefined = isUndefined;
-
-function isRegExp(re) {
- return objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-
-function isObject(arg) {
- return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
-
-function isDate(d) {
- return objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
-
-function isError(e) {
- return (objectToString(e) === '[object Error]' || e instanceof Error);
-}
-exports.isError = isError;
-
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
-
-function isPrimitive(arg) {
- return arg === null ||
- typeof arg === 'boolean' ||
- typeof arg === 'number' ||
- typeof arg === 'string' ||
- typeof arg === 'symbol' || // ES6 symbol
- typeof arg === 'undefined';
-}
-exports.isPrimitive = isPrimitive;
-
-exports.isBuffer = require('buffer').Buffer.isBuffer;
-
-function objectToString(o) {
- return Object.prototype.toString.call(o);
-}
diff --git a/includes/search/node_modules/core-util-is/package.json b/includes/search/node_modules/core-util-is/package.json
deleted file mode 100644
index b0c51f5..0000000
--- a/includes/search/node_modules/core-util-is/package.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "core-util-is",
- "version": "1.0.3",
- "description": "The `util.is*` functions introduced in Node v0.12.",
- "main": "lib/util.js",
- "files": [
- "lib"
- ],
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/core-util-is"
- },
- "keywords": [
- "util",
- "isBuffer",
- "isArray",
- "isNumber",
- "isString",
- "isRegExp",
- "isThis",
- "isThat",
- "polyfill"
- ],
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/isaacs/core-util-is/issues"
- },
- "scripts": {
- "test": "tap test.js",
- "preversion": "npm test",
- "postversion": "npm publish",
- "prepublishOnly": "git push origin --follow-tags"
- },
- "devDependencies": {
- "tap": "^15.0.9"
- }
-}
diff --git a/includes/search/node_modules/debug/LICENSE b/includes/search/node_modules/debug/LICENSE
deleted file mode 100644
index 1a9820e..0000000
--- a/includes/search/node_modules/debug/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
-Copyright (c) 2018-2021 Josh Junon
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software
-and associated documentation files (the 'Software'), to deal in the Software without restriction,
-including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
diff --git a/includes/search/node_modules/debug/README.md b/includes/search/node_modules/debug/README.md
deleted file mode 100644
index e9c3e04..0000000
--- a/includes/search/node_modules/debug/README.md
+++ /dev/null
@@ -1,481 +0,0 @@
-# debug
-[![Build Status](https://travis-ci.org/debug-js/debug.svg?branch=master)](https://travis-ci.org/debug-js/debug) [![Coverage Status](https://coveralls.io/repos/github/debug-js/debug/badge.svg?branch=master)](https://coveralls.io/github/debug-js/debug?branch=master) [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers)
-[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors)
-
-<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
-
-A tiny JavaScript debugging utility modelled after Node.js core's debugging
-technique. Works in Node.js and web browsers.
-
-## Installation
-
-```bash
-$ npm install debug
-```
-
-## Usage
-
-`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.
-
-Example [_app.js_](./examples/node/app.js):
-
-```js
-var debug = require('debug')('http')
- , http = require('http')
- , name = 'My App';
-
-// fake app
-
-debug('booting %o', name);
-
-http.createServer(function(req, res){
- debug(req.method + ' ' + req.url);
- res.end('hello\n');
-}).listen(3000, function(){
- debug('listening');
-});
-
-// fake worker of some kind
-
-require('./worker');
-```
-
-Example [_worker.js_](./examples/node/worker.js):
-
-```js
-var a = require('debug')('worker:a')
- , b = require('debug')('worker:b');
-
-function work() {
- a('doing lots of uninteresting work');
- setTimeout(work, Math.random() * 1000);
-}
-
-work();
-
-function workb() {
- b('doing some work');
- setTimeout(workb, Math.random() * 2000);
-}
-
-workb();
-```
-
-The `DEBUG` environment variable is then used to enable these based on space or
-comma-delimited names.
-
-Here are some examples:
-
-<img width="647" alt="screen shot 2017-08-08 at 12 53 04 pm" src="https://user-images.githubusercontent.com/71256/29091703-a6302cdc-7c38-11e7-8304-7c0b3bc600cd.png">
-<img width="647" alt="screen shot 2017-08-08 at 12 53 38 pm" src="https://user-images.githubusercontent.com/71256/29091700-a62a6888-7c38-11e7-800b-db911291ca2b.png">
-<img width="647" alt="screen shot 2017-08-08 at 12 53 25 pm" src="https://user-images.githubusercontent.com/71256/29091701-a62ea114-7c38-11e7-826a-2692bedca740.png">
-
-#### Windows command prompt notes
-
-##### CMD
-
-On Windows the environment variable is set using the `set` command.
-
-```cmd
-set DEBUG=*,-not_this
-```
-
-Example:
-
-```cmd
-set DEBUG=* & node app.js
-```
-
-##### PowerShell (VS Code default)
-
-PowerShell uses different syntax to set environment variables.
-
-```cmd
-$env:DEBUG = "*,-not_this"
-```
-
-Example:
-
-```cmd
-$env:DEBUG='app';node app.js
-```
-
-Then, run the program to be debugged as usual.
-
-npm script example:
-```js
- "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js",
-```
-
-## Namespace Colors
-
-Every debug instance has a color generated for it based on its namespace name.
-This helps when visually parsing the debug output to identify which debug instance
-a debug line belongs to.
-
-#### Node.js
-
-In Node.js, colors are enabled when stderr is a TTY. You also _should_ install
-the [`supports-color`](https://npmjs.org/supports-color) module alongside debug,
-otherwise debug will only use a small handful of basic colors.
-
-<img width="521" src="https://user-images.githubusercontent.com/71256/29092181-47f6a9e6-7c3a-11e7-9a14-1928d8a711cd.png">
-
-#### Web Browser
-
-Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
-option. These are WebKit web inspectors, Firefox ([since version
-31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
-and the Firebug plugin for Firefox (any version).
-
-<img width="524" src="https://user-images.githubusercontent.com/71256/29092033-b65f9f2e-7c39-11e7-8e32-f6f0d8e865c1.png">
-
-
-## Millisecond diff
-
-When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
-
-<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
-
-When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below:
-
-<img width="647" src="https://user-images.githubusercontent.com/71256/29091956-6bd78372-7c39-11e7-8c55-c948396d6edd.png">
-
-
-## Conventions
-
-If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable. You can then use it for normal output as well as debug output.
-
-## Wildcards
-
-The `*` character may be used as a wildcard. Suppose for example your library has
-debuggers named "connect:bodyParser", "connect:compress", "connect:session",
-instead of listing all three with
-`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do
-`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
-
-You can also exclude specific debuggers by prefixing them with a "-" character.
-For example, `DEBUG=*,-connect:*` would include all debuggers except those
-starting with "connect:".
-
-## Environment Variables
-
-When running through Node.js, you can set a few environment variables that will
-change the behavior of the debug logging:
-
-| Name | Purpose |
-|-----------|-------------------------------------------------|
-| `DEBUG` | Enables/disables specific debugging namespaces. |
-| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY). |
-| `DEBUG_COLORS`| Whether or not to use colors in the debug output. |
-| `DEBUG_DEPTH` | Object inspection depth. |
-| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. |
-
-
-__Note:__ The environment variables beginning with `DEBUG_` end up being
-converted into an Options object that gets used with `%o`/`%O` formatters.
-See the Node.js documentation for
-[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options)
-for the complete list.
-
-## Formatters
-
-Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting.
-Below are the officially supported formatters:
-
-| Formatter | Representation |
-|-----------|----------------|
-| `%O` | Pretty-print an Object on multiple lines. |
-| `%o` | Pretty-print an Object all on a single line. |
-| `%s` | String. |
-| `%d` | Number (both integer and float). |
-| `%j` | JSON. Replaced with the string '[Circular]' if the argument contains circular references. |
-| `%%` | Single percent sign ('%'). This does not consume an argument. |
-
-
-### Custom formatters
-
-You can add custom formatters by extending the `debug.formatters` object.
-For example, if you wanted to add support for rendering a Buffer as hex with
-`%h`, you could do something like:
-
-```js
-const createDebug = require('debug')
-createDebug.formatters.h = (v) => {
- return v.toString('hex')
-}
-
-// …elsewhere
-const debug = createDebug('foo')
-debug('this is hex: %h', new Buffer('hello world'))
-// foo this is hex: 68656c6c6f20776f726c6421 +0ms
-```
-
-
-## Browser Support
-
-You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify),
-or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest),
-if you don't want to build it yourself.
-
-Debug's enable state is currently persisted by `localStorage`.
-Consider the situation shown below where you have `worker:a` and `worker:b`,
-and wish to debug both. You can enable this using `localStorage.debug`:
-
-```js
-localStorage.debug = 'worker:*'
-```
-
-And then refresh the page.
-
-```js
-a = debug('worker:a');
-b = debug('worker:b');
-
-setInterval(function(){
- a('doing some work');
-}, 1000);
-
-setInterval(function(){
- b('doing some work');
-}, 1200);
-```
-
-In Chromium-based web browsers (e.g. Brave, Chrome, and Electron), the JavaScript console will—by default—only show messages logged by `debug` if the "Verbose" log level is _enabled_.
-
-<img width="647" src="https://user-images.githubusercontent.com/7143133/152083257-29034707-c42c-4959-8add-3cee850e6fcf.png">
-
-## Output streams
-
- By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method:
-
-Example [_stdout.js_](./examples/node/stdout.js):
-
-```js
-var debug = require('debug');
-var error = debug('app:error');
-
-// by default stderr is used
-error('goes to stderr!');
-
-var log = debug('app:log');
-// set this namespace to log via console.log
-log.log = console.log.bind(console); // don't forget to bind to console!
-log('goes to stdout');
-error('still goes to stderr!');
-
-// set all output to go via console.info
-// overrides all per-namespace log settings
-debug.log = console.info.bind(console);
-error('now goes to stdout via console.info');
-log('still goes to stdout, but via console.info now');
-```
-
-## Extend
-You can simply extend debugger
-```js
-const log = require('debug')('auth');
-
-//creates new debug instance with extended namespace
-const logSign = log.extend('sign');
-const logLogin = log.extend('login');
-
-log('hello'); // auth hello
-logSign('hello'); //auth:sign hello
-logLogin('hello'); //auth:login hello
-```
-
-## Set dynamically
-
-You can also enable debug dynamically by calling the `enable()` method :
-
-```js
-let debug = require('debug');
-
-console.log(1, debug.enabled('test'));
-
-debug.enable('test');
-console.log(2, debug.enabled('test'));
-
-debug.disable();
-console.log(3, debug.enabled('test'));
-
-```
-
-print :
-```
-1 false
-2 true
-3 false
-```
-
-Usage :
-`enable(namespaces)`
-`namespaces` can include modes separated by a colon and wildcards.
-
-Note that calling `enable()` completely overrides previously set DEBUG variable :
-
-```
-$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))'
-=> false
-```
-
-`disable()`
-
-Will disable all namespaces. The functions returns the namespaces currently
-enabled (and skipped). This can be useful if you want to disable debugging
-temporarily without knowing what was enabled to begin with.
-
-For example:
-
-```js
-let debug = require('debug');
-debug.enable('foo:*,-foo:bar');
-let namespaces = debug.disable();
-debug.enable(namespaces);
-```
-
-Note: There is no guarantee that the string will be identical to the initial
-enable string, but semantically they will be identical.
-
-## Checking whether a debug target is enabled
-
-After you've created a debug instance, you can determine whether or not it is
-enabled by checking the `enabled` property:
-
-```javascript
-const debug = require('debug')('http');
-
-if (debug.enabled) {
- // do stuff...
-}
-```
-
-You can also manually toggle this property to force the debug instance to be
-enabled or disabled.
-
-## Usage in child processes
-
-Due to the way `debug` detects if the output is a TTY or not, colors are not shown in child processes when `stderr` is piped. A solution is to pass the `DEBUG_COLORS=1` environment variable to the child process.
-For example:
-
-```javascript
-worker = fork(WORKER_WRAP_PATH, [workerPath], {
- stdio: [
- /* stdin: */ 0,
- /* stdout: */ 'pipe',
- /* stderr: */ 'pipe',
- 'ipc',
- ],
- env: Object.assign({}, process.env, {
- DEBUG_COLORS: 1 // without this settings, colors won't be shown
- }),
-});
-
-worker.stderr.pipe(process.stderr, { end: false });
-```
-
-
-## Authors
-
- - TJ Holowaychuk
- - Nathan Rajlich
- - Andrew Rhyne
- - Josh Junon
-
-## Backers
-
-Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)]
-
-<a href="https://opencollective.com/debug/backer/0/website" target="_blank"><img src="https://opencollective.com/debug/backer/0/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/1/website" target="_blank"><img src="https://opencollective.com/debug/backer/1/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/2/website" target="_blank"><img src="https://opencollective.com/debug/backer/2/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/3/website" target="_blank"><img src="https://opencollective.com/debug/backer/3/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/4/website" target="_blank"><img src="https://opencollective.com/debug/backer/4/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/5/website" target="_blank"><img src="https://opencollective.com/debug/backer/5/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/6/website" target="_blank"><img src="https://opencollective.com/debug/backer/6/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/7/website" target="_blank"><img src="https://opencollective.com/debug/backer/7/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/8/website" target="_blank"><img src="https://opencollective.com/debug/backer/8/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/9/website" target="_blank"><img src="https://opencollective.com/debug/backer/9/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/10/website" target="_blank"><img src="https://opencollective.com/debug/backer/10/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/11/website" target="_blank"><img src="https://opencollective.com/debug/backer/11/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/12/website" target="_blank"><img src="https://opencollective.com/debug/backer/12/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/13/website" target="_blank"><img src="https://opencollective.com/debug/backer/13/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/14/website" target="_blank"><img src="https://opencollective.com/debug/backer/14/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/15/website" target="_blank"><img src="https://opencollective.com/debug/backer/15/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/16/website" target="_blank"><img src="https://opencollective.com/debug/backer/16/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/17/website" target="_blank"><img src="https://opencollective.com/debug/backer/17/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/18/website" target="_blank"><img src="https://opencollective.com/debug/backer/18/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/19/website" target="_blank"><img src="https://opencollective.com/debug/backer/19/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/20/website" target="_blank"><img src="https://opencollective.com/debug/backer/20/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/21/website" target="_blank"><img src="https://opencollective.com/debug/backer/21/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/22/website" target="_blank"><img src="https://opencollective.com/debug/backer/22/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/23/website" target="_blank"><img src="https://opencollective.com/debug/backer/23/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/24/website" target="_blank"><img src="https://opencollective.com/debug/backer/24/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/25/website" target="_blank"><img src="https://opencollective.com/debug/backer/25/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/26/website" target="_blank"><img src="https://opencollective.com/debug/backer/26/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/27/website" target="_blank"><img src="https://opencollective.com/debug/backer/27/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/28/website" target="_blank"><img src="https://opencollective.com/debug/backer/28/avatar.svg"></a>
-<a href="https://opencollective.com/debug/backer/29/website" target="_blank"><img src="https://opencollective.com/debug/backer/29/avatar.svg"></a>
-
-
-## Sponsors
-
-Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)]
-
-<a href="https://opencollective.com/debug/sponsor/0/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/0/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/1/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/1/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/2/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/2/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/3/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/3/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/4/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/4/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/5/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/5/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/6/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/6/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/7/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/7/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/8/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/8/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/9/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/9/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/10/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/10/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/11/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/11/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/12/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/12/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/13/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/13/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/14/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/14/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/15/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/15/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/16/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/16/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/17/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/17/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/18/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/18/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/19/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/19/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/20/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/20/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/21/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/21/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/22/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/22/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/23/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/23/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/24/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/24/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/25/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/25/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/26/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/26/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/27/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/27/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/28/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/28/avatar.svg"></a>
-<a href="https://opencollective.com/debug/sponsor/29/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/29/avatar.svg"></a>
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014-2017 TJ Holowaychuk &lt;tj@vision-media.ca&gt;
-Copyright (c) 2018-2021 Josh Junon
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/debug/package.json b/includes/search/node_modules/debug/package.json
deleted file mode 100644
index 3bcdc24..0000000
--- a/includes/search/node_modules/debug/package.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "name": "debug",
- "version": "4.3.4",
- "repository": {
- "type": "git",
- "url": "git://github.com/debug-js/debug.git"
- },
- "description": "Lightweight debugging utility for Node.js and the browser",
- "keywords": [
- "debug",
- "log",
- "debugger"
- ],
- "files": [
- "src",
- "LICENSE",
- "README.md"
- ],
- "author": "Josh Junon <josh.junon@protonmail.com>",
- "contributors": [
- "TJ Holowaychuk <tj@vision-media.ca>",
- "Nathan Rajlich <nathan@tootallnate.net> (http://n8.io)",
- "Andrew Rhyne <rhyneandrew@gmail.com>"
- ],
- "license": "MIT",
- "scripts": {
- "lint": "xo",
- "test": "npm run test:node && npm run test:browser && npm run lint",
- "test:node": "istanbul cover _mocha -- test.js",
- "test:browser": "karma start --single-run",
- "test:coverage": "cat ./coverage/lcov.info | coveralls"
- },
- "dependencies": {
- "ms": "2.1.2"
- },
- "devDependencies": {
- "brfs": "^2.0.1",
- "browserify": "^16.2.3",
- "coveralls": "^3.0.2",
- "istanbul": "^0.4.5",
- "karma": "^3.1.4",
- "karma-browserify": "^6.0.0",
- "karma-chrome-launcher": "^2.2.0",
- "karma-mocha": "^1.3.0",
- "mocha": "^5.2.0",
- "mocha-lcov-reporter": "^1.2.0",
- "xo": "^0.23.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- },
- "main": "./src/index.js",
- "browser": "./src/browser.js",
- "engines": {
- "node": ">=6.0"
- }
-}
diff --git a/includes/search/node_modules/debug/src/browser.js b/includes/search/node_modules/debug/src/browser.js
deleted file mode 100644
index cd0fc35..0000000
--- a/includes/search/node_modules/debug/src/browser.js
+++ /dev/null
@@ -1,269 +0,0 @@
-/* eslint-env browser */
-
-/**
- * This is the web browser implementation of `debug()`.
- */
-
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-exports.storage = localstorage();
-exports.destroy = (() => {
- let warned = false;
-
- return () => {
- if (!warned) {
- warned = true;
- console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
- }
- };
-})();
-
-/**
- * Colors.
- */
-
-exports.colors = [
- '#0000CC',
- '#0000FF',
- '#0033CC',
- '#0033FF',
- '#0066CC',
- '#0066FF',
- '#0099CC',
- '#0099FF',
- '#00CC00',
- '#00CC33',
- '#00CC66',
- '#00CC99',
- '#00CCCC',
- '#00CCFF',
- '#3300CC',
- '#3300FF',
- '#3333CC',
- '#3333FF',
- '#3366CC',
- '#3366FF',
- '#3399CC',
- '#3399FF',
- '#33CC00',
- '#33CC33',
- '#33CC66',
- '#33CC99',
- '#33CCCC',
- '#33CCFF',
- '#6600CC',
- '#6600FF',
- '#6633CC',
- '#6633FF',
- '#66CC00',
- '#66CC33',
- '#9900CC',
- '#9900FF',
- '#9933CC',
- '#9933FF',
- '#99CC00',
- '#99CC33',
- '#CC0000',
- '#CC0033',
- '#CC0066',
- '#CC0099',
- '#CC00CC',
- '#CC00FF',
- '#CC3300',
- '#CC3333',
- '#CC3366',
- '#CC3399',
- '#CC33CC',
- '#CC33FF',
- '#CC6600',
- '#CC6633',
- '#CC9900',
- '#CC9933',
- '#CCCC00',
- '#CCCC33',
- '#FF0000',
- '#FF0033',
- '#FF0066',
- '#FF0099',
- '#FF00CC',
- '#FF00FF',
- '#FF3300',
- '#FF3333',
- '#FF3366',
- '#FF3399',
- '#FF33CC',
- '#FF33FF',
- '#FF6600',
- '#FF6633',
- '#FF9900',
- '#FF9933',
- '#FFCC00',
- '#FFCC33'
-];
-
-/**
- * Currently only WebKit-based Web Inspectors, Firefox >= v31,
- * and the Firebug extension (any Firefox version) are known
- * to support "%c" CSS customizations.
- *
- * TODO: add a `localStorage` variable to explicitly enable/disable colors
- */
-
-// eslint-disable-next-line complexity
-function useColors() {
- // NB: In an Electron preload script, document will be defined but not fully
- // initialized. Since we know we're in Chrome, we'll just detect this case
- // explicitly
- if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
- return true;
- }
-
- // Internet Explorer and Edge do not support colors.
- if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
- return false;
- }
-
- // Is webkit? http://stackoverflow.com/a/16459606/376773
- // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
- return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
- // Is firebug? http://stackoverflow.com/a/398120/376773
- (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
- // Is firefox >= v31?
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
- // Double check webkit in userAgent just in case we are in a worker
- (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
-}
-
-/**
- * Colorize log arguments if enabled.
- *
- * @api public
- */
-
-function formatArgs(args) {
- args[0] = (this.useColors ? '%c' : '') +
- this.namespace +
- (this.useColors ? ' %c' : ' ') +
- args[0] +
- (this.useColors ? '%c ' : ' ') +
- '+' + module.exports.humanize(this.diff);
-
- if (!this.useColors) {
- return;
- }
-
- const c = 'color: ' + this.color;
- args.splice(1, 0, c, 'color: inherit');
-
- // The final "%c" is somewhat tricky, because there could be other
- // arguments passed either before or after the %c, so we need to
- // figure out the correct index to insert the CSS into
- let index = 0;
- let lastC = 0;
- args[0].replace(/%[a-zA-Z%]/g, match => {
- if (match === '%%') {
- return;
- }
- index++;
- if (match === '%c') {
- // We only are interested in the *last* %c
- // (the user may have provided their own)
- lastC = index;
- }
- });
-
- args.splice(lastC, 0, c);
-}
-
-/**
- * Invokes `console.debug()` when available.
- * No-op when `console.debug` is not a "function".
- * If `console.debug` is not available, falls back
- * to `console.log`.
- *
- * @api public
- */
-exports.log = console.debug || console.log || (() => {});
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-function save(namespaces) {
- try {
- if (namespaces) {
- exports.storage.setItem('debug', namespaces);
- } else {
- exports.storage.removeItem('debug');
- }
- } catch (error) {
- // Swallow
- // XXX (@Qix-) should we be logging these?
- }
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-function load() {
- let r;
- try {
- r = exports.storage.getItem('debug');
- } catch (error) {
- // Swallow
- // XXX (@Qix-) should we be logging these?
- }
-
- // If debug isn't set in LS, and we're in Electron, try to load $DEBUG
- if (!r && typeof process !== 'undefined' && 'env' in process) {
- r = process.env.DEBUG;
- }
-
- return r;
-}
-
-/**
- * Localstorage attempts to return the localstorage.
- *
- * This is necessary because safari throws
- * when a user disables cookies/localstorage
- * and you attempt to access it.
- *
- * @return {LocalStorage}
- * @api private
- */
-
-function localstorage() {
- try {
- // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
- // The Browser also has localStorage in the global context.
- return localStorage;
- } catch (error) {
- // Swallow
- // XXX (@Qix-) should we be logging these?
- }
-}
-
-module.exports = require('./common')(exports);
-
-const {formatters} = module.exports;
-
-/**
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
- */
-
-formatters.j = function (v) {
- try {
- return JSON.stringify(v);
- } catch (error) {
- return '[UnexpectedJSONParseError]: ' + error.message;
- }
-};
diff --git a/includes/search/node_modules/debug/src/common.js b/includes/search/node_modules/debug/src/common.js
deleted file mode 100644
index e3291b2..0000000
--- a/includes/search/node_modules/debug/src/common.js
+++ /dev/null
@@ -1,274 +0,0 @@
-
-/**
- * This is the common logic for both the Node.js and web browser
- * implementations of `debug()`.
- */
-
-function setup(env) {
- createDebug.debug = createDebug;
- createDebug.default = createDebug;
- createDebug.coerce = coerce;
- createDebug.disable = disable;
- createDebug.enable = enable;
- createDebug.enabled = enabled;
- createDebug.humanize = require('ms');
- createDebug.destroy = destroy;
-
- Object.keys(env).forEach(key => {
- createDebug[key] = env[key];
- });
-
- /**
- * The currently active debug mode names, and names to skip.
- */
-
- createDebug.names = [];
- createDebug.skips = [];
-
- /**
- * Map of special "%n" handling functions, for the debug "format" argument.
- *
- * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
- */
- createDebug.formatters = {};
-
- /**
- * Selects a color for a debug namespace
- * @param {String} namespace The namespace string for the debug instance to be colored
- * @return {Number|String} An ANSI color code for the given namespace
- * @api private
- */
- function selectColor(namespace) {
- let hash = 0;
-
- for (let i = 0; i < namespace.length; i++) {
- hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
- hash |= 0; // Convert to 32bit integer
- }
-
- return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
- }
- createDebug.selectColor = selectColor;
-
- /**
- * Create a debugger with the given `namespace`.
- *
- * @param {String} namespace
- * @return {Function}
- * @api public
- */
- function createDebug(namespace) {
- let prevTime;
- let enableOverride = null;
- let namespacesCache;
- let enabledCache;
-
- function debug(...args) {
- // Disabled?
- if (!debug.enabled) {
- return;
- }
-
- const self = debug;
-
- // Set `diff` timestamp
- const curr = Number(new Date());
- const ms = curr - (prevTime || curr);
- self.diff = ms;
- self.prev = prevTime;
- self.curr = curr;
- prevTime = curr;
-
- args[0] = createDebug.coerce(args[0]);
-
- if (typeof args[0] !== 'string') {
- // Anything else let's inspect with %O
- args.unshift('%O');
- }
-
- // Apply any `formatters` transformations
- let index = 0;
- args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
- // If we encounter an escaped % then don't increase the array index
- if (match === '%%') {
- return '%';
- }
- index++;
- const formatter = createDebug.formatters[format];
- if (typeof formatter === 'function') {
- const val = args[index];
- match = formatter.call(self, val);
-
- // Now we need to remove `args[index]` since it's inlined in the `format`
- args.splice(index, 1);
- index--;
- }
- return match;
- });
-
- // Apply env-specific formatting (colors, etc.)
- createDebug.formatArgs.call(self, args);
-
- const logFn = self.log || createDebug.log;
- logFn.apply(self, args);
- }
-
- debug.namespace = namespace;
- debug.useColors = createDebug.useColors();
- debug.color = createDebug.selectColor(namespace);
- debug.extend = extend;
- debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
-
- Object.defineProperty(debug, 'enabled', {
- enumerable: true,
- configurable: false,
- get: () => {
- if (enableOverride !== null) {
- return enableOverride;
- }
- if (namespacesCache !== createDebug.namespaces) {
- namespacesCache = createDebug.namespaces;
- enabledCache = createDebug.enabled(namespace);
- }
-
- return enabledCache;
- },
- set: v => {
- enableOverride = v;
- }
- });
-
- // Env-specific initialization logic for debug instances
- if (typeof createDebug.init === 'function') {
- createDebug.init(debug);
- }
-
- return debug;
- }
-
- function extend(namespace, delimiter) {
- const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
- newDebug.log = this.log;
- return newDebug;
- }
-
- /**
- * Enables a debug mode by namespaces. This can include modes
- * separated by a colon and wildcards.
- *
- * @param {String} namespaces
- * @api public
- */
- function enable(namespaces) {
- createDebug.save(namespaces);
- createDebug.namespaces = namespaces;
-
- createDebug.names = [];
- createDebug.skips = [];
-
- let i;
- const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
- const len = split.length;
-
- for (i = 0; i < len; i++) {
- if (!split[i]) {
- // ignore empty strings
- continue;
- }
-
- namespaces = split[i].replace(/\*/g, '.*?');
-
- if (namespaces[0] === '-') {
- createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
- } else {
- createDebug.names.push(new RegExp('^' + namespaces + '$'));
- }
- }
- }
-
- /**
- * Disable debug output.
- *
- * @return {String} namespaces
- * @api public
- */
- function disable() {
- const namespaces = [
- ...createDebug.names.map(toNamespace),
- ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
- ].join(',');
- createDebug.enable('');
- return namespaces;
- }
-
- /**
- * Returns true if the given mode name is enabled, false otherwise.
- *
- * @param {String} name
- * @return {Boolean}
- * @api public
- */
- function enabled(name) {
- if (name[name.length - 1] === '*') {
- return true;
- }
-
- let i;
- let len;
-
- for (i = 0, len = createDebug.skips.length; i < len; i++) {
- if (createDebug.skips[i].test(name)) {
- return false;
- }
- }
-
- for (i = 0, len = createDebug.names.length; i < len; i++) {
- if (createDebug.names[i].test(name)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Convert regexp to namespace
- *
- * @param {RegExp} regxep
- * @return {String} namespace
- * @api private
- */
- function toNamespace(regexp) {
- return regexp.toString()
- .substring(2, regexp.toString().length - 2)
- .replace(/\.\*\?$/, '*');
- }
-
- /**
- * Coerce `val`.
- *
- * @param {Mixed} val
- * @return {Mixed}
- * @api private
- */
- function coerce(val) {
- if (val instanceof Error) {
- return val.stack || val.message;
- }
- return val;
- }
-
- /**
- * XXX DO NOT USE. This is a temporary stub function.
- * XXX It WILL be removed in the next major release.
- */
- function destroy() {
- console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
- }
-
- createDebug.enable(createDebug.load());
-
- return createDebug;
-}
-
-module.exports = setup;
diff --git a/includes/search/node_modules/debug/src/index.js b/includes/search/node_modules/debug/src/index.js
deleted file mode 100644
index bf4c57f..0000000
--- a/includes/search/node_modules/debug/src/index.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Detect Electron renderer / nwjs process, which is node, but we should
- * treat as a browser.
- */
-
-if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
- module.exports = require('./browser.js');
-} else {
- module.exports = require('./node.js');
-}
diff --git a/includes/search/node_modules/debug/src/node.js b/includes/search/node_modules/debug/src/node.js
deleted file mode 100644
index 79bc085..0000000
--- a/includes/search/node_modules/debug/src/node.js
+++ /dev/null
@@ -1,263 +0,0 @@
-/**
- * Module dependencies.
- */
-
-const tty = require('tty');
-const util = require('util');
-
-/**
- * This is the Node.js implementation of `debug()`.
- */
-
-exports.init = init;
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-exports.destroy = util.deprecate(
- () => {},
- 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
-);
-
-/**
- * Colors.
- */
-
-exports.colors = [6, 2, 3, 4, 5, 1];
-
-try {
- // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
- // eslint-disable-next-line import/no-extraneous-dependencies
- const supportsColor = require('supports-color');
-
- if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
- exports.colors = [
- 20,
- 21,
- 26,
- 27,
- 32,
- 33,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 56,
- 57,
- 62,
- 63,
- 68,
- 69,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 92,
- 93,
- 98,
- 99,
- 112,
- 113,
- 128,
- 129,
- 134,
- 135,
- 148,
- 149,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 178,
- 179,
- 184,
- 185,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 214,
- 215,
- 220,
- 221
- ];
- }
-} catch (error) {
- // Swallow - we only care if `supports-color` is available; it doesn't have to be.
-}
-
-/**
- * Build up the default `inspectOpts` object from the environment variables.
- *
- * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
- */
-
-exports.inspectOpts = Object.keys(process.env).filter(key => {
- return /^debug_/i.test(key);
-}).reduce((obj, key) => {
- // Camel-case
- const prop = key
- .substring(6)
- .toLowerCase()
- .replace(/_([a-z])/g, (_, k) => {
- return k.toUpperCase();
- });
-
- // Coerce string value into JS value
- let val = process.env[key];
- if (/^(yes|on|true|enabled)$/i.test(val)) {
- val = true;
- } else if (/^(no|off|false|disabled)$/i.test(val)) {
- val = false;
- } else if (val === 'null') {
- val = null;
- } else {
- val = Number(val);
- }
-
- obj[prop] = val;
- return obj;
-}, {});
-
-/**
- * Is stdout a TTY? Colored output is enabled when `true`.
- */
-
-function useColors() {
- return 'colors' in exports.inspectOpts ?
- Boolean(exports.inspectOpts.colors) :
- tty.isatty(process.stderr.fd);
-}
-
-/**
- * Adds ANSI color escape codes if enabled.
- *
- * @api public
- */
-
-function formatArgs(args) {
- const {namespace: name, useColors} = this;
-
- if (useColors) {
- const c = this.color;
- const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
- const prefix = ` ${colorCode};1m${name} \u001B[0m`;
-
- args[0] = prefix + args[0].split('\n').join('\n' + prefix);
- args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
- } else {
- args[0] = getDate() + name + ' ' + args[0];
- }
-}
-
-function getDate() {
- if (exports.inspectOpts.hideDate) {
- return '';
- }
- return new Date().toISOString() + ' ';
-}
-
-/**
- * Invokes `util.format()` with the specified arguments and writes to stderr.
- */
-
-function log(...args) {
- return process.stderr.write(util.format(...args) + '\n');
-}
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-function save(namespaces) {
- if (namespaces) {
- process.env.DEBUG = namespaces;
- } else {
- // If you set a process.env field to null or undefined, it gets cast to the
- // string 'null' or 'undefined'. Just delete instead.
- delete process.env.DEBUG;
- }
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-
-function load() {
- return process.env.DEBUG;
-}
-
-/**
- * Init logic for `debug` instances.
- *
- * Create a new `inspectOpts` object in case `useColors` is set
- * differently for a particular `debug` instance.
- */
-
-function init(debug) {
- debug.inspectOpts = {};
-
- const keys = Object.keys(exports.inspectOpts);
- for (let i = 0; i < keys.length; i++) {
- debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
- }
-}
-
-module.exports = require('./common')(exports);
-
-const {formatters} = module.exports;
-
-/**
- * Map %o to `util.inspect()`, all on a single line.
- */
-
-formatters.o = function (v) {
- this.inspectOpts.colors = this.useColors;
- return util.inspect(v, this.inspectOpts)
- .split('\n')
- .map(str => str.trim())
- .join(' ');
-};
-
-/**
- * Map %O to `util.inspect()`, allowing multiple lines if needed.
- */
-
-formatters.O = function (v) {
- this.inspectOpts.colors = this.useColors;
- return util.inspect(v, this.inspectOpts);
-};
diff --git a/includes/search/node_modules/decompress-response/index.d.ts b/includes/search/node_modules/decompress-response/index.d.ts
deleted file mode 100644
index c0be175..0000000
--- a/includes/search/node_modules/decompress-response/index.d.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-/// <reference types="node"/>
-import {IncomingMessage} from 'http';
-
-/**
-Decompress a HTTP response if needed.
-
-@param response - The HTTP incoming stream with compressed data.
-@returns The decompressed HTTP response stream.
-
-@example
-```
-import {http} from 'http';
-import decompressResponse = require('decompress-response');
-
-http.get('https://sindresorhus.com', response => {
- response = decompressResponse(response);
-});
-```
-*/
-declare function decompressResponse(response: IncomingMessage): IncomingMessage;
-
-export = decompressResponse;
diff --git a/includes/search/node_modules/decompress-response/index.js b/includes/search/node_modules/decompress-response/index.js
deleted file mode 100644
index c861036..0000000
--- a/includes/search/node_modules/decompress-response/index.js
+++ /dev/null
@@ -1,58 +0,0 @@
-'use strict';
-const {Transform, PassThrough} = require('stream');
-const zlib = require('zlib');
-const mimicResponse = require('mimic-response');
-
-module.exports = response => {
- const contentEncoding = (response.headers['content-encoding'] || '').toLowerCase();
-
- if (!['gzip', 'deflate', 'br'].includes(contentEncoding)) {
- return response;
- }
-
- // TODO: Remove this when targeting Node.js 12.
- const isBrotli = contentEncoding === 'br';
- if (isBrotli && typeof zlib.createBrotliDecompress !== 'function') {
- response.destroy(new Error('Brotli is not supported on Node.js < 12'));
- return response;
- }
-
- let isEmpty = true;
-
- const checker = new Transform({
- transform(data, _encoding, callback) {
- isEmpty = false;
-
- callback(null, data);
- },
-
- flush(callback) {
- callback();
- }
- });
-
- const finalStream = new PassThrough({
- autoDestroy: false,
- destroy(error, callback) {
- response.destroy();
-
- callback(error);
- }
- });
-
- const decompressStream = isBrotli ? zlib.createBrotliDecompress() : zlib.createUnzip();
-
- decompressStream.once('error', error => {
- if (isEmpty && !response.readable) {
- finalStream.end();
- return;
- }
-
- finalStream.destroy(error);
- });
-
- mimicResponse(response, finalStream);
- response.pipe(checker).pipe(decompressStream).pipe(finalStream);
-
- return finalStream;
-};
diff --git a/includes/search/node_modules/decompress-response/license b/includes/search/node_modules/decompress-response/license
deleted file mode 100644
index fa7ceba..0000000
--- a/includes/search/node_modules/decompress-response/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/decompress-response/package.json b/includes/search/node_modules/decompress-response/package.json
deleted file mode 100644
index 57df889..0000000
--- a/includes/search/node_modules/decompress-response/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "decompress-response",
- "version": "6.0.0",
- "description": "Decompress a HTTP response if needed",
- "license": "MIT",
- "repository": "sindresorhus/decompress-response",
- "funding": "https://github.com/sponsors/sindresorhus",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "https://sindresorhus.com"
- },
- "engines": {
- "node": ">=10"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "decompress",
- "response",
- "http",
- "https",
- "zlib",
- "gzip",
- "zip",
- "deflate",
- "unzip",
- "ungzip",
- "incoming",
- "message",
- "stream",
- "compressed",
- "brotli"
- ],
- "dependencies": {
- "mimic-response": "^3.1.0"
- },
- "devDependencies": {
- "@types/node": "^14.0.1",
- "ava": "^2.2.0",
- "get-stream": "^5.0.0",
- "pify": "^5.0.0",
- "tsd": "^0.11.0",
- "xo": "^0.30.0"
- },
- "xo": {
- "rules": {
- "@typescript-eslint/prefer-readonly-parameter-types": "off"
- }
- }
-}
diff --git a/includes/search/node_modules/decompress-response/readme.md b/includes/search/node_modules/decompress-response/readme.md
deleted file mode 100644
index 58523ef..0000000
--- a/includes/search/node_modules/decompress-response/readme.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# decompress-response [![Build Status](https://travis-ci.com/sindresorhus/decompress-response.svg?branch=master)](https://travis-ci.com/sindresorhus/decompress-response)
-
-> Decompress a HTTP response if needed
-
-Decompresses the [response](https://nodejs.org/api/http.html#http_class_http_incomingmessage) from [`http.request`](https://nodejs.org/api/http.html#http_http_request_options_callback) if it's gzipped, deflated or compressed with Brotli, otherwise just passes it through.
-
-Used by [`got`](https://github.com/sindresorhus/got).
-
-## Install
-
-```
-$ npm install decompress-response
-```
-
-## Usage
-
-```js
-const http = require('http');
-const decompressResponse = require('decompress-response');
-
-http.get('https://sindresorhus.com', response => {
- response = decompressResponse(response);
-});
-```
-
-## API
-
-### decompressResponse(response)
-
-Returns the decompressed HTTP response stream.
-
-#### response
-
-Type: [`http.IncomingMessage`](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
-
-The HTTP incoming stream with compressed data.
-
----
-
-<div align="center">
- <b>
- <a href="https://tidelift.com/subscription/pkg/npm-decompress-response?utm_source=npm-decompress-response&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
- </b>
- <br>
- <sub>
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
- </sub>
-</div>
diff --git a/includes/search/node_modules/deep-extend/CHANGELOG.md b/includes/search/node_modules/deep-extend/CHANGELOG.md
deleted file mode 100644
index dd13ec1..0000000
--- a/includes/search/node_modules/deep-extend/CHANGELOG.md
+++ /dev/null
@@ -1,46 +0,0 @@
-Changelog
-=========
-
-v0.6.0
-------
-
-- Updated "devDependencies" versions to fix vulnerability alerts
-- Dropped support of io.js and node.js v0.12.x and lower since new versions of
- "devDependencies" couldn't work with those old node.js versions
- (minimal supported version of node.js now is v4.0.0)
-
-v0.5.1
-------
-
-- Fix prototype pollution vulnerability (thanks to @mwakerman for the PR)
-- Avoid using deprecated Buffer API (thanks to @ChALkeR for the PR)
-
-v0.5.0
-------
-
-- Auto-testing provided by Travis CI;
-- Support older Node.JS versions (`v0.11.x` and `v0.10.x`);
-- Removed tests files from npm package.
-
-v0.4.2
-------
-
-- Fix for `null` as an argument.
-
-v0.4.1
-------
-
-- Removed test code from <b>npm</b> package
- ([see pull request #21](https://github.com/unclechu/node-deep-extend/pull/21));
-- Increased minimal version of Node from `0.4.0` to `0.12.0`
- (because can't run tests on lesser version anyway).
-
-v0.4.0
-------
-
-- **WARNING!** Broken backward compatibility with `v0.3.x`;
-- Fixed bug with extending arrays instead of cloning;
-- Deep cloning for arrays;
-- Check for own property;
-- Fixed some documentation issues;
-- Strict JS mode.
diff --git a/includes/search/node_modules/deep-extend/LICENSE b/includes/search/node_modules/deep-extend/LICENSE
deleted file mode 100644
index 5c58916..0000000
--- a/includes/search/node_modules/deep-extend/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2013-2018, Viacheslav Lotsmanov
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/deep-extend/README.md b/includes/search/node_modules/deep-extend/README.md
deleted file mode 100644
index 67c7fc0..0000000
--- a/includes/search/node_modules/deep-extend/README.md
+++ /dev/null
@@ -1,91 +0,0 @@
-Deep Extend
-===========
-
-Recursive object extending.
-
-[![Build Status](https://api.travis-ci.org/unclechu/node-deep-extend.svg?branch=master)](https://travis-ci.org/unclechu/node-deep-extend)
-
-[![NPM](https://nodei.co/npm/deep-extend.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/deep-extend/)
-
-Install
--------
-
-```bash
-$ npm install deep-extend
-```
-
-Usage
------
-
-```javascript
-var deepExtend = require('deep-extend');
-var obj1 = {
- a: 1,
- b: 2,
- d: {
- a: 1,
- b: [],
- c: { test1: 123, test2: 321 }
- },
- f: 5,
- g: 123,
- i: 321,
- j: [1, 2]
-};
-var obj2 = {
- b: 3,
- c: 5,
- d: {
- b: { first: 'one', second: 'two' },
- c: { test2: 222 }
- },
- e: { one: 1, two: 2 },
- f: [],
- g: (void 0),
- h: /abc/g,
- i: null,
- j: [3, 4]
-};
-
-deepExtend(obj1, obj2);
-
-console.log(obj1);
-/*
-{ a: 1,
- b: 3,
- d:
- { a: 1,
- b: { first: 'one', second: 'two' },
- c: { test1: 123, test2: 222 } },
- f: [],
- g: undefined,
- c: 5,
- e: { one: 1, two: 2 },
- h: /abc/g,
- i: null,
- j: [3, 4] }
-*/
-```
-
-Unit testing
-------------
-
-```bash
-$ npm test
-```
-
-Changelog
----------
-
-[CHANGELOG.md](./CHANGELOG.md)
-
-Any issues?
------------
-
-Please, report about issues
-[here](https://github.com/unclechu/node-deep-extend/issues).
-
-License
--------
-
-[MIT](./LICENSE)
diff --git a/includes/search/node_modules/deep-extend/index.js b/includes/search/node_modules/deep-extend/index.js
deleted file mode 100644
index 762d81e..0000000
--- a/includes/search/node_modules/deep-extend/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./lib/deep-extend');
diff --git a/includes/search/node_modules/deep-extend/lib/deep-extend.js b/includes/search/node_modules/deep-extend/lib/deep-extend.js
deleted file mode 100644
index 651fd8d..0000000
--- a/includes/search/node_modules/deep-extend/lib/deep-extend.js
+++ /dev/null
@@ -1,150 +0,0 @@
-/*!
- * @description Recursive object extending
- * @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>
- * @license MIT
- *
- * The MIT License (MIT)
- *
- * Copyright (c) 2013-2018 Viacheslav Lotsmanov
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy of
- * this software and associated documentation files (the "Software"), to deal in
- * the Software without restriction, including without limitation the rights to
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
- * the Software, and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
- * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-'use strict';
-
-function isSpecificValue(val) {
- return (
- val instanceof Buffer
- || val instanceof Date
- || val instanceof RegExp
- ) ? true : false;
-}
-
-function cloneSpecificValue(val) {
- if (val instanceof Buffer) {
- var x = Buffer.alloc
- ? Buffer.alloc(val.length)
- : new Buffer(val.length);
- val.copy(x);
- return x;
- } else if (val instanceof Date) {
- return new Date(val.getTime());
- } else if (val instanceof RegExp) {
- return new RegExp(val);
- } else {
- throw new Error('Unexpected situation');
- }
-}
-
-/**
- * Recursive cloning array.
- */
-function deepCloneArray(arr) {
- var clone = [];
- arr.forEach(function (item, index) {
- if (typeof item === 'object' && item !== null) {
- if (Array.isArray(item)) {
- clone[index] = deepCloneArray(item);
- } else if (isSpecificValue(item)) {
- clone[index] = cloneSpecificValue(item);
- } else {
- clone[index] = deepExtend({}, item);
- }
- } else {
- clone[index] = item;
- }
- });
- return clone;
-}
-
-function safeGetProperty(object, property) {
- return property === '__proto__' ? undefined : object[property];
-}
-
-/**
- * Extening object that entered in first argument.
- *
- * Returns extended object or false if have no target object or incorrect type.
- *
- * If you wish to clone source object (without modify it), just use empty new
- * object as first argument, like this:
- * deepExtend({}, yourObj_1, [yourObj_N]);
- */
-var deepExtend = module.exports = function (/*obj_1, [obj_2], [obj_N]*/) {
- if (arguments.length < 1 || typeof arguments[0] !== 'object') {
- return false;
- }
-
- if (arguments.length < 2) {
- return arguments[0];
- }
-
- var target = arguments[0];
-
- // convert arguments to array and cut off target object
- var args = Array.prototype.slice.call(arguments, 1);
-
- var val, src, clone;
-
- args.forEach(function (obj) {
- // skip argument if isn't an object, is null, or is an array
- if (typeof obj !== 'object' || obj === null || Array.isArray(obj)) {
- return;
- }
-
- Object.keys(obj).forEach(function (key) {
- src = safeGetProperty(target, key); // source value
- val = safeGetProperty(obj, key); // new value
-
- // recursion prevention
- if (val === target) {
- return;
-
- /**
- * if new value isn't object then just overwrite by new value
- * instead of extending.
- */
- } else if (typeof val !== 'object' || val === null) {
- target[key] = val;
- return;
-
- // just clone arrays (and recursive clone objects inside)
- } else if (Array.isArray(val)) {
- target[key] = deepCloneArray(val);
- return;
-
- // custom cloning and overwrite for specific objects
- } else if (isSpecificValue(val)) {
- target[key] = cloneSpecificValue(val);
- return;
-
- // overwrite by new value if source isn't object or array
- } else if (typeof src !== 'object' || src === null || Array.isArray(src)) {
- target[key] = deepExtend({}, val);
- return;
-
- // source value and new value is objects both, extending...
- } else {
- target[key] = deepExtend(src, val);
- return;
- }
- });
- });
-
- return target;
-};
diff --git a/includes/search/node_modules/deep-extend/package.json b/includes/search/node_modules/deep-extend/package.json
deleted file mode 100644
index 5f2195f..0000000
--- a/includes/search/node_modules/deep-extend/package.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "name": "deep-extend",
- "description": "Recursive object extending",
- "license": "MIT",
- "version": "0.6.0",
- "homepage": "https://github.com/unclechu/node-deep-extend",
- "keywords": [
- "deep-extend",
- "extend",
- "deep",
- "recursive",
- "xtend",
- "clone",
- "merge",
- "json"
- ],
- "licenses": [
- {
- "type": "MIT",
- "url": "https://raw.githubusercontent.com/unclechu/node-deep-extend/master/LICENSE"
- }
- ],
- "repository": {
- "type": "git",
- "url": "git://github.com/unclechu/node-deep-extend.git"
- },
- "author": "Viacheslav Lotsmanov <lotsmanov89@gmail.com>",
- "bugs": "https://github.com/unclechu/node-deep-extend/issues",
- "contributors": [
- {
- "name": "Romain Prieto",
- "url": "https://github.com/rprieto"
- },
- {
- "name": "Max Maximov",
- "url": "https://github.com/maxmaximov"
- },
- {
- "name": "Marshall Bowers",
- "url": "https://github.com/maxdeviant"
- },
- {
- "name": "Misha Wakerman",
- "url": "https://github.com/mwakerman"
- }
- ],
- "main": "lib/deep-extend.js",
- "engines": {
- "node": ">=4.0.0"
- },
- "scripts": {
- "test": "./node_modules/.bin/mocha"
- },
- "devDependencies": {
- "mocha": "5.2.0",
- "should": "13.2.1"
- },
- "files": [
- "index.js",
- "lib/"
- ]
-}
diff --git a/includes/search/node_modules/detect-libc/LICENSE b/includes/search/node_modules/detect-libc/LICENSE
deleted file mode 100644
index 8dada3e..0000000
--- a/includes/search/node_modules/detect-libc/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright {yyyy} {name of copyright owner}
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/includes/search/node_modules/detect-libc/README.md b/includes/search/node_modules/detect-libc/README.md
deleted file mode 100644
index cd5972f..0000000
--- a/includes/search/node_modules/detect-libc/README.md
+++ /dev/null
@@ -1,160 +0,0 @@
-# detect-libc
-
-Node.js module to detect details of the C standard library (libc)
-implementation provided by a given Linux system.
-
-Currently supports detection of GNU glibc and MUSL libc.
-
-Provides asychronous and synchronous functions for the
-family (e.g. `glibc`, `musl`) and version (e.g. `1.23`, `1.2.3`).
-
-For previous v1.x releases, please see the
-[v1](https://github.com/lovell/detect-libc/tree/v1) branch.
-
-## Install
-
-```sh
-npm install detect-libc
-```
-
-## API
-
-### GLIBC
-
-```ts
-const GLIBC: string = 'glibc';
-```
-
-A String constant containing the value `glibc`.
-
-### MUSL
-
-```ts
-const MUSL: string = 'musl';
-```
-
-A String constant containing the value `musl`.
-
-### family
-
-```ts
-function family(): Promise<string | null>;
-```
-
-Resolves asychronously with:
-
-* `glibc` or `musl` when the libc family can be determined
-* `null` when the libc family cannot be determined
-* `null` when run on a non-Linux platform
-
-```js
-const { family, GLIBC, MUSL } = require('detect-libc');
-
-switch (await family()) {
- case GLIBC: ...
- case MUSL: ...
- case null: ...
-}
-```
-
-### familySync
-
-```ts
-function familySync(): string | null;
-```
-
-Synchronous version of `family()`.
-
-```js
-const { familySync, GLIBC, MUSL } = require('detect-libc');
-
-switch (familySync()) {
- case GLIBC: ...
- case MUSL: ...
- case null: ...
-}
-```
-
-### version
-
-```ts
-function version(): Promise<string | null>;
-```
-
-Resolves asychronously with:
-
-* The version when it can be determined
-* `null` when the libc family cannot be determined
-* `null` when run on a non-Linux platform
-
-```js
-const { version } = require('detect-libc');
-
-const v = await version();
-if (v) {
- const [major, minor, patch] = v.split('.');
-}
-```
-
-### versionSync
-
-```ts
-function versionSync(): string | null;
-```
-
-Synchronous version of `version()`.
-
-```js
-const { versionSync } = require('detect-libc');
-
-const v = versionSync();
-if (v) {
- const [major, minor, patch] = v.split('.');
-}
-```
-
-### isNonGlibcLinux
-
-```ts
-function isNonGlibcLinux(): Promise<boolean>;
-```
-
-Resolves asychronously with:
-
-* `false` when the libc family is `glibc`
-* `true` when the libc family is not `glibc`
-* `false` when run on a non-Linux platform
-
-```js
-const { isNonGlibcLinux } = require('detect-libc');
-
-if (await isNonGlibcLinux()) { ... }
-```
-
-### isNonGlibcLinuxSync
-
-```ts
-function isNonGlibcLinuxSync(): boolean;
-```
-
-Synchronous version of `isNonGlibcLinux()`.
-
-```js
-const { isNonGlibcLinuxSync } = require('detect-libc');
-
-if (isNonGlibcLinuxSync()) { ... }
-```
-
-## Licensing
-
-Copyright 2017, 2022 Lovell Fuller
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0.html)
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/includes/search/node_modules/detect-libc/index.d.ts b/includes/search/node_modules/detect-libc/index.d.ts
deleted file mode 100644
index aabe808..0000000
--- a/includes/search/node_modules/detect-libc/index.d.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export const GLIBC: 'glibc';
-export const MUSL: 'musl';
-
-export function family(): Promise<string | null>;
-export function familySync(): string | null;
-
-export function isNonGlibcLinux(): Promise<boolean>;
-export function isNonGlibcLinuxSync(): boolean;
-
-export function version(): Promise<string | null>;
-export function versionSync(): string | null;
diff --git a/includes/search/node_modules/detect-libc/lib/detect-libc.js b/includes/search/node_modules/detect-libc/lib/detect-libc.js
deleted file mode 100644
index 5b66e61..0000000
--- a/includes/search/node_modules/detect-libc/lib/detect-libc.js
+++ /dev/null
@@ -1,178 +0,0 @@
-'use strict';
-
-const childProcess = require('child_process');
-const { isLinux, getReport } = require('./process');
-
-const command = 'getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true';
-let commandOut = '';
-
-const safeCommand = () => {
- if (!commandOut) {
- return new Promise((resolve) => {
- childProcess.exec(command, (err, out) => {
- commandOut = err ? ' ' : out;
- resolve(commandOut);
- });
- });
- }
- return commandOut;
-};
-
-const safeCommandSync = () => {
- if (!commandOut) {
- try {
- commandOut = childProcess.execSync(command, { encoding: 'utf8' });
- } catch (_err) {
- commandOut = ' ';
- }
- }
- return commandOut;
-};
-
-/**
- * A String constant containing the value `glibc`.
- * @type {string}
- * @public
- */
-const GLIBC = 'glibc';
-
-/**
- * A String constant containing the value `musl`.
- * @type {string}
- * @public
- */
-const MUSL = 'musl';
-
-const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-');
-
-const familyFromReport = () => {
- const report = getReport();
- if (report.header && report.header.glibcVersionRuntime) {
- return GLIBC;
- }
- if (Array.isArray(report.sharedObjects)) {
- if (report.sharedObjects.some(isFileMusl)) {
- return MUSL;
- }
- }
- return null;
-};
-
-const familyFromCommand = (out) => {
- const [getconf, ldd1] = out.split(/[\r\n]+/);
- if (getconf && getconf.includes(GLIBC)) {
- return GLIBC;
- }
- if (ldd1 && ldd1.includes(MUSL)) {
- return MUSL;
- }
- return null;
-};
-
-/**
- * Resolves with the libc family when it can be determined, `null` otherwise.
- * @returns {Promise<?string>}
- */
-const family = async () => {
- let family = null;
- if (isLinux()) {
- family = familyFromReport();
- if (!family) {
- const out = await safeCommand();
- family = familyFromCommand(out);
- }
- }
- return family;
-};
-
-/**
- * Returns the libc family when it can be determined, `null` otherwise.
- * @returns {?string}
- */
-const familySync = () => {
- let family = null;
- if (isLinux()) {
- family = familyFromReport();
- if (!family) {
- const out = safeCommandSync();
- family = familyFromCommand(out);
- }
- }
- return family;
-};
-
-/**
- * Resolves `true` only when the platform is Linux and the libc family is not `glibc`.
- * @returns {Promise<boolean>}
- */
-const isNonGlibcLinux = async () => isLinux() && await family() !== GLIBC;
-
-/**
- * Returns `true` only when the platform is Linux and the libc family is not `glibc`.
- * @returns {boolean}
- */
-const isNonGlibcLinuxSync = () => isLinux() && familySync() !== GLIBC;
-
-const versionFromReport = () => {
- const report = getReport();
- if (report.header && report.header.glibcVersionRuntime) {
- return report.header.glibcVersionRuntime;
- }
- return null;
-};
-
-const versionSuffix = (s) => s.trim().split(/\s+/)[1];
-
-const versionFromCommand = (out) => {
- const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/);
- if (getconf && getconf.includes(GLIBC)) {
- return versionSuffix(getconf);
- }
- if (ldd1 && ldd2 && ldd1.includes(MUSL)) {
- return versionSuffix(ldd2);
- }
- return null;
-};
-
-/**
- * Resolves with the libc version when it can be determined, `null` otherwise.
- * @returns {Promise<?string>}
- */
-const version = async () => {
- let version = null;
- if (isLinux()) {
- version = versionFromReport();
- if (!version) {
- const out = await safeCommand();
- version = versionFromCommand(out);
- }
- }
- return version;
-};
-
-/**
- * Returns the libc version when it can be determined, `null` otherwise.
- * @returns {?string}
- */
-const versionSync = () => {
- let version = null;
- if (isLinux()) {
- version = versionFromReport();
- if (!version) {
- const out = safeCommandSync();
- version = versionFromCommand(out);
- }
- }
- return version;
-};
-
-module.exports = {
- GLIBC,
- MUSL,
- family,
- familySync,
- isNonGlibcLinux,
- isNonGlibcLinuxSync,
- version,
- versionSync
-};
diff --git a/includes/search/node_modules/detect-libc/lib/process.js b/includes/search/node_modules/detect-libc/lib/process.js
deleted file mode 100644
index 8d5840f..0000000
--- a/includes/search/node_modules/detect-libc/lib/process.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-const isLinux = () => process.platform === 'linux';
-
-let report = null;
-const getReport = () => {
- if (!report) {
- /* istanbul ignore next */
- report = isLinux() && process.report
- ? process.report.getReport()
- : {};
- }
- return report;
-};
-
-module.exports = { isLinux, getReport };
diff --git a/includes/search/node_modules/detect-libc/package.json b/includes/search/node_modules/detect-libc/package.json
deleted file mode 100644
index aeb7cc1..0000000
--- a/includes/search/node_modules/detect-libc/package.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "detect-libc",
- "version": "2.0.1",
- "description": "Node.js module to detect the C standard library (libc) implementation family and version",
- "main": "lib/detect-libc.js",
- "files": [
- "lib/",
- "index.d.ts"
- ],
- "scripts": {
- "test": "semistandard && nyc --reporter=lcov --check-coverage --branches=100 ava test/unit.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/lovell/detect-libc"
- },
- "keywords": [
- "libc",
- "glibc",
- "musl"
- ],
- "author": "Lovell Fuller <npm@lovell.info>",
- "contributors": [
- "Niklas Salmoukas <niklas@salmoukas.com>"
- ],
- "license": "Apache-2.0",
- "devDependencies": {
- "ava": "^2.4.0",
- "nyc": "^15.1.0",
- "proxyquire": "^2.1.3",
- "semistandard": "^14.2.3"
- },
- "engines": {
- "node": ">=8"
- }
-}
diff --git a/includes/search/node_modules/dir-glob/index.js b/includes/search/node_modules/dir-glob/index.js
deleted file mode 100644
index c21cdf3..0000000
--- a/includes/search/node_modules/dir-glob/index.js
+++ /dev/null
@@ -1,75 +0,0 @@
-'use strict';
-const path = require('path');
-const pathType = require('path-type');
-
-const getExtensions = extensions => extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0];
-
-const getPath = (filepath, cwd) => {
- const pth = filepath[0] === '!' ? filepath.slice(1) : filepath;
- return path.isAbsolute(pth) ? pth : path.join(cwd, pth);
-};
-
-const addExtensions = (file, extensions) => {
- if (path.extname(file)) {
- return `**/${file}`;
- }
-
- return `**/${file}.${getExtensions(extensions)}`;
-};
-
-const getGlob = (directory, options) => {
- if (options.files && !Array.isArray(options.files)) {
- throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof options.files}\``);
- }
-
- if (options.extensions && !Array.isArray(options.extensions)) {
- throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof options.extensions}\``);
- }
-
- if (options.files && options.extensions) {
- return options.files.map(x => path.posix.join(directory, addExtensions(x, options.extensions)));
- }
-
- if (options.files) {
- return options.files.map(x => path.posix.join(directory, `**/${x}`));
- }
-
- if (options.extensions) {
- return [path.posix.join(directory, `**/*.${getExtensions(options.extensions)}`)];
- }
-
- return [path.posix.join(directory, '**')];
-};
-
-module.exports = async (input, options) => {
- options = {
- cwd: process.cwd(),
- ...options
- };
-
- if (typeof options.cwd !== 'string') {
- throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``);
- }
-
- const globs = await Promise.all([].concat(input).map(async x => {
- const isDirectory = await pathType.isDirectory(getPath(x, options.cwd));
- return isDirectory ? getGlob(x, options) : x;
- }));
-
- return [].concat.apply([], globs); // eslint-disable-line prefer-spread
-};
-
-module.exports.sync = (input, options) => {
- options = {
- cwd: process.cwd(),
- ...options
- };
-
- if (typeof options.cwd !== 'string') {
- throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``);
- }
-
- const globs = [].concat(input).map(x => pathType.isDirectorySync(getPath(x, options.cwd)) ? getGlob(x, options) : x);
-
- return [].concat.apply([], globs); // eslint-disable-line prefer-spread
-};
diff --git a/includes/search/node_modules/dir-glob/license b/includes/search/node_modules/dir-glob/license
deleted file mode 100644
index db6bc32..0000000
--- a/includes/search/node_modules/dir-glob/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Kevin Mårtensson <kevinmartensson@gmail.com> (github.com/kevva)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/dir-glob/package.json b/includes/search/node_modules/dir-glob/package.json
deleted file mode 100644
index b0a397e..0000000
--- a/includes/search/node_modules/dir-glob/package.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "dir-glob",
- "version": "3.0.1",
- "description": "Convert directories to glob compatible strings",
- "license": "MIT",
- "repository": "kevva/dir-glob",
- "author": {
- "name": "Kevin Mårtensson",
- "email": "kevinmartensson@gmail.com",
- "url": "github.com/kevva"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "convert",
- "directory",
- "extensions",
- "files",
- "glob"
- ],
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "devDependencies": {
- "ava": "^2.1.0",
- "del": "^4.1.1",
- "make-dir": "^3.0.0",
- "rimraf": "^2.5.0",
- "xo": "^0.24.0"
- }
-}
diff --git a/includes/search/node_modules/dir-glob/readme.md b/includes/search/node_modules/dir-glob/readme.md
deleted file mode 100644
index cb7313f..0000000
--- a/includes/search/node_modules/dir-glob/readme.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# dir-glob [![Build Status](https://travis-ci.org/kevva/dir-glob.svg?branch=master)](https://travis-ci.org/kevva/dir-glob)
-
-> Convert directories to glob compatible strings
-
-
-## Install
-
-```
-$ npm install dir-glob
-```
-
-
-## Usage
-
-```js
-const dirGlob = require('dir-glob');
-
-(async () => {
- console.log(await dirGlob(['index.js', 'test.js', 'fixtures']));
- //=> ['index.js', 'test.js', 'fixtures/**']
-
- console.log(await dirGlob(['index.js', 'inner_folder'], {cwd: 'fixtures'}));
- //=> ['index.js', 'inner_folder/**']
-
- console.log(await dirGlob(['lib/**', 'fixtures'], {
- files: ['test', 'unicorn']
- extensions: ['js']
- }));
- //=> ['lib/**', 'fixtures/**/test.js', 'fixtures/**/unicorn.js']
-
- console.log(await dirGlob(['lib/**', 'fixtures'], {
- files: ['test', 'unicorn', '*.jsx'],
- extensions: ['js', 'png']
- }));
- //=> ['lib/**', 'fixtures/**/test.{js,png}', 'fixtures/**/unicorn.{js,png}', 'fixtures/**/*.jsx']
-})();
-```
-
-
-## API
-
-### dirGlob(input, options?)
-
-Returns a `Promise<string[]>` with globs.
-
-### dirGlob.sync(input, options?)
-
-Returns a `string[]` with globs.
-
-#### input
-
-Type: `string | string[]`
-
-Paths.
-
-#### options
-
-Type: `object`
-
-##### extensions
-
-Type: `string[]`
-
-Append extensions to the end of your globs.
-
-##### files
-
-Type: `string[]`
-
-Only glob for certain files.
-
-##### cwd
-
-Type: `string[]`
-
-Test in specific directory.
diff --git a/includes/search/node_modules/emoji-regex/LICENSE-MIT.txt b/includes/search/node_modules/emoji-regex/LICENSE-MIT.txt
deleted file mode 100644
index a41e0a7..0000000
--- a/includes/search/node_modules/emoji-regex/LICENSE-MIT.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright Mathias Bynens <https://mathiasbynens.be/>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/emoji-regex/README.md b/includes/search/node_modules/emoji-regex/README.md
deleted file mode 100644
index f10e173..0000000
--- a/includes/search/node_modules/emoji-regex/README.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# emoji-regex [![Build status](https://travis-ci.org/mathiasbynens/emoji-regex.svg?branch=master)](https://travis-ci.org/mathiasbynens/emoji-regex)
-
-_emoji-regex_ offers a regular expression to match all emoji symbols (including textual representations of emoji) as per the Unicode Standard.
-
-This repository contains a script that generates this regular expression based on [the data from Unicode v12](https://github.com/mathiasbynens/unicode-12.0.0). Because of this, the regular expression can easily be updated whenever new emoji are added to the Unicode standard.
-
-## Installation
-
-Via [npm](https://www.npmjs.com/):
-
-```bash
-npm install emoji-regex
-```
-
-In [Node.js](https://nodejs.org/):
-
-```js
-const emojiRegex = require('emoji-regex');
-// Note: because the regular expression has the global flag set, this module
-// exports a function that returns the regex rather than exporting the regular
-// expression itself, to make it impossible to (accidentally) mutate the
-// original regular expression.
-
-const text = `
-\u{231A}: ⌚ default emoji presentation character (Emoji_Presentation)
-\u{2194}\u{FE0F}: ↔️ default text presentation character rendered as emoji
-\u{1F469}: 👩 emoji modifier base (Emoji_Modifier_Base)
-\u{1F469}\u{1F3FF}: 👩🏿 emoji modifier base followed by a modifier
-`;
-
-const regex = emojiRegex();
-let match;
-while (match = regex.exec(text)) {
- const emoji = match[0];
- console.log(`Matched sequence ${ emoji } — code points: ${ [...emoji].length }`);
-}
-```
-
-Console output:
-
-```
-Matched sequence ⌚ — code points: 1
-Matched sequence ⌚ — code points: 1
-Matched sequence ↔️ — code points: 2
-Matched sequence ↔️ — code points: 2
-Matched sequence 👩 — code points: 1
-Matched sequence 👩 — code points: 1
-Matched sequence 👩🏿 — code points: 2
-Matched sequence 👩🏿 — code points: 2
-```
-
-To match emoji in their textual representation as well (i.e. emoji that are not `Emoji_Presentation` symbols and that aren’t forced to render as emoji by a variation selector), `require` the other regex:
-
-```js
-const emojiRegex = require('emoji-regex/text.js');
-```
-
-Additionally, in environments which support ES2015 Unicode escapes, you may `require` ES2015-style versions of the regexes:
-
-```js
-const emojiRegex = require('emoji-regex/es2015/index.js');
-const emojiRegexText = require('emoji-regex/es2015/text.js');
-```
-
-## Author
-
-| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") |
-|---|
-| [Mathias Bynens](https://mathiasbynens.be/) |
-
-## License
-
-_emoji-regex_ is available under the [MIT](https://mths.be/mit) license.
diff --git a/includes/search/node_modules/emoji-regex/es2015/index.js b/includes/search/node_modules/emoji-regex/es2015/index.js
deleted file mode 100644
index b4cf3dc..0000000
--- a/includes/search/node_modules/emoji-regex/es2015/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-"use strict";
-
-module.exports = () => {
- // https://mths.be/emoji
- return /\u{1F3F4}\u{E0067}\u{E0062}(?:\u{E0065}\u{E006E}\u{E0067}|\u{E0073}\u{E0063}\u{E0074}|\u{E0077}\u{E006C}\u{E0073})\u{E007F}|\u{1F468}(?:\u{1F3FC}\u200D(?:\u{1F91D}\u200D\u{1F468}\u{1F3FB}|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FF}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}-\u{1F3FE}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FE}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}-\u{1F3FD}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FD}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}\u{1F3FC}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u200D(?:\u2764\uFE0F\u200D(?:\u{1F48B}\u200D)?\u{1F468}|[\u{1F468}\u{1F469}]\u200D(?:\u{1F466}\u200D\u{1F466}|\u{1F467}\u200D[\u{1F466}\u{1F467}])|\u{1F466}\u200D\u{1F466}|\u{1F467}\u200D[\u{1F466}\u{1F467}]|[\u{1F468}\u{1F469}]\u200D[\u{1F466}\u{1F467}]|[\u2695\u2696\u2708]\uFE0F|[\u{1F466}\u{1F467}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|(?:\u{1F3FB}\u200D[\u2695\u2696\u2708]|\u{1F3FF}\u200D[\u2695\u2696\u2708]|\u{1F3FE}\u200D[\u2695\u2696\u2708]|\u{1F3FD}\u200D[\u2695\u2696\u2708]|\u{1F3FC}\u200D[\u2695\u2696\u2708])\uFE0F|\u{1F3FB}\u200D[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}]|[\u{1F3FB}-\u{1F3FF}])|(?:\u{1F9D1}\u{1F3FB}\u200D\u{1F91D}\u200D\u{1F9D1}|\u{1F469}\u{1F3FC}\u200D\u{1F91D}\u200D\u{1F469})\u{1F3FB}|\u{1F9D1}(?:\u{1F3FF}\u200D\u{1F91D}\u200D\u{1F9D1}[\u{1F3FB}-\u{1F3FF}]|\u200D\u{1F91D}\u200D\u{1F9D1})|(?:\u{1F9D1}\u{1F3FE}\u200D\u{1F91D}\u200D\u{1F9D1}|\u{1F469}\u{1F3FF}\u200D\u{1F91D}\u200D[\u{1F468}\u{1F469}])[\u{1F3FB}-\u{1F3FE}]|(?:\u{1F9D1}\u{1F3FC}\u200D\u{1F91D}\u200D\u{1F9D1}|\u{1F469}\u{1F3FD}\u200D\u{1F91D}\u200D\u{1F469})[\u{1F3FB}\u{1F3FC}]|\u{1F469}(?:\u{1F3FE}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}-\u{1F3FD}\u{1F3FF}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FC}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}\u{1F3FD}-\u{1F3FF}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FB}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FC}-\u{1F3FF}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FD}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}\u{1F3FC}\u{1F3FE}\u{1F3FF}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u200D(?:\u2764\uFE0F\u200D(?:\u{1F48B}\u200D[\u{1F468}\u{1F469}]|[\u{1F468}\u{1F469}])|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FF}\u200D[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F469}\u200D\u{1F469}\u200D(?:\u{1F466}\u200D\u{1F466}|\u{1F467}\u200D[\u{1F466}\u{1F467}])|(?:\u{1F9D1}\u{1F3FD}\u200D\u{1F91D}\u200D\u{1F9D1}|\u{1F469}\u{1F3FE}\u200D\u{1F91D}\u200D\u{1F469})[\u{1F3FB}-\u{1F3FD}]|\u{1F469}\u200D\u{1F466}\u200D\u{1F466}|\u{1F469}\u200D\u{1F469}\u200D[\u{1F466}\u{1F467}]|(?:\u{1F441}\uFE0F\u200D\u{1F5E8}|\u{1F469}(?:\u{1F3FF}\u200D[\u2695\u2696\u2708]|\u{1F3FE}\u200D[\u2695\u2696\u2708]|\u{1F3FC}\u200D[\u2695\u2696\u2708]|\u{1F3FB}\u200D[\u2695\u2696\u2708]|\u{1F3FD}\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}]\uFE0F|[\u{1F46F}\u{1F93C}\u{1F9DE}\u{1F9DF}])\u200D[\u2640\u2642]|[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}][\u{1F3FB}-\u{1F3FF}]\u200D[\u2640\u2642]|[\u{1F3C3}\u{1F3C4}\u{1F3CA}\u{1F46E}\u{1F471}\u{1F473}\u{1F477}\u{1F481}\u{1F482}\u{1F486}\u{1F487}\u{1F645}-\u{1F647}\u{1F64B}\u{1F64D}\u{1F64E}\u{1F6A3}\u{1F6B4}-\u{1F6B6}\u{1F926}\u{1F937}-\u{1F939}\u{1F93D}\u{1F93E}\u{1F9B8}\u{1F9B9}\u{1F9CD}-\u{1F9CF}\u{1F9D6}-\u{1F9DD}](?:[\u{1F3FB}-\u{1F3FF}]\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\u{1F3F4}\u200D\u2620)\uFE0F|\u{1F469}\u200D\u{1F467}\u200D[\u{1F466}\u{1F467}]|\u{1F3F3}\uFE0F\u200D\u{1F308}|\u{1F415}\u200D\u{1F9BA}|\u{1F469}\u200D\u{1F466}|\u{1F469}\u200D\u{1F467}|\u{1F1FD}\u{1F1F0}|\u{1F1F4}\u{1F1F2}|\u{1F1F6}\u{1F1E6}|[#\*0-9]\uFE0F\u20E3|\u{1F1E7}[\u{1F1E6}\u{1F1E7}\u{1F1E9}-\u{1F1EF}\u{1F1F1}-\u{1F1F4}\u{1F1F6}-\u{1F1F9}\u{1F1FB}\u{1F1FC}\u{1F1FE}\u{1F1FF}]|\u{1F1F9}[\u{1F1E6}\u{1F1E8}\u{1F1E9}\u{1F1EB}-\u{1F1ED}\u{1F1EF}-\u{1F1F4}\u{1F1F7}\u{1F1F9}\u{1F1FB}\u{1F1FC}\u{1F1FF}]|\u{1F1EA}[\u{1F1E6}\u{1F1E8}\u{1F1EA}\u{1F1EC}\u{1F1ED}\u{1F1F7}-\u{1F1FA}]|\u{1F9D1}[\u{1F3FB}-\u{1F3FF}]|\u{1F1F7}[\u{1F1EA}\u{1F1F4}\u{1F1F8}\u{1F1FA}\u{1F1FC}]|\u{1F469}[\u{1F3FB}-\u{1F3FF}]|\u{1F1F2}[\u{1F1E6}\u{1F1E8}-\u{1F1ED}\u{1F1F0}-\u{1F1FF}]|\u{1F1E6}[\u{1F1E8}-\u{1F1EC}\u{1F1EE}\u{1F1F1}\u{1F1F2}\u{1F1F4}\u{1F1F6}-\u{1F1FA}\u{1F1FC}\u{1F1FD}\u{1F1FF}]|\u{1F1F0}[\u{1F1EA}\u{1F1EC}-\u{1F1EE}\u{1F1F2}\u{1F1F3}\u{1F1F5}\u{1F1F7}\u{1F1FC}\u{1F1FE}\u{1F1FF}]|\u{1F1ED}[\u{1F1F0}\u{1F1F2}\u{1F1F3}\u{1F1F7}\u{1F1F9}\u{1F1FA}]|\u{1F1E9}[\u{1F1EA}\u{1F1EC}\u{1F1EF}\u{1F1F0}\u{1F1F2}\u{1F1F4}\u{1F1FF}]|\u{1F1FE}[\u{1F1EA}\u{1F1F9}]|\u{1F1EC}[\u{1F1E6}\u{1F1E7}\u{1F1E9}-\u{1F1EE}\u{1F1F1}-\u{1F1F3}\u{1F1F5}-\u{1F1FA}\u{1F1FC}\u{1F1FE}]|\u{1F1F8}[\u{1F1E6}-\u{1F1EA}\u{1F1EC}-\u{1F1F4}\u{1F1F7}-\u{1F1F9}\u{1F1FB}\u{1F1FD}-\u{1F1FF}]|\u{1F1EB}[\u{1F1EE}-\u{1F1F0}\u{1F1F2}\u{1F1F4}\u{1F1F7}]|\u{1F1F5}[\u{1F1E6}\u{1F1EA}-\u{1F1ED}\u{1F1F0}-\u{1F1F3}\u{1F1F7}-\u{1F1F9}\u{1F1FC}\u{1F1FE}]|\u{1F1FB}[\u{1F1E6}\u{1F1E8}\u{1F1EA}\u{1F1EC}\u{1F1EE}\u{1F1F3}\u{1F1FA}]|\u{1F1F3}[\u{1F1E6}\u{1F1E8}\u{1F1EA}-\u{1F1EC}\u{1F1EE}\u{1F1F1}\u{1F1F4}\u{1F1F5}\u{1F1F7}\u{1F1FA}\u{1F1FF}]|\u{1F1E8}[\u{1F1E6}\u{1F1E8}\u{1F1E9}\u{1F1EB}-\u{1F1EE}\u{1F1F0}-\u{1F1F5}\u{1F1F7}\u{1F1FA}-\u{1F1FF}]|\u{1F1F1}[\u{1F1E6}-\u{1F1E8}\u{1F1EE}\u{1F1F0}\u{1F1F7}-\u{1F1FB}\u{1F1FE}]|\u{1F1FF}[\u{1F1E6}\u{1F1F2}\u{1F1FC}]|\u{1F1FC}[\u{1F1EB}\u{1F1F8}]|\u{1F1FA}[\u{1F1E6}\u{1F1EC}\u{1F1F2}\u{1F1F3}\u{1F1F8}\u{1F1FE}\u{1F1FF}]|\u{1F1EE}[\u{1F1E8}-\u{1F1EA}\u{1F1F1}-\u{1F1F4}\u{1F1F6}-\u{1F1F9}]|\u{1F1EF}[\u{1F1EA}\u{1F1F2}\u{1F1F4}\u{1F1F5}]|[\u{1F3C3}\u{1F3C4}\u{1F3CA}\u{1F46E}\u{1F471}\u{1F473}\u{1F477}\u{1F481}\u{1F482}\u{1F486}\u{1F487}\u{1F645}-\u{1F647}\u{1F64B}\u{1F64D}\u{1F64E}\u{1F6A3}\u{1F6B4}-\u{1F6B6}\u{1F926}\u{1F937}-\u{1F939}\u{1F93D}\u{1F93E}\u{1F9B8}\u{1F9B9}\u{1F9CD}-\u{1F9CF}\u{1F9D6}-\u{1F9DD}][\u{1F3FB}-\u{1F3FF}]|[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}][\u{1F3FB}-\u{1F3FF}]|[\u261D\u270A-\u270D\u{1F385}\u{1F3C2}\u{1F3C7}\u{1F442}\u{1F443}\u{1F446}-\u{1F450}\u{1F466}\u{1F467}\u{1F46B}-\u{1F46D}\u{1F470}\u{1F472}\u{1F474}-\u{1F476}\u{1F478}\u{1F47C}\u{1F483}\u{1F485}\u{1F4AA}\u{1F574}\u{1F57A}\u{1F590}\u{1F595}\u{1F596}\u{1F64C}\u{1F64F}\u{1F6C0}\u{1F6CC}\u{1F90F}\u{1F918}-\u{1F91C}\u{1F91E}\u{1F91F}\u{1F930}-\u{1F936}\u{1F9B5}\u{1F9B6}\u{1F9BB}\u{1F9D2}-\u{1F9D5}][\u{1F3FB}-\u{1F3FF}]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55\u{1F004}\u{1F0CF}\u{1F18E}\u{1F191}-\u{1F19A}\u{1F1E6}-\u{1F1FF}\u{1F201}\u{1F21A}\u{1F22F}\u{1F232}-\u{1F236}\u{1F238}-\u{1F23A}\u{1F250}\u{1F251}\u{1F300}-\u{1F320}\u{1F32D}-\u{1F335}\u{1F337}-\u{1F37C}\u{1F37E}-\u{1F393}\u{1F3A0}-\u{1F3CA}\u{1F3CF}-\u{1F3D3}\u{1F3E0}-\u{1F3F0}\u{1F3F4}\u{1F3F8}-\u{1F43E}\u{1F440}\u{1F442}-\u{1F4FC}\u{1F4FF}-\u{1F53D}\u{1F54B}-\u{1F54E}\u{1F550}-\u{1F567}\u{1F57A}\u{1F595}\u{1F596}\u{1F5A4}\u{1F5FB}-\u{1F64F}\u{1F680}-\u{1F6C5}\u{1F6CC}\u{1F6D0}-\u{1F6D2}\u{1F6D5}\u{1F6EB}\u{1F6EC}\u{1F6F4}-\u{1F6FA}\u{1F7E0}-\u{1F7EB}\u{1F90D}-\u{1F93A}\u{1F93C}-\u{1F945}\u{1F947}-\u{1F971}\u{1F973}-\u{1F976}\u{1F97A}-\u{1F9A2}\u{1F9A5}-\u{1F9AA}\u{1F9AE}-\u{1F9CA}\u{1F9CD}-\u{1F9FF}\u{1FA70}-\u{1FA73}\u{1FA78}-\u{1FA7A}\u{1FA80}-\u{1FA82}\u{1FA90}-\u{1FA95}]|[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299\u{1F004}\u{1F0CF}\u{1F170}\u{1F171}\u{1F17E}\u{1F17F}\u{1F18E}\u{1F191}-\u{1F19A}\u{1F1E6}-\u{1F1FF}\u{1F201}\u{1F202}\u{1F21A}\u{1F22F}\u{1F232}-\u{1F23A}\u{1F250}\u{1F251}\u{1F300}-\u{1F321}\u{1F324}-\u{1F393}\u{1F396}\u{1F397}\u{1F399}-\u{1F39B}\u{1F39E}-\u{1F3F0}\u{1F3F3}-\u{1F3F5}\u{1F3F7}-\u{1F4FD}\u{1F4FF}-\u{1F53D}\u{1F549}-\u{1F54E}\u{1F550}-\u{1F567}\u{1F56F}\u{1F570}\u{1F573}-\u{1F57A}\u{1F587}\u{1F58A}-\u{1F58D}\u{1F590}\u{1F595}\u{1F596}\u{1F5A4}\u{1F5A5}\u{1F5A8}\u{1F5B1}\u{1F5B2}\u{1F5BC}\u{1F5C2}-\u{1F5C4}\u{1F5D1}-\u{1F5D3}\u{1F5DC}-\u{1F5DE}\u{1F5E1}\u{1F5E3}\u{1F5E8}\u{1F5EF}\u{1F5F3}\u{1F5FA}-\u{1F64F}\u{1F680}-\u{1F6C5}\u{1F6CB}-\u{1F6D2}\u{1F6D5}\u{1F6E0}-\u{1F6E5}\u{1F6E9}\u{1F6EB}\u{1F6EC}\u{1F6F0}\u{1F6F3}-\u{1F6FA}\u{1F7E0}-\u{1F7EB}\u{1F90D}-\u{1F93A}\u{1F93C}-\u{1F945}\u{1F947}-\u{1F971}\u{1F973}-\u{1F976}\u{1F97A}-\u{1F9A2}\u{1F9A5}-\u{1F9AA}\u{1F9AE}-\u{1F9CA}\u{1F9CD}-\u{1F9FF}\u{1FA70}-\u{1FA73}\u{1FA78}-\u{1FA7A}\u{1FA80}-\u{1FA82}\u{1FA90}-\u{1FA95}]\uFE0F|[\u261D\u26F9\u270A-\u270D\u{1F385}\u{1F3C2}-\u{1F3C4}\u{1F3C7}\u{1F3CA}-\u{1F3CC}\u{1F442}\u{1F443}\u{1F446}-\u{1F450}\u{1F466}-\u{1F478}\u{1F47C}\u{1F481}-\u{1F483}\u{1F485}-\u{1F487}\u{1F48F}\u{1F491}\u{1F4AA}\u{1F574}\u{1F575}\u{1F57A}\u{1F590}\u{1F595}\u{1F596}\u{1F645}-\u{1F647}\u{1F64B}-\u{1F64F}\u{1F6A3}\u{1F6B4}-\u{1F6B6}\u{1F6C0}\u{1F6CC}\u{1F90F}\u{1F918}-\u{1F91F}\u{1F926}\u{1F930}-\u{1F939}\u{1F93C}-\u{1F93E}\u{1F9B5}\u{1F9B6}\u{1F9B8}\u{1F9B9}\u{1F9BB}\u{1F9CD}-\u{1F9CF}\u{1F9D1}-\u{1F9DD}]/gu;
-};
diff --git a/includes/search/node_modules/emoji-regex/es2015/text.js b/includes/search/node_modules/emoji-regex/es2015/text.js
deleted file mode 100644
index 780309d..0000000
--- a/includes/search/node_modules/emoji-regex/es2015/text.js
+++ /dev/null
@@ -1,6 +0,0 @@
-"use strict";
-
-module.exports = () => {
- // https://mths.be/emoji
- return /\u{1F3F4}\u{E0067}\u{E0062}(?:\u{E0065}\u{E006E}\u{E0067}|\u{E0073}\u{E0063}\u{E0074}|\u{E0077}\u{E006C}\u{E0073})\u{E007F}|\u{1F468}(?:\u{1F3FC}\u200D(?:\u{1F91D}\u200D\u{1F468}\u{1F3FB}|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FF}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}-\u{1F3FE}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FE}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}-\u{1F3FD}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FD}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}\u{1F3FC}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u200D(?:\u2764\uFE0F\u200D(?:\u{1F48B}\u200D)?\u{1F468}|[\u{1F468}\u{1F469}]\u200D(?:\u{1F466}\u200D\u{1F466}|\u{1F467}\u200D[\u{1F466}\u{1F467}])|\u{1F466}\u200D\u{1F466}|\u{1F467}\u200D[\u{1F466}\u{1F467}]|[\u{1F468}\u{1F469}]\u200D[\u{1F466}\u{1F467}]|[\u2695\u2696\u2708]\uFE0F|[\u{1F466}\u{1F467}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|(?:\u{1F3FB}\u200D[\u2695\u2696\u2708]|\u{1F3FF}\u200D[\u2695\u2696\u2708]|\u{1F3FE}\u200D[\u2695\u2696\u2708]|\u{1F3FD}\u200D[\u2695\u2696\u2708]|\u{1F3FC}\u200D[\u2695\u2696\u2708])\uFE0F|\u{1F3FB}\u200D[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}]|[\u{1F3FB}-\u{1F3FF}])|(?:\u{1F9D1}\u{1F3FB}\u200D\u{1F91D}\u200D\u{1F9D1}|\u{1F469}\u{1F3FC}\u200D\u{1F91D}\u200D\u{1F469})\u{1F3FB}|\u{1F9D1}(?:\u{1F3FF}\u200D\u{1F91D}\u200D\u{1F9D1}[\u{1F3FB}-\u{1F3FF}]|\u200D\u{1F91D}\u200D\u{1F9D1})|(?:\u{1F9D1}\u{1F3FE}\u200D\u{1F91D}\u200D\u{1F9D1}|\u{1F469}\u{1F3FF}\u200D\u{1F91D}\u200D[\u{1F468}\u{1F469}])[\u{1F3FB}-\u{1F3FE}]|(?:\u{1F9D1}\u{1F3FC}\u200D\u{1F91D}\u200D\u{1F9D1}|\u{1F469}\u{1F3FD}\u200D\u{1F91D}\u200D\u{1F469})[\u{1F3FB}\u{1F3FC}]|\u{1F469}(?:\u{1F3FE}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}-\u{1F3FD}\u{1F3FF}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FC}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}\u{1F3FD}-\u{1F3FF}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FB}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FC}-\u{1F3FF}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FD}\u200D(?:\u{1F91D}\u200D\u{1F468}[\u{1F3FB}\u{1F3FC}\u{1F3FE}\u{1F3FF}]|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u200D(?:\u2764\uFE0F\u200D(?:\u{1F48B}\u200D[\u{1F468}\u{1F469}]|[\u{1F468}\u{1F469}])|[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F3FF}\u200D[\u{1F33E}\u{1F373}\u{1F393}\u{1F3A4}\u{1F3A8}\u{1F3EB}\u{1F3ED}\u{1F4BB}\u{1F4BC}\u{1F527}\u{1F52C}\u{1F680}\u{1F692}\u{1F9AF}-\u{1F9B3}\u{1F9BC}\u{1F9BD}])|\u{1F469}\u200D\u{1F469}\u200D(?:\u{1F466}\u200D\u{1F466}|\u{1F467}\u200D[\u{1F466}\u{1F467}])|(?:\u{1F9D1}\u{1F3FD}\u200D\u{1F91D}\u200D\u{1F9D1}|\u{1F469}\u{1F3FE}\u200D\u{1F91D}\u200D\u{1F469})[\u{1F3FB}-\u{1F3FD}]|\u{1F469}\u200D\u{1F466}\u200D\u{1F466}|\u{1F469}\u200D\u{1F469}\u200D[\u{1F466}\u{1F467}]|(?:\u{1F441}\uFE0F\u200D\u{1F5E8}|\u{1F469}(?:\u{1F3FF}\u200D[\u2695\u2696\u2708]|\u{1F3FE}\u200D[\u2695\u2696\u2708]|\u{1F3FC}\u200D[\u2695\u2696\u2708]|\u{1F3FB}\u200D[\u2695\u2696\u2708]|\u{1F3FD}\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}]\uFE0F|[\u{1F46F}\u{1F93C}\u{1F9DE}\u{1F9DF}])\u200D[\u2640\u2642]|[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}][\u{1F3FB}-\u{1F3FF}]\u200D[\u2640\u2642]|[\u{1F3C3}\u{1F3C4}\u{1F3CA}\u{1F46E}\u{1F471}\u{1F473}\u{1F477}\u{1F481}\u{1F482}\u{1F486}\u{1F487}\u{1F645}-\u{1F647}\u{1F64B}\u{1F64D}\u{1F64E}\u{1F6A3}\u{1F6B4}-\u{1F6B6}\u{1F926}\u{1F937}-\u{1F939}\u{1F93D}\u{1F93E}\u{1F9B8}\u{1F9B9}\u{1F9CD}-\u{1F9CF}\u{1F9D6}-\u{1F9DD}](?:[\u{1F3FB}-\u{1F3FF}]\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\u{1F3F4}\u200D\u2620)\uFE0F|\u{1F469}\u200D\u{1F467}\u200D[\u{1F466}\u{1F467}]|\u{1F3F3}\uFE0F\u200D\u{1F308}|\u{1F415}\u200D\u{1F9BA}|\u{1F469}\u200D\u{1F466}|\u{1F469}\u200D\u{1F467}|\u{1F1FD}\u{1F1F0}|\u{1F1F4}\u{1F1F2}|\u{1F1F6}\u{1F1E6}|[#\*0-9]\uFE0F\u20E3|\u{1F1E7}[\u{1F1E6}\u{1F1E7}\u{1F1E9}-\u{1F1EF}\u{1F1F1}-\u{1F1F4}\u{1F1F6}-\u{1F1F9}\u{1F1FB}\u{1F1FC}\u{1F1FE}\u{1F1FF}]|\u{1F1F9}[\u{1F1E6}\u{1F1E8}\u{1F1E9}\u{1F1EB}-\u{1F1ED}\u{1F1EF}-\u{1F1F4}\u{1F1F7}\u{1F1F9}\u{1F1FB}\u{1F1FC}\u{1F1FF}]|\u{1F1EA}[\u{1F1E6}\u{1F1E8}\u{1F1EA}\u{1F1EC}\u{1F1ED}\u{1F1F7}-\u{1F1FA}]|\u{1F9D1}[\u{1F3FB}-\u{1F3FF}]|\u{1F1F7}[\u{1F1EA}\u{1F1F4}\u{1F1F8}\u{1F1FA}\u{1F1FC}]|\u{1F469}[\u{1F3FB}-\u{1F3FF}]|\u{1F1F2}[\u{1F1E6}\u{1F1E8}-\u{1F1ED}\u{1F1F0}-\u{1F1FF}]|\u{1F1E6}[\u{1F1E8}-\u{1F1EC}\u{1F1EE}\u{1F1F1}\u{1F1F2}\u{1F1F4}\u{1F1F6}-\u{1F1FA}\u{1F1FC}\u{1F1FD}\u{1F1FF}]|\u{1F1F0}[\u{1F1EA}\u{1F1EC}-\u{1F1EE}\u{1F1F2}\u{1F1F3}\u{1F1F5}\u{1F1F7}\u{1F1FC}\u{1F1FE}\u{1F1FF}]|\u{1F1ED}[\u{1F1F0}\u{1F1F2}\u{1F1F3}\u{1F1F7}\u{1F1F9}\u{1F1FA}]|\u{1F1E9}[\u{1F1EA}\u{1F1EC}\u{1F1EF}\u{1F1F0}\u{1F1F2}\u{1F1F4}\u{1F1FF}]|\u{1F1FE}[\u{1F1EA}\u{1F1F9}]|\u{1F1EC}[\u{1F1E6}\u{1F1E7}\u{1F1E9}-\u{1F1EE}\u{1F1F1}-\u{1F1F3}\u{1F1F5}-\u{1F1FA}\u{1F1FC}\u{1F1FE}]|\u{1F1F8}[\u{1F1E6}-\u{1F1EA}\u{1F1EC}-\u{1F1F4}\u{1F1F7}-\u{1F1F9}\u{1F1FB}\u{1F1FD}-\u{1F1FF}]|\u{1F1EB}[\u{1F1EE}-\u{1F1F0}\u{1F1F2}\u{1F1F4}\u{1F1F7}]|\u{1F1F5}[\u{1F1E6}\u{1F1EA}-\u{1F1ED}\u{1F1F0}-\u{1F1F3}\u{1F1F7}-\u{1F1F9}\u{1F1FC}\u{1F1FE}]|\u{1F1FB}[\u{1F1E6}\u{1F1E8}\u{1F1EA}\u{1F1EC}\u{1F1EE}\u{1F1F3}\u{1F1FA}]|\u{1F1F3}[\u{1F1E6}\u{1F1E8}\u{1F1EA}-\u{1F1EC}\u{1F1EE}\u{1F1F1}\u{1F1F4}\u{1F1F5}\u{1F1F7}\u{1F1FA}\u{1F1FF}]|\u{1F1E8}[\u{1F1E6}\u{1F1E8}\u{1F1E9}\u{1F1EB}-\u{1F1EE}\u{1F1F0}-\u{1F1F5}\u{1F1F7}\u{1F1FA}-\u{1F1FF}]|\u{1F1F1}[\u{1F1E6}-\u{1F1E8}\u{1F1EE}\u{1F1F0}\u{1F1F7}-\u{1F1FB}\u{1F1FE}]|\u{1F1FF}[\u{1F1E6}\u{1F1F2}\u{1F1FC}]|\u{1F1FC}[\u{1F1EB}\u{1F1F8}]|\u{1F1FA}[\u{1F1E6}\u{1F1EC}\u{1F1F2}\u{1F1F3}\u{1F1F8}\u{1F1FE}\u{1F1FF}]|\u{1F1EE}[\u{1F1E8}-\u{1F1EA}\u{1F1F1}-\u{1F1F4}\u{1F1F6}-\u{1F1F9}]|\u{1F1EF}[\u{1F1EA}\u{1F1F2}\u{1F1F4}\u{1F1F5}]|[\u{1F3C3}\u{1F3C4}\u{1F3CA}\u{1F46E}\u{1F471}\u{1F473}\u{1F477}\u{1F481}\u{1F482}\u{1F486}\u{1F487}\u{1F645}-\u{1F647}\u{1F64B}\u{1F64D}\u{1F64E}\u{1F6A3}\u{1F6B4}-\u{1F6B6}\u{1F926}\u{1F937}-\u{1F939}\u{1F93D}\u{1F93E}\u{1F9B8}\u{1F9B9}\u{1F9CD}-\u{1F9CF}\u{1F9D6}-\u{1F9DD}][\u{1F3FB}-\u{1F3FF}]|[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}][\u{1F3FB}-\u{1F3FF}]|[\u261D\u270A-\u270D\u{1F385}\u{1F3C2}\u{1F3C7}\u{1F442}\u{1F443}\u{1F446}-\u{1F450}\u{1F466}\u{1F467}\u{1F46B}-\u{1F46D}\u{1F470}\u{1F472}\u{1F474}-\u{1F476}\u{1F478}\u{1F47C}\u{1F483}\u{1F485}\u{1F4AA}\u{1F574}\u{1F57A}\u{1F590}\u{1F595}\u{1F596}\u{1F64C}\u{1F64F}\u{1F6C0}\u{1F6CC}\u{1F90F}\u{1F918}-\u{1F91C}\u{1F91E}\u{1F91F}\u{1F930}-\u{1F936}\u{1F9B5}\u{1F9B6}\u{1F9BB}\u{1F9D2}-\u{1F9D5}][\u{1F3FB}-\u{1F3FF}]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55\u{1F004}\u{1F0CF}\u{1F18E}\u{1F191}-\u{1F19A}\u{1F1E6}-\u{1F1FF}\u{1F201}\u{1F21A}\u{1F22F}\u{1F232}-\u{1F236}\u{1F238}-\u{1F23A}\u{1F250}\u{1F251}\u{1F300}-\u{1F320}\u{1F32D}-\u{1F335}\u{1F337}-\u{1F37C}\u{1F37E}-\u{1F393}\u{1F3A0}-\u{1F3CA}\u{1F3CF}-\u{1F3D3}\u{1F3E0}-\u{1F3F0}\u{1F3F4}\u{1F3F8}-\u{1F43E}\u{1F440}\u{1F442}-\u{1F4FC}\u{1F4FF}-\u{1F53D}\u{1F54B}-\u{1F54E}\u{1F550}-\u{1F567}\u{1F57A}\u{1F595}\u{1F596}\u{1F5A4}\u{1F5FB}-\u{1F64F}\u{1F680}-\u{1F6C5}\u{1F6CC}\u{1F6D0}-\u{1F6D2}\u{1F6D5}\u{1F6EB}\u{1F6EC}\u{1F6F4}-\u{1F6FA}\u{1F7E0}-\u{1F7EB}\u{1F90D}-\u{1F93A}\u{1F93C}-\u{1F945}\u{1F947}-\u{1F971}\u{1F973}-\u{1F976}\u{1F97A}-\u{1F9A2}\u{1F9A5}-\u{1F9AA}\u{1F9AE}-\u{1F9CA}\u{1F9CD}-\u{1F9FF}\u{1FA70}-\u{1FA73}\u{1FA78}-\u{1FA7A}\u{1FA80}-\u{1FA82}\u{1FA90}-\u{1FA95}]|[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299\u{1F004}\u{1F0CF}\u{1F170}\u{1F171}\u{1F17E}\u{1F17F}\u{1F18E}\u{1F191}-\u{1F19A}\u{1F1E6}-\u{1F1FF}\u{1F201}\u{1F202}\u{1F21A}\u{1F22F}\u{1F232}-\u{1F23A}\u{1F250}\u{1F251}\u{1F300}-\u{1F321}\u{1F324}-\u{1F393}\u{1F396}\u{1F397}\u{1F399}-\u{1F39B}\u{1F39E}-\u{1F3F0}\u{1F3F3}-\u{1F3F5}\u{1F3F7}-\u{1F4FD}\u{1F4FF}-\u{1F53D}\u{1F549}-\u{1F54E}\u{1F550}-\u{1F567}\u{1F56F}\u{1F570}\u{1F573}-\u{1F57A}\u{1F587}\u{1F58A}-\u{1F58D}\u{1F590}\u{1F595}\u{1F596}\u{1F5A4}\u{1F5A5}\u{1F5A8}\u{1F5B1}\u{1F5B2}\u{1F5BC}\u{1F5C2}-\u{1F5C4}\u{1F5D1}-\u{1F5D3}\u{1F5DC}-\u{1F5DE}\u{1F5E1}\u{1F5E3}\u{1F5E8}\u{1F5EF}\u{1F5F3}\u{1F5FA}-\u{1F64F}\u{1F680}-\u{1F6C5}\u{1F6CB}-\u{1F6D2}\u{1F6D5}\u{1F6E0}-\u{1F6E5}\u{1F6E9}\u{1F6EB}\u{1F6EC}\u{1F6F0}\u{1F6F3}-\u{1F6FA}\u{1F7E0}-\u{1F7EB}\u{1F90D}-\u{1F93A}\u{1F93C}-\u{1F945}\u{1F947}-\u{1F971}\u{1F973}-\u{1F976}\u{1F97A}-\u{1F9A2}\u{1F9A5}-\u{1F9AA}\u{1F9AE}-\u{1F9CA}\u{1F9CD}-\u{1F9FF}\u{1FA70}-\u{1FA73}\u{1FA78}-\u{1FA7A}\u{1FA80}-\u{1FA82}\u{1FA90}-\u{1FA95}]\uFE0F?|[\u261D\u26F9\u270A-\u270D\u{1F385}\u{1F3C2}-\u{1F3C4}\u{1F3C7}\u{1F3CA}-\u{1F3CC}\u{1F442}\u{1F443}\u{1F446}-\u{1F450}\u{1F466}-\u{1F478}\u{1F47C}\u{1F481}-\u{1F483}\u{1F485}-\u{1F487}\u{1F48F}\u{1F491}\u{1F4AA}\u{1F574}\u{1F575}\u{1F57A}\u{1F590}\u{1F595}\u{1F596}\u{1F645}-\u{1F647}\u{1F64B}-\u{1F64F}\u{1F6A3}\u{1F6B4}-\u{1F6B6}\u{1F6C0}\u{1F6CC}\u{1F90F}\u{1F918}-\u{1F91F}\u{1F926}\u{1F930}-\u{1F939}\u{1F93C}-\u{1F93E}\u{1F9B5}\u{1F9B6}\u{1F9B8}\u{1F9B9}\u{1F9BB}\u{1F9CD}-\u{1F9CF}\u{1F9D1}-\u{1F9DD}]/gu;
-};
diff --git a/includes/search/node_modules/emoji-regex/index.d.ts b/includes/search/node_modules/emoji-regex/index.d.ts
deleted file mode 100644
index 1955b47..0000000
--- a/includes/search/node_modules/emoji-regex/index.d.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-declare module 'emoji-regex' {
- function emojiRegex(): RegExp;
-
- export default emojiRegex;
-}
-
-declare module 'emoji-regex/text' {
- function emojiRegex(): RegExp;
-
- export default emojiRegex;
-}
-
-declare module 'emoji-regex/es2015' {
- function emojiRegex(): RegExp;
-
- export default emojiRegex;
-}
-
-declare module 'emoji-regex/es2015/text' {
- function emojiRegex(): RegExp;
-
- export default emojiRegex;
-}
diff --git a/includes/search/node_modules/emoji-regex/index.js b/includes/search/node_modules/emoji-regex/index.js
deleted file mode 100644
index d993a3a..0000000
--- a/includes/search/node_modules/emoji-regex/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-"use strict";
-
-module.exports = function () {
- // https://mths.be/emoji
- return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
-};
diff --git a/includes/search/node_modules/emoji-regex/package.json b/includes/search/node_modules/emoji-regex/package.json
deleted file mode 100644
index 6d32352..0000000
--- a/includes/search/node_modules/emoji-regex/package.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- "name": "emoji-regex",
- "version": "8.0.0",
- "description": "A regular expression to match all Emoji-only symbols as per the Unicode Standard.",
- "homepage": "https://mths.be/emoji-regex",
- "main": "index.js",
- "types": "index.d.ts",
- "keywords": [
- "unicode",
- "regex",
- "regexp",
- "regular expressions",
- "code points",
- "symbols",
- "characters",
- "emoji"
- ],
- "license": "MIT",
- "author": {
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/mathiasbynens/emoji-regex.git"
- },
- "bugs": "https://github.com/mathiasbynens/emoji-regex/issues",
- "files": [
- "LICENSE-MIT.txt",
- "index.js",
- "index.d.ts",
- "text.js",
- "es2015/index.js",
- "es2015/text.js"
- ],
- "scripts": {
- "build": "rm -rf -- es2015; babel src -d .; NODE_ENV=es2015 babel src -d ./es2015; node script/inject-sequences.js",
- "test": "mocha",
- "test:watch": "npm run test -- --watch"
- },
- "devDependencies": {
- "@babel/cli": "^7.2.3",
- "@babel/core": "^7.3.4",
- "@babel/plugin-proposal-unicode-property-regex": "^7.2.0",
- "@babel/preset-env": "^7.3.4",
- "mocha": "^6.0.2",
- "regexgen": "^1.3.0",
- "unicode-12.0.0": "^0.7.9"
- }
-}
diff --git a/includes/search/node_modules/emoji-regex/text.js b/includes/search/node_modules/emoji-regex/text.js
deleted file mode 100644
index 0a55ce2..0000000
--- a/includes/search/node_modules/emoji-regex/text.js
+++ /dev/null
@@ -1,6 +0,0 @@
-"use strict";
-
-module.exports = function () {
- // https://mths.be/emoji
- return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F?|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
-};
diff --git a/includes/search/node_modules/end-of-stream/LICENSE b/includes/search/node_modules/end-of-stream/LICENSE
deleted file mode 100644
index 757562e..0000000
--- a/includes/search/node_modules/end-of-stream/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Mathias Buus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/end-of-stream/README.md b/includes/search/node_modules/end-of-stream/README.md
deleted file mode 100644
index 857b14b..0000000
--- a/includes/search/node_modules/end-of-stream/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# end-of-stream
-
-A node module that calls a callback when a readable/writable/duplex stream has completed or failed.
-
- npm install end-of-stream
-
-[![Build status](https://travis-ci.org/mafintosh/end-of-stream.svg?branch=master)](https://travis-ci.org/mafintosh/end-of-stream)
-
-## Usage
-
-Simply pass a stream and a callback to the `eos`.
-Both legacy streams, streams2 and stream3 are supported.
-
-``` js
-var eos = require('end-of-stream');
-
-eos(readableStream, function(err) {
- // this will be set to the stream instance
- if (err) return console.log('stream had an error or closed early');
- console.log('stream has ended', this === readableStream);
-});
-
-eos(writableStream, function(err) {
- if (err) return console.log('stream had an error or closed early');
- console.log('stream has finished', this === writableStream);
-});
-
-eos(duplexStream, function(err) {
- if (err) return console.log('stream had an error or closed early');
- console.log('stream has ended and finished', this === duplexStream);
-});
-
-eos(duplexStream, {readable:false}, function(err) {
- if (err) return console.log('stream had an error or closed early');
- console.log('stream has finished but might still be readable');
-});
-
-eos(duplexStream, {writable:false}, function(err) {
- if (err) return console.log('stream had an error or closed early');
- console.log('stream has ended but might still be writable');
-});
-
-eos(readableStream, {error:false}, function(err) {
- // do not treat emit('error', err) as a end-of-stream
-});
-```
-
-## License
-
-MIT
-
-## Related
-
-`end-of-stream` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one.
diff --git a/includes/search/node_modules/end-of-stream/index.js b/includes/search/node_modules/end-of-stream/index.js
deleted file mode 100644
index c77f0d5..0000000
--- a/includes/search/node_modules/end-of-stream/index.js
+++ /dev/null
@@ -1,94 +0,0 @@
-var once = require('once');
-
-var noop = function() {};
-
-var isRequest = function(stream) {
- return stream.setHeader && typeof stream.abort === 'function';
-};
-
-var isChildProcess = function(stream) {
- return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3
-};
-
-var eos = function(stream, opts, callback) {
- if (typeof opts === 'function') return eos(stream, null, opts);
- if (!opts) opts = {};
-
- callback = once(callback || noop);
-
- var ws = stream._writableState;
- var rs = stream._readableState;
- var readable = opts.readable || (opts.readable !== false && stream.readable);
- var writable = opts.writable || (opts.writable !== false && stream.writable);
- var cancelled = false;
-
- var onlegacyfinish = function() {
- if (!stream.writable) onfinish();
- };
-
- var onfinish = function() {
- writable = false;
- if (!readable) callback.call(stream);
- };
-
- var onend = function() {
- readable = false;
- if (!writable) callback.call(stream);
- };
-
- var onexit = function(exitCode) {
- callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null);
- };
-
- var onerror = function(err) {
- callback.call(stream, err);
- };
-
- var onclose = function() {
- process.nextTick(onclosenexttick);
- };
-
- var onclosenexttick = function() {
- if (cancelled) return;
- if (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error('premature close'));
- if (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error('premature close'));
- };
-
- var onrequest = function() {
- stream.req.on('finish', onfinish);
- };
-
- if (isRequest(stream)) {
- stream.on('complete', onfinish);
- stream.on('abort', onclose);
- if (stream.req) onrequest();
- else stream.on('request', onrequest);
- } else if (writable && !ws) { // legacy streams
- stream.on('end', onlegacyfinish);
- stream.on('close', onlegacyfinish);
- }
-
- if (isChildProcess(stream)) stream.on('exit', onexit);
-
- stream.on('end', onend);
- stream.on('finish', onfinish);
- if (opts.error !== false) stream.on('error', onerror);
- stream.on('close', onclose);
-
- return function() {
- cancelled = true;
- stream.removeListener('complete', onfinish);
- stream.removeListener('abort', onclose);
- stream.removeListener('request', onrequest);
- if (stream.req) stream.req.removeListener('finish', onfinish);
- stream.removeListener('end', onlegacyfinish);
- stream.removeListener('close', onlegacyfinish);
- stream.removeListener('finish', onfinish);
- stream.removeListener('exit', onexit);
- stream.removeListener('end', onend);
- stream.removeListener('error', onerror);
- stream.removeListener('close', onclose);
- };
-};
-
-module.exports = eos;
diff --git a/includes/search/node_modules/end-of-stream/package.json b/includes/search/node_modules/end-of-stream/package.json
deleted file mode 100644
index b75bbf0..0000000
--- a/includes/search/node_modules/end-of-stream/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "end-of-stream",
- "version": "1.4.4",
- "description": "Call a callback when a readable/writable/duplex stream has completed or failed.",
- "repository": {
- "type": "git",
- "url": "git://github.com/mafintosh/end-of-stream.git"
- },
- "dependencies": {
- "once": "^1.4.0"
- },
- "scripts": {
- "test": "node test.js"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "stream",
- "streams",
- "callback",
- "finish",
- "close",
- "end",
- "wait"
- ],
- "bugs": {
- "url": "https://github.com/mafintosh/end-of-stream/issues"
- },
- "homepage": "https://github.com/mafintosh/end-of-stream",
- "main": "index.js",
- "author": "Mathias Buus <mathiasbuus@gmail.com>",
- "license": "MIT",
- "devDependencies": {
- "tape": "^4.11.0"
- }
-}
diff --git a/includes/search/node_modules/escalade/dist/index.js b/includes/search/node_modules/escalade/dist/index.js
deleted file mode 100644
index ad236c4..0000000
--- a/includes/search/node_modules/escalade/dist/index.js
+++ /dev/null
@@ -1,22 +0,0 @@
-const { dirname, resolve } = require('path');
-const { readdir, stat } = require('fs');
-const { promisify } = require('util');
-
-const toStats = promisify(stat);
-const toRead = promisify(readdir);
-
-module.exports = async function (start, callback) {
- let dir = resolve('.', start);
- let tmp, stats = await toStats(dir);
-
- if (!stats.isDirectory()) {
- dir = dirname(dir);
- }
-
- while (true) {
- tmp = await callback(dir, await toRead(dir));
- if (tmp) return resolve(dir, tmp);
- dir = dirname(tmp = dir);
- if (tmp === dir) break;
- }
-}
diff --git a/includes/search/node_modules/escalade/dist/index.mjs b/includes/search/node_modules/escalade/dist/index.mjs
deleted file mode 100644
index bf95be0..0000000
--- a/includes/search/node_modules/escalade/dist/index.mjs
+++ /dev/null
@@ -1,22 +0,0 @@
-import { dirname, resolve } from 'path';
-import { readdir, stat } from 'fs';
-import { promisify } from 'util';
-
-const toStats = promisify(stat);
-const toRead = promisify(readdir);
-
-export default async function (start, callback) {
- let dir = resolve('.', start);
- let tmp, stats = await toStats(dir);
-
- if (!stats.isDirectory()) {
- dir = dirname(dir);
- }
-
- while (true) {
- tmp = await callback(dir, await toRead(dir));
- if (tmp) return resolve(dir, tmp);
- dir = dirname(tmp = dir);
- if (tmp === dir) break;
- }
-}
diff --git a/includes/search/node_modules/escalade/index.d.ts b/includes/search/node_modules/escalade/index.d.ts
deleted file mode 100644
index 283e398..0000000
--- a/includes/search/node_modules/escalade/index.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-type Promisable<T> = T | Promise<T>;
-export type Callback = (directory: string, files: string[]) => Promisable<string | false | void>;
-export default function (directory: string, callback: Callback): Promise<string | void>;
diff --git a/includes/search/node_modules/escalade/license b/includes/search/node_modules/escalade/license
deleted file mode 100644
index fa6089f..0000000
--- a/includes/search/node_modules/escalade/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/escalade/package.json b/includes/search/node_modules/escalade/package.json
deleted file mode 100644
index 0d1bfce..0000000
--- a/includes/search/node_modules/escalade/package.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "name": "escalade",
- "version": "3.1.1",
- "repository": "lukeed/escalade",
- "description": "A tiny (183B to 210B) and fast utility to ascend parent directories",
- "module": "dist/index.mjs",
- "main": "dist/index.js",
- "types": "index.d.ts",
- "license": "MIT",
- "author": {
- "name": "Luke Edwards",
- "email": "luke.edwards05@gmail.com",
- "url": "https://lukeed.com"
- },
- "exports": {
- ".": [
- {
- "import": "./dist/index.mjs",
- "require": "./dist/index.js"
- },
- "./dist/index.js"
- ],
- "./sync": [
- {
- "import": "./sync/index.mjs",
- "require": "./sync/index.js"
- },
- "./sync/index.js"
- ]
- },
- "files": [
- "*.d.ts",
- "dist",
- "sync"
- ],
- "modes": {
- "sync": "src/sync.js",
- "default": "src/async.js"
- },
- "engines": {
- "node": ">=6"
- },
- "scripts": {
- "build": "bundt",
- "pretest": "npm run build",
- "test": "uvu -r esm test -i fixtures"
- },
- "keywords": [
- "find",
- "parent",
- "parents",
- "directory",
- "search",
- "walk"
- ],
- "devDependencies": {
- "bundt": "1.1.1",
- "esm": "3.2.25",
- "uvu": "0.3.3"
- }
-}
diff --git a/includes/search/node_modules/escalade/readme.md b/includes/search/node_modules/escalade/readme.md
deleted file mode 100644
index 4e2195c..0000000
--- a/includes/search/node_modules/escalade/readme.md
+++ /dev/null
@@ -1,211 +0,0 @@
-# escalade [![CI](https://github.com/lukeed/escalade/workflows/CI/badge.svg)](https://github.com/lukeed/escalade/actions) [![codecov](https://badgen.now.sh/codecov/c/github/lukeed/escalade)](https://codecov.io/gh/lukeed/escalade)
-
-> A tiny (183B to 210B) and [fast](#benchmarks) utility to ascend parent directories
-
-With [escalade](https://en.wikipedia.org/wiki/Escalade), you can scale parent directories until you've found what you're looking for.<br>Given an input file or directory, `escalade` will continue executing your callback function until either:
-
-1) the callback returns a truthy value
-2) `escalade` has reached the system root directory (eg, `/`)
-
-> **Important:**<br>Please note that `escalade` only deals with direct ancestry – it will not dive into parents' sibling directories.
-
----
-
-**Notice:** As of v3.1.0, `escalade` now includes [Deno support](http://deno.land/x/escalade)! Please see [Deno Usage](#deno) below.
-
----
-
-## Install
-
-```
-$ npm install --save escalade
-```
-
-
-## Modes
-
-There are two "versions" of `escalade` available:
-
-#### "async"
-> **Node.js:** >= 8.x<br>
-> **Size (gzip):** 210 bytes<br>
-> **Availability:** [CommonJS](https://unpkg.com/escalade/dist/index.js), [ES Module](https://unpkg.com/escalade/dist/index.mjs)
-
-This is the primary/default mode. It makes use of `async`/`await` and [`util.promisify`](https://nodejs.org/api/util.html#util_util_promisify_original).
-
-#### "sync"
-> **Node.js:** >= 6.x<br>
-> **Size (gzip):** 183 bytes<br>
-> **Availability:** [CommonJS](https://unpkg.com/escalade/sync/index.js), [ES Module](https://unpkg.com/escalade/sync/index.mjs)
-
-This is the opt-in mode, ideal for scenarios where `async` usage cannot be supported.
-
-
-## Usage
-
-***Example Structure***
-
-```
-/Users/lukeed
- └── oss
- ├── license
- └── escalade
- ├── package.json
- └── test
- └── fixtures
- ├── index.js
- └── foobar
- └── demo.js
-```
-
-***Example Usage***
-
-```js
-//~> demo.js
-import { join } from 'path';
-import escalade from 'escalade';
-
-const input = join(__dirname, 'demo.js');
-// or: const input = __dirname;
-
-const pkg = await escalade(input, (dir, names) => {
- console.log('~> dir:', dir);
- console.log('~> names:', names);
- console.log('---');
-
- if (names.includes('package.json')) {
- // will be resolved into absolute
- return 'package.json';
- }
-});
-
-//~> dir: /Users/lukeed/oss/escalade/test/fixtures/foobar
-//~> names: ['demo.js']
-//---
-//~> dir: /Users/lukeed/oss/escalade/test/fixtures
-//~> names: ['index.js', 'foobar']
-//---
-//~> dir: /Users/lukeed/oss/escalade/test
-//~> names: ['fixtures']
-//---
-//~> dir: /Users/lukeed/oss/escalade
-//~> names: ['package.json', 'test']
-//---
-
-console.log(pkg);
-//=> /Users/lukeed/oss/escalade/package.json
-
-// Now search for "missing123.txt"
-// (Assume it doesn't exist anywhere!)
-const missing = await escalade(input, (dir, names) => {
- console.log('~> dir:', dir);
- return names.includes('missing123.txt') && 'missing123.txt';
-});
-
-//~> dir: /Users/lukeed/oss/escalade/test/fixtures/foobar
-//~> dir: /Users/lukeed/oss/escalade/test/fixtures
-//~> dir: /Users/lukeed/oss/escalade/test
-//~> dir: /Users/lukeed/oss/escalade
-//~> dir: /Users/lukeed/oss
-//~> dir: /Users/lukeed
-//~> dir: /Users
-//~> dir: /
-
-console.log(missing);
-//=> undefined
-```
-
-> **Note:** To run the above example with "sync" mode, import from `escalade/sync` and remove the `await` keyword.
-
-
-## API
-
-### escalade(input, callback)
-Returns: `string|void` or `Promise<string|void>`
-
-When your `callback` locates a file, `escalade` will resolve/return with an absolute path.<br>
-If your `callback` was never satisfied, then `escalade` will resolve/return with nothing (undefined).
-
-> **Important:**<br>The `sync` and `async` versions share the same API.<br>The **only** difference is that `sync` is not Promise-based.
-
-#### input
-Type: `string`
-
-The path from which to start ascending.
-
-This may be a file or a directory path.<br>However, when `input` is a file, `escalade` will begin with its parent directory.
-
-> **Important:** Unless given an absolute path, `input` will be resolved from `process.cwd()` location.
-
-#### callback
-Type: `Function`
-
-The callback to execute for each ancestry level. It always is given two arguments:
-
-1) `dir` - an absolute path of the current parent directory
-2) `names` - a list (`string[]`) of contents _relative to_ the `dir` parent
-
-> **Note:** The `names` list can contain names of files _and_ directories.
-
-When your callback returns a _falsey_ value, then `escalade` will continue with `dir`'s parent directory, re-invoking your callback with new argument values.
-
-When your callback returns a string, then `escalade` stops iteration immediately.<br>
-If the string is an absolute path, then it's left as is. Otherwise, the string is resolved into an absolute path _from_ the `dir` that housed the satisfying condition.
-
-> **Important:** Your `callback` can be a `Promise/AsyncFunction` when using the "async" version of `escalade`.
-
-## Benchmarks
-
-> Running on Node.js v10.13.0
-
-```
-# Load Time
- find-up 3.891ms
- escalade 0.485ms
- escalade/sync 0.309ms
-
-# Levels: 6 (target = "foo.txt"):
- find-up x 24,856 ops/sec ±6.46% (55 runs sampled)
- escalade x 73,084 ops/sec ±4.23% (73 runs sampled)
- find-up.sync x 3,663 ops/sec ±1.12% (83 runs sampled)
- escalade/sync x 9,360 ops/sec ±0.62% (88 runs sampled)
-
-# Levels: 12 (target = "package.json"):
- find-up x 29,300 ops/sec ±10.68% (70 runs sampled)
- escalade x 73,685 ops/sec ± 5.66% (66 runs sampled)
- find-up.sync x 1,707 ops/sec ± 0.58% (91 runs sampled)
- escalade/sync x 4,667 ops/sec ± 0.68% (94 runs sampled)
-
-# Levels: 18 (target = "missing123.txt"):
- find-up x 21,818 ops/sec ±17.37% (14 runs sampled)
- escalade x 67,101 ops/sec ±21.60% (20 runs sampled)
- find-up.sync x 1,037 ops/sec ± 2.86% (88 runs sampled)
- escalade/sync x 1,248 ops/sec ± 0.50% (93 runs sampled)
-```
-
-## Deno
-
-As of v3.1.0, `escalade` is available on the Deno registry.
-
-Please note that the [API](#api) is identical and that there are still [two modes](#modes) from which to choose:
-
-```ts
-// Choose "async" mode
-import escalade from 'https://deno.land/escalade/async.ts';
-
-// Choose "sync" mode
-import escalade from 'https://deno.land/escalade/sync.ts';
-```
-
-> **Important:** The `allow-read` permission is required!
-
-
-## Related
-
-- [premove](https://github.com/lukeed/premove) - A tiny (247B) utility to remove items recursively
-- [totalist](https://github.com/lukeed/totalist) - A tiny (195B to 224B) utility to recursively list all (total) files in a directory
-- [mk-dirs](https://github.com/lukeed/mk-dirs) - A tiny (420B) utility to make a directory and its parents, recursively
-
-## License
-
-MIT © [Luke Edwards](https://lukeed.com)
diff --git a/includes/search/node_modules/escalade/sync/index.d.ts b/includes/search/node_modules/escalade/sync/index.d.ts
deleted file mode 100644
index 746ddd3..0000000
--- a/includes/search/node_modules/escalade/sync/index.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export type Callback = (directory: string, files: string[]) => string | false | void;
-export default function (directory: string, callback: Callback): string | void;
diff --git a/includes/search/node_modules/escalade/sync/index.js b/includes/search/node_modules/escalade/sync/index.js
deleted file mode 100644
index 902cc46..0000000
--- a/includes/search/node_modules/escalade/sync/index.js
+++ /dev/null
@@ -1,18 +0,0 @@
-const { dirname, resolve } = require('path');
-const { readdirSync, statSync } = require('fs');
-
-module.exports = function (start, callback) {
- let dir = resolve('.', start);
- let tmp, stats = statSync(dir);
-
- if (!stats.isDirectory()) {
- dir = dirname(dir);
- }
-
- while (true) {
- tmp = callback(dir, readdirSync(dir));
- if (tmp) return resolve(dir, tmp);
- dir = dirname(tmp = dir);
- if (tmp === dir) break;
- }
-}
diff --git a/includes/search/node_modules/escalade/sync/index.mjs b/includes/search/node_modules/escalade/sync/index.mjs
deleted file mode 100644
index 3cdc5bd..0000000
--- a/includes/search/node_modules/escalade/sync/index.mjs
+++ /dev/null
@@ -1,18 +0,0 @@
-import { dirname, resolve } from 'path';
-import { readdirSync, statSync } from 'fs';
-
-export default function (start, callback) {
- let dir = resolve('.', start);
- let tmp, stats = statSync(dir);
-
- if (!stats.isDirectory()) {
- dir = dirname(dir);
- }
-
- while (true) {
- tmp = callback(dir, readdirSync(dir));
- if (tmp) return resolve(dir, tmp);
- dir = dirname(tmp = dir);
- if (tmp === dir) break;
- }
-}
diff --git a/includes/search/node_modules/expand-template/.travis.yml b/includes/search/node_modules/expand-template/.travis.yml
deleted file mode 100644
index 1335a77..0000000
--- a/includes/search/node_modules/expand-template/.travis.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-language: node_js
-
-node_js:
- - 6
- - 8
- - 10
diff --git a/includes/search/node_modules/expand-template/LICENSE b/includes/search/node_modules/expand-template/LICENSE
deleted file mode 100644
index 814aef4..0000000
--- a/includes/search/node_modules/expand-template/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2018 Lars-Magnus Skog
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/expand-template/README.md b/includes/search/node_modules/expand-template/README.md
deleted file mode 100644
index b98aa48..0000000
--- a/includes/search/node_modules/expand-template/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# expand-template
-
-> Expand placeholders in a template string.
-
-[![npm](https://img.shields.io/npm/v/expand-template.svg)](https://www.npmjs.com/package/expand-template)
-![Node version](https://img.shields.io/node/v/expand-template.svg)
-[![Build Status](https://travis-ci.org/ralphtheninja/expand-template.svg?branch=master)](https://travis-ci.org/ralphtheninja/expand-template)
-[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
-
-## Install
-
-```
-$ npm i expand-template -S
-```
-
-## Usage
-
-Default functionality expands templates using `{}` as separators for string placeholders.
-
-```js
-var expand = require('expand-template')()
-var template = '{foo}/{foo}/{bar}/{bar}'
-console.log(expand(template, {
- foo: 'BAR',
- bar: 'FOO'
-}))
-// -> BAR/BAR/FOO/FOO
-```
-
-Custom separators:
-
-```js
-var expand = require('expand-template')({ sep: '[]' })
-var template = '[foo]/[foo]/[bar]/[bar]'
-console.log(expand(template, {
- foo: 'BAR',
- bar: 'FOO'
-}))
-// -> BAR/BAR/FOO/FOO
-```
-
-## License
-All code, unless stated otherwise, is dual-licensed under [`WTFPL`](http://www.wtfpl.net/txt/copying/) and [`MIT`](https://opensource.org/licenses/MIT).
diff --git a/includes/search/node_modules/expand-template/index.js b/includes/search/node_modules/expand-template/index.js
deleted file mode 100644
index e182837..0000000
--- a/includes/search/node_modules/expand-template/index.js
+++ /dev/null
@@ -1,26 +0,0 @@
-module.exports = function (opts) {
- var sep = opts ? opts.sep : '{}'
- var len = sep.length
-
- var whitespace = '\\s*'
- var left = escape(sep.substring(0, len / 2)) + whitespace
- var right = whitespace + escape(sep.substring(len / 2, len))
-
- return function (template, values) {
- Object.keys(values).forEach(function (key) {
- var value = String(values[key]).replace(/\$/g, '$$$$')
- template = template.replace(regExp(key), value)
- })
- return template
- }
-
- function escape (s) {
- return [].map.call(s, function (char) {
- return '\\' + char
- }).join('')
- }
-
- function regExp (key) {
- return new RegExp(left + key + right, 'g')
- }
-}
diff --git a/includes/search/node_modules/expand-template/package.json b/includes/search/node_modules/expand-template/package.json
deleted file mode 100644
index 9a09656..0000000
--- a/includes/search/node_modules/expand-template/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "expand-template",
- "version": "2.0.3",
- "description": "Expand placeholders in a template string",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "https://github.com/ralphtheninja/expand-template.git"
- },
- "homepage": "https://github.com/ralphtheninja/expand-template",
- "scripts": {
- "test": "tape test.js && standard"
- },
- "keywords": [
- "template",
- "expand",
- "replace"
- ],
- "author": "LM <ralphtheninja@riseup.net>",
- "license": "(MIT OR WTFPL)",
- "dependencies": {},
- "devDependencies": {
- "standard": "^12.0.0",
- "tape": "^4.2.2"
- },
- "engines": {
- "node": ">=6"
- }
-}
diff --git a/includes/search/node_modules/expand-template/test.js b/includes/search/node_modules/expand-template/test.js
deleted file mode 100644
index ba6ed87..0000000
--- a/includes/search/node_modules/expand-template/test.js
+++ /dev/null
@@ -1,67 +0,0 @@
-var test = require('tape')
-var Expand = require('./')
-
-test('default expands {} placeholders', function (t) {
- var expand = Expand()
- t.equal(typeof expand, 'function', 'is a function')
- t.equal(expand('{foo}/{bar}', {
- foo: 'BAR', bar: 'FOO'
- }), 'BAR/FOO')
- t.equal(expand('{foo}{foo}{foo}', {
- foo: 'FOO'
- }), 'FOOFOOFOO', 'expands one placeholder many times')
- t.end()
-})
-
-test('support for custom separators', function (t) {
- var expand = Expand({ sep: '[]' })
- t.equal(expand('[foo]/[bar]', {
- foo: 'BAR', bar: 'FOO'
- }), 'BAR/FOO')
- t.equal(expand('[foo][foo][foo]', {
- foo: 'FOO'
- }), 'FOOFOOFOO', 'expands one placeholder many times')
- t.end()
-})
-
-test('support for longer custom separators', function (t) {
- var expand = Expand({ sep: '[[]]' })
- t.equal(expand('[[foo]]/[[bar]]', {
- foo: 'BAR', bar: 'FOO'
- }), 'BAR/FOO')
- t.equal(expand('[[foo]][[foo]][[foo]]', {
- foo: 'FOO'
- }), 'FOOFOOFOO', 'expands one placeholder many times')
- t.end()
-})
-
-test('whitespace-insensitive', function (t) {
- var expand = Expand({ sep: '[]' })
- t.equal(expand('[ foo ]/[ bar ]', {
- foo: 'BAR', bar: 'FOO'
- }), 'BAR/FOO')
- t.equal(expand('[ foo ][ foo ][ foo]', {
- foo: 'FOO'
- }), 'FOOFOOFOO', 'expands one placeholder many times')
- t.end()
-})
-
-test('dollar escape', function (t) {
- var expand = Expand()
- t.equal(expand('before {foo} after', {
- foo: '$'
- }), 'before $ after')
- t.equal(expand('before {foo} after', {
- foo: '$&'
- }), 'before $& after')
- t.equal(expand('before {foo} after', {
- foo: '$`'
- }), 'before $` after')
- t.equal(expand('before {foo} after', {
- foo: '$\''
- }), 'before $\' after')
- t.equal(expand('before {foo} after', {
- foo: '$0'
- }), 'before $0 after')
- t.end()
-})
diff --git a/includes/search/node_modules/fast-glob/LICENSE b/includes/search/node_modules/fast-glob/LICENSE
deleted file mode 100644
index 65a9994..0000000
--- a/includes/search/node_modules/fast-glob/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Denis Malinochkin
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/fast-glob/README.md b/includes/search/node_modules/fast-glob/README.md
deleted file mode 100644
index 393f4fe..0000000
--- a/includes/search/node_modules/fast-glob/README.md
+++ /dev/null
@@ -1,795 +0,0 @@
-# fast-glob
-
-> It's a very fast and efficient [glob][glob_definition] library for [Node.js][node_js].
-
-This package provides methods for traversing the file system and returning pathnames that matched a defined set of a specified pattern according to the rules used by the Unix Bash shell with some simplifications, meanwhile results are returned in **arbitrary order**. Quick, simple, effective.
-
-## Table of Contents
-
-<details>
-<summary><strong>Details</strong></summary>
-
-* [Highlights](#highlights)
-* [Donation](#donation)
-* [Old and modern mode](#old-and-modern-mode)
-* [Pattern syntax](#pattern-syntax)
- * [Basic syntax](#basic-syntax)
- * [Advanced syntax](#advanced-syntax)
-* [Installation](#installation)
-* [API](#api)
- * [Asynchronous](#asynchronous)
- * [Synchronous](#synchronous)
- * [Stream](#stream)
- * [patterns](#patterns)
- * [[options]](#options)
- * [Helpers](#helpers)
- * [generateTasks](#generatetaskspatterns-options)
- * [isDynamicPattern](#isdynamicpatternpattern-options)
- * [escapePath](#escapepathpattern)
-* [Options](#options-3)
- * [Common](#common)
- * [concurrency](#concurrency)
- * [cwd](#cwd)
- * [deep](#deep)
- * [followSymbolicLinks](#followsymboliclinks)
- * [fs](#fs)
- * [ignore](#ignore)
- * [suppressErrors](#suppresserrors)
- * [throwErrorOnBrokenSymbolicLink](#throwerroronbrokensymboliclink)
- * [Output control](#output-control)
- * [absolute](#absolute)
- * [markDirectories](#markdirectories)
- * [objectMode](#objectmode)
- * [onlyDirectories](#onlydirectories)
- * [onlyFiles](#onlyfiles)
- * [stats](#stats)
- * [unique](#unique)
- * [Matching control](#matching-control)
- * [braceExpansion](#braceexpansion)
- * [caseSensitiveMatch](#casesensitivematch)
- * [dot](#dot)
- * [extglob](#extglob)
- * [globstar](#globstar)
- * [baseNameMatch](#basenamematch)
-* [FAQ](#faq)
- * [What is a static or dynamic pattern?](#what-is-a-static-or-dynamic-pattern)
- * [How to write patterns on Windows?](#how-to-write-patterns-on-windows)
- * [Why are parentheses match wrong?](#why-are-parentheses-match-wrong)
- * [How to exclude directory from reading?](#how-to-exclude-directory-from-reading)
- * [How to use UNC path?](#how-to-use-unc-path)
- * [Compatible with `node-glob`?](#compatible-with-node-glob)
-* [Benchmarks](#benchmarks)
- * [Server](#server)
- * [Nettop](#nettop)
-* [Changelog](#changelog)
-* [License](#license)
-
-</details>
-
-## Highlights
-
-* Fast. Probably the fastest.
-* Supports multiple and negative patterns.
-* Synchronous, Promise and Stream API.
-* Object mode. Can return more than just strings.
-* Error-tolerant.
-
-## Donation
-
-Do you like this project? Support it by donating, creating an issue or pull request.
-
-[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)][paypal_mrmlnc]
-
-## Old and modern mode
-
-This package works in two modes, depending on the environment in which it is used.
-
-* **Old mode**. Node.js below 10.10 or when the [`stats`](#stats) option is *enabled*.
-* **Modern mode**. Node.js 10.10+ and the [`stats`](#stats) option is *disabled*.
-
-The modern mode is faster. Learn more about the [internal mechanism][nodelib_fs_scandir_old_and_modern_modern].
-
-## Pattern syntax
-
-> :warning: Always use forward-slashes in glob expressions (patterns and [`ignore`](#ignore) option). Use backslashes for escaping characters.
-
-There is more than one form of syntax: basic and advanced. Below is a brief overview of the supported features. Also pay attention to our [FAQ](#faq).
-
-> :book: This package uses a [`micromatch`][micromatch] as a library for pattern matching.
-
-### Basic syntax
-
-* An asterisk (`*`) — matches everything except slashes (path separators), hidden files (names starting with `.`).
-* A double star or globstar (`**`) — matches zero or more directories.
-* Question mark (`?`) – matches any single character except slashes (path separators).
-* Sequence (`[seq]`) — matches any character in sequence.
-
-> :book: A few additional words about the [basic matching behavior][picomatch_matching_behavior].
-
-Some examples:
-
-* `src/**/*.js` — matches all files in the `src` directory (any level of nesting) that have the `.js` extension.
-* `src/*.??` — matches all files in the `src` directory (only first level of nesting) that have a two-character extension.
-* `file-[01].js` — matches files: `file-0.js`, `file-1.js`.
-
-### Advanced syntax
-
-* [Escapes characters][micromatch_backslashes] (`\\`) — matching special characters (`$^*+?()[]`) as literals.
-* [POSIX character classes][picomatch_posix_brackets] (`[[:digit:]]`).
-* [Extended globs][micromatch_extglobs] (`?(pattern-list)`).
-* [Bash style brace expansions][micromatch_braces] (`{}`).
-* [Regexp character classes][micromatch_regex_character_classes] (`[1-5]`).
-* [Regex groups][regular_expressions_brackets] (`(a|b)`).
-
-> :book: A few additional words about the [advanced matching behavior][micromatch_extended_globbing].
-
-Some examples:
-
-* `src/**/*.{css,scss}` — matches all files in the `src` directory (any level of nesting) that have the `.css` or `.scss` extension.
-* `file-[[:digit:]].js` — matches files: `file-0.js`, `file-1.js`, …, `file-9.js`.
-* `file-{1..3}.js` — matches files: `file-1.js`, `file-2.js`, `file-3.js`.
-* `file-(1|2)` — matches files: `file-1.js`, `file-2.js`.
-
-## Installation
-
-```console
-npm install fast-glob
-```
-
-## API
-
-### Asynchronous
-
-```js
-fg(patterns, [options])
-```
-
-Returns a `Promise` with an array of matching entries.
-
-```js
-const fg = require('fast-glob');
-
-const entries = await fg(['.editorconfig', '**/index.js'], { dot: true });
-
-// ['.editorconfig', 'services/index.js']
-```
-
-### Synchronous
-
-```js
-fg.sync(patterns, [options])
-```
-
-Returns an array of matching entries.
-
-```js
-const fg = require('fast-glob');
-
-const entries = fg.sync(['.editorconfig', '**/index.js'], { dot: true });
-
-// ['.editorconfig', 'services/index.js']
-```
-
-### Stream
-
-```js
-fg.stream(patterns, [options])
-```
-
-Returns a [`ReadableStream`][node_js_stream_readable_streams] when the `data` event will be emitted with matching entry.
-
-```js
-const fg = require('fast-glob');
-
-const stream = fg.stream(['.editorconfig', '**/index.js'], { dot: true });
-
-for await (const entry of stream) {
- // .editorconfig
- // services/index.js
-}
-```
-
-#### patterns
-
-* Required: `true`
-* Type: `string | string[]`
-
-Any correct pattern(s).
-
-> :1234: [Pattern syntax](#pattern-syntax)
->
-> :warning: This package does not respect the order of patterns. First, all the negative patterns are applied, and only then the positive patterns. If you want to get a certain order of records, use sorting or split calls.
-
-#### [options]
-
-* Required: `false`
-* Type: [`Options`](#options-3)
-
-See [Options](#options-3) section.
-
-### Helpers
-
-#### `generateTasks(patterns, [options])`
-
-Returns the internal representation of patterns ([`Task`](./src/managers/tasks.ts) is a combining patterns by base directory).
-
-```js
-fg.generateTasks('*');
-
-[{
- base: '.', // Parent directory for all patterns inside this task
- dynamic: true, // Dynamic or static patterns are in this task
- patterns: ['*'],
- positive: ['*'],
- negative: []
-}]
-```
-
-##### patterns
-
-* Required: `true`
-* Type: `string | string[]`
-
-Any correct pattern(s).
-
-##### [options]
-
-* Required: `false`
-* Type: [`Options`](#options-3)
-
-See [Options](#options-3) section.
-
-#### `isDynamicPattern(pattern, [options])`
-
-Returns `true` if the passed pattern is a dynamic pattern.
-
-> :1234: [What is a static or dynamic pattern?](#what-is-a-static-or-dynamic-pattern)
-
-```js
-fg.isDynamicPattern('*'); // true
-fg.isDynamicPattern('abc'); // false
-```
-
-##### pattern
-
-* Required: `true`
-* Type: `string`
-
-Any correct pattern.
-
-##### [options]
-
-* Required: `false`
-* Type: [`Options`](#options-3)
-
-See [Options](#options-3) section.
-
-#### `escapePath(pattern)`
-
-Returns a path with escaped special characters (`*?|(){}[]`, `!` at the beginning of line, `@+!` before the opening parenthesis).
-
-```js
-fg.escapePath('!abc'); // \\!abc
-fg.escapePath('C:/Program Files (x86)'); // C:/Program Files \\(x86\\)
-```
-
-##### pattern
-
-* Required: `true`
-* Type: `string`
-
-Any string, for example, a path to a file.
-
-## Options
-
-### Common options
-
-#### concurrency
-
-* Type: `number`
-* Default: `os.cpus().length`
-
-Specifies the maximum number of concurrent requests from a reader to read directories.
-
-> :book: The higher the number, the higher the performance and load on the file system. If you want to read in quiet mode, set the value to a comfortable number or `1`.
-
-#### cwd
-
-* Type: `string`
-* Default: `process.cwd()`
-
-The current working directory in which to search.
-
-#### deep
-
-* Type: `number`
-* Default: `Infinity`
-
-Specifies the maximum depth of a read directory relative to the start directory.
-
-For example, you have the following tree:
-
-```js
-dir/
-└── one/ // 1
- └── two/ // 2
- └── file.js // 3
-```
-
-```js
-// With base directory
-fg.sync('dir/**', { onlyFiles: false, deep: 1 }); // ['dir/one']
-fg.sync('dir/**', { onlyFiles: false, deep: 2 }); // ['dir/one', 'dir/one/two']
-
-// With cwd option
-fg.sync('**', { onlyFiles: false, cwd: 'dir', deep: 1 }); // ['one']
-fg.sync('**', { onlyFiles: false, cwd: 'dir', deep: 2 }); // ['one', 'one/two']
-```
-
-> :book: If you specify a pattern with some base directory, this directory will not participate in the calculation of the depth of the found directories. Think of it as a [`cwd`](#cwd) option.
-
-#### followSymbolicLinks
-
-* Type: `boolean`
-* Default: `true`
-
-Indicates whether to traverse descendants of symbolic link directories when expanding `**` patterns.
-
-> :book: Note that this option does not affect the base directory of the pattern. For example, if `./a` is a symlink to directory `./b` and you specified `['./a**', './b/**']` patterns, then directory `./a` will still be read.
-
-> :book: If the [`stats`](#stats) option is specified, the information about the symbolic link (`fs.lstat`) will be replaced with information about the entry (`fs.stat`) behind it.
-
-#### fs
-
-* Type: `FileSystemAdapter`
-* Default: `fs.*`
-
-Custom implementation of methods for working with the file system.
-
-```ts
-export interface FileSystemAdapter {
- lstat?: typeof fs.lstat;
- stat?: typeof fs.stat;
- lstatSync?: typeof fs.lstatSync;
- statSync?: typeof fs.statSync;
- readdir?: typeof fs.readdir;
- readdirSync?: typeof fs.readdirSync;
-}
-```
-
-#### ignore
-
-* Type: `string[]`
-* Default: `[]`
-
-An array of glob patterns to exclude matches. This is an alternative way to use negative patterns.
-
-```js
-dir/
-├── package-lock.json
-└── package.json
-```
-
-```js
-fg.sync(['*.json', '!package-lock.json']); // ['package.json']
-fg.sync('*.json', { ignore: ['package-lock.json'] }); // ['package.json']
-```
-
-#### suppressErrors
-
-* Type: `boolean`
-* Default: `false`
-
-By default this package suppress only `ENOENT` errors. Set to `true` to suppress any error.
-
-> :book: Can be useful when the directory has entries with a special level of access.
-
-#### throwErrorOnBrokenSymbolicLink
-
-* Type: `boolean`
-* Default: `false`
-
-Throw an error when symbolic link is broken if `true` or safely return `lstat` call if `false`.
-
-> :book: This option has no effect on errors when reading the symbolic link directory.
-
-### Output control
-
-#### absolute
-
-* Type: `boolean`
-* Default: `false`
-
-Return the absolute path for entries.
-
-```js
-fg.sync('*.js', { absolute: false }); // ['index.js']
-fg.sync('*.js', { absolute: true }); // ['/home/user/index.js']
-```
-
-> :book: This option is required if you want to use negative patterns with absolute path, for example, `!${__dirname}/*.js`.
-
-#### markDirectories
-
-* Type: `boolean`
-* Default: `false`
-
-Mark the directory path with the final slash.
-
-```js
-fg.sync('*', { onlyFiles: false, markDirectories: false }); // ['index.js', 'controllers']
-fg.sync('*', { onlyFiles: false, markDirectories: true }); // ['index.js', 'controllers/']
-```
-
-#### objectMode
-
-* Type: `boolean`
-* Default: `false`
-
-Returns objects (instead of strings) describing entries.
-
-```js
-fg.sync('*', { objectMode: false }); // ['src/index.js']
-fg.sync('*', { objectMode: true }); // [{ name: 'index.js', path: 'src/index.js', dirent: <fs.Dirent> }]
-```
-
-The object has the following fields:
-
-* name (`string`) — the last part of the path (basename)
-* path (`string`) — full path relative to the pattern base directory
-* dirent ([`fs.Dirent`][node_js_fs_class_fs_dirent]) — instance of `fs.Dirent`
-
-> :book: An object is an internal representation of entry, so getting it does not affect performance.
-
-#### onlyDirectories
-
-* Type: `boolean`
-* Default: `false`
-
-Return only directories.
-
-```js
-fg.sync('*', { onlyDirectories: false }); // ['index.js', 'src']
-fg.sync('*', { onlyDirectories: true }); // ['src']
-```
-
-> :book: If `true`, the [`onlyFiles`](#onlyfiles) option is automatically `false`.
-
-#### onlyFiles
-
-* Type: `boolean`
-* Default: `true`
-
-Return only files.
-
-```js
-fg.sync('*', { onlyFiles: false }); // ['index.js', 'src']
-fg.sync('*', { onlyFiles: true }); // ['index.js']
-```
-
-#### stats
-
-* Type: `boolean`
-* Default: `false`
-
-Enables an [object mode](#objectmode) with an additional field:
-
-* stats ([`fs.Stats`][node_js_fs_class_fs_stats]) — instance of `fs.Stats`
-
-```js
-fg.sync('*', { stats: false }); // ['src/index.js']
-fg.sync('*', { stats: true }); // [{ name: 'index.js', path: 'src/index.js', dirent: <fs.Dirent>, stats: <fs.Stats> }]
-```
-
-> :book: Returns `fs.stat` instead of `fs.lstat` for symbolic links when the [`followSymbolicLinks`](#followsymboliclinks) option is specified.
->
-> :warning: Unlike [object mode](#objectmode) this mode requires additional calls to the file system. On average, this mode is slower at least twice. See [old and modern mode](#old-and-modern-mode) for more details.
-
-#### unique
-
-* Type: `boolean`
-* Default: `true`
-
-Ensures that the returned entries are unique.
-
-```js
-fg.sync(['*.json', 'package.json'], { unique: false }); // ['package.json', 'package.json']
-fg.sync(['*.json', 'package.json'], { unique: true }); // ['package.json']
-```
-
-If `true` and similar entries are found, the result is the first found.
-
-### Matching control
-
-#### braceExpansion
-
-* Type: `boolean`
-* Default: `true`
-
-Enables Bash-like brace expansion.
-
-> :1234: [Syntax description][bash_hackers_syntax_expansion_brace] or more [detailed description][micromatch_braces].
-
-```js
-dir/
-├── abd
-├── acd
-└── a{b,c}d
-```
-
-```js
-fg.sync('a{b,c}d', { braceExpansion: false }); // ['a{b,c}d']
-fg.sync('a{b,c}d', { braceExpansion: true }); // ['abd', 'acd']
-```
-
-#### caseSensitiveMatch
-
-* Type: `boolean`
-* Default: `true`
-
-Enables a [case-sensitive][wikipedia_case_sensitivity] mode for matching files.
-
-```js
-dir/
-├── file.txt
-└── File.txt
-```
-
-```js
-fg.sync('file.txt', { caseSensitiveMatch: false }); // ['file.txt', 'File.txt']
-fg.sync('file.txt', { caseSensitiveMatch: true }); // ['file.txt']
-```
-
-#### dot
-
-* Type: `boolean`
-* Default: `false`
-
-Allow patterns to match entries that begin with a period (`.`).
-
-> :book: Note that an explicit dot in a portion of the pattern will always match dot files.
-
-```js
-dir/
-├── .editorconfig
-└── package.json
-```
-
-```js
-fg.sync('*', { dot: false }); // ['package.json']
-fg.sync('*', { dot: true }); // ['.editorconfig', 'package.json']
-```
-
-#### extglob
-
-* Type: `boolean`
-* Default: `true`
-
-Enables Bash-like `extglob` functionality.
-
-> :1234: [Syntax description][micromatch_extglobs].
-
-```js
-dir/
-├── README.md
-└── package.json
-```
-
-```js
-fg.sync('*.+(json|md)', { extglob: false }); // []
-fg.sync('*.+(json|md)', { extglob: true }); // ['README.md', 'package.json']
-```
-
-#### globstar
-
-* Type: `boolean`
-* Default: `true`
-
-Enables recursively repeats a pattern containing `**`. If `false`, `**` behaves exactly like `*`.
-
-```js
-dir/
-└── a
- └── b
-```
-
-```js
-fg.sync('**', { onlyFiles: false, globstar: false }); // ['a']
-fg.sync('**', { onlyFiles: false, globstar: true }); // ['a', 'a/b']
-```
-
-#### baseNameMatch
-
-* Type: `boolean`
-* Default: `false`
-
-If set to `true`, then patterns without slashes will be matched against the basename of the path if it contains slashes.
-
-```js
-dir/
-└── one/
- └── file.md
-```
-
-```js
-fg.sync('*.md', { baseNameMatch: false }); // []
-fg.sync('*.md', { baseNameMatch: true }); // ['one/file.md']
-```
-
-## FAQ
-
-## What is a static or dynamic pattern?
-
-All patterns can be divided into two types:
-
-* **static**. A pattern is considered static if it can be used to get an entry on the file system without using matching mechanisms. For example, the `file.js` pattern is a static pattern because we can just verify that it exists on the file system.
-* **dynamic**. A pattern is considered dynamic if it cannot be used directly to find occurrences without using a matching mechanisms. For example, the `*` pattern is a dynamic pattern because we cannot use this pattern directly.
-
-A pattern is considered dynamic if it contains the following characters (`…` — any characters or their absence) or options:
-
-* The [`caseSensitiveMatch`](#casesensitivematch) option is disabled
-* `\\` (the escape character)
-* `*`, `?`, `!` (at the beginning of line)
-* `[…]`
-* `(…|…)`
-* `@(…)`, `!(…)`, `*(…)`, `?(…)`, `+(…)` (respects the [`extglob`](#extglob) option)
-* `{…,…}`, `{…..…}` (respects the [`braceExpansion`](#braceexpansion) option)
-
-## How to write patterns on Windows?
-
-Always use forward-slashes in glob expressions (patterns and [`ignore`](#ignore) option). Use backslashes for escaping characters. With the [`cwd`](#cwd) option use a convenient format.
-
-**Bad**
-
-```ts
-[
- 'directory\\*',
- path.join(process.cwd(), '**')
-]
-```
-
-**Good**
-
-```ts
-[
- 'directory/*',
- path.join(process.cwd(), '**').replace(/\\/g, '/')
-]
-```
-
-> :book: Use the [`normalize-path`][npm_normalize_path] or the [`unixify`][npm_unixify] package to convert Windows-style path to a Unix-style path.
-
-Read more about [matching with backslashes][micromatch_backslashes].
-
-## Why are parentheses match wrong?
-
-```js
-dir/
-└── (special-*file).txt
-```
-
-```js
-fg.sync(['(special-*file).txt']) // []
-```
-
-Refers to Bash. You need to escape special characters:
-
-```js
-fg.sync(['\\(special-*file\\).txt']) // ['(special-*file).txt']
-```
-
-Read more about [matching special characters as literals][picomatch_matching_special_characters_as_literals].
-
-## How to exclude directory from reading?
-
-You can use a negative pattern like this: `!**/node_modules` or `!**/node_modules/**`. Also you can use [`ignore`](#ignore) option. Just look at the example below.
-
-```js
-first/
-├── file.md
-└── second/
- └── file.txt
-```
-
-If you don't want to read the `second` directory, you must write the following pattern: `!**/second` or `!**/second/**`.
-
-```js
-fg.sync(['**/*.md', '!**/second']); // ['first/file.md']
-fg.sync(['**/*.md'], { ignore: ['**/second/**'] }); // ['first/file.md']
-```
-
-> :warning: When you write `!**/second/**/*` it means that the directory will be **read**, but all the entries will not be included in the results.
-
-You have to understand that if you write the pattern to exclude directories, then the directory will not be read under any circumstances.
-
-## How to use UNC path?
-
-You cannot use [Uniform Naming Convention (UNC)][unc_path] paths as patterns (due to syntax), but you can use them as [`cwd`](#cwd) directory.
-
-```ts
-fg.sync('*', { cwd: '\\\\?\\C:\\Python27' /* or //?/C:/Python27 */ });
-fg.sync('Python27/*', { cwd: '\\\\?\\C:\\' /* or //?/C:/ */ });
-```
-
-## Compatible with `node-glob`?
-
-| node-glob | fast-glob |
-| :----------: | :-------: |
-| `cwd` | [`cwd`](#cwd) |
-| `root` | – |
-| `dot` | [`dot`](#dot) |
-| `nomount` | – |
-| `mark` | [`markDirectories`](#markdirectories) |
-| `nosort` | – |
-| `nounique` | [`unique`](#unique) |
-| `nobrace` | [`braceExpansion`](#braceexpansion) |
-| `noglobstar` | [`globstar`](#globstar) |
-| `noext` | [`extglob`](#extglob) |
-| `nocase` | [`caseSensitiveMatch`](#casesensitivematch) |
-| `matchBase` | [`baseNameMatch`](#basenamematch) |
-| `nodir` | [`onlyFiles`](#onlyfiles) |
-| `ignore` | [`ignore`](#ignore) |
-| `follow` | [`followSymbolicLinks`](#followsymboliclinks) |
-| `realpath` | – |
-| `absolute` | [`absolute`](#absolute) |
-
-## Benchmarks
-
-### Server
-
-Link: [Vultr Bare Metal][vultr_pricing_baremetal]
-
-* Processor: E3-1270v6 (8 CPU)
-* RAM: 32GB
-* Disk: SSD ([Intel DC S3520 SSDSC2BB240G7][intel_ssd])
-
-You can see results [here][github_gist_benchmark_server] for latest release.
-
-### Nettop
-
-Link: [Zotac bi323][zotac_bi323]
-
-* Processor: Intel N3150 (4 CPU)
-* RAM: 8GB
-* Disk: SSD ([Silicon Power SP060GBSS3S55S25][silicon_power_ssd])
-
-You can see results [here][github_gist_benchmark_nettop] for latest release.
-
-## Changelog
-
-See the [Releases section of our GitHub project][github_releases] for changelog for each release version.
-
-## License
-
-This software is released under the terms of the MIT license.
-
-[bash_hackers_syntax_expansion_brace]: https://wiki.bash-hackers.org/syntax/expansion/brace
-[github_gist_benchmark_nettop]: https://gist.github.com/mrmlnc/f06246b197f53c356895fa35355a367c#file-fg-benchmark-nettop-product-txt
-[github_gist_benchmark_server]: https://gist.github.com/mrmlnc/f06246b197f53c356895fa35355a367c#file-fg-benchmark-server-product-txt
-[github_releases]: https://github.com/mrmlnc/fast-glob/releases
-[glob_definition]: https://en.wikipedia.org/wiki/Glob_(programming)
-[glob_linux_man]: http://man7.org/linux/man-pages/man3/glob.3.html
-[intel_ssd]: https://ark.intel.com/content/www/us/en/ark/products/93012/intel-ssd-dc-s3520-series-240gb-2-5in-sata-6gb-s-3d1-mlc.html
-[micromatch_backslashes]: https://github.com/micromatch/micromatch#backslashes
-[micromatch_braces]: https://github.com/micromatch/braces
-[micromatch_extended_globbing]: https://github.com/micromatch/micromatch#extended-globbing
-[micromatch_extglobs]: https://github.com/micromatch/micromatch#extglobs
-[micromatch_regex_character_classes]: https://github.com/micromatch/micromatch#regex-character-classes
-[micromatch]: https://github.com/micromatch/micromatch
-[node_js_fs_class_fs_dirent]: https://nodejs.org/api/fs.html#fs_class_fs_dirent
-[node_js_fs_class_fs_stats]: https://nodejs.org/api/fs.html#fs_class_fs_stats
-[node_js_stream_readable_streams]: https://nodejs.org/api/stream.html#stream_readable_streams
-[node_js]: https://nodejs.org/en
-[nodelib_fs_scandir_old_and_modern_modern]: https://github.com/nodelib/nodelib/blob/master/packages/fs/fs.scandir/README.md#old-and-modern-mode
-[npm_normalize_path]: https://www.npmjs.com/package/normalize-path
-[npm_unixify]: https://www.npmjs.com/package/unixify
-[paypal_mrmlnc]:https://paypal.me/mrmlnc
-[picomatch_matching_behavior]: https://github.com/micromatch/picomatch#matching-behavior-vs-bash
-[picomatch_matching_special_characters_as_literals]: https://github.com/micromatch/picomatch#matching-special-characters-as-literals
-[picomatch_posix_brackets]: https://github.com/micromatch/picomatch#posix-brackets
-[regular_expressions_brackets]: https://www.regular-expressions.info/brackets.html
-[silicon_power_ssd]: https://www.silicon-power.com/web/product-1
-[unc_path]: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dtyp/62e862f4-2a51-452e-8eeb-dc4ff5ee33cc
-[vultr_pricing_baremetal]: https://www.vultr.com/pricing/baremetal
-[wikipedia_case_sensitivity]: https://en.wikipedia.org/wiki/Case_sensitivity
-[zotac_bi323]: https://www.zotac.com/ee/product/mini_pcs/zbox-bi323
diff --git a/includes/search/node_modules/fast-glob/out/index.d.ts b/includes/search/node_modules/fast-glob/out/index.d.ts
deleted file mode 100644
index 54daa45..0000000
--- a/includes/search/node_modules/fast-glob/out/index.d.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/// <reference types="node" />
-import * as taskManager from './managers/tasks';
-import { Options as OptionsInternal } from './settings';
-import { Entry as EntryInternal, FileSystemAdapter as FileSystemAdapterInternal, Pattern as PatternInternal } from './types';
-declare type EntryObjectModePredicate = {
- [TKey in keyof Pick<OptionsInternal, 'objectMode'>]-?: true;
-};
-declare type EntryStatsPredicate = {
- [TKey in keyof Pick<OptionsInternal, 'stats'>]-?: true;
-};
-declare type EntryObjectPredicate = EntryObjectModePredicate | EntryStatsPredicate;
-declare function FastGlob(source: PatternInternal | PatternInternal[], options: OptionsInternal & EntryObjectPredicate): Promise<EntryInternal[]>;
-declare function FastGlob(source: PatternInternal | PatternInternal[], options?: OptionsInternal): Promise<string[]>;
-declare namespace FastGlob {
- type Options = OptionsInternal;
- type Entry = EntryInternal;
- type Task = taskManager.Task;
- type Pattern = PatternInternal;
- type FileSystemAdapter = FileSystemAdapterInternal;
- function sync(source: PatternInternal | PatternInternal[], options: OptionsInternal & EntryObjectPredicate): EntryInternal[];
- function sync(source: PatternInternal | PatternInternal[], options?: OptionsInternal): string[];
- function stream(source: PatternInternal | PatternInternal[], options?: OptionsInternal): NodeJS.ReadableStream;
- function generateTasks(source: PatternInternal | PatternInternal[], options?: OptionsInternal): Task[];
- function isDynamicPattern(source: PatternInternal, options?: OptionsInternal): boolean;
- function escapePath(source: PatternInternal): PatternInternal;
-}
-export = FastGlob;
diff --git a/includes/search/node_modules/fast-glob/out/index.js b/includes/search/node_modules/fast-glob/out/index.js
deleted file mode 100644
index 5397852..0000000
--- a/includes/search/node_modules/fast-glob/out/index.js
+++ /dev/null
@@ -1,68 +0,0 @@
-"use strict";
-const taskManager = require("./managers/tasks");
-const patternManager = require("./managers/patterns");
-const async_1 = require("./providers/async");
-const stream_1 = require("./providers/stream");
-const sync_1 = require("./providers/sync");
-const settings_1 = require("./settings");
-const utils = require("./utils");
-async function FastGlob(source, options) {
- assertPatternsInput(source);
- const works = getWorks(source, async_1.default, options);
- const result = await Promise.all(works);
- return utils.array.flatten(result);
-}
-// https://github.com/typescript-eslint/typescript-eslint/issues/60
-// eslint-disable-next-line no-redeclare
-(function (FastGlob) {
- function sync(source, options) {
- assertPatternsInput(source);
- const works = getWorks(source, sync_1.default, options);
- return utils.array.flatten(works);
- }
- FastGlob.sync = sync;
- function stream(source, options) {
- assertPatternsInput(source);
- const works = getWorks(source, stream_1.default, options);
- /**
- * The stream returned by the provider cannot work with an asynchronous iterator.
- * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams.
- * This affects performance (+25%). I don't see best solution right now.
- */
- return utils.stream.merge(works);
- }
- FastGlob.stream = stream;
- function generateTasks(source, options) {
- assertPatternsInput(source);
- const patterns = patternManager.transform([].concat(source));
- const settings = new settings_1.default(options);
- return taskManager.generate(patterns, settings);
- }
- FastGlob.generateTasks = generateTasks;
- function isDynamicPattern(source, options) {
- assertPatternsInput(source);
- const settings = new settings_1.default(options);
- return utils.pattern.isDynamicPattern(source, settings);
- }
- FastGlob.isDynamicPattern = isDynamicPattern;
- function escapePath(source) {
- assertPatternsInput(source);
- return utils.path.escape(source);
- }
- FastGlob.escapePath = escapePath;
-})(FastGlob || (FastGlob = {}));
-function getWorks(source, _Provider, options) {
- const patterns = patternManager.transform([].concat(source));
- const settings = new settings_1.default(options);
- const tasks = taskManager.generate(patterns, settings);
- const provider = new _Provider(settings);
- return tasks.map(provider.read, provider);
-}
-function assertPatternsInput(input) {
- const source = [].concat(input);
- const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item));
- if (!isValidSource) {
- throw new TypeError('Patterns must be a string (non empty) or an array of strings');
- }
-}
-module.exports = FastGlob;
diff --git a/includes/search/node_modules/fast-glob/out/managers/patterns.d.ts b/includes/search/node_modules/fast-glob/out/managers/patterns.d.ts
deleted file mode 100644
index 2a7d7ae..0000000
--- a/includes/search/node_modules/fast-glob/out/managers/patterns.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export declare function transform(patterns: string[]): string[];
-/**
- * This package only works with forward slashes as a path separator.
- * Because of this, we cannot use the standard `path.normalize` method, because on Windows platform it will use of backslashes.
- */
-export declare function removeDuplicateSlashes(pattern: string): string;
diff --git a/includes/search/node_modules/fast-glob/out/managers/patterns.js b/includes/search/node_modules/fast-glob/out/managers/patterns.js
deleted file mode 100644
index a2f0593..0000000
--- a/includes/search/node_modules/fast-glob/out/managers/patterns.js
+++ /dev/null
@@ -1,21 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.removeDuplicateSlashes = exports.transform = void 0;
-/**
- * Matches a sequence of two or more consecutive slashes, excluding the first two slashes at the beginning of the string.
- * The latter is due to the presence of the device path at the beginning of the UNC path.
- * @todo rewrite to negative lookbehind with the next major release.
- */
-const DOUBLE_SLASH_RE = /(?!^)\/{2,}/g;
-function transform(patterns) {
- return patterns.map((pattern) => removeDuplicateSlashes(pattern));
-}
-exports.transform = transform;
-/**
- * This package only works with forward slashes as a path separator.
- * Because of this, we cannot use the standard `path.normalize` method, because on Windows platform it will use of backslashes.
- */
-function removeDuplicateSlashes(pattern) {
- return pattern.replace(DOUBLE_SLASH_RE, '/');
-}
-exports.removeDuplicateSlashes = removeDuplicateSlashes;
diff --git a/includes/search/node_modules/fast-glob/out/managers/tasks.d.ts b/includes/search/node_modules/fast-glob/out/managers/tasks.d.ts
deleted file mode 100644
index aa746a8..0000000
--- a/includes/search/node_modules/fast-glob/out/managers/tasks.d.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import Settings from '../settings';
-import { Pattern, PatternsGroup } from '../types';
-export declare type Task = {
- base: string;
- dynamic: boolean;
- patterns: Pattern[];
- positive: Pattern[];
- negative: Pattern[];
-};
-export declare function generate(patterns: Pattern[], settings: Settings): Task[];
-/**
- * Returns tasks grouped by basic pattern directories.
- *
- * Patterns that can be found inside (`./`) and outside (`../`) the current directory are handled separately.
- * This is necessary because directory traversal starts at the base directory and goes deeper.
- */
-export declare function convertPatternsToTasks(positive: Pattern[], negative: Pattern[], dynamic: boolean): Task[];
-export declare function getPositivePatterns(patterns: Pattern[]): Pattern[];
-export declare function getNegativePatternsAsPositive(patterns: Pattern[], ignore: Pattern[]): Pattern[];
-export declare function groupPatternsByBaseDirectory(patterns: Pattern[]): PatternsGroup;
-export declare function convertPatternGroupsToTasks(positive: PatternsGroup, negative: Pattern[], dynamic: boolean): Task[];
-export declare function convertPatternGroupToTask(base: string, positive: Pattern[], negative: Pattern[], dynamic: boolean): Task;
diff --git a/includes/search/node_modules/fast-glob/out/managers/tasks.js b/includes/search/node_modules/fast-glob/out/managers/tasks.js
deleted file mode 100644
index b69ce87..0000000
--- a/includes/search/node_modules/fast-glob/out/managers/tasks.js
+++ /dev/null
@@ -1,80 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0;
-const utils = require("../utils");
-function generate(patterns, settings) {
- const positivePatterns = getPositivePatterns(patterns);
- const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore);
- const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings));
- const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings));
- const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, /* dynamic */ false);
- const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, /* dynamic */ true);
- return staticTasks.concat(dynamicTasks);
-}
-exports.generate = generate;
-/**
- * Returns tasks grouped by basic pattern directories.
- *
- * Patterns that can be found inside (`./`) and outside (`../`) the current directory are handled separately.
- * This is necessary because directory traversal starts at the base directory and goes deeper.
- */
-function convertPatternsToTasks(positive, negative, dynamic) {
- const tasks = [];
- const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive);
- const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive);
- const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory);
- const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory);
- tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic));
- /*
- * For the sake of reducing future accesses to the file system, we merge all tasks within the current directory
- * into a global task, if at least one pattern refers to the root (`.`). In this case, the global task covers the rest.
- */
- if ('.' in insideCurrentDirectoryGroup) {
- tasks.push(convertPatternGroupToTask('.', patternsInsideCurrentDirectory, negative, dynamic));
- }
- else {
- tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic));
- }
- return tasks;
-}
-exports.convertPatternsToTasks = convertPatternsToTasks;
-function getPositivePatterns(patterns) {
- return utils.pattern.getPositivePatterns(patterns);
-}
-exports.getPositivePatterns = getPositivePatterns;
-function getNegativePatternsAsPositive(patterns, ignore) {
- const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore);
- const positive = negative.map(utils.pattern.convertToPositivePattern);
- return positive;
-}
-exports.getNegativePatternsAsPositive = getNegativePatternsAsPositive;
-function groupPatternsByBaseDirectory(patterns) {
- const group = {};
- return patterns.reduce((collection, pattern) => {
- const base = utils.pattern.getBaseDirectory(pattern);
- if (base in collection) {
- collection[base].push(pattern);
- }
- else {
- collection[base] = [pattern];
- }
- return collection;
- }, group);
-}
-exports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory;
-function convertPatternGroupsToTasks(positive, negative, dynamic) {
- return Object.keys(positive).map((base) => {
- return convertPatternGroupToTask(base, positive[base], negative, dynamic);
- });
-}
-exports.convertPatternGroupsToTasks = convertPatternGroupsToTasks;
-function convertPatternGroupToTask(base, positive, negative, dynamic) {
- return {
- dynamic,
- positive,
- negative,
- base,
- patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern))
- };
-}
-exports.convertPatternGroupToTask = convertPatternGroupToTask;
diff --git a/includes/search/node_modules/fast-glob/out/providers/async.d.ts b/includes/search/node_modules/fast-glob/out/providers/async.d.ts
deleted file mode 100644
index 14665b1..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/async.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { Task } from '../managers/tasks';
-import { Entry, EntryItem, ReaderOptions } from '../types';
-import ReaderAsync from '../readers/async';
-import Provider from './provider';
-export default class ProviderAsync extends Provider<Promise<EntryItem[]>> {
- protected _reader: ReaderAsync;
- read(task: Task): Promise<EntryItem[]>;
- api(root: string, task: Task, options: ReaderOptions): Promise<Entry[]>;
-}
diff --git a/includes/search/node_modules/fast-glob/out/providers/async.js b/includes/search/node_modules/fast-glob/out/providers/async.js
deleted file mode 100644
index c8732e0..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/async.js
+++ /dev/null
@@ -1,23 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const async_1 = require("../readers/async");
-const provider_1 = require("./provider");
-class ProviderAsync extends provider_1.default {
- constructor() {
- super(...arguments);
- this._reader = new async_1.default(this._settings);
- }
- async read(task) {
- const root = this._getRootDirectory(task);
- const options = this._getReaderOptions(task);
- const entries = await this.api(root, task, options);
- return entries.map((entry) => options.transform(entry));
- }
- api(root, task, options) {
- if (task.dynamic) {
- return this._reader.dynamic(root, options);
- }
- return this._reader.static(task.patterns, options);
- }
-}
-exports.default = ProviderAsync;
diff --git a/includes/search/node_modules/fast-glob/out/providers/filters/deep.d.ts b/includes/search/node_modules/fast-glob/out/providers/filters/deep.d.ts
deleted file mode 100644
index 22586a9..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/filters/deep.d.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { MicromatchOptions, EntryFilterFunction, Pattern } from '../../types';
-import Settings from '../../settings';
-export default class DeepFilter {
- private readonly _settings;
- private readonly _micromatchOptions;
- constructor(_settings: Settings, _micromatchOptions: MicromatchOptions);
- getFilter(basePath: string, positive: Pattern[], negative: Pattern[]): EntryFilterFunction;
- private _getMatcher;
- private _getNegativePatternsRe;
- private _filter;
- private _isSkippedByDeep;
- private _getEntryLevel;
- private _isSkippedSymbolicLink;
- private _isSkippedByPositivePatterns;
- private _isSkippedByNegativePatterns;
-}
diff --git a/includes/search/node_modules/fast-glob/out/providers/filters/deep.js b/includes/search/node_modules/fast-glob/out/providers/filters/deep.js
deleted file mode 100644
index 819c260..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/filters/deep.js
+++ /dev/null
@@ -1,62 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const utils = require("../../utils");
-const partial_1 = require("../matchers/partial");
-class DeepFilter {
- constructor(_settings, _micromatchOptions) {
- this._settings = _settings;
- this._micromatchOptions = _micromatchOptions;
- }
- getFilter(basePath, positive, negative) {
- const matcher = this._getMatcher(positive);
- const negativeRe = this._getNegativePatternsRe(negative);
- return (entry) => this._filter(basePath, entry, matcher, negativeRe);
- }
- _getMatcher(patterns) {
- return new partial_1.default(patterns, this._settings, this._micromatchOptions);
- }
- _getNegativePatternsRe(patterns) {
- const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern);
- return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);
- }
- _filter(basePath, entry, matcher, negativeRe) {
- if (this._isSkippedByDeep(basePath, entry.path)) {
- return false;
- }
- if (this._isSkippedSymbolicLink(entry)) {
- return false;
- }
- const filepath = utils.path.removeLeadingDotSegment(entry.path);
- if (this._isSkippedByPositivePatterns(filepath, matcher)) {
- return false;
- }
- return this._isSkippedByNegativePatterns(filepath, negativeRe);
- }
- _isSkippedByDeep(basePath, entryPath) {
- /**
- * Avoid unnecessary depth calculations when it doesn't matter.
- */
- if (this._settings.deep === Infinity) {
- return false;
- }
- return this._getEntryLevel(basePath, entryPath) >= this._settings.deep;
- }
- _getEntryLevel(basePath, entryPath) {
- const entryPathDepth = entryPath.split('/').length;
- if (basePath === '') {
- return entryPathDepth;
- }
- const basePathDepth = basePath.split('/').length;
- return entryPathDepth - basePathDepth;
- }
- _isSkippedSymbolicLink(entry) {
- return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink();
- }
- _isSkippedByPositivePatterns(entryPath, matcher) {
- return !this._settings.baseNameMatch && !matcher.match(entryPath);
- }
- _isSkippedByNegativePatterns(entryPath, patternsRe) {
- return !utils.pattern.matchAny(entryPath, patternsRe);
- }
-}
-exports.default = DeepFilter;
diff --git a/includes/search/node_modules/fast-glob/out/providers/filters/entry.d.ts b/includes/search/node_modules/fast-glob/out/providers/filters/entry.d.ts
deleted file mode 100644
index 2f21c43..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/filters/entry.d.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import Settings from '../../settings';
-import { EntryFilterFunction, MicromatchOptions, Pattern } from '../../types';
-export default class EntryFilter {
- private readonly _settings;
- private readonly _micromatchOptions;
- readonly index: Map<string, undefined>;
- constructor(_settings: Settings, _micromatchOptions: MicromatchOptions);
- getFilter(positive: Pattern[], negative: Pattern[]): EntryFilterFunction;
- private _filter;
- private _isDuplicateEntry;
- private _createIndexRecord;
- private _onlyFileFilter;
- private _onlyDirectoryFilter;
- private _isSkippedByAbsoluteNegativePatterns;
- private _isMatchToPatterns;
-}
diff --git a/includes/search/node_modules/fast-glob/out/providers/filters/entry.js b/includes/search/node_modules/fast-glob/out/providers/filters/entry.js
deleted file mode 100644
index bf11320..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/filters/entry.js
+++ /dev/null
@@ -1,64 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const utils = require("../../utils");
-class EntryFilter {
- constructor(_settings, _micromatchOptions) {
- this._settings = _settings;
- this._micromatchOptions = _micromatchOptions;
- this.index = new Map();
- }
- getFilter(positive, negative) {
- const positiveRe = utils.pattern.convertPatternsToRe(positive, this._micromatchOptions);
- const negativeRe = utils.pattern.convertPatternsToRe(negative, this._micromatchOptions);
- return (entry) => this._filter(entry, positiveRe, negativeRe);
- }
- _filter(entry, positiveRe, negativeRe) {
- if (this._settings.unique && this._isDuplicateEntry(entry)) {
- return false;
- }
- if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) {
- return false;
- }
- if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) {
- return false;
- }
- const filepath = this._settings.baseNameMatch ? entry.name : entry.path;
- const isDirectory = entry.dirent.isDirectory();
- const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory) && !this._isMatchToPatterns(entry.path, negativeRe, isDirectory);
- if (this._settings.unique && isMatched) {
- this._createIndexRecord(entry);
- }
- return isMatched;
- }
- _isDuplicateEntry(entry) {
- return this.index.has(entry.path);
- }
- _createIndexRecord(entry) {
- this.index.set(entry.path, undefined);
- }
- _onlyFileFilter(entry) {
- return this._settings.onlyFiles && !entry.dirent.isFile();
- }
- _onlyDirectoryFilter(entry) {
- return this._settings.onlyDirectories && !entry.dirent.isDirectory();
- }
- _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) {
- if (!this._settings.absolute) {
- return false;
- }
- const fullpath = utils.path.makeAbsolute(this._settings.cwd, entryPath);
- return utils.pattern.matchAny(fullpath, patternsRe);
- }
- _isMatchToPatterns(entryPath, patternsRe, isDirectory) {
- const filepath = utils.path.removeLeadingDotSegment(entryPath);
- // Trying to match files and directories by patterns.
- const isMatched = utils.pattern.matchAny(filepath, patternsRe);
- // A pattern with a trailling slash can be used for directory matching.
- // To apply such pattern, we need to add a tralling slash to the path.
- if (!isMatched && isDirectory) {
- return utils.pattern.matchAny(filepath + '/', patternsRe);
- }
- return isMatched;
- }
-}
-exports.default = EntryFilter;
diff --git a/includes/search/node_modules/fast-glob/out/providers/filters/error.d.ts b/includes/search/node_modules/fast-glob/out/providers/filters/error.d.ts
deleted file mode 100644
index 1e9d738..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/filters/error.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import Settings from '../../settings';
-import { ErrorFilterFunction } from '../../types';
-export default class ErrorFilter {
- private readonly _settings;
- constructor(_settings: Settings);
- getFilter(): ErrorFilterFunction;
- private _isNonFatalError;
-}
diff --git a/includes/search/node_modules/fast-glob/out/providers/filters/error.js b/includes/search/node_modules/fast-glob/out/providers/filters/error.js
deleted file mode 100644
index f93bdc0..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/filters/error.js
+++ /dev/null
@@ -1,15 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const utils = require("../../utils");
-class ErrorFilter {
- constructor(_settings) {
- this._settings = _settings;
- }
- getFilter() {
- return (error) => this._isNonFatalError(error);
- }
- _isNonFatalError(error) {
- return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors;
- }
-}
-exports.default = ErrorFilter;
diff --git a/includes/search/node_modules/fast-glob/out/providers/matchers/matcher.d.ts b/includes/search/node_modules/fast-glob/out/providers/matchers/matcher.d.ts
deleted file mode 100644
index fde0bd5..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/matchers/matcher.d.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Pattern, MicromatchOptions, PatternRe } from '../../types';
-import Settings from '../../settings';
-export declare type PatternSegment = StaticPatternSegment | DynamicPatternSegment;
-declare type StaticPatternSegment = {
- dynamic: false;
- pattern: Pattern;
-};
-declare type DynamicPatternSegment = {
- dynamic: true;
- pattern: Pattern;
- patternRe: PatternRe;
-};
-export declare type PatternSection = PatternSegment[];
-export declare type PatternInfo = {
- /**
- * Indicates that the pattern has a globstar (more than a single section).
- */
- complete: boolean;
- pattern: Pattern;
- segments: PatternSegment[];
- sections: PatternSection[];
-};
-export default abstract class Matcher {
- private readonly _patterns;
- private readonly _settings;
- private readonly _micromatchOptions;
- protected readonly _storage: PatternInfo[];
- constructor(_patterns: Pattern[], _settings: Settings, _micromatchOptions: MicromatchOptions);
- private _fillStorage;
- private _getPatternSegments;
- private _splitSegmentsIntoSections;
-}
-export {};
diff --git a/includes/search/node_modules/fast-glob/out/providers/matchers/matcher.js b/includes/search/node_modules/fast-glob/out/providers/matchers/matcher.js
deleted file mode 100644
index 44b2cc7..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/matchers/matcher.js
+++ /dev/null
@@ -1,50 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const utils = require("../../utils");
-class Matcher {
- constructor(_patterns, _settings, _micromatchOptions) {
- this._patterns = _patterns;
- this._settings = _settings;
- this._micromatchOptions = _micromatchOptions;
- this._storage = [];
- this._fillStorage();
- }
- _fillStorage() {
- /**
- * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level).
- * So, before expand patterns with brace expansion into separated patterns.
- */
- const patterns = utils.pattern.expandPatternsWithBraceExpansion(this._patterns);
- for (const pattern of patterns) {
- const segments = this._getPatternSegments(pattern);
- const sections = this._splitSegmentsIntoSections(segments);
- this._storage.push({
- complete: sections.length <= 1,
- pattern,
- segments,
- sections
- });
- }
- }
- _getPatternSegments(pattern) {
- const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions);
- return parts.map((part) => {
- const dynamic = utils.pattern.isDynamicPattern(part, this._settings);
- if (!dynamic) {
- return {
- dynamic: false,
- pattern: part
- };
- }
- return {
- dynamic: true,
- pattern: part,
- patternRe: utils.pattern.makeRe(part, this._micromatchOptions)
- };
- });
- }
- _splitSegmentsIntoSections(segments) {
- return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern));
- }
-}
-exports.default = Matcher;
diff --git a/includes/search/node_modules/fast-glob/out/providers/matchers/partial.d.ts b/includes/search/node_modules/fast-glob/out/providers/matchers/partial.d.ts
deleted file mode 100644
index a5c93ba..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/matchers/partial.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import Matcher from './matcher';
-export default class PartialMatcher extends Matcher {
- match(filepath: string): boolean;
-}
diff --git a/includes/search/node_modules/fast-glob/out/providers/matchers/partial.js b/includes/search/node_modules/fast-glob/out/providers/matchers/partial.js
deleted file mode 100644
index f6a77e0..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/matchers/partial.js
+++ /dev/null
@@ -1,38 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const matcher_1 = require("./matcher");
-class PartialMatcher extends matcher_1.default {
- match(filepath) {
- const parts = filepath.split('/');
- const levels = parts.length;
- const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);
- for (const pattern of patterns) {
- const section = pattern.sections[0];
- /**
- * In this case, the pattern has a globstar and we must read all directories unconditionally,
- * but only if the level has reached the end of the first group.
- *
- * fixtures/{a,b}/**
- * ^ true/false ^ always true
- */
- if (!pattern.complete && levels > section.length) {
- return true;
- }
- const match = parts.every((part, index) => {
- const segment = pattern.segments[index];
- if (segment.dynamic && segment.patternRe.test(part)) {
- return true;
- }
- if (!segment.dynamic && segment.pattern === part) {
- return true;
- }
- return false;
- });
- if (match) {
- return true;
- }
- }
- return false;
- }
-}
-exports.default = PartialMatcher;
diff --git a/includes/search/node_modules/fast-glob/out/providers/provider.d.ts b/includes/search/node_modules/fast-glob/out/providers/provider.d.ts
deleted file mode 100644
index ccafd17..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/provider.d.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { Task } from '../managers/tasks';
-import Settings from '../settings';
-import { MicromatchOptions, ReaderOptions } from '../types';
-import DeepFilter from './filters/deep';
-import EntryFilter from './filters/entry';
-import ErrorFilter from './filters/error';
-import EntryTransformer from './transformers/entry';
-export default abstract class Provider<T> {
- protected readonly _settings: Settings;
- readonly errorFilter: ErrorFilter;
- readonly entryFilter: EntryFilter;
- readonly deepFilter: DeepFilter;
- readonly entryTransformer: EntryTransformer;
- constructor(_settings: Settings);
- abstract read(_task: Task): T;
- protected _getRootDirectory(task: Task): string;
- protected _getReaderOptions(task: Task): ReaderOptions;
- protected _getMicromatchOptions(): MicromatchOptions;
-}
diff --git a/includes/search/node_modules/fast-glob/out/providers/provider.js b/includes/search/node_modules/fast-glob/out/providers/provider.js
deleted file mode 100644
index 5afb389..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/provider.js
+++ /dev/null
@@ -1,48 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const path = require("path");
-const deep_1 = require("./filters/deep");
-const entry_1 = require("./filters/entry");
-const error_1 = require("./filters/error");
-const entry_2 = require("./transformers/entry");
-class Provider {
- constructor(_settings) {
- this._settings = _settings;
- this.errorFilter = new error_1.default(this._settings);
- this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions());
- this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions());
- this.entryTransformer = new entry_2.default(this._settings);
- }
- _getRootDirectory(task) {
- return path.resolve(this._settings.cwd, task.base);
- }
- _getReaderOptions(task) {
- const basePath = task.base === '.' ? '' : task.base;
- return {
- basePath,
- pathSegmentSeparator: '/',
- concurrency: this._settings.concurrency,
- deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative),
- entryFilter: this.entryFilter.getFilter(task.positive, task.negative),
- errorFilter: this.errorFilter.getFilter(),
- followSymbolicLinks: this._settings.followSymbolicLinks,
- fs: this._settings.fs,
- stats: this._settings.stats,
- throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink,
- transform: this.entryTransformer.getTransformer()
- };
- }
- _getMicromatchOptions() {
- return {
- dot: this._settings.dot,
- matchBase: this._settings.baseNameMatch,
- nobrace: !this._settings.braceExpansion,
- nocase: !this._settings.caseSensitiveMatch,
- noext: !this._settings.extglob,
- noglobstar: !this._settings.globstar,
- posix: true,
- strictSlashes: false
- };
- }
-}
-exports.default = Provider;
diff --git a/includes/search/node_modules/fast-glob/out/providers/stream.d.ts b/includes/search/node_modules/fast-glob/out/providers/stream.d.ts
deleted file mode 100644
index bfa9201..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/stream.d.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-/// <reference types="node" />
-import { Readable } from 'stream';
-import { Task } from '../managers/tasks';
-import ReaderStream from '../readers/stream';
-import { ReaderOptions } from '../types';
-import Provider from './provider';
-export default class ProviderStream extends Provider<Readable> {
- protected _reader: ReaderStream;
- read(task: Task): Readable;
- api(root: string, task: Task, options: ReaderOptions): Readable;
-}
diff --git a/includes/search/node_modules/fast-glob/out/providers/stream.js b/includes/search/node_modules/fast-glob/out/providers/stream.js
deleted file mode 100644
index 9e81c21..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/stream.js
+++ /dev/null
@@ -1,31 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const stream_1 = require("stream");
-const stream_2 = require("../readers/stream");
-const provider_1 = require("./provider");
-class ProviderStream extends provider_1.default {
- constructor() {
- super(...arguments);
- this._reader = new stream_2.default(this._settings);
- }
- read(task) {
- const root = this._getRootDirectory(task);
- const options = this._getReaderOptions(task);
- const source = this.api(root, task, options);
- const destination = new stream_1.Readable({ objectMode: true, read: () => { } });
- source
- .once('error', (error) => destination.emit('error', error))
- .on('data', (entry) => destination.emit('data', options.transform(entry)))
- .once('end', () => destination.emit('end'));
- destination
- .once('close', () => source.destroy());
- return destination;
- }
- api(root, task, options) {
- if (task.dynamic) {
- return this._reader.dynamic(root, options);
- }
- return this._reader.static(task.patterns, options);
- }
-}
-exports.default = ProviderStream;
diff --git a/includes/search/node_modules/fast-glob/out/providers/sync.d.ts b/includes/search/node_modules/fast-glob/out/providers/sync.d.ts
deleted file mode 100644
index 5861db4..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/sync.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { Task } from '../managers/tasks';
-import ReaderSync from '../readers/sync';
-import { Entry, EntryItem, ReaderOptions } from '../types';
-import Provider from './provider';
-export default class ProviderSync extends Provider<EntryItem[]> {
- protected _reader: ReaderSync;
- read(task: Task): EntryItem[];
- api(root: string, task: Task, options: ReaderOptions): Entry[];
-}
diff --git a/includes/search/node_modules/fast-glob/out/providers/sync.js b/includes/search/node_modules/fast-glob/out/providers/sync.js
deleted file mode 100644
index 9ed8f7c..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/sync.js
+++ /dev/null
@@ -1,23 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const sync_1 = require("../readers/sync");
-const provider_1 = require("./provider");
-class ProviderSync extends provider_1.default {
- constructor() {
- super(...arguments);
- this._reader = new sync_1.default(this._settings);
- }
- read(task) {
- const root = this._getRootDirectory(task);
- const options = this._getReaderOptions(task);
- const entries = this.api(root, task, options);
- return entries.map(options.transform);
- }
- api(root, task, options) {
- if (task.dynamic) {
- return this._reader.dynamic(root, options);
- }
- return this._reader.static(task.patterns, options);
- }
-}
-exports.default = ProviderSync;
diff --git a/includes/search/node_modules/fast-glob/out/providers/transformers/entry.d.ts b/includes/search/node_modules/fast-glob/out/providers/transformers/entry.d.ts
deleted file mode 100644
index 1874a38..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/transformers/entry.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import Settings from '../../settings';
-import { EntryTransformerFunction } from '../../types';
-export default class EntryTransformer {
- private readonly _settings;
- constructor(_settings: Settings);
- getTransformer(): EntryTransformerFunction;
- private _transform;
-}
diff --git a/includes/search/node_modules/fast-glob/out/providers/transformers/entry.js b/includes/search/node_modules/fast-glob/out/providers/transformers/entry.js
deleted file mode 100644
index 3bef803..0000000
--- a/includes/search/node_modules/fast-glob/out/providers/transformers/entry.js
+++ /dev/null
@@ -1,26 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const utils = require("../../utils");
-class EntryTransformer {
- constructor(_settings) {
- this._settings = _settings;
- }
- getTransformer() {
- return (entry) => this._transform(entry);
- }
- _transform(entry) {
- let filepath = entry.path;
- if (this._settings.absolute) {
- filepath = utils.path.makeAbsolute(this._settings.cwd, filepath);
- filepath = utils.path.unixify(filepath);
- }
- if (this._settings.markDirectories && entry.dirent.isDirectory()) {
- filepath += '/';
- }
- if (!this._settings.objectMode) {
- return filepath;
- }
- return Object.assign(Object.assign({}, entry), { path: filepath });
- }
-}
-exports.default = EntryTransformer;
diff --git a/includes/search/node_modules/fast-glob/out/readers/async.d.ts b/includes/search/node_modules/fast-glob/out/readers/async.d.ts
deleted file mode 100644
index 4bfa296..0000000
--- a/includes/search/node_modules/fast-glob/out/readers/async.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import * as fsWalk from '@nodelib/fs.walk';
-import { Entry, ReaderOptions, Pattern } from '../types';
-import Reader from './reader';
-import ReaderStream from './stream';
-export default class ReaderAsync extends Reader<Promise<Entry[]>> {
- protected _walkAsync: typeof fsWalk.walk;
- protected _readerStream: ReaderStream;
- dynamic(root: string, options: ReaderOptions): Promise<Entry[]>;
- static(patterns: Pattern[], options: ReaderOptions): Promise<Entry[]>;
-}
diff --git a/includes/search/node_modules/fast-glob/out/readers/async.js b/includes/search/node_modules/fast-glob/out/readers/async.js
deleted file mode 100644
index c43e34a..0000000
--- a/includes/search/node_modules/fast-glob/out/readers/async.js
+++ /dev/null
@@ -1,35 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const fsWalk = require("@nodelib/fs.walk");
-const reader_1 = require("./reader");
-const stream_1 = require("./stream");
-class ReaderAsync extends reader_1.default {
- constructor() {
- super(...arguments);
- this._walkAsync = fsWalk.walk;
- this._readerStream = new stream_1.default(this._settings);
- }
- dynamic(root, options) {
- return new Promise((resolve, reject) => {
- this._walkAsync(root, options, (error, entries) => {
- if (error === null) {
- resolve(entries);
- }
- else {
- reject(error);
- }
- });
- });
- }
- async static(patterns, options) {
- const entries = [];
- const stream = this._readerStream.static(patterns, options);
- // After #235, replace it with an asynchronous iterator.
- return new Promise((resolve, reject) => {
- stream.once('error', reject);
- stream.on('data', (entry) => entries.push(entry));
- stream.once('end', () => resolve(entries));
- });
- }
-}
-exports.default = ReaderAsync;
diff --git a/includes/search/node_modules/fast-glob/out/readers/reader.d.ts b/includes/search/node_modules/fast-glob/out/readers/reader.d.ts
deleted file mode 100644
index 293b588..0000000
--- a/includes/search/node_modules/fast-glob/out/readers/reader.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-/// <reference types="node" />
-import * as fs from 'fs';
-import * as fsStat from '@nodelib/fs.stat';
-import Settings from '../settings';
-import { Entry, ErrnoException, Pattern, ReaderOptions } from '../types';
-export default abstract class Reader<T> {
- protected readonly _settings: Settings;
- protected readonly _fsStatSettings: fsStat.Settings;
- constructor(_settings: Settings);
- abstract dynamic(root: string, options: ReaderOptions): T;
- abstract static(patterns: Pattern[], options: ReaderOptions): T;
- protected _getFullEntryPath(filepath: string): string;
- protected _makeEntry(stats: fs.Stats, pattern: Pattern): Entry;
- protected _isFatalError(error: ErrnoException): boolean;
-}
diff --git a/includes/search/node_modules/fast-glob/out/readers/reader.js b/includes/search/node_modules/fast-glob/out/readers/reader.js
deleted file mode 100644
index 9e9469c..0000000
--- a/includes/search/node_modules/fast-glob/out/readers/reader.js
+++ /dev/null
@@ -1,33 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const path = require("path");
-const fsStat = require("@nodelib/fs.stat");
-const utils = require("../utils");
-class Reader {
- constructor(_settings) {
- this._settings = _settings;
- this._fsStatSettings = new fsStat.Settings({
- followSymbolicLink: this._settings.followSymbolicLinks,
- fs: this._settings.fs,
- throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks
- });
- }
- _getFullEntryPath(filepath) {
- return path.resolve(this._settings.cwd, filepath);
- }
- _makeEntry(stats, pattern) {
- const entry = {
- name: pattern,
- path: pattern,
- dirent: utils.fs.createDirentFromStats(pattern, stats)
- };
- if (this._settings.stats) {
- entry.stats = stats;
- }
- return entry;
- }
- _isFatalError(error) {
- return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;
- }
-}
-exports.default = Reader;
diff --git a/includes/search/node_modules/fast-glob/out/readers/stream.d.ts b/includes/search/node_modules/fast-glob/out/readers/stream.d.ts
deleted file mode 100644
index b0c7018..0000000
--- a/includes/search/node_modules/fast-glob/out/readers/stream.d.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-/// <reference types="node" />
-import { Readable } from 'stream';
-import * as fsStat from '@nodelib/fs.stat';
-import * as fsWalk from '@nodelib/fs.walk';
-import { Pattern, ReaderOptions } from '../types';
-import Reader from './reader';
-export default class ReaderStream extends Reader<Readable> {
- protected _walkStream: typeof fsWalk.walkStream;
- protected _stat: typeof fsStat.stat;
- dynamic(root: string, options: ReaderOptions): Readable;
- static(patterns: Pattern[], options: ReaderOptions): Readable;
- private _getEntry;
- private _getStat;
-}
diff --git a/includes/search/node_modules/fast-glob/out/readers/stream.js b/includes/search/node_modules/fast-glob/out/readers/stream.js
deleted file mode 100644
index 33b96f5..0000000
--- a/includes/search/node_modules/fast-glob/out/readers/stream.js
+++ /dev/null
@@ -1,55 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const stream_1 = require("stream");
-const fsStat = require("@nodelib/fs.stat");
-const fsWalk = require("@nodelib/fs.walk");
-const reader_1 = require("./reader");
-class ReaderStream extends reader_1.default {
- constructor() {
- super(...arguments);
- this._walkStream = fsWalk.walkStream;
- this._stat = fsStat.stat;
- }
- dynamic(root, options) {
- return this._walkStream(root, options);
- }
- static(patterns, options) {
- const filepaths = patterns.map(this._getFullEntryPath, this);
- const stream = new stream_1.PassThrough({ objectMode: true });
- stream._write = (index, _enc, done) => {
- return this._getEntry(filepaths[index], patterns[index], options)
- .then((entry) => {
- if (entry !== null && options.entryFilter(entry)) {
- stream.push(entry);
- }
- if (index === filepaths.length - 1) {
- stream.end();
- }
- done();
- })
- .catch(done);
- };
- for (let i = 0; i < filepaths.length; i++) {
- stream.write(i);
- }
- return stream;
- }
- _getEntry(filepath, pattern, options) {
- return this._getStat(filepath)
- .then((stats) => this._makeEntry(stats, pattern))
- .catch((error) => {
- if (options.errorFilter(error)) {
- return null;
- }
- throw error;
- });
- }
- _getStat(filepath) {
- return new Promise((resolve, reject) => {
- this._stat(filepath, this._fsStatSettings, (error, stats) => {
- return error === null ? resolve(stats) : reject(error);
- });
- });
- }
-}
-exports.default = ReaderStream;
diff --git a/includes/search/node_modules/fast-glob/out/readers/sync.d.ts b/includes/search/node_modules/fast-glob/out/readers/sync.d.ts
deleted file mode 100644
index 1943ac6..0000000
--- a/includes/search/node_modules/fast-glob/out/readers/sync.d.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import * as fsStat from '@nodelib/fs.stat';
-import * as fsWalk from '@nodelib/fs.walk';
-import { Entry, Pattern, ReaderOptions } from '../types';
-import Reader from './reader';
-export default class ReaderSync extends Reader<Entry[]> {
- protected _walkSync: typeof fsWalk.walkSync;
- protected _statSync: typeof fsStat.statSync;
- dynamic(root: string, options: ReaderOptions): Entry[];
- static(patterns: Pattern[], options: ReaderOptions): Entry[];
- private _getEntry;
- private _getStat;
-}
diff --git a/includes/search/node_modules/fast-glob/out/readers/sync.js b/includes/search/node_modules/fast-glob/out/readers/sync.js
deleted file mode 100644
index c4e4a01..0000000
--- a/includes/search/node_modules/fast-glob/out/readers/sync.js
+++ /dev/null
@@ -1,43 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const fsStat = require("@nodelib/fs.stat");
-const fsWalk = require("@nodelib/fs.walk");
-const reader_1 = require("./reader");
-class ReaderSync extends reader_1.default {
- constructor() {
- super(...arguments);
- this._walkSync = fsWalk.walkSync;
- this._statSync = fsStat.statSync;
- }
- dynamic(root, options) {
- return this._walkSync(root, options);
- }
- static(patterns, options) {
- const entries = [];
- for (const pattern of patterns) {
- const filepath = this._getFullEntryPath(pattern);
- const entry = this._getEntry(filepath, pattern, options);
- if (entry === null || !options.entryFilter(entry)) {
- continue;
- }
- entries.push(entry);
- }
- return entries;
- }
- _getEntry(filepath, pattern, options) {
- try {
- const stats = this._getStat(filepath);
- return this._makeEntry(stats, pattern);
- }
- catch (error) {
- if (options.errorFilter(error)) {
- return null;
- }
- throw error;
- }
- }
- _getStat(filepath) {
- return this._statSync(filepath, this._fsStatSettings);
- }
-}
-exports.default = ReaderSync;
diff --git a/includes/search/node_modules/fast-glob/out/settings.d.ts b/includes/search/node_modules/fast-glob/out/settings.d.ts
deleted file mode 100644
index 4e97c9b..0000000
--- a/includes/search/node_modules/fast-glob/out/settings.d.ts
+++ /dev/null
@@ -1,164 +0,0 @@
-import { FileSystemAdapter, Pattern } from './types';
-export declare const DEFAULT_FILE_SYSTEM_ADAPTER: FileSystemAdapter;
-export declare type Options = {
- /**
- * Return the absolute path for entries.
- *
- * @default false
- */
- absolute?: boolean;
- /**
- * If set to `true`, then patterns without slashes will be matched against
- * the basename of the path if it contains slashes.
- *
- * @default false
- */
- baseNameMatch?: boolean;
- /**
- * Enables Bash-like brace expansion.
- *
- * @default true
- */
- braceExpansion?: boolean;
- /**
- * Enables a case-sensitive mode for matching files.
- *
- * @default true
- */
- caseSensitiveMatch?: boolean;
- /**
- * Specifies the maximum number of concurrent requests from a reader to read
- * directories.
- *
- * @default os.cpus().length
- */
- concurrency?: number;
- /**
- * The current working directory in which to search.
- *
- * @default process.cwd()
- */
- cwd?: string;
- /**
- * Specifies the maximum depth of a read directory relative to the start
- * directory.
- *
- * @default Infinity
- */
- deep?: number;
- /**
- * Allow patterns to match entries that begin with a period (`.`).
- *
- * @default false
- */
- dot?: boolean;
- /**
- * Enables Bash-like `extglob` functionality.
- *
- * @default true
- */
- extglob?: boolean;
- /**
- * Indicates whether to traverse descendants of symbolic link directories.
- *
- * @default true
- */
- followSymbolicLinks?: boolean;
- /**
- * Custom implementation of methods for working with the file system.
- *
- * @default fs.*
- */
- fs?: Partial<FileSystemAdapter>;
- /**
- * Enables recursively repeats a pattern containing `**`.
- * If `false`, `**` behaves exactly like `*`.
- *
- * @default true
- */
- globstar?: boolean;
- /**
- * An array of glob patterns to exclude matches.
- * This is an alternative way to use negative patterns.
- *
- * @default []
- */
- ignore?: Pattern[];
- /**
- * Mark the directory path with the final slash.
- *
- * @default false
- */
- markDirectories?: boolean;
- /**
- * Returns objects (instead of strings) describing entries.
- *
- * @default false
- */
- objectMode?: boolean;
- /**
- * Return only directories.
- *
- * @default false
- */
- onlyDirectories?: boolean;
- /**
- * Return only files.
- *
- * @default true
- */
- onlyFiles?: boolean;
- /**
- * Enables an object mode (`objectMode`) with an additional `stats` field.
- *
- * @default false
- */
- stats?: boolean;
- /**
- * By default this package suppress only `ENOENT` errors.
- * Set to `true` to suppress any error.
- *
- * @default false
- */
- suppressErrors?: boolean;
- /**
- * Throw an error when symbolic link is broken if `true` or safely
- * return `lstat` call if `false`.
- *
- * @default false
- */
- throwErrorOnBrokenSymbolicLink?: boolean;
- /**
- * Ensures that the returned entries are unique.
- *
- * @default true
- */
- unique?: boolean;
-};
-export default class Settings {
- private readonly _options;
- readonly absolute: boolean;
- readonly baseNameMatch: boolean;
- readonly braceExpansion: boolean;
- readonly caseSensitiveMatch: boolean;
- readonly concurrency: number;
- readonly cwd: string;
- readonly deep: number;
- readonly dot: boolean;
- readonly extglob: boolean;
- readonly followSymbolicLinks: boolean;
- readonly fs: FileSystemAdapter;
- readonly globstar: boolean;
- readonly ignore: Pattern[];
- readonly markDirectories: boolean;
- readonly objectMode: boolean;
- readonly onlyDirectories: boolean;
- readonly onlyFiles: boolean;
- readonly stats: boolean;
- readonly suppressErrors: boolean;
- readonly throwErrorOnBrokenSymbolicLink: boolean;
- readonly unique: boolean;
- constructor(_options?: Options);
- private _getValue;
- private _getFileSystemMethods;
-}
diff --git a/includes/search/node_modules/fast-glob/out/settings.js b/includes/search/node_modules/fast-glob/out/settings.js
deleted file mode 100644
index f95ac8f..0000000
--- a/includes/search/node_modules/fast-glob/out/settings.js
+++ /dev/null
@@ -1,57 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
-const fs = require("fs");
-const os = require("os");
-/**
- * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero.
- * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107
- */
-const CPU_COUNT = Math.max(os.cpus().length, 1);
-exports.DEFAULT_FILE_SYSTEM_ADAPTER = {
- lstat: fs.lstat,
- lstatSync: fs.lstatSync,
- stat: fs.stat,
- statSync: fs.statSync,
- readdir: fs.readdir,
- readdirSync: fs.readdirSync
-};
-class Settings {
- constructor(_options = {}) {
- this._options = _options;
- this.absolute = this._getValue(this._options.absolute, false);
- this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);
- this.braceExpansion = this._getValue(this._options.braceExpansion, true);
- this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);
- this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT);
- this.cwd = this._getValue(this._options.cwd, process.cwd());
- this.deep = this._getValue(this._options.deep, Infinity);
- this.dot = this._getValue(this._options.dot, false);
- this.extglob = this._getValue(this._options.extglob, true);
- this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true);
- this.fs = this._getFileSystemMethods(this._options.fs);
- this.globstar = this._getValue(this._options.globstar, true);
- this.ignore = this._getValue(this._options.ignore, []);
- this.markDirectories = this._getValue(this._options.markDirectories, false);
- this.objectMode = this._getValue(this._options.objectMode, false);
- this.onlyDirectories = this._getValue(this._options.onlyDirectories, false);
- this.onlyFiles = this._getValue(this._options.onlyFiles, true);
- this.stats = this._getValue(this._options.stats, false);
- this.suppressErrors = this._getValue(this._options.suppressErrors, false);
- this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false);
- this.unique = this._getValue(this._options.unique, true);
- if (this.onlyDirectories) {
- this.onlyFiles = false;
- }
- if (this.stats) {
- this.objectMode = true;
- }
- }
- _getValue(option, value) {
- return option === undefined ? value : option;
- }
- _getFileSystemMethods(methods = {}) {
- return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods);
- }
-}
-exports.default = Settings;
diff --git a/includes/search/node_modules/fast-glob/out/types/index.d.ts b/includes/search/node_modules/fast-glob/out/types/index.d.ts
deleted file mode 100644
index e828689..0000000
--- a/includes/search/node_modules/fast-glob/out/types/index.d.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-/// <reference types="node" />
-import * as fsWalk from '@nodelib/fs.walk';
-export declare type ErrnoException = NodeJS.ErrnoException;
-export declare type Entry = fsWalk.Entry;
-export declare type EntryItem = string | Entry;
-export declare type Pattern = string;
-export declare type PatternRe = RegExp;
-export declare type PatternsGroup = Record<string, Pattern[]>;
-export declare type ReaderOptions = fsWalk.Options & {
- transform(entry: Entry): EntryItem;
- deepFilter: DeepFilterFunction;
- entryFilter: EntryFilterFunction;
- errorFilter: ErrorFilterFunction;
- fs: FileSystemAdapter;
- stats: boolean;
-};
-export declare type ErrorFilterFunction = fsWalk.ErrorFilterFunction;
-export declare type EntryFilterFunction = fsWalk.EntryFilterFunction;
-export declare type DeepFilterFunction = fsWalk.DeepFilterFunction;
-export declare type EntryTransformerFunction = (entry: Entry) => EntryItem;
-export declare type MicromatchOptions = {
- dot?: boolean;
- matchBase?: boolean;
- nobrace?: boolean;
- nocase?: boolean;
- noext?: boolean;
- noglobstar?: boolean;
- posix?: boolean;
- strictSlashes?: boolean;
-};
-export declare type FileSystemAdapter = fsWalk.FileSystemAdapter;
diff --git a/includes/search/node_modules/fast-glob/out/types/index.js b/includes/search/node_modules/fast-glob/out/types/index.js
deleted file mode 100644
index ce03781..0000000
--- a/includes/search/node_modules/fast-glob/out/types/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/includes/search/node_modules/fast-glob/out/utils/array.d.ts b/includes/search/node_modules/fast-glob/out/utils/array.d.ts
deleted file mode 100644
index 7e585bc..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/array.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export declare function flatten<T>(items: T[][]): T[];
-export declare function splitWhen<T>(items: T[], predicate: (item: T) => boolean): T[][];
diff --git a/includes/search/node_modules/fast-glob/out/utils/array.js b/includes/search/node_modules/fast-glob/out/utils/array.js
deleted file mode 100644
index f43f114..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/array.js
+++ /dev/null
@@ -1,22 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.splitWhen = exports.flatten = void 0;
-function flatten(items) {
- return items.reduce((collection, item) => [].concat(collection, item), []);
-}
-exports.flatten = flatten;
-function splitWhen(items, predicate) {
- const result = [[]];
- let groupIndex = 0;
- for (const item of items) {
- if (predicate(item)) {
- groupIndex++;
- result[groupIndex] = [];
- }
- else {
- result[groupIndex].push(item);
- }
- }
- return result;
-}
-exports.splitWhen = splitWhen;
diff --git a/includes/search/node_modules/fast-glob/out/utils/errno.d.ts b/includes/search/node_modules/fast-glob/out/utils/errno.d.ts
deleted file mode 100644
index 0e52c0d..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/errno.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import { ErrnoException } from '../types';
-export declare function isEnoentCodeError(error: ErrnoException): boolean;
diff --git a/includes/search/node_modules/fast-glob/out/utils/errno.js b/includes/search/node_modules/fast-glob/out/utils/errno.js
deleted file mode 100644
index 178ace6..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/errno.js
+++ /dev/null
@@ -1,7 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.isEnoentCodeError = void 0;
-function isEnoentCodeError(error) {
- return error.code === 'ENOENT';
-}
-exports.isEnoentCodeError = isEnoentCodeError;
diff --git a/includes/search/node_modules/fast-glob/out/utils/fs.d.ts b/includes/search/node_modules/fast-glob/out/utils/fs.d.ts
deleted file mode 100644
index 926c5ae..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/fs.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-/// <reference types="node" />
-import * as fs from 'fs';
-import { Dirent } from '@nodelib/fs.walk';
-export declare function createDirentFromStats(name: string, stats: fs.Stats): Dirent;
diff --git a/includes/search/node_modules/fast-glob/out/utils/fs.js b/includes/search/node_modules/fast-glob/out/utils/fs.js
deleted file mode 100644
index f15b8cf..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/fs.js
+++ /dev/null
@@ -1,19 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.createDirentFromStats = void 0;
-class DirentFromStats {
- constructor(name, stats) {
- this.name = name;
- this.isBlockDevice = stats.isBlockDevice.bind(stats);
- this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
- this.isDirectory = stats.isDirectory.bind(stats);
- this.isFIFO = stats.isFIFO.bind(stats);
- this.isFile = stats.isFile.bind(stats);
- this.isSocket = stats.isSocket.bind(stats);
- this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
- }
-}
-function createDirentFromStats(name, stats) {
- return new DirentFromStats(name, stats);
-}
-exports.createDirentFromStats = createDirentFromStats;
diff --git a/includes/search/node_modules/fast-glob/out/utils/index.d.ts b/includes/search/node_modules/fast-glob/out/utils/index.d.ts
deleted file mode 100644
index d3e4f8f..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/index.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import * as array from './array';
-import * as errno from './errno';
-import * as fs from './fs';
-import * as path from './path';
-import * as pattern from './pattern';
-import * as stream from './stream';
-import * as string from './string';
-export { array, errno, fs, path, pattern, stream, string };
diff --git a/includes/search/node_modules/fast-glob/out/utils/index.js b/includes/search/node_modules/fast-glob/out/utils/index.js
deleted file mode 100644
index 8fc6703..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/index.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0;
-const array = require("./array");
-exports.array = array;
-const errno = require("./errno");
-exports.errno = errno;
-const fs = require("./fs");
-exports.fs = fs;
-const path = require("./path");
-exports.path = path;
-const pattern = require("./pattern");
-exports.pattern = pattern;
-const stream = require("./stream");
-exports.stream = stream;
-const string = require("./string");
-exports.string = string;
diff --git a/includes/search/node_modules/fast-glob/out/utils/path.d.ts b/includes/search/node_modules/fast-glob/out/utils/path.d.ts
deleted file mode 100644
index f90dc54..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/path.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { Pattern } from '../types';
-/**
- * Designed to work only with simple paths: `dir\\file`.
- */
-export declare function unixify(filepath: string): string;
-export declare function makeAbsolute(cwd: string, filepath: string): string;
-export declare function escape(pattern: Pattern): Pattern;
-export declare function removeLeadingDotSegment(entry: string): string;
diff --git a/includes/search/node_modules/fast-glob/out/utils/path.js b/includes/search/node_modules/fast-glob/out/utils/path.js
deleted file mode 100644
index 966fcc9..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/path.js
+++ /dev/null
@@ -1,33 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.removeLeadingDotSegment = exports.escape = exports.makeAbsolute = exports.unixify = void 0;
-const path = require("path");
-const LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; // ./ or .\\
-const UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;
-/**
- * Designed to work only with simple paths: `dir\\file`.
- */
-function unixify(filepath) {
- return filepath.replace(/\\/g, '/');
-}
-exports.unixify = unixify;
-function makeAbsolute(cwd, filepath) {
- return path.resolve(cwd, filepath);
-}
-exports.makeAbsolute = makeAbsolute;
-function escape(pattern) {
- return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, '\\$2');
-}
-exports.escape = escape;
-function removeLeadingDotSegment(entry) {
- // We do not use `startsWith` because this is 10x slower than current implementation for some cases.
- // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with
- if (entry.charAt(0) === '.') {
- const secondCharactery = entry.charAt(1);
- if (secondCharactery === '/' || secondCharactery === '\\') {
- return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT);
- }
- }
- return entry;
-}
-exports.removeLeadingDotSegment = removeLeadingDotSegment;
diff --git a/includes/search/node_modules/fast-glob/out/utils/pattern.d.ts b/includes/search/node_modules/fast-glob/out/utils/pattern.d.ts
deleted file mode 100644
index 23b1eed..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/pattern.d.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { MicromatchOptions, Pattern, PatternRe } from '../types';
-declare type PatternTypeOptions = {
- braceExpansion?: boolean;
- caseSensitiveMatch?: boolean;
- extglob?: boolean;
-};
-export declare function isStaticPattern(pattern: Pattern, options?: PatternTypeOptions): boolean;
-export declare function isDynamicPattern(pattern: Pattern, options?: PatternTypeOptions): boolean;
-export declare function convertToPositivePattern(pattern: Pattern): Pattern;
-export declare function convertToNegativePattern(pattern: Pattern): Pattern;
-export declare function isNegativePattern(pattern: Pattern): boolean;
-export declare function isPositivePattern(pattern: Pattern): boolean;
-export declare function getNegativePatterns(patterns: Pattern[]): Pattern[];
-export declare function getPositivePatterns(patterns: Pattern[]): Pattern[];
-/**
- * Returns patterns that can be applied inside the current directory.
- *
- * @example
- * // ['./*', '*', 'a/*']
- * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])
- */
-export declare function getPatternsInsideCurrentDirectory(patterns: Pattern[]): Pattern[];
-/**
- * Returns patterns to be expanded relative to (outside) the current directory.
- *
- * @example
- * // ['../*', './../*']
- * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])
- */
-export declare function getPatternsOutsideCurrentDirectory(patterns: Pattern[]): Pattern[];
-export declare function isPatternRelatedToParentDirectory(pattern: Pattern): boolean;
-export declare function getBaseDirectory(pattern: Pattern): string;
-export declare function hasGlobStar(pattern: Pattern): boolean;
-export declare function endsWithSlashGlobStar(pattern: Pattern): boolean;
-export declare function isAffectDepthOfReadingPattern(pattern: Pattern): boolean;
-export declare function expandPatternsWithBraceExpansion(patterns: Pattern[]): Pattern[];
-export declare function expandBraceExpansion(pattern: Pattern): Pattern[];
-export declare function getPatternParts(pattern: Pattern, options: MicromatchOptions): Pattern[];
-export declare function makeRe(pattern: Pattern, options: MicromatchOptions): PatternRe;
-export declare function convertPatternsToRe(patterns: Pattern[], options: MicromatchOptions): PatternRe[];
-export declare function matchAny(entry: string, patternsRe: PatternRe[]): boolean;
-export {};
diff --git a/includes/search/node_modules/fast-glob/out/utils/pattern.js b/includes/search/node_modules/fast-glob/out/utils/pattern.js
deleted file mode 100644
index 0eafc75..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/pattern.js
+++ /dev/null
@@ -1,169 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0;
-const path = require("path");
-const globParent = require("glob-parent");
-const micromatch = require("micromatch");
-const GLOBSTAR = '**';
-const ESCAPE_SYMBOL = '\\';
-const COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;
-const REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/;
-const REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/;
-const GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/;
-const BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./;
-function isStaticPattern(pattern, options = {}) {
- return !isDynamicPattern(pattern, options);
-}
-exports.isStaticPattern = isStaticPattern;
-function isDynamicPattern(pattern, options = {}) {
- /**
- * A special case with an empty string is necessary for matching patterns that start with a forward slash.
- * An empty string cannot be a dynamic pattern.
- * For example, the pattern `/lib/*` will be spread into parts: '', 'lib', '*'.
- */
- if (pattern === '') {
- return false;
- }
- /**
- * When the `caseSensitiveMatch` option is disabled, all patterns must be marked as dynamic, because we cannot check
- * filepath directly (without read directory).
- */
- if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) {
- return true;
- }
- if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) {
- return true;
- }
- if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) {
- return true;
- }
- if (options.braceExpansion !== false && hasBraceExpansion(pattern)) {
- return true;
- }
- return false;
-}
-exports.isDynamicPattern = isDynamicPattern;
-function hasBraceExpansion(pattern) {
- const openingBraceIndex = pattern.indexOf('{');
- if (openingBraceIndex === -1) {
- return false;
- }
- const closingBraceIndex = pattern.indexOf('}', openingBraceIndex + 1);
- if (closingBraceIndex === -1) {
- return false;
- }
- const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex);
- return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent);
-}
-function convertToPositivePattern(pattern) {
- return isNegativePattern(pattern) ? pattern.slice(1) : pattern;
-}
-exports.convertToPositivePattern = convertToPositivePattern;
-function convertToNegativePattern(pattern) {
- return '!' + pattern;
-}
-exports.convertToNegativePattern = convertToNegativePattern;
-function isNegativePattern(pattern) {
- return pattern.startsWith('!') && pattern[1] !== '(';
-}
-exports.isNegativePattern = isNegativePattern;
-function isPositivePattern(pattern) {
- return !isNegativePattern(pattern);
-}
-exports.isPositivePattern = isPositivePattern;
-function getNegativePatterns(patterns) {
- return patterns.filter(isNegativePattern);
-}
-exports.getNegativePatterns = getNegativePatterns;
-function getPositivePatterns(patterns) {
- return patterns.filter(isPositivePattern);
-}
-exports.getPositivePatterns = getPositivePatterns;
-/**
- * Returns patterns that can be applied inside the current directory.
- *
- * @example
- * // ['./*', '*', 'a/*']
- * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])
- */
-function getPatternsInsideCurrentDirectory(patterns) {
- return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern));
-}
-exports.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory;
-/**
- * Returns patterns to be expanded relative to (outside) the current directory.
- *
- * @example
- * // ['../*', './../*']
- * getPatternsInsideCurrentDirectory(['./*', '*', 'a/*', '../*', './../*'])
- */
-function getPatternsOutsideCurrentDirectory(patterns) {
- return patterns.filter(isPatternRelatedToParentDirectory);
-}
-exports.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory;
-function isPatternRelatedToParentDirectory(pattern) {
- return pattern.startsWith('..') || pattern.startsWith('./..');
-}
-exports.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory;
-function getBaseDirectory(pattern) {
- return globParent(pattern, { flipBackslashes: false });
-}
-exports.getBaseDirectory = getBaseDirectory;
-function hasGlobStar(pattern) {
- return pattern.includes(GLOBSTAR);
-}
-exports.hasGlobStar = hasGlobStar;
-function endsWithSlashGlobStar(pattern) {
- return pattern.endsWith('/' + GLOBSTAR);
-}
-exports.endsWithSlashGlobStar = endsWithSlashGlobStar;
-function isAffectDepthOfReadingPattern(pattern) {
- const basename = path.basename(pattern);
- return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);
-}
-exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
-function expandPatternsWithBraceExpansion(patterns) {
- return patterns.reduce((collection, pattern) => {
- return collection.concat(expandBraceExpansion(pattern));
- }, []);
-}
-exports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion;
-function expandBraceExpansion(pattern) {
- return micromatch.braces(pattern, {
- expand: true,
- nodupes: true
- });
-}
-exports.expandBraceExpansion = expandBraceExpansion;
-function getPatternParts(pattern, options) {
- let { parts } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true }));
- /**
- * The scan method returns an empty array in some cases.
- * See micromatch/picomatch#58 for more details.
- */
- if (parts.length === 0) {
- parts = [pattern];
- }
- /**
- * The scan method does not return an empty part for the pattern with a forward slash.
- * This is another part of micromatch/picomatch#58.
- */
- if (parts[0].startsWith('/')) {
- parts[0] = parts[0].slice(1);
- parts.unshift('');
- }
- return parts;
-}
-exports.getPatternParts = getPatternParts;
-function makeRe(pattern, options) {
- return micromatch.makeRe(pattern, options);
-}
-exports.makeRe = makeRe;
-function convertPatternsToRe(patterns, options) {
- return patterns.map((pattern) => makeRe(pattern, options));
-}
-exports.convertPatternsToRe = convertPatternsToRe;
-function matchAny(entry, patternsRe) {
- return patternsRe.some((patternRe) => patternRe.test(entry));
-}
-exports.matchAny = matchAny;
diff --git a/includes/search/node_modules/fast-glob/out/utils/stream.d.ts b/includes/search/node_modules/fast-glob/out/utils/stream.d.ts
deleted file mode 100644
index 167fab0..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/stream.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-/// <reference types="node" />
-import { Readable } from 'stream';
-export declare function merge(streams: Readable[]): NodeJS.ReadableStream;
diff --git a/includes/search/node_modules/fast-glob/out/utils/stream.js b/includes/search/node_modules/fast-glob/out/utils/stream.js
deleted file mode 100644
index f1ab1f5..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/stream.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.merge = void 0;
-const merge2 = require("merge2");
-function merge(streams) {
- const mergedStream = merge2(streams);
- streams.forEach((stream) => {
- stream.once('error', (error) => mergedStream.emit('error', error));
- });
- mergedStream.once('close', () => propagateCloseEventToSources(streams));
- mergedStream.once('end', () => propagateCloseEventToSources(streams));
- return mergedStream;
-}
-exports.merge = merge;
-function propagateCloseEventToSources(streams) {
- streams.forEach((stream) => stream.emit('close'));
-}
diff --git a/includes/search/node_modules/fast-glob/out/utils/string.d.ts b/includes/search/node_modules/fast-glob/out/utils/string.d.ts
deleted file mode 100644
index d306bc9..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/string.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export declare function isString(input: unknown): input is string;
-export declare function isEmpty(input: string): boolean;
diff --git a/includes/search/node_modules/fast-glob/out/utils/string.js b/includes/search/node_modules/fast-glob/out/utils/string.js
deleted file mode 100644
index 738c227..0000000
--- a/includes/search/node_modules/fast-glob/out/utils/string.js
+++ /dev/null
@@ -1,11 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.isEmpty = exports.isString = void 0;
-function isString(input) {
- return typeof input === 'string';
-}
-exports.isString = isString;
-function isEmpty(input) {
- return input === '';
-}
-exports.isEmpty = isEmpty;
diff --git a/includes/search/node_modules/fast-glob/package.json b/includes/search/node_modules/fast-glob/package.json
deleted file mode 100644
index d74e403..0000000
--- a/includes/search/node_modules/fast-glob/package.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "name": "fast-glob",
- "version": "3.2.12",
- "description": "It's a very fast and efficient glob library for Node.js",
- "license": "MIT",
- "repository": "mrmlnc/fast-glob",
- "author": {
- "name": "Denis Malinochkin",
- "url": "https://mrmlnc.com"
- },
- "engines": {
- "node": ">=8.6.0"
- },
- "main": "out/index.js",
- "typings": "out/index.d.ts",
- "files": [
- "out",
- "!out/{benchmark,tests}",
- "!out/**/*.map",
- "!out/**/*.spec.*"
- ],
- "keywords": [
- "glob",
- "patterns",
- "fast",
- "implementation"
- ],
- "devDependencies": {
- "@nodelib/fs.macchiato": "^1.0.1",
- "@types/compute-stdev": "^1.0.0",
- "@types/easy-table": "^0.0.32",
- "@types/glob": "^7.1.1",
- "@types/glob-parent": "^5.1.0",
- "@types/is-ci": "^2.0.0",
- "@types/merge2": "^1.1.4",
- "@types/micromatch": "^4.0.0",
- "@types/minimist": "^1.2.0",
- "@types/mocha": "^5.2.7",
- "@types/node": "^12.7.8",
- "@types/rimraf": "^2.0.2",
- "@types/sinon": "^7.5.0",
- "compute-stdev": "^1.0.0",
- "easy-table": "^1.1.1",
- "eslint": "^6.5.1",
- "eslint-config-mrmlnc": "^1.1.0",
- "execa": "^2.0.4",
- "fast-glob": "^3.0.4",
- "fdir": "^5.1.0",
- "glob": "^7.1.4",
- "is-ci": "^2.0.0",
- "log-update": "^4.0.0",
- "minimist": "^1.2.0",
- "mocha": "^6.2.1",
- "rimraf": "^3.0.0",
- "sinon": "^7.5.0",
- "tiny-glob": "^0.2.6",
- "typescript": "^3.6.3"
- },
- "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"
- },
- "scripts": {
- "clean": "rimraf out",
- "lint": "eslint \"src/**/*.ts\" --cache",
- "compile": "tsc",
- "test": "mocha \"out/**/*.spec.js\" -s 0",
- "smoke": "mocha \"out/**/*.smoke.js\" -s 0",
- "smoke:sync": "mocha \"out/**/*.smoke.js\" -s 0 --grep \"\\(sync\\)\"",
- "smoke:async": "mocha \"out/**/*.smoke.js\" -s 0 --grep \"\\(async\\)\"",
- "smoke:stream": "mocha \"out/**/*.smoke.js\" -s 0 --grep \"\\(stream\\)\"",
- "build": "npm run clean && npm run compile && npm run lint && npm test",
- "watch": "npm run clean && npm run compile -- --sourceMap --watch",
- "bench": "npm run bench-async && npm run bench-stream && npm run bench-sync",
- "bench-async": "npm run bench-async-flatten && npm run bench-async-deep && npm run bench-async-partial-flatten && npm run bench-async-partial-deep",
- "bench-stream": "npm run bench-stream-flatten && npm run bench-stream-deep && npm run bench-stream-partial-flatten && npm run bench-stream-partial-deep",
- "bench-sync": "npm run bench-sync-flatten && npm run bench-sync-deep && npm run bench-sync-partial-flatten && npm run bench-sync-partial-deep",
- "bench-async-flatten": "node ./out/benchmark --mode async --pattern \"*\"",
- "bench-async-deep": "node ./out/benchmark --mode async --pattern \"**\"",
- "bench-async-partial-flatten": "node ./out/benchmark --mode async --pattern \"{fixtures,out}/{first,second}/*\"",
- "bench-async-partial-deep": "node ./out/benchmark --mode async --pattern \"{fixtures,out}/**\"",
- "bench-stream-flatten": "node ./out/benchmark --mode stream --pattern \"*\"",
- "bench-stream-deep": "node ./out/benchmark --mode stream --pattern \"**\"",
- "bench-stream-partial-flatten": "node ./out/benchmark --mode stream --pattern \"{fixtures,out}/{first,second}/*\"",
- "bench-stream-partial-deep": "node ./out/benchmark --mode stream --pattern \"{fixtures,out}/**\"",
- "bench-sync-flatten": "node ./out/benchmark --mode sync --pattern \"*\"",
- "bench-sync-deep": "node ./out/benchmark --mode sync --pattern \"**\"",
- "bench-sync-partial-flatten": "node ./out/benchmark --mode sync --pattern \"{fixtures,out}/{first,second}/*\"",
- "bench-sync-partial-deep": "node ./out/benchmark --mode sync --pattern \"{fixtures,out}/**\""
- }
-}
diff --git a/includes/search/node_modules/fastq/.github/dependabot.yml b/includes/search/node_modules/fastq/.github/dependabot.yml
deleted file mode 100644
index 7e7cbe1..0000000
--- a/includes/search/node_modules/fastq/.github/dependabot.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-version: 2
-updates:
-- package-ecosystem: npm
- directory: "/"
- schedule:
- interval: daily
- open-pull-requests-limit: 10
- ignore:
- - dependency-name: standard
- versions:
- - 16.0.3
diff --git a/includes/search/node_modules/fastq/.github/workflows/ci.yml b/includes/search/node_modules/fastq/.github/workflows/ci.yml
deleted file mode 100644
index 50e66b5..0000000
--- a/includes/search/node_modules/fastq/.github/workflows/ci.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-name: ci
-
-on: [push, pull_request]
-
-jobs:
- legacy:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- node-version: ['0.10', '0.12', 4.x, 6.x, 8.x]
-
- steps:
- - uses: actions/checkout@v2
-
- - name: Use Node.js
- uses: actions/setup-node@v1
- with:
- node-version: ${{ matrix.node-version }}
-
- - name: Install
- run: |
- npm install --production && npm install tape
-
- - name: Run tests
- run: |
- npm run legacy
-
- test:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- node-version: [10.x, 12.x, 13.x, 14.x, 15.x, 16.x]
-
- steps:
- - uses: actions/checkout@v2
-
- - name: Use Node.js
- uses: actions/setup-node@v1
- with:
- node-version: ${{ matrix.node-version }}
-
- - name: Install
- run: |
- npm install
-
- - name: Run tests
- run: |
- npm run test
diff --git a/includes/search/node_modules/fastq/LICENSE b/includes/search/node_modules/fastq/LICENSE
deleted file mode 100644
index 27c7bb4..0000000
--- a/includes/search/node_modules/fastq/LICENSE
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (c) 2015-2020, Matteo Collina <matteo.collina@gmail.com>
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/fastq/README.md b/includes/search/node_modules/fastq/README.md
deleted file mode 100644
index 8a25fef..0000000
--- a/includes/search/node_modules/fastq/README.md
+++ /dev/null
@@ -1,309 +0,0 @@
-# fastq
-
-![ci][ci-url]
-[![npm version][npm-badge]][npm-url]
-[![Dependency Status][david-badge]][david-url]
-
-Fast, in memory work queue.
-
-Benchmarks (1 million tasks):
-
-* setImmediate: 812ms
-* fastq: 854ms
-* async.queue: 1298ms
-* neoAsync.queue: 1249ms
-
-Obtained on node 12.16.1, on a dedicated server.
-
-If you need zero-overhead series function call, check out
-[fastseries](http://npm.im/fastseries). For zero-overhead parallel
-function call, check out [fastparallel](http://npm.im/fastparallel).
-
-[![js-standard-style](https://raw.githubusercontent.com/feross/standard/master/badge.png)](https://github.com/feross/standard)
-
- * <a href="#install">Installation</a>
- * <a href="#usage">Usage</a>
- * <a href="#api">API</a>
- * <a href="#license">Licence &amp; copyright</a>
-
-## Install
-
-`npm i fastq --save`
-
-## Usage (callback API)
-
-```js
-'use strict'
-
-const queue = require('fastq')(worker, 1)
-
-queue.push(42, function (err, result) {
- if (err) { throw err }
- console.log('the result is', result)
-})
-
-function worker (arg, cb) {
- cb(null, arg * 2)
-}
-```
-
-## Usage (promise API)
-
-```js
-const queue = require('fastq').promise(worker, 1)
-
-async function worker (arg) {
- return arg * 2
-}
-
-async function run () {
- const result = await queue.push(42)
- console.log('the result is', result)
-}
-
-run()
-```
-
-### Setting "this"
-
-```js
-'use strict'
-
-const that = { hello: 'world' }
-const queue = require('fastq')(that, worker, 1)
-
-queue.push(42, function (err, result) {
- if (err) { throw err }
- console.log(this)
- console.log('the result is', result)
-})
-
-function worker (arg, cb) {
- console.log(this)
- cb(null, arg * 2)
-}
-```
-
-### Using with TypeScript (callback API)
-
-```ts
-'use strict'
-
-import * as fastq from "fastq";
-import type { queue, done } from "fastq";
-
-type Task = {
- id: number
-}
-
-const q: queue<Task> = fastq(worker, 1)
-
-q.push({ id: 42})
-
-function worker (arg: Task, cb: done) {
- console.log(arg.id)
- cb(null)
-}
-```
-
-### Using with TypeScript (promise API)
-
-```ts
-'use strict'
-
-import * as fastq from "fastq";
-import type { queueAsPromised } from "fastq";
-
-type Task = {
- id: number
-}
-
-const q: queueAsPromised<Task> = fastq.promise(asyncWorker, 1)
-
-q.push({ id: 42}).catch((err) => console.error(err))
-
-async function asyncWorker (arg: Task): Promise<void> {
- // No need for a try-catch block, fastq handles errors automatically
- console.log(arg.id)
-}
-```
-
-## API
-
-* <a href="#fastqueue"><code>fastqueue()</code></a>
-* <a href="#push"><code>queue#<b>push()</b></code></a>
-* <a href="#unshift"><code>queue#<b>unshift()</b></code></a>
-* <a href="#pause"><code>queue#<b>pause()</b></code></a>
-* <a href="#resume"><code>queue#<b>resume()</b></code></a>
-* <a href="#idle"><code>queue#<b>idle()</b></code></a>
-* <a href="#length"><code>queue#<b>length()</b></code></a>
-* <a href="#getQueue"><code>queue#<b>getQueue()</b></code></a>
-* <a href="#kill"><code>queue#<b>kill()</b></code></a>
-* <a href="#killAndDrain"><code>queue#<b>killAndDrain()</b></code></a>
-* <a href="#error"><code>queue#<b>error()</b></code></a>
-* <a href="#concurrency"><code>queue#<b>concurrency</b></code></a>
-* <a href="#drain"><code>queue#<b>drain</b></code></a>
-* <a href="#empty"><code>queue#<b>empty</b></code></a>
-* <a href="#saturated"><code>queue#<b>saturated</b></code></a>
-* <a href="#promise"><code>fastqueue.promise()</code></a>
-
--------------------------------------------------------
-<a name="fastqueue"></a>
-### fastqueue([that], worker, concurrency)
-
-Creates a new queue.
-
-Arguments:
-
-* `that`, optional context of the `worker` function.
-* `worker`, worker function, it would be called with `that` as `this`,
- if that is specified.
-* `concurrency`, number of concurrent tasks that could be executed in
- parallel.
-
--------------------------------------------------------
-<a name="push"></a>
-### queue.push(task, done)
-
-Add a task at the end of the queue. `done(err, result)` will be called
-when the task was processed.
-
--------------------------------------------------------
-<a name="unshift"></a>
-### queue.unshift(task, done)
-
-Add a task at the beginning of the queue. `done(err, result)` will be called
-when the task was processed.
-
--------------------------------------------------------
-<a name="pause"></a>
-### queue.pause()
-
-Pause the processing of tasks. Currently worked tasks are not
-stopped.
-
--------------------------------------------------------
-<a name="resume"></a>
-### queue.resume()
-
-Resume the processing of tasks.
-
--------------------------------------------------------
-<a name="idle"></a>
-### queue.idle()
-
-Returns `false` if there are tasks being processed or waiting to be processed.
-`true` otherwise.
-
--------------------------------------------------------
-<a name="length"></a>
-### queue.length()
-
-Returns the number of tasks waiting to be processed (in the queue).
-
--------------------------------------------------------
-<a name="getQueue"></a>
-### queue.getQueue()
-
-Returns all the tasks be processed (in the queue). Returns empty array when there are no tasks
-
--------------------------------------------------------
-<a name="kill"></a>
-### queue.kill()
-
-Removes all tasks waiting to be processed, and reset `drain` to an empty
-function.
-
--------------------------------------------------------
-<a name="killAndDrain"></a>
-### queue.killAndDrain()
-
-Same than `kill` but the `drain` function will be called before reset to empty.
-
--------------------------------------------------------
-<a name="error"></a>
-### queue.error(handler)
-
-Set a global error handler. `handler(err, task)` will be called
-each time a task is completed, `err` will be not null if the task has thrown an error.
-
--------------------------------------------------------
-<a name="concurrency"></a>
-### queue.concurrency
-
-Property that returns the number of concurrent tasks that could be executed in
-parallel. It can be altered at runtime.
-
--------------------------------------------------------
-<a name="drain"></a>
-### queue.drain
-
-Function that will be called when the last
-item from the queue has been processed by a worker.
-It can be altered at runtime.
-
--------------------------------------------------------
-<a name="empty"></a>
-### queue.empty
-
-Function that will be called when the last
-item from the queue has been assigned to a worker.
-It can be altered at runtime.
-
--------------------------------------------------------
-<a name="saturated"></a>
-### queue.saturated
-
-Function that will be called when the queue hits the concurrency
-limit.
-It can be altered at runtime.
-
--------------------------------------------------------
-<a name="promise"></a>
-### fastqueue.promise([that], worker(arg), concurrency)
-
-Creates a new queue with `Promise` apis. It also offers all the methods
-and properties of the object returned by [`fastqueue`](#fastqueue) with the modified
-[`push`](#pushPromise) and [`unshift`](#unshiftPromise) methods.
-
-Node v10+ is required to use the promisified version.
-
-Arguments:
-* `that`, optional context of the `worker` function.
-* `worker`, worker function, it would be called with `that` as `this`,
- if that is specified. It MUST return a `Promise`.
-* `concurrency`, number of concurrent tasks that could be executed in
- parallel.
-
-<a name="pushPromise"></a>
-#### queue.push(task) => Promise
-
-Add a task at the end of the queue. The returned `Promise` will be fulfilled (rejected)
-when the task is completed successfully (unsuccessfully).
-
-This promise could be ignored as it will not lead to a `'unhandledRejection'`.
-
-<a name="unshiftPromise"></a>
-#### queue.unshift(task) => Promise
-
-Add a task at the beginning of the queue. The returned `Promise` will be fulfilled (rejected)
-when the task is completed successfully (unsuccessfully).
-
-This promise could be ignored as it will not lead to a `'unhandledRejection'`.
-
-<a name="drained"></a>
-#### queue.drained() => Promise
-
-Wait for the queue to be drained. The returned `Promise` will be resolved when all tasks in the queue have been processed by a worker.
-
-This promise could be ignored as it will not lead to a `'unhandledRejection'`.
-
-## License
-
-ISC
-
-[ci-url]: https://github.com/mcollina/fastq/workflows/ci/badge.svg
-[npm-badge]: https://badge.fury.io/js/fastq.svg
-[npm-url]: https://badge.fury.io/js/fastq
-[david-badge]: https://david-dm.org/mcollina/fastq.svg
-[david-url]: https://david-dm.org/mcollina/fastq
diff --git a/includes/search/node_modules/fastq/bench.js b/includes/search/node_modules/fastq/bench.js
deleted file mode 100644
index 4eaa829..0000000
--- a/includes/search/node_modules/fastq/bench.js
+++ /dev/null
@@ -1,66 +0,0 @@
-'use strict'
-
-const max = 1000000
-const fastqueue = require('./')(worker, 1)
-const { promisify } = require('util')
-const immediate = promisify(setImmediate)
-const qPromise = require('./').promise(immediate, 1)
-const async = require('async')
-const neo = require('neo-async')
-const asyncqueue = async.queue(worker, 1)
-const neoqueue = neo.queue(worker, 1)
-
-function bench (func, done) {
- const key = max + '*' + func.name
- let count = -1
-
- console.time(key)
- end()
-
- function end () {
- if (++count < max) {
- func(end)
- } else {
- console.timeEnd(key)
- if (done) {
- done()
- }
- }
- }
-}
-
-function benchFastQ (done) {
- fastqueue.push(42, done)
-}
-
-function benchAsyncQueue (done) {
- asyncqueue.push(42, done)
-}
-
-function benchNeoQueue (done) {
- neoqueue.push(42, done)
-}
-
-function worker (arg, cb) {
- setImmediate(cb)
-}
-
-function benchSetImmediate (cb) {
- worker(42, cb)
-}
-
-function benchFastQPromise (done) {
- qPromise.push(42).then(function () { done() }, done)
-}
-
-function runBench (done) {
- async.eachSeries([
- benchSetImmediate,
- benchFastQ,
- benchNeoQueue,
- benchAsyncQueue,
- benchFastQPromise
- ], bench, done)
-}
-
-runBench(runBench)
diff --git a/includes/search/node_modules/fastq/example.js b/includes/search/node_modules/fastq/example.js
deleted file mode 100644
index 665fdc8..0000000
--- a/includes/search/node_modules/fastq/example.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict'
-
-/* eslint-disable no-var */
-
-var queue = require('./')(worker, 1)
-
-queue.push(42, function (err, result) {
- if (err) { throw err }
- console.log('the result is', result)
-})
-
-function worker (arg, cb) {
- cb(null, 42 * 2)
-}
diff --git a/includes/search/node_modules/fastq/example.mjs b/includes/search/node_modules/fastq/example.mjs
deleted file mode 100644
index 81be789..0000000
--- a/includes/search/node_modules/fastq/example.mjs
+++ /dev/null
@@ -1,11 +0,0 @@
-import { promise as queueAsPromised } from './queue.js'
-
-/* eslint-disable */
-
-const queue = queueAsPromised(worker, 1)
-
-console.log('the result is', await queue.push(42))
-
-async function worker (arg) {
- return 42 * 2
-}
diff --git a/includes/search/node_modules/fastq/index.d.ts b/includes/search/node_modules/fastq/index.d.ts
deleted file mode 100644
index 65ebe65..0000000
--- a/includes/search/node_modules/fastq/index.d.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-declare function fastq<C, T = any, R = any>(context: C, worker: fastq.worker<C, T, R>, concurrency: number): fastq.queue<T, R>
-declare function fastq<C, T = any, R = any>(worker: fastq.worker<C, T, R>, concurrency: number): fastq.queue<T, R>
-
-declare namespace fastq {
- type worker<C, T = any, R = any> = (this: C, task: T, cb: fastq.done<R>) => void
- type asyncWorker<C, T = any, R = any> = (this: C, task: T) => Promise<R>
- type done<R = any> = (err: Error | null, result?: R) => void
- type errorHandler<T = any> = (err: Error, task: T) => void
-
- interface queue<T = any, R = any> {
- push(task: T, done?: done<R>): void
- unshift(task: T, done?: done<R>): void
- pause(): any
- resume(): any
- idle(): boolean
- length(): number
- getQueue(): T[]
- kill(): any
- killAndDrain(): any
- error(handler: errorHandler<T>): void
- concurrency: number
- drain(): any
- empty: () => void
- saturated: () => void
- }
-
- interface queueAsPromised<T = any, R = any> extends queue<T, R> {
- push(task: T): Promise<R>
- unshift(task: T): Promise<R>
- drained(): Promise<void>
- }
-
- function promise<C, T = any, R = any>(context: C, worker: fastq.asyncWorker<C, T, R>, concurrency: number): fastq.queueAsPromised<T, R>
- function promise<C, T = any, R = any>(worker: fastq.asyncWorker<C, T, R>, concurrency: number): fastq.queueAsPromised<T, R>
-}
-
-export = fastq
diff --git a/includes/search/node_modules/fastq/package.json b/includes/search/node_modules/fastq/package.json
deleted file mode 100644
index bf572e3..0000000
--- a/includes/search/node_modules/fastq/package.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "name": "fastq",
- "version": "1.15.0",
- "description": "Fast, in memory work queue",
- "main": "queue.js",
- "scripts": {
- "lint": "standard --verbose | snazzy",
- "unit": "nyc --lines 100 --branches 100 --functions 100 --check-coverage --reporter=text tape test/test.js test/promise.js",
- "coverage": "nyc --reporter=html --reporter=cobertura --reporter=text tape test/test.js test/promise.js",
- "test:report": "npm run lint && npm run unit:report",
- "test": "npm run lint && npm run unit && npm run typescript",
- "typescript": "tsc --project ./test/tsconfig.json",
- "legacy": "tape test/test.js"
- },
- "pre-commit": [
- "test"
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mcollina/fastq.git"
- },
- "keywords": [
- "fast",
- "queue",
- "async",
- "worker"
- ],
- "author": "Matteo Collina <hello@matteocollina.com>",
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/mcollina/fastq/issues"
- },
- "homepage": "https://github.com/mcollina/fastq#readme",
- "devDependencies": {
- "async": "^3.1.0",
- "neo-async": "^2.6.1",
- "nyc": "^15.0.0",
- "pre-commit": "^1.2.2",
- "snazzy": "^9.0.0",
- "standard": "^16.0.0",
- "tape": "^5.0.0",
- "typescript": "^4.0.2"
- },
- "dependencies": {
- "reusify": "^1.0.4"
- },
- "standard": {
- "ignore": [
- "example.mjs"
- ]
- }
-}
diff --git a/includes/search/node_modules/fastq/queue.js b/includes/search/node_modules/fastq/queue.js
deleted file mode 100644
index 03fe112..0000000
--- a/includes/search/node_modules/fastq/queue.js
+++ /dev/null
@@ -1,289 +0,0 @@
-'use strict'
-
-/* eslint-disable no-var */
-
-var reusify = require('reusify')
-
-function fastqueue (context, worker, concurrency) {
- if (typeof context === 'function') {
- concurrency = worker
- worker = context
- context = null
- }
-
- if (concurrency < 1) {
- throw new Error('fastqueue concurrency must be greater than 1')
- }
-
- var cache = reusify(Task)
- var queueHead = null
- var queueTail = null
- var _running = 0
- var errorHandler = null
-
- var self = {
- push: push,
- drain: noop,
- saturated: noop,
- pause: pause,
- paused: false,
- concurrency: concurrency,
- running: running,
- resume: resume,
- idle: idle,
- length: length,
- getQueue: getQueue,
- unshift: unshift,
- empty: noop,
- kill: kill,
- killAndDrain: killAndDrain,
- error: error
- }
-
- return self
-
- function running () {
- return _running
- }
-
- function pause () {
- self.paused = true
- }
-
- function length () {
- var current = queueHead
- var counter = 0
-
- while (current) {
- current = current.next
- counter++
- }
-
- return counter
- }
-
- function getQueue () {
- var current = queueHead
- var tasks = []
-
- while (current) {
- tasks.push(current.value)
- current = current.next
- }
-
- return tasks
- }
-
- function resume () {
- if (!self.paused) return
- self.paused = false
- for (var i = 0; i < self.concurrency; i++) {
- _running++
- release()
- }
- }
-
- function idle () {
- return _running === 0 && self.length() === 0
- }
-
- function push (value, done) {
- var current = cache.get()
-
- current.context = context
- current.release = release
- current.value = value
- current.callback = done || noop
- current.errorHandler = errorHandler
-
- if (_running === self.concurrency || self.paused) {
- if (queueTail) {
- queueTail.next = current
- queueTail = current
- } else {
- queueHead = current
- queueTail = current
- self.saturated()
- }
- } else {
- _running++
- worker.call(context, current.value, current.worked)
- }
- }
-
- function unshift (value, done) {
- var current = cache.get()
-
- current.context = context
- current.release = release
- current.value = value
- current.callback = done || noop
-
- if (_running === self.concurrency || self.paused) {
- if (queueHead) {
- current.next = queueHead
- queueHead = current
- } else {
- queueHead = current
- queueTail = current
- self.saturated()
- }
- } else {
- _running++
- worker.call(context, current.value, current.worked)
- }
- }
-
- function release (holder) {
- if (holder) {
- cache.release(holder)
- }
- var next = queueHead
- if (next) {
- if (!self.paused) {
- if (queueTail === queueHead) {
- queueTail = null
- }
- queueHead = next.next
- next.next = null
- worker.call(context, next.value, next.worked)
- if (queueTail === null) {
- self.empty()
- }
- } else {
- _running--
- }
- } else if (--_running === 0) {
- self.drain()
- }
- }
-
- function kill () {
- queueHead = null
- queueTail = null
- self.drain = noop
- }
-
- function killAndDrain () {
- queueHead = null
- queueTail = null
- self.drain()
- self.drain = noop
- }
-
- function error (handler) {
- errorHandler = handler
- }
-}
-
-function noop () {}
-
-function Task () {
- this.value = null
- this.callback = noop
- this.next = null
- this.release = noop
- this.context = null
- this.errorHandler = null
-
- var self = this
-
- this.worked = function worked (err, result) {
- var callback = self.callback
- var errorHandler = self.errorHandler
- var val = self.value
- self.value = null
- self.callback = noop
- if (self.errorHandler) {
- errorHandler(err, val)
- }
- callback.call(self.context, err, result)
- self.release(self)
- }
-}
-
-function queueAsPromised (context, worker, concurrency) {
- if (typeof context === 'function') {
- concurrency = worker
- worker = context
- context = null
- }
-
- function asyncWrapper (arg, cb) {
- worker.call(this, arg)
- .then(function (res) {
- cb(null, res)
- }, cb)
- }
-
- var queue = fastqueue(context, asyncWrapper, concurrency)
-
- var pushCb = queue.push
- var unshiftCb = queue.unshift
-
- queue.push = push
- queue.unshift = unshift
- queue.drained = drained
-
- return queue
-
- function push (value) {
- var p = new Promise(function (resolve, reject) {
- pushCb(value, function (err, result) {
- if (err) {
- reject(err)
- return
- }
- resolve(result)
- })
- })
-
- // Let's fork the promise chain to
- // make the error bubble up to the user but
- // not lead to a unhandledRejection
- p.catch(noop)
-
- return p
- }
-
- function unshift (value) {
- var p = new Promise(function (resolve, reject) {
- unshiftCb(value, function (err, result) {
- if (err) {
- reject(err)
- return
- }
- resolve(result)
- })
- })
-
- // Let's fork the promise chain to
- // make the error bubble up to the user but
- // not lead to a unhandledRejection
- p.catch(noop)
-
- return p
- }
-
- function drained () {
- if (queue.idle()) {
- return new Promise(function (resolve) {
- resolve()
- })
- }
-
- var previousDrain = queue.drain
-
- var p = new Promise(function (resolve) {
- queue.drain = function () {
- previousDrain()
- resolve()
- }
- })
-
- return p
- }
-}
-
-module.exports = fastqueue
-module.exports.promise = queueAsPromised
diff --git a/includes/search/node_modules/fastq/test/example.ts b/includes/search/node_modules/fastq/test/example.ts
deleted file mode 100644
index c454e9d..0000000
--- a/includes/search/node_modules/fastq/test/example.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import * as fastq from '../'
-import { promise as queueAsPromised } from '../'
-
-// Basic example
-
-const queue = fastq(worker, 1)
-
-queue.push('world', (err, result) => {
- if (err) throw err
- console.log('the result is', result)
-})
-
-queue.push('push without cb')
-
-queue.concurrency
-
-queue.drain()
-
-queue.empty = () => undefined
-
-console.log('the queue tasks are', queue.getQueue())
-
-queue.idle()
-
-queue.kill()
-
-queue.killAndDrain()
-
-queue.length
-
-queue.pause()
-
-queue.resume()
-
-queue.saturated = () => undefined
-
-queue.unshift('world', (err, result) => {
- if (err) throw err
- console.log('the result is', result)
-})
-
-queue.unshift('unshift without cb')
-
-function worker(task: any, cb: fastq.done) {
- cb(null, 'hello ' + task)
-}
-
-// Generics example
-
-interface GenericsContext {
- base: number;
-}
-
-const genericsQueue = fastq<GenericsContext, number, string>({ base: 6 }, genericsWorker, 1)
-
-genericsQueue.push(7, (err, done) => {
- if (err) throw err
- console.log('the result is', done)
-})
-
-genericsQueue.unshift(7, (err, done) => {
- if (err) throw err
- console.log('the result is', done)
-})
-
-function genericsWorker(this: GenericsContext, task: number, cb: fastq.done<string>) {
- cb(null, 'the meaning of life is ' + (this.base * task))
-}
-
-const queue2 = queueAsPromised(asyncWorker, 1)
-
-async function asyncWorker(task: any) {
- return 'hello ' + task
-}
-
-async function run () {
- await queue.push(42)
- await queue.unshift(42)
-}
-
-run()
diff --git a/includes/search/node_modules/fastq/test/promise.js b/includes/search/node_modules/fastq/test/promise.js
deleted file mode 100644
index fe014ff..0000000
--- a/includes/search/node_modules/fastq/test/promise.js
+++ /dev/null
@@ -1,248 +0,0 @@
-'use strict'
-
-const test = require('tape')
-const buildQueue = require('../').promise
-const { promisify } = require('util')
-const sleep = promisify(setTimeout)
-const immediate = promisify(setImmediate)
-
-test('concurrency', function (t) {
- t.plan(2)
- t.throws(buildQueue.bind(null, worker, 0))
- t.doesNotThrow(buildQueue.bind(null, worker, 1))
-
- async function worker (arg) {
- return true
- }
-})
-
-test('worker execution', async function (t) {
- const queue = buildQueue(worker, 1)
-
- const result = await queue.push(42)
-
- t.equal(result, true, 'result matches')
-
- async function worker (arg) {
- t.equal(arg, 42)
- return true
- }
-})
-
-test('limit', async function (t) {
- const queue = buildQueue(worker, 1)
-
- const [res1, res2] = await Promise.all([queue.push(10), queue.push(0)])
- t.equal(res1, 10, 'the result matches')
- t.equal(res2, 0, 'the result matches')
-
- async function worker (arg) {
- await sleep(arg)
- return arg
- }
-})
-
-test('multiple executions', async function (t) {
- const queue = buildQueue(worker, 1)
- const toExec = [1, 2, 3, 4, 5]
- const expected = ['a', 'b', 'c', 'd', 'e']
- let count = 0
-
- await Promise.all(toExec.map(async function (task, i) {
- const result = await queue.push(task)
- t.equal(result, expected[i], 'the result matches')
- }))
-
- async function worker (arg) {
- t.equal(arg, toExec[count], 'arg matches')
- return expected[count++]
- }
-})
-
-test('drained', async function (t) {
- const queue = buildQueue(worker, 2)
-
- const toExec = new Array(10).fill(10)
- let count = 0
-
- async function worker (arg) {
- await sleep(arg)
- count++
- }
-
- toExec.forEach(function (i) {
- queue.push(i)
- })
-
- await queue.drained()
-
- t.equal(count, toExec.length)
-
- toExec.forEach(function (i) {
- queue.push(i)
- })
-
- await queue.drained()
-
- t.equal(count, toExec.length * 2)
-})
-
-test('drained with exception should not throw', async function (t) {
- const queue = buildQueue(worker, 2)
-
- const toExec = new Array(10).fill(10)
-
- async function worker () {
- throw new Error('foo')
- }
-
- toExec.forEach(function (i) {
- queue.push(i)
- })
-
- await queue.drained()
-})
-
-test('drained with drain function', async function (t) {
- let drainCalled = false
- const queue = buildQueue(worker, 2)
-
- queue.drain = function () {
- drainCalled = true
- }
-
- const toExec = new Array(10).fill(10)
- let count = 0
-
- async function worker (arg) {
- await sleep(arg)
- count++
- }
-
- toExec.forEach(function () {
- queue.push()
- })
-
- await queue.drained()
-
- t.equal(count, toExec.length)
- t.equal(drainCalled, true)
-})
-
-test('drained while idle should resolve', async function (t) {
- const queue = buildQueue(worker, 2)
-
- async function worker (arg) {
- await sleep(arg)
- }
-
- await queue.drained()
-})
-
-test('drained while idle should not call the drain function', async function (t) {
- let drainCalled = false
- const queue = buildQueue(worker, 2)
-
- queue.drain = function () {
- drainCalled = true
- }
-
- async function worker (arg) {
- await sleep(arg)
- }
-
- await queue.drained()
-
- t.equal(drainCalled, false)
-})
-
-test('set this', async function (t) {
- t.plan(1)
- const that = {}
- const queue = buildQueue(that, worker, 1)
-
- await queue.push(42)
-
- async function worker (arg) {
- t.equal(this, that, 'this matches')
- }
-})
-
-test('unshift', async function (t) {
- const queue = buildQueue(worker, 1)
- const expected = [1, 2, 3, 4]
-
- await Promise.all([
- queue.push(1),
- queue.push(4),
- queue.unshift(3),
- queue.unshift(2)
- ])
-
- t.is(expected.length, 0)
-
- async function worker (arg) {
- t.equal(expected.shift(), arg, 'tasks come in order')
- }
-})
-
-test('push with worker throwing error', async function (t) {
- t.plan(5)
- const q = buildQueue(async function (task, cb) {
- throw new Error('test error')
- }, 1)
- q.error(function (err, task) {
- t.ok(err instanceof Error, 'global error handler should catch the error')
- t.match(err.message, /test error/, 'error message should be "test error"')
- t.equal(task, 42, 'The task executed should be passed')
- })
- try {
- await q.push(42)
- } catch (err) {
- t.ok(err instanceof Error, 'push callback should catch the error')
- t.match(err.message, /test error/, 'error message should be "test error"')
- }
-})
-
-test('unshift with worker throwing error', async function (t) {
- t.plan(2)
- const q = buildQueue(async function (task, cb) {
- throw new Error('test error')
- }, 1)
- try {
- await q.unshift(42)
- } catch (err) {
- t.ok(err instanceof Error, 'push callback should catch the error')
- t.match(err.message, /test error/, 'error message should be "test error"')
- }
-})
-
-test('no unhandledRejection (push)', async function (t) {
- function handleRejection () {
- t.fail('unhandledRejection')
- }
- process.once('unhandledRejection', handleRejection)
- const q = buildQueue(async function (task, cb) {
- throw new Error('test error')
- }, 1)
-
- q.push(42)
-
- await immediate()
- process.removeListener('unhandledRejection', handleRejection)
-})
-
-test('no unhandledRejection (unshift)', async function (t) {
- function handleRejection () {
- t.fail('unhandledRejection')
- }
- process.once('unhandledRejection', handleRejection)
- const q = buildQueue(async function (task, cb) {
- throw new Error('test error')
- }, 1)
-
- q.unshift(42)
-
- await immediate()
- process.removeListener('unhandledRejection', handleRejection)
-})
diff --git a/includes/search/node_modules/fastq/test/test.js b/includes/search/node_modules/fastq/test/test.js
deleted file mode 100644
index 1cc78a5..0000000
--- a/includes/search/node_modules/fastq/test/test.js
+++ /dev/null
@@ -1,566 +0,0 @@
-'use strict'
-
-/* eslint-disable no-var */
-
-var test = require('tape')
-var buildQueue = require('../')
-
-test('concurrency', function (t) {
- t.plan(2)
- t.throws(buildQueue.bind(null, worker, 0))
- t.doesNotThrow(buildQueue.bind(null, worker, 1))
-
- function worker (arg, cb) {
- cb(null, true)
- }
-})
-
-test('worker execution', function (t) {
- t.plan(3)
-
- var queue = buildQueue(worker, 1)
-
- queue.push(42, function (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- })
-
- function worker (arg, cb) {
- t.equal(arg, 42)
- cb(null, true)
- }
-})
-
-test('limit', function (t) {
- t.plan(4)
-
- var expected = [10, 0]
- var queue = buildQueue(worker, 1)
-
- queue.push(10, result)
- queue.push(0, result)
-
- function result (err, arg) {
- t.error(err, 'no error')
- t.equal(arg, expected.shift(), 'the result matches')
- }
-
- function worker (arg, cb) {
- setTimeout(cb, arg, null, arg)
- }
-})
-
-test('multiple executions', function (t) {
- t.plan(15)
-
- var queue = buildQueue(worker, 1)
- var toExec = [1, 2, 3, 4, 5]
- var count = 0
-
- toExec.forEach(function (task) {
- queue.push(task, done)
- })
-
- function done (err, result) {
- t.error(err, 'no error')
- t.equal(result, toExec[count - 1], 'the result matches')
- }
-
- function worker (arg, cb) {
- t.equal(arg, toExec[count], 'arg matches')
- count++
- setImmediate(cb, null, arg)
- }
-})
-
-test('multiple executions, one after another', function (t) {
- t.plan(15)
-
- var queue = buildQueue(worker, 1)
- var toExec = [1, 2, 3, 4, 5]
- var count = 0
-
- queue.push(toExec[0], done)
-
- function done (err, result) {
- t.error(err, 'no error')
- t.equal(result, toExec[count - 1], 'the result matches')
- if (count < toExec.length) {
- queue.push(toExec[count], done)
- }
- }
-
- function worker (arg, cb) {
- t.equal(arg, toExec[count], 'arg matches')
- count++
- setImmediate(cb, null, arg)
- }
-})
-
-test('set this', function (t) {
- t.plan(3)
-
- var that = {}
- var queue = buildQueue(that, worker, 1)
-
- queue.push(42, function (err, result) {
- t.error(err, 'no error')
- t.equal(this, that, 'this matches')
- })
-
- function worker (arg, cb) {
- t.equal(this, that, 'this matches')
- cb(null, true)
- }
-})
-
-test('drain', function (t) {
- t.plan(4)
-
- var queue = buildQueue(worker, 1)
- var worked = false
-
- queue.push(42, function (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- })
-
- queue.drain = function () {
- t.equal(true, worked, 'drained')
- }
-
- function worker (arg, cb) {
- t.equal(arg, 42)
- worked = true
- setImmediate(cb, null, true)
- }
-})
-
-test('pause && resume', function (t) {
- t.plan(7)
-
- var queue = buildQueue(worker, 1)
- var worked = false
-
- t.notOk(queue.paused, 'it should not be paused')
-
- queue.pause()
-
- queue.push(42, function (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- })
-
- t.notOk(worked, 'it should be paused')
- t.ok(queue.paused, 'it should be paused')
-
- queue.resume()
- queue.resume() // second resume is a no-op
-
- t.notOk(queue.paused, 'it should not be paused')
-
- function worker (arg, cb) {
- t.equal(arg, 42)
- worked = true
- cb(null, true)
- }
-})
-
-test('pause in flight && resume', function (t) {
- t.plan(9)
-
- var queue = buildQueue(worker, 1)
- var expected = [42, 24]
-
- t.notOk(queue.paused, 'it should not be paused')
-
- queue.push(42, function (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- t.ok(queue.paused, 'it should be paused')
- process.nextTick(function () { queue.resume() })
- })
-
- queue.push(24, function (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- t.notOk(queue.paused, 'it should not be paused')
- })
-
- queue.pause()
-
- function worker (arg, cb) {
- t.equal(arg, expected.shift())
- process.nextTick(function () { cb(null, true) })
- }
-})
-
-test('altering concurrency', function (t) {
- t.plan(7)
-
- var queue = buildQueue(worker, 1)
- var count = 0
-
- queue.pause()
-
- queue.push(24, workDone)
- queue.push(24, workDone)
-
- queue.concurrency = 2
-
- queue.resume()
-
- t.equal(queue.running(), 2, '2 jobs running')
-
- function workDone (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- }
-
- function worker (arg, cb) {
- t.equal(0, count, 'works in parallel')
- setImmediate(function () {
- count++
- cb(null, true)
- })
- }
-})
-
-test('idle()', function (t) {
- t.plan(12)
-
- var queue = buildQueue(worker, 1)
-
- t.ok(queue.idle(), 'queue is idle')
-
- queue.push(42, function (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- t.notOk(queue.idle(), 'queue is not idle')
- })
-
- queue.push(42, function (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- // it will go idle after executing this function
- setImmediate(function () {
- t.ok(queue.idle(), 'queue is now idle')
- })
- })
-
- t.notOk(queue.idle(), 'queue is not idle')
-
- function worker (arg, cb) {
- t.notOk(queue.idle(), 'queue is not idle')
- t.equal(arg, 42)
- setImmediate(cb, null, true)
- }
-})
-
-test('saturated', function (t) {
- t.plan(9)
-
- var queue = buildQueue(worker, 1)
- var preworked = 0
- var worked = 0
-
- queue.saturated = function () {
- t.pass('saturated')
- t.equal(preworked, 1, 'started 1 task')
- t.equal(worked, 0, 'worked zero task')
- }
-
- queue.push(42, done)
- queue.push(42, done)
-
- function done (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- }
-
- function worker (arg, cb) {
- t.equal(arg, 42)
- preworked++
- setImmediate(function () {
- worked++
- cb(null, true)
- })
- }
-})
-
-test('length', function (t) {
- t.plan(7)
-
- var queue = buildQueue(worker, 1)
-
- t.equal(queue.length(), 0, 'nothing waiting')
- queue.push(42, done)
- t.equal(queue.length(), 0, 'nothing waiting')
- queue.push(42, done)
- t.equal(queue.length(), 1, 'one task waiting')
- queue.push(42, done)
- t.equal(queue.length(), 2, 'two tasks waiting')
-
- function done (err, result) {
- t.error(err, 'no error')
- }
-
- function worker (arg, cb) {
- setImmediate(function () {
- cb(null, true)
- })
- }
-})
-
-test('getQueue', function (t) {
- t.plan(10)
-
- var queue = buildQueue(worker, 1)
-
- t.equal(queue.getQueue().length, 0, 'nothing waiting')
- queue.push(42, done)
- t.equal(queue.getQueue().length, 0, 'nothing waiting')
- queue.push(42, done)
- t.equal(queue.getQueue().length, 1, 'one task waiting')
- t.equal(queue.getQueue()[0], 42, 'should be equal')
- queue.push(43, done)
- t.equal(queue.getQueue().length, 2, 'two tasks waiting')
- t.equal(queue.getQueue()[0], 42, 'should be equal')
- t.equal(queue.getQueue()[1], 43, 'should be equal')
-
- function done (err, result) {
- t.error(err, 'no error')
- }
-
- function worker (arg, cb) {
- setImmediate(function () {
- cb(null, true)
- })
- }
-})
-
-test('unshift', function (t) {
- t.plan(8)
-
- var queue = buildQueue(worker, 1)
- var expected = [1, 2, 3, 4]
-
- queue.push(1, done)
- queue.push(4, done)
- queue.unshift(3, done)
- queue.unshift(2, done)
-
- function done (err, result) {
- t.error(err, 'no error')
- }
-
- function worker (arg, cb) {
- t.equal(expected.shift(), arg, 'tasks come in order')
- setImmediate(function () {
- cb(null, true)
- })
- }
-})
-
-test('unshift && empty', function (t) {
- t.plan(2)
-
- var queue = buildQueue(worker, 1)
- var completed = false
-
- queue.pause()
-
- queue.empty = function () {
- t.notOk(completed, 'the task has not completed yet')
- }
-
- queue.unshift(1, done)
-
- queue.resume()
-
- function done (err, result) {
- completed = true
- t.error(err, 'no error')
- }
-
- function worker (arg, cb) {
- setImmediate(function () {
- cb(null, true)
- })
- }
-})
-
-test('push && empty', function (t) {
- t.plan(2)
-
- var queue = buildQueue(worker, 1)
- var completed = false
-
- queue.pause()
-
- queue.empty = function () {
- t.notOk(completed, 'the task has not completed yet')
- }
-
- queue.push(1, done)
-
- queue.resume()
-
- function done (err, result) {
- completed = true
- t.error(err, 'no error')
- }
-
- function worker (arg, cb) {
- setImmediate(function () {
- cb(null, true)
- })
- }
-})
-
-test('kill', function (t) {
- t.plan(5)
-
- var queue = buildQueue(worker, 1)
- var expected = [1]
-
- var predrain = queue.drain
-
- queue.drain = function drain () {
- t.fail('drain should never be called')
- }
-
- queue.push(1, done)
- queue.push(4, done)
- queue.unshift(3, done)
- queue.unshift(2, done)
- queue.kill()
-
- function done (err, result) {
- t.error(err, 'no error')
- setImmediate(function () {
- t.equal(queue.length(), 0, 'no queued tasks')
- t.equal(queue.running(), 0, 'no running tasks')
- t.equal(queue.drain, predrain, 'drain is back to default')
- })
- }
-
- function worker (arg, cb) {
- t.equal(expected.shift(), arg, 'tasks come in order')
- setImmediate(function () {
- cb(null, true)
- })
- }
-})
-
-test('killAndDrain', function (t) {
- t.plan(6)
-
- var queue = buildQueue(worker, 1)
- var expected = [1]
-
- var predrain = queue.drain
-
- queue.drain = function drain () {
- t.pass('drain has been called')
- }
-
- queue.push(1, done)
- queue.push(4, done)
- queue.unshift(3, done)
- queue.unshift(2, done)
- queue.killAndDrain()
-
- function done (err, result) {
- t.error(err, 'no error')
- setImmediate(function () {
- t.equal(queue.length(), 0, 'no queued tasks')
- t.equal(queue.running(), 0, 'no running tasks')
- t.equal(queue.drain, predrain, 'drain is back to default')
- })
- }
-
- function worker (arg, cb) {
- t.equal(expected.shift(), arg, 'tasks come in order')
- setImmediate(function () {
- cb(null, true)
- })
- }
-})
-
-test('pause && idle', function (t) {
- t.plan(11)
-
- var queue = buildQueue(worker, 1)
- var worked = false
-
- t.notOk(queue.paused, 'it should not be paused')
- t.ok(queue.idle(), 'should be idle')
-
- queue.pause()
-
- queue.push(42, function (err, result) {
- t.error(err, 'no error')
- t.equal(result, true, 'result matches')
- })
-
- t.notOk(worked, 'it should be paused')
- t.ok(queue.paused, 'it should be paused')
- t.notOk(queue.idle(), 'should not be idle')
-
- queue.resume()
-
- t.notOk(queue.paused, 'it should not be paused')
- t.notOk(queue.idle(), 'it should not be idle')
-
- function worker (arg, cb) {
- t.equal(arg, 42)
- worked = true
- process.nextTick(cb.bind(null, null, true))
- process.nextTick(function () {
- t.ok(queue.idle(), 'is should be idle')
- })
- }
-})
-
-test('push without cb', function (t) {
- t.plan(1)
-
- var queue = buildQueue(worker, 1)
-
- queue.push(42)
-
- function worker (arg, cb) {
- t.equal(arg, 42)
- cb()
- }
-})
-
-test('unshift without cb', function (t) {
- t.plan(1)
-
- var queue = buildQueue(worker, 1)
-
- queue.unshift(42)
-
- function worker (arg, cb) {
- t.equal(arg, 42)
- cb()
- }
-})
-
-test('push with worker throwing error', function (t) {
- t.plan(5)
- var q = buildQueue(function (task, cb) {
- cb(new Error('test error'), null)
- }, 1)
- q.error(function (err, task) {
- t.ok(err instanceof Error, 'global error handler should catch the error')
- t.match(err.message, /test error/, 'error message should be "test error"')
- t.equal(task, 42, 'The task executed should be passed')
- })
- q.push(42, function (err) {
- t.ok(err instanceof Error, 'push callback should catch the error')
- t.match(err.message, /test error/, 'error message should be "test error"')
- })
-})
diff --git a/includes/search/node_modules/fastq/test/tsconfig.json b/includes/search/node_modules/fastq/test/tsconfig.json
deleted file mode 100644
index 66e16e9..0000000
--- a/includes/search/node_modules/fastq/test/tsconfig.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "compilerOptions": {
- "target": "es6",
- "module": "commonjs",
- "noEmit": true,
- "strict": true
- },
- "files": [
- "./example.ts"
- ]
-}
diff --git a/includes/search/node_modules/fill-range/LICENSE b/includes/search/node_modules/fill-range/LICENSE
deleted file mode 100644
index 9af4a67..0000000
--- a/includes/search/node_modules/fill-range/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-present, Jon Schlinkert.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/fill-range/README.md b/includes/search/node_modules/fill-range/README.md
deleted file mode 100644
index 8d756fe..0000000
--- a/includes/search/node_modules/fill-range/README.md
+++ /dev/null
@@ -1,237 +0,0 @@
-# fill-range [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W8YFZ425KND68) [![NPM version](https://img.shields.io/npm/v/fill-range.svg?style=flat)](https://www.npmjs.com/package/fill-range) [![NPM monthly downloads](https://img.shields.io/npm/dm/fill-range.svg?style=flat)](https://npmjs.org/package/fill-range) [![NPM total downloads](https://img.shields.io/npm/dt/fill-range.svg?style=flat)](https://npmjs.org/package/fill-range) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/fill-range.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/fill-range)
-
-> Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`
-
-Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
-
-## Install
-
-Install with [npm](https://www.npmjs.com/):
-
-```sh
-$ npm install --save fill-range
-```
-
-## Usage
-
-Expands numbers and letters, optionally using a `step` as the last argument. _(Numbers may be defined as JavaScript numbers or strings)_.
-
-```js
-const fill = require('fill-range');
-// fill(from, to[, step, options]);
-
-console.log(fill('1', '10')); //=> ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
-console.log(fill('1', '10', { toRegex: true })); //=> [1-9]|10
-```
-
-**Params**
-
-* `from`: **{String|Number}** the number or letter to start with
-* `to`: **{String|Number}** the number or letter to end with
-* `step`: **{String|Number|Object|Function}** Optionally pass a [step](#optionsstep) to use.
-* `options`: **{Object|Function}**: See all available [options](#options)
-
-## Examples
-
-By default, an array of values is returned.
-
-**Alphabetical ranges**
-
-```js
-console.log(fill('a', 'e')); //=> ['a', 'b', 'c', 'd', 'e']
-console.log(fill('A', 'E')); //=> [ 'A', 'B', 'C', 'D', 'E' ]
-```
-
-**Numerical ranges**
-
-Numbers can be defined as actual numbers or strings.
-
-```js
-console.log(fill(1, 5)); //=> [ 1, 2, 3, 4, 5 ]
-console.log(fill('1', '5')); //=> [ 1, 2, 3, 4, 5 ]
-```
-
-**Negative ranges**
-
-Numbers can be defined as actual numbers or strings.
-
-```js
-console.log(fill('-5', '-1')); //=> [ '-5', '-4', '-3', '-2', '-1' ]
-console.log(fill('-5', '5')); //=> [ '-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5' ]
-```
-
-**Steps (increments)**
-
-```js
-// numerical ranges with increments
-console.log(fill('0', '25', 4)); //=> [ '0', '4', '8', '12', '16', '20', '24' ]
-console.log(fill('0', '25', 5)); //=> [ '0', '5', '10', '15', '20', '25' ]
-console.log(fill('0', '25', 6)); //=> [ '0', '6', '12', '18', '24' ]
-
-// alphabetical ranges with increments
-console.log(fill('a', 'z', 4)); //=> [ 'a', 'e', 'i', 'm', 'q', 'u', 'y' ]
-console.log(fill('a', 'z', 5)); //=> [ 'a', 'f', 'k', 'p', 'u', 'z' ]
-console.log(fill('a', 'z', 6)); //=> [ 'a', 'g', 'm', 's', 'y' ]
-```
-
-## Options
-
-### options.step
-
-**Type**: `number` (formatted as a string or number)
-
-**Default**: `undefined`
-
-**Description**: The increment to use for the range. Can be used with letters or numbers.
-
-**Example(s)**
-
-```js
-// numbers
-console.log(fill('1', '10', 2)); //=> [ '1', '3', '5', '7', '9' ]
-console.log(fill('1', '10', 3)); //=> [ '1', '4', '7', '10' ]
-console.log(fill('1', '10', 4)); //=> [ '1', '5', '9' ]
-
-// letters
-console.log(fill('a', 'z', 5)); //=> [ 'a', 'f', 'k', 'p', 'u', 'z' ]
-console.log(fill('a', 'z', 7)); //=> [ 'a', 'h', 'o', 'v' ]
-console.log(fill('a', 'z', 9)); //=> [ 'a', 'j', 's' ]
-```
-
-### options.strictRanges
-
-**Type**: `boolean`
-
-**Default**: `false`
-
-**Description**: By default, `null` is returned when an invalid range is passed. Enable this option to throw a `RangeError` on invalid ranges.
-
-**Example(s)**
-
-The following are all invalid:
-
-```js
-fill('1.1', '2'); // decimals not supported in ranges
-fill('a', '2'); // incompatible range values
-fill(1, 10, 'foo'); // invalid "step" argument
-```
-
-### options.stringify
-
-**Type**: `boolean`
-
-**Default**: `undefined`
-
-**Description**: Cast all returned values to strings. By default, integers are returned as numbers.
-
-**Example(s)**
-
-```js
-console.log(fill(1, 5)); //=> [ 1, 2, 3, 4, 5 ]
-console.log(fill(1, 5, { stringify: true })); //=> [ '1', '2', '3', '4', '5' ]
-```
-
-### options.toRegex
-
-**Type**: `boolean`
-
-**Default**: `undefined`
-
-**Description**: Create a regex-compatible source string, instead of expanding values to an array.
-
-**Example(s)**
-
-```js
-// alphabetical range
-console.log(fill('a', 'e', { toRegex: true })); //=> '[a-e]'
-// alphabetical with step
-console.log(fill('a', 'z', 3, { toRegex: true })); //=> 'a|d|g|j|m|p|s|v|y'
-// numerical range
-console.log(fill('1', '100', { toRegex: true })); //=> '[1-9]|[1-9][0-9]|100'
-// numerical range with zero padding
-console.log(fill('000001', '100000', { toRegex: true }));
-//=> '0{5}[1-9]|0{4}[1-9][0-9]|0{3}[1-9][0-9]{2}|0{2}[1-9][0-9]{3}|0[1-9][0-9]{4}|100000'
-```
-
-### options.transform
-
-**Type**: `function`
-
-**Default**: `undefined`
-
-**Description**: Customize each value in the returned array (or [string](#optionstoRegex)). _(you can also pass this function as the last argument to `fill()`)_.
-
-**Example(s)**
-
-```js
-// add zero padding
-console.log(fill(1, 5, value => String(value).padStart(4, '0')));
-//=> ['0001', '0002', '0003', '0004', '0005']
-```
-
-## About
-
-<details>
-<summary><strong>Contributing</strong></summary>
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
-
-</details>
-
-<details>
-<summary><strong>Running Tests</strong></summary>
-
-Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
-
-```sh
-$ npm install && npm test
-```
-
-</details>
-
-<details>
-<summary><strong>Building docs</strong></summary>
-
-_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
-
-To generate the readme, run the following command:
-
-```sh
-$ npm install -g verbose/verb#dev verb-generate-readme && verb
-```
-
-</details>
-
-### Contributors
-
-| **Commits** | **Contributor** |
-| --- | --- |
-| 116 | [jonschlinkert](https://github.com/jonschlinkert) |
-| 4 | [paulmillr](https://github.com/paulmillr) |
-| 2 | [realityking](https://github.com/realityking) |
-| 2 | [bluelovers](https://github.com/bluelovers) |
-| 1 | [edorivai](https://github.com/edorivai) |
-| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) |
-
-### Author
-
-**Jon Schlinkert**
-
-* [GitHub Profile](https://github.com/jonschlinkert)
-* [Twitter Profile](https://twitter.com/jonschlinkert)
-* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
-
-Please consider supporting me on Patreon, or [start your own Patreon page](https://patreon.com/invite/bxpbvm)!
-
-<a href="https://www.patreon.com/jonschlinkert">
-<img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" height="50">
-</a>
-
-### License
-
-Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT License](LICENSE).
-
-***
-
-_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 08, 2019._ \ No newline at end of file
diff --git a/includes/search/node_modules/fill-range/index.js b/includes/search/node_modules/fill-range/index.js
deleted file mode 100644
index 97ce35a..0000000
--- a/includes/search/node_modules/fill-range/index.js
+++ /dev/null
@@ -1,249 +0,0 @@
-/*!
- * fill-range <https://github.com/jonschlinkert/fill-range>
- *
- * Copyright (c) 2014-present, Jon Schlinkert.
- * Licensed under the MIT License.
- */
-
-'use strict';
-
-const util = require('util');
-const toRegexRange = require('to-regex-range');
-
-const isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
-
-const transform = toNumber => {
- return value => toNumber === true ? Number(value) : String(value);
-};
-
-const isValidValue = value => {
- return typeof value === 'number' || (typeof value === 'string' && value !== '');
-};
-
-const isNumber = num => Number.isInteger(+num);
-
-const zeros = input => {
- let value = `${input}`;
- let index = -1;
- if (value[0] === '-') value = value.slice(1);
- if (value === '0') return false;
- while (value[++index] === '0');
- return index > 0;
-};
-
-const stringify = (start, end, options) => {
- if (typeof start === 'string' || typeof end === 'string') {
- return true;
- }
- return options.stringify === true;
-};
-
-const pad = (input, maxLength, toNumber) => {
- if (maxLength > 0) {
- let dash = input[0] === '-' ? '-' : '';
- if (dash) input = input.slice(1);
- input = (dash + input.padStart(dash ? maxLength - 1 : maxLength, '0'));
- }
- if (toNumber === false) {
- return String(input);
- }
- return input;
-};
-
-const toMaxLen = (input, maxLength) => {
- let negative = input[0] === '-' ? '-' : '';
- if (negative) {
- input = input.slice(1);
- maxLength--;
- }
- while (input.length < maxLength) input = '0' + input;
- return negative ? ('-' + input) : input;
-};
-
-const toSequence = (parts, options) => {
- parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
- parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
-
- let prefix = options.capture ? '' : '?:';
- let positives = '';
- let negatives = '';
- let result;
-
- if (parts.positives.length) {
- positives = parts.positives.join('|');
- }
-
- if (parts.negatives.length) {
- negatives = `-(${prefix}${parts.negatives.join('|')})`;
- }
-
- if (positives && negatives) {
- result = `${positives}|${negatives}`;
- } else {
- result = positives || negatives;
- }
-
- if (options.wrap) {
- return `(${prefix}${result})`;
- }
-
- return result;
-};
-
-const toRange = (a, b, isNumbers, options) => {
- if (isNumbers) {
- return toRegexRange(a, b, { wrap: false, ...options });
- }
-
- let start = String.fromCharCode(a);
- if (a === b) return start;
-
- let stop = String.fromCharCode(b);
- return `[${start}-${stop}]`;
-};
-
-const toRegex = (start, end, options) => {
- if (Array.isArray(start)) {
- let wrap = options.wrap === true;
- let prefix = options.capture ? '' : '?:';
- return wrap ? `(${prefix}${start.join('|')})` : start.join('|');
- }
- return toRegexRange(start, end, options);
-};
-
-const rangeError = (...args) => {
- return new RangeError('Invalid range arguments: ' + util.inspect(...args));
-};
-
-const invalidRange = (start, end, options) => {
- if (options.strictRanges === true) throw rangeError([start, end]);
- return [];
-};
-
-const invalidStep = (step, options) => {
- if (options.strictRanges === true) {
- throw new TypeError(`Expected step "${step}" to be a number`);
- }
- return [];
-};
-
-const fillNumbers = (start, end, step = 1, options = {}) => {
- let a = Number(start);
- let b = Number(end);
-
- if (!Number.isInteger(a) || !Number.isInteger(b)) {
- if (options.strictRanges === true) throw rangeError([start, end]);
- return [];
- }
-
- // fix negative zero
- if (a === 0) a = 0;
- if (b === 0) b = 0;
-
- let descending = a > b;
- let startString = String(start);
- let endString = String(end);
- let stepString = String(step);
- step = Math.max(Math.abs(step), 1);
-
- let padded = zeros(startString) || zeros(endString) || zeros(stepString);
- let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
- let toNumber = padded === false && stringify(start, end, options) === false;
- let format = options.transform || transform(toNumber);
-
- if (options.toRegex && step === 1) {
- return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options);
- }
-
- let parts = { negatives: [], positives: [] };
- let push = num => parts[num < 0 ? 'negatives' : 'positives'].push(Math.abs(num));
- let range = [];
- let index = 0;
-
- while (descending ? a >= b : a <= b) {
- if (options.toRegex === true && step > 1) {
- push(a);
- } else {
- range.push(pad(format(a, index), maxLen, toNumber));
- }
- a = descending ? a - step : a + step;
- index++;
- }
-
- if (options.toRegex === true) {
- return step > 1
- ? toSequence(parts, options)
- : toRegex(range, null, { wrap: false, ...options });
- }
-
- return range;
-};
-
-const fillLetters = (start, end, step = 1, options = {}) => {
- if ((!isNumber(start) && start.length > 1) || (!isNumber(end) && end.length > 1)) {
- return invalidRange(start, end, options);
- }
-
-
- let format = options.transform || (val => String.fromCharCode(val));
- let a = `${start}`.charCodeAt(0);
- let b = `${end}`.charCodeAt(0);
-
- let descending = a > b;
- let min = Math.min(a, b);
- let max = Math.max(a, b);
-
- if (options.toRegex && step === 1) {
- return toRange(min, max, false, options);
- }
-
- let range = [];
- let index = 0;
-
- while (descending ? a >= b : a <= b) {
- range.push(format(a, index));
- a = descending ? a - step : a + step;
- index++;
- }
-
- if (options.toRegex === true) {
- return toRegex(range, null, { wrap: false, options });
- }
-
- return range;
-};
-
-const fill = (start, end, step, options = {}) => {
- if (end == null && isValidValue(start)) {
- return [start];
- }
-
- if (!isValidValue(start) || !isValidValue(end)) {
- return invalidRange(start, end, options);
- }
-
- if (typeof step === 'function') {
- return fill(start, end, 1, { transform: step });
- }
-
- if (isObject(step)) {
- return fill(start, end, 0, step);
- }
-
- let opts = { ...options };
- if (opts.capture === true) opts.wrap = true;
- step = step || opts.step || 1;
-
- if (!isNumber(step)) {
- if (step != null && !isObject(step)) return invalidStep(step, opts);
- return fill(start, end, 1, step);
- }
-
- if (isNumber(start) && isNumber(end)) {
- return fillNumbers(start, end, step, opts);
- }
-
- return fillLetters(start, end, Math.max(Math.abs(step), 1), opts);
-};
-
-module.exports = fill;
diff --git a/includes/search/node_modules/fill-range/package.json b/includes/search/node_modules/fill-range/package.json
deleted file mode 100644
index 07d3076..0000000
--- a/includes/search/node_modules/fill-range/package.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "name": "fill-range",
- "description": "Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`",
- "version": "7.0.1",
- "homepage": "https://github.com/jonschlinkert/fill-range",
- "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
- "contributors": [
- "Edo Rivai (edo.rivai.nl)",
- "Jon Schlinkert (http://twitter.com/jonschlinkert)",
- "Paul Miller (paulmillr.com)",
- "Rouven Weßling (www.rouvenwessling.de)",
- "(https://github.com/wtgtybhertgeghgtwtg)"
- ],
- "repository": "jonschlinkert/fill-range",
- "bugs": {
- "url": "https://github.com/jonschlinkert/fill-range/issues"
- },
- "license": "MIT",
- "files": [
- "index.js"
- ],
- "main": "index.js",
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "mocha"
- },
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "devDependencies": {
- "gulp-format-md": "^2.0.0",
- "mocha": "^6.1.1"
- },
- "keywords": [
- "alpha",
- "alphabetical",
- "array",
- "bash",
- "brace",
- "expand",
- "expansion",
- "fill",
- "glob",
- "match",
- "matches",
- "matching",
- "number",
- "numerical",
- "range",
- "ranges",
- "regex",
- "sh"
- ],
- "verb": {
- "toc": false,
- "layout": "default",
- "tasks": [
- "readme"
- ],
- "plugins": [
- "gulp-format-md"
- ],
- "lint": {
- "reflinks": true
- }
- }
-}
diff --git a/includes/search/node_modules/from2/.travis.yml b/includes/search/node_modules/from2/.travis.yml
deleted file mode 100644
index b03ffab..0000000
--- a/includes/search/node_modules/from2/.travis.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-language: node_js
-before_install:
- - npm install -g npm
-node_js:
- - "0.8"
- - "0.10"
- - "0.12"
- - "iojs"
diff --git a/includes/search/node_modules/from2/LICENSE.md b/includes/search/node_modules/from2/LICENSE.md
deleted file mode 100644
index 146cb32..0000000
--- a/includes/search/node_modules/from2/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-## The MIT License (MIT) ##
-
-Copyright (c) 2014 Hugh Kennedy
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/from2/README.md b/includes/search/node_modules/from2/README.md
deleted file mode 100644
index 3e041a4..0000000
--- a/includes/search/node_modules/from2/README.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# from2 [![Flattr this!](https://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=hughskennedy&url=http://github.com/hughsk/from2&title=from2&description=hughsk/from2%20on%20GitHub&language=en_GB&tags=flattr,github,javascript&category=software)[![experimental](http://hughsk.github.io/stability-badges/dist/experimental.svg)](http://github.com/hughsk/stability-badges) #
-
-`from2` is a high-level module for creating readable streams that properly handle backpressure.
-
-Convience wrapper for
-[readable-stream](http://github.com/isaacs/readable-stream)'s `ReadableStream`
-base class, with an API lifted from
-[from](http://github.com/dominictarr/from) and
-[through2](http://github.com/rvagg/through2).
-
-## Usage ##
-
-[![from2](https://nodei.co/npm/from2.png?mini=true)](https://nodei.co/npm/from2)
-
-### `stream = from2([opts], read)` ###
-
-Where `opts` are the options to pass on to the `ReadableStream` constructor,
-and `read(size, next)` is called when data is requested from the stream.
-
-* `size` is the recommended amount of data (in bytes) to retrieve.
-* `next(err)` should be called when you're ready to emit more data.
-
-For example, here's a readable stream that emits the contents of a given
-string:
-
-``` javascript
-var from = require('from2')
-
-function fromString(string) {
- return from(function(size, next) {
- // if there's no more content
- // left in the string, close the stream.
- if (string.length <= 0) return next(null, null)
-
- // Pull in a new chunk of text,
- // removing it from the string.
- var chunk = string.slice(0, size)
- string = string.slice(size)
-
- // Emit "chunk" from the stream.
- next(null, chunk)
- })
-}
-
-// pipe "hello world" out
-// to stdout.
-fromString('hello world').pipe(process.stdout)
-```
-
-### `stream = from2.obj([opts], read)` ###
-
-Shorthand for `from2({ objectMode: true }, read)`.
-
-### `createStream = from2.ctor([opts], read)` ###
-
-If you're creating similar streams in quick succession you can improve
-performance by generating a stream **constructor** that you can reuse instead
-of creating one-off streams on each call.
-
-Takes the same options as `from2`, instead returning a constructor which you
-can use to create new streams.
-
-### See Also
-
-- [from2-array](https://github.com/binocarlos/from2-array) - Create a from2 stream based on an array of source values.
-- [from2-string](https://github.com/yoshuawuyts/from2-string) - Create a stream from a string. Sugary wrapper around from2.
-
-## License ##
-
-MIT. See [LICENSE.md](http://github.com/hughsk/from2/blob/master/LICENSE.md) for details.
diff --git a/includes/search/node_modules/from2/index.js b/includes/search/node_modules/from2/index.js
deleted file mode 100644
index cb200c6..0000000
--- a/includes/search/node_modules/from2/index.js
+++ /dev/null
@@ -1,103 +0,0 @@
-var Readable = require('readable-stream').Readable
-var inherits = require('inherits')
-
-module.exports = from2
-
-from2.ctor = ctor
-from2.obj = obj
-
-var Proto = ctor()
-
-function toFunction(list) {
- list = list.slice()
- return function (_, cb) {
- var err = null
- var item = list.length ? list.shift() : null
- if (item instanceof Error) {
- err = item
- item = null
- }
-
- cb(err, item)
- }
-}
-
-function from2(opts, read) {
- if (typeof opts !== 'object' || Array.isArray(opts)) {
- read = opts
- opts = {}
- }
-
- var rs = new Proto(opts)
- rs._from = Array.isArray(read) ? toFunction(read) : (read || noop)
- return rs
-}
-
-function ctor(opts, read) {
- if (typeof opts === 'function') {
- read = opts
- opts = {}
- }
-
- opts = defaults(opts)
-
- inherits(Class, Readable)
- function Class(override) {
- if (!(this instanceof Class)) return new Class(override)
- this._reading = false
- this._callback = check
- this.destroyed = false
- Readable.call(this, override || opts)
-
- var self = this
- var hwm = this._readableState.highWaterMark
-
- function check(err, data) {
- if (self.destroyed) return
- if (err) return self.destroy(err)
- if (data === null) return self.push(null)
- self._reading = false
- if (self.push(data)) self._read(hwm)
- }
- }
-
- Class.prototype._from = read || noop
- Class.prototype._read = function(size) {
- if (this._reading || this.destroyed) return
- this._reading = true
- this._from(size, this._callback)
- }
-
- Class.prototype.destroy = function(err) {
- if (this.destroyed) return
- this.destroyed = true
-
- var self = this
- process.nextTick(function() {
- if (err) self.emit('error', err)
- self.emit('close')
- })
- }
-
- return Class
-}
-
-function obj(opts, read) {
- if (typeof opts === 'function' || Array.isArray(opts)) {
- read = opts
- opts = {}
- }
-
- opts = defaults(opts)
- opts.objectMode = true
- opts.highWaterMark = 16
-
- return from2(opts, read)
-}
-
-function noop () {}
-
-function defaults(opts) {
- opts = opts || {}
- return opts
-}
diff --git a/includes/search/node_modules/from2/package.json b/includes/search/node_modules/from2/package.json
deleted file mode 100644
index 943b8a8..0000000
--- a/includes/search/node_modules/from2/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "from2",
- "description": "Convenience wrapper for ReadableStream, with an API lifted from \"from\" and \"through2\"",
- "version": "2.3.0",
- "main": "index.js",
- "scripts": {
- "test": "node test"
- },
- "dependencies": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- },
- "devDependencies": {
- "tape": "^4.0.0"
- },
- "author": "Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io/)",
- "contributors": [
- "Mathias Buus <mathiasbuus@gmail.com>"
- ],
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git://github.com/hughsk/from2"
- },
- "bugs": {
- "url": "https://github.com/hughsk/from2/issues"
- },
- "homepage": "https://github.com/hughsk/from2",
- "keywords": [
- "from",
- "stream",
- "readable",
- "pull",
- "convenience",
- "wrapper"
- ]
-}
diff --git a/includes/search/node_modules/from2/test.js b/includes/search/node_modules/from2/test.js
deleted file mode 100644
index b11bd6c..0000000
--- a/includes/search/node_modules/from2/test.js
+++ /dev/null
@@ -1,123 +0,0 @@
-var test = require('tape')
-var path = require('path')
-var from = require('./')
-var fs = require('fs')
-
-var tmp = path.resolve(
- __dirname, 'tmp.txt'
-)
-
-function fromString(string) {
- return from(function(size, next) {
- if (string.length <= 0) return next(null, null)
- var chunk = string.slice(0, size)
- string = string.slice(size)
- next(null, chunk)
- })
-}
-
-test('from2', function(t) {
- var contents = fs.readFileSync(__filename, 'utf8')
- var stream = fromString(contents)
-
- stream
- .pipe(fs.createWriteStream(tmp))
- .on('close', function() {
- t.equal(fs.readFileSync(tmp, 'utf8'), contents)
- fs.unlinkSync(tmp)
- t.end()
- })
-})
-
-test('old mode', function(t) {
- var contents = fs.readFileSync(__filename, 'utf8')
- var stream = fromString(contents)
- var buffer = ''
-
- stream.on('data', function(data) {
- buffer += data
- }).on('end', function() {
- t.equal(buffer, contents)
- t.end()
- })
-})
-
-test('destroy', function(t) {
- var stream = from(function(size, next) {
- process.nextTick(function() {
- next(null, 'no')
- })
- })
-
- stream.on('data', function(data) {
- t.ok(false)
- }).on('close', function() {
- t.ok(true)
- t.end()
- })
-
- stream.destroy()
-})
-
-test('arrays', function (t) {
- var input = ['a', 'b', 'c']
- var stream = from(input)
- var output = []
- stream.on('data', function (letter) {
- output.push(letter.toString())
- })
- stream.on('end', function () {
- t.deepEqual(input, output)
- t.end()
- })
-})
-
-test('obj arrays', function (t) {
- var input = [{foo:'a'}, {foo:'b'}, {foo:'c'}]
- var stream = from.obj(input)
- var output = []
- stream.on('data', function (letter) {
- output.push(letter)
- })
- stream.on('end', function () {
- t.deepEqual(input, output)
- t.end()
- })
-})
-
-
-test('arrays can emit errors', function (t) {
- var input = ['a', 'b', new Error('ooops'), 'c']
- var stream = from(input)
- var output = []
- stream.on('data', function (letter) {
- output.push(letter.toString())
- })
- stream.on('error', function(e){
- t.deepEqual(['a', 'b'], output)
- t.equal('ooops', e.message)
- t.end()
- })
- stream.on('end', function () {
- t.fail('the stream should have errored')
- })
-})
-
-test('obj arrays can emit errors', function (t) {
- var input = [{foo:'a'}, {foo:'b'}, new Error('ooops'), {foo:'c'}]
- var stream = from.obj(input)
- var output = []
- stream.on('data', function (letter) {
- output.push(letter)
- })
- stream.on('error', function(e){
- t.deepEqual([{foo:'a'}, {foo:'b'}], output)
- t.equal('ooops', e.message)
- t.end()
- })
- stream.on('end', function () {
- t.fail('the stream should have errored')
- })
-})
-
-
diff --git a/includes/search/node_modules/fs-constants/LICENSE b/includes/search/node_modules/fs-constants/LICENSE
deleted file mode 100644
index cb757e5..0000000
--- a/includes/search/node_modules/fs-constants/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2018 Mathias Buus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/fs-constants/README.md b/includes/search/node_modules/fs-constants/README.md
deleted file mode 100644
index 62b3374..0000000
--- a/includes/search/node_modules/fs-constants/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# fs-constants
-
-Small module that allows you to get the fs constants across
-Node and the browser.
-
-```
-npm install fs-constants
-```
-
-Previously you would use `require('constants')` for this in node but that has been
-deprecated and changed to `require('fs').constants` which does not browserify.
-
-This module uses `require('constants')` in the browser and `require('fs').constants` in node to work around this
-
-
-## Usage
-
-``` js
-var constants = require('fs-constants')
-
-console.log('constants:', constants)
-```
-
-## License
-
-MIT
diff --git a/includes/search/node_modules/fs-constants/browser.js b/includes/search/node_modules/fs-constants/browser.js
deleted file mode 100644
index 3c87638..0000000
--- a/includes/search/node_modules/fs-constants/browser.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('constants')
diff --git a/includes/search/node_modules/fs-constants/index.js b/includes/search/node_modules/fs-constants/index.js
deleted file mode 100644
index 2a3aadf..0000000
--- a/includes/search/node_modules/fs-constants/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('fs').constants || require('constants')
diff --git a/includes/search/node_modules/fs-constants/package.json b/includes/search/node_modules/fs-constants/package.json
deleted file mode 100644
index 6f2b8f2..0000000
--- a/includes/search/node_modules/fs-constants/package.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "fs-constants",
- "version": "1.0.0",
- "description": "Require constants across node and the browser",
- "main": "index.js",
- "browser": "browser.js",
- "dependencies": {},
- "devDependencies": {},
- "repository": {
- "type": "git",
- "url": "https://github.com/mafintosh/fs-constants.git"
- },
- "author": "Mathias Buus (@mafintosh)",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/mafintosh/fs-constants/issues"
- },
- "homepage": "https://github.com/mafintosh/fs-constants"
-}
diff --git a/includes/search/node_modules/fs-extra/CHANGELOG.md b/includes/search/node_modules/fs-extra/CHANGELOG.md
deleted file mode 100644
index 225fdca..0000000
--- a/includes/search/node_modules/fs-extra/CHANGELOG.md
+++ /dev/null
@@ -1,902 +0,0 @@
-9.1.0 / 2021-01-19
-------------------
-
-- Add promise support for `fs.rm()` ([#841](https://github.com/jprichardson/node-fs-extra/issues/841), [#860](https://github.com/jprichardson/node-fs-extra/pull/860))
-- Upgrade universalify for performance improvments ([#825](https://github.com/jprichardson/node-fs-extra/pull/825))
-
-9.0.1 / 2020-06-03
-------------------
-
-- Fix issue with `ensureFile()` when used with Jest on Windows ([#804](https://github.com/jprichardson/node-fs-extra/issues/804), [#805](https://github.com/jprichardson/node-fs-extra/pull/805))
-- Remove unneeded `process.umask()` call ([#791](https://github.com/jprichardson/node-fs-extra/pull/791))
-- Docs improvements ([#753](https://github.com/jprichardson/node-fs-extra/pull/753), [#795](https://github.com/jprichardson/node-fs-extra/pull/795), [#797](https://github.com/jprichardson/node-fs-extra/pull/797))
-
-9.0.0 / 2020-03-19
-------------------
-
-### Breaking changes
-
-- Requires Node.js version 10 or greater ([#725](https://github.com/jprichardson/node-fs-extra/issues/725), [#751](https://github.com/jprichardson/node-fs-extra/pull/751))
-- Switched `ensureDir*` to use a fork of https://github.com/sindresorhus/make-dir to make use of native recursive `fs.mkdir` where possible ([#619](https://github.com/jprichardson/node-fs-extra/issues/619), [#756](https://github.com/jprichardson/node-fs-extra/pull/756))
-- Properly preserve `atime` for `copy*` with `preserveTimestamps` option ([#633](https://github.com/jprichardson/node-fs-extra/pull/633))
-
-**The following changes, allthough technically breaking, will not affect the vast majority of users:**
-
-- `outputJson` now outputs objects as they were when the function was called, even if they are mutated later ([#702](https://github.com/jprichardson/node-fs-extra/issues/702), [#768](https://github.com/jprichardson/node-fs-extra/pull/768))
-- Cannot pass `null` as an options parameter to `*Json*` methods ([#745](https://github.com/jprichardson/node-fs-extra/issues/745), [#768](https://github.com/jprichardson/node-fs-extra/pull/768))
-
-### Improvements
-
-- Add promise shims for `fs.writev` & `fs.opendir` ([#747](https://github.com/jprichardson/node-fs-extra/pull/747))
-- Better errors for `ensureFile` ([#696](https://github.com/jprichardson/node-fs-extra/issues/696), [#744](https://github.com/jprichardson/node-fs-extra/pull/744))
-- Better file comparison for older Node versions ([#694](https://github.com/jprichardson/node-fs-extra/pull/694))
-
-### Miscellaneous changes
-- Peformance optimizations ([#762](https://github.com/jprichardson/node-fs-extra/issues/762), [#764](https://github.com/jprichardson/node-fs-extra/pull/764))
-- Add missing documentation for aliases ([#758](https://github.com/jprichardson/node-fs-extra/issues/758), [#766](https://github.com/jprichardson/node-fs-extra/pull/766))
-- Update `universalify` dependency ([#767](https://github.com/jprichardson/node-fs-extra/pull/767))
-
-8.1.0 / 2019-06-28
-------------------
-
-- Add support for promisified `fs.realpath.native` in Node v9.2+ ([#650](https://github.com/jprichardson/node-fs-extra/issues/650), [#682](https://github.com/jprichardson/node-fs-extra/pull/682))
-- Update `graceful-fs` dependency ([#700](https://github.com/jprichardson/node-fs-extra/pull/700))
-- Use `graceful-fs` everywhere ([#700](https://github.com/jprichardson/node-fs-extra/pull/700))
-
-8.0.1 / 2019-05-13
-------------------
-
-- Fix bug `Maximum call stack size exceeded` error in `util/stat` ([#679](https://github.com/jprichardson/node-fs-extra/pull/679))
-
-8.0.0 / 2019-05-11
-------------------
-
-**NOTE:** Node.js v6 support is deprecated, and will be dropped in the next major release.
-
-- Use `renameSync()` under the hood in `moveSync()`
-- Fix bug with bind-mounted directories in `copy*()` ([#613](https://github.com/jprichardson/node-fs-extra/issues/613), [#618](https://github.com/jprichardson/node-fs-extra/pull/618))
-- Fix bug in `move()` with case-insensitive file systems
-- Use `fs.stat()`'s `bigint` option in `copy*()` & `move*()` where possible ([#657](https://github.com/jprichardson/node-fs-extra/issues/657))
-
-7.0.1 / 2018-11-07
-------------------
-
-- Fix `removeSync()` on Windows, in some cases, it would error out with `ENOTEMPTY` ([#646](https://github.com/jprichardson/node-fs-extra/pull/646))
-- Document `mode` option for `ensureDir*()` ([#587](https://github.com/jprichardson/node-fs-extra/pull/587))
-- Don't include documentation files in npm package tarball ([#642](https://github.com/jprichardson/node-fs-extra/issues/642), [#643](https://github.com/jprichardson/node-fs-extra/pull/643))
-
-7.0.0 / 2018-07-16
-------------------
-
-- **BREAKING:** Refine `copy*()` handling of symlinks to properly detect symlinks that point to the same file. ([#582](https://github.com/jprichardson/node-fs-extra/pull/582))
-- Fix bug with copying write-protected directories ([#600](https://github.com/jprichardson/node-fs-extra/pull/600))
-- Universalify `fs.lchmod()` ([#596](https://github.com/jprichardson/node-fs-extra/pull/596))
-- Add `engines` field to `package.json` ([#580](https://github.com/jprichardson/node-fs-extra/pull/580))
-
-6.0.1 / 2018-05-09
-------------------
-
-- Fix `fs.promises` `ExperimentalWarning` on Node v10.1.0 ([#578](https://github.com/jprichardson/node-fs-extra/pull/578))
-
-6.0.0 / 2018-05-01
-------------------
-
-- Drop support for Node.js versions 4, 5, & 7 ([#564](https://github.com/jprichardson/node-fs-extra/pull/564))
-- Rewrite `move` to use `fs.rename` where possible ([#549](https://github.com/jprichardson/node-fs-extra/pull/549))
-- Don't convert relative paths to absolute paths for `filter` ([#554](https://github.com/jprichardson/node-fs-extra/pull/554))
-- `copy*`'s behavior when `preserveTimestamps` is `false` has been OS-dependent since 5.0.0, but that's now explicitly noted in the docs ([#563](https://github.com/jprichardson/node-fs-extra/pull/563))
-- Fix subdirectory detection for `copy*` & `move*` ([#541](https://github.com/jprichardson/node-fs-extra/pull/541))
-- Handle case-insensitive paths correctly in `copy*` ([#568](https://github.com/jprichardson/node-fs-extra/pull/568))
-
-5.0.0 / 2017-12-11
-------------------
-
-Significant refactor of `copy()` & `copySync()`, including breaking changes. No changes to other functions in this release.
-
-Huge thanks to **[@manidlou](https://github.com/manidlou)** for doing most of the work on this release.
-
-- The `filter` option can no longer be a RegExp (must be a function). This was deprecated since fs-extra v1.0.0. [#512](https://github.com/jprichardson/node-fs-extra/pull/512)
-- `copy()`'s `filter` option can now be a function that returns a Promise. [#518](https://github.com/jprichardson/node-fs-extra/pull/518)
-- `copy()` & `copySync()` now use `fs.copyFile()`/`fs.copyFileSync()` in environments that support it (currently Node 8.5.0+). Older Node versions still get the old implementation. [#505](https://github.com/jprichardson/node-fs-extra/pull/505)
-- Don't allow copying a directory into itself. [#83](https://github.com/jprichardson/node-fs-extra/issues/83)
-- Handle copying between identical files. [#198](https://github.com/jprichardson/node-fs-extra/issues/198)
-- Error out when copying an empty folder to a path that already exists. [#464](https://github.com/jprichardson/node-fs-extra/issues/464)
-- Don't create `dest`'s parent if the `filter` function aborts the `copy()` operation. [#517](https://github.com/jprichardson/node-fs-extra/pull/517)
-- Fix `writeStream` not being closed if there was an error in `copy()`. [#516](https://github.com/jprichardson/node-fs-extra/pull/516)
-
-4.0.3 / 2017-12-05
-------------------
-
-- Fix wrong `chmod` values in `fs.remove()` [#501](https://github.com/jprichardson/node-fs-extra/pull/501)
-- Fix `TypeError` on systems that don't have some `fs` operations like `lchown` [#520](https://github.com/jprichardson/node-fs-extra/pull/520)
-
-4.0.2 / 2017-09-12
-------------------
-
-- Added `EOL` option to `writeJson*` & `outputJson*` (via upgrade to jsonfile v4)
-- Added promise support to [`fs.copyFile()`](https://nodejs.org/api/fs.html#fs_fs_copyfile_src_dest_flags_callback) in Node 8.5+
-- Added `.js` extension to `main` field in `package.json` for better tooling compatibility. [#485](https://github.com/jprichardson/node-fs-extra/pull/485)
-
-4.0.1 / 2017-07-31
-------------------
-
-### Fixed
-
-- Previously, `ensureFile()` & `ensureFileSync()` would do nothing if the path was a directory. Now, they error out for consistency with `ensureDir()`. [#465](https://github.com/jprichardson/node-fs-extra/issues/465), [#466](https://github.com/jprichardson/node-fs-extra/pull/466), [#470](https://github.com/jprichardson/node-fs-extra/issues/470)
-
-4.0.0 / 2017-07-14
-------------------
-
-### Changed
-
-- **BREAKING:** The promisified versions of `fs.read()` & `fs.write()` now return objects. See [the docs](docs/fs-read-write.md) for details. [#436](https://github.com/jprichardson/node-fs-extra/issues/436), [#449](https://github.com/jprichardson/node-fs-extra/pull/449)
-- `fs.move()` now errors out when destination is a subdirectory of source. [#458](https://github.com/jprichardson/node-fs-extra/pull/458)
-- Applied upstream fixes from `rimraf` to `fs.remove()` & `fs.removeSync()`. [#459](https://github.com/jprichardson/node-fs-extra/pull/459)
-
-### Fixed
-
-- Got `fs.outputJSONSync()` working again; it was broken due to refactoring. [#428](https://github.com/jprichardson/node-fs-extra/pull/428)
-
-Also clarified the docs in a few places.
-
-3.0.1 / 2017-05-04
-------------------
-
-- Fix bug in `move()` & `moveSync()` when source and destination are the same, and source does not exist. [#415](https://github.com/jprichardson/node-fs-extra/pull/415)
-
-3.0.0 / 2017-04-27
-------------------
-
-### Added
-
-- **BREAKING:** Added Promise support. All asynchronous native fs methods and fs-extra methods now return a promise if the callback is not passed. [#403](https://github.com/jprichardson/node-fs-extra/pull/403)
-- `pathExists()`, a replacement for the deprecated `fs.exists`. `pathExists` has a normal error-first callback signature. Also added `pathExistsSync`, an alias to `fs.existsSync`, for completeness. [#406](https://github.com/jprichardson/node-fs-extra/pull/406)
-
-### Removed
-
-- **BREAKING:** Removed support for setting the default spaces for `writeJson()`, `writeJsonSync()`, `outputJson()`, & `outputJsonSync()`. This was undocumented. [#402](https://github.com/jprichardson/node-fs-extra/pull/402)
-
-### Changed
-
-- Upgraded jsonfile dependency to v3.0.0:
- - **BREAKING:** Changed behavior of `throws` option for `readJsonSync()`; now does not throw filesystem errors when `throws` is `false`.
-- **BREAKING:** `writeJson()`, `writeJsonSync()`, `outputJson()`, & `outputJsonSync()` now output minified JSON by default for consistency with `JSON.stringify()`; set the `spaces` option to `2` to override this new behavior. [#402](https://github.com/jprichardson/node-fs-extra/pull/402)
-- Use `Buffer.allocUnsafe()` instead of `new Buffer()` in environments that support it. [#394](https://github.com/jprichardson/node-fs-extra/pull/394)
-
-### Fixed
-
-- `removeSync()` silently failed on Windows in some cases. Now throws an `EBUSY` error. [#408](https://github.com/jprichardson/node-fs-extra/pull/408)
-
-2.1.2 / 2017-03-16
-------------------
-
-### Fixed
-
-- Weird windows bug that resulted in `ensureDir()`'s callback being called twice in some cases. This bug may have also affected `remove()`. See [#392](https://github.com/jprichardson/node-fs-extra/issues/392), [#393](https://github.com/jprichardson/node-fs-extra/pull/393)
-
-2.1.1 / 2017-03-15
-------------------
-
-### Fixed
-
-- Reverted [`5597bd`](https://github.com/jprichardson/node-fs-extra/commit/5597bd5b67f7d060f5f5bf26e9635be48330f5d7), this broke compatibility with Node.js versions v4+ but less than `v4.5.0`.
-- Remove `Buffer.alloc()` usage in `moveSync()`.
-
-2.1.0 / 2017-03-15
-------------------
-
-Thanks to [Mani Maghsoudlou (@manidlou)](https://github.com/manidlou) & [Jan Peer Stöcklmair (@JPeer264)](https://github.com/JPeer264) for their extraordinary help with this release!
-
-### Added
-- `moveSync()` See [#309], [#381](https://github.com/jprichardson/node-fs-extra/pull/381). ([@manidlou](https://github.com/manidlou))
-- `copy()` and `copySync()`'s `filter` option now gets the destination path passed as the second parameter. [#366](https://github.com/jprichardson/node-fs-extra/pull/366) ([@manidlou](https://github.com/manidlou))
-
-### Changed
-- Use `Buffer.alloc()` instead of deprecated `new Buffer()` in `copySync()`. [#380](https://github.com/jprichardson/node-fs-extra/pull/380) ([@manidlou](https://github.com/manidlou))
-- Refactored entire codebase to use ES6 features supported by Node.js v4+ [#355](https://github.com/jprichardson/node-fs-extra/issues/355). [(@JPeer264)](https://github.com/JPeer264)
-- Refactored docs. ([@manidlou](https://github.com/manidlou))
-
-### Fixed
-
-- `move()` shouldn't error out when source and dest are the same. [#377](https://github.com/jprichardson/node-fs-extra/issues/377), [#378](https://github.com/jprichardson/node-fs-extra/pull/378) ([@jdalton](https://github.com/jdalton))
-
-2.0.0 / 2017-01-16
-------------------
-
-### Removed
-- **BREAKING:** Removed support for Node `v0.12`. The Node foundation stopped officially supporting it
-on Jan 1st, 2017.
-- **BREAKING:** Remove `walk()` and `walkSync()`. `walkSync()` was only part of `fs-extra` for a little
-over two months. Use [klaw](https://github.com/jprichardson/node-klaw) instead of `walk()`, in fact, `walk()` was just
-an alias to klaw. For `walkSync()` use [klaw-sync](https://github.com/mawni/node-klaw-sync). See: [#338], [#339]
-
-### Changed
-- **BREAKING:** Renamed `clobber` to `overwrite`. This affects `copy()`, `copySync()`, and `move()`. [#330], [#333]
-- Moved docs, to `docs/`. [#340]
-
-### Fixed
-- Apply filters to directories in `copySync()` like in `copy()`. [#324]
-- A specific condition when disk is under heavy use, `copy()` can fail. [#326]
-
-
-1.0.0 / 2016-11-01
-------------------
-
-After five years of development, we finally have reach the 1.0.0 milestone! Big thanks goes
-to [Ryan Zim](https://github.com/RyanZim) for leading the charge on this release!
-
-### Added
-- `walkSync()`
-
-### Changed
-- **BREAKING**: dropped Node v0.10 support.
-- disabled `rimaf` globbing, wasn't used. [#280]
-- deprecate `copy()/copySync()` option `filter` if it's a `RegExp`. `filter` should now be a function.
-- inline `rimraf`. This is temporary and was done because `rimraf` depended upon the beefy `glob` which `fs-extra` does not use. [#300]
-
-### Fixed
-- bug fix proper closing of file handle on `utimesMillis()` [#271]
-- proper escaping of files with dollar signs [#291]
-- `copySync()` failed if user didn't own file. [#199], [#301]
-
-
-0.30.0 / 2016-04-28
--------------------
-- Brought back Node v0.10 support. I didn't realize there was still demand. Official support will end **2016-10-01**.
-
-0.29.0 / 2016-04-27
--------------------
-- **BREAKING**: removed support for Node v0.10. If you still want to use Node v0.10, everything should work except for `ensureLink()/ensureSymlink()`. Node v0.12 is still supported but will be dropped in the near future as well.
-
-0.28.0 / 2016-04-17
--------------------
-- **BREAKING**: removed `createOutputStream()`. Use https://www.npmjs.com/package/create-output-stream. See: [#192][#192]
-- `mkdirs()/mkdirsSync()` check for invalid win32 path chars. See: [#209][#209], [#237][#237]
-- `mkdirs()/mkdirsSync()` if drive not mounted, error. See: [#93][#93]
-
-0.27.0 / 2016-04-15
--------------------
-- add `dereference` option to `copySync()`. [#235][#235]
-
-0.26.7 / 2016-03-16
--------------------
-- fixed `copy()` if source and dest are the same. [#230][#230]
-
-0.26.6 / 2016-03-15
--------------------
-- fixed if `emptyDir()` does not have a callback: [#229][#229]
-
-0.26.5 / 2016-01-27
--------------------
-- `copy()` with two arguments (w/o callback) was broken. See: [#215][#215]
-
-0.26.4 / 2016-01-05
--------------------
-- `copySync()` made `preserveTimestamps` default consistent with `copy()` which is `false`. See: [#208][#208]
-
-0.26.3 / 2015-12-17
--------------------
-- fixed `copy()` hangup in copying blockDevice / characterDevice / `/dev/null`. See: [#193][#193]
-
-0.26.2 / 2015-11-02
--------------------
-- fixed `outputJson{Sync}()` spacing adherence to `fs.spaces`
-
-0.26.1 / 2015-11-02
--------------------
-- fixed `copySync()` when `clogger=true` and the destination is read only. See: [#190][#190]
-
-0.26.0 / 2015-10-25
--------------------
-- extracted the `walk()` function into its own module [`klaw`](https://github.com/jprichardson/node-klaw).
-
-0.25.0 / 2015-10-24
--------------------
-- now has a file walker `walk()`
-
-0.24.0 / 2015-08-28
--------------------
-- removed alias `delete()` and `deleteSync()`. See: [#171][#171]
-
-0.23.1 / 2015-08-07
--------------------
-- Better handling of errors for `move()` when moving across devices. [#170][#170]
-- `ensureSymlink()` and `ensureLink()` should not throw errors if link exists. [#169][#169]
-
-0.23.0 / 2015-08-06
--------------------
-- added `ensureLink{Sync}()` and `ensureSymlink{Sync}()`. See: [#165][#165]
-
-0.22.1 / 2015-07-09
--------------------
-- Prevent calling `hasMillisResSync()` on module load. See: [#149][#149].
-Fixes regression that was introduced in `0.21.0`.
-
-0.22.0 / 2015-07-09
--------------------
-- preserve permissions / ownership in `copy()`. See: [#54][#54]
-
-0.21.0 / 2015-07-04
--------------------
-- add option to preserve timestamps in `copy()` and `copySync()`. See: [#141][#141]
-- updated `graceful-fs@3.x` to `4.x`. This brings in features from `amazing-graceful-fs` (much cleaner code / less hacks)
-
-0.20.1 / 2015-06-23
--------------------
-- fixed regression caused by latest jsonfile update: See: https://github.com/jprichardson/node-jsonfile/issues/26
-
-0.20.0 / 2015-06-19
--------------------
-- removed `jsonfile` aliases with `File` in the name, they weren't documented and probably weren't in use e.g.
-this package had both `fs.readJsonFile` and `fs.readJson` that were aliases to each other, now use `fs.readJson`.
-- preliminary walker created. Intentionally not documented. If you use it, it will almost certainly change and break your code.
-- started moving tests inline
-- upgraded to `jsonfile@2.1.0`, can now pass JSON revivers/replacers to `readJson()`, `writeJson()`, `outputJson()`
-
-0.19.0 / 2015-06-08
--------------------
-- `fs.copy()` had support for Node v0.8, dropped support
-
-0.18.4 / 2015-05-22
--------------------
-- fixed license field according to this: [#136][#136] and https://github.com/npm/npm/releases/tag/v2.10.0
-
-0.18.3 / 2015-05-08
--------------------
-- bugfix: handle `EEXIST` when clobbering on some Linux systems. [#134][#134]
-
-0.18.2 / 2015-04-17
--------------------
-- bugfix: allow `F_OK` ([#120][#120])
-
-0.18.1 / 2015-04-15
--------------------
-- improved windows support for `move()` a bit. https://github.com/jprichardson/node-fs-extra/commit/92838980f25dc2ee4ec46b43ee14d3c4a1d30c1b
-- fixed a lot of tests for Windows (appveyor)
-
-0.18.0 / 2015-03-31
--------------------
-- added `emptyDir()` and `emptyDirSync()`
-
-0.17.0 / 2015-03-28
--------------------
-- `copySync` added `clobber` option (before always would clobber, now if `clobber` is `false` it throws an error if the destination exists).
-**Only works with files at the moment.**
-- `createOutputStream()` added. See: [#118][#118]
-
-0.16.5 / 2015-03-08
--------------------
-- fixed `fs.move` when `clobber` is `true` and destination is a directory, it should clobber. [#114][#114]
-
-0.16.4 / 2015-03-01
--------------------
-- `fs.mkdirs` fix infinite loop on Windows. See: See https://github.com/substack/node-mkdirp/pull/74 and https://github.com/substack/node-mkdirp/issues/66
-
-0.16.3 / 2015-01-28
--------------------
-- reverted https://github.com/jprichardson/node-fs-extra/commit/1ee77c8a805eba5b99382a2591ff99667847c9c9
-
-
-0.16.2 / 2015-01-28
--------------------
-- fixed `fs.copy` for Node v0.8 (support is temporary and will be removed in the near future)
-
-0.16.1 / 2015-01-28
--------------------
-- if `setImmediate` is not available, fall back to `process.nextTick`
-
-0.16.0 / 2015-01-28
--------------------
-- bugfix `fs.move()` into itself. Closes [#104]
-- bugfix `fs.move()` moving directory across device. Closes [#108]
-- added coveralls support
-- bugfix: nasty multiple callback `fs.copy()` bug. Closes [#98]
-- misc fs.copy code cleanups
-
-0.15.0 / 2015-01-21
--------------------
-- dropped `ncp`, imported code in
-- because of previous, now supports `io.js`
-- `graceful-fs` is now a dependency
-
-0.14.0 / 2015-01-05
--------------------
-- changed `copy`/`copySync` from `fs.copy(src, dest, [filters], callback)` to `fs.copy(src, dest, [options], callback)` [#100][#100]
-- removed mockfs tests for mkdirp (this may be temporary, but was getting in the way of other tests)
-
-0.13.0 / 2014-12-10
--------------------
-- removed `touch` and `touchSync` methods (they didn't handle permissions like UNIX touch)
-- updated `"ncp": "^0.6.0"` to `"ncp": "^1.0.1"`
-- imported `mkdirp` => `minimist` and `mkdirp` are no longer dependences, should now appease people who wanted `mkdirp` to be `--use_strict` safe. See [#59]([#59][#59])
-
-0.12.0 / 2014-09-22
--------------------
-- copy symlinks in `copySync()` [#85][#85]
-
-0.11.1 / 2014-09-02
--------------------
-- bugfix `copySync()` preserve file permissions [#80][#80]
-
-0.11.0 / 2014-08-11
--------------------
-- upgraded `"ncp": "^0.5.1"` to `"ncp": "^0.6.0"`
-- upgrade `jsonfile": "^1.2.0"` to `jsonfile": "^2.0.0"` => on write, json files now have `\n` at end. Also adds `options.throws` to `readJsonSync()`
-see https://github.com/jprichardson/node-jsonfile#readfilesyncfilename-options for more details.
-
-0.10.0 / 2014-06-29
-------------------
-* bugfix: upgaded `"jsonfile": "~1.1.0"` to `"jsonfile": "^1.2.0"`, bumped minor because of `jsonfile` dep change
-from `~` to `^`. [#67]
-
-0.9.1 / 2014-05-22
-------------------
-* removed Node.js `0.8.x` support, `0.9.0` was published moments ago and should have been done there
-
-0.9.0 / 2014-05-22
-------------------
-* upgraded `ncp` from `~0.4.2` to `^0.5.1`, [#58]
-* upgraded `rimraf` from `~2.2.6` to `^2.2.8`
-* upgraded `mkdirp` from `0.3.x` to `^0.5.0`
-* added methods `ensureFile()`, `ensureFileSync()`
-* added methods `ensureDir()`, `ensureDirSync()` [#31]
-* added `move()` method. From: https://github.com/andrewrk/node-mv
-
-
-0.8.1 / 2013-10-24
-------------------
-* copy failed to return an error to the callback if a file doesn't exist (ulikoehler [#38], [#39])
-
-0.8.0 / 2013-10-14
-------------------
-* `filter` implemented on `copy()` and `copySync()`. (Srirangan / [#36])
-
-0.7.1 / 2013-10-12
-------------------
-* `copySync()` implemented (Srirangan / [#33])
-* updated to the latest `jsonfile` version `1.1.0` which gives `options` params for the JSON methods. Closes [#32]
-
-0.7.0 / 2013-10-07
-------------------
-* update readme conventions
-* `copy()` now works if destination directory does not exist. Closes [#29]
-
-0.6.4 / 2013-09-05
-------------------
-* changed `homepage` field in package.json to remove NPM warning
-
-0.6.3 / 2013-06-28
-------------------
-* changed JSON spacing default from `4` to `2` to follow Node conventions
-* updated `jsonfile` dep
-* updated `rimraf` dep
-
-0.6.2 / 2013-06-28
-------------------
-* added .npmignore, [#25]
-
-0.6.1 / 2013-05-14
-------------------
-* modified for `strict` mode, closes [#24]
-* added `outputJson()/outputJsonSync()`, closes [#23]
-
-0.6.0 / 2013-03-18
-------------------
-* removed node 0.6 support
-* added node 0.10 support
-* upgraded to latest `ncp` and `rimraf`.
-* optional `graceful-fs` support. Closes [#17]
-
-
-0.5.0 / 2013-02-03
-------------------
-* Removed `readTextFile`.
-* Renamed `readJSONFile` to `readJSON` and `readJson`, same with write.
-* Restructured documentation a bit. Added roadmap.
-
-0.4.0 / 2013-01-28
-------------------
-* Set default spaces in `jsonfile` from 4 to 2.
-* Updated `testutil` deps for tests.
-* Renamed `touch()` to `createFile()`
-* Added `outputFile()` and `outputFileSync()`
-* Changed creation of testing diretories so the /tmp dir is not littered.
-* Added `readTextFile()` and `readTextFileSync()`.
-
-0.3.2 / 2012-11-01
-------------------
-* Added `touch()` and `touchSync()` methods.
-
-0.3.1 / 2012-10-11
-------------------
-* Fixed some stray globals.
-
-0.3.0 / 2012-10-09
-------------------
-* Removed all CoffeeScript from tests.
-* Renamed `mkdir` to `mkdirs`/`mkdirp`.
-
-0.2.1 / 2012-09-11
-------------------
-* Updated `rimraf` dep.
-
-0.2.0 / 2012-09-10
-------------------
-* Rewrote module into JavaScript. (Must still rewrite tests into JavaScript)
-* Added all methods of [jsonfile](https://github.com/jprichardson/node-jsonfile)
-* Added Travis-CI.
-
-0.1.3 / 2012-08-13
-------------------
-* Added method `readJSONFile`.
-
-0.1.2 / 2012-06-15
-------------------
-* Bug fix: `deleteSync()` didn't exist.
-* Verified Node v0.8 compatibility.
-
-0.1.1 / 2012-06-15
-------------------
-* Fixed bug in `remove()`/`delete()` that wouldn't execute the function if a callback wasn't passed.
-
-0.1.0 / 2012-05-31
-------------------
-* Renamed `copyFile()` to `copy()`. `copy()` can now copy directories (recursively) too.
-* Renamed `rmrf()` to `remove()`.
-* `remove()` aliased with `delete()`.
-* Added `mkdirp` capabilities. Named: `mkdir()`. Hides Node.js native `mkdir()`.
-* Instead of exporting the native `fs` module with new functions, I now copy over the native methods to a new object and export that instead.
-
-0.0.4 / 2012-03-14
-------------------
-* Removed CoffeeScript dependency
-
-0.0.3 / 2012-01-11
-------------------
-* Added methods rmrf and rmrfSync
-* Moved tests from Jasmine to Mocha
-
-
-[#344]: https://github.com/jprichardson/node-fs-extra/issues/344 "Licence Year"
-[#343]: https://github.com/jprichardson/node-fs-extra/pull/343 "Add klaw-sync link to readme"
-[#342]: https://github.com/jprichardson/node-fs-extra/pull/342 "allow preserveTimestamps when use move"
-[#341]: https://github.com/jprichardson/node-fs-extra/issues/341 "mkdirp(path.dirname(dest) in move() logic needs cleaning up [question]"
-[#340]: https://github.com/jprichardson/node-fs-extra/pull/340 "Move docs to seperate docs folder [documentation]"
-[#339]: https://github.com/jprichardson/node-fs-extra/pull/339 "Remove walk() & walkSync() [feature-walk]"
-[#338]: https://github.com/jprichardson/node-fs-extra/issues/338 "Remove walk() and walkSync() [feature-walk]"
-[#337]: https://github.com/jprichardson/node-fs-extra/issues/337 "copy doesn't return a yieldable value"
-[#336]: https://github.com/jprichardson/node-fs-extra/pull/336 "Docs enhanced walk sync [documentation, feature-walk]"
-[#335]: https://github.com/jprichardson/node-fs-extra/pull/335 "Refactor move() tests [feature-move]"
-[#334]: https://github.com/jprichardson/node-fs-extra/pull/334 "Cleanup lib/move/index.js [feature-move]"
-[#333]: https://github.com/jprichardson/node-fs-extra/pull/333 "Rename clobber to overwrite [feature-copy, feature-move]"
-[#332]: https://github.com/jprichardson/node-fs-extra/pull/332 "BREAKING: Drop Node v0.12 & io.js support"
-[#331]: https://github.com/jprichardson/node-fs-extra/issues/331 "Add support for chmodr [enhancement, future]"
-[#330]: https://github.com/jprichardson/node-fs-extra/pull/330 "BREAKING: Do not error when copy destination exists & clobber: false [feature-copy]"
-[#329]: https://github.com/jprichardson/node-fs-extra/issues/329 "Does .walk() scale to large directories? [question]"
-[#328]: https://github.com/jprichardson/node-fs-extra/issues/328 "Copying files corrupts [feature-copy, needs-confirmed]"
-[#327]: https://github.com/jprichardson/node-fs-extra/pull/327 "Use writeStream 'finish' event instead of 'close' [bug, feature-copy]"
-[#326]: https://github.com/jprichardson/node-fs-extra/issues/326 "fs.copy fails with chmod error when disk under heavy use [bug, feature-copy]"
-[#325]: https://github.com/jprichardson/node-fs-extra/issues/325 "ensureDir is difficult to promisify [enhancement]"
-[#324]: https://github.com/jprichardson/node-fs-extra/pull/324 "copySync() should apply filter to directories like copy() [bug, feature-copy]"
-[#323]: https://github.com/jprichardson/node-fs-extra/issues/323 "Support for `dest` being a directory when using `copy*()`?"
-[#322]: https://github.com/jprichardson/node-fs-extra/pull/322 "Add fs-promise as fs-extra-promise alternative"
-[#321]: https://github.com/jprichardson/node-fs-extra/issues/321 "fs.copy() with clobber set to false return EEXIST error [feature-copy]"
-[#320]: https://github.com/jprichardson/node-fs-extra/issues/320 "fs.copySync: Error: EPERM: operation not permitted, unlink "
-[#319]: https://github.com/jprichardson/node-fs-extra/issues/319 "Create directory if not exists"
-[#318]: https://github.com/jprichardson/node-fs-extra/issues/318 "Support glob patterns [enhancement, future]"
-[#317]: https://github.com/jprichardson/node-fs-extra/pull/317 "Adding copy sync test for src file without write perms"
-[#316]: https://github.com/jprichardson/node-fs-extra/pull/316 "Remove move()'s broken limit option [feature-move]"
-[#315]: https://github.com/jprichardson/node-fs-extra/pull/315 "Fix move clobber tests to work around graceful-fs bug."
-[#314]: https://github.com/jprichardson/node-fs-extra/issues/314 "move() limit option [documentation, enhancement, feature-move]"
-[#313]: https://github.com/jprichardson/node-fs-extra/pull/313 "Test that remove() ignores glob characters."
-[#312]: https://github.com/jprichardson/node-fs-extra/pull/312 "Enhance walkSync() to return items with path and stats [feature-walk]"
-[#311]: https://github.com/jprichardson/node-fs-extra/issues/311 "move() not work when dest name not provided [feature-move]"
-[#310]: https://github.com/jprichardson/node-fs-extra/issues/310 "Edit walkSync to return items like what walk emits [documentation, enhancement, feature-walk]"
-[#309]: https://github.com/jprichardson/node-fs-extra/issues/309 "moveSync support [enhancement, feature-move]"
-[#308]: https://github.com/jprichardson/node-fs-extra/pull/308 "Fix incorrect anchor link"
-[#307]: https://github.com/jprichardson/node-fs-extra/pull/307 "Fix coverage"
-[#306]: https://github.com/jprichardson/node-fs-extra/pull/306 "Update devDeps, fix lint error"
-[#305]: https://github.com/jprichardson/node-fs-extra/pull/305 "Re-add Coveralls"
-[#304]: https://github.com/jprichardson/node-fs-extra/pull/304 "Remove path-is-absolute [enhancement]"
-[#303]: https://github.com/jprichardson/node-fs-extra/pull/303 "Document copySync filter inconsistency [documentation, feature-copy]"
-[#302]: https://github.com/jprichardson/node-fs-extra/pull/302 "fix(console): depreciated -> deprecated"
-[#301]: https://github.com/jprichardson/node-fs-extra/pull/301 "Remove chmod call from copySync [feature-copy]"
-[#300]: https://github.com/jprichardson/node-fs-extra/pull/300 "Inline Rimraf [enhancement, feature-move, feature-remove]"
-[#299]: https://github.com/jprichardson/node-fs-extra/pull/299 "Warn when filter is a RegExp [feature-copy]"
-[#298]: https://github.com/jprichardson/node-fs-extra/issues/298 "API Docs [documentation]"
-[#297]: https://github.com/jprichardson/node-fs-extra/pull/297 "Warn about using preserveTimestamps on 32-bit node"
-[#296]: https://github.com/jprichardson/node-fs-extra/pull/296 "Improve EEXIST error message for copySync [enhancement]"
-[#295]: https://github.com/jprichardson/node-fs-extra/pull/295 "Depreciate using regular expressions for copy's filter option [documentation]"
-[#294]: https://github.com/jprichardson/node-fs-extra/pull/294 "BREAKING: Refactor lib/copy/ncp.js [feature-copy]"
-[#293]: https://github.com/jprichardson/node-fs-extra/pull/293 "Update CI configs"
-[#292]: https://github.com/jprichardson/node-fs-extra/issues/292 "Rewrite lib/copy/ncp.js [enhancement, feature-copy]"
-[#291]: https://github.com/jprichardson/node-fs-extra/pull/291 "Escape '$' in replacement string for async file copying"
-[#290]: https://github.com/jprichardson/node-fs-extra/issues/290 "Exclude files pattern while copying using copy.config.js [question]"
-[#289]: https://github.com/jprichardson/node-fs-extra/pull/289 "(Closes #271) lib/util/utimes: properly close file descriptors in the event of an error"
-[#288]: https://github.com/jprichardson/node-fs-extra/pull/288 "(Closes #271) lib/util/utimes: properly close file descriptors in the event of an error"
-[#287]: https://github.com/jprichardson/node-fs-extra/issues/287 "emptyDir() callback arguments are inconsistent [enhancement, feature-remove]"
-[#286]: https://github.com/jprichardson/node-fs-extra/pull/286 "Added walkSync function"
-[#285]: https://github.com/jprichardson/node-fs-extra/issues/285 "CITGM test failing on s390"
-[#284]: https://github.com/jprichardson/node-fs-extra/issues/284 "outputFile method is missing a check to determine if existing item is a folder or not"
-[#283]: https://github.com/jprichardson/node-fs-extra/pull/283 "Apply filter also on directories and symlinks for copySync()"
-[#282]: https://github.com/jprichardson/node-fs-extra/pull/282 "Apply filter also on directories and symlinks for copySync()"
-[#281]: https://github.com/jprichardson/node-fs-extra/issues/281 "remove function executes 'successfully' but doesn't do anything?"
-[#280]: https://github.com/jprichardson/node-fs-extra/pull/280 "Disable rimraf globbing"
-[#279]: https://github.com/jprichardson/node-fs-extra/issues/279 "Some code is vendored instead of included [awaiting-reply]"
-[#278]: https://github.com/jprichardson/node-fs-extra/issues/278 "copy() does not preserve file/directory ownership"
-[#277]: https://github.com/jprichardson/node-fs-extra/pull/277 "Mention defaults for clobber and dereference options"
-[#276]: https://github.com/jprichardson/node-fs-extra/issues/276 "Cannot connect to Shared Folder [awaiting-reply]"
-[#275]: https://github.com/jprichardson/node-fs-extra/issues/275 "EMFILE, too many open files on Mac OS with JSON API"
-[#274]: https://github.com/jprichardson/node-fs-extra/issues/274 "Use with memory-fs? [enhancement, future]"
-[#273]: https://github.com/jprichardson/node-fs-extra/pull/273 "tests: rename `remote.test.js` to `remove.test.js`"
-[#272]: https://github.com/jprichardson/node-fs-extra/issues/272 "Copy clobber flag never err even when true [bug, feature-copy]"
-[#271]: https://github.com/jprichardson/node-fs-extra/issues/271 "Unclosed file handle on futimes error"
-[#270]: https://github.com/jprichardson/node-fs-extra/issues/270 "copy not working as desired on Windows [feature-copy, platform-windows]"
-[#269]: https://github.com/jprichardson/node-fs-extra/issues/269 "Copying with preserveTimeStamps: true is inaccurate using 32bit node [feature-copy]"
-[#268]: https://github.com/jprichardson/node-fs-extra/pull/268 "port fix for mkdirp issue #111"
-[#267]: https://github.com/jprichardson/node-fs-extra/issues/267 "WARN deprecated wrench@1.5.9: wrench.js is deprecated!"
-[#266]: https://github.com/jprichardson/node-fs-extra/issues/266 "fs-extra"
-[#265]: https://github.com/jprichardson/node-fs-extra/issues/265 "Link the `fs.stat fs.exists` etc. methods for replace the `fs` module forever?"
-[#264]: https://github.com/jprichardson/node-fs-extra/issues/264 "Renaming a file using move fails when a file inside is open (at least on windows) [wont-fix]"
-[#263]: https://github.com/jprichardson/node-fs-extra/issues/263 "ENOSYS: function not implemented, link [needs-confirmed]"
-[#262]: https://github.com/jprichardson/node-fs-extra/issues/262 "Add .exists() and .existsSync()"
-[#261]: https://github.com/jprichardson/node-fs-extra/issues/261 "Cannot read property 'prototype' of undefined"
-[#260]: https://github.com/jprichardson/node-fs-extra/pull/260 "use more specific path for method require"
-[#259]: https://github.com/jprichardson/node-fs-extra/issues/259 "Feature Request: isEmpty"
-[#258]: https://github.com/jprichardson/node-fs-extra/issues/258 "copy files does not preserve file timestamp"
-[#257]: https://github.com/jprichardson/node-fs-extra/issues/257 "Copying a file on windows fails"
-[#256]: https://github.com/jprichardson/node-fs-extra/pull/256 "Updated Readme "
-[#255]: https://github.com/jprichardson/node-fs-extra/issues/255 "Update rimraf required version"
-[#254]: https://github.com/jprichardson/node-fs-extra/issues/254 "request for readTree, readTreeSync, walkSync method"
-[#253]: https://github.com/jprichardson/node-fs-extra/issues/253 "outputFile does not touch mtime when file exists"
-[#252]: https://github.com/jprichardson/node-fs-extra/pull/252 "Fixing problem when copying file with no write permission"
-[#251]: https://github.com/jprichardson/node-fs-extra/issues/251 "Just wanted to say thank you"
-[#250]: https://github.com/jprichardson/node-fs-extra/issues/250 "`fs.remove()` not removing files (works with `rm -rf`)"
-[#249]: https://github.com/jprichardson/node-fs-extra/issues/249 "Just a Question ... Remove Servers"
-[#248]: https://github.com/jprichardson/node-fs-extra/issues/248 "Allow option to not preserve permissions for copy"
-[#247]: https://github.com/jprichardson/node-fs-extra/issues/247 "Add TypeScript typing directly in the fs-extra package"
-[#246]: https://github.com/jprichardson/node-fs-extra/issues/246 "fse.remove() && fse.removeSync() don't throw error on ENOENT file"
-[#245]: https://github.com/jprichardson/node-fs-extra/issues/245 "filter for empty dir [enhancement]"
-[#244]: https://github.com/jprichardson/node-fs-extra/issues/244 "copySync doesn't apply the filter to directories"
-[#243]: https://github.com/jprichardson/node-fs-extra/issues/243 "Can I request fs.walk() to be synchronous?"
-[#242]: https://github.com/jprichardson/node-fs-extra/issues/242 "Accidentally truncates file names ending with $$ [bug, feature-copy]"
-[#241]: https://github.com/jprichardson/node-fs-extra/pull/241 "Remove link to createOutputStream"
-[#240]: https://github.com/jprichardson/node-fs-extra/issues/240 "walkSync request"
-[#239]: https://github.com/jprichardson/node-fs-extra/issues/239 "Depreciate regular expressions for copy's filter [documentation, feature-copy]"
-[#238]: https://github.com/jprichardson/node-fs-extra/issues/238 "Can't write to files while in a worker thread."
-[#237]: https://github.com/jprichardson/node-fs-extra/issues/237 ".ensureDir(..) fails silently when passed an invalid path..."
-[#236]: https://github.com/jprichardson/node-fs-extra/issues/236 "[Removed] Filed under wrong repo"
-[#235]: https://github.com/jprichardson/node-fs-extra/pull/235 "Adds symlink dereference option to `fse.copySync` (#191)"
-[#234]: https://github.com/jprichardson/node-fs-extra/issues/234 "ensureDirSync fails silent when EACCES: permission denied on travis-ci"
-[#233]: https://github.com/jprichardson/node-fs-extra/issues/233 "please make sure the first argument in callback is error object [feature-copy]"
-[#232]: https://github.com/jprichardson/node-fs-extra/issues/232 "Copy a folder content to its child folder. "
-[#231]: https://github.com/jprichardson/node-fs-extra/issues/231 "Adding read/write/output functions for YAML"
-[#230]: https://github.com/jprichardson/node-fs-extra/pull/230 "throw error if src and dest are the same to avoid zeroing out + test"
-[#229]: https://github.com/jprichardson/node-fs-extra/pull/229 "fix 'TypeError: callback is not a function' in emptyDir"
-[#228]: https://github.com/jprichardson/node-fs-extra/pull/228 "Throw error when target is empty so file is not accidentally zeroed out"
-[#227]: https://github.com/jprichardson/node-fs-extra/issues/227 "Uncatchable errors when there are invalid arguments [feature-move]"
-[#226]: https://github.com/jprichardson/node-fs-extra/issues/226 "Moving to the current directory"
-[#225]: https://github.com/jprichardson/node-fs-extra/issues/225 "EBUSY: resource busy or locked, unlink"
-[#224]: https://github.com/jprichardson/node-fs-extra/issues/224 "fse.copy ENOENT error"
-[#223]: https://github.com/jprichardson/node-fs-extra/issues/223 "Suspicious behavior of fs.existsSync"
-[#222]: https://github.com/jprichardson/node-fs-extra/pull/222 "A clearer description of emtpyDir function"
-[#221]: https://github.com/jprichardson/node-fs-extra/pull/221 "Update README.md"
-[#220]: https://github.com/jprichardson/node-fs-extra/pull/220 "Non-breaking feature: add option 'passStats' to copy methods."
-[#219]: https://github.com/jprichardson/node-fs-extra/pull/219 "Add closing parenthesis in copySync example"
-[#218]: https://github.com/jprichardson/node-fs-extra/pull/218 "fix #187 #70 options.filter bug"
-[#217]: https://github.com/jprichardson/node-fs-extra/pull/217 "fix #187 #70 options.filter bug"
-[#216]: https://github.com/jprichardson/node-fs-extra/pull/216 "fix #187 #70 options.filter bug"
-[#215]: https://github.com/jprichardson/node-fs-extra/pull/215 "fse.copy throws error when only src and dest provided [bug, documentation, feature-copy]"
-[#214]: https://github.com/jprichardson/node-fs-extra/pull/214 "Fixing copySync anchor tag"
-[#213]: https://github.com/jprichardson/node-fs-extra/issues/213 "Merge extfs with this repo"
-[#212]: https://github.com/jprichardson/node-fs-extra/pull/212 "Update year to 2016 in README.md and LICENSE"
-[#211]: https://github.com/jprichardson/node-fs-extra/issues/211 "Not copying all files"
-[#210]: https://github.com/jprichardson/node-fs-extra/issues/210 "copy/copySync behave differently when copying a symbolic file [bug, documentation, feature-copy]"
-[#209]: https://github.com/jprichardson/node-fs-extra/issues/209 "In Windows invalid directory name causes infinite loop in ensureDir(). [bug]"
-[#208]: https://github.com/jprichardson/node-fs-extra/pull/208 "fix options.preserveTimestamps to false in copy-sync by default [feature-copy]"
-[#207]: https://github.com/jprichardson/node-fs-extra/issues/207 "Add `compare` suite of functions"
-[#206]: https://github.com/jprichardson/node-fs-extra/issues/206 "outputFileSync"
-[#205]: https://github.com/jprichardson/node-fs-extra/issues/205 "fix documents about copy/copySync [documentation, feature-copy]"
-[#204]: https://github.com/jprichardson/node-fs-extra/pull/204 "allow copy of block and character device files"
-[#203]: https://github.com/jprichardson/node-fs-extra/issues/203 "copy method's argument options couldn't be undefined [bug, feature-copy]"
-[#202]: https://github.com/jprichardson/node-fs-extra/issues/202 "why there is not a walkSync method?"
-[#201]: https://github.com/jprichardson/node-fs-extra/issues/201 "clobber for directories [feature-copy, future]"
-[#200]: https://github.com/jprichardson/node-fs-extra/issues/200 "'copySync' doesn't work in sync"
-[#199]: https://github.com/jprichardson/node-fs-extra/issues/199 "fs.copySync fails if user does not own file [bug, feature-copy]"
-[#198]: https://github.com/jprichardson/node-fs-extra/issues/198 "handle copying between identical files [feature-copy]"
-[#197]: https://github.com/jprichardson/node-fs-extra/issues/197 "Missing documentation for `outputFile` `options` 3rd parameter [documentation]"
-[#196]: https://github.com/jprichardson/node-fs-extra/issues/196 "copy filter: async function and/or function called with `fs.stat` result [future]"
-[#195]: https://github.com/jprichardson/node-fs-extra/issues/195 "How to override with outputFile?"
-[#194]: https://github.com/jprichardson/node-fs-extra/pull/194 "allow ensureFile(Sync) to provide data to be written to created file"
-[#193]: https://github.com/jprichardson/node-fs-extra/issues/193 "`fs.copy` fails silently if source file is /dev/null [bug, feature-copy]"
-[#192]: https://github.com/jprichardson/node-fs-extra/issues/192 "Remove fs.createOutputStream()"
-[#191]: https://github.com/jprichardson/node-fs-extra/issues/191 "How to copy symlinks to target as normal folders [feature-copy]"
-[#190]: https://github.com/jprichardson/node-fs-extra/pull/190 "copySync to overwrite destination file if readonly and clobber true"
-[#189]: https://github.com/jprichardson/node-fs-extra/pull/189 "move.test fix to support CRLF on Windows"
-[#188]: https://github.com/jprichardson/node-fs-extra/issues/188 "move.test failing on windows platform"
-[#187]: https://github.com/jprichardson/node-fs-extra/issues/187 "Not filter each file, stops on first false [feature-copy]"
-[#186]: https://github.com/jprichardson/node-fs-extra/issues/186 "Do you need a .size() function in this module? [future]"
-[#185]: https://github.com/jprichardson/node-fs-extra/issues/185 "Doesn't work on NodeJS v4.x"
-[#184]: https://github.com/jprichardson/node-fs-extra/issues/184 "CLI equivalent for fs-extra"
-[#183]: https://github.com/jprichardson/node-fs-extra/issues/183 "with clobber true, copy and copySync behave differently if destination file is read only [bug, feature-copy]"
-[#182]: https://github.com/jprichardson/node-fs-extra/issues/182 "ensureDir(dir, callback) second callback parameter not specified"
-[#181]: https://github.com/jprichardson/node-fs-extra/issues/181 "Add ability to remove file securely [enhancement, wont-fix]"
-[#180]: https://github.com/jprichardson/node-fs-extra/issues/180 "Filter option doesn't work the same way in copy and copySync [bug, feature-copy]"
-[#179]: https://github.com/jprichardson/node-fs-extra/issues/179 "Include opendir"
-[#178]: https://github.com/jprichardson/node-fs-extra/issues/178 "ENOTEMPTY is thrown on removeSync "
-[#177]: https://github.com/jprichardson/node-fs-extra/issues/177 "fix `remove()` wildcards (introduced by rimraf) [feature-remove]"
-[#176]: https://github.com/jprichardson/node-fs-extra/issues/176 "createOutputStream doesn't emit 'end' event"
-[#175]: https://github.com/jprichardson/node-fs-extra/issues/175 "[Feature Request].moveSync support [feature-move, future]"
-[#174]: https://github.com/jprichardson/node-fs-extra/pull/174 "Fix copy formatting and document options.filter"
-[#173]: https://github.com/jprichardson/node-fs-extra/issues/173 "Feature Request: writeJson should mkdirs"
-[#172]: https://github.com/jprichardson/node-fs-extra/issues/172 "rename `clobber` flags to `overwrite`"
-[#171]: https://github.com/jprichardson/node-fs-extra/issues/171 "remove unnecessary aliases"
-[#170]: https://github.com/jprichardson/node-fs-extra/pull/170 "More robust handling of errors moving across virtual drives"
-[#169]: https://github.com/jprichardson/node-fs-extra/pull/169 "suppress ensureLink & ensureSymlink dest exists error"
-[#168]: https://github.com/jprichardson/node-fs-extra/pull/168 "suppress ensurelink dest exists error"
-[#167]: https://github.com/jprichardson/node-fs-extra/pull/167 "Adds basic (string, buffer) support for ensureFile content [future]"
-[#166]: https://github.com/jprichardson/node-fs-extra/pull/166 "Adds basic (string, buffer) support for ensureFile content"
-[#165]: https://github.com/jprichardson/node-fs-extra/pull/165 "ensure for link & symlink"
-[#164]: https://github.com/jprichardson/node-fs-extra/issues/164 "Feature Request: ensureFile to take optional argument for file content"
-[#163]: https://github.com/jprichardson/node-fs-extra/issues/163 "ouputJson not formatted out of the box [bug]"
-[#162]: https://github.com/jprichardson/node-fs-extra/pull/162 "ensure symlink & link"
-[#161]: https://github.com/jprichardson/node-fs-extra/pull/161 "ensure symlink & link"
-[#160]: https://github.com/jprichardson/node-fs-extra/pull/160 "ensure symlink & link"
-[#159]: https://github.com/jprichardson/node-fs-extra/pull/159 "ensure symlink & link"
-[#158]: https://github.com/jprichardson/node-fs-extra/issues/158 "Feature Request: ensureLink and ensureSymlink methods"
-[#157]: https://github.com/jprichardson/node-fs-extra/issues/157 "writeJson isn't formatted"
-[#156]: https://github.com/jprichardson/node-fs-extra/issues/156 "Promise.promisifyAll doesn't work for some methods"
-[#155]: https://github.com/jprichardson/node-fs-extra/issues/155 "Readme"
-[#154]: https://github.com/jprichardson/node-fs-extra/issues/154 "/tmp/millis-test-sync"
-[#153]: https://github.com/jprichardson/node-fs-extra/pull/153 "Make preserveTimes also work on read-only files. Closes #152"
-[#152]: https://github.com/jprichardson/node-fs-extra/issues/152 "fs.copy fails for read-only files with preserveTimestamp=true [feature-copy]"
-[#151]: https://github.com/jprichardson/node-fs-extra/issues/151 "TOC does not work correctly on npm [documentation]"
-[#150]: https://github.com/jprichardson/node-fs-extra/issues/150 "Remove test file fixtures, create with code."
-[#149]: https://github.com/jprichardson/node-fs-extra/issues/149 "/tmp/millis-test-sync"
-[#148]: https://github.com/jprichardson/node-fs-extra/issues/148 "split out `Sync` methods in documentation"
-[#147]: https://github.com/jprichardson/node-fs-extra/issues/147 "Adding rmdirIfEmpty"
-[#146]: https://github.com/jprichardson/node-fs-extra/pull/146 "ensure test.js works"
-[#145]: https://github.com/jprichardson/node-fs-extra/issues/145 "Add `fs.exists` and `fs.existsSync` if it doesn't exist."
-[#144]: https://github.com/jprichardson/node-fs-extra/issues/144 "tests failing"
-[#143]: https://github.com/jprichardson/node-fs-extra/issues/143 "update graceful-fs"
-[#142]: https://github.com/jprichardson/node-fs-extra/issues/142 "PrependFile Feature"
-[#141]: https://github.com/jprichardson/node-fs-extra/pull/141 "Add option to preserve timestamps"
-[#140]: https://github.com/jprichardson/node-fs-extra/issues/140 "Json file reading fails with 'utf8'"
-[#139]: https://github.com/jprichardson/node-fs-extra/pull/139 "Preserve file timestamp on copy. Closes #138"
-[#138]: https://github.com/jprichardson/node-fs-extra/issues/138 "Preserve timestamps on copying files"
-[#137]: https://github.com/jprichardson/node-fs-extra/issues/137 "outputFile/outputJson: Unexpected end of input"
-[#136]: https://github.com/jprichardson/node-fs-extra/pull/136 "Update license attribute"
-[#135]: https://github.com/jprichardson/node-fs-extra/issues/135 "emptyDir throws Error if no callback is provided"
-[#134]: https://github.com/jprichardson/node-fs-extra/pull/134 "Handle EEXIST error when clobbering dir"
-[#133]: https://github.com/jprichardson/node-fs-extra/pull/133 "Travis runs with `sudo: false`"
-[#132]: https://github.com/jprichardson/node-fs-extra/pull/132 "isDirectory method"
-[#131]: https://github.com/jprichardson/node-fs-extra/issues/131 "copySync is not working iojs 1.8.4 on linux [feature-copy]"
-[#130]: https://github.com/jprichardson/node-fs-extra/pull/130 "Please review additional features."
-[#129]: https://github.com/jprichardson/node-fs-extra/pull/129 "can you review this feature?"
-[#128]: https://github.com/jprichardson/node-fs-extra/issues/128 "fsExtra.move(filepath, newPath) broken;"
-[#127]: https://github.com/jprichardson/node-fs-extra/issues/127 "consider using fs.access to remove deprecated warnings for fs.exists"
-[#126]: https://github.com/jprichardson/node-fs-extra/issues/126 " TypeError: Object #<Object> has no method 'access'"
-[#125]: https://github.com/jprichardson/node-fs-extra/issues/125 "Question: What do the *Sync function do different from non-sync"
-[#124]: https://github.com/jprichardson/node-fs-extra/issues/124 "move with clobber option 'ENOTEMPTY'"
-[#123]: https://github.com/jprichardson/node-fs-extra/issues/123 "Only copy the content of a directory"
-[#122]: https://github.com/jprichardson/node-fs-extra/pull/122 "Update section links in README to match current section ids."
-[#121]: https://github.com/jprichardson/node-fs-extra/issues/121 "emptyDir is undefined"
-[#120]: https://github.com/jprichardson/node-fs-extra/issues/120 "usage bug caused by shallow cloning methods of 'graceful-fs'"
-[#119]: https://github.com/jprichardson/node-fs-extra/issues/119 "mkdirs and ensureDir never invoke callback and consume CPU indefinitely if provided a path with invalid characters on Windows"
-[#118]: https://github.com/jprichardson/node-fs-extra/pull/118 "createOutputStream"
-[#117]: https://github.com/jprichardson/node-fs-extra/pull/117 "Fixed issue with slash separated paths on windows"
-[#116]: https://github.com/jprichardson/node-fs-extra/issues/116 "copySync can only copy directories not files [documentation, feature-copy]"
-[#115]: https://github.com/jprichardson/node-fs-extra/issues/115 ".Copy & .CopySync [feature-copy]"
-[#114]: https://github.com/jprichardson/node-fs-extra/issues/114 "Fails to move (rename) directory to non-empty directory even with clobber: true"
-[#113]: https://github.com/jprichardson/node-fs-extra/issues/113 "fs.copy seems to callback early if the destination file already exists"
-[#112]: https://github.com/jprichardson/node-fs-extra/pull/112 "Copying a file into an existing directory"
-[#111]: https://github.com/jprichardson/node-fs-extra/pull/111 "Moving a file into an existing directory "
-[#110]: https://github.com/jprichardson/node-fs-extra/pull/110 "Moving a file into an existing directory"
-[#109]: https://github.com/jprichardson/node-fs-extra/issues/109 "fs.move across windows drives fails"
-[#108]: https://github.com/jprichardson/node-fs-extra/issues/108 "fse.move directories across multiple devices doesn't work"
-[#107]: https://github.com/jprichardson/node-fs-extra/pull/107 "Check if dest path is an existing dir and copy or move source in it"
-[#106]: https://github.com/jprichardson/node-fs-extra/issues/106 "fse.copySync crashes while copying across devices D: [feature-copy]"
-[#105]: https://github.com/jprichardson/node-fs-extra/issues/105 "fs.copy hangs on iojs"
-[#104]: https://github.com/jprichardson/node-fs-extra/issues/104 "fse.move deletes folders [bug]"
-[#103]: https://github.com/jprichardson/node-fs-extra/issues/103 "Error: EMFILE with copy"
-[#102]: https://github.com/jprichardson/node-fs-extra/issues/102 "touch / touchSync was removed ?"
-[#101]: https://github.com/jprichardson/node-fs-extra/issues/101 "fs-extra promisified"
-[#100]: https://github.com/jprichardson/node-fs-extra/pull/100 "copy: options object or filter to pass to ncp"
-[#99]: https://github.com/jprichardson/node-fs-extra/issues/99 "ensureDir() modes [future]"
-[#98]: https://github.com/jprichardson/node-fs-extra/issues/98 "fs.copy() incorrect async behavior [bug]"
-[#97]: https://github.com/jprichardson/node-fs-extra/pull/97 "use path.join; fix copySync bug"
-[#96]: https://github.com/jprichardson/node-fs-extra/issues/96 "destFolderExists in copySync is always undefined."
-[#95]: https://github.com/jprichardson/node-fs-extra/pull/95 "Using graceful-ncp instead of ncp"
-[#94]: https://github.com/jprichardson/node-fs-extra/issues/94 "Error: EEXIST, file already exists '../mkdirp/bin/cmd.js' on fs.copySync() [enhancement, feature-copy]"
-[#93]: https://github.com/jprichardson/node-fs-extra/issues/93 "Confusing error if drive not mounted [enhancement]"
-[#92]: https://github.com/jprichardson/node-fs-extra/issues/92 "Problems with Bluebird"
-[#91]: https://github.com/jprichardson/node-fs-extra/issues/91 "fs.copySync('/test', '/haha') is different with 'cp -r /test /haha' [enhancement]"
-[#90]: https://github.com/jprichardson/node-fs-extra/issues/90 "Folder creation and file copy is Happening in 64 bit machine but not in 32 bit machine"
-[#89]: https://github.com/jprichardson/node-fs-extra/issues/89 "Error: EEXIST using fs-extra's fs.copy to copy a directory on Windows"
-[#88]: https://github.com/jprichardson/node-fs-extra/issues/88 "Stacking those libraries"
-[#87]: https://github.com/jprichardson/node-fs-extra/issues/87 "createWriteStream + outputFile = ?"
-[#86]: https://github.com/jprichardson/node-fs-extra/issues/86 "no moveSync?"
-[#85]: https://github.com/jprichardson/node-fs-extra/pull/85 "Copy symlinks in copySync"
-[#84]: https://github.com/jprichardson/node-fs-extra/issues/84 "Push latest version to npm ?"
-[#83]: https://github.com/jprichardson/node-fs-extra/issues/83 "Prevent copying a directory into itself [feature-copy]"
-[#82]: https://github.com/jprichardson/node-fs-extra/pull/82 "README updates for move"
-[#81]: https://github.com/jprichardson/node-fs-extra/issues/81 "fd leak after fs.move"
-[#80]: https://github.com/jprichardson/node-fs-extra/pull/80 "Preserve file mode in copySync"
-[#79]: https://github.com/jprichardson/node-fs-extra/issues/79 "fs.copy only .html file empty"
-[#78]: https://github.com/jprichardson/node-fs-extra/pull/78 "copySync was not applying filters to directories"
-[#77]: https://github.com/jprichardson/node-fs-extra/issues/77 "Create README reference to bluebird"
-[#76]: https://github.com/jprichardson/node-fs-extra/issues/76 "Create README reference to typescript"
-[#75]: https://github.com/jprichardson/node-fs-extra/issues/75 "add glob as a dep? [question]"
-[#74]: https://github.com/jprichardson/node-fs-extra/pull/74 "including new emptydir module"
-[#73]: https://github.com/jprichardson/node-fs-extra/pull/73 "add dependency status in readme"
-[#72]: https://github.com/jprichardson/node-fs-extra/pull/72 "Use svg instead of png to get better image quality"
-[#71]: https://github.com/jprichardson/node-fs-extra/issues/71 "fse.copy not working on Windows 7 x64 OS, but, copySync does work"
-[#70]: https://github.com/jprichardson/node-fs-extra/issues/70 "Not filter each file, stops on first false [bug]"
-[#69]: https://github.com/jprichardson/node-fs-extra/issues/69 "How to check if folder exist and read the folder name"
-[#68]: https://github.com/jprichardson/node-fs-extra/issues/68 "consider flag to readJsonSync (throw false) [enhancement]"
-[#67]: https://github.com/jprichardson/node-fs-extra/issues/67 "docs for readJson incorrectly states that is accepts options"
-[#66]: https://github.com/jprichardson/node-fs-extra/issues/66 "ENAMETOOLONG"
-[#65]: https://github.com/jprichardson/node-fs-extra/issues/65 "exclude filter in fs.copy"
-[#64]: https://github.com/jprichardson/node-fs-extra/issues/64 "Announce: mfs - monitor your fs-extra calls"
-[#63]: https://github.com/jprichardson/node-fs-extra/issues/63 "Walk"
-[#62]: https://github.com/jprichardson/node-fs-extra/issues/62 "npm install fs-extra doesn't work"
-[#61]: https://github.com/jprichardson/node-fs-extra/issues/61 "No longer supports node 0.8 due to use of `^` in package.json dependencies"
-[#60]: https://github.com/jprichardson/node-fs-extra/issues/60 "chmod & chown for mkdirs"
-[#59]: https://github.com/jprichardson/node-fs-extra/issues/59 "Consider including mkdirp and making fs-extra '--use_strict' safe [question]"
-[#58]: https://github.com/jprichardson/node-fs-extra/issues/58 "Stack trace not included in fs.copy error"
-[#57]: https://github.com/jprichardson/node-fs-extra/issues/57 "Possible to include wildcards in delete?"
-[#56]: https://github.com/jprichardson/node-fs-extra/issues/56 "Crash when have no access to write to destination file in copy "
-[#55]: https://github.com/jprichardson/node-fs-extra/issues/55 "Is it possible to have any console output similar to Grunt copy module?"
-[#54]: https://github.com/jprichardson/node-fs-extra/issues/54 "`copy` does not preserve file ownership and permissons"
-[#53]: https://github.com/jprichardson/node-fs-extra/issues/53 "outputFile() - ability to write data in appending mode"
-[#52]: https://github.com/jprichardson/node-fs-extra/pull/52 "This fixes (what I think) is a bug in copySync"
-[#51]: https://github.com/jprichardson/node-fs-extra/pull/51 "Add a Bitdeli Badge to README"
-[#50]: https://github.com/jprichardson/node-fs-extra/issues/50 "Replace mechanism in createFile"
-[#49]: https://github.com/jprichardson/node-fs-extra/pull/49 "update rimraf to v2.2.6"
-[#48]: https://github.com/jprichardson/node-fs-extra/issues/48 "fs.copy issue [bug]"
-[#47]: https://github.com/jprichardson/node-fs-extra/issues/47 "Bug in copy - callback called on readStream 'close' - Fixed in ncp 0.5.0"
-[#46]: https://github.com/jprichardson/node-fs-extra/pull/46 "update copyright year"
-[#45]: https://github.com/jprichardson/node-fs-extra/pull/45 "Added note about fse.outputFile() being the one that overwrites"
-[#44]: https://github.com/jprichardson/node-fs-extra/pull/44 "Proposal: Stream support"
-[#43]: https://github.com/jprichardson/node-fs-extra/issues/43 "Better error reporting "
-[#42]: https://github.com/jprichardson/node-fs-extra/issues/42 "Performance issue?"
-[#41]: https://github.com/jprichardson/node-fs-extra/pull/41 "There does seem to be a synchronous version now"
-[#40]: https://github.com/jprichardson/node-fs-extra/issues/40 "fs.copy throw unexplained error ENOENT, utime "
-[#39]: https://github.com/jprichardson/node-fs-extra/pull/39 "Added regression test for copy() return callback on error"
-[#38]: https://github.com/jprichardson/node-fs-extra/pull/38 "Return err in copy() fstat cb, because stat could be undefined or null"
-[#37]: https://github.com/jprichardson/node-fs-extra/issues/37 "Maybe include a line reader? [enhancement, question]"
-[#36]: https://github.com/jprichardson/node-fs-extra/pull/36 "`filter` parameter `fs.copy` and `fs.copySync`"
-[#35]: https://github.com/jprichardson/node-fs-extra/pull/35 "`filter` parameter `fs.copy` and `fs.copySync` "
-[#34]: https://github.com/jprichardson/node-fs-extra/issues/34 "update docs to include options for JSON methods [enhancement]"
-[#33]: https://github.com/jprichardson/node-fs-extra/pull/33 "fs_extra.copySync"
-[#32]: https://github.com/jprichardson/node-fs-extra/issues/32 "update to latest jsonfile [enhancement]"
-[#31]: https://github.com/jprichardson/node-fs-extra/issues/31 "Add ensure methods [enhancement]"
-[#30]: https://github.com/jprichardson/node-fs-extra/issues/30 "update package.json optional dep `graceful-fs`"
-[#29]: https://github.com/jprichardson/node-fs-extra/issues/29 "Copy failing if dest directory doesn't exist. Is this intended?"
-[#28]: https://github.com/jprichardson/node-fs-extra/issues/28 "homepage field must be a string url. Deleted."
-[#27]: https://github.com/jprichardson/node-fs-extra/issues/27 "Update Readme"
-[#26]: https://github.com/jprichardson/node-fs-extra/issues/26 "Add readdir recursive method. [enhancement]"
-[#25]: https://github.com/jprichardson/node-fs-extra/pull/25 "adding an `.npmignore` file"
-[#24]: https://github.com/jprichardson/node-fs-extra/issues/24 "[bug] cannot run in strict mode [bug]"
-[#23]: https://github.com/jprichardson/node-fs-extra/issues/23 "`writeJSON()` should create parent directories"
-[#22]: https://github.com/jprichardson/node-fs-extra/pull/22 "Add a limit option to mkdirs()"
-[#21]: https://github.com/jprichardson/node-fs-extra/issues/21 "touch() in 0.10.0"
-[#20]: https://github.com/jprichardson/node-fs-extra/issues/20 "fs.remove yields callback before directory is really deleted"
-[#19]: https://github.com/jprichardson/node-fs-extra/issues/19 "fs.copy err is empty array"
-[#18]: https://github.com/jprichardson/node-fs-extra/pull/18 "Exposed copyFile Function"
-[#17]: https://github.com/jprichardson/node-fs-extra/issues/17 "Use `require('graceful-fs')` if found instead of `require('fs')`"
-[#16]: https://github.com/jprichardson/node-fs-extra/pull/16 "Update README.md"
-[#15]: https://github.com/jprichardson/node-fs-extra/issues/15 "Implement cp -r but sync aka copySync. [enhancement]"
-[#14]: https://github.com/jprichardson/node-fs-extra/issues/14 "fs.mkdirSync is broken in 0.3.1"
-[#13]: https://github.com/jprichardson/node-fs-extra/issues/13 "Thoughts on including a directory tree / file watcher? [enhancement, question]"
-[#12]: https://github.com/jprichardson/node-fs-extra/issues/12 "copyFile & copyFileSync are global"
-[#11]: https://github.com/jprichardson/node-fs-extra/issues/11 "Thoughts on including a file walker? [enhancement, question]"
-[#10]: https://github.com/jprichardson/node-fs-extra/issues/10 "move / moveFile API [enhancement]"
-[#9]: https://github.com/jprichardson/node-fs-extra/issues/9 "don't import normal fs stuff into fs-extra"
-[#8]: https://github.com/jprichardson/node-fs-extra/pull/8 "Update rimraf to latest version"
-[#6]: https://github.com/jprichardson/node-fs-extra/issues/6 "Remove CoffeeScript development dependency"
-[#5]: https://github.com/jprichardson/node-fs-extra/issues/5 "comments on naming"
-[#4]: https://github.com/jprichardson/node-fs-extra/issues/4 "version bump to 0.2"
-[#3]: https://github.com/jprichardson/node-fs-extra/pull/3 "Hi! I fixed some code for you!"
-[#2]: https://github.com/jprichardson/node-fs-extra/issues/2 "Merge with fs.extra and mkdirp"
-[#1]: https://github.com/jprichardson/node-fs-extra/issues/1 "file-extra npm !exist"
diff --git a/includes/search/node_modules/fs-extra/LICENSE b/includes/search/node_modules/fs-extra/LICENSE
deleted file mode 100644
index 93546df..0000000
--- a/includes/search/node_modules/fs-extra/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2011-2017 JP Richardson
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
-(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
- merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
-OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/fs-extra/README.md b/includes/search/node_modules/fs-extra/README.md
deleted file mode 100644
index b4a5370..0000000
--- a/includes/search/node_modules/fs-extra/README.md
+++ /dev/null
@@ -1,264 +0,0 @@
-Node.js: fs-extra
-=================
-
-`fs-extra` adds file system methods that aren't included in the native `fs` module and adds promise support to the `fs` methods. It also uses [`graceful-fs`](https://github.com/isaacs/node-graceful-fs) to prevent `EMFILE` errors. It should be a drop in replacement for `fs`.
-
-[![npm Package](https://img.shields.io/npm/v/fs-extra.svg)](https://www.npmjs.org/package/fs-extra)
-[![License](https://img.shields.io/npm/l/express.svg)](https://github.com/jprichardson/node-fs-extra/blob/master/LICENSE)
-[![build status](https://img.shields.io/travis/jprichardson/node-fs-extra/master.svg)](http://travis-ci.org/jprichardson/node-fs-extra)
-[![windows Build status](https://img.shields.io/appveyor/ci/jprichardson/node-fs-extra/master.svg?label=windows%20build)](https://ci.appveyor.com/project/jprichardson/node-fs-extra/branch/master)
-[![downloads per month](http://img.shields.io/npm/dm/fs-extra.svg)](https://www.npmjs.org/package/fs-extra)
-[![Coverage Status](https://img.shields.io/coveralls/github/jprichardson/node-fs-extra/master.svg)](https://coveralls.io/github/jprichardson/node-fs-extra)
-[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
-
-Why?
-----
-
-I got tired of including `mkdirp`, `rimraf`, and `ncp` in most of my projects.
-
-
-
-
-Installation
-------------
-
- npm install fs-extra
-
-
-
-Usage
------
-
-`fs-extra` is a drop in replacement for native `fs`. All methods in `fs` are attached to `fs-extra`. All `fs` methods return promises if the callback isn't passed.
-
-You don't ever need to include the original `fs` module again:
-
-```js
-const fs = require('fs') // this is no longer necessary
-```
-
-you can now do this:
-
-```js
-const fs = require('fs-extra')
-```
-
-or if you prefer to make it clear that you're using `fs-extra` and not `fs`, you may want
-to name your `fs` variable `fse` like so:
-
-```js
-const fse = require('fs-extra')
-```
-
-you can also keep both, but it's redundant:
-
-```js
-const fs = require('fs')
-const fse = require('fs-extra')
-```
-
-Sync vs Async vs Async/Await
--------------
-Most methods are async by default. All async methods will return a promise if the callback isn't passed.
-
-Sync methods on the other hand will throw if an error occurs.
-
-Also Async/Await will throw an error if one occurs.
-
-Example:
-
-```js
-const fs = require('fs-extra')
-
-// Async with promises:
-fs.copy('/tmp/myfile', '/tmp/mynewfile')
- .then(() => console.log('success!'))
- .catch(err => console.error(err))
-
-// Async with callbacks:
-fs.copy('/tmp/myfile', '/tmp/mynewfile', err => {
- if (err) return console.error(err)
- console.log('success!')
-})
-
-// Sync:
-try {
- fs.copySync('/tmp/myfile', '/tmp/mynewfile')
- console.log('success!')
-} catch (err) {
- console.error(err)
-}
-
-// Async/Await:
-async function copyFiles () {
- try {
- await fs.copy('/tmp/myfile', '/tmp/mynewfile')
- console.log('success!')
- } catch (err) {
- console.error(err)
- }
-}
-
-copyFiles()
-```
-
-
-Methods
--------
-
-### Async
-
-- [copy](docs/copy.md)
-- [emptyDir](docs/emptyDir.md)
-- [ensureFile](docs/ensureFile.md)
-- [ensureDir](docs/ensureDir.md)
-- [ensureLink](docs/ensureLink.md)
-- [ensureSymlink](docs/ensureSymlink.md)
-- [mkdirp](docs/ensureDir.md)
-- [mkdirs](docs/ensureDir.md)
-- [move](docs/move.md)
-- [outputFile](docs/outputFile.md)
-- [outputJson](docs/outputJson.md)
-- [pathExists](docs/pathExists.md)
-- [readJson](docs/readJson.md)
-- [remove](docs/remove.md)
-- [writeJson](docs/writeJson.md)
-
-### Sync
-
-- [copySync](docs/copy-sync.md)
-- [emptyDirSync](docs/emptyDir-sync.md)
-- [ensureFileSync](docs/ensureFile-sync.md)
-- [ensureDirSync](docs/ensureDir-sync.md)
-- [ensureLinkSync](docs/ensureLink-sync.md)
-- [ensureSymlinkSync](docs/ensureSymlink-sync.md)
-- [mkdirpSync](docs/ensureDir-sync.md)
-- [mkdirsSync](docs/ensureDir-sync.md)
-- [moveSync](docs/move-sync.md)
-- [outputFileSync](docs/outputFile-sync.md)
-- [outputJsonSync](docs/outputJson-sync.md)
-- [pathExistsSync](docs/pathExists-sync.md)
-- [readJsonSync](docs/readJson-sync.md)
-- [removeSync](docs/remove-sync.md)
-- [writeJsonSync](docs/writeJson-sync.md)
-
-
-**NOTE:** You can still use the native Node.js methods. They are promisified and copied over to `fs-extra`. See [notes on `fs.read()`, `fs.write()`, & `fs.writev()`](docs/fs-read-write-writev.md)
-
-### What happened to `walk()` and `walkSync()`?
-
-They were removed from `fs-extra` in v2.0.0. If you need the functionality, `walk` and `walkSync` are available as separate packages, [`klaw`](https://github.com/jprichardson/node-klaw) and [`klaw-sync`](https://github.com/manidlou/node-klaw-sync).
-
-
-Third Party
------------
-
-### CLI
-
-[fse-cli](https://www.npmjs.com/package/@atao60/fse-cli) allows you to run `fs-extra` from a console or from [npm](https://www.npmjs.com) scripts.
-
-### TypeScript
-
-If you like TypeScript, you can use `fs-extra` with it: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/fs-extra
-
-
-### File / Directory Watching
-
-If you want to watch for changes to files or directories, then you should use [chokidar](https://github.com/paulmillr/chokidar).
-
-### Obtain Filesystem (Devices, Partitions) Information
-
-[fs-filesystem](https://github.com/arthurintelligence/node-fs-filesystem) allows you to read the state of the filesystem of the host on which it is run. It returns information about both the devices and the partitions (volumes) of the system.
-
-### Misc.
-
-- [fs-extra-debug](https://github.com/jdxcode/fs-extra-debug) - Send your fs-extra calls to [debug](https://npmjs.org/package/debug).
-- [mfs](https://github.com/cadorn/mfs) - Monitor your fs-extra calls.
-
-
-
-Hacking on fs-extra
--------------------
-
-Wanna hack on `fs-extra`? Great! Your help is needed! [fs-extra is one of the most depended upon Node.js packages](http://nodei.co/npm/fs-extra.png?downloads=true&downloadRank=true&stars=true). This project
-uses [JavaScript Standard Style](https://github.com/feross/standard) - if the name or style choices bother you,
-you're gonna have to get over it :) If `standard` is good enough for `npm`, it's good enough for `fs-extra`.
-
-[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
-
-What's needed?
-- First, take a look at existing issues. Those are probably going to be where the priority lies.
-- More tests for edge cases. Specifically on different platforms. There can never be enough tests.
-- Improve test coverage. See coveralls output for more info.
-
-Note: If you make any big changes, **you should definitely file an issue for discussion first.**
-
-### Running the Test Suite
-
-fs-extra contains hundreds of tests.
-
-- `npm run lint`: runs the linter ([standard](http://standardjs.com/))
-- `npm run unit`: runs the unit tests
-- `npm test`: runs both the linter and the tests
-
-
-### Windows
-
-If you run the tests on the Windows and receive a lot of symbolic link `EPERM` permission errors, it's
-because on Windows you need elevated privilege to create symbolic links. You can add this to your Windows's
-account by following the instructions here: http://superuser.com/questions/104845/permission-to-make-symbolic-links-in-windows-7
-However, I didn't have much luck doing this.
-
-Since I develop on Mac OS X, I use VMWare Fusion for Windows testing. I create a shared folder that I map to a drive on Windows.
-I open the `Node.js command prompt` and run as `Administrator`. I then map the network drive running the following command:
-
- net use z: "\\vmware-host\Shared Folders"
-
-I can then navigate to my `fs-extra` directory and run the tests.
-
-
-Naming
-------
-
-I put a lot of thought into the naming of these functions. Inspired by @coolaj86's request. So he deserves much of the credit for raising the issue. See discussion(s) here:
-
-* https://github.com/jprichardson/node-fs-extra/issues/2
-* https://github.com/flatiron/utile/issues/11
-* https://github.com/ryanmcgrath/wrench-js/issues/29
-* https://github.com/substack/node-mkdirp/issues/17
-
-First, I believe that in as many cases as possible, the [Node.js naming schemes](http://nodejs.org/api/fs.html) should be chosen. However, there are problems with the Node.js own naming schemes.
-
-For example, `fs.readFile()` and `fs.readdir()`: the **F** is capitalized in *File* and the **d** is not capitalized in *dir*. Perhaps a bit pedantic, but they should still be consistent. Also, Node.js has chosen a lot of POSIX naming schemes, which I believe is great. See: `fs.mkdir()`, `fs.rmdir()`, `fs.chown()`, etc.
-
-We have a dilemma though. How do you consistently name methods that perform the following POSIX commands: `cp`, `cp -r`, `mkdir -p`, and `rm -rf`?
-
-My perspective: when in doubt, err on the side of simplicity. A directory is just a hierarchical grouping of directories and files. Consider that for a moment. So when you want to copy it or remove it, in most cases you'll want to copy or remove all of its contents. When you want to create a directory, if the directory that it's suppose to be contained in does not exist, then in most cases you'll want to create that too.
-
-So, if you want to remove a file or a directory regardless of whether it has contents, just call `fs.remove(path)`. If you want to copy a file or a directory whether it has contents, just call `fs.copy(source, destination)`. If you want to create a directory regardless of whether its parent directories exist, just call `fs.mkdirs(path)` or `fs.mkdirp(path)`.
-
-
-Credit
-------
-
-`fs-extra` wouldn't be possible without using the modules from the following authors:
-
-- [Isaac Shlueter](https://github.com/isaacs)
-- [Charlie McConnel](https://github.com/avianflu)
-- [James Halliday](https://github.com/substack)
-- [Andrew Kelley](https://github.com/andrewrk)
-
-
-
-
-License
--------
-
-Licensed under MIT
-
-Copyright (c) 2011-2017 [JP Richardson](https://github.com/jprichardson)
-
-[1]: http://nodejs.org/docs/latest/api/fs.html
-
-
-[jsonfile]: https://github.com/jprichardson/node-jsonfile
diff --git a/includes/search/node_modules/fs-extra/lib/copy-sync/copy-sync.js b/includes/search/node_modules/fs-extra/lib/copy-sync/copy-sync.js
deleted file mode 100644
index 31f06e4..0000000
--- a/includes/search/node_modules/fs-extra/lib/copy-sync/copy-sync.js
+++ /dev/null
@@ -1,166 +0,0 @@
-'use strict'
-
-const fs = require('graceful-fs')
-const path = require('path')
-const mkdirsSync = require('../mkdirs').mkdirsSync
-const utimesMillisSync = require('../util/utimes').utimesMillisSync
-const stat = require('../util/stat')
-
-function copySync (src, dest, opts) {
- if (typeof opts === 'function') {
- opts = { filter: opts }
- }
-
- opts = opts || {}
- opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now
- opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber
-
- // Warn about using preserveTimestamps on 32-bit node
- if (opts.preserveTimestamps && process.arch === 'ia32') {
- console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n
- see https://github.com/jprichardson/node-fs-extra/issues/269`)
- }
-
- const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy')
- stat.checkParentPathsSync(src, srcStat, dest, 'copy')
- return handleFilterAndCopy(destStat, src, dest, opts)
-}
-
-function handleFilterAndCopy (destStat, src, dest, opts) {
- if (opts.filter && !opts.filter(src, dest)) return
- const destParent = path.dirname(dest)
- if (!fs.existsSync(destParent)) mkdirsSync(destParent)
- return startCopy(destStat, src, dest, opts)
-}
-
-function startCopy (destStat, src, dest, opts) {
- if (opts.filter && !opts.filter(src, dest)) return
- return getStats(destStat, src, dest, opts)
-}
-
-function getStats (destStat, src, dest, opts) {
- const statSync = opts.dereference ? fs.statSync : fs.lstatSync
- const srcStat = statSync(src)
-
- if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)
- else if (srcStat.isFile() ||
- srcStat.isCharacterDevice() ||
- srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)
- else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)
-}
-
-function onFile (srcStat, destStat, src, dest, opts) {
- if (!destStat) return copyFile(srcStat, src, dest, opts)
- return mayCopyFile(srcStat, src, dest, opts)
-}
-
-function mayCopyFile (srcStat, src, dest, opts) {
- if (opts.overwrite) {
- fs.unlinkSync(dest)
- return copyFile(srcStat, src, dest, opts)
- } else if (opts.errorOnExist) {
- throw new Error(`'${dest}' already exists`)
- }
-}
-
-function copyFile (srcStat, src, dest, opts) {
- fs.copyFileSync(src, dest)
- if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest)
- return setDestMode(dest, srcStat.mode)
-}
-
-function handleTimestamps (srcMode, src, dest) {
- // Make sure the file is writable before setting the timestamp
- // otherwise open fails with EPERM when invoked with 'r+'
- // (through utimes call)
- if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode)
- return setDestTimestamps(src, dest)
-}
-
-function fileIsNotWritable (srcMode) {
- return (srcMode & 0o200) === 0
-}
-
-function makeFileWritable (dest, srcMode) {
- return setDestMode(dest, srcMode | 0o200)
-}
-
-function setDestMode (dest, srcMode) {
- return fs.chmodSync(dest, srcMode)
-}
-
-function setDestTimestamps (src, dest) {
- // The initial srcStat.atime cannot be trusted
- // because it is modified by the read(2) system call
- // (See https://nodejs.org/api/fs.html#fs_stat_time_values)
- const updatedSrcStat = fs.statSync(src)
- return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime)
-}
-
-function onDir (srcStat, destStat, src, dest, opts) {
- if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts)
- if (destStat && !destStat.isDirectory()) {
- throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)
- }
- return copyDir(src, dest, opts)
-}
-
-function mkDirAndCopy (srcMode, src, dest, opts) {
- fs.mkdirSync(dest)
- copyDir(src, dest, opts)
- return setDestMode(dest, srcMode)
-}
-
-function copyDir (src, dest, opts) {
- fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))
-}
-
-function copyDirItem (item, src, dest, opts) {
- const srcItem = path.join(src, item)
- const destItem = path.join(dest, item)
- const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy')
- return startCopy(destStat, srcItem, destItem, opts)
-}
-
-function onLink (destStat, src, dest, opts) {
- let resolvedSrc = fs.readlinkSync(src)
- if (opts.dereference) {
- resolvedSrc = path.resolve(process.cwd(), resolvedSrc)
- }
-
- if (!destStat) {
- return fs.symlinkSync(resolvedSrc, dest)
- } else {
- let resolvedDest
- try {
- resolvedDest = fs.readlinkSync(dest)
- } catch (err) {
- // dest exists and is a regular file or directory,
- // Windows may throw UNKNOWN error. If dest already exists,
- // fs throws error anyway, so no need to guard against it here.
- if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)
- throw err
- }
- if (opts.dereference) {
- resolvedDest = path.resolve(process.cwd(), resolvedDest)
- }
- if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
- throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)
- }
-
- // prevent copy if src is a subdir of dest since unlinking
- // dest in this case would result in removing src contents
- // and therefore a broken symlink would be created.
- if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
- throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)
- }
- return copyLink(resolvedSrc, dest)
- }
-}
-
-function copyLink (resolvedSrc, dest) {
- fs.unlinkSync(dest)
- return fs.symlinkSync(resolvedSrc, dest)
-}
-
-module.exports = copySync
diff --git a/includes/search/node_modules/fs-extra/lib/copy-sync/index.js b/includes/search/node_modules/fs-extra/lib/copy-sync/index.js
deleted file mode 100644
index 65945ae..0000000
--- a/includes/search/node_modules/fs-extra/lib/copy-sync/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-'use strict'
-
-module.exports = {
- copySync: require('./copy-sync')
-}
diff --git a/includes/search/node_modules/fs-extra/lib/copy/copy.js b/includes/search/node_modules/fs-extra/lib/copy/copy.js
deleted file mode 100644
index 328f102..0000000
--- a/includes/search/node_modules/fs-extra/lib/copy/copy.js
+++ /dev/null
@@ -1,232 +0,0 @@
-'use strict'
-
-const fs = require('graceful-fs')
-const path = require('path')
-const mkdirs = require('../mkdirs').mkdirs
-const pathExists = require('../path-exists').pathExists
-const utimesMillis = require('../util/utimes').utimesMillis
-const stat = require('../util/stat')
-
-function copy (src, dest, opts, cb) {
- if (typeof opts === 'function' && !cb) {
- cb = opts
- opts = {}
- } else if (typeof opts === 'function') {
- opts = { filter: opts }
- }
-
- cb = cb || function () {}
- opts = opts || {}
-
- opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now
- opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber
-
- // Warn about using preserveTimestamps on 32-bit node
- if (opts.preserveTimestamps && process.arch === 'ia32') {
- console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n
- see https://github.com/jprichardson/node-fs-extra/issues/269`)
- }
-
- stat.checkPaths(src, dest, 'copy', (err, stats) => {
- if (err) return cb(err)
- const { srcStat, destStat } = stats
- stat.checkParentPaths(src, srcStat, dest, 'copy', err => {
- if (err) return cb(err)
- if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb)
- return checkParentDir(destStat, src, dest, opts, cb)
- })
- })
-}
-
-function checkParentDir (destStat, src, dest, opts, cb) {
- const destParent = path.dirname(dest)
- pathExists(destParent, (err, dirExists) => {
- if (err) return cb(err)
- if (dirExists) return startCopy(destStat, src, dest, opts, cb)
- mkdirs(destParent, err => {
- if (err) return cb(err)
- return startCopy(destStat, src, dest, opts, cb)
- })
- })
-}
-
-function handleFilter (onInclude, destStat, src, dest, opts, cb) {
- Promise.resolve(opts.filter(src, dest)).then(include => {
- if (include) return onInclude(destStat, src, dest, opts, cb)
- return cb()
- }, error => cb(error))
-}
-
-function startCopy (destStat, src, dest, opts, cb) {
- if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb)
- return getStats(destStat, src, dest, opts, cb)
-}
-
-function getStats (destStat, src, dest, opts, cb) {
- const stat = opts.dereference ? fs.stat : fs.lstat
- stat(src, (err, srcStat) => {
- if (err) return cb(err)
-
- if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)
- else if (srcStat.isFile() ||
- srcStat.isCharacterDevice() ||
- srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)
- else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)
- })
-}
-
-function onFile (srcStat, destStat, src, dest, opts, cb) {
- if (!destStat) return copyFile(srcStat, src, dest, opts, cb)
- return mayCopyFile(srcStat, src, dest, opts, cb)
-}
-
-function mayCopyFile (srcStat, src, dest, opts, cb) {
- if (opts.overwrite) {
- fs.unlink(dest, err => {
- if (err) return cb(err)
- return copyFile(srcStat, src, dest, opts, cb)
- })
- } else if (opts.errorOnExist) {
- return cb(new Error(`'${dest}' already exists`))
- } else return cb()
-}
-
-function copyFile (srcStat, src, dest, opts, cb) {
- fs.copyFile(src, dest, err => {
- if (err) return cb(err)
- if (opts.preserveTimestamps) return handleTimestampsAndMode(srcStat.mode, src, dest, cb)
- return setDestMode(dest, srcStat.mode, cb)
- })
-}
-
-function handleTimestampsAndMode (srcMode, src, dest, cb) {
- // Make sure the file is writable before setting the timestamp
- // otherwise open fails with EPERM when invoked with 'r+'
- // (through utimes call)
- if (fileIsNotWritable(srcMode)) {
- return makeFileWritable(dest, srcMode, err => {
- if (err) return cb(err)
- return setDestTimestampsAndMode(srcMode, src, dest, cb)
- })
- }
- return setDestTimestampsAndMode(srcMode, src, dest, cb)
-}
-
-function fileIsNotWritable (srcMode) {
- return (srcMode & 0o200) === 0
-}
-
-function makeFileWritable (dest, srcMode, cb) {
- return setDestMode(dest, srcMode | 0o200, cb)
-}
-
-function setDestTimestampsAndMode (srcMode, src, dest, cb) {
- setDestTimestamps(src, dest, err => {
- if (err) return cb(err)
- return setDestMode(dest, srcMode, cb)
- })
-}
-
-function setDestMode (dest, srcMode, cb) {
- return fs.chmod(dest, srcMode, cb)
-}
-
-function setDestTimestamps (src, dest, cb) {
- // The initial srcStat.atime cannot be trusted
- // because it is modified by the read(2) system call
- // (See https://nodejs.org/api/fs.html#fs_stat_time_values)
- fs.stat(src, (err, updatedSrcStat) => {
- if (err) return cb(err)
- return utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime, cb)
- })
-}
-
-function onDir (srcStat, destStat, src, dest, opts, cb) {
- if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts, cb)
- if (destStat && !destStat.isDirectory()) {
- return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))
- }
- return copyDir(src, dest, opts, cb)
-}
-
-function mkDirAndCopy (srcMode, src, dest, opts, cb) {
- fs.mkdir(dest, err => {
- if (err) return cb(err)
- copyDir(src, dest, opts, err => {
- if (err) return cb(err)
- return setDestMode(dest, srcMode, cb)
- })
- })
-}
-
-function copyDir (src, dest, opts, cb) {
- fs.readdir(src, (err, items) => {
- if (err) return cb(err)
- return copyDirItems(items, src, dest, opts, cb)
- })
-}
-
-function copyDirItems (items, src, dest, opts, cb) {
- const item = items.pop()
- if (!item) return cb()
- return copyDirItem(items, item, src, dest, opts, cb)
-}
-
-function copyDirItem (items, item, src, dest, opts, cb) {
- const srcItem = path.join(src, item)
- const destItem = path.join(dest, item)
- stat.checkPaths(srcItem, destItem, 'copy', (err, stats) => {
- if (err) return cb(err)
- const { destStat } = stats
- startCopy(destStat, srcItem, destItem, opts, err => {
- if (err) return cb(err)
- return copyDirItems(items, src, dest, opts, cb)
- })
- })
-}
-
-function onLink (destStat, src, dest, opts, cb) {
- fs.readlink(src, (err, resolvedSrc) => {
- if (err) return cb(err)
- if (opts.dereference) {
- resolvedSrc = path.resolve(process.cwd(), resolvedSrc)
- }
-
- if (!destStat) {
- return fs.symlink(resolvedSrc, dest, cb)
- } else {
- fs.readlink(dest, (err, resolvedDest) => {
- if (err) {
- // dest exists and is a regular file or directory,
- // Windows may throw UNKNOWN error. If dest already exists,
- // fs throws error anyway, so no need to guard against it here.
- if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)
- return cb(err)
- }
- if (opts.dereference) {
- resolvedDest = path.resolve(process.cwd(), resolvedDest)
- }
- if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
- return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))
- }
-
- // do not copy if src is a subdir of dest since unlinking
- // dest in this case would result in removing src contents
- // and therefore a broken symlink would be created.
- if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
- return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))
- }
- return copyLink(resolvedSrc, dest, cb)
- })
- }
- })
-}
-
-function copyLink (resolvedSrc, dest, cb) {
- fs.unlink(dest, err => {
- if (err) return cb(err)
- return fs.symlink(resolvedSrc, dest, cb)
- })
-}
-
-module.exports = copy
diff --git a/includes/search/node_modules/fs-extra/lib/copy/index.js b/includes/search/node_modules/fs-extra/lib/copy/index.js
deleted file mode 100644
index b7e4f7f..0000000
--- a/includes/search/node_modules/fs-extra/lib/copy/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict'
-
-const u = require('universalify').fromCallback
-module.exports = {
- copy: u(require('./copy'))
-}
diff --git a/includes/search/node_modules/fs-extra/lib/empty/index.js b/includes/search/node_modules/fs-extra/lib/empty/index.js
deleted file mode 100644
index 90fb469..0000000
--- a/includes/search/node_modules/fs-extra/lib/empty/index.js
+++ /dev/null
@@ -1,48 +0,0 @@
-'use strict'
-
-const u = require('universalify').fromCallback
-const fs = require('graceful-fs')
-const path = require('path')
-const mkdir = require('../mkdirs')
-const remove = require('../remove')
-
-const emptyDir = u(function emptyDir (dir, callback) {
- callback = callback || function () {}
- fs.readdir(dir, (err, items) => {
- if (err) return mkdir.mkdirs(dir, callback)
-
- items = items.map(item => path.join(dir, item))
-
- deleteItem()
-
- function deleteItem () {
- const item = items.pop()
- if (!item) return callback()
- remove.remove(item, err => {
- if (err) return callback(err)
- deleteItem()
- })
- }
- })
-})
-
-function emptyDirSync (dir) {
- let items
- try {
- items = fs.readdirSync(dir)
- } catch {
- return mkdir.mkdirsSync(dir)
- }
-
- items.forEach(item => {
- item = path.join(dir, item)
- remove.removeSync(item)
- })
-}
-
-module.exports = {
- emptyDirSync,
- emptydirSync: emptyDirSync,
- emptyDir,
- emptydir: emptyDir
-}
diff --git a/includes/search/node_modules/fs-extra/lib/ensure/file.js b/includes/search/node_modules/fs-extra/lib/ensure/file.js
deleted file mode 100644
index 15cc473..0000000
--- a/includes/search/node_modules/fs-extra/lib/ensure/file.js
+++ /dev/null
@@ -1,69 +0,0 @@
-'use strict'
-
-const u = require('universalify').fromCallback
-const path = require('path')
-const fs = require('graceful-fs')
-const mkdir = require('../mkdirs')
-
-function createFile (file, callback) {
- function makeFile () {
- fs.writeFile(file, '', err => {
- if (err) return callback(err)
- callback()
- })
- }
-
- fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err
- if (!err && stats.isFile()) return callback()
- const dir = path.dirname(file)
- fs.stat(dir, (err, stats) => {
- if (err) {
- // if the directory doesn't exist, make it
- if (err.code === 'ENOENT') {
- return mkdir.mkdirs(dir, err => {
- if (err) return callback(err)
- makeFile()
- })
- }
- return callback(err)
- }
-
- if (stats.isDirectory()) makeFile()
- else {
- // parent is not a directory
- // This is just to cause an internal ENOTDIR error to be thrown
- fs.readdir(dir, err => {
- if (err) return callback(err)
- })
- }
- })
- })
-}
-
-function createFileSync (file) {
- let stats
- try {
- stats = fs.statSync(file)
- } catch {}
- if (stats && stats.isFile()) return
-
- const dir = path.dirname(file)
- try {
- if (!fs.statSync(dir).isDirectory()) {
- // parent is not a directory
- // This is just to cause an internal ENOTDIR error to be thrown
- fs.readdirSync(dir)
- }
- } catch (err) {
- // If the stat call above failed because the directory doesn't exist, create it
- if (err && err.code === 'ENOENT') mkdir.mkdirsSync(dir)
- else throw err
- }
-
- fs.writeFileSync(file, '')
-}
-
-module.exports = {
- createFile: u(createFile),
- createFileSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/ensure/index.js b/includes/search/node_modules/fs-extra/lib/ensure/index.js
deleted file mode 100644
index c1f67b7..0000000
--- a/includes/search/node_modules/fs-extra/lib/ensure/index.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict'
-
-const file = require('./file')
-const link = require('./link')
-const symlink = require('./symlink')
-
-module.exports = {
- // file
- createFile: file.createFile,
- createFileSync: file.createFileSync,
- ensureFile: file.createFile,
- ensureFileSync: file.createFileSync,
- // link
- createLink: link.createLink,
- createLinkSync: link.createLinkSync,
- ensureLink: link.createLink,
- ensureLinkSync: link.createLinkSync,
- // symlink
- createSymlink: symlink.createSymlink,
- createSymlinkSync: symlink.createSymlinkSync,
- ensureSymlink: symlink.createSymlink,
- ensureSymlinkSync: symlink.createSymlinkSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/ensure/link.js b/includes/search/node_modules/fs-extra/lib/ensure/link.js
deleted file mode 100644
index 2cd4196..0000000
--- a/includes/search/node_modules/fs-extra/lib/ensure/link.js
+++ /dev/null
@@ -1,61 +0,0 @@
-'use strict'
-
-const u = require('universalify').fromCallback
-const path = require('path')
-const fs = require('graceful-fs')
-const mkdir = require('../mkdirs')
-const pathExists = require('../path-exists').pathExists
-
-function createLink (srcpath, dstpath, callback) {
- function makeLink (srcpath, dstpath) {
- fs.link(srcpath, dstpath, err => {
- if (err) return callback(err)
- callback(null)
- })
- }
-
- pathExists(dstpath, (err, destinationExists) => {
- if (err) return callback(err)
- if (destinationExists) return callback(null)
- fs.lstat(srcpath, (err) => {
- if (err) {
- err.message = err.message.replace('lstat', 'ensureLink')
- return callback(err)
- }
-
- const dir = path.dirname(dstpath)
- pathExists(dir, (err, dirExists) => {
- if (err) return callback(err)
- if (dirExists) return makeLink(srcpath, dstpath)
- mkdir.mkdirs(dir, err => {
- if (err) return callback(err)
- makeLink(srcpath, dstpath)
- })
- })
- })
- })
-}
-
-function createLinkSync (srcpath, dstpath) {
- const destinationExists = fs.existsSync(dstpath)
- if (destinationExists) return undefined
-
- try {
- fs.lstatSync(srcpath)
- } catch (err) {
- err.message = err.message.replace('lstat', 'ensureLink')
- throw err
- }
-
- const dir = path.dirname(dstpath)
- const dirExists = fs.existsSync(dir)
- if (dirExists) return fs.linkSync(srcpath, dstpath)
- mkdir.mkdirsSync(dir)
-
- return fs.linkSync(srcpath, dstpath)
-}
-
-module.exports = {
- createLink: u(createLink),
- createLinkSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/ensure/symlink-paths.js b/includes/search/node_modules/fs-extra/lib/ensure/symlink-paths.js
deleted file mode 100644
index 33cd760..0000000
--- a/includes/search/node_modules/fs-extra/lib/ensure/symlink-paths.js
+++ /dev/null
@@ -1,99 +0,0 @@
-'use strict'
-
-const path = require('path')
-const fs = require('graceful-fs')
-const pathExists = require('../path-exists').pathExists
-
-/**
- * Function that returns two types of paths, one relative to symlink, and one
- * relative to the current working directory. Checks if path is absolute or
- * relative. If the path is relative, this function checks if the path is
- * relative to symlink or relative to current working directory. This is an
- * initiative to find a smarter `srcpath` to supply when building symlinks.
- * This allows you to determine which path to use out of one of three possible
- * types of source paths. The first is an absolute path. This is detected by
- * `path.isAbsolute()`. When an absolute path is provided, it is checked to
- * see if it exists. If it does it's used, if not an error is returned
- * (callback)/ thrown (sync). The other two options for `srcpath` are a
- * relative url. By default Node's `fs.symlink` works by creating a symlink
- * using `dstpath` and expects the `srcpath` to be relative to the newly
- * created symlink. If you provide a `srcpath` that does not exist on the file
- * system it results in a broken symlink. To minimize this, the function
- * checks to see if the 'relative to symlink' source file exists, and if it
- * does it will use it. If it does not, it checks if there's a file that
- * exists that is relative to the current working directory, if does its used.
- * This preserves the expectations of the original fs.symlink spec and adds
- * the ability to pass in `relative to current working direcotry` paths.
- */
-
-function symlinkPaths (srcpath, dstpath, callback) {
- if (path.isAbsolute(srcpath)) {
- return fs.lstat(srcpath, (err) => {
- if (err) {
- err.message = err.message.replace('lstat', 'ensureSymlink')
- return callback(err)
- }
- return callback(null, {
- toCwd: srcpath,
- toDst: srcpath
- })
- })
- } else {
- const dstdir = path.dirname(dstpath)
- const relativeToDst = path.join(dstdir, srcpath)
- return pathExists(relativeToDst, (err, exists) => {
- if (err) return callback(err)
- if (exists) {
- return callback(null, {
- toCwd: relativeToDst,
- toDst: srcpath
- })
- } else {
- return fs.lstat(srcpath, (err) => {
- if (err) {
- err.message = err.message.replace('lstat', 'ensureSymlink')
- return callback(err)
- }
- return callback(null, {
- toCwd: srcpath,
- toDst: path.relative(dstdir, srcpath)
- })
- })
- }
- })
- }
-}
-
-function symlinkPathsSync (srcpath, dstpath) {
- let exists
- if (path.isAbsolute(srcpath)) {
- exists = fs.existsSync(srcpath)
- if (!exists) throw new Error('absolute srcpath does not exist')
- return {
- toCwd: srcpath,
- toDst: srcpath
- }
- } else {
- const dstdir = path.dirname(dstpath)
- const relativeToDst = path.join(dstdir, srcpath)
- exists = fs.existsSync(relativeToDst)
- if (exists) {
- return {
- toCwd: relativeToDst,
- toDst: srcpath
- }
- } else {
- exists = fs.existsSync(srcpath)
- if (!exists) throw new Error('relative srcpath does not exist')
- return {
- toCwd: srcpath,
- toDst: path.relative(dstdir, srcpath)
- }
- }
- }
-}
-
-module.exports = {
- symlinkPaths,
- symlinkPathsSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/ensure/symlink-type.js b/includes/search/node_modules/fs-extra/lib/ensure/symlink-type.js
deleted file mode 100644
index 42dc0ce..0000000
--- a/includes/search/node_modules/fs-extra/lib/ensure/symlink-type.js
+++ /dev/null
@@ -1,31 +0,0 @@
-'use strict'
-
-const fs = require('graceful-fs')
-
-function symlinkType (srcpath, type, callback) {
- callback = (typeof type === 'function') ? type : callback
- type = (typeof type === 'function') ? false : type
- if (type) return callback(null, type)
- fs.lstat(srcpath, (err, stats) => {
- if (err) return callback(null, 'file')
- type = (stats && stats.isDirectory()) ? 'dir' : 'file'
- callback(null, type)
- })
-}
-
-function symlinkTypeSync (srcpath, type) {
- let stats
-
- if (type) return type
- try {
- stats = fs.lstatSync(srcpath)
- } catch {
- return 'file'
- }
- return (stats && stats.isDirectory()) ? 'dir' : 'file'
-}
-
-module.exports = {
- symlinkType,
- symlinkTypeSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/ensure/symlink.js b/includes/search/node_modules/fs-extra/lib/ensure/symlink.js
deleted file mode 100644
index fe68b79..0000000
--- a/includes/search/node_modules/fs-extra/lib/ensure/symlink.js
+++ /dev/null
@@ -1,63 +0,0 @@
-'use strict'
-
-const u = require('universalify').fromCallback
-const path = require('path')
-const fs = require('graceful-fs')
-const _mkdirs = require('../mkdirs')
-const mkdirs = _mkdirs.mkdirs
-const mkdirsSync = _mkdirs.mkdirsSync
-
-const _symlinkPaths = require('./symlink-paths')
-const symlinkPaths = _symlinkPaths.symlinkPaths
-const symlinkPathsSync = _symlinkPaths.symlinkPathsSync
-
-const _symlinkType = require('./symlink-type')
-const symlinkType = _symlinkType.symlinkType
-const symlinkTypeSync = _symlinkType.symlinkTypeSync
-
-const pathExists = require('../path-exists').pathExists
-
-function createSymlink (srcpath, dstpath, type, callback) {
- callback = (typeof type === 'function') ? type : callback
- type = (typeof type === 'function') ? false : type
-
- pathExists(dstpath, (err, destinationExists) => {
- if (err) return callback(err)
- if (destinationExists) return callback(null)
- symlinkPaths(srcpath, dstpath, (err, relative) => {
- if (err) return callback(err)
- srcpath = relative.toDst
- symlinkType(relative.toCwd, type, (err, type) => {
- if (err) return callback(err)
- const dir = path.dirname(dstpath)
- pathExists(dir, (err, dirExists) => {
- if (err) return callback(err)
- if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)
- mkdirs(dir, err => {
- if (err) return callback(err)
- fs.symlink(srcpath, dstpath, type, callback)
- })
- })
- })
- })
- })
-}
-
-function createSymlinkSync (srcpath, dstpath, type) {
- const destinationExists = fs.existsSync(dstpath)
- if (destinationExists) return undefined
-
- const relative = symlinkPathsSync(srcpath, dstpath)
- srcpath = relative.toDst
- type = symlinkTypeSync(relative.toCwd, type)
- const dir = path.dirname(dstpath)
- const exists = fs.existsSync(dir)
- if (exists) return fs.symlinkSync(srcpath, dstpath, type)
- mkdirsSync(dir)
- return fs.symlinkSync(srcpath, dstpath, type)
-}
-
-module.exports = {
- createSymlink: u(createSymlink),
- createSymlinkSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/fs/index.js b/includes/search/node_modules/fs-extra/lib/fs/index.js
deleted file mode 100644
index 9bbaea4..0000000
--- a/includes/search/node_modules/fs-extra/lib/fs/index.js
+++ /dev/null
@@ -1,130 +0,0 @@
-'use strict'
-// This is adapted from https://github.com/normalize/mz
-// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors
-const u = require('universalify').fromCallback
-const fs = require('graceful-fs')
-
-const api = [
- 'access',
- 'appendFile',
- 'chmod',
- 'chown',
- 'close',
- 'copyFile',
- 'fchmod',
- 'fchown',
- 'fdatasync',
- 'fstat',
- 'fsync',
- 'ftruncate',
- 'futimes',
- 'lchmod',
- 'lchown',
- 'link',
- 'lstat',
- 'mkdir',
- 'mkdtemp',
- 'open',
- 'opendir',
- 'readdir',
- 'readFile',
- 'readlink',
- 'realpath',
- 'rename',
- 'rm',
- 'rmdir',
- 'stat',
- 'symlink',
- 'truncate',
- 'unlink',
- 'utimes',
- 'writeFile'
-].filter(key => {
- // Some commands are not available on some systems. Ex:
- // fs.opendir was added in Node.js v12.12.0
- // fs.rm was added in Node.js v14.14.0
- // fs.lchown is not available on at least some Linux
- return typeof fs[key] === 'function'
-})
-
-// Export all keys:
-Object.keys(fs).forEach(key => {
- if (key === 'promises') {
- // fs.promises is a getter property that triggers ExperimentalWarning
- // Don't re-export it here, the getter is defined in "lib/index.js"
- return
- }
- exports[key] = fs[key]
-})
-
-// Universalify async methods:
-api.forEach(method => {
- exports[method] = u(fs[method])
-})
-
-// We differ from mz/fs in that we still ship the old, broken, fs.exists()
-// since we are a drop-in replacement for the native module
-exports.exists = function (filename, callback) {
- if (typeof callback === 'function') {
- return fs.exists(filename, callback)
- }
- return new Promise(resolve => {
- return fs.exists(filename, resolve)
- })
-}
-
-// fs.read(), fs.write(), & fs.writev() need special treatment due to multiple callback args
-
-exports.read = function (fd, buffer, offset, length, position, callback) {
- if (typeof callback === 'function') {
- return fs.read(fd, buffer, offset, length, position, callback)
- }
- return new Promise((resolve, reject) => {
- fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {
- if (err) return reject(err)
- resolve({ bytesRead, buffer })
- })
- })
-}
-
-// Function signature can be
-// fs.write(fd, buffer[, offset[, length[, position]]], callback)
-// OR
-// fs.write(fd, string[, position[, encoding]], callback)
-// We need to handle both cases, so we use ...args
-exports.write = function (fd, buffer, ...args) {
- if (typeof args[args.length - 1] === 'function') {
- return fs.write(fd, buffer, ...args)
- }
-
- return new Promise((resolve, reject) => {
- fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {
- if (err) return reject(err)
- resolve({ bytesWritten, buffer })
- })
- })
-}
-
-// fs.writev only available in Node v12.9.0+
-if (typeof fs.writev === 'function') {
- // Function signature is
- // s.writev(fd, buffers[, position], callback)
- // We need to handle the optional arg, so we use ...args
- exports.writev = function (fd, buffers, ...args) {
- if (typeof args[args.length - 1] === 'function') {
- return fs.writev(fd, buffers, ...args)
- }
-
- return new Promise((resolve, reject) => {
- fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers) => {
- if (err) return reject(err)
- resolve({ bytesWritten, buffers })
- })
- })
- }
-}
-
-// fs.realpath.native only available in Node v9.2+
-if (typeof fs.realpath.native === 'function') {
- exports.realpath.native = u(fs.realpath.native)
-}
diff --git a/includes/search/node_modules/fs-extra/lib/index.js b/includes/search/node_modules/fs-extra/lib/index.js
deleted file mode 100644
index d9468e6..0000000
--- a/includes/search/node_modules/fs-extra/lib/index.js
+++ /dev/null
@@ -1,27 +0,0 @@
-'use strict'
-
-module.exports = {
- // Export promiseified graceful-fs:
- ...require('./fs'),
- // Export extra methods:
- ...require('./copy-sync'),
- ...require('./copy'),
- ...require('./empty'),
- ...require('./ensure'),
- ...require('./json'),
- ...require('./mkdirs'),
- ...require('./move-sync'),
- ...require('./move'),
- ...require('./output'),
- ...require('./path-exists'),
- ...require('./remove')
-}
-
-// Export fs.promises as a getter property so that we don't trigger
-// ExperimentalWarning before fs.promises is actually accessed.
-const fs = require('fs')
-if (Object.getOwnPropertyDescriptor(fs, 'promises')) {
- Object.defineProperty(module.exports, 'promises', {
- get () { return fs.promises }
- })
-}
diff --git a/includes/search/node_modules/fs-extra/lib/json/index.js b/includes/search/node_modules/fs-extra/lib/json/index.js
deleted file mode 100644
index 900126a..0000000
--- a/includes/search/node_modules/fs-extra/lib/json/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict'
-
-const u = require('universalify').fromPromise
-const jsonFile = require('./jsonfile')
-
-jsonFile.outputJson = u(require('./output-json'))
-jsonFile.outputJsonSync = require('./output-json-sync')
-// aliases
-jsonFile.outputJSON = jsonFile.outputJson
-jsonFile.outputJSONSync = jsonFile.outputJsonSync
-jsonFile.writeJSON = jsonFile.writeJson
-jsonFile.writeJSONSync = jsonFile.writeJsonSync
-jsonFile.readJSON = jsonFile.readJson
-jsonFile.readJSONSync = jsonFile.readJsonSync
-
-module.exports = jsonFile
diff --git a/includes/search/node_modules/fs-extra/lib/json/jsonfile.js b/includes/search/node_modules/fs-extra/lib/json/jsonfile.js
deleted file mode 100644
index f11d34d..0000000
--- a/includes/search/node_modules/fs-extra/lib/json/jsonfile.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict'
-
-const jsonFile = require('jsonfile')
-
-module.exports = {
- // jsonfile exports
- readJson: jsonFile.readFile,
- readJsonSync: jsonFile.readFileSync,
- writeJson: jsonFile.writeFile,
- writeJsonSync: jsonFile.writeFileSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/json/output-json-sync.js b/includes/search/node_modules/fs-extra/lib/json/output-json-sync.js
deleted file mode 100644
index f76b474..0000000
--- a/includes/search/node_modules/fs-extra/lib/json/output-json-sync.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict'
-
-const { stringify } = require('jsonfile/utils')
-const { outputFileSync } = require('../output')
-
-function outputJsonSync (file, data, options) {
- const str = stringify(data, options)
-
- outputFileSync(file, str, options)
-}
-
-module.exports = outputJsonSync
diff --git a/includes/search/node_modules/fs-extra/lib/json/output-json.js b/includes/search/node_modules/fs-extra/lib/json/output-json.js
deleted file mode 100644
index 0fc6689..0000000
--- a/includes/search/node_modules/fs-extra/lib/json/output-json.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict'
-
-const { stringify } = require('jsonfile/utils')
-const { outputFile } = require('../output')
-
-async function outputJson (file, data, options = {}) {
- const str = stringify(data, options)
-
- await outputFile(file, str, options)
-}
-
-module.exports = outputJson
diff --git a/includes/search/node_modules/fs-extra/lib/mkdirs/index.js b/includes/search/node_modules/fs-extra/lib/mkdirs/index.js
deleted file mode 100644
index 9edecee..0000000
--- a/includes/search/node_modules/fs-extra/lib/mkdirs/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict'
-const u = require('universalify').fromPromise
-const { makeDir: _makeDir, makeDirSync } = require('./make-dir')
-const makeDir = u(_makeDir)
-
-module.exports = {
- mkdirs: makeDir,
- mkdirsSync: makeDirSync,
- // alias
- mkdirp: makeDir,
- mkdirpSync: makeDirSync,
- ensureDir: makeDir,
- ensureDirSync: makeDirSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/mkdirs/make-dir.js b/includes/search/node_modules/fs-extra/lib/mkdirs/make-dir.js
deleted file mode 100644
index 3e7e836..0000000
--- a/includes/search/node_modules/fs-extra/lib/mkdirs/make-dir.js
+++ /dev/null
@@ -1,141 +0,0 @@
-// Adapted from https://github.com/sindresorhus/make-dir
-// Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-'use strict'
-const fs = require('../fs')
-const path = require('path')
-const atLeastNode = require('at-least-node')
-
-const useNativeRecursiveOption = atLeastNode('10.12.0')
-
-// https://github.com/nodejs/node/issues/8987
-// https://github.com/libuv/libuv/pull/1088
-const checkPath = pth => {
- if (process.platform === 'win32') {
- const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path.parse(pth).root, ''))
-
- if (pathHasInvalidWinCharacters) {
- const error = new Error(`Path contains invalid characters: ${pth}`)
- error.code = 'EINVAL'
- throw error
- }
- }
-}
-
-const processOptions = options => {
- const defaults = { mode: 0o777 }
- if (typeof options === 'number') options = { mode: options }
- return { ...defaults, ...options }
-}
-
-const permissionError = pth => {
- // This replicates the exception of `fs.mkdir` with native the
- // `recusive` option when run on an invalid drive under Windows.
- const error = new Error(`operation not permitted, mkdir '${pth}'`)
- error.code = 'EPERM'
- error.errno = -4048
- error.path = pth
- error.syscall = 'mkdir'
- return error
-}
-
-module.exports.makeDir = async (input, options) => {
- checkPath(input)
- options = processOptions(options)
-
- if (useNativeRecursiveOption) {
- const pth = path.resolve(input)
-
- return fs.mkdir(pth, {
- mode: options.mode,
- recursive: true
- })
- }
-
- const make = async pth => {
- try {
- await fs.mkdir(pth, options.mode)
- } catch (error) {
- if (error.code === 'EPERM') {
- throw error
- }
-
- if (error.code === 'ENOENT') {
- if (path.dirname(pth) === pth) {
- throw permissionError(pth)
- }
-
- if (error.message.includes('null bytes')) {
- throw error
- }
-
- await make(path.dirname(pth))
- return make(pth)
- }
-
- try {
- const stats = await fs.stat(pth)
- if (!stats.isDirectory()) {
- // This error is never exposed to the user
- // it is caught below, and the original error is thrown
- throw new Error('The path is not a directory')
- }
- } catch {
- throw error
- }
- }
- }
-
- return make(path.resolve(input))
-}
-
-module.exports.makeDirSync = (input, options) => {
- checkPath(input)
- options = processOptions(options)
-
- if (useNativeRecursiveOption) {
- const pth = path.resolve(input)
-
- return fs.mkdirSync(pth, {
- mode: options.mode,
- recursive: true
- })
- }
-
- const make = pth => {
- try {
- fs.mkdirSync(pth, options.mode)
- } catch (error) {
- if (error.code === 'EPERM') {
- throw error
- }
-
- if (error.code === 'ENOENT') {
- if (path.dirname(pth) === pth) {
- throw permissionError(pth)
- }
-
- if (error.message.includes('null bytes')) {
- throw error
- }
-
- make(path.dirname(pth))
- return make(pth)
- }
-
- try {
- if (!fs.statSync(pth).isDirectory()) {
- // This error is never exposed to the user
- // it is caught below, and the original error is thrown
- throw new Error('The path is not a directory')
- }
- } catch {
- throw error
- }
- }
- }
-
- return make(path.resolve(input))
-}
diff --git a/includes/search/node_modules/fs-extra/lib/move-sync/index.js b/includes/search/node_modules/fs-extra/lib/move-sync/index.js
deleted file mode 100644
index af90b06..0000000
--- a/includes/search/node_modules/fs-extra/lib/move-sync/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-'use strict'
-
-module.exports = {
- moveSync: require('./move-sync')
-}
diff --git a/includes/search/node_modules/fs-extra/lib/move-sync/move-sync.js b/includes/search/node_modules/fs-extra/lib/move-sync/move-sync.js
deleted file mode 100644
index 20f910c..0000000
--- a/includes/search/node_modules/fs-extra/lib/move-sync/move-sync.js
+++ /dev/null
@@ -1,47 +0,0 @@
-'use strict'
-
-const fs = require('graceful-fs')
-const path = require('path')
-const copySync = require('../copy-sync').copySync
-const removeSync = require('../remove').removeSync
-const mkdirpSync = require('../mkdirs').mkdirpSync
-const stat = require('../util/stat')
-
-function moveSync (src, dest, opts) {
- opts = opts || {}
- const overwrite = opts.overwrite || opts.clobber || false
-
- const { srcStat } = stat.checkPathsSync(src, dest, 'move')
- stat.checkParentPathsSync(src, srcStat, dest, 'move')
- mkdirpSync(path.dirname(dest))
- return doRename(src, dest, overwrite)
-}
-
-function doRename (src, dest, overwrite) {
- if (overwrite) {
- removeSync(dest)
- return rename(src, dest, overwrite)
- }
- if (fs.existsSync(dest)) throw new Error('dest already exists.')
- return rename(src, dest, overwrite)
-}
-
-function rename (src, dest, overwrite) {
- try {
- fs.renameSync(src, dest)
- } catch (err) {
- if (err.code !== 'EXDEV') throw err
- return moveAcrossDevice(src, dest, overwrite)
- }
-}
-
-function moveAcrossDevice (src, dest, overwrite) {
- const opts = {
- overwrite,
- errorOnExist: true
- }
- copySync(src, dest, opts)
- return removeSync(src)
-}
-
-module.exports = moveSync
diff --git a/includes/search/node_modules/fs-extra/lib/move/index.js b/includes/search/node_modules/fs-extra/lib/move/index.js
deleted file mode 100644
index 3785345..0000000
--- a/includes/search/node_modules/fs-extra/lib/move/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict'
-
-const u = require('universalify').fromCallback
-module.exports = {
- move: u(require('./move'))
-}
diff --git a/includes/search/node_modules/fs-extra/lib/move/move.js b/includes/search/node_modules/fs-extra/lib/move/move.js
deleted file mode 100644
index fa3ea61..0000000
--- a/includes/search/node_modules/fs-extra/lib/move/move.js
+++ /dev/null
@@ -1,65 +0,0 @@
-'use strict'
-
-const fs = require('graceful-fs')
-const path = require('path')
-const copy = require('../copy').copy
-const remove = require('../remove').remove
-const mkdirp = require('../mkdirs').mkdirp
-const pathExists = require('../path-exists').pathExists
-const stat = require('../util/stat')
-
-function move (src, dest, opts, cb) {
- if (typeof opts === 'function') {
- cb = opts
- opts = {}
- }
-
- const overwrite = opts.overwrite || opts.clobber || false
-
- stat.checkPaths(src, dest, 'move', (err, stats) => {
- if (err) return cb(err)
- const { srcStat } = stats
- stat.checkParentPaths(src, srcStat, dest, 'move', err => {
- if (err) return cb(err)
- mkdirp(path.dirname(dest), err => {
- if (err) return cb(err)
- return doRename(src, dest, overwrite, cb)
- })
- })
- })
-}
-
-function doRename (src, dest, overwrite, cb) {
- if (overwrite) {
- return remove(dest, err => {
- if (err) return cb(err)
- return rename(src, dest, overwrite, cb)
- })
- }
- pathExists(dest, (err, destExists) => {
- if (err) return cb(err)
- if (destExists) return cb(new Error('dest already exists.'))
- return rename(src, dest, overwrite, cb)
- })
-}
-
-function rename (src, dest, overwrite, cb) {
- fs.rename(src, dest, err => {
- if (!err) return cb()
- if (err.code !== 'EXDEV') return cb(err)
- return moveAcrossDevice(src, dest, overwrite, cb)
- })
-}
-
-function moveAcrossDevice (src, dest, overwrite, cb) {
- const opts = {
- overwrite,
- errorOnExist: true
- }
- copy(src, dest, opts, err => {
- if (err) return cb(err)
- return remove(src, cb)
- })
-}
-
-module.exports = move
diff --git a/includes/search/node_modules/fs-extra/lib/output/index.js b/includes/search/node_modules/fs-extra/lib/output/index.js
deleted file mode 100644
index 92297ca..0000000
--- a/includes/search/node_modules/fs-extra/lib/output/index.js
+++ /dev/null
@@ -1,40 +0,0 @@
-'use strict'
-
-const u = require('universalify').fromCallback
-const fs = require('graceful-fs')
-const path = require('path')
-const mkdir = require('../mkdirs')
-const pathExists = require('../path-exists').pathExists
-
-function outputFile (file, data, encoding, callback) {
- if (typeof encoding === 'function') {
- callback = encoding
- encoding = 'utf8'
- }
-
- const dir = path.dirname(file)
- pathExists(dir, (err, itDoes) => {
- if (err) return callback(err)
- if (itDoes) return fs.writeFile(file, data, encoding, callback)
-
- mkdir.mkdirs(dir, err => {
- if (err) return callback(err)
-
- fs.writeFile(file, data, encoding, callback)
- })
- })
-}
-
-function outputFileSync (file, ...args) {
- const dir = path.dirname(file)
- if (fs.existsSync(dir)) {
- return fs.writeFileSync(file, ...args)
- }
- mkdir.mkdirsSync(dir)
- fs.writeFileSync(file, ...args)
-}
-
-module.exports = {
- outputFile: u(outputFile),
- outputFileSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/path-exists/index.js b/includes/search/node_modules/fs-extra/lib/path-exists/index.js
deleted file mode 100644
index ddd9bc7..0000000
--- a/includes/search/node_modules/fs-extra/lib/path-exists/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict'
-const u = require('universalify').fromPromise
-const fs = require('../fs')
-
-function pathExists (path) {
- return fs.access(path).then(() => true).catch(() => false)
-}
-
-module.exports = {
- pathExists: u(pathExists),
- pathExistsSync: fs.existsSync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/remove/index.js b/includes/search/node_modules/fs-extra/lib/remove/index.js
deleted file mode 100644
index cee5340..0000000
--- a/includes/search/node_modules/fs-extra/lib/remove/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict'
-
-const u = require('universalify').fromCallback
-const rimraf = require('./rimraf')
-
-module.exports = {
- remove: u(rimraf),
- removeSync: rimraf.sync
-}
diff --git a/includes/search/node_modules/fs-extra/lib/remove/rimraf.js b/includes/search/node_modules/fs-extra/lib/remove/rimraf.js
deleted file mode 100644
index 2c77102..0000000
--- a/includes/search/node_modules/fs-extra/lib/remove/rimraf.js
+++ /dev/null
@@ -1,302 +0,0 @@
-'use strict'
-
-const fs = require('graceful-fs')
-const path = require('path')
-const assert = require('assert')
-
-const isWindows = (process.platform === 'win32')
-
-function defaults (options) {
- const methods = [
- 'unlink',
- 'chmod',
- 'stat',
- 'lstat',
- 'rmdir',
- 'readdir'
- ]
- methods.forEach(m => {
- options[m] = options[m] || fs[m]
- m = m + 'Sync'
- options[m] = options[m] || fs[m]
- })
-
- options.maxBusyTries = options.maxBusyTries || 3
-}
-
-function rimraf (p, options, cb) {
- let busyTries = 0
-
- if (typeof options === 'function') {
- cb = options
- options = {}
- }
-
- assert(p, 'rimraf: missing path')
- assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')
- assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required')
- assert(options, 'rimraf: invalid options argument provided')
- assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')
-
- defaults(options)
-
- rimraf_(p, options, function CB (er) {
- if (er) {
- if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') &&
- busyTries < options.maxBusyTries) {
- busyTries++
- const time = busyTries * 100
- // try again, with the same exact callback as this one.
- return setTimeout(() => rimraf_(p, options, CB), time)
- }
-
- // already gone
- if (er.code === 'ENOENT') er = null
- }
-
- cb(er)
- })
-}
-
-// Two possible strategies.
-// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR
-// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR
-//
-// Both result in an extra syscall when you guess wrong. However, there
-// are likely far more normal files in the world than directories. This
-// is based on the assumption that a the average number of files per
-// directory is >= 1.
-//
-// If anyone ever complains about this, then I guess the strategy could
-// be made configurable somehow. But until then, YAGNI.
-function rimraf_ (p, options, cb) {
- assert(p)
- assert(options)
- assert(typeof cb === 'function')
-
- // sunos lets the root user unlink directories, which is... weird.
- // so we have to lstat here and make sure it's not a dir.
- options.lstat(p, (er, st) => {
- if (er && er.code === 'ENOENT') {
- return cb(null)
- }
-
- // Windows can EPERM on stat. Life is suffering.
- if (er && er.code === 'EPERM' && isWindows) {
- return fixWinEPERM(p, options, er, cb)
- }
-
- if (st && st.isDirectory()) {
- return rmdir(p, options, er, cb)
- }
-
- options.unlink(p, er => {
- if (er) {
- if (er.code === 'ENOENT') {
- return cb(null)
- }
- if (er.code === 'EPERM') {
- return (isWindows)
- ? fixWinEPERM(p, options, er, cb)
- : rmdir(p, options, er, cb)
- }
- if (er.code === 'EISDIR') {
- return rmdir(p, options, er, cb)
- }
- }
- return cb(er)
- })
- })
-}
-
-function fixWinEPERM (p, options, er, cb) {
- assert(p)
- assert(options)
- assert(typeof cb === 'function')
-
- options.chmod(p, 0o666, er2 => {
- if (er2) {
- cb(er2.code === 'ENOENT' ? null : er)
- } else {
- options.stat(p, (er3, stats) => {
- if (er3) {
- cb(er3.code === 'ENOENT' ? null : er)
- } else if (stats.isDirectory()) {
- rmdir(p, options, er, cb)
- } else {
- options.unlink(p, cb)
- }
- })
- }
- })
-}
-
-function fixWinEPERMSync (p, options, er) {
- let stats
-
- assert(p)
- assert(options)
-
- try {
- options.chmodSync(p, 0o666)
- } catch (er2) {
- if (er2.code === 'ENOENT') {
- return
- } else {
- throw er
- }
- }
-
- try {
- stats = options.statSync(p)
- } catch (er3) {
- if (er3.code === 'ENOENT') {
- return
- } else {
- throw er
- }
- }
-
- if (stats.isDirectory()) {
- rmdirSync(p, options, er)
- } else {
- options.unlinkSync(p)
- }
-}
-
-function rmdir (p, options, originalEr, cb) {
- assert(p)
- assert(options)
- assert(typeof cb === 'function')
-
- // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)
- // if we guessed wrong, and it's not a directory, then
- // raise the original error.
- options.rmdir(p, er => {
- if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) {
- rmkids(p, options, cb)
- } else if (er && er.code === 'ENOTDIR') {
- cb(originalEr)
- } else {
- cb(er)
- }
- })
-}
-
-function rmkids (p, options, cb) {
- assert(p)
- assert(options)
- assert(typeof cb === 'function')
-
- options.readdir(p, (er, files) => {
- if (er) return cb(er)
-
- let n = files.length
- let errState
-
- if (n === 0) return options.rmdir(p, cb)
-
- files.forEach(f => {
- rimraf(path.join(p, f), options, er => {
- if (errState) {
- return
- }
- if (er) return cb(errState = er)
- if (--n === 0) {
- options.rmdir(p, cb)
- }
- })
- })
- })
-}
-
-// this looks simpler, and is strictly *faster*, but will
-// tie up the JavaScript thread and fail on excessively
-// deep directory trees.
-function rimrafSync (p, options) {
- let st
-
- options = options || {}
- defaults(options)
-
- assert(p, 'rimraf: missing path')
- assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')
- assert(options, 'rimraf: missing options')
- assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')
-
- try {
- st = options.lstatSync(p)
- } catch (er) {
- if (er.code === 'ENOENT') {
- return
- }
-
- // Windows can EPERM on stat. Life is suffering.
- if (er.code === 'EPERM' && isWindows) {
- fixWinEPERMSync(p, options, er)
- }
- }
-
- try {
- // sunos lets the root user unlink directories, which is... weird.
- if (st && st.isDirectory()) {
- rmdirSync(p, options, null)
- } else {
- options.unlinkSync(p)
- }
- } catch (er) {
- if (er.code === 'ENOENT') {
- return
- } else if (er.code === 'EPERM') {
- return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)
- } else if (er.code !== 'EISDIR') {
- throw er
- }
- rmdirSync(p, options, er)
- }
-}
-
-function rmdirSync (p, options, originalEr) {
- assert(p)
- assert(options)
-
- try {
- options.rmdirSync(p)
- } catch (er) {
- if (er.code === 'ENOTDIR') {
- throw originalEr
- } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') {
- rmkidsSync(p, options)
- } else if (er.code !== 'ENOENT') {
- throw er
- }
- }
-}
-
-function rmkidsSync (p, options) {
- assert(p)
- assert(options)
- options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options))
-
- if (isWindows) {
- // We only end up here once we got ENOTEMPTY at least once, and
- // at this point, we are guaranteed to have removed all the kids.
- // So, we know that it won't be ENOENT or ENOTDIR or anything else.
- // try really hard to delete stuff on windows, because it has a
- // PROFOUNDLY annoying habit of not closing handles promptly when
- // files are deleted, resulting in spurious ENOTEMPTY errors.
- const startTime = Date.now()
- do {
- try {
- const ret = options.rmdirSync(p, options)
- return ret
- } catch {}
- } while (Date.now() - startTime < 500) // give up after 500ms
- } else {
- const ret = options.rmdirSync(p, options)
- return ret
- }
-}
-
-module.exports = rimraf
-rimraf.sync = rimrafSync
diff --git a/includes/search/node_modules/fs-extra/lib/util/stat.js b/includes/search/node_modules/fs-extra/lib/util/stat.js
deleted file mode 100644
index 0b1c1b0..0000000
--- a/includes/search/node_modules/fs-extra/lib/util/stat.js
+++ /dev/null
@@ -1,139 +0,0 @@
-'use strict'
-
-const fs = require('../fs')
-const path = require('path')
-const util = require('util')
-const atLeastNode = require('at-least-node')
-
-const nodeSupportsBigInt = atLeastNode('10.5.0')
-const stat = (file) => nodeSupportsBigInt ? fs.stat(file, { bigint: true }) : fs.stat(file)
-const statSync = (file) => nodeSupportsBigInt ? fs.statSync(file, { bigint: true }) : fs.statSync(file)
-
-function getStats (src, dest) {
- return Promise.all([
- stat(src),
- stat(dest).catch(err => {
- if (err.code === 'ENOENT') return null
- throw err
- })
- ]).then(([srcStat, destStat]) => ({ srcStat, destStat }))
-}
-
-function getStatsSync (src, dest) {
- let destStat
- const srcStat = statSync(src)
- try {
- destStat = statSync(dest)
- } catch (err) {
- if (err.code === 'ENOENT') return { srcStat, destStat: null }
- throw err
- }
- return { srcStat, destStat }
-}
-
-function checkPaths (src, dest, funcName, cb) {
- util.callbackify(getStats)(src, dest, (err, stats) => {
- if (err) return cb(err)
- const { srcStat, destStat } = stats
- if (destStat && areIdentical(srcStat, destStat)) {
- return cb(new Error('Source and destination must not be the same.'))
- }
- if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
- return cb(new Error(errMsg(src, dest, funcName)))
- }
- return cb(null, { srcStat, destStat })
- })
-}
-
-function checkPathsSync (src, dest, funcName) {
- const { srcStat, destStat } = getStatsSync(src, dest)
- if (destStat && areIdentical(srcStat, destStat)) {
- throw new Error('Source and destination must not be the same.')
- }
- if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
- throw new Error(errMsg(src, dest, funcName))
- }
- return { srcStat, destStat }
-}
-
-// recursively check if dest parent is a subdirectory of src.
-// It works for all file types including symlinks since it
-// checks the src and dest inodes. It starts from the deepest
-// parent and stops once it reaches the src parent or the root path.
-function checkParentPaths (src, srcStat, dest, funcName, cb) {
- const srcParent = path.resolve(path.dirname(src))
- const destParent = path.resolve(path.dirname(dest))
- if (destParent === srcParent || destParent === path.parse(destParent).root) return cb()
- const callback = (err, destStat) => {
- if (err) {
- if (err.code === 'ENOENT') return cb()
- return cb(err)
- }
- if (areIdentical(srcStat, destStat)) {
- return cb(new Error(errMsg(src, dest, funcName)))
- }
- return checkParentPaths(src, srcStat, destParent, funcName, cb)
- }
- if (nodeSupportsBigInt) fs.stat(destParent, { bigint: true }, callback)
- else fs.stat(destParent, callback)
-}
-
-function checkParentPathsSync (src, srcStat, dest, funcName) {
- const srcParent = path.resolve(path.dirname(src))
- const destParent = path.resolve(path.dirname(dest))
- if (destParent === srcParent || destParent === path.parse(destParent).root) return
- let destStat
- try {
- destStat = statSync(destParent)
- } catch (err) {
- if (err.code === 'ENOENT') return
- throw err
- }
- if (areIdentical(srcStat, destStat)) {
- throw new Error(errMsg(src, dest, funcName))
- }
- return checkParentPathsSync(src, srcStat, destParent, funcName)
-}
-
-function areIdentical (srcStat, destStat) {
- if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
- if (nodeSupportsBigInt || destStat.ino < Number.MAX_SAFE_INTEGER) {
- // definitive answer
- return true
- }
- // Use additional heuristics if we can't use 'bigint'.
- // Different 'ino' could be represented the same if they are >= Number.MAX_SAFE_INTEGER
- // See issue 657
- if (destStat.size === srcStat.size &&
- destStat.mode === srcStat.mode &&
- destStat.nlink === srcStat.nlink &&
- destStat.atimeMs === srcStat.atimeMs &&
- destStat.mtimeMs === srcStat.mtimeMs &&
- destStat.ctimeMs === srcStat.ctimeMs &&
- destStat.birthtimeMs === srcStat.birthtimeMs) {
- // heuristic answer
- return true
- }
- }
- return false
-}
-
-// return true if dest is a subdir of src, otherwise false.
-// It only checks the path strings.
-function isSrcSubdir (src, dest) {
- const srcArr = path.resolve(src).split(path.sep).filter(i => i)
- const destArr = path.resolve(dest).split(path.sep).filter(i => i)
- return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true)
-}
-
-function errMsg (src, dest, funcName) {
- return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`
-}
-
-module.exports = {
- checkPaths,
- checkPathsSync,
- checkParentPaths,
- checkParentPathsSync,
- isSrcSubdir
-}
diff --git a/includes/search/node_modules/fs-extra/lib/util/utimes.js b/includes/search/node_modules/fs-extra/lib/util/utimes.js
deleted file mode 100644
index 75395de..0000000
--- a/includes/search/node_modules/fs-extra/lib/util/utimes.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict'
-
-const fs = require('graceful-fs')
-
-function utimesMillis (path, atime, mtime, callback) {
- // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)
- fs.open(path, 'r+', (err, fd) => {
- if (err) return callback(err)
- fs.futimes(fd, atime, mtime, futimesErr => {
- fs.close(fd, closeErr => {
- if (callback) callback(futimesErr || closeErr)
- })
- })
- })
-}
-
-function utimesMillisSync (path, atime, mtime) {
- const fd = fs.openSync(path, 'r+')
- fs.futimesSync(fd, atime, mtime)
- return fs.closeSync(fd)
-}
-
-module.exports = {
- utimesMillis,
- utimesMillisSync
-}
diff --git a/includes/search/node_modules/fs-extra/package.json b/includes/search/node_modules/fs-extra/package.json
deleted file mode 100644
index 6f7d8dd..0000000
--- a/includes/search/node_modules/fs-extra/package.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "name": "fs-extra",
- "version": "9.1.0",
- "description": "fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.",
- "engines": {
- "node": ">=10"
- },
- "homepage": "https://github.com/jprichardson/node-fs-extra",
- "repository": {
- "type": "git",
- "url": "https://github.com/jprichardson/node-fs-extra"
- },
- "keywords": [
- "fs",
- "file",
- "file system",
- "copy",
- "directory",
- "extra",
- "mkdirp",
- "mkdir",
- "mkdirs",
- "recursive",
- "json",
- "read",
- "write",
- "extra",
- "delete",
- "remove",
- "touch",
- "create",
- "text",
- "output",
- "move",
- "promise"
- ],
- "author": "JP Richardson <jprichardson@gmail.com>",
- "license": "MIT",
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "devDependencies": {
- "coveralls": "^3.0.0",
- "klaw": "^2.1.1",
- "klaw-sync": "^3.0.2",
- "minimist": "^1.1.1",
- "mocha": "^5.0.5",
- "nyc": "^15.0.0",
- "proxyquire": "^2.0.1",
- "read-dir-files": "^0.1.1",
- "standard": "^14.1.0"
- },
- "main": "./lib/index.js",
- "files": [
- "lib/",
- "!lib/**/__tests__/"
- ],
- "scripts": {
- "full-ci": "npm run lint && npm run coverage",
- "coverage": "nyc -r lcovonly npm run unit",
- "coveralls": "coveralls < coverage/lcov.info",
- "lint": "standard",
- "test-find": "find ./lib/**/__tests__ -name *.test.js | xargs mocha",
- "test": "npm run lint && npm run unit",
- "unit": "node test.js"
- }
-}
diff --git a/includes/search/node_modules/function-bind/.editorconfig b/includes/search/node_modules/function-bind/.editorconfig
deleted file mode 100644
index ac29ade..0000000
--- a/includes/search/node_modules/function-bind/.editorconfig
+++ /dev/null
@@ -1,20 +0,0 @@
-root = true
-
-[*]
-indent_style = tab
-indent_size = 4
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-max_line_length = 120
-
-[CHANGELOG.md]
-indent_style = space
-indent_size = 2
-
-[*.json]
-max_line_length = off
-
-[Makefile]
-max_line_length = off
diff --git a/includes/search/node_modules/function-bind/.eslintrc b/includes/search/node_modules/function-bind/.eslintrc
deleted file mode 100644
index 9b33d8e..0000000
--- a/includes/search/node_modules/function-bind/.eslintrc
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "root": true,
-
- "extends": "@ljharb",
-
- "rules": {
- "func-name-matching": 0,
- "indent": [2, 4],
- "max-nested-callbacks": [2, 3],
- "max-params": [2, 3],
- "max-statements": [2, 20],
- "no-new-func": [1],
- "strict": [0]
- }
-}
diff --git a/includes/search/node_modules/function-bind/.jscs.json b/includes/search/node_modules/function-bind/.jscs.json
deleted file mode 100644
index 8c44794..0000000
--- a/includes/search/node_modules/function-bind/.jscs.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{
- "es3": true,
-
- "additionalRules": [],
-
- "requireSemicolons": true,
-
- "disallowMultipleSpaces": true,
-
- "disallowIdentifierNames": [],
-
- "requireCurlyBraces": {
- "allExcept": [],
- "keywords": ["if", "else", "for", "while", "do", "try", "catch"]
- },
-
- "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
-
- "disallowSpaceAfterKeywords": [],
-
- "disallowSpaceBeforeComma": true,
- "disallowSpaceAfterComma": false,
- "disallowSpaceBeforeSemicolon": true,
-
- "disallowNodeTypes": [
- "DebuggerStatement",
- "ForInStatement",
- "LabeledStatement",
- "SwitchCase",
- "SwitchStatement",
- "WithStatement"
- ],
-
- "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
-
- "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
- "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
- "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-
- "requireSpaceBetweenArguments": true,
-
- "disallowSpacesInsideParentheses": true,
-
- "disallowSpacesInsideArrayBrackets": true,
-
- "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
-
- "disallowSpaceAfterObjectKeys": true,
-
- "requireCommaBeforeLineBreak": true,
-
- "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
- "requireSpaceAfterPrefixUnaryOperators": [],
-
- "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
- "requireSpaceBeforePostfixUnaryOperators": [],
-
- "disallowSpaceBeforeBinaryOperators": [],
- "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-
- "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
- "disallowSpaceAfterBinaryOperators": [],
-
- "disallowImplicitTypeConversion": ["binary", "string"],
-
- "disallowKeywords": ["with", "eval"],
-
- "requireKeywordsOnNewLine": [],
- "disallowKeywordsOnNewLine": ["else"],
-
- "requireLineFeedAtFileEnd": true,
-
- "disallowTrailingWhitespace": true,
-
- "disallowTrailingComma": true,
-
- "excludeFiles": ["node_modules/**", "vendor/**"],
-
- "disallowMultipleLineStrings": true,
-
- "requireDotNotation": { "allExcept": ["keywords"] },
-
- "requireParenthesesAroundIIFE": true,
-
- "validateLineBreaks": "LF",
-
- "validateQuoteMarks": {
- "escape": true,
- "mark": "'"
- },
-
- "disallowOperatorBeforeLineBreak": [],
-
- "requireSpaceBeforeKeywords": [
- "do",
- "for",
- "if",
- "else",
- "switch",
- "case",
- "try",
- "catch",
- "finally",
- "while",
- "with",
- "return"
- ],
-
- "validateAlignedFunctionParameters": {
- "lineBreakAfterOpeningBraces": true,
- "lineBreakBeforeClosingBraces": true
- },
-
- "requirePaddingNewLinesBeforeExport": true,
-
- "validateNewlineAfterArrayElements": {
- "maximum": 8
- },
-
- "requirePaddingNewLinesAfterUseStrict": true,
-
- "disallowArrowFunctions": true,
-
- "disallowMultiLineTernary": true,
-
- "validateOrderInObjectKeys": "asc-insensitive",
-
- "disallowIdenticalDestructuringNames": true,
-
- "disallowNestedTernaries": { "maxLevel": 1 },
-
- "requireSpaceAfterComma": { "allExcept": ["trailing"] },
- "requireAlignedMultilineParams": false,
-
- "requireSpacesInGenerator": {
- "afterStar": true
- },
-
- "disallowSpacesInGenerator": {
- "beforeStar": true
- },
-
- "disallowVar": false,
-
- "requireArrayDestructuring": false,
-
- "requireEnhancedObjectLiterals": false,
-
- "requireObjectDestructuring": false,
-
- "requireEarlyReturn": false,
-
- "requireCapitalizedConstructorsNew": {
- "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
- },
-
- "requireImportAlphabetized": false,
-
- "requireSpaceBeforeObjectValues": true,
- "requireSpaceBeforeDestructuredValues": true,
-
- "disallowSpacesInsideTemplateStringPlaceholders": true,
-
- "disallowArrayDestructuringReturn": false,
-
- "requireNewlineBeforeSingleStatementsInIf": false,
-
- "disallowUnusedVariables": true,
-
- "requireSpacesInsideImportedObjectBraces": true,
-
- "requireUseStrict": true
-}
-
diff --git a/includes/search/node_modules/function-bind/.npmignore b/includes/search/node_modules/function-bind/.npmignore
deleted file mode 100644
index dbb555f..0000000
--- a/includes/search/node_modules/function-bind/.npmignore
+++ /dev/null
@@ -1,22 +0,0 @@
-# gitignore
-.DS_Store
-.monitor
-.*.swp
-.nodemonignore
-releases
-*.log
-*.err
-fleet.json
-public/browserify
-bin/*.json
-.bin
-build
-compile
-.lock-wscript
-coverage
-node_modules
-
-# Only apps should have lockfiles
-npm-shrinkwrap.json
-package-lock.json
-yarn.lock
diff --git a/includes/search/node_modules/function-bind/.travis.yml b/includes/search/node_modules/function-bind/.travis.yml
deleted file mode 100644
index 85f70d2..0000000
--- a/includes/search/node_modules/function-bind/.travis.yml
+++ /dev/null
@@ -1,168 +0,0 @@
-language: node_js
-os:
- - linux
-node_js:
- - "8.4"
- - "7.10"
- - "6.11"
- - "5.12"
- - "4.8"
- - "iojs-v3.3"
- - "iojs-v2.5"
- - "iojs-v1.8"
- - "0.12"
- - "0.10"
- - "0.8"
-before_install:
- - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then npm install -g npm@1.3 ; elif [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
- - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then if [ "${TRAVIS_NODE_VERSION%${TRAVIS_NODE_VERSION#[0-9]}}" = "0" ] || [ "${TRAVIS_NODE_VERSION:0:4}" = "iojs" ]; then npm install -g npm@4.5 ; else npm install -g npm; fi; fi'
-install:
- - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then nvm install 0.8 && npm install -g npm@1.3 && npm install -g npm@1.4.28 && npm install -g npm@2 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;'
-script:
- - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
- - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
- - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
- - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
-sudo: false
-env:
- - TEST=true
-matrix:
- fast_finish: true
- include:
- - node_js: "node"
- env: PRETEST=true
- - node_js: "4"
- env: COVERAGE=true
- - node_js: "8.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "8.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "8.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "8.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.9"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.8"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.7"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.5"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.10"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.9"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.8"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.7"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.5"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.11"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.10"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.9"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.8"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.7"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.5"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.7"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.5"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v3.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v3.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v3.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.7"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.5"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "0.11"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "0.9"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "0.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "0.4"
- env: TEST=true ALLOW_FAILURE=true
- allow_failures:
- - os: osx
- - env: TEST=true ALLOW_FAILURE=true
diff --git a/includes/search/node_modules/function-bind/LICENSE b/includes/search/node_modules/function-bind/LICENSE
deleted file mode 100644
index 62d6d23..0000000
--- a/includes/search/node_modules/function-bind/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2013 Raynos.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
diff --git a/includes/search/node_modules/function-bind/README.md b/includes/search/node_modules/function-bind/README.md
deleted file mode 100644
index 81862a0..0000000
--- a/includes/search/node_modules/function-bind/README.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# function-bind
-
-<!--
- [![build status][travis-svg]][travis-url]
- [![NPM version][npm-badge-svg]][npm-url]
- [![Coverage Status][5]][6]
- [![gemnasium Dependency Status][7]][8]
- [![Dependency status][deps-svg]][deps-url]
- [![Dev Dependency status][dev-deps-svg]][dev-deps-url]
--->
-
-<!-- [![browser support][11]][12] -->
-
-Implementation of function.prototype.bind
-
-## Example
-
-I mainly do this for unit tests I run on phantomjs.
-PhantomJS does not have Function.prototype.bind :(
-
-```js
-Function.prototype.bind = require("function-bind")
-```
-
-## Installation
-
-`npm install function-bind`
-
-## Contributors
-
- - Raynos
-
-## MIT Licenced
-
- [travis-svg]: https://travis-ci.org/Raynos/function-bind.svg
- [travis-url]: https://travis-ci.org/Raynos/function-bind
- [npm-badge-svg]: https://badge.fury.io/js/function-bind.svg
- [npm-url]: https://npmjs.org/package/function-bind
- [5]: https://coveralls.io/repos/Raynos/function-bind/badge.png
- [6]: https://coveralls.io/r/Raynos/function-bind
- [7]: https://gemnasium.com/Raynos/function-bind.png
- [8]: https://gemnasium.com/Raynos/function-bind
- [deps-svg]: https://david-dm.org/Raynos/function-bind.svg
- [deps-url]: https://david-dm.org/Raynos/function-bind
- [dev-deps-svg]: https://david-dm.org/Raynos/function-bind/dev-status.svg
- [dev-deps-url]: https://david-dm.org/Raynos/function-bind#info=devDependencies
- [11]: https://ci.testling.com/Raynos/function-bind.png
- [12]: https://ci.testling.com/Raynos/function-bind
diff --git a/includes/search/node_modules/function-bind/implementation.js b/includes/search/node_modules/function-bind/implementation.js
deleted file mode 100644
index cc4daec..0000000
--- a/includes/search/node_modules/function-bind/implementation.js
+++ /dev/null
@@ -1,52 +0,0 @@
-'use strict';
-
-/* eslint no-invalid-this: 1 */
-
-var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
-var slice = Array.prototype.slice;
-var toStr = Object.prototype.toString;
-var funcType = '[object Function]';
-
-module.exports = function bind(that) {
- var target = this;
- if (typeof target !== 'function' || toStr.call(target) !== funcType) {
- throw new TypeError(ERROR_MESSAGE + target);
- }
- var args = slice.call(arguments, 1);
-
- var bound;
- var binder = function () {
- if (this instanceof bound) {
- var result = target.apply(
- this,
- args.concat(slice.call(arguments))
- );
- if (Object(result) === result) {
- return result;
- }
- return this;
- } else {
- return target.apply(
- that,
- args.concat(slice.call(arguments))
- );
- }
- };
-
- var boundLength = Math.max(0, target.length - args.length);
- var boundArgs = [];
- for (var i = 0; i < boundLength; i++) {
- boundArgs.push('$' + i);
- }
-
- bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
-
- if (target.prototype) {
- var Empty = function Empty() {};
- Empty.prototype = target.prototype;
- bound.prototype = new Empty();
- Empty.prototype = null;
- }
-
- return bound;
-};
diff --git a/includes/search/node_modules/function-bind/index.js b/includes/search/node_modules/function-bind/index.js
deleted file mode 100644
index 3bb6b96..0000000
--- a/includes/search/node_modules/function-bind/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-'use strict';
-
-var implementation = require('./implementation');
-
-module.exports = Function.prototype.bind || implementation;
diff --git a/includes/search/node_modules/function-bind/package.json b/includes/search/node_modules/function-bind/package.json
deleted file mode 100644
index 20a1727..0000000
--- a/includes/search/node_modules/function-bind/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "name": "function-bind",
- "version": "1.1.1",
- "description": "Implementation of Function.prototype.bind",
- "keywords": [
- "function",
- "bind",
- "shim",
- "es5"
- ],
- "author": "Raynos <raynos2@gmail.com>",
- "repository": "git://github.com/Raynos/function-bind.git",
- "main": "index",
- "homepage": "https://github.com/Raynos/function-bind",
- "contributors": [
- {
- "name": "Raynos"
- },
- {
- "name": "Jordan Harband",
- "url": "https://github.com/ljharb"
- }
- ],
- "bugs": {
- "url": "https://github.com/Raynos/function-bind/issues",
- "email": "raynos2@gmail.com"
- },
- "dependencies": {},
- "devDependencies": {
- "@ljharb/eslint-config": "^12.2.1",
- "covert": "^1.1.0",
- "eslint": "^4.5.0",
- "jscs": "^3.0.7",
- "tape": "^4.8.0"
- },
- "license": "MIT",
- "scripts": {
- "pretest": "npm run lint",
- "test": "npm run tests-only",
- "posttest": "npm run coverage -- --quiet",
- "tests-only": "node test",
- "coverage": "covert test/*.js",
- "lint": "npm run jscs && npm run eslint",
- "jscs": "jscs *.js */*.js",
- "eslint": "eslint *.js */*.js"
- },
- "testling": {
- "files": "test/index.js",
- "browsers": [
- "ie/8..latest",
- "firefox/16..latest",
- "firefox/nightly",
- "chrome/22..latest",
- "chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "android-browser/4.2..latest"
- ]
- }
-}
diff --git a/includes/search/node_modules/function-bind/test/.eslintrc b/includes/search/node_modules/function-bind/test/.eslintrc
deleted file mode 100644
index 8a56d5b..0000000
--- a/includes/search/node_modules/function-bind/test/.eslintrc
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "rules": {
- "array-bracket-newline": 0,
- "array-element-newline": 0,
- "max-statements-per-line": [2, { "max": 2 }],
- "no-invalid-this": 0,
- "no-magic-numbers": 0,
- }
-}
diff --git a/includes/search/node_modules/function-bind/test/index.js b/includes/search/node_modules/function-bind/test/index.js
deleted file mode 100644
index 2edecce..0000000
--- a/includes/search/node_modules/function-bind/test/index.js
+++ /dev/null
@@ -1,252 +0,0 @@
-// jscs:disable requireUseStrict
-
-var test = require('tape');
-
-var functionBind = require('../implementation');
-var getCurrentContext = function () { return this; };
-
-test('functionBind is a function', function (t) {
- t.equal(typeof functionBind, 'function');
- t.end();
-});
-
-test('non-functions', function (t) {
- var nonFunctions = [true, false, [], {}, 42, 'foo', NaN, /a/g];
- t.plan(nonFunctions.length);
- for (var i = 0; i < nonFunctions.length; ++i) {
- try { functionBind.call(nonFunctions[i]); } catch (ex) {
- t.ok(ex instanceof TypeError, 'throws when given ' + String(nonFunctions[i]));
- }
- }
- t.end();
-});
-
-test('without a context', function (t) {
- t.test('binds properly', function (st) {
- var args, context;
- var namespace = {
- func: functionBind.call(function () {
- args = Array.prototype.slice.call(arguments);
- context = this;
- })
- };
- namespace.func(1, 2, 3);
- st.deepEqual(args, [1, 2, 3]);
- st.equal(context, getCurrentContext.call());
- st.end();
- });
-
- t.test('binds properly, and still supplies bound arguments', function (st) {
- var args, context;
- var namespace = {
- func: functionBind.call(function () {
- args = Array.prototype.slice.call(arguments);
- context = this;
- }, undefined, 1, 2, 3)
- };
- namespace.func(4, 5, 6);
- st.deepEqual(args, [1, 2, 3, 4, 5, 6]);
- st.equal(context, getCurrentContext.call());
- st.end();
- });
-
- t.test('returns properly', function (st) {
- var args;
- var namespace = {
- func: functionBind.call(function () {
- args = Array.prototype.slice.call(arguments);
- return this;
- }, null)
- };
- var context = namespace.func(1, 2, 3);
- st.equal(context, getCurrentContext.call(), 'returned context is namespaced context');
- st.deepEqual(args, [1, 2, 3], 'passed arguments are correct');
- st.end();
- });
-
- t.test('returns properly with bound arguments', function (st) {
- var args;
- var namespace = {
- func: functionBind.call(function () {
- args = Array.prototype.slice.call(arguments);
- return this;
- }, null, 1, 2, 3)
- };
- var context = namespace.func(4, 5, 6);
- st.equal(context, getCurrentContext.call(), 'returned context is namespaced context');
- st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct');
- st.end();
- });
-
- t.test('called as a constructor', function (st) {
- var thunkify = function (value) {
- return function () { return value; };
- };
- st.test('returns object value', function (sst) {
- var expectedReturnValue = [1, 2, 3];
- var Constructor = functionBind.call(thunkify(expectedReturnValue), null);
- var result = new Constructor();
- sst.equal(result, expectedReturnValue);
- sst.end();
- });
-
- st.test('does not return primitive value', function (sst) {
- var Constructor = functionBind.call(thunkify(42), null);
- var result = new Constructor();
- sst.notEqual(result, 42);
- sst.end();
- });
-
- st.test('object from bound constructor is instance of original and bound constructor', function (sst) {
- var A = function (x) {
- this.name = x || 'A';
- };
- var B = functionBind.call(A, null, 'B');
-
- var result = new B();
- sst.ok(result instanceof B, 'result is instance of bound constructor');
- sst.ok(result instanceof A, 'result is instance of original constructor');
- sst.end();
- });
-
- st.end();
- });
-
- t.end();
-});
-
-test('with a context', function (t) {
- t.test('with no bound arguments', function (st) {
- var args, context;
- var boundContext = {};
- var namespace = {
- func: functionBind.call(function () {
- args = Array.prototype.slice.call(arguments);
- context = this;
- }, boundContext)
- };
- namespace.func(1, 2, 3);
- st.equal(context, boundContext, 'binds a context properly');
- st.deepEqual(args, [1, 2, 3], 'supplies passed arguments');
- st.end();
- });
-
- t.test('with bound arguments', function (st) {
- var args, context;
- var boundContext = {};
- var namespace = {
- func: functionBind.call(function () {
- args = Array.prototype.slice.call(arguments);
- context = this;
- }, boundContext, 1, 2, 3)
- };
- namespace.func(4, 5, 6);
- st.equal(context, boundContext, 'binds a context properly');
- st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'supplies bound and passed arguments');
- st.end();
- });
-
- t.test('returns properly', function (st) {
- var boundContext = {};
- var args;
- var namespace = {
- func: functionBind.call(function () {
- args = Array.prototype.slice.call(arguments);
- return this;
- }, boundContext)
- };
- var context = namespace.func(1, 2, 3);
- st.equal(context, boundContext, 'returned context is bound context');
- st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context');
- st.deepEqual(args, [1, 2, 3], 'passed arguments are correct');
- st.end();
- });
-
- t.test('returns properly with bound arguments', function (st) {
- var boundContext = {};
- var args;
- var namespace = {
- func: functionBind.call(function () {
- args = Array.prototype.slice.call(arguments);
- return this;
- }, boundContext, 1, 2, 3)
- };
- var context = namespace.func(4, 5, 6);
- st.equal(context, boundContext, 'returned context is bound context');
- st.notEqual(context, getCurrentContext.call(), 'returned context is not lexical context');
- st.deepEqual(args, [1, 2, 3, 4, 5, 6], 'passed arguments are correct');
- st.end();
- });
-
- t.test('passes the correct arguments when called as a constructor', function (st) {
- var expected = { name: 'Correct' };
- var namespace = {
- Func: functionBind.call(function (arg) {
- return arg;
- }, { name: 'Incorrect' })
- };
- var returned = new namespace.Func(expected);
- st.equal(returned, expected, 'returns the right arg when called as a constructor');
- st.end();
- });
-
- t.test('has the new instance\'s context when called as a constructor', function (st) {
- var actualContext;
- var expectedContext = { foo: 'bar' };
- var namespace = {
- Func: functionBind.call(function () {
- actualContext = this;
- }, expectedContext)
- };
- var result = new namespace.Func();
- st.equal(result instanceof namespace.Func, true);
- st.notEqual(actualContext, expectedContext);
- st.end();
- });
-
- t.end();
-});
-
-test('bound function length', function (t) {
- t.test('sets a correct length without thisArg', function (st) {
- var subject = functionBind.call(function (a, b, c) { return a + b + c; });
- st.equal(subject.length, 3);
- st.equal(subject(1, 2, 3), 6);
- st.end();
- });
-
- t.test('sets a correct length with thisArg', function (st) {
- var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {});
- st.equal(subject.length, 3);
- st.equal(subject(1, 2, 3), 6);
- st.end();
- });
-
- t.test('sets a correct length without thisArg and first argument', function (st) {
- var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1);
- st.equal(subject.length, 2);
- st.equal(subject(2, 3), 6);
- st.end();
- });
-
- t.test('sets a correct length with thisArg and first argument', function (st) {
- var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1);
- st.equal(subject.length, 2);
- st.equal(subject(2, 3), 6);
- st.end();
- });
-
- t.test('sets a correct length without thisArg and too many arguments', function (st) {
- var subject = functionBind.call(function (a, b, c) { return a + b + c; }, undefined, 1, 2, 3, 4);
- st.equal(subject.length, 0);
- st.equal(subject(), 6);
- st.end();
- });
-
- t.test('sets a correct length with thisArg and too many arguments', function (st) {
- var subject = functionBind.call(function (a, b, c) { return a + b + c; }, {}, 1, 2, 3, 4);
- st.equal(subject.length, 0);
- st.equal(subject(), 6);
- st.end();
- });
-});
diff --git a/includes/search/node_modules/fuse.js/CHANGELOG.md b/includes/search/node_modules/fuse.js/CHANGELOG.md
deleted file mode 100644
index 4e21b03..0000000
--- a/includes/search/node_modules/fuse.js/CHANGELOG.md
+++ /dev/null
@@ -1,326 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-
-### [6.6.2](https://github.com/krisk/Fuse/compare/v6.6.1...v6.6.2) (2022-05-11)
-
-
-### Bug Fixes
-
-* value fetched at the end must be a string ([1de1dff](https://github.com/krisk/Fuse/commit/1de1dffa3f16992e21d817370e2b5d9611d3ad6d)), closes [#661](https://github.com/krisk/Fuse/issues/661)
-
-### [6.6.1](https://github.com/krisk/Fuse/compare/v6.6.0...v6.6.1) (2022-05-06)
-
-
-### Bug Fixes
-
-* getFn to FuseOptionKeyObject ([80b87a9](https://github.com/krisk/Fuse/commit/80b87a9035b3dcecc92dc913ceb160045e1a95bd)), closes [#655](https://github.com/krisk/Fuse/issues/655)
-* **typescript:** type definition for `FuseOptionKeyObject, fixes [#655](https://github.com/krisk/Fuse/issues/655) ([4acabb6](https://github.com/krisk/Fuse/commit/4acabb686f9a1a95adc766bc2fb387c0ce0b477c))
-* **typescript:** type definition for FuseOptionKeyObject ([0a790b5](https://github.com/krisk/Fuse/commit/0a790b516efec2e6c5539bdd40d04889e6252dfe)), closes [#655](https://github.com/krisk/Fuse/issues/655) [#656](https://github.com/krisk/Fuse/issues/656)
-
-## [6.6.0](https://github.com/krisk/Fuse/compare/v6.5.3...v6.6.0) (2022-05-03)
-
-
-### Features
-
-* allow passing getFn for a specific key ([1d445b9](https://github.com/krisk/Fuse/commit/1d445b9999e26d6eefecbdd333d46be01aff06e5)), closes [#627](https://github.com/krisk/Fuse/issues/627)
-
-
-### Bug Fixes
-
-* excessive splitting in parseQuery ([2c78022](https://github.com/krisk/Fuse/commit/2c78022c6ccb424e1013dc486649a7d6388df193))
-* type mismatch on toJSON ([f5425ea](https://github.com/krisk/Fuse/commit/f5425ea1bd6b95eae912b8dab68c9e3cac0ad27f))
-
-### [6.5.3](https://github.com/krisk/Fuse/compare/v6.5.2...v6.5.3) (2021-12-23)
-
-
-### Bug Fixes
-
-* **logical:** scoring for logical OR ([6f6af51](https://github.com/krisk/Fuse/commit/6f6af51cc39058fafea6b126f7120afc4f7c192a)), closes [#593](https://github.com/krisk/Fuse/issues/593)
-
-### [6.5.2](https://github.com/krisk/Fuse/compare/v6.5.1...v6.5.2) (2021-12-23)
-
-### [6.5.1](https://github.com/krisk/Fuse/compare/v6.5.0...v6.5.1) (2021-12-23)
-
-
-### Bug Fixes
-
-* rollback min node version ([9918f67](https://github.com/krisk/Fuse/commit/9918f67ba9b6b9b54e53576312fa33a51f428a9d))
-
-## [6.5.0](https://github.com/krisk/Fuse/compare/v6.4.6...v6.5.0) (2021-12-22)
-
-
-### Features
-
-* **scoring:** field length norm weight ([a9e0080](https://github.com/krisk/Fuse/commit/a9e00804497a1bfd7a94040520417825c085c945))
-
-
-### Bug Fixes
-
-* **typescript:** add config declaration to types ([2f4de0c](https://github.com/krisk/Fuse/commit/2f4de0c5ce061808f460de7f399b56a06539d4d5))
-
-### [6.4.6](https://github.com/krisk/Fuse/compare/v6.4.5...v6.4.6) (2021-01-05)
-
-
-### Bug Fixes
-
-* **typescript:** fix search typings ([94766b2](https://github.com/krisk/Fuse/commit/94766b2ffcc2be0e5f15daa9a29cd92adbe2647a)), closes [#527](https://github.com/krisk/Fuse/issues/527)
-
-### [6.4.5](https://github.com/krisk/Fuse/compare/v6.4.4...v6.4.5) (2021-01-01)
-
-
-### Bug Fixes
-
-* **ts:** export FuseIndex type ([2e60bee](https://github.com/krisk/Fuse/commit/2e60bee242c7b82f0d014a3a35281b34bc6b62fb)), closes [#519](https://github.com/krisk/Fuse/issues/519)
-
-### [6.4.4](https://github.com/krisk/Fuse/compare/v6.4.3...v6.4.4) (2020-12-29)
-
-
-### Bug Fixes
-
-* **extended:** correctly score include-match results ([443c863](https://github.com/krisk/Fuse/commit/443c863c44a48225510057d7597cb743fda2d25f)), closes [#522](https://github.com/krisk/Fuse/issues/522)
-
-### [6.4.3](https://github.com/krisk/Fuse/compare/v6.4.2...v6.4.3) (2020-10-30)
-
-
-### Bug Fixes
-
-* **extended:** ignoreLocation when useExtendedSearch is true ([8f67ac9](https://github.com/krisk/Fuse/commit/8f67ac985d3440c20d93ce1e1c5ba66f384ea9bf)), closes [#465](https://github.com/krisk/Fuse/issues/465)
-
-### [6.4.2](https://github.com/krisk/Fuse/compare/v6.4.1...v6.4.2) (2020-10-20)
-
-
-### Bug Fixes
-
-* if null in array ([740a500](https://github.com/krisk/Fuse/commit/740a5004763d84b285075a2cece4f37bc5fa2830))
-
-### [6.4.1](https://github.com/krisk/Fuse/compare/v6.4.0...v6.4.1) (2020-07-26)
-
-
-### Bug Fixes
-
-* handle booleans in the data ([226d868](https://github.com/krisk/Fuse/commit/226d868a1102402e1e773db305ddd3928ae92f79)), closes [#469](https://github.com/krisk/Fuse/issues/469)
-
-## [6.4.0](https://github.com/krisk/Fuse/compare/v6.3.1...v6.4.0) (2020-06-28)
-
-
-### Features
-
-* **extended:** add ability to search actual exact string ([350283f](https://github.com/krisk/Fuse/commit/350283f45a9affe05c6b3176bb5a5a037916de58))
-
-### [6.3.1](https://github.com/krisk/Fuse/compare/v6.3.0...v6.3.1) (2020-06-24)
-
-
-### Bug Fixes
-
-* **logical:** scores in logical query operators are ignored ([e357229](https://github.com/krisk/Fuse/commit/e357229846fff585707903c93f556d1562fbabba)), closes [#449](https://github.com/krisk/Fuse/issues/449)
-
-## [6.3.0](https://github.com/krisk/Fuse/compare/v6.2.1...v6.3.0) (2020-06-23)
-
-
-### Features
-
-* provide alternative array notation for nested paths ([7077fbe](https://github.com/krisk/Fuse/commit/7077fbe5f40872f9555645dbad2e6729ca55a5d4)), closes [#432](https://github.com/krisk/Fuse/issues/432)
-
-
-### Bug Fixes
-
-* **typescript:** add types for string and object together for the key property ([85fb211](https://github.com/krisk/Fuse/commit/85fb211a22bf5921ecefab9ecf3f8e2647f46b49))
-* **typescript:** add typing for nested paths with array notation ([dfa4823](https://github.com/krisk/Fuse/commit/dfa48238f9a28600fd36677f958f43bb3cab4c03))
-
-# Version 6.0.0
-
-- Added [logical query expressions](https://fusejs.io/api/query.html) (#411)
-- Added ability to dynamically add/remove items (#412)
-- Mix different `options:key` types during intialization (#413)
-- Improved indexing performances, as well storage savings (#405, #407)
-
-# Version 5.2.0
-
-- Addresses #390, #376, #382, #385
-- Removed ngram search and extended bitap to search long patterns
-
-# Version 5.0.9-beta
-
-- Fixed Fuse global name. Erroenously set as 'Fuse.js'
-
-# Version 5.0.8-beta
-
-- Changed bundler to Rollup.
-- Added ES6 modules for bundlers and browsers (`fuse.esm.js`) (fixed [#262](#262))
-- Added CommonJS builds (`fuse.common.js`)
-
-## Breaking Changes
-
-- The minimified version is finally actually called `fuse.min.js`
-
-# Version 5.0.7-beta
-
-- Fixed (#363)
-
-# Version 5.0.6-beta
-
-- Fixed (#357)
-
-# Version 5.0.3-beta
-
-- A couple of fixes, courtesy of [Daniel Dickinson](https://github.com/cshoredaniel):
- - Generate multiple targets with webpack (#359)
- - Fixed TypeError (#360)
-
-# Version 5.0.2-beta
-
-- Added indexing for increased performance over large lists
- - Added `Fuse.createIndex`, which created and returns an index. This function can be used to pre-generate the index, which you can then save, and ultimately pass to the `Fuse` instance.
-
-## Breaking Changes
-
-- Removed `id` option
-- Changed format of the search results
-- Updated TypeScript definitions
-
-# Version 5.0.1-beta
-
-- Removed `matchAllTokens` option.
-
-# Version 5.0.0-beta
-
-- Added ability to search patterns longer > 32 characters
-- Removed `maxPatternLength` option
-
-# Version 4.1.0-beta
-
-- Perf optimization on nested array search
-
-# Version 4.0.4-beta
-
-- Re-added license information
-
-# Version 4.0.3-beta
-
-- Increased Node version
-
-# Version 4.0.2-beta
-
-- Added missing tests
-
-# Version 4.0.1-beta
-
-- Removed unused codepath
-- Fixed case sensititivity check
-- Upgraded dev dependencies
-
-# Version 4.0.0-beta
-
-- Added extended search [Discussion](https://github.com/krisk/Fuse/issues/356)
-- Removed tokenization [Discussion](https://github.com/krisk/Fuse/issues/355)
-
-# Version 3.6.0
-
-- Improved error handling for keys
-
-# Version 3.5.0
-
-- Fixed #341, adjusting weights into the calculation
-- Improved performance by ~10% (really can only be seen when you have 10k+ items)
-
-# Version 3.4.3
-
-- Fixed #261
-- Rewrote tests to Jest framework
-- Wrote tests for TypeScript typings
-- Cleanup build
-
-# Version 3.4.2
-
-- Fixed #288
-
-# Version 3.4.1
-
-- Ensured `dist/` content is production ready (both full and min versions) #283
-
-# Version 3.4.0
-
-- Upgraded build tool to Webpack 4. New `dist/` output.
-
-# Version 3.3.1
-
-- Fixed the circular JSON TypeError (#197). Thanks [ThinkTankShark](https://github.com/ThinkTankShark)!
-
-# Version 3.2.1
-
-- Fixed issue in which more fuzzy matches would weaken a score instead of strengthening it (#233)
-
-# Version 3.2.0
-
-- Give better result for exact match when using weighted keys (#192)
-
-# Version 3.1.0
-
-- Added match index location for array key (#183)
-- Allow searching deep nested numbers (#189)
-
-# Version 3.0.5
-
-- Escape special characters in search pattern (#168)
-
-# Version 3.0.4
-
-- Random bug fixes (#162)
-
-# Version 3.0.0
-
-- Removed Bower support
-- Modified library into a more more palatable architecture, where the Bitap portion is now its own separate module.
-
-### BREAKING CHANGES
-
-- Removed `include` option in favor of more explicit booleans: `includeScore` and `includeMatches`. Both are `false` by default.
-- Removed `searchFn` option, as this (for now) will remain a Bitap based solution
-
-# Version 2.7.4
-
-- Reverted to previous version, thus fixing breaking changes (a little bit of a version match here)
-
-# Version 2.6.2
-
-- Revert back to previous version
-
-# Version 2.6.2
-
-- Fix typings based on TypeScript guidelines (#129)
-
-# Version 2.6.0
-
-- Added Typescript definition
-- Added ability to set min/max matched character lengths when returning the matched indices (#122)
-
-# Version 2.5.0
-
-- Added option to search by matching all tokens (in every record) when `matchAllTokens:true` (#95)
-
-# Version 2.3.0
-
-- Added token separator to options, when `tokenize:true` (#93)
-- General code clean up (#88)
-- Bunch of other bug fixes
-
-# Version 2.2.0
-
-- Added option to include matched indices (#6)
-- Added ability to search with weighted keys (#62)
-
-# Version 2.1.0-beta
-
-- Added ability to search with weighted keys (#62)
-
-# Version 2.0.0
-
-- Modified search algorithm to search individual words AND the full string, computing the final score as a function of both. This yields better scoring accuracy (#41)
-- Changed exact substrings to not have a score of zero. That is searching for "hell" in "hello" will not yield a score of zero, while searching for "hello" will (#63)
-- Added `verbose` option, which will print to the console useful information, mostly for debugging
-- Improved code structure.
-- Added version information within Fuse itself
-- Added this Changelog (#64)
-- Added fallback when pattern length is greater than machine word length (i.e, > 32 characters) (#38)
-- Allowed results with a value of 0 to be returned (#73)
diff --git a/includes/search/node_modules/fuse.js/LICENSE b/includes/search/node_modules/fuse.js/LICENSE
deleted file mode 100644
index 453d70b..0000000
--- a/includes/search/node_modules/fuse.js/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright 2017 Kirollos Risk
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/includes/search/node_modules/fuse.js/README.md b/includes/search/node_modules/fuse.js/README.md
deleted file mode 100644
index 2ef3110..0000000
--- a/includes/search/node_modules/fuse.js/README.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# Fuse.js
-
-![Node.js CI](https://github.com/krisk/Fuse/workflows/Node.js%20CI/badge.svg)
-[![Version](https://img.shields.io/npm/v/fuse.js.svg)](https://www.npmjs.com/package/fuse.js)
-[![Downloads](https://img.shields.io/npm/dm/fuse.js.svg)](https://npmcharts.com/compare/fuse.js?minimal=tru)
-[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
-[![Contributors](https://img.shields.io/github/contributors/krisk/fuse.svg)](https://github.com/krisk/Fuse/graphs/contributors)
-![License](https://img.shields.io/npm/l/fuse.js.svg)
-
-## Supporting Fuse.js
-
-Through contributions, donations, and sponsorship, you allow Fuse.js to thrive. Also, you will be recognized as a beacon of support to open-source developers.
-
-- [Become a backer or sponsor on **GitHub**.](https://github.com/sponsors/krisk)
-- [Become a backer or sponsor on **Patreon**.](https://patreon.com/fusejs)
-- [One-time donation via **PayPal**.](https://www.paypal.me/kirorisk)
-
----
-
-<h3 align="center">Silver Sponsors</h3>
-<!--Silver start-->
-<table>
-<tbody>
- <tr>
- <td align="center" valign="middle">
- <a href="https://www.worksome.com" target="_blank">
- <img width="222px" src="https://raw.githubusercontent.com/krisk/Fuse/7a0d77d85ac90063575613b6a738f418b624357f/docs/.vuepress/public/assets/img/sponsors/worksome.svg">
- </a>
- </td>
- </tr>
-</body>
-</table>
-<!--Silver end-->
-
----
-
-## Introduction
-
-Fuse.js is a lightweight fuzzy-search, in JavaScript, with zero dependencies.
-
-### Browser Compatibility
-
-Fuse.js supports all browsers that are [ES5-compliant](http://kangax.github.io/compat-table/es5/) (IE8 and below are not supported).
-
-## Documentation
-
-To check out a [live demo](https://fusejs.io/demo.html) and docs, visit [fusejs.io](https://fusejs.io).
-
-## Develop
-
-Here's a separate document for [developers](https://github.com/krisk/Fuse/blob/master/DEVELOPERS.md).
-
-## Contribute
-
-We've set up a separate document for our
-[contribution guidelines](https://github.com/krisk/Fuse/blob/master/CONTRIBUTING.md).
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.basic.common.js b/includes/search/node_modules/fuse.js/dist/fuse.basic.common.js
deleted file mode 100644
index 5b2adf9..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.basic.common.js
+++ /dev/null
@@ -1,1467 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-
-'use strict';
-
-function ownKeys(object, enumerableOnly) {
- var keys = Object.keys(object);
-
- if (Object.getOwnPropertySymbols) {
- var symbols = Object.getOwnPropertySymbols(object);
- enumerableOnly && (symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- })), keys.push.apply(keys, symbols);
- }
-
- return keys;
-}
-
-function _objectSpread2(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = null != arguments[i] ? arguments[i] : {};
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
- _defineProperty(target, key, source[key]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
- });
- }
-
- return target;
-}
-
-function _typeof(obj) {
- "@babel/helpers - typeof";
-
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
- return typeof obj;
- } : function (obj) {
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- }, _typeof(obj);
-}
-
-function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
-}
-
-function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
-}
-
-function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- Object.defineProperty(Constructor, "prototype", {
- writable: false
- });
- return Constructor;
-}
-
-function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- } else {
- obj[key] = value;
- }
-
- return obj;
-}
-
-function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
-}
-
-function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
-}
-
-function _iterableToArray(iter) {
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
-}
-
-function _unsupportedIterableToArray(o, minLen) {
- if (!o) return;
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor) n = o.constructor.name;
- if (n === "Map" || n === "Set") return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
-}
-
-function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length;
-
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-
- return arr2;
-}
-
-function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
-}
-
-function isArray(value) {
- return !Array.isArray ? getTag(value) === '[object Array]' : Array.isArray(value);
-} // Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js
-
-var INFINITY = 1 / 0;
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
-
- var result = value + '';
- return result == '0' && 1 / value == -INFINITY ? '-0' : result;
-}
-function toString(value) {
- return value == null ? '' : baseToString(value);
-}
-function isString(value) {
- return typeof value === 'string';
-}
-function isNumber(value) {
- return typeof value === 'number';
-} // Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js
-
-function isBoolean(value) {
- return value === true || value === false || isObjectLike(value) && getTag(value) == '[object Boolean]';
-}
-function isObject(value) {
- return _typeof(value) === 'object';
-} // Checks if `value` is object-like.
-
-function isObjectLike(value) {
- return isObject(value) && value !== null;
-}
-function isDefined(value) {
- return value !== undefined && value !== null;
-}
-function isBlank(value) {
- return !value.trim().length;
-} // Gets the `toStringTag` of `value`.
-// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js
-
-function getTag(value) {
- return value == null ? value === undefined ? '[object Undefined]' : '[object Null]' : Object.prototype.toString.call(value);
-}
-
-var EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';
-var LOGICAL_SEARCH_UNAVAILABLE = 'Logical search is not available';
-var INCORRECT_INDEX_TYPE = "Incorrect 'index' type";
-var LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = function LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key) {
- return "Invalid value for key ".concat(key);
-};
-var PATTERN_LENGTH_TOO_LARGE = function PATTERN_LENGTH_TOO_LARGE(max) {
- return "Pattern length exceeds max of ".concat(max, ".");
-};
-var MISSING_KEY_PROPERTY = function MISSING_KEY_PROPERTY(name) {
- return "Missing ".concat(name, " property in key");
-};
-var INVALID_KEY_WEIGHT_VALUE = function INVALID_KEY_WEIGHT_VALUE(key) {
- return "Property 'weight' in key '".concat(key, "' must be a positive integer");
-};
-
-var hasOwn = Object.prototype.hasOwnProperty;
-
-var KeyStore = /*#__PURE__*/function () {
- function KeyStore(keys) {
- var _this = this;
-
- _classCallCheck(this, KeyStore);
-
- this._keys = [];
- this._keyMap = {};
- var totalWeight = 0;
- keys.forEach(function (key) {
- var obj = createKey(key);
- totalWeight += obj.weight;
-
- _this._keys.push(obj);
-
- _this._keyMap[obj.id] = obj;
- totalWeight += obj.weight;
- }); // Normalize weights so that their sum is equal to 1
-
- this._keys.forEach(function (key) {
- key.weight /= totalWeight;
- });
- }
-
- _createClass(KeyStore, [{
- key: "get",
- value: function get(keyId) {
- return this._keyMap[keyId];
- }
- }, {
- key: "keys",
- value: function keys() {
- return this._keys;
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return JSON.stringify(this._keys);
- }
- }]);
-
- return KeyStore;
-}();
-function createKey(key) {
- var path = null;
- var id = null;
- var src = null;
- var weight = 1;
- var getFn = null;
-
- if (isString(key) || isArray(key)) {
- src = key;
- path = createKeyPath(key);
- id = createKeyId(key);
- } else {
- if (!hasOwn.call(key, 'name')) {
- throw new Error(MISSING_KEY_PROPERTY('name'));
- }
-
- var name = key.name;
- src = name;
-
- if (hasOwn.call(key, 'weight')) {
- weight = key.weight;
-
- if (weight <= 0) {
- throw new Error(INVALID_KEY_WEIGHT_VALUE(name));
- }
- }
-
- path = createKeyPath(name);
- id = createKeyId(name);
- getFn = key.getFn;
- }
-
- return {
- path: path,
- id: id,
- weight: weight,
- src: src,
- getFn: getFn
- };
-}
-function createKeyPath(key) {
- return isArray(key) ? key : key.split('.');
-}
-function createKeyId(key) {
- return isArray(key) ? key.join('.') : key;
-}
-
-function get(obj, path) {
- var list = [];
- var arr = false;
-
- var deepGet = function deepGet(obj, path, index) {
- if (!isDefined(obj)) {
- return;
- }
-
- if (!path[index]) {
- // If there's no path left, we've arrived at the object we care about.
- list.push(obj);
- } else {
- var key = path[index];
- var value = obj[key];
-
- if (!isDefined(value)) {
- return;
- } // If we're at the last value in the path, and if it's a string/number/bool,
- // add it to the list
-
-
- if (index === path.length - 1 && (isString(value) || isNumber(value) || isBoolean(value))) {
- list.push(toString(value));
- } else if (isArray(value)) {
- arr = true; // Search each item in the array.
-
- for (var i = 0, len = value.length; i < len; i += 1) {
- deepGet(value[i], path, index + 1);
- }
- } else if (path.length) {
- // An object. Recurse further.
- deepGet(value, path, index + 1);
- }
- }
- }; // Backwards compatibility (since path used to be a string)
-
-
- deepGet(obj, isString(path) ? path.split('.') : path, 0);
- return arr ? list : list[0];
-}
-
-var MatchOptions = {
- // Whether the matches should be included in the result set. When `true`, each record in the result
- // set will include the indices of the matched characters.
- // These can consequently be used for highlighting purposes.
- includeMatches: false,
- // When `true`, the matching function will continue to the end of a search pattern even if
- // a perfect match has already been located in the string.
- findAllMatches: false,
- // Minimum number of characters that must be matched before a result is considered a match
- minMatchCharLength: 1
-};
-var BasicOptions = {
- // When `true`, the algorithm continues searching to the end of the input even if a perfect
- // match is found before the end of the same input.
- isCaseSensitive: false,
- // When true, the matching function will continue to the end of a search pattern even if
- includeScore: false,
- // List of properties that will be searched. This also supports nested properties.
- keys: [],
- // Whether to sort the result list, by score
- shouldSort: true,
- // Default sort function: sort by ascending score, ascending index
- sortFn: function sortFn(a, b) {
- return a.score === b.score ? a.idx < b.idx ? -1 : 1 : a.score < b.score ? -1 : 1;
- }
-};
-var FuzzyOptions = {
- // Approximately where in the text is the pattern expected to be found?
- location: 0,
- // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match
- // (of both letters and location), a threshold of '1.0' would match anything.
- threshold: 0.6,
- // Determines how close the match must be to the fuzzy location (specified above).
- // An exact letter match which is 'distance' characters away from the fuzzy location
- // would score as a complete mismatch. A distance of '0' requires the match be at
- // the exact location specified, a threshold of '1000' would require a perfect match
- // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.
- distance: 100
-};
-var AdvancedOptions = {
- // When `true`, it enables the use of unix-like search commands
- useExtendedSearch: false,
- // The get function to use when fetching an object's properties.
- // The default will search nested paths *ie foo.bar.baz*
- getFn: get,
- // When `true`, search will ignore `location` and `distance`, so it won't matter
- // where in the string the pattern appears.
- // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score
- ignoreLocation: false,
- // When `true`, the calculation for the relevance score (used for sorting) will
- // ignore the field-length norm.
- // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm
- ignoreFieldNorm: false,
- // The weight to determine how much field length norm effects scoring.
- fieldNormWeight: 1
-};
-var Config = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, BasicOptions), MatchOptions), FuzzyOptions), AdvancedOptions);
-
-var SPACE = /[^ ]+/g; // Field-length norm: the shorter the field, the higher the weight.
-// Set to 3 decimals to reduce index size.
-
-function norm() {
- var weight = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
- var mantissa = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
- var cache = new Map();
- var m = Math.pow(10, mantissa);
- return {
- get: function get(value) {
- var numTokens = value.match(SPACE).length;
-
- if (cache.has(numTokens)) {
- return cache.get(numTokens);
- } // Default function is 1/sqrt(x), weight makes that variable
-
-
- var norm = 1 / Math.pow(numTokens, 0.5 * weight); // In place of `toFixed(mantissa)`, for faster computation
-
- var n = parseFloat(Math.round(norm * m) / m);
- cache.set(numTokens, n);
- return n;
- },
- clear: function clear() {
- cache.clear();
- }
- };
-}
-
-var FuseIndex = /*#__PURE__*/function () {
- function FuseIndex() {
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref$getFn = _ref.getFn,
- getFn = _ref$getFn === void 0 ? Config.getFn : _ref$getFn,
- _ref$fieldNormWeight = _ref.fieldNormWeight,
- fieldNormWeight = _ref$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref$fieldNormWeight;
-
- _classCallCheck(this, FuseIndex);
-
- this.norm = norm(fieldNormWeight, 3);
- this.getFn = getFn;
- this.isCreated = false;
- this.setIndexRecords();
- }
-
- _createClass(FuseIndex, [{
- key: "setSources",
- value: function setSources() {
- var docs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.docs = docs;
- }
- }, {
- key: "setIndexRecords",
- value: function setIndexRecords() {
- var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.records = records;
- }
- }, {
- key: "setKeys",
- value: function setKeys() {
- var _this = this;
-
- var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.keys = keys;
- this._keysMap = {};
- keys.forEach(function (key, idx) {
- _this._keysMap[key.id] = idx;
- });
- }
- }, {
- key: "create",
- value: function create() {
- var _this2 = this;
-
- if (this.isCreated || !this.docs.length) {
- return;
- }
-
- this.isCreated = true; // List is Array<String>
-
- if (isString(this.docs[0])) {
- this.docs.forEach(function (doc, docIndex) {
- _this2._addString(doc, docIndex);
- });
- } else {
- // List is Array<Object>
- this.docs.forEach(function (doc, docIndex) {
- _this2._addObject(doc, docIndex);
- });
- }
-
- this.norm.clear();
- } // Adds a doc to the end of the index
-
- }, {
- key: "add",
- value: function add(doc) {
- var idx = this.size();
-
- if (isString(doc)) {
- this._addString(doc, idx);
- } else {
- this._addObject(doc, idx);
- }
- } // Removes the doc at the specified index of the index
-
- }, {
- key: "removeAt",
- value: function removeAt(idx) {
- this.records.splice(idx, 1); // Change ref index of every subsquent doc
-
- for (var i = idx, len = this.size(); i < len; i += 1) {
- this.records[i].i -= 1;
- }
- }
- }, {
- key: "getValueForItemAtKeyId",
- value: function getValueForItemAtKeyId(item, keyId) {
- return item[this._keysMap[keyId]];
- }
- }, {
- key: "size",
- value: function size() {
- return this.records.length;
- }
- }, {
- key: "_addString",
- value: function _addString(doc, docIndex) {
- if (!isDefined(doc) || isBlank(doc)) {
- return;
- }
-
- var record = {
- v: doc,
- i: docIndex,
- n: this.norm.get(doc)
- };
- this.records.push(record);
- }
- }, {
- key: "_addObject",
- value: function _addObject(doc, docIndex) {
- var _this3 = this;
-
- var record = {
- i: docIndex,
- $: {}
- }; // Iterate over every key (i.e, path), and fetch the value at that key
-
- this.keys.forEach(function (key, keyIndex) {
- var value = key.getFn ? key.getFn(doc) : _this3.getFn(doc, key.path);
-
- if (!isDefined(value)) {
- return;
- }
-
- if (isArray(value)) {
- (function () {
- var subRecords = [];
- var stack = [{
- nestedArrIndex: -1,
- value: value
- }];
-
- while (stack.length) {
- var _stack$pop = stack.pop(),
- nestedArrIndex = _stack$pop.nestedArrIndex,
- _value = _stack$pop.value;
-
- if (!isDefined(_value)) {
- continue;
- }
-
- if (isString(_value) && !isBlank(_value)) {
- var subRecord = {
- v: _value,
- i: nestedArrIndex,
- n: _this3.norm.get(_value)
- };
- subRecords.push(subRecord);
- } else if (isArray(_value)) {
- _value.forEach(function (item, k) {
- stack.push({
- nestedArrIndex: k,
- value: item
- });
- });
- } else ;
- }
-
- record.$[keyIndex] = subRecords;
- })();
- } else if (isString(value) && !isBlank(value)) {
- var subRecord = {
- v: value,
- n: _this3.norm.get(value)
- };
- record.$[keyIndex] = subRecord;
- }
- });
- this.records.push(record);
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return {
- keys: this.keys,
- records: this.records
- };
- }
- }]);
-
- return FuseIndex;
-}();
-function createIndex(keys, docs) {
- var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref2$getFn = _ref2.getFn,
- getFn = _ref2$getFn === void 0 ? Config.getFn : _ref2$getFn,
- _ref2$fieldNormWeight = _ref2.fieldNormWeight,
- fieldNormWeight = _ref2$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref2$fieldNormWeight;
-
- var myIndex = new FuseIndex({
- getFn: getFn,
- fieldNormWeight: fieldNormWeight
- });
- myIndex.setKeys(keys.map(createKey));
- myIndex.setSources(docs);
- myIndex.create();
- return myIndex;
-}
-function parseIndex(data) {
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref3$getFn = _ref3.getFn,
- getFn = _ref3$getFn === void 0 ? Config.getFn : _ref3$getFn,
- _ref3$fieldNormWeight = _ref3.fieldNormWeight,
- fieldNormWeight = _ref3$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref3$fieldNormWeight;
-
- var keys = data.keys,
- records = data.records;
- var myIndex = new FuseIndex({
- getFn: getFn,
- fieldNormWeight: fieldNormWeight
- });
- myIndex.setKeys(keys);
- myIndex.setIndexRecords(records);
- return myIndex;
-}
-
-function computeScore$1(pattern) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$errors = _ref.errors,
- errors = _ref$errors === void 0 ? 0 : _ref$errors,
- _ref$currentLocation = _ref.currentLocation,
- currentLocation = _ref$currentLocation === void 0 ? 0 : _ref$currentLocation,
- _ref$expectedLocation = _ref.expectedLocation,
- expectedLocation = _ref$expectedLocation === void 0 ? 0 : _ref$expectedLocation,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- var accuracy = errors / pattern.length;
-
- if (ignoreLocation) {
- return accuracy;
- }
-
- var proximity = Math.abs(expectedLocation - currentLocation);
-
- if (!distance) {
- // Dodge divide by zero error.
- return proximity ? 1.0 : accuracy;
- }
-
- return accuracy + proximity / distance;
-}
-
-function convertMaskToIndices() {
- var matchmask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- var minMatchCharLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Config.minMatchCharLength;
- var indices = [];
- var start = -1;
- var end = -1;
- var i = 0;
-
- for (var len = matchmask.length; i < len; i += 1) {
- var match = matchmask[i];
-
- if (match && start === -1) {
- start = i;
- } else if (!match && start !== -1) {
- end = i - 1;
-
- if (end - start + 1 >= minMatchCharLength) {
- indices.push([start, end]);
- }
-
- start = -1;
- }
- } // (i-1 - start) + 1 => i - start
-
-
- if (matchmask[i - 1] && i - start >= minMatchCharLength) {
- indices.push([start, i - 1]);
- }
-
- return indices;
-}
-
-// Machine word size
-var MAX_BITS = 32;
-
-function search(text, pattern, patternAlphabet) {
- var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- if (pattern.length > MAX_BITS) {
- throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS));
- }
-
- var patternLen = pattern.length; // Set starting location at beginning text and initialize the alphabet.
-
- var textLen = text.length; // Handle the case when location > text.length
-
- var expectedLocation = Math.max(0, Math.min(location, textLen)); // Highest score beyond which we give up.
-
- var currentThreshold = threshold; // Is there a nearby exact match? (speedup)
-
- var bestLocation = expectedLocation; // Performance: only computer matches when the minMatchCharLength > 1
- // OR if `includeMatches` is true.
-
- var computeMatches = minMatchCharLength > 1 || includeMatches; // A mask of the matches, used for building the indices
-
- var matchMask = computeMatches ? Array(textLen) : [];
- var index; // Get all exact matches, here for speed up
-
- while ((index = text.indexOf(pattern, bestLocation)) > -1) {
- var score = computeScore$1(pattern, {
- currentLocation: index,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
- currentThreshold = Math.min(score, currentThreshold);
- bestLocation = index + patternLen;
-
- if (computeMatches) {
- var i = 0;
-
- while (i < patternLen) {
- matchMask[index + i] = 1;
- i += 1;
- }
- }
- } // Reset the best location
-
-
- bestLocation = -1;
- var lastBitArr = [];
- var finalScore = 1;
- var binMax = patternLen + textLen;
- var mask = 1 << patternLen - 1;
-
- for (var _i = 0; _i < patternLen; _i += 1) {
- // Scan for the best match; each iteration allows for one more error.
- // Run a binary search to determine how far from the match location we can stray
- // at this error level.
- var binMin = 0;
- var binMid = binMax;
-
- while (binMin < binMid) {
- var _score2 = computeScore$1(pattern, {
- errors: _i,
- currentLocation: expectedLocation + binMid,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
-
- if (_score2 <= currentThreshold) {
- binMin = binMid;
- } else {
- binMax = binMid;
- }
-
- binMid = Math.floor((binMax - binMin) / 2 + binMin);
- } // Use the result from this iteration as the maximum for the next.
-
-
- binMax = binMid;
- var start = Math.max(1, expectedLocation - binMid + 1);
- var finish = findAllMatches ? textLen : Math.min(expectedLocation + binMid, textLen) + patternLen; // Initialize the bit array
-
- var bitArr = Array(finish + 2);
- bitArr[finish + 1] = (1 << _i) - 1;
-
- for (var j = finish; j >= start; j -= 1) {
- var currentLocation = j - 1;
- var charMatch = patternAlphabet[text.charAt(currentLocation)];
-
- if (computeMatches) {
- // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)
- matchMask[currentLocation] = +!!charMatch;
- } // First pass: exact match
-
-
- bitArr[j] = (bitArr[j + 1] << 1 | 1) & charMatch; // Subsequent passes: fuzzy match
-
- if (_i) {
- bitArr[j] |= (lastBitArr[j + 1] | lastBitArr[j]) << 1 | 1 | lastBitArr[j + 1];
- }
-
- if (bitArr[j] & mask) {
- finalScore = computeScore$1(pattern, {
- errors: _i,
- currentLocation: currentLocation,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- }); // This match will almost certainly be better than any existing match.
- // But check anyway.
-
- if (finalScore <= currentThreshold) {
- // Indeed it is
- currentThreshold = finalScore;
- bestLocation = currentLocation; // Already passed `loc`, downhill from here on in.
-
- if (bestLocation <= expectedLocation) {
- break;
- } // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.
-
-
- start = Math.max(1, 2 * expectedLocation - bestLocation);
- }
- }
- } // No hope for a (better) match at greater error levels.
-
-
- var _score = computeScore$1(pattern, {
- errors: _i + 1,
- currentLocation: expectedLocation,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
-
- if (_score > currentThreshold) {
- break;
- }
-
- lastBitArr = bitArr;
- }
-
- var result = {
- isMatch: bestLocation >= 0,
- // Count exact matches (those with a score of 0) to be "almost" exact
- score: Math.max(0.001, finalScore)
- };
-
- if (computeMatches) {
- var indices = convertMaskToIndices(matchMask, minMatchCharLength);
-
- if (!indices.length) {
- result.isMatch = false;
- } else if (includeMatches) {
- result.indices = indices;
- }
- }
-
- return result;
-}
-
-function createPatternAlphabet(pattern) {
- var mask = {};
-
- for (var i = 0, len = pattern.length; i < len; i += 1) {
- var _char = pattern.charAt(i);
-
- mask[_char] = (mask[_char] || 0) | 1 << len - i - 1;
- }
-
- return mask;
-}
-
-var BitapSearch = /*#__PURE__*/function () {
- function BitapSearch(pattern) {
- var _this = this;
-
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$isCaseSensitive = _ref.isCaseSensitive,
- isCaseSensitive = _ref$isCaseSensitive === void 0 ? Config.isCaseSensitive : _ref$isCaseSensitive,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- _classCallCheck(this, BitapSearch);
-
- this.options = {
- location: location,
- threshold: threshold,
- distance: distance,
- includeMatches: includeMatches,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- isCaseSensitive: isCaseSensitive,
- ignoreLocation: ignoreLocation
- };
- this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();
- this.chunks = [];
-
- if (!this.pattern.length) {
- return;
- }
-
- var addChunk = function addChunk(pattern, startIndex) {
- _this.chunks.push({
- pattern: pattern,
- alphabet: createPatternAlphabet(pattern),
- startIndex: startIndex
- });
- };
-
- var len = this.pattern.length;
-
- if (len > MAX_BITS) {
- var i = 0;
- var remainder = len % MAX_BITS;
- var end = len - remainder;
-
- while (i < end) {
- addChunk(this.pattern.substr(i, MAX_BITS), i);
- i += MAX_BITS;
- }
-
- if (remainder) {
- var startIndex = len - MAX_BITS;
- addChunk(this.pattern.substr(startIndex), startIndex);
- }
- } else {
- addChunk(this.pattern, 0);
- }
- }
-
- _createClass(BitapSearch, [{
- key: "searchIn",
- value: function searchIn(text) {
- var _this$options = this.options,
- isCaseSensitive = _this$options.isCaseSensitive,
- includeMatches = _this$options.includeMatches;
-
- if (!isCaseSensitive) {
- text = text.toLowerCase();
- } // Exact match
-
-
- if (this.pattern === text) {
- var _result = {
- isMatch: true,
- score: 0
- };
-
- if (includeMatches) {
- _result.indices = [[0, text.length - 1]];
- }
-
- return _result;
- } // Otherwise, use Bitap algorithm
-
-
- var _this$options2 = this.options,
- location = _this$options2.location,
- distance = _this$options2.distance,
- threshold = _this$options2.threshold,
- findAllMatches = _this$options2.findAllMatches,
- minMatchCharLength = _this$options2.minMatchCharLength,
- ignoreLocation = _this$options2.ignoreLocation;
- var allIndices = [];
- var totalScore = 0;
- var hasMatches = false;
- this.chunks.forEach(function (_ref2) {
- var pattern = _ref2.pattern,
- alphabet = _ref2.alphabet,
- startIndex = _ref2.startIndex;
-
- var _search = search(text, pattern, alphabet, {
- location: location + startIndex,
- distance: distance,
- threshold: threshold,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- includeMatches: includeMatches,
- ignoreLocation: ignoreLocation
- }),
- isMatch = _search.isMatch,
- score = _search.score,
- indices = _search.indices;
-
- if (isMatch) {
- hasMatches = true;
- }
-
- totalScore += score;
-
- if (isMatch && indices) {
- allIndices = [].concat(_toConsumableArray(allIndices), _toConsumableArray(indices));
- }
- });
- var result = {
- isMatch: hasMatches,
- score: hasMatches ? totalScore / this.chunks.length : 1
- };
-
- if (hasMatches && includeMatches) {
- result.indices = allIndices;
- }
-
- return result;
- }
- }]);
-
- return BitapSearch;
-}();
-
-var registeredSearchers = [];
-function createSearcher(pattern, options) {
- for (var i = 0, len = registeredSearchers.length; i < len; i += 1) {
- var searcherClass = registeredSearchers[i];
-
- if (searcherClass.condition(pattern, options)) {
- return new searcherClass(pattern, options);
- }
- }
-
- return new BitapSearch(pattern, options);
-}
-
-var LogicalOperator = {
- AND: '$and',
- OR: '$or'
-};
-var KeyType = {
- PATH: '$path',
- PATTERN: '$val'
-};
-
-var isExpression = function isExpression(query) {
- return !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);
-};
-
-var isPath = function isPath(query) {
- return !!query[KeyType.PATH];
-};
-
-var isLeaf = function isLeaf(query) {
- return !isArray(query) && isObject(query) && !isExpression(query);
-};
-
-var convertToExplicit = function convertToExplicit(query) {
- return _defineProperty({}, LogicalOperator.AND, Object.keys(query).map(function (key) {
- return _defineProperty({}, key, query[key]);
- }));
-}; // When `auto` is `true`, the parse function will infer and initialize and add
-// the appropriate `Searcher` instance
-
-
-function parse(query, options) {
- var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref3$auto = _ref3.auto,
- auto = _ref3$auto === void 0 ? true : _ref3$auto;
-
- var next = function next(query) {
- var keys = Object.keys(query);
- var isQueryPath = isPath(query);
-
- if (!isQueryPath && keys.length > 1 && !isExpression(query)) {
- return next(convertToExplicit(query));
- }
-
- if (isLeaf(query)) {
- var key = isQueryPath ? query[KeyType.PATH] : keys[0];
- var pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];
-
- if (!isString(pattern)) {
- throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key));
- }
-
- var obj = {
- keyId: createKeyId(key),
- pattern: pattern
- };
-
- if (auto) {
- obj.searcher = createSearcher(pattern, options);
- }
-
- return obj;
- }
-
- var node = {
- children: [],
- operator: keys[0]
- };
- keys.forEach(function (key) {
- var value = query[key];
-
- if (isArray(value)) {
- value.forEach(function (item) {
- node.children.push(next(item));
- });
- }
- });
- return node;
- };
-
- if (!isExpression(query)) {
- query = convertToExplicit(query);
- }
-
- return next(query);
-}
-
-function computeScore(results, _ref) {
- var _ref$ignoreFieldNorm = _ref.ignoreFieldNorm,
- ignoreFieldNorm = _ref$ignoreFieldNorm === void 0 ? Config.ignoreFieldNorm : _ref$ignoreFieldNorm;
- results.forEach(function (result) {
- var totalScore = 1;
- result.matches.forEach(function (_ref2) {
- var key = _ref2.key,
- norm = _ref2.norm,
- score = _ref2.score;
- var weight = key ? key.weight : null;
- totalScore *= Math.pow(score === 0 && weight ? Number.EPSILON : score, (weight || 1) * (ignoreFieldNorm ? 1 : norm));
- });
- result.score = totalScore;
- });
-}
-
-function transformMatches(result, data) {
- var matches = result.matches;
- data.matches = [];
-
- if (!isDefined(matches)) {
- return;
- }
-
- matches.forEach(function (match) {
- if (!isDefined(match.indices) || !match.indices.length) {
- return;
- }
-
- var indices = match.indices,
- value = match.value;
- var obj = {
- indices: indices,
- value: value
- };
-
- if (match.key) {
- obj.key = match.key.src;
- }
-
- if (match.idx > -1) {
- obj.refIndex = match.idx;
- }
-
- data.matches.push(obj);
- });
-}
-
-function transformScore(result, data) {
- data.score = result.score;
-}
-
-function format(results, docs) {
- var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$includeScore = _ref.includeScore,
- includeScore = _ref$includeScore === void 0 ? Config.includeScore : _ref$includeScore;
-
- var transformers = [];
- if (includeMatches) transformers.push(transformMatches);
- if (includeScore) transformers.push(transformScore);
- return results.map(function (result) {
- var idx = result.idx;
- var data = {
- item: docs[idx],
- refIndex: idx
- };
-
- if (transformers.length) {
- transformers.forEach(function (transformer) {
- transformer(result, data);
- });
- }
-
- return data;
- });
-}
-
-var Fuse$1 = /*#__PURE__*/function () {
- function Fuse(docs) {
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- var index = arguments.length > 2 ? arguments[2] : undefined;
-
- _classCallCheck(this, Fuse);
-
- this.options = _objectSpread2(_objectSpread2({}, Config), options);
-
- if (this.options.useExtendedSearch && !false) {
- throw new Error(EXTENDED_SEARCH_UNAVAILABLE);
- }
-
- this._keyStore = new KeyStore(this.options.keys);
- this.setCollection(docs, index);
- }
-
- _createClass(Fuse, [{
- key: "setCollection",
- value: function setCollection(docs, index) {
- this._docs = docs;
-
- if (index && !(index instanceof FuseIndex)) {
- throw new Error(INCORRECT_INDEX_TYPE);
- }
-
- this._myIndex = index || createIndex(this.options.keys, this._docs, {
- getFn: this.options.getFn,
- fieldNormWeight: this.options.fieldNormWeight
- });
- }
- }, {
- key: "add",
- value: function add(doc) {
- if (!isDefined(doc)) {
- return;
- }
-
- this._docs.push(doc);
-
- this._myIndex.add(doc);
- }
- }, {
- key: "remove",
- value: function remove() {
- var predicate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function
- /* doc, idx */
- () {
- return false;
- };
- var results = [];
-
- for (var i = 0, len = this._docs.length; i < len; i += 1) {
- var doc = this._docs[i];
-
- if (predicate(doc, i)) {
- this.removeAt(i);
- i -= 1;
- len -= 1;
- results.push(doc);
- }
- }
-
- return results;
- }
- }, {
- key: "removeAt",
- value: function removeAt(idx) {
- this._docs.splice(idx, 1);
-
- this._myIndex.removeAt(idx);
- }
- }, {
- key: "getIndex",
- value: function getIndex() {
- return this._myIndex;
- }
- }, {
- key: "search",
- value: function search(query) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$limit = _ref.limit,
- limit = _ref$limit === void 0 ? -1 : _ref$limit;
-
- var _this$options = this.options,
- includeMatches = _this$options.includeMatches,
- includeScore = _this$options.includeScore,
- shouldSort = _this$options.shouldSort,
- sortFn = _this$options.sortFn,
- ignoreFieldNorm = _this$options.ignoreFieldNorm;
- var results = isString(query) ? isString(this._docs[0]) ? this._searchStringList(query) : this._searchObjectList(query) : this._searchLogical(query);
- computeScore(results, {
- ignoreFieldNorm: ignoreFieldNorm
- });
-
- if (shouldSort) {
- results.sort(sortFn);
- }
-
- if (isNumber(limit) && limit > -1) {
- results = results.slice(0, limit);
- }
-
- return format(results, this._docs, {
- includeMatches: includeMatches,
- includeScore: includeScore
- });
- }
- }, {
- key: "_searchStringList",
- value: function _searchStringList(query) {
- var searcher = createSearcher(query, this.options);
- var records = this._myIndex.records;
- var results = []; // Iterate over every string in the index
-
- records.forEach(function (_ref2) {
- var text = _ref2.v,
- idx = _ref2.i,
- norm = _ref2.n;
-
- if (!isDefined(text)) {
- return;
- }
-
- var _searcher$searchIn = searcher.searchIn(text),
- isMatch = _searcher$searchIn.isMatch,
- score = _searcher$searchIn.score,
- indices = _searcher$searchIn.indices;
-
- if (isMatch) {
- results.push({
- item: text,
- idx: idx,
- matches: [{
- score: score,
- value: text,
- norm: norm,
- indices: indices
- }]
- });
- }
- });
- return results;
- }
- }, {
- key: "_searchLogical",
- value: function _searchLogical(query) {
-
- {
- throw new Error(LOGICAL_SEARCH_UNAVAILABLE);
- }
- }
- }, {
- key: "_searchObjectList",
- value: function _searchObjectList(query) {
- var _this2 = this;
-
- var searcher = createSearcher(query, this.options);
- var _this$_myIndex = this._myIndex,
- keys = _this$_myIndex.keys,
- records = _this$_myIndex.records;
- var results = []; // List is Array<Object>
-
- records.forEach(function (_ref5) {
- var item = _ref5.$,
- idx = _ref5.i;
-
- if (!isDefined(item)) {
- return;
- }
-
- var matches = []; // Iterate over every key (i.e, path), and fetch the value at that key
-
- keys.forEach(function (key, keyIndex) {
- matches.push.apply(matches, _toConsumableArray(_this2._findMatches({
- key: key,
- value: item[keyIndex],
- searcher: searcher
- })));
- });
-
- if (matches.length) {
- results.push({
- idx: idx,
- item: item,
- matches: matches
- });
- }
- });
- return results;
- }
- }, {
- key: "_findMatches",
- value: function _findMatches(_ref6) {
- var key = _ref6.key,
- value = _ref6.value,
- searcher = _ref6.searcher;
-
- if (!isDefined(value)) {
- return [];
- }
-
- var matches = [];
-
- if (isArray(value)) {
- value.forEach(function (_ref7) {
- var text = _ref7.v,
- idx = _ref7.i,
- norm = _ref7.n;
-
- if (!isDefined(text)) {
- return;
- }
-
- var _searcher$searchIn2 = searcher.searchIn(text),
- isMatch = _searcher$searchIn2.isMatch,
- score = _searcher$searchIn2.score,
- indices = _searcher$searchIn2.indices;
-
- if (isMatch) {
- matches.push({
- score: score,
- key: key,
- value: text,
- idx: idx,
- norm: norm,
- indices: indices
- });
- }
- });
- } else {
- var text = value.v,
- norm = value.n;
-
- var _searcher$searchIn3 = searcher.searchIn(text),
- isMatch = _searcher$searchIn3.isMatch,
- score = _searcher$searchIn3.score,
- indices = _searcher$searchIn3.indices;
-
- if (isMatch) {
- matches.push({
- score: score,
- key: key,
- value: text,
- norm: norm,
- indices: indices
- });
- }
- }
-
- return matches;
- }
- }]);
-
- return Fuse;
-}();
-
-Fuse$1.version = '6.6.2';
-Fuse$1.createIndex = createIndex;
-Fuse$1.parseIndex = parseIndex;
-Fuse$1.config = Config;
-
-{
- Fuse$1.parseQuery = parse;
-}
-
-var Fuse = Fuse$1;
-
-module.exports = Fuse;
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.basic.esm.js b/includes/search/node_modules/fuse.js/dist/fuse.basic.esm.js
deleted file mode 100644
index 2bac072..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.basic.esm.js
+++ /dev/null
@@ -1,1261 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-
-function isArray(value) {
- return !Array.isArray
- ? getTag(value) === '[object Array]'
- : Array.isArray(value)
-}
-
-// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js
-const INFINITY = 1 / 0;
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value
- }
- let result = value + '';
- return result == '0' && 1 / value == -INFINITY ? '-0' : result
-}
-
-function toString(value) {
- return value == null ? '' : baseToString(value)
-}
-
-function isString(value) {
- return typeof value === 'string'
-}
-
-function isNumber(value) {
- return typeof value === 'number'
-}
-
-// Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js
-function isBoolean(value) {
- return (
- value === true ||
- value === false ||
- (isObjectLike(value) && getTag(value) == '[object Boolean]')
- )
-}
-
-function isObject(value) {
- return typeof value === 'object'
-}
-
-// Checks if `value` is object-like.
-function isObjectLike(value) {
- return isObject(value) && value !== null
-}
-
-function isDefined(value) {
- return value !== undefined && value !== null
-}
-
-function isBlank(value) {
- return !value.trim().length
-}
-
-// Gets the `toStringTag` of `value`.
-// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js
-function getTag(value) {
- return value == null
- ? value === undefined
- ? '[object Undefined]'
- : '[object Null]'
- : Object.prototype.toString.call(value)
-}
-
-const EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';
-
-const LOGICAL_SEARCH_UNAVAILABLE = 'Logical search is not available';
-
-const INCORRECT_INDEX_TYPE = "Incorrect 'index' type";
-
-const LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (key) =>
- `Invalid value for key ${key}`;
-
-const PATTERN_LENGTH_TOO_LARGE = (max) =>
- `Pattern length exceeds max of ${max}.`;
-
-const MISSING_KEY_PROPERTY = (name) => `Missing ${name} property in key`;
-
-const INVALID_KEY_WEIGHT_VALUE = (key) =>
- `Property 'weight' in key '${key}' must be a positive integer`;
-
-const hasOwn = Object.prototype.hasOwnProperty;
-
-class KeyStore {
- constructor(keys) {
- this._keys = [];
- this._keyMap = {};
-
- let totalWeight = 0;
-
- keys.forEach((key) => {
- let obj = createKey(key);
-
- totalWeight += obj.weight;
-
- this._keys.push(obj);
- this._keyMap[obj.id] = obj;
-
- totalWeight += obj.weight;
- });
-
- // Normalize weights so that their sum is equal to 1
- this._keys.forEach((key) => {
- key.weight /= totalWeight;
- });
- }
- get(keyId) {
- return this._keyMap[keyId]
- }
- keys() {
- return this._keys
- }
- toJSON() {
- return JSON.stringify(this._keys)
- }
-}
-
-function createKey(key) {
- let path = null;
- let id = null;
- let src = null;
- let weight = 1;
- let getFn = null;
-
- if (isString(key) || isArray(key)) {
- src = key;
- path = createKeyPath(key);
- id = createKeyId(key);
- } else {
- if (!hasOwn.call(key, 'name')) {
- throw new Error(MISSING_KEY_PROPERTY('name'))
- }
-
- const name = key.name;
- src = name;
-
- if (hasOwn.call(key, 'weight')) {
- weight = key.weight;
-
- if (weight <= 0) {
- throw new Error(INVALID_KEY_WEIGHT_VALUE(name))
- }
- }
-
- path = createKeyPath(name);
- id = createKeyId(name);
- getFn = key.getFn;
- }
-
- return { path, id, weight, src, getFn }
-}
-
-function createKeyPath(key) {
- return isArray(key) ? key : key.split('.')
-}
-
-function createKeyId(key) {
- return isArray(key) ? key.join('.') : key
-}
-
-function get(obj, path) {
- let list = [];
- let arr = false;
-
- const deepGet = (obj, path, index) => {
- if (!isDefined(obj)) {
- return
- }
- if (!path[index]) {
- // If there's no path left, we've arrived at the object we care about.
- list.push(obj);
- } else {
- let key = path[index];
-
- const value = obj[key];
-
- if (!isDefined(value)) {
- return
- }
-
- // If we're at the last value in the path, and if it's a string/number/bool,
- // add it to the list
- if (
- index === path.length - 1 &&
- (isString(value) || isNumber(value) || isBoolean(value))
- ) {
- list.push(toString(value));
- } else if (isArray(value)) {
- arr = true;
- // Search each item in the array.
- for (let i = 0, len = value.length; i < len; i += 1) {
- deepGet(value[i], path, index + 1);
- }
- } else if (path.length) {
- // An object. Recurse further.
- deepGet(value, path, index + 1);
- }
- }
- };
-
- // Backwards compatibility (since path used to be a string)
- deepGet(obj, isString(path) ? path.split('.') : path, 0);
-
- return arr ? list : list[0]
-}
-
-const MatchOptions = {
- // Whether the matches should be included in the result set. When `true`, each record in the result
- // set will include the indices of the matched characters.
- // These can consequently be used for highlighting purposes.
- includeMatches: false,
- // When `true`, the matching function will continue to the end of a search pattern even if
- // a perfect match has already been located in the string.
- findAllMatches: false,
- // Minimum number of characters that must be matched before a result is considered a match
- minMatchCharLength: 1
-};
-
-const BasicOptions = {
- // When `true`, the algorithm continues searching to the end of the input even if a perfect
- // match is found before the end of the same input.
- isCaseSensitive: false,
- // When true, the matching function will continue to the end of a search pattern even if
- includeScore: false,
- // List of properties that will be searched. This also supports nested properties.
- keys: [],
- // Whether to sort the result list, by score
- shouldSort: true,
- // Default sort function: sort by ascending score, ascending index
- sortFn: (a, b) =>
- a.score === b.score ? (a.idx < b.idx ? -1 : 1) : a.score < b.score ? -1 : 1
-};
-
-const FuzzyOptions = {
- // Approximately where in the text is the pattern expected to be found?
- location: 0,
- // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match
- // (of both letters and location), a threshold of '1.0' would match anything.
- threshold: 0.6,
- // Determines how close the match must be to the fuzzy location (specified above).
- // An exact letter match which is 'distance' characters away from the fuzzy location
- // would score as a complete mismatch. A distance of '0' requires the match be at
- // the exact location specified, a threshold of '1000' would require a perfect match
- // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.
- distance: 100
-};
-
-const AdvancedOptions = {
- // When `true`, it enables the use of unix-like search commands
- useExtendedSearch: false,
- // The get function to use when fetching an object's properties.
- // The default will search nested paths *ie foo.bar.baz*
- getFn: get,
- // When `true`, search will ignore `location` and `distance`, so it won't matter
- // where in the string the pattern appears.
- // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score
- ignoreLocation: false,
- // When `true`, the calculation for the relevance score (used for sorting) will
- // ignore the field-length norm.
- // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm
- ignoreFieldNorm: false,
- // The weight to determine how much field length norm effects scoring.
- fieldNormWeight: 1
-};
-
-var Config = {
- ...BasicOptions,
- ...MatchOptions,
- ...FuzzyOptions,
- ...AdvancedOptions
-};
-
-const SPACE = /[^ ]+/g;
-
-// Field-length norm: the shorter the field, the higher the weight.
-// Set to 3 decimals to reduce index size.
-function norm(weight = 1, mantissa = 3) {
- const cache = new Map();
- const m = Math.pow(10, mantissa);
-
- return {
- get(value) {
- const numTokens = value.match(SPACE).length;
-
- if (cache.has(numTokens)) {
- return cache.get(numTokens)
- }
-
- // Default function is 1/sqrt(x), weight makes that variable
- const norm = 1 / Math.pow(numTokens, 0.5 * weight);
-
- // In place of `toFixed(mantissa)`, for faster computation
- const n = parseFloat(Math.round(norm * m) / m);
-
- cache.set(numTokens, n);
-
- return n
- },
- clear() {
- cache.clear();
- }
- }
-}
-
-class FuseIndex {
- constructor({
- getFn = Config.getFn,
- fieldNormWeight = Config.fieldNormWeight
- } = {}) {
- this.norm = norm(fieldNormWeight, 3);
- this.getFn = getFn;
- this.isCreated = false;
-
- this.setIndexRecords();
- }
- setSources(docs = []) {
- this.docs = docs;
- }
- setIndexRecords(records = []) {
- this.records = records;
- }
- setKeys(keys = []) {
- this.keys = keys;
- this._keysMap = {};
- keys.forEach((key, idx) => {
- this._keysMap[key.id] = idx;
- });
- }
- create() {
- if (this.isCreated || !this.docs.length) {
- return
- }
-
- this.isCreated = true;
-
- // List is Array<String>
- if (isString(this.docs[0])) {
- this.docs.forEach((doc, docIndex) => {
- this._addString(doc, docIndex);
- });
- } else {
- // List is Array<Object>
- this.docs.forEach((doc, docIndex) => {
- this._addObject(doc, docIndex);
- });
- }
-
- this.norm.clear();
- }
- // Adds a doc to the end of the index
- add(doc) {
- const idx = this.size();
-
- if (isString(doc)) {
- this._addString(doc, idx);
- } else {
- this._addObject(doc, idx);
- }
- }
- // Removes the doc at the specified index of the index
- removeAt(idx) {
- this.records.splice(idx, 1);
-
- // Change ref index of every subsquent doc
- for (let i = idx, len = this.size(); i < len; i += 1) {
- this.records[i].i -= 1;
- }
- }
- getValueForItemAtKeyId(item, keyId) {
- return item[this._keysMap[keyId]]
- }
- size() {
- return this.records.length
- }
- _addString(doc, docIndex) {
- if (!isDefined(doc) || isBlank(doc)) {
- return
- }
-
- let record = {
- v: doc,
- i: docIndex,
- n: this.norm.get(doc)
- };
-
- this.records.push(record);
- }
- _addObject(doc, docIndex) {
- let record = { i: docIndex, $: {} };
-
- // Iterate over every key (i.e, path), and fetch the value at that key
- this.keys.forEach((key, keyIndex) => {
- let value = key.getFn ? key.getFn(doc) : this.getFn(doc, key.path);
-
- if (!isDefined(value)) {
- return
- }
-
- if (isArray(value)) {
- let subRecords = [];
- const stack = [{ nestedArrIndex: -1, value }];
-
- while (stack.length) {
- const { nestedArrIndex, value } = stack.pop();
-
- if (!isDefined(value)) {
- continue
- }
-
- if (isString(value) && !isBlank(value)) {
- let subRecord = {
- v: value,
- i: nestedArrIndex,
- n: this.norm.get(value)
- };
-
- subRecords.push(subRecord);
- } else if (isArray(value)) {
- value.forEach((item, k) => {
- stack.push({
- nestedArrIndex: k,
- value: item
- });
- });
- } else ;
- }
- record.$[keyIndex] = subRecords;
- } else if (isString(value) && !isBlank(value)) {
- let subRecord = {
- v: value,
- n: this.norm.get(value)
- };
-
- record.$[keyIndex] = subRecord;
- }
- });
-
- this.records.push(record);
- }
- toJSON() {
- return {
- keys: this.keys,
- records: this.records
- }
- }
-}
-
-function createIndex(
- keys,
- docs,
- { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}
-) {
- const myIndex = new FuseIndex({ getFn, fieldNormWeight });
- myIndex.setKeys(keys.map(createKey));
- myIndex.setSources(docs);
- myIndex.create();
- return myIndex
-}
-
-function parseIndex(
- data,
- { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}
-) {
- const { keys, records } = data;
- const myIndex = new FuseIndex({ getFn, fieldNormWeight });
- myIndex.setKeys(keys);
- myIndex.setIndexRecords(records);
- return myIndex
-}
-
-function computeScore$1(
- pattern,
- {
- errors = 0,
- currentLocation = 0,
- expectedLocation = 0,
- distance = Config.distance,
- ignoreLocation = Config.ignoreLocation
- } = {}
-) {
- const accuracy = errors / pattern.length;
-
- if (ignoreLocation) {
- return accuracy
- }
-
- const proximity = Math.abs(expectedLocation - currentLocation);
-
- if (!distance) {
- // Dodge divide by zero error.
- return proximity ? 1.0 : accuracy
- }
-
- return accuracy + proximity / distance
-}
-
-function convertMaskToIndices(
- matchmask = [],
- minMatchCharLength = Config.minMatchCharLength
-) {
- let indices = [];
- let start = -1;
- let end = -1;
- let i = 0;
-
- for (let len = matchmask.length; i < len; i += 1) {
- let match = matchmask[i];
- if (match && start === -1) {
- start = i;
- } else if (!match && start !== -1) {
- end = i - 1;
- if (end - start + 1 >= minMatchCharLength) {
- indices.push([start, end]);
- }
- start = -1;
- }
- }
-
- // (i-1 - start) + 1 => i - start
- if (matchmask[i - 1] && i - start >= minMatchCharLength) {
- indices.push([start, i - 1]);
- }
-
- return indices
-}
-
-// Machine word size
-const MAX_BITS = 32;
-
-function search(
- text,
- pattern,
- patternAlphabet,
- {
- location = Config.location,
- distance = Config.distance,
- threshold = Config.threshold,
- findAllMatches = Config.findAllMatches,
- minMatchCharLength = Config.minMatchCharLength,
- includeMatches = Config.includeMatches,
- ignoreLocation = Config.ignoreLocation
- } = {}
-) {
- if (pattern.length > MAX_BITS) {
- throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS))
- }
-
- const patternLen = pattern.length;
- // Set starting location at beginning text and initialize the alphabet.
- const textLen = text.length;
- // Handle the case when location > text.length
- const expectedLocation = Math.max(0, Math.min(location, textLen));
- // Highest score beyond which we give up.
- let currentThreshold = threshold;
- // Is there a nearby exact match? (speedup)
- let bestLocation = expectedLocation;
-
- // Performance: only computer matches when the minMatchCharLength > 1
- // OR if `includeMatches` is true.
- const computeMatches = minMatchCharLength > 1 || includeMatches;
- // A mask of the matches, used for building the indices
- const matchMask = computeMatches ? Array(textLen) : [];
-
- let index;
-
- // Get all exact matches, here for speed up
- while ((index = text.indexOf(pattern, bestLocation)) > -1) {
- let score = computeScore$1(pattern, {
- currentLocation: index,
- expectedLocation,
- distance,
- ignoreLocation
- });
-
- currentThreshold = Math.min(score, currentThreshold);
- bestLocation = index + patternLen;
-
- if (computeMatches) {
- let i = 0;
- while (i < patternLen) {
- matchMask[index + i] = 1;
- i += 1;
- }
- }
- }
-
- // Reset the best location
- bestLocation = -1;
-
- let lastBitArr = [];
- let finalScore = 1;
- let binMax = patternLen + textLen;
-
- const mask = 1 << (patternLen - 1);
-
- for (let i = 0; i < patternLen; i += 1) {
- // Scan for the best match; each iteration allows for one more error.
- // Run a binary search to determine how far from the match location we can stray
- // at this error level.
- let binMin = 0;
- let binMid = binMax;
-
- while (binMin < binMid) {
- const score = computeScore$1(pattern, {
- errors: i,
- currentLocation: expectedLocation + binMid,
- expectedLocation,
- distance,
- ignoreLocation
- });
-
- if (score <= currentThreshold) {
- binMin = binMid;
- } else {
- binMax = binMid;
- }
-
- binMid = Math.floor((binMax - binMin) / 2 + binMin);
- }
-
- // Use the result from this iteration as the maximum for the next.
- binMax = binMid;
-
- let start = Math.max(1, expectedLocation - binMid + 1);
- let finish = findAllMatches
- ? textLen
- : Math.min(expectedLocation + binMid, textLen) + patternLen;
-
- // Initialize the bit array
- let bitArr = Array(finish + 2);
-
- bitArr[finish + 1] = (1 << i) - 1;
-
- for (let j = finish; j >= start; j -= 1) {
- let currentLocation = j - 1;
- let charMatch = patternAlphabet[text.charAt(currentLocation)];
-
- if (computeMatches) {
- // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)
- matchMask[currentLocation] = +!!charMatch;
- }
-
- // First pass: exact match
- bitArr[j] = ((bitArr[j + 1] << 1) | 1) & charMatch;
-
- // Subsequent passes: fuzzy match
- if (i) {
- bitArr[j] |=
- ((lastBitArr[j + 1] | lastBitArr[j]) << 1) | 1 | lastBitArr[j + 1];
- }
-
- if (bitArr[j] & mask) {
- finalScore = computeScore$1(pattern, {
- errors: i,
- currentLocation,
- expectedLocation,
- distance,
- ignoreLocation
- });
-
- // This match will almost certainly be better than any existing match.
- // But check anyway.
- if (finalScore <= currentThreshold) {
- // Indeed it is
- currentThreshold = finalScore;
- bestLocation = currentLocation;
-
- // Already passed `loc`, downhill from here on in.
- if (bestLocation <= expectedLocation) {
- break
- }
-
- // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.
- start = Math.max(1, 2 * expectedLocation - bestLocation);
- }
- }
- }
-
- // No hope for a (better) match at greater error levels.
- const score = computeScore$1(pattern, {
- errors: i + 1,
- currentLocation: expectedLocation,
- expectedLocation,
- distance,
- ignoreLocation
- });
-
- if (score > currentThreshold) {
- break
- }
-
- lastBitArr = bitArr;
- }
-
- const result = {
- isMatch: bestLocation >= 0,
- // Count exact matches (those with a score of 0) to be "almost" exact
- score: Math.max(0.001, finalScore)
- };
-
- if (computeMatches) {
- const indices = convertMaskToIndices(matchMask, minMatchCharLength);
- if (!indices.length) {
- result.isMatch = false;
- } else if (includeMatches) {
- result.indices = indices;
- }
- }
-
- return result
-}
-
-function createPatternAlphabet(pattern) {
- let mask = {};
-
- for (let i = 0, len = pattern.length; i < len; i += 1) {
- const char = pattern.charAt(i);
- mask[char] = (mask[char] || 0) | (1 << (len - i - 1));
- }
-
- return mask
-}
-
-class BitapSearch {
- constructor(
- pattern,
- {
- location = Config.location,
- threshold = Config.threshold,
- distance = Config.distance,
- includeMatches = Config.includeMatches,
- findAllMatches = Config.findAllMatches,
- minMatchCharLength = Config.minMatchCharLength,
- isCaseSensitive = Config.isCaseSensitive,
- ignoreLocation = Config.ignoreLocation
- } = {}
- ) {
- this.options = {
- location,
- threshold,
- distance,
- includeMatches,
- findAllMatches,
- minMatchCharLength,
- isCaseSensitive,
- ignoreLocation
- };
-
- this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();
-
- this.chunks = [];
-
- if (!this.pattern.length) {
- return
- }
-
- const addChunk = (pattern, startIndex) => {
- this.chunks.push({
- pattern,
- alphabet: createPatternAlphabet(pattern),
- startIndex
- });
- };
-
- const len = this.pattern.length;
-
- if (len > MAX_BITS) {
- let i = 0;
- const remainder = len % MAX_BITS;
- const end = len - remainder;
-
- while (i < end) {
- addChunk(this.pattern.substr(i, MAX_BITS), i);
- i += MAX_BITS;
- }
-
- if (remainder) {
- const startIndex = len - MAX_BITS;
- addChunk(this.pattern.substr(startIndex), startIndex);
- }
- } else {
- addChunk(this.pattern, 0);
- }
- }
-
- searchIn(text) {
- const { isCaseSensitive, includeMatches } = this.options;
-
- if (!isCaseSensitive) {
- text = text.toLowerCase();
- }
-
- // Exact match
- if (this.pattern === text) {
- let result = {
- isMatch: true,
- score: 0
- };
-
- if (includeMatches) {
- result.indices = [[0, text.length - 1]];
- }
-
- return result
- }
-
- // Otherwise, use Bitap algorithm
- const {
- location,
- distance,
- threshold,
- findAllMatches,
- minMatchCharLength,
- ignoreLocation
- } = this.options;
-
- let allIndices = [];
- let totalScore = 0;
- let hasMatches = false;
-
- this.chunks.forEach(({ pattern, alphabet, startIndex }) => {
- const { isMatch, score, indices } = search(text, pattern, alphabet, {
- location: location + startIndex,
- distance,
- threshold,
- findAllMatches,
- minMatchCharLength,
- includeMatches,
- ignoreLocation
- });
-
- if (isMatch) {
- hasMatches = true;
- }
-
- totalScore += score;
-
- if (isMatch && indices) {
- allIndices = [...allIndices, ...indices];
- }
- });
-
- let result = {
- isMatch: hasMatches,
- score: hasMatches ? totalScore / this.chunks.length : 1
- };
-
- if (hasMatches && includeMatches) {
- result.indices = allIndices;
- }
-
- return result
- }
-}
-
-const registeredSearchers = [];
-
-function createSearcher(pattern, options) {
- for (let i = 0, len = registeredSearchers.length; i < len; i += 1) {
- let searcherClass = registeredSearchers[i];
- if (searcherClass.condition(pattern, options)) {
- return new searcherClass(pattern, options)
- }
- }
-
- return new BitapSearch(pattern, options)
-}
-
-const LogicalOperator = {
- AND: '$and',
- OR: '$or'
-};
-
-const KeyType = {
- PATH: '$path',
- PATTERN: '$val'
-};
-
-const isExpression = (query) =>
- !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);
-
-const isPath = (query) => !!query[KeyType.PATH];
-
-const isLeaf = (query) =>
- !isArray(query) && isObject(query) && !isExpression(query);
-
-const convertToExplicit = (query) => ({
- [LogicalOperator.AND]: Object.keys(query).map((key) => ({
- [key]: query[key]
- }))
-});
-
-// When `auto` is `true`, the parse function will infer and initialize and add
-// the appropriate `Searcher` instance
-function parse(query, options, { auto = true } = {}) {
- const next = (query) => {
- let keys = Object.keys(query);
-
- const isQueryPath = isPath(query);
-
- if (!isQueryPath && keys.length > 1 && !isExpression(query)) {
- return next(convertToExplicit(query))
- }
-
- if (isLeaf(query)) {
- const key = isQueryPath ? query[KeyType.PATH] : keys[0];
-
- const pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];
-
- if (!isString(pattern)) {
- throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key))
- }
-
- const obj = {
- keyId: createKeyId(key),
- pattern
- };
-
- if (auto) {
- obj.searcher = createSearcher(pattern, options);
- }
-
- return obj
- }
-
- let node = {
- children: [],
- operator: keys[0]
- };
-
- keys.forEach((key) => {
- const value = query[key];
-
- if (isArray(value)) {
- value.forEach((item) => {
- node.children.push(next(item));
- });
- }
- });
-
- return node
- };
-
- if (!isExpression(query)) {
- query = convertToExplicit(query);
- }
-
- return next(query)
-}
-
-// Practical scoring function
-function computeScore(
- results,
- { ignoreFieldNorm = Config.ignoreFieldNorm }
-) {
- results.forEach((result) => {
- let totalScore = 1;
-
- result.matches.forEach(({ key, norm, score }) => {
- const weight = key ? key.weight : null;
-
- totalScore *= Math.pow(
- score === 0 && weight ? Number.EPSILON : score,
- (weight || 1) * (ignoreFieldNorm ? 1 : norm)
- );
- });
-
- result.score = totalScore;
- });
-}
-
-function transformMatches(result, data) {
- const matches = result.matches;
- data.matches = [];
-
- if (!isDefined(matches)) {
- return
- }
-
- matches.forEach((match) => {
- if (!isDefined(match.indices) || !match.indices.length) {
- return
- }
-
- const { indices, value } = match;
-
- let obj = {
- indices,
- value
- };
-
- if (match.key) {
- obj.key = match.key.src;
- }
-
- if (match.idx > -1) {
- obj.refIndex = match.idx;
- }
-
- data.matches.push(obj);
- });
-}
-
-function transformScore(result, data) {
- data.score = result.score;
-}
-
-function format(
- results,
- docs,
- {
- includeMatches = Config.includeMatches,
- includeScore = Config.includeScore
- } = {}
-) {
- const transformers = [];
-
- if (includeMatches) transformers.push(transformMatches);
- if (includeScore) transformers.push(transformScore);
-
- return results.map((result) => {
- const { idx } = result;
-
- const data = {
- item: docs[idx],
- refIndex: idx
- };
-
- if (transformers.length) {
- transformers.forEach((transformer) => {
- transformer(result, data);
- });
- }
-
- return data
- })
-}
-
-class Fuse {
- constructor(docs, options = {}, index) {
- this.options = { ...Config, ...options };
-
- if (
- this.options.useExtendedSearch &&
- !false
- ) {
- throw new Error(EXTENDED_SEARCH_UNAVAILABLE)
- }
-
- this._keyStore = new KeyStore(this.options.keys);
-
- this.setCollection(docs, index);
- }
-
- setCollection(docs, index) {
- this._docs = docs;
-
- if (index && !(index instanceof FuseIndex)) {
- throw new Error(INCORRECT_INDEX_TYPE)
- }
-
- this._myIndex =
- index ||
- createIndex(this.options.keys, this._docs, {
- getFn: this.options.getFn,
- fieldNormWeight: this.options.fieldNormWeight
- });
- }
-
- add(doc) {
- if (!isDefined(doc)) {
- return
- }
-
- this._docs.push(doc);
- this._myIndex.add(doc);
- }
-
- remove(predicate = (/* doc, idx */) => false) {
- const results = [];
-
- for (let i = 0, len = this._docs.length; i < len; i += 1) {
- const doc = this._docs[i];
- if (predicate(doc, i)) {
- this.removeAt(i);
- i -= 1;
- len -= 1;
-
- results.push(doc);
- }
- }
-
- return results
- }
-
- removeAt(idx) {
- this._docs.splice(idx, 1);
- this._myIndex.removeAt(idx);
- }
-
- getIndex() {
- return this._myIndex
- }
-
- search(query, { limit = -1 } = {}) {
- const {
- includeMatches,
- includeScore,
- shouldSort,
- sortFn,
- ignoreFieldNorm
- } = this.options;
-
- let results = isString(query)
- ? isString(this._docs[0])
- ? this._searchStringList(query)
- : this._searchObjectList(query)
- : this._searchLogical(query);
-
- computeScore(results, { ignoreFieldNorm });
-
- if (shouldSort) {
- results.sort(sortFn);
- }
-
- if (isNumber(limit) && limit > -1) {
- results = results.slice(0, limit);
- }
-
- return format(results, this._docs, {
- includeMatches,
- includeScore
- })
- }
-
- _searchStringList(query) {
- const searcher = createSearcher(query, this.options);
- const { records } = this._myIndex;
- const results = [];
-
- // Iterate over every string in the index
- records.forEach(({ v: text, i: idx, n: norm }) => {
- if (!isDefined(text)) {
- return
- }
-
- const { isMatch, score, indices } = searcher.searchIn(text);
-
- if (isMatch) {
- results.push({
- item: text,
- idx,
- matches: [{ score, value: text, norm, indices }]
- });
- }
- });
-
- return results
- }
-
- _searchLogical(query) {
- {
- throw new Error(LOGICAL_SEARCH_UNAVAILABLE)
- }
- }
-
- _searchObjectList(query) {
- const searcher = createSearcher(query, this.options);
- const { keys, records } = this._myIndex;
- const results = [];
-
- // List is Array<Object>
- records.forEach(({ $: item, i: idx }) => {
- if (!isDefined(item)) {
- return
- }
-
- let matches = [];
-
- // Iterate over every key (i.e, path), and fetch the value at that key
- keys.forEach((key, keyIndex) => {
- matches.push(
- ...this._findMatches({
- key,
- value: item[keyIndex],
- searcher
- })
- );
- });
-
- if (matches.length) {
- results.push({
- idx,
- item,
- matches
- });
- }
- });
-
- return results
- }
- _findMatches({ key, value, searcher }) {
- if (!isDefined(value)) {
- return []
- }
-
- let matches = [];
-
- if (isArray(value)) {
- value.forEach(({ v: text, i: idx, n: norm }) => {
- if (!isDefined(text)) {
- return
- }
-
- const { isMatch, score, indices } = searcher.searchIn(text);
-
- if (isMatch) {
- matches.push({
- score,
- key,
- value: text,
- idx,
- norm,
- indices
- });
- }
- });
- } else {
- const { v: text, n: norm } = value;
-
- const { isMatch, score, indices } = searcher.searchIn(text);
-
- if (isMatch) {
- matches.push({ score, key, value: text, norm, indices });
- }
- }
-
- return matches
- }
-}
-
-Fuse.version = '6.6.2';
-Fuse.createIndex = createIndex;
-Fuse.parseIndex = parseIndex;
-Fuse.config = Config;
-
-{
- Fuse.parseQuery = parse;
-}
-
-export { Fuse as default };
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.basic.esm.min.js b/includes/search/node_modules/fuse.js/dist/fuse.basic.esm.min.js
deleted file mode 100644
index 2a2220c..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.basic.esm.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-function e(e){return Array.isArray?Array.isArray(e):"[object Array]"===o(e)}function t(e){return"string"==typeof e}function n(e){return"number"==typeof e}function i(e){return!0===e||!1===e||function(e){return function(e){return"object"==typeof e}(e)&&null!==e}(e)&&"[object Boolean]"==o(e)}function s(e){return null!=e}function r(e){return!e.trim().length}function o(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const c=Object.prototype.hasOwnProperty;class h{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach((e=>{let n=a(e);t+=n.weight,this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight})),this._keys.forEach((e=>{e.weight/=t}))}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function a(n){let i=null,s=null,r=null,o=1,h=null;if(t(n)||e(n))r=n,i=l(n),s=d(n);else{if(!c.call(n,"name"))throw new Error((e=>`Missing ${e} property in key`)("name"));const e=n.name;if(r=e,c.call(n,"weight")&&(o=n.weight,o<=0))throw new Error((e=>`Property 'weight' in key '${e}' must be a positive integer`)(e));i=l(e),s=d(e),h=n.getFn}return{path:i,id:s,weight:o,src:r,getFn:h}}function l(t){return e(t)?t:t.split(".")}function d(t){return e(t)?t.join("."):t}var u={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,...{useExtendedSearch:!1,getFn:function(r,o){let c=[],h=!1;const a=(r,o,l)=>{if(s(r))if(o[l]){const d=r[o[l]];if(!s(d))return;if(l===o.length-1&&(t(d)||n(d)||i(d)))c.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;let t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(d));else if(e(d)){h=!0;for(let e=0,t=d.length;e<t;e+=1)a(d[e],o,l+1)}else o.length&&a(d,o,l+1)}else c.push(r)};return a(r,t(o)?o.split("."):o,0),h?c:c[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}};const f=/[^ ]+/g;class g{constructor({getFn:e=u.getFn,fieldNormWeight:t=u.fieldNormWeight}={}){this.norm=function(e=1,t=3){const n=new Map,i=Math.pow(10,t);return{get(t){const s=t.match(f).length;if(n.has(s))return n.get(s);const r=1/Math.pow(s,.5*e),o=parseFloat(Math.round(r*i)/i);return n.set(s,o),o},clear(){n.clear()}}}(t,3),this.getFn=e,this.isCreated=!1,this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach(((e,t)=>{this._keysMap[e.id]=t}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,t(this.docs[0])?this.docs.forEach(((e,t)=>{this._addString(e,t)})):this.docs.forEach(((e,t)=>{this._addObject(e,t)})),this.norm.clear())}add(e){const n=this.size();t(e)?this._addString(e,n):this._addObject(e,n)}removeAt(e){this.records.splice(e,1);for(let t=e,n=this.size();t<n;t+=1)this.records[t].i-=1}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!s(e)||r(e))return;let n={v:e,i:t,n:this.norm.get(e)};this.records.push(n)}_addObject(n,i){let o={i:i,$:{}};this.keys.forEach(((i,c)=>{let h=i.getFn?i.getFn(n):this.getFn(n,i.path);if(s(h))if(e(h)){let n=[];const i=[{nestedArrIndex:-1,value:h}];for(;i.length;){const{nestedArrIndex:o,value:c}=i.pop();if(s(c))if(t(c)&&!r(c)){let e={v:c,i:o,n:this.norm.get(c)};n.push(e)}else e(c)&&c.forEach(((e,t)=>{i.push({nestedArrIndex:t,value:e})}))}o.$[c]=n}else if(t(h)&&!r(h)){let e={v:h,n:this.norm.get(h)};o.$[c]=e}})),this.records.push(o)}toJSON(){return{keys:this.keys,records:this.records}}}function p(e,t,{getFn:n=u.getFn,fieldNormWeight:i=u.fieldNormWeight}={}){const s=new g({getFn:n,fieldNormWeight:i});return s.setKeys(e.map(a)),s.setSources(t),s.create(),s}function m(e,{errors:t=0,currentLocation:n=0,expectedLocation:i=0,distance:s=u.distance,ignoreLocation:r=u.ignoreLocation}={}){const o=t/e.length;if(r)return o;const c=Math.abs(i-n);return s?o+c/s:c?1:o}function y(e,t,n,{location:i=u.location,distance:s=u.distance,threshold:r=u.threshold,findAllMatches:o=u.findAllMatches,minMatchCharLength:c=u.minMatchCharLength,includeMatches:h=u.includeMatches,ignoreLocation:a=u.ignoreLocation}={}){if(t.length>32)throw new Error(`Pattern length exceeds max of ${32}.`);const l=t.length,d=e.length,f=Math.max(0,Math.min(i,d));let g=r,p=f;const y=c>1||h,M=y?Array(d):[];let x;for(;(x=e.indexOf(t,p))>-1;){let e=m(t,{currentLocation:x,expectedLocation:f,distance:s,ignoreLocation:a});if(g=Math.min(e,g),p=x+l,y){let e=0;for(;e<l;)M[x+e]=1,e+=1}}p=-1;let L=[],_=1,k=l+d;const v=1<<l-1;for(let i=0;i<l;i+=1){let r=0,c=k;for(;r<c;){m(t,{errors:i,currentLocation:f+c,expectedLocation:f,distance:s,ignoreLocation:a})<=g?r=c:k=c,c=Math.floor((k-r)/2+r)}k=c;let h=Math.max(1,f-c+1),u=o?d:Math.min(f+c,d)+l,x=Array(u+2);x[u+1]=(1<<i)-1;for(let r=u;r>=h;r-=1){let o=r-1,c=n[e.charAt(o)];if(y&&(M[o]=+!!c),x[r]=(x[r+1]<<1|1)&c,i&&(x[r]|=(L[r+1]|L[r])<<1|1|L[r+1]),x[r]&v&&(_=m(t,{errors:i,currentLocation:o,expectedLocation:f,distance:s,ignoreLocation:a}),_<=g)){if(g=_,p=o,p<=f)break;h=Math.max(1,2*f-p)}}if(m(t,{errors:i+1,currentLocation:f,expectedLocation:f,distance:s,ignoreLocation:a})>g)break;L=x}const w={isMatch:p>=0,score:Math.max(.001,_)};if(y){const e=function(e=[],t=u.minMatchCharLength){let n=[],i=-1,s=-1,r=0;for(let o=e.length;r<o;r+=1){let o=e[r];o&&-1===i?i=r:o||-1===i||(s=r-1,s-i+1>=t&&n.push([i,s]),i=-1)}return e[r-1]&&r-i>=t&&n.push([i,r-1]),n}(M,c);e.length?h&&(w.indices=e):w.isMatch=!1}return w}function M(e){let t={};for(let n=0,i=e.length;n<i;n+=1){const s=e.charAt(n);t[s]=(t[s]||0)|1<<i-n-1}return t}class x{constructor(e,{location:t=u.location,threshold:n=u.threshold,distance:i=u.distance,includeMatches:s=u.includeMatches,findAllMatches:r=u.findAllMatches,minMatchCharLength:o=u.minMatchCharLength,isCaseSensitive:c=u.isCaseSensitive,ignoreLocation:h=u.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:i,includeMatches:s,findAllMatches:r,minMatchCharLength:o,isCaseSensitive:c,ignoreLocation:h},this.pattern=c?e:e.toLowerCase(),this.chunks=[],!this.pattern.length)return;const a=(e,t)=>{this.chunks.push({pattern:e,alphabet:M(e),startIndex:t})},l=this.pattern.length;if(l>32){let e=0;const t=l%32,n=l-t;for(;e<n;)a(this.pattern.substr(e,32),e),e+=32;if(t){const e=l-32;a(this.pattern.substr(e),e)}}else a(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,includeMatches:n}=this.options;if(t||(e=e.toLowerCase()),this.pattern===e){let t={isMatch:!0,score:0};return n&&(t.indices=[[0,e.length-1]]),t}const{location:i,distance:s,threshold:r,findAllMatches:o,minMatchCharLength:c,ignoreLocation:h}=this.options;let a=[],l=0,d=!1;this.chunks.forEach((({pattern:t,alphabet:u,startIndex:f})=>{const{isMatch:g,score:p,indices:m}=y(e,t,u,{location:i+f,distance:s,threshold:r,findAllMatches:o,minMatchCharLength:c,includeMatches:n,ignoreLocation:h});g&&(d=!0),l+=p,g&&m&&(a=[...a,...m])}));let u={isMatch:d,score:d?l/this.chunks.length:1};return d&&n&&(u.indices=a),u}}const L=[];function _(e,t){for(let n=0,i=L.length;n<i;n+=1){let i=L[n];if(i.condition(e,t))return new i(e,t)}return new x(e,t)}function k(e,t){const n=e.matches;t.matches=[],s(n)&&n.forEach((e=>{if(!s(e.indices)||!e.indices.length)return;const{indices:n,value:i}=e;let r={indices:n,value:i};e.key&&(r.key=e.key.src),e.idx>-1&&(r.refIndex=e.idx),t.matches.push(r)}))}function v(e,t){t.score=e.score}class w{constructor(e,t={},n){if(this.options={...u,...t},this.options.useExtendedSearch)throw new Error("Extended search is not available");this._keyStore=new h(this.options.keys),this.setCollection(e,n)}setCollection(e,t){if(this._docs=e,t&&!(t instanceof g))throw new Error("Incorrect 'index' type");this._myIndex=t||p(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(e){s(e)&&(this._docs.push(e),this._myIndex.add(e))}remove(e=(()=>!1)){const t=[];for(let n=0,i=this._docs.length;n<i;n+=1){const s=this._docs[n];e(s,n)&&(this.removeAt(n),n-=1,i-=1,t.push(s))}return t}removeAt(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}getIndex(){return this._myIndex}search(e,{limit:i=-1}={}){const{includeMatches:s,includeScore:r,shouldSort:o,sortFn:c,ignoreFieldNorm:h}=this.options;let a=t(e)?t(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return function(e,{ignoreFieldNorm:t=u.ignoreFieldNorm}){e.forEach((e=>{let n=1;e.matches.forEach((({key:e,norm:i,score:s})=>{const r=e?e.weight:null;n*=Math.pow(0===s&&r?Number.EPSILON:s,(r||1)*(t?1:i))})),e.score=n}))}(a,{ignoreFieldNorm:h}),o&&a.sort(c),n(i)&&i>-1&&(a=a.slice(0,i)),function(e,t,{includeMatches:n=u.includeMatches,includeScore:i=u.includeScore}={}){const s=[];return n&&s.push(k),i&&s.push(v),e.map((e=>{const{idx:n}=e,i={item:t[n],refIndex:n};return s.length&&s.forEach((t=>{t(e,i)})),i}))}(a,this._docs,{includeMatches:s,includeScore:r})}_searchStringList(e){const t=_(e,this.options),{records:n}=this._myIndex,i=[];return n.forEach((({v:e,i:n,n:r})=>{if(!s(e))return;const{isMatch:o,score:c,indices:h}=t.searchIn(e);o&&i.push({item:e,idx:n,matches:[{score:c,value:e,norm:r,indices:h}]})})),i}_searchLogical(e){throw new Error("Logical search is not available")}_searchObjectList(e){const t=_(e,this.options),{keys:n,records:i}=this._myIndex,r=[];return i.forEach((({$:e,i:i})=>{if(!s(e))return;let o=[];n.forEach(((n,i)=>{o.push(...this._findMatches({key:n,value:e[i],searcher:t}))})),o.length&&r.push({idx:i,item:e,matches:o})})),r}_findMatches({key:t,value:n,searcher:i}){if(!s(n))return[];let r=[];if(e(n))n.forEach((({v:e,i:n,n:o})=>{if(!s(e))return;const{isMatch:c,score:h,indices:a}=i.searchIn(e);c&&r.push({score:h,key:t,value:e,idx:n,norm:o,indices:a})}));else{const{v:e,n:s}=n,{isMatch:o,score:c,indices:h}=i.searchIn(e);o&&r.push({score:c,key:t,value:e,norm:s,indices:h})}return r}}w.version="6.6.2",w.createIndex=p,w.parseIndex=function(e,{getFn:t=u.getFn,fieldNormWeight:n=u.fieldNormWeight}={}){const{keys:i,records:s}=e,r=new g({getFn:t,fieldNormWeight:n});return r.setKeys(i),r.setIndexRecords(s),r},w.config=u;export{w as default}; \ No newline at end of file
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.basic.js b/includes/search/node_modules/fuse.js/dist/fuse.basic.js
deleted file mode 100644
index bf98d65..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.basic.js
+++ /dev/null
@@ -1,1473 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
- typeof define === 'function' && define.amd ? define(factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Fuse = factory());
-})(this, (function () { 'use strict';
-
- function ownKeys(object, enumerableOnly) {
- var keys = Object.keys(object);
-
- if (Object.getOwnPropertySymbols) {
- var symbols = Object.getOwnPropertySymbols(object);
- enumerableOnly && (symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- })), keys.push.apply(keys, symbols);
- }
-
- return keys;
- }
-
- function _objectSpread2(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = null != arguments[i] ? arguments[i] : {};
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
- _defineProperty(target, key, source[key]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
- });
- }
-
- return target;
- }
-
- function _typeof(obj) {
- "@babel/helpers - typeof";
-
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
- return typeof obj;
- } : function (obj) {
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- }, _typeof(obj);
- }
-
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
-
- function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
-
- function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- Object.defineProperty(Constructor, "prototype", {
- writable: false
- });
- return Constructor;
- }
-
- function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- } else {
- obj[key] = value;
- }
-
- return obj;
- }
-
- function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
- }
-
- function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
- }
-
- function _iterableToArray(iter) {
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
- }
-
- function _unsupportedIterableToArray(o, minLen) {
- if (!o) return;
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor) n = o.constructor.name;
- if (n === "Map" || n === "Set") return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
- }
-
- function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length;
-
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-
- return arr2;
- }
-
- function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function isArray(value) {
- return !Array.isArray ? getTag(value) === '[object Array]' : Array.isArray(value);
- } // Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js
-
- var INFINITY = 1 / 0;
- function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
-
- var result = value + '';
- return result == '0' && 1 / value == -INFINITY ? '-0' : result;
- }
- function toString(value) {
- return value == null ? '' : baseToString(value);
- }
- function isString(value) {
- return typeof value === 'string';
- }
- function isNumber(value) {
- return typeof value === 'number';
- } // Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js
-
- function isBoolean(value) {
- return value === true || value === false || isObjectLike(value) && getTag(value) == '[object Boolean]';
- }
- function isObject(value) {
- return _typeof(value) === 'object';
- } // Checks if `value` is object-like.
-
- function isObjectLike(value) {
- return isObject(value) && value !== null;
- }
- function isDefined(value) {
- return value !== undefined && value !== null;
- }
- function isBlank(value) {
- return !value.trim().length;
- } // Gets the `toStringTag` of `value`.
- // Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js
-
- function getTag(value) {
- return value == null ? value === undefined ? '[object Undefined]' : '[object Null]' : Object.prototype.toString.call(value);
- }
-
- var EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';
- var LOGICAL_SEARCH_UNAVAILABLE = 'Logical search is not available';
- var INCORRECT_INDEX_TYPE = "Incorrect 'index' type";
- var LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = function LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key) {
- return "Invalid value for key ".concat(key);
- };
- var PATTERN_LENGTH_TOO_LARGE = function PATTERN_LENGTH_TOO_LARGE(max) {
- return "Pattern length exceeds max of ".concat(max, ".");
- };
- var MISSING_KEY_PROPERTY = function MISSING_KEY_PROPERTY(name) {
- return "Missing ".concat(name, " property in key");
- };
- var INVALID_KEY_WEIGHT_VALUE = function INVALID_KEY_WEIGHT_VALUE(key) {
- return "Property 'weight' in key '".concat(key, "' must be a positive integer");
- };
-
- var hasOwn = Object.prototype.hasOwnProperty;
-
- var KeyStore = /*#__PURE__*/function () {
- function KeyStore(keys) {
- var _this = this;
-
- _classCallCheck(this, KeyStore);
-
- this._keys = [];
- this._keyMap = {};
- var totalWeight = 0;
- keys.forEach(function (key) {
- var obj = createKey(key);
- totalWeight += obj.weight;
-
- _this._keys.push(obj);
-
- _this._keyMap[obj.id] = obj;
- totalWeight += obj.weight;
- }); // Normalize weights so that their sum is equal to 1
-
- this._keys.forEach(function (key) {
- key.weight /= totalWeight;
- });
- }
-
- _createClass(KeyStore, [{
- key: "get",
- value: function get(keyId) {
- return this._keyMap[keyId];
- }
- }, {
- key: "keys",
- value: function keys() {
- return this._keys;
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return JSON.stringify(this._keys);
- }
- }]);
-
- return KeyStore;
- }();
- function createKey(key) {
- var path = null;
- var id = null;
- var src = null;
- var weight = 1;
- var getFn = null;
-
- if (isString(key) || isArray(key)) {
- src = key;
- path = createKeyPath(key);
- id = createKeyId(key);
- } else {
- if (!hasOwn.call(key, 'name')) {
- throw new Error(MISSING_KEY_PROPERTY('name'));
- }
-
- var name = key.name;
- src = name;
-
- if (hasOwn.call(key, 'weight')) {
- weight = key.weight;
-
- if (weight <= 0) {
- throw new Error(INVALID_KEY_WEIGHT_VALUE(name));
- }
- }
-
- path = createKeyPath(name);
- id = createKeyId(name);
- getFn = key.getFn;
- }
-
- return {
- path: path,
- id: id,
- weight: weight,
- src: src,
- getFn: getFn
- };
- }
- function createKeyPath(key) {
- return isArray(key) ? key : key.split('.');
- }
- function createKeyId(key) {
- return isArray(key) ? key.join('.') : key;
- }
-
- function get(obj, path) {
- var list = [];
- var arr = false;
-
- var deepGet = function deepGet(obj, path, index) {
- if (!isDefined(obj)) {
- return;
- }
-
- if (!path[index]) {
- // If there's no path left, we've arrived at the object we care about.
- list.push(obj);
- } else {
- var key = path[index];
- var value = obj[key];
-
- if (!isDefined(value)) {
- return;
- } // If we're at the last value in the path, and if it's a string/number/bool,
- // add it to the list
-
-
- if (index === path.length - 1 && (isString(value) || isNumber(value) || isBoolean(value))) {
- list.push(toString(value));
- } else if (isArray(value)) {
- arr = true; // Search each item in the array.
-
- for (var i = 0, len = value.length; i < len; i += 1) {
- deepGet(value[i], path, index + 1);
- }
- } else if (path.length) {
- // An object. Recurse further.
- deepGet(value, path, index + 1);
- }
- }
- }; // Backwards compatibility (since path used to be a string)
-
-
- deepGet(obj, isString(path) ? path.split('.') : path, 0);
- return arr ? list : list[0];
- }
-
- var MatchOptions = {
- // Whether the matches should be included in the result set. When `true`, each record in the result
- // set will include the indices of the matched characters.
- // These can consequently be used for highlighting purposes.
- includeMatches: false,
- // When `true`, the matching function will continue to the end of a search pattern even if
- // a perfect match has already been located in the string.
- findAllMatches: false,
- // Minimum number of characters that must be matched before a result is considered a match
- minMatchCharLength: 1
- };
- var BasicOptions = {
- // When `true`, the algorithm continues searching to the end of the input even if a perfect
- // match is found before the end of the same input.
- isCaseSensitive: false,
- // When true, the matching function will continue to the end of a search pattern even if
- includeScore: false,
- // List of properties that will be searched. This also supports nested properties.
- keys: [],
- // Whether to sort the result list, by score
- shouldSort: true,
- // Default sort function: sort by ascending score, ascending index
- sortFn: function sortFn(a, b) {
- return a.score === b.score ? a.idx < b.idx ? -1 : 1 : a.score < b.score ? -1 : 1;
- }
- };
- var FuzzyOptions = {
- // Approximately where in the text is the pattern expected to be found?
- location: 0,
- // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match
- // (of both letters and location), a threshold of '1.0' would match anything.
- threshold: 0.6,
- // Determines how close the match must be to the fuzzy location (specified above).
- // An exact letter match which is 'distance' characters away from the fuzzy location
- // would score as a complete mismatch. A distance of '0' requires the match be at
- // the exact location specified, a threshold of '1000' would require a perfect match
- // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.
- distance: 100
- };
- var AdvancedOptions = {
- // When `true`, it enables the use of unix-like search commands
- useExtendedSearch: false,
- // The get function to use when fetching an object's properties.
- // The default will search nested paths *ie foo.bar.baz*
- getFn: get,
- // When `true`, search will ignore `location` and `distance`, so it won't matter
- // where in the string the pattern appears.
- // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score
- ignoreLocation: false,
- // When `true`, the calculation for the relevance score (used for sorting) will
- // ignore the field-length norm.
- // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm
- ignoreFieldNorm: false,
- // The weight to determine how much field length norm effects scoring.
- fieldNormWeight: 1
- };
- var Config = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, BasicOptions), MatchOptions), FuzzyOptions), AdvancedOptions);
-
- var SPACE = /[^ ]+/g; // Field-length norm: the shorter the field, the higher the weight.
- // Set to 3 decimals to reduce index size.
-
- function norm() {
- var weight = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
- var mantissa = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
- var cache = new Map();
- var m = Math.pow(10, mantissa);
- return {
- get: function get(value) {
- var numTokens = value.match(SPACE).length;
-
- if (cache.has(numTokens)) {
- return cache.get(numTokens);
- } // Default function is 1/sqrt(x), weight makes that variable
-
-
- var norm = 1 / Math.pow(numTokens, 0.5 * weight); // In place of `toFixed(mantissa)`, for faster computation
-
- var n = parseFloat(Math.round(norm * m) / m);
- cache.set(numTokens, n);
- return n;
- },
- clear: function clear() {
- cache.clear();
- }
- };
- }
-
- var FuseIndex = /*#__PURE__*/function () {
- function FuseIndex() {
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref$getFn = _ref.getFn,
- getFn = _ref$getFn === void 0 ? Config.getFn : _ref$getFn,
- _ref$fieldNormWeight = _ref.fieldNormWeight,
- fieldNormWeight = _ref$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref$fieldNormWeight;
-
- _classCallCheck(this, FuseIndex);
-
- this.norm = norm(fieldNormWeight, 3);
- this.getFn = getFn;
- this.isCreated = false;
- this.setIndexRecords();
- }
-
- _createClass(FuseIndex, [{
- key: "setSources",
- value: function setSources() {
- var docs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.docs = docs;
- }
- }, {
- key: "setIndexRecords",
- value: function setIndexRecords() {
- var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.records = records;
- }
- }, {
- key: "setKeys",
- value: function setKeys() {
- var _this = this;
-
- var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.keys = keys;
- this._keysMap = {};
- keys.forEach(function (key, idx) {
- _this._keysMap[key.id] = idx;
- });
- }
- }, {
- key: "create",
- value: function create() {
- var _this2 = this;
-
- if (this.isCreated || !this.docs.length) {
- return;
- }
-
- this.isCreated = true; // List is Array<String>
-
- if (isString(this.docs[0])) {
- this.docs.forEach(function (doc, docIndex) {
- _this2._addString(doc, docIndex);
- });
- } else {
- // List is Array<Object>
- this.docs.forEach(function (doc, docIndex) {
- _this2._addObject(doc, docIndex);
- });
- }
-
- this.norm.clear();
- } // Adds a doc to the end of the index
-
- }, {
- key: "add",
- value: function add(doc) {
- var idx = this.size();
-
- if (isString(doc)) {
- this._addString(doc, idx);
- } else {
- this._addObject(doc, idx);
- }
- } // Removes the doc at the specified index of the index
-
- }, {
- key: "removeAt",
- value: function removeAt(idx) {
- this.records.splice(idx, 1); // Change ref index of every subsquent doc
-
- for (var i = idx, len = this.size(); i < len; i += 1) {
- this.records[i].i -= 1;
- }
- }
- }, {
- key: "getValueForItemAtKeyId",
- value: function getValueForItemAtKeyId(item, keyId) {
- return item[this._keysMap[keyId]];
- }
- }, {
- key: "size",
- value: function size() {
- return this.records.length;
- }
- }, {
- key: "_addString",
- value: function _addString(doc, docIndex) {
- if (!isDefined(doc) || isBlank(doc)) {
- return;
- }
-
- var record = {
- v: doc,
- i: docIndex,
- n: this.norm.get(doc)
- };
- this.records.push(record);
- }
- }, {
- key: "_addObject",
- value: function _addObject(doc, docIndex) {
- var _this3 = this;
-
- var record = {
- i: docIndex,
- $: {}
- }; // Iterate over every key (i.e, path), and fetch the value at that key
-
- this.keys.forEach(function (key, keyIndex) {
- var value = key.getFn ? key.getFn(doc) : _this3.getFn(doc, key.path);
-
- if (!isDefined(value)) {
- return;
- }
-
- if (isArray(value)) {
- (function () {
- var subRecords = [];
- var stack = [{
- nestedArrIndex: -1,
- value: value
- }];
-
- while (stack.length) {
- var _stack$pop = stack.pop(),
- nestedArrIndex = _stack$pop.nestedArrIndex,
- _value = _stack$pop.value;
-
- if (!isDefined(_value)) {
- continue;
- }
-
- if (isString(_value) && !isBlank(_value)) {
- var subRecord = {
- v: _value,
- i: nestedArrIndex,
- n: _this3.norm.get(_value)
- };
- subRecords.push(subRecord);
- } else if (isArray(_value)) {
- _value.forEach(function (item, k) {
- stack.push({
- nestedArrIndex: k,
- value: item
- });
- });
- } else ;
- }
-
- record.$[keyIndex] = subRecords;
- })();
- } else if (isString(value) && !isBlank(value)) {
- var subRecord = {
- v: value,
- n: _this3.norm.get(value)
- };
- record.$[keyIndex] = subRecord;
- }
- });
- this.records.push(record);
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return {
- keys: this.keys,
- records: this.records
- };
- }
- }]);
-
- return FuseIndex;
- }();
- function createIndex(keys, docs) {
- var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref2$getFn = _ref2.getFn,
- getFn = _ref2$getFn === void 0 ? Config.getFn : _ref2$getFn,
- _ref2$fieldNormWeight = _ref2.fieldNormWeight,
- fieldNormWeight = _ref2$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref2$fieldNormWeight;
-
- var myIndex = new FuseIndex({
- getFn: getFn,
- fieldNormWeight: fieldNormWeight
- });
- myIndex.setKeys(keys.map(createKey));
- myIndex.setSources(docs);
- myIndex.create();
- return myIndex;
- }
- function parseIndex(data) {
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref3$getFn = _ref3.getFn,
- getFn = _ref3$getFn === void 0 ? Config.getFn : _ref3$getFn,
- _ref3$fieldNormWeight = _ref3.fieldNormWeight,
- fieldNormWeight = _ref3$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref3$fieldNormWeight;
-
- var keys = data.keys,
- records = data.records;
- var myIndex = new FuseIndex({
- getFn: getFn,
- fieldNormWeight: fieldNormWeight
- });
- myIndex.setKeys(keys);
- myIndex.setIndexRecords(records);
- return myIndex;
- }
-
- function computeScore$1(pattern) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$errors = _ref.errors,
- errors = _ref$errors === void 0 ? 0 : _ref$errors,
- _ref$currentLocation = _ref.currentLocation,
- currentLocation = _ref$currentLocation === void 0 ? 0 : _ref$currentLocation,
- _ref$expectedLocation = _ref.expectedLocation,
- expectedLocation = _ref$expectedLocation === void 0 ? 0 : _ref$expectedLocation,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- var accuracy = errors / pattern.length;
-
- if (ignoreLocation) {
- return accuracy;
- }
-
- var proximity = Math.abs(expectedLocation - currentLocation);
-
- if (!distance) {
- // Dodge divide by zero error.
- return proximity ? 1.0 : accuracy;
- }
-
- return accuracy + proximity / distance;
- }
-
- function convertMaskToIndices() {
- var matchmask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- var minMatchCharLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Config.minMatchCharLength;
- var indices = [];
- var start = -1;
- var end = -1;
- var i = 0;
-
- for (var len = matchmask.length; i < len; i += 1) {
- var match = matchmask[i];
-
- if (match && start === -1) {
- start = i;
- } else if (!match && start !== -1) {
- end = i - 1;
-
- if (end - start + 1 >= minMatchCharLength) {
- indices.push([start, end]);
- }
-
- start = -1;
- }
- } // (i-1 - start) + 1 => i - start
-
-
- if (matchmask[i - 1] && i - start >= minMatchCharLength) {
- indices.push([start, i - 1]);
- }
-
- return indices;
- }
-
- // Machine word size
- var MAX_BITS = 32;
-
- function search(text, pattern, patternAlphabet) {
- var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- if (pattern.length > MAX_BITS) {
- throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS));
- }
-
- var patternLen = pattern.length; // Set starting location at beginning text and initialize the alphabet.
-
- var textLen = text.length; // Handle the case when location > text.length
-
- var expectedLocation = Math.max(0, Math.min(location, textLen)); // Highest score beyond which we give up.
-
- var currentThreshold = threshold; // Is there a nearby exact match? (speedup)
-
- var bestLocation = expectedLocation; // Performance: only computer matches when the minMatchCharLength > 1
- // OR if `includeMatches` is true.
-
- var computeMatches = minMatchCharLength > 1 || includeMatches; // A mask of the matches, used for building the indices
-
- var matchMask = computeMatches ? Array(textLen) : [];
- var index; // Get all exact matches, here for speed up
-
- while ((index = text.indexOf(pattern, bestLocation)) > -1) {
- var score = computeScore$1(pattern, {
- currentLocation: index,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
- currentThreshold = Math.min(score, currentThreshold);
- bestLocation = index + patternLen;
-
- if (computeMatches) {
- var i = 0;
-
- while (i < patternLen) {
- matchMask[index + i] = 1;
- i += 1;
- }
- }
- } // Reset the best location
-
-
- bestLocation = -1;
- var lastBitArr = [];
- var finalScore = 1;
- var binMax = patternLen + textLen;
- var mask = 1 << patternLen - 1;
-
- for (var _i = 0; _i < patternLen; _i += 1) {
- // Scan for the best match; each iteration allows for one more error.
- // Run a binary search to determine how far from the match location we can stray
- // at this error level.
- var binMin = 0;
- var binMid = binMax;
-
- while (binMin < binMid) {
- var _score2 = computeScore$1(pattern, {
- errors: _i,
- currentLocation: expectedLocation + binMid,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
-
- if (_score2 <= currentThreshold) {
- binMin = binMid;
- } else {
- binMax = binMid;
- }
-
- binMid = Math.floor((binMax - binMin) / 2 + binMin);
- } // Use the result from this iteration as the maximum for the next.
-
-
- binMax = binMid;
- var start = Math.max(1, expectedLocation - binMid + 1);
- var finish = findAllMatches ? textLen : Math.min(expectedLocation + binMid, textLen) + patternLen; // Initialize the bit array
-
- var bitArr = Array(finish + 2);
- bitArr[finish + 1] = (1 << _i) - 1;
-
- for (var j = finish; j >= start; j -= 1) {
- var currentLocation = j - 1;
- var charMatch = patternAlphabet[text.charAt(currentLocation)];
-
- if (computeMatches) {
- // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)
- matchMask[currentLocation] = +!!charMatch;
- } // First pass: exact match
-
-
- bitArr[j] = (bitArr[j + 1] << 1 | 1) & charMatch; // Subsequent passes: fuzzy match
-
- if (_i) {
- bitArr[j] |= (lastBitArr[j + 1] | lastBitArr[j]) << 1 | 1 | lastBitArr[j + 1];
- }
-
- if (bitArr[j] & mask) {
- finalScore = computeScore$1(pattern, {
- errors: _i,
- currentLocation: currentLocation,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- }); // This match will almost certainly be better than any existing match.
- // But check anyway.
-
- if (finalScore <= currentThreshold) {
- // Indeed it is
- currentThreshold = finalScore;
- bestLocation = currentLocation; // Already passed `loc`, downhill from here on in.
-
- if (bestLocation <= expectedLocation) {
- break;
- } // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.
-
-
- start = Math.max(1, 2 * expectedLocation - bestLocation);
- }
- }
- } // No hope for a (better) match at greater error levels.
-
-
- var _score = computeScore$1(pattern, {
- errors: _i + 1,
- currentLocation: expectedLocation,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
-
- if (_score > currentThreshold) {
- break;
- }
-
- lastBitArr = bitArr;
- }
-
- var result = {
- isMatch: bestLocation >= 0,
- // Count exact matches (those with a score of 0) to be "almost" exact
- score: Math.max(0.001, finalScore)
- };
-
- if (computeMatches) {
- var indices = convertMaskToIndices(matchMask, minMatchCharLength);
-
- if (!indices.length) {
- result.isMatch = false;
- } else if (includeMatches) {
- result.indices = indices;
- }
- }
-
- return result;
- }
-
- function createPatternAlphabet(pattern) {
- var mask = {};
-
- for (var i = 0, len = pattern.length; i < len; i += 1) {
- var _char = pattern.charAt(i);
-
- mask[_char] = (mask[_char] || 0) | 1 << len - i - 1;
- }
-
- return mask;
- }
-
- var BitapSearch = /*#__PURE__*/function () {
- function BitapSearch(pattern) {
- var _this = this;
-
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$isCaseSensitive = _ref.isCaseSensitive,
- isCaseSensitive = _ref$isCaseSensitive === void 0 ? Config.isCaseSensitive : _ref$isCaseSensitive,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- _classCallCheck(this, BitapSearch);
-
- this.options = {
- location: location,
- threshold: threshold,
- distance: distance,
- includeMatches: includeMatches,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- isCaseSensitive: isCaseSensitive,
- ignoreLocation: ignoreLocation
- };
- this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();
- this.chunks = [];
-
- if (!this.pattern.length) {
- return;
- }
-
- var addChunk = function addChunk(pattern, startIndex) {
- _this.chunks.push({
- pattern: pattern,
- alphabet: createPatternAlphabet(pattern),
- startIndex: startIndex
- });
- };
-
- var len = this.pattern.length;
-
- if (len > MAX_BITS) {
- var i = 0;
- var remainder = len % MAX_BITS;
- var end = len - remainder;
-
- while (i < end) {
- addChunk(this.pattern.substr(i, MAX_BITS), i);
- i += MAX_BITS;
- }
-
- if (remainder) {
- var startIndex = len - MAX_BITS;
- addChunk(this.pattern.substr(startIndex), startIndex);
- }
- } else {
- addChunk(this.pattern, 0);
- }
- }
-
- _createClass(BitapSearch, [{
- key: "searchIn",
- value: function searchIn(text) {
- var _this$options = this.options,
- isCaseSensitive = _this$options.isCaseSensitive,
- includeMatches = _this$options.includeMatches;
-
- if (!isCaseSensitive) {
- text = text.toLowerCase();
- } // Exact match
-
-
- if (this.pattern === text) {
- var _result = {
- isMatch: true,
- score: 0
- };
-
- if (includeMatches) {
- _result.indices = [[0, text.length - 1]];
- }
-
- return _result;
- } // Otherwise, use Bitap algorithm
-
-
- var _this$options2 = this.options,
- location = _this$options2.location,
- distance = _this$options2.distance,
- threshold = _this$options2.threshold,
- findAllMatches = _this$options2.findAllMatches,
- minMatchCharLength = _this$options2.minMatchCharLength,
- ignoreLocation = _this$options2.ignoreLocation;
- var allIndices = [];
- var totalScore = 0;
- var hasMatches = false;
- this.chunks.forEach(function (_ref2) {
- var pattern = _ref2.pattern,
- alphabet = _ref2.alphabet,
- startIndex = _ref2.startIndex;
-
- var _search = search(text, pattern, alphabet, {
- location: location + startIndex,
- distance: distance,
- threshold: threshold,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- includeMatches: includeMatches,
- ignoreLocation: ignoreLocation
- }),
- isMatch = _search.isMatch,
- score = _search.score,
- indices = _search.indices;
-
- if (isMatch) {
- hasMatches = true;
- }
-
- totalScore += score;
-
- if (isMatch && indices) {
- allIndices = [].concat(_toConsumableArray(allIndices), _toConsumableArray(indices));
- }
- });
- var result = {
- isMatch: hasMatches,
- score: hasMatches ? totalScore / this.chunks.length : 1
- };
-
- if (hasMatches && includeMatches) {
- result.indices = allIndices;
- }
-
- return result;
- }
- }]);
-
- return BitapSearch;
- }();
-
- var registeredSearchers = [];
- function createSearcher(pattern, options) {
- for (var i = 0, len = registeredSearchers.length; i < len; i += 1) {
- var searcherClass = registeredSearchers[i];
-
- if (searcherClass.condition(pattern, options)) {
- return new searcherClass(pattern, options);
- }
- }
-
- return new BitapSearch(pattern, options);
- }
-
- var LogicalOperator = {
- AND: '$and',
- OR: '$or'
- };
- var KeyType = {
- PATH: '$path',
- PATTERN: '$val'
- };
-
- var isExpression = function isExpression(query) {
- return !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);
- };
-
- var isPath = function isPath(query) {
- return !!query[KeyType.PATH];
- };
-
- var isLeaf = function isLeaf(query) {
- return !isArray(query) && isObject(query) && !isExpression(query);
- };
-
- var convertToExplicit = function convertToExplicit(query) {
- return _defineProperty({}, LogicalOperator.AND, Object.keys(query).map(function (key) {
- return _defineProperty({}, key, query[key]);
- }));
- }; // When `auto` is `true`, the parse function will infer and initialize and add
- // the appropriate `Searcher` instance
-
-
- function parse(query, options) {
- var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref3$auto = _ref3.auto,
- auto = _ref3$auto === void 0 ? true : _ref3$auto;
-
- var next = function next(query) {
- var keys = Object.keys(query);
- var isQueryPath = isPath(query);
-
- if (!isQueryPath && keys.length > 1 && !isExpression(query)) {
- return next(convertToExplicit(query));
- }
-
- if (isLeaf(query)) {
- var key = isQueryPath ? query[KeyType.PATH] : keys[0];
- var pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];
-
- if (!isString(pattern)) {
- throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key));
- }
-
- var obj = {
- keyId: createKeyId(key),
- pattern: pattern
- };
-
- if (auto) {
- obj.searcher = createSearcher(pattern, options);
- }
-
- return obj;
- }
-
- var node = {
- children: [],
- operator: keys[0]
- };
- keys.forEach(function (key) {
- var value = query[key];
-
- if (isArray(value)) {
- value.forEach(function (item) {
- node.children.push(next(item));
- });
- }
- });
- return node;
- };
-
- if (!isExpression(query)) {
- query = convertToExplicit(query);
- }
-
- return next(query);
- }
-
- function computeScore(results, _ref) {
- var _ref$ignoreFieldNorm = _ref.ignoreFieldNorm,
- ignoreFieldNorm = _ref$ignoreFieldNorm === void 0 ? Config.ignoreFieldNorm : _ref$ignoreFieldNorm;
- results.forEach(function (result) {
- var totalScore = 1;
- result.matches.forEach(function (_ref2) {
- var key = _ref2.key,
- norm = _ref2.norm,
- score = _ref2.score;
- var weight = key ? key.weight : null;
- totalScore *= Math.pow(score === 0 && weight ? Number.EPSILON : score, (weight || 1) * (ignoreFieldNorm ? 1 : norm));
- });
- result.score = totalScore;
- });
- }
-
- function transformMatches(result, data) {
- var matches = result.matches;
- data.matches = [];
-
- if (!isDefined(matches)) {
- return;
- }
-
- matches.forEach(function (match) {
- if (!isDefined(match.indices) || !match.indices.length) {
- return;
- }
-
- var indices = match.indices,
- value = match.value;
- var obj = {
- indices: indices,
- value: value
- };
-
- if (match.key) {
- obj.key = match.key.src;
- }
-
- if (match.idx > -1) {
- obj.refIndex = match.idx;
- }
-
- data.matches.push(obj);
- });
- }
-
- function transformScore(result, data) {
- data.score = result.score;
- }
-
- function format(results, docs) {
- var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$includeScore = _ref.includeScore,
- includeScore = _ref$includeScore === void 0 ? Config.includeScore : _ref$includeScore;
-
- var transformers = [];
- if (includeMatches) transformers.push(transformMatches);
- if (includeScore) transformers.push(transformScore);
- return results.map(function (result) {
- var idx = result.idx;
- var data = {
- item: docs[idx],
- refIndex: idx
- };
-
- if (transformers.length) {
- transformers.forEach(function (transformer) {
- transformer(result, data);
- });
- }
-
- return data;
- });
- }
-
- var Fuse$1 = /*#__PURE__*/function () {
- function Fuse(docs) {
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- var index = arguments.length > 2 ? arguments[2] : undefined;
-
- _classCallCheck(this, Fuse);
-
- this.options = _objectSpread2(_objectSpread2({}, Config), options);
-
- if (this.options.useExtendedSearch && !false) {
- throw new Error(EXTENDED_SEARCH_UNAVAILABLE);
- }
-
- this._keyStore = new KeyStore(this.options.keys);
- this.setCollection(docs, index);
- }
-
- _createClass(Fuse, [{
- key: "setCollection",
- value: function setCollection(docs, index) {
- this._docs = docs;
-
- if (index && !(index instanceof FuseIndex)) {
- throw new Error(INCORRECT_INDEX_TYPE);
- }
-
- this._myIndex = index || createIndex(this.options.keys, this._docs, {
- getFn: this.options.getFn,
- fieldNormWeight: this.options.fieldNormWeight
- });
- }
- }, {
- key: "add",
- value: function add(doc) {
- if (!isDefined(doc)) {
- return;
- }
-
- this._docs.push(doc);
-
- this._myIndex.add(doc);
- }
- }, {
- key: "remove",
- value: function remove() {
- var predicate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function
- /* doc, idx */
- () {
- return false;
- };
- var results = [];
-
- for (var i = 0, len = this._docs.length; i < len; i += 1) {
- var doc = this._docs[i];
-
- if (predicate(doc, i)) {
- this.removeAt(i);
- i -= 1;
- len -= 1;
- results.push(doc);
- }
- }
-
- return results;
- }
- }, {
- key: "removeAt",
- value: function removeAt(idx) {
- this._docs.splice(idx, 1);
-
- this._myIndex.removeAt(idx);
- }
- }, {
- key: "getIndex",
- value: function getIndex() {
- return this._myIndex;
- }
- }, {
- key: "search",
- value: function search(query) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$limit = _ref.limit,
- limit = _ref$limit === void 0 ? -1 : _ref$limit;
-
- var _this$options = this.options,
- includeMatches = _this$options.includeMatches,
- includeScore = _this$options.includeScore,
- shouldSort = _this$options.shouldSort,
- sortFn = _this$options.sortFn,
- ignoreFieldNorm = _this$options.ignoreFieldNorm;
- var results = isString(query) ? isString(this._docs[0]) ? this._searchStringList(query) : this._searchObjectList(query) : this._searchLogical(query);
- computeScore(results, {
- ignoreFieldNorm: ignoreFieldNorm
- });
-
- if (shouldSort) {
- results.sort(sortFn);
- }
-
- if (isNumber(limit) && limit > -1) {
- results = results.slice(0, limit);
- }
-
- return format(results, this._docs, {
- includeMatches: includeMatches,
- includeScore: includeScore
- });
- }
- }, {
- key: "_searchStringList",
- value: function _searchStringList(query) {
- var searcher = createSearcher(query, this.options);
- var records = this._myIndex.records;
- var results = []; // Iterate over every string in the index
-
- records.forEach(function (_ref2) {
- var text = _ref2.v,
- idx = _ref2.i,
- norm = _ref2.n;
-
- if (!isDefined(text)) {
- return;
- }
-
- var _searcher$searchIn = searcher.searchIn(text),
- isMatch = _searcher$searchIn.isMatch,
- score = _searcher$searchIn.score,
- indices = _searcher$searchIn.indices;
-
- if (isMatch) {
- results.push({
- item: text,
- idx: idx,
- matches: [{
- score: score,
- value: text,
- norm: norm,
- indices: indices
- }]
- });
- }
- });
- return results;
- }
- }, {
- key: "_searchLogical",
- value: function _searchLogical(query) {
-
- {
- throw new Error(LOGICAL_SEARCH_UNAVAILABLE);
- }
- }
- }, {
- key: "_searchObjectList",
- value: function _searchObjectList(query) {
- var _this2 = this;
-
- var searcher = createSearcher(query, this.options);
- var _this$_myIndex = this._myIndex,
- keys = _this$_myIndex.keys,
- records = _this$_myIndex.records;
- var results = []; // List is Array<Object>
-
- records.forEach(function (_ref5) {
- var item = _ref5.$,
- idx = _ref5.i;
-
- if (!isDefined(item)) {
- return;
- }
-
- var matches = []; // Iterate over every key (i.e, path), and fetch the value at that key
-
- keys.forEach(function (key, keyIndex) {
- matches.push.apply(matches, _toConsumableArray(_this2._findMatches({
- key: key,
- value: item[keyIndex],
- searcher: searcher
- })));
- });
-
- if (matches.length) {
- results.push({
- idx: idx,
- item: item,
- matches: matches
- });
- }
- });
- return results;
- }
- }, {
- key: "_findMatches",
- value: function _findMatches(_ref6) {
- var key = _ref6.key,
- value = _ref6.value,
- searcher = _ref6.searcher;
-
- if (!isDefined(value)) {
- return [];
- }
-
- var matches = [];
-
- if (isArray(value)) {
- value.forEach(function (_ref7) {
- var text = _ref7.v,
- idx = _ref7.i,
- norm = _ref7.n;
-
- if (!isDefined(text)) {
- return;
- }
-
- var _searcher$searchIn2 = searcher.searchIn(text),
- isMatch = _searcher$searchIn2.isMatch,
- score = _searcher$searchIn2.score,
- indices = _searcher$searchIn2.indices;
-
- if (isMatch) {
- matches.push({
- score: score,
- key: key,
- value: text,
- idx: idx,
- norm: norm,
- indices: indices
- });
- }
- });
- } else {
- var text = value.v,
- norm = value.n;
-
- var _searcher$searchIn3 = searcher.searchIn(text),
- isMatch = _searcher$searchIn3.isMatch,
- score = _searcher$searchIn3.score,
- indices = _searcher$searchIn3.indices;
-
- if (isMatch) {
- matches.push({
- score: score,
- key: key,
- value: text,
- norm: norm,
- indices: indices
- });
- }
- }
-
- return matches;
- }
- }]);
-
- return Fuse;
- }();
-
- Fuse$1.version = '6.6.2';
- Fuse$1.createIndex = createIndex;
- Fuse$1.parseIndex = parseIndex;
- Fuse$1.config = Config;
-
- {
- Fuse$1.parseQuery = parse;
- }
-
- var Fuse = Fuse$1;
-
- return Fuse;
-
-}));
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.basic.min.js b/includes/search/node_modules/fuse.js/dist/fuse.basic.min.js
deleted file mode 100644
index 89477c6..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.basic.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function h(e){return Array.isArray?Array.isArray(e):"[object Array]"===g(e)}function u(e){return"string"==typeof e}function l(e){return"number"==typeof e}function d(e){return!0===e||!1===e||function(e){return function(e){return"object"===n(e)}(e)&&null!==e}(e)&&"[object Boolean]"==g(e)}function f(e){return null!=e}function v(e){return!e.trim().length}function g(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var y="Extended search is not available",p=function(e){return"Pattern length exceeds max of ".concat(e,".")},m=Object.prototype.hasOwnProperty,b=function(){function e(t){var n=this;r(this,e),this._keys=[],this._keyMap={};var i=0;t.forEach((function(e){var t=k(e);i+=t.weight,n._keys.push(t),n._keyMap[t.id]=t,i+=t.weight})),this._keys.forEach((function(e){e.weight/=i}))}return o(e,[{key:"get",value:function(e){return this._keyMap[e]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function k(e){var t=null,n=null,r=null,i=1,o=null;if(u(e)||h(e))r=e,t=M(e),n=w(e);else{if(!m.call(e,"name"))throw new Error(function(e){return"Missing ".concat(e," property in key")}("name"));var a=e.name;if(r=a,m.call(e,"weight")&&(i=e.weight)<=0)throw new Error(function(e){return"Property 'weight' in key '".concat(e,"' must be a positive integer")}(a));t=M(a),n=w(a),o=e.getFn}return{path:t,id:n,weight:i,src:r,getFn:o}}function M(e){return h(e)?e:e.split(".")}function w(e){return h(e)?e.join("."):e}var x={useExtendedSearch:!1,getFn:function(e,t){var n=[],r=!1;return function e(t,i,o){if(f(t))if(i[o]){var a=t[i[o]];if(!f(a))return;if(o===i.length-1&&(u(a)||l(a)||d(a)))n.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(a));else if(h(a)){r=!0;for(var c=0,s=a.length;c<s;c+=1)e(a[c],i,o+1)}else i.length&&e(a,i,o+1)}else n.push(t)}(e,u(t)?t.split("."):t,0),r?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},L=t(t(t(t({},{isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(e,t){return e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1}}),{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1}),{location:0,threshold:.6,distance:100}),x),_=/[^ ]+/g;function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=new Map,r=Math.pow(10,t);return{get:function(t){var i=t.match(_).length;if(n.has(i))return n.get(i);var o=1/Math.pow(i,.5*e),a=parseFloat(Math.round(o*r)/r);return n.set(i,a),a},clear:function(){n.clear()}}}var O=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,i=void 0===n?L.getFn:n,o=t.fieldNormWeight,a=void 0===o?L.fieldNormWeight:o;r(this,e),this.norm=S(a,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return o(e,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=t,this._keysMap={},t.forEach((function(t,n){e._keysMap[t.id]=n}))}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,u(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();u(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t<n;t+=1)this.records[t].i-=1}},{key:"getValueForItemAtKeyId",value:function(e,t){return e[this._keysMap[t]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(e,t){if(f(e)&&!v(e)){var n={v:e,i:t,n:this.norm.get(e)};this.records.push(n)}}},{key:"_addObject",value:function(e,t){var n=this,r={i:t,$:{}};this.keys.forEach((function(t,i){var o=t.getFn?t.getFn(e):n.getFn(e,t.path);if(f(o))if(h(o))!function(){for(var e=[],t=[{nestedArrIndex:-1,value:o}];t.length;){var a=t.pop(),c=a.nestedArrIndex,s=a.value;if(f(s))if(u(s)&&!v(s)){var l={v:s,i:c,n:n.norm.get(s)};e.push(l)}else h(s)&&s.forEach((function(e,n){t.push({nestedArrIndex:n,value:e})}))}r.$[i]=e}();else if(u(o)&&!v(o)){var a={v:o,n:n.norm.get(o)};r.$[i]=a}})),this.records.push(r)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function A(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?L.getFn:r,o=n.fieldNormWeight,a=void 0===o?L.fieldNormWeight:o,c=new O({getFn:i,fieldNormWeight:a});return c.setKeys(e.map(k)),c.setSources(t),c.create(),c}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.errors,r=void 0===n?0:n,i=t.currentLocation,o=void 0===i?0:i,a=t.expectedLocation,c=void 0===a?0:a,s=t.distance,h=void 0===s?L.distance:s,u=t.ignoreLocation,l=void 0===u?L.ignoreLocation:u,d=r/e.length;if(l)return d;var f=Math.abs(c-o);return h?d+f/h:f?1:d}function E(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:L.minMatchCharLength,n=[],r=-1,i=-1,o=0,a=e.length;o<a;o+=1){var c=e[o];c&&-1===r?r=o:c||-1===r||((i=o-1)-r+1>=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}var I=32;function F(e){for(var t={},n=0,r=e.length;n<r;n+=1){var i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}var C=function(){function e(t){var n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=i.location,a=void 0===o?L.location:o,c=i.threshold,s=void 0===c?L.threshold:c,h=i.distance,u=void 0===h?L.distance:h,l=i.includeMatches,d=void 0===l?L.includeMatches:l,f=i.findAllMatches,v=void 0===f?L.findAllMatches:f,g=i.minMatchCharLength,y=void 0===g?L.minMatchCharLength:g,p=i.isCaseSensitive,m=void 0===p?L.isCaseSensitive:p,b=i.ignoreLocation,k=void 0===b?L.ignoreLocation:b;if(r(this,e),this.options={location:a,threshold:s,distance:u,includeMatches:d,findAllMatches:v,minMatchCharLength:y,isCaseSensitive:m,ignoreLocation:k},this.pattern=m?t:t.toLowerCase(),this.chunks=[],this.pattern.length){var M=function(e,t){n.chunks.push({pattern:e,alphabet:F(e),startIndex:t})},w=this.pattern.length;if(w>I){for(var x=0,_=w%I,S=w-_;x<S;)M(this.pattern.substr(x,I),x),x+=I;if(_){var O=w-I;M(this.pattern.substr(O),O)}}else M(this.pattern,0)}}return o(e,[{key:"searchIn",value:function(e){var t=this.options,n=t.isCaseSensitive,r=t.includeMatches;if(n||(e=e.toLowerCase()),this.pattern===e){var i={isMatch:!0,score:0};return r&&(i.indices=[[0,e.length-1]]),i}var o=this.options,a=o.location,s=o.distance,h=o.threshold,u=o.findAllMatches,l=o.minMatchCharLength,d=o.ignoreLocation,f=[],v=0,g=!1;this.chunks.forEach((function(t){var n=t.pattern,i=t.alphabet,o=t.startIndex,y=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,o=void 0===i?L.location:i,a=r.distance,c=void 0===a?L.distance:a,s=r.threshold,h=void 0===s?L.threshold:s,u=r.findAllMatches,l=void 0===u?L.findAllMatches:u,d=r.minMatchCharLength,f=void 0===d?L.minMatchCharLength:d,v=r.includeMatches,g=void 0===v?L.includeMatches:v,y=r.ignoreLocation,m=void 0===y?L.ignoreLocation:y;if(t.length>I)throw new Error(p(I));for(var b,k=t.length,M=e.length,w=Math.max(0,Math.min(o,M)),x=h,_=w,S=f>1||g,O=S?Array(M):[];(b=e.indexOf(t,_))>-1;){var A=j(t,{currentLocation:b,expectedLocation:w,distance:c,ignoreLocation:m});if(x=Math.min(A,x),_=b+k,S)for(var F=0;F<k;)O[b+F]=1,F+=1}_=-1;for(var C=[],N=1,P=k+M,W=1<<k-1,$=0;$<k;$+=1){for(var D=0,K=P;D<K;)j(t,{errors:$,currentLocation:w+K,expectedLocation:w,distance:c,ignoreLocation:m})<=x?D=K:P=K,K=Math.floor((P-D)/2+D);P=K;var T=Math.max(1,w-K+1),z=l?M:Math.min(w+K,M)+k,J=Array(z+2);J[z+1]=(1<<$)-1;for(var R=z;R>=T;R-=1){var U=R-1,B=n[e.charAt(U)];if(S&&(O[U]=+!!B),J[R]=(J[R+1]<<1|1)&B,$&&(J[R]|=(C[R+1]|C[R])<<1|1|C[R+1]),J[R]&W&&(N=j(t,{errors:$,currentLocation:U,expectedLocation:w,distance:c,ignoreLocation:m}))<=x){if(x=N,(_=U)<=w)break;T=Math.max(1,2*w-_)}}if(j(t,{errors:$+1,currentLocation:w,expectedLocation:w,distance:c,ignoreLocation:m})>x)break;C=J}var V={isMatch:_>=0,score:Math.max(.001,N)};if(S){var q=E(O,f);q.length?g&&(V.indices=q):V.isMatch=!1}return V}(e,n,i,{location:a+o,distance:s,threshold:h,findAllMatches:u,minMatchCharLength:l,includeMatches:r,ignoreLocation:d}),m=y.isMatch,b=y.score,k=y.indices;m&&(g=!0),v+=b,m&&k&&(f=[].concat(c(f),c(k)))}));var y={isMatch:g,score:g?v/this.chunks.length:1};return g&&r&&(y.indices=f),y}}]),e}(),N=[];function P(e,t){for(var n=0,r=N.length;n<r;n+=1){var i=N[n];if(i.condition(e,t))return new i(e,t)}return new C(e,t)}function W(e,t){var n=t.ignoreFieldNorm,r=void 0===n?L.ignoreFieldNorm:n;e.forEach((function(e){var t=1;e.matches.forEach((function(e){var n=e.key,i=e.norm,o=e.score,a=n?n.weight:null;t*=Math.pow(0===o&&a?Number.EPSILON:o,(a||1)*(r?1:i))})),e.score=t}))}function $(e,t){var n=e.matches;t.matches=[],f(n)&&n.forEach((function(e){if(f(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.src),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function D(e,t){t.score=e.score}function K(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?L.includeMatches:r,o=n.includeScore,a=void 0===o?L.includeScore:o,c=[];return i&&c.push($),a&&c.push(D),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return c.length&&c.forEach((function(t){t(e,r)})),r}))}var T=function(){function e(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;if(r(this,e),this.options=t(t({},L),i),this.options.useExtendedSearch)throw new Error(y);this._keyStore=new b(this.options.keys),this.setCollection(n,o)}return o(e,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof O))throw new Error("Incorrect 'index' type");this._myIndex=t||A(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){f(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},t=[],n=0,r=this._docs.length;n<r;n+=1){var i=this._docs[n];e(i,n)&&(this.removeAt(n),n-=1,r-=1,t.push(i))}return t}},{key:"removeAt",value:function(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.limit,r=void 0===n?-1:n,i=this.options,o=i.includeMatches,a=i.includeScore,c=i.shouldSort,s=i.sortFn,h=i.ignoreFieldNorm,d=u(e)?u(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return W(d,{ignoreFieldNorm:h}),c&&d.sort(s),l(r)&&r>-1&&(d=d.slice(0,r)),K(d,this._docs,{includeMatches:o,includeScore:a})}},{key:"_searchStringList",value:function(e){var t=P(e,this.options),n=this._myIndex.records,r=[];return n.forEach((function(e){var n=e.v,i=e.i,o=e.n;if(f(n)){var a=t.searchIn(n),c=a.isMatch,s=a.score,h=a.indices;c&&r.push({item:n,idx:i,matches:[{score:s,value:n,norm:o,indices:h}]})}})),r}},{key:"_searchLogical",value:function(e){throw new Error("Logical search is not available")}},{key:"_searchObjectList",value:function(e){var t=this,n=P(e,this.options),r=this._myIndex,i=r.keys,o=r.records,a=[];return o.forEach((function(e){var r=e.$,o=e.i;if(f(r)){var s=[];i.forEach((function(e,i){s.push.apply(s,c(t._findMatches({key:e,value:r[i],searcher:n})))})),s.length&&a.push({idx:o,item:r,matches:s})}})),a}},{key:"_findMatches",value:function(e){var t=e.key,n=e.value,r=e.searcher;if(!f(n))return[];var i=[];if(h(n))n.forEach((function(e){var n=e.v,o=e.i,a=e.n;if(f(n)){var c=r.searchIn(n),s=c.isMatch,h=c.score,u=c.indices;s&&i.push({score:h,key:t,value:n,idx:o,norm:a,indices:u})}}));else{var o=n.v,a=n.n,c=r.searchIn(o),s=c.isMatch,u=c.score,l=c.indices;s&&i.push({score:u,key:t,value:o,norm:a,indices:l})}return i}}]),e}();return T.version="6.6.2",T.createIndex=A,T.parseIndex=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?L.getFn:n,i=t.fieldNormWeight,o=void 0===i?L.fieldNormWeight:i,a=e.keys,c=e.records,s=new O({getFn:r,fieldNormWeight:o});return s.setKeys(a),s.setIndexRecords(c),s},T.config=L,T},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t(); \ No newline at end of file
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.common.js b/includes/search/node_modules/fuse.js/dist/fuse.common.js
deleted file mode 100644
index 2d4293c..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.common.js
+++ /dev/null
@@ -1,2234 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-
-'use strict';
-
-function ownKeys(object, enumerableOnly) {
- var keys = Object.keys(object);
-
- if (Object.getOwnPropertySymbols) {
- var symbols = Object.getOwnPropertySymbols(object);
- enumerableOnly && (symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- })), keys.push.apply(keys, symbols);
- }
-
- return keys;
-}
-
-function _objectSpread2(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = null != arguments[i] ? arguments[i] : {};
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
- _defineProperty(target, key, source[key]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
- });
- }
-
- return target;
-}
-
-function _typeof(obj) {
- "@babel/helpers - typeof";
-
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
- return typeof obj;
- } : function (obj) {
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- }, _typeof(obj);
-}
-
-function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
-}
-
-function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
-}
-
-function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- Object.defineProperty(Constructor, "prototype", {
- writable: false
- });
- return Constructor;
-}
-
-function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- } else {
- obj[key] = value;
- }
-
- return obj;
-}
-
-function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- Object.defineProperty(subClass, "prototype", {
- value: Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
- }
- }),
- writable: false
- });
- if (superClass) _setPrototypeOf(subClass, superClass);
-}
-
-function _getPrototypeOf(o) {
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
- return o.__proto__ || Object.getPrototypeOf(o);
- };
- return _getPrototypeOf(o);
-}
-
-function _setPrototypeOf(o, p) {
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- };
-
- return _setPrototypeOf(o, p);
-}
-
-function _isNativeReflectConstruct() {
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
- if (Reflect.construct.sham) return false;
- if (typeof Proxy === "function") return true;
-
- try {
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
- return true;
- } catch (e) {
- return false;
- }
-}
-
-function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return self;
-}
-
-function _possibleConstructorReturn(self, call) {
- if (call && (typeof call === "object" || typeof call === "function")) {
- return call;
- } else if (call !== void 0) {
- throw new TypeError("Derived constructors may only return object or undefined");
- }
-
- return _assertThisInitialized(self);
-}
-
-function _createSuper(Derived) {
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
-
- return function _createSuperInternal() {
- var Super = _getPrototypeOf(Derived),
- result;
-
- if (hasNativeReflectConstruct) {
- var NewTarget = _getPrototypeOf(this).constructor;
-
- result = Reflect.construct(Super, arguments, NewTarget);
- } else {
- result = Super.apply(this, arguments);
- }
-
- return _possibleConstructorReturn(this, result);
- };
-}
-
-function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
-}
-
-function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
-}
-
-function _iterableToArray(iter) {
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
-}
-
-function _unsupportedIterableToArray(o, minLen) {
- if (!o) return;
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor) n = o.constructor.name;
- if (n === "Map" || n === "Set") return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
-}
-
-function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length;
-
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-
- return arr2;
-}
-
-function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
-}
-
-function isArray(value) {
- return !Array.isArray ? getTag(value) === '[object Array]' : Array.isArray(value);
-} // Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js
-
-var INFINITY = 1 / 0;
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
-
- var result = value + '';
- return result == '0' && 1 / value == -INFINITY ? '-0' : result;
-}
-function toString(value) {
- return value == null ? '' : baseToString(value);
-}
-function isString(value) {
- return typeof value === 'string';
-}
-function isNumber(value) {
- return typeof value === 'number';
-} // Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js
-
-function isBoolean(value) {
- return value === true || value === false || isObjectLike(value) && getTag(value) == '[object Boolean]';
-}
-function isObject(value) {
- return _typeof(value) === 'object';
-} // Checks if `value` is object-like.
-
-function isObjectLike(value) {
- return isObject(value) && value !== null;
-}
-function isDefined(value) {
- return value !== undefined && value !== null;
-}
-function isBlank(value) {
- return !value.trim().length;
-} // Gets the `toStringTag` of `value`.
-// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js
-
-function getTag(value) {
- return value == null ? value === undefined ? '[object Undefined]' : '[object Null]' : Object.prototype.toString.call(value);
-}
-
-var EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';
-var INCORRECT_INDEX_TYPE = "Incorrect 'index' type";
-var LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = function LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key) {
- return "Invalid value for key ".concat(key);
-};
-var PATTERN_LENGTH_TOO_LARGE = function PATTERN_LENGTH_TOO_LARGE(max) {
- return "Pattern length exceeds max of ".concat(max, ".");
-};
-var MISSING_KEY_PROPERTY = function MISSING_KEY_PROPERTY(name) {
- return "Missing ".concat(name, " property in key");
-};
-var INVALID_KEY_WEIGHT_VALUE = function INVALID_KEY_WEIGHT_VALUE(key) {
- return "Property 'weight' in key '".concat(key, "' must be a positive integer");
-};
-
-var hasOwn = Object.prototype.hasOwnProperty;
-
-var KeyStore = /*#__PURE__*/function () {
- function KeyStore(keys) {
- var _this = this;
-
- _classCallCheck(this, KeyStore);
-
- this._keys = [];
- this._keyMap = {};
- var totalWeight = 0;
- keys.forEach(function (key) {
- var obj = createKey(key);
- totalWeight += obj.weight;
-
- _this._keys.push(obj);
-
- _this._keyMap[obj.id] = obj;
- totalWeight += obj.weight;
- }); // Normalize weights so that their sum is equal to 1
-
- this._keys.forEach(function (key) {
- key.weight /= totalWeight;
- });
- }
-
- _createClass(KeyStore, [{
- key: "get",
- value: function get(keyId) {
- return this._keyMap[keyId];
- }
- }, {
- key: "keys",
- value: function keys() {
- return this._keys;
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return JSON.stringify(this._keys);
- }
- }]);
-
- return KeyStore;
-}();
-function createKey(key) {
- var path = null;
- var id = null;
- var src = null;
- var weight = 1;
- var getFn = null;
-
- if (isString(key) || isArray(key)) {
- src = key;
- path = createKeyPath(key);
- id = createKeyId(key);
- } else {
- if (!hasOwn.call(key, 'name')) {
- throw new Error(MISSING_KEY_PROPERTY('name'));
- }
-
- var name = key.name;
- src = name;
-
- if (hasOwn.call(key, 'weight')) {
- weight = key.weight;
-
- if (weight <= 0) {
- throw new Error(INVALID_KEY_WEIGHT_VALUE(name));
- }
- }
-
- path = createKeyPath(name);
- id = createKeyId(name);
- getFn = key.getFn;
- }
-
- return {
- path: path,
- id: id,
- weight: weight,
- src: src,
- getFn: getFn
- };
-}
-function createKeyPath(key) {
- return isArray(key) ? key : key.split('.');
-}
-function createKeyId(key) {
- return isArray(key) ? key.join('.') : key;
-}
-
-function get(obj, path) {
- var list = [];
- var arr = false;
-
- var deepGet = function deepGet(obj, path, index) {
- if (!isDefined(obj)) {
- return;
- }
-
- if (!path[index]) {
- // If there's no path left, we've arrived at the object we care about.
- list.push(obj);
- } else {
- var key = path[index];
- var value = obj[key];
-
- if (!isDefined(value)) {
- return;
- } // If we're at the last value in the path, and if it's a string/number/bool,
- // add it to the list
-
-
- if (index === path.length - 1 && (isString(value) || isNumber(value) || isBoolean(value))) {
- list.push(toString(value));
- } else if (isArray(value)) {
- arr = true; // Search each item in the array.
-
- for (var i = 0, len = value.length; i < len; i += 1) {
- deepGet(value[i], path, index + 1);
- }
- } else if (path.length) {
- // An object. Recurse further.
- deepGet(value, path, index + 1);
- }
- }
- }; // Backwards compatibility (since path used to be a string)
-
-
- deepGet(obj, isString(path) ? path.split('.') : path, 0);
- return arr ? list : list[0];
-}
-
-var MatchOptions = {
- // Whether the matches should be included in the result set. When `true`, each record in the result
- // set will include the indices of the matched characters.
- // These can consequently be used for highlighting purposes.
- includeMatches: false,
- // When `true`, the matching function will continue to the end of a search pattern even if
- // a perfect match has already been located in the string.
- findAllMatches: false,
- // Minimum number of characters that must be matched before a result is considered a match
- minMatchCharLength: 1
-};
-var BasicOptions = {
- // When `true`, the algorithm continues searching to the end of the input even if a perfect
- // match is found before the end of the same input.
- isCaseSensitive: false,
- // When true, the matching function will continue to the end of a search pattern even if
- includeScore: false,
- // List of properties that will be searched. This also supports nested properties.
- keys: [],
- // Whether to sort the result list, by score
- shouldSort: true,
- // Default sort function: sort by ascending score, ascending index
- sortFn: function sortFn(a, b) {
- return a.score === b.score ? a.idx < b.idx ? -1 : 1 : a.score < b.score ? -1 : 1;
- }
-};
-var FuzzyOptions = {
- // Approximately where in the text is the pattern expected to be found?
- location: 0,
- // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match
- // (of both letters and location), a threshold of '1.0' would match anything.
- threshold: 0.6,
- // Determines how close the match must be to the fuzzy location (specified above).
- // An exact letter match which is 'distance' characters away from the fuzzy location
- // would score as a complete mismatch. A distance of '0' requires the match be at
- // the exact location specified, a threshold of '1000' would require a perfect match
- // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.
- distance: 100
-};
-var AdvancedOptions = {
- // When `true`, it enables the use of unix-like search commands
- useExtendedSearch: false,
- // The get function to use when fetching an object's properties.
- // The default will search nested paths *ie foo.bar.baz*
- getFn: get,
- // When `true`, search will ignore `location` and `distance`, so it won't matter
- // where in the string the pattern appears.
- // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score
- ignoreLocation: false,
- // When `true`, the calculation for the relevance score (used for sorting) will
- // ignore the field-length norm.
- // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm
- ignoreFieldNorm: false,
- // The weight to determine how much field length norm effects scoring.
- fieldNormWeight: 1
-};
-var Config = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, BasicOptions), MatchOptions), FuzzyOptions), AdvancedOptions);
-
-var SPACE = /[^ ]+/g; // Field-length norm: the shorter the field, the higher the weight.
-// Set to 3 decimals to reduce index size.
-
-function norm() {
- var weight = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
- var mantissa = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
- var cache = new Map();
- var m = Math.pow(10, mantissa);
- return {
- get: function get(value) {
- var numTokens = value.match(SPACE).length;
-
- if (cache.has(numTokens)) {
- return cache.get(numTokens);
- } // Default function is 1/sqrt(x), weight makes that variable
-
-
- var norm = 1 / Math.pow(numTokens, 0.5 * weight); // In place of `toFixed(mantissa)`, for faster computation
-
- var n = parseFloat(Math.round(norm * m) / m);
- cache.set(numTokens, n);
- return n;
- },
- clear: function clear() {
- cache.clear();
- }
- };
-}
-
-var FuseIndex = /*#__PURE__*/function () {
- function FuseIndex() {
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref$getFn = _ref.getFn,
- getFn = _ref$getFn === void 0 ? Config.getFn : _ref$getFn,
- _ref$fieldNormWeight = _ref.fieldNormWeight,
- fieldNormWeight = _ref$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref$fieldNormWeight;
-
- _classCallCheck(this, FuseIndex);
-
- this.norm = norm(fieldNormWeight, 3);
- this.getFn = getFn;
- this.isCreated = false;
- this.setIndexRecords();
- }
-
- _createClass(FuseIndex, [{
- key: "setSources",
- value: function setSources() {
- var docs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.docs = docs;
- }
- }, {
- key: "setIndexRecords",
- value: function setIndexRecords() {
- var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.records = records;
- }
- }, {
- key: "setKeys",
- value: function setKeys() {
- var _this = this;
-
- var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.keys = keys;
- this._keysMap = {};
- keys.forEach(function (key, idx) {
- _this._keysMap[key.id] = idx;
- });
- }
- }, {
- key: "create",
- value: function create() {
- var _this2 = this;
-
- if (this.isCreated || !this.docs.length) {
- return;
- }
-
- this.isCreated = true; // List is Array<String>
-
- if (isString(this.docs[0])) {
- this.docs.forEach(function (doc, docIndex) {
- _this2._addString(doc, docIndex);
- });
- } else {
- // List is Array<Object>
- this.docs.forEach(function (doc, docIndex) {
- _this2._addObject(doc, docIndex);
- });
- }
-
- this.norm.clear();
- } // Adds a doc to the end of the index
-
- }, {
- key: "add",
- value: function add(doc) {
- var idx = this.size();
-
- if (isString(doc)) {
- this._addString(doc, idx);
- } else {
- this._addObject(doc, idx);
- }
- } // Removes the doc at the specified index of the index
-
- }, {
- key: "removeAt",
- value: function removeAt(idx) {
- this.records.splice(idx, 1); // Change ref index of every subsquent doc
-
- for (var i = idx, len = this.size(); i < len; i += 1) {
- this.records[i].i -= 1;
- }
- }
- }, {
- key: "getValueForItemAtKeyId",
- value: function getValueForItemAtKeyId(item, keyId) {
- return item[this._keysMap[keyId]];
- }
- }, {
- key: "size",
- value: function size() {
- return this.records.length;
- }
- }, {
- key: "_addString",
- value: function _addString(doc, docIndex) {
- if (!isDefined(doc) || isBlank(doc)) {
- return;
- }
-
- var record = {
- v: doc,
- i: docIndex,
- n: this.norm.get(doc)
- };
- this.records.push(record);
- }
- }, {
- key: "_addObject",
- value: function _addObject(doc, docIndex) {
- var _this3 = this;
-
- var record = {
- i: docIndex,
- $: {}
- }; // Iterate over every key (i.e, path), and fetch the value at that key
-
- this.keys.forEach(function (key, keyIndex) {
- var value = key.getFn ? key.getFn(doc) : _this3.getFn(doc, key.path);
-
- if (!isDefined(value)) {
- return;
- }
-
- if (isArray(value)) {
- (function () {
- var subRecords = [];
- var stack = [{
- nestedArrIndex: -1,
- value: value
- }];
-
- while (stack.length) {
- var _stack$pop = stack.pop(),
- nestedArrIndex = _stack$pop.nestedArrIndex,
- _value = _stack$pop.value;
-
- if (!isDefined(_value)) {
- continue;
- }
-
- if (isString(_value) && !isBlank(_value)) {
- var subRecord = {
- v: _value,
- i: nestedArrIndex,
- n: _this3.norm.get(_value)
- };
- subRecords.push(subRecord);
- } else if (isArray(_value)) {
- _value.forEach(function (item, k) {
- stack.push({
- nestedArrIndex: k,
- value: item
- });
- });
- } else ;
- }
-
- record.$[keyIndex] = subRecords;
- })();
- } else if (isString(value) && !isBlank(value)) {
- var subRecord = {
- v: value,
- n: _this3.norm.get(value)
- };
- record.$[keyIndex] = subRecord;
- }
- });
- this.records.push(record);
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return {
- keys: this.keys,
- records: this.records
- };
- }
- }]);
-
- return FuseIndex;
-}();
-function createIndex(keys, docs) {
- var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref2$getFn = _ref2.getFn,
- getFn = _ref2$getFn === void 0 ? Config.getFn : _ref2$getFn,
- _ref2$fieldNormWeight = _ref2.fieldNormWeight,
- fieldNormWeight = _ref2$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref2$fieldNormWeight;
-
- var myIndex = new FuseIndex({
- getFn: getFn,
- fieldNormWeight: fieldNormWeight
- });
- myIndex.setKeys(keys.map(createKey));
- myIndex.setSources(docs);
- myIndex.create();
- return myIndex;
-}
-function parseIndex(data) {
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref3$getFn = _ref3.getFn,
- getFn = _ref3$getFn === void 0 ? Config.getFn : _ref3$getFn,
- _ref3$fieldNormWeight = _ref3.fieldNormWeight,
- fieldNormWeight = _ref3$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref3$fieldNormWeight;
-
- var keys = data.keys,
- records = data.records;
- var myIndex = new FuseIndex({
- getFn: getFn,
- fieldNormWeight: fieldNormWeight
- });
- myIndex.setKeys(keys);
- myIndex.setIndexRecords(records);
- return myIndex;
-}
-
-function computeScore$1(pattern) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$errors = _ref.errors,
- errors = _ref$errors === void 0 ? 0 : _ref$errors,
- _ref$currentLocation = _ref.currentLocation,
- currentLocation = _ref$currentLocation === void 0 ? 0 : _ref$currentLocation,
- _ref$expectedLocation = _ref.expectedLocation,
- expectedLocation = _ref$expectedLocation === void 0 ? 0 : _ref$expectedLocation,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- var accuracy = errors / pattern.length;
-
- if (ignoreLocation) {
- return accuracy;
- }
-
- var proximity = Math.abs(expectedLocation - currentLocation);
-
- if (!distance) {
- // Dodge divide by zero error.
- return proximity ? 1.0 : accuracy;
- }
-
- return accuracy + proximity / distance;
-}
-
-function convertMaskToIndices() {
- var matchmask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- var minMatchCharLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Config.minMatchCharLength;
- var indices = [];
- var start = -1;
- var end = -1;
- var i = 0;
-
- for (var len = matchmask.length; i < len; i += 1) {
- var match = matchmask[i];
-
- if (match && start === -1) {
- start = i;
- } else if (!match && start !== -1) {
- end = i - 1;
-
- if (end - start + 1 >= minMatchCharLength) {
- indices.push([start, end]);
- }
-
- start = -1;
- }
- } // (i-1 - start) + 1 => i - start
-
-
- if (matchmask[i - 1] && i - start >= minMatchCharLength) {
- indices.push([start, i - 1]);
- }
-
- return indices;
-}
-
-// Machine word size
-var MAX_BITS = 32;
-
-function search(text, pattern, patternAlphabet) {
- var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- if (pattern.length > MAX_BITS) {
- throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS));
- }
-
- var patternLen = pattern.length; // Set starting location at beginning text and initialize the alphabet.
-
- var textLen = text.length; // Handle the case when location > text.length
-
- var expectedLocation = Math.max(0, Math.min(location, textLen)); // Highest score beyond which we give up.
-
- var currentThreshold = threshold; // Is there a nearby exact match? (speedup)
-
- var bestLocation = expectedLocation; // Performance: only computer matches when the minMatchCharLength > 1
- // OR if `includeMatches` is true.
-
- var computeMatches = minMatchCharLength > 1 || includeMatches; // A mask of the matches, used for building the indices
-
- var matchMask = computeMatches ? Array(textLen) : [];
- var index; // Get all exact matches, here for speed up
-
- while ((index = text.indexOf(pattern, bestLocation)) > -1) {
- var score = computeScore$1(pattern, {
- currentLocation: index,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
- currentThreshold = Math.min(score, currentThreshold);
- bestLocation = index + patternLen;
-
- if (computeMatches) {
- var i = 0;
-
- while (i < patternLen) {
- matchMask[index + i] = 1;
- i += 1;
- }
- }
- } // Reset the best location
-
-
- bestLocation = -1;
- var lastBitArr = [];
- var finalScore = 1;
- var binMax = patternLen + textLen;
- var mask = 1 << patternLen - 1;
-
- for (var _i = 0; _i < patternLen; _i += 1) {
- // Scan for the best match; each iteration allows for one more error.
- // Run a binary search to determine how far from the match location we can stray
- // at this error level.
- var binMin = 0;
- var binMid = binMax;
-
- while (binMin < binMid) {
- var _score2 = computeScore$1(pattern, {
- errors: _i,
- currentLocation: expectedLocation + binMid,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
-
- if (_score2 <= currentThreshold) {
- binMin = binMid;
- } else {
- binMax = binMid;
- }
-
- binMid = Math.floor((binMax - binMin) / 2 + binMin);
- } // Use the result from this iteration as the maximum for the next.
-
-
- binMax = binMid;
- var start = Math.max(1, expectedLocation - binMid + 1);
- var finish = findAllMatches ? textLen : Math.min(expectedLocation + binMid, textLen) + patternLen; // Initialize the bit array
-
- var bitArr = Array(finish + 2);
- bitArr[finish + 1] = (1 << _i) - 1;
-
- for (var j = finish; j >= start; j -= 1) {
- var currentLocation = j - 1;
- var charMatch = patternAlphabet[text.charAt(currentLocation)];
-
- if (computeMatches) {
- // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)
- matchMask[currentLocation] = +!!charMatch;
- } // First pass: exact match
-
-
- bitArr[j] = (bitArr[j + 1] << 1 | 1) & charMatch; // Subsequent passes: fuzzy match
-
- if (_i) {
- bitArr[j] |= (lastBitArr[j + 1] | lastBitArr[j]) << 1 | 1 | lastBitArr[j + 1];
- }
-
- if (bitArr[j] & mask) {
- finalScore = computeScore$1(pattern, {
- errors: _i,
- currentLocation: currentLocation,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- }); // This match will almost certainly be better than any existing match.
- // But check anyway.
-
- if (finalScore <= currentThreshold) {
- // Indeed it is
- currentThreshold = finalScore;
- bestLocation = currentLocation; // Already passed `loc`, downhill from here on in.
-
- if (bestLocation <= expectedLocation) {
- break;
- } // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.
-
-
- start = Math.max(1, 2 * expectedLocation - bestLocation);
- }
- }
- } // No hope for a (better) match at greater error levels.
-
-
- var _score = computeScore$1(pattern, {
- errors: _i + 1,
- currentLocation: expectedLocation,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
-
- if (_score > currentThreshold) {
- break;
- }
-
- lastBitArr = bitArr;
- }
-
- var result = {
- isMatch: bestLocation >= 0,
- // Count exact matches (those with a score of 0) to be "almost" exact
- score: Math.max(0.001, finalScore)
- };
-
- if (computeMatches) {
- var indices = convertMaskToIndices(matchMask, minMatchCharLength);
-
- if (!indices.length) {
- result.isMatch = false;
- } else if (includeMatches) {
- result.indices = indices;
- }
- }
-
- return result;
-}
-
-function createPatternAlphabet(pattern) {
- var mask = {};
-
- for (var i = 0, len = pattern.length; i < len; i += 1) {
- var _char = pattern.charAt(i);
-
- mask[_char] = (mask[_char] || 0) | 1 << len - i - 1;
- }
-
- return mask;
-}
-
-var BitapSearch = /*#__PURE__*/function () {
- function BitapSearch(pattern) {
- var _this = this;
-
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$isCaseSensitive = _ref.isCaseSensitive,
- isCaseSensitive = _ref$isCaseSensitive === void 0 ? Config.isCaseSensitive : _ref$isCaseSensitive,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- _classCallCheck(this, BitapSearch);
-
- this.options = {
- location: location,
- threshold: threshold,
- distance: distance,
- includeMatches: includeMatches,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- isCaseSensitive: isCaseSensitive,
- ignoreLocation: ignoreLocation
- };
- this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();
- this.chunks = [];
-
- if (!this.pattern.length) {
- return;
- }
-
- var addChunk = function addChunk(pattern, startIndex) {
- _this.chunks.push({
- pattern: pattern,
- alphabet: createPatternAlphabet(pattern),
- startIndex: startIndex
- });
- };
-
- var len = this.pattern.length;
-
- if (len > MAX_BITS) {
- var i = 0;
- var remainder = len % MAX_BITS;
- var end = len - remainder;
-
- while (i < end) {
- addChunk(this.pattern.substr(i, MAX_BITS), i);
- i += MAX_BITS;
- }
-
- if (remainder) {
- var startIndex = len - MAX_BITS;
- addChunk(this.pattern.substr(startIndex), startIndex);
- }
- } else {
- addChunk(this.pattern, 0);
- }
- }
-
- _createClass(BitapSearch, [{
- key: "searchIn",
- value: function searchIn(text) {
- var _this$options = this.options,
- isCaseSensitive = _this$options.isCaseSensitive,
- includeMatches = _this$options.includeMatches;
-
- if (!isCaseSensitive) {
- text = text.toLowerCase();
- } // Exact match
-
-
- if (this.pattern === text) {
- var _result = {
- isMatch: true,
- score: 0
- };
-
- if (includeMatches) {
- _result.indices = [[0, text.length - 1]];
- }
-
- return _result;
- } // Otherwise, use Bitap algorithm
-
-
- var _this$options2 = this.options,
- location = _this$options2.location,
- distance = _this$options2.distance,
- threshold = _this$options2.threshold,
- findAllMatches = _this$options2.findAllMatches,
- minMatchCharLength = _this$options2.minMatchCharLength,
- ignoreLocation = _this$options2.ignoreLocation;
- var allIndices = [];
- var totalScore = 0;
- var hasMatches = false;
- this.chunks.forEach(function (_ref2) {
- var pattern = _ref2.pattern,
- alphabet = _ref2.alphabet,
- startIndex = _ref2.startIndex;
-
- var _search = search(text, pattern, alphabet, {
- location: location + startIndex,
- distance: distance,
- threshold: threshold,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- includeMatches: includeMatches,
- ignoreLocation: ignoreLocation
- }),
- isMatch = _search.isMatch,
- score = _search.score,
- indices = _search.indices;
-
- if (isMatch) {
- hasMatches = true;
- }
-
- totalScore += score;
-
- if (isMatch && indices) {
- allIndices = [].concat(_toConsumableArray(allIndices), _toConsumableArray(indices));
- }
- });
- var result = {
- isMatch: hasMatches,
- score: hasMatches ? totalScore / this.chunks.length : 1
- };
-
- if (hasMatches && includeMatches) {
- result.indices = allIndices;
- }
-
- return result;
- }
- }]);
-
- return BitapSearch;
-}();
-
-var BaseMatch = /*#__PURE__*/function () {
- function BaseMatch(pattern) {
- _classCallCheck(this, BaseMatch);
-
- this.pattern = pattern;
- }
-
- _createClass(BaseMatch, [{
- key: "search",
- value: function
- /*text*/
- search() {}
- }], [{
- key: "isMultiMatch",
- value: function isMultiMatch(pattern) {
- return getMatch(pattern, this.multiRegex);
- }
- }, {
- key: "isSingleMatch",
- value: function isSingleMatch(pattern) {
- return getMatch(pattern, this.singleRegex);
- }
- }]);
-
- return BaseMatch;
-}();
-
-function getMatch(pattern, exp) {
- var matches = pattern.match(exp);
- return matches ? matches[1] : null;
-}
-
-var ExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(ExactMatch, _BaseMatch);
-
- var _super = _createSuper(ExactMatch);
-
- function ExactMatch(pattern) {
- _classCallCheck(this, ExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(ExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = text === this.pattern;
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, this.pattern.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^="(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^=(.*)$/;
- }
- }]);
-
- return ExactMatch;
-}(BaseMatch);
-
-var InverseExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(InverseExactMatch, _BaseMatch);
-
- var _super = _createSuper(InverseExactMatch);
-
- function InverseExactMatch(pattern) {
- _classCallCheck(this, InverseExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(InverseExactMatch, [{
- key: "search",
- value: function search(text) {
- var index = text.indexOf(this.pattern);
- var isMatch = index === -1;
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, text.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'inverse-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^!"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^!(.*)$/;
- }
- }]);
-
- return InverseExactMatch;
-}(BaseMatch);
-
-var PrefixExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(PrefixExactMatch, _BaseMatch);
-
- var _super = _createSuper(PrefixExactMatch);
-
- function PrefixExactMatch(pattern) {
- _classCallCheck(this, PrefixExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(PrefixExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = text.startsWith(this.pattern);
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, this.pattern.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'prefix-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^\^"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^\^(.*)$/;
- }
- }]);
-
- return PrefixExactMatch;
-}(BaseMatch);
-
-var InversePrefixExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(InversePrefixExactMatch, _BaseMatch);
-
- var _super = _createSuper(InversePrefixExactMatch);
-
- function InversePrefixExactMatch(pattern) {
- _classCallCheck(this, InversePrefixExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(InversePrefixExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = !text.startsWith(this.pattern);
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, text.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'inverse-prefix-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^!\^"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^!\^(.*)$/;
- }
- }]);
-
- return InversePrefixExactMatch;
-}(BaseMatch);
-
-var SuffixExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(SuffixExactMatch, _BaseMatch);
-
- var _super = _createSuper(SuffixExactMatch);
-
- function SuffixExactMatch(pattern) {
- _classCallCheck(this, SuffixExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(SuffixExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = text.endsWith(this.pattern);
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [text.length - this.pattern.length, text.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'suffix-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^"(.*)"\$$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^(.*)\$$/;
- }
- }]);
-
- return SuffixExactMatch;
-}(BaseMatch);
-
-var InverseSuffixExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(InverseSuffixExactMatch, _BaseMatch);
-
- var _super = _createSuper(InverseSuffixExactMatch);
-
- function InverseSuffixExactMatch(pattern) {
- _classCallCheck(this, InverseSuffixExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(InverseSuffixExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = !text.endsWith(this.pattern);
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, text.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'inverse-suffix-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^!"(.*)"\$$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^!(.*)\$$/;
- }
- }]);
-
- return InverseSuffixExactMatch;
-}(BaseMatch);
-
-var FuzzyMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(FuzzyMatch, _BaseMatch);
-
- var _super = _createSuper(FuzzyMatch);
-
- function FuzzyMatch(pattern) {
- var _this;
-
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$isCaseSensitive = _ref.isCaseSensitive,
- isCaseSensitive = _ref$isCaseSensitive === void 0 ? Config.isCaseSensitive : _ref$isCaseSensitive,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- _classCallCheck(this, FuzzyMatch);
-
- _this = _super.call(this, pattern);
- _this._bitapSearch = new BitapSearch(pattern, {
- location: location,
- threshold: threshold,
- distance: distance,
- includeMatches: includeMatches,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- isCaseSensitive: isCaseSensitive,
- ignoreLocation: ignoreLocation
- });
- return _this;
- }
-
- _createClass(FuzzyMatch, [{
- key: "search",
- value: function search(text) {
- return this._bitapSearch.searchIn(text);
- }
- }], [{
- key: "type",
- get: function get() {
- return 'fuzzy';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^(.*)$/;
- }
- }]);
-
- return FuzzyMatch;
-}(BaseMatch);
-
-var IncludeMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(IncludeMatch, _BaseMatch);
-
- var _super = _createSuper(IncludeMatch);
-
- function IncludeMatch(pattern) {
- _classCallCheck(this, IncludeMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(IncludeMatch, [{
- key: "search",
- value: function search(text) {
- var location = 0;
- var index;
- var indices = [];
- var patternLen = this.pattern.length; // Get all exact matches
-
- while ((index = text.indexOf(this.pattern, location)) > -1) {
- location = index + patternLen;
- indices.push([index, location - 1]);
- }
-
- var isMatch = !!indices.length;
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: indices
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'include';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^'"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^'(.*)$/;
- }
- }]);
-
- return IncludeMatch;
-}(BaseMatch);
-
-var searchers = [ExactMatch, IncludeMatch, PrefixExactMatch, InversePrefixExactMatch, InverseSuffixExactMatch, SuffixExactMatch, InverseExactMatch, FuzzyMatch];
-var searchersLen = searchers.length; // Regex to split by spaces, but keep anything in quotes together
-
-var SPACE_RE = / +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;
-var OR_TOKEN = '|'; // Return a 2D array representation of the query, for simpler parsing.
-// Example:
-// "^core go$ | rb$ | py$ xy$" => [["^core", "go$"], ["rb$"], ["py$", "xy$"]]
-
-function parseQuery(pattern) {
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- return pattern.split(OR_TOKEN).map(function (item) {
- var query = item.trim().split(SPACE_RE).filter(function (item) {
- return item && !!item.trim();
- });
- var results = [];
-
- for (var i = 0, len = query.length; i < len; i += 1) {
- var queryItem = query[i]; // 1. Handle multiple query match (i.e, once that are quoted, like `"hello world"`)
-
- var found = false;
- var idx = -1;
-
- while (!found && ++idx < searchersLen) {
- var searcher = searchers[idx];
- var token = searcher.isMultiMatch(queryItem);
-
- if (token) {
- results.push(new searcher(token, options));
- found = true;
- }
- }
-
- if (found) {
- continue;
- } // 2. Handle single query matches (i.e, once that are *not* quoted)
-
-
- idx = -1;
-
- while (++idx < searchersLen) {
- var _searcher = searchers[idx];
-
- var _token = _searcher.isSingleMatch(queryItem);
-
- if (_token) {
- results.push(new _searcher(_token, options));
- break;
- }
- }
- }
-
- return results;
- });
-}
-
-// to a singl match
-
-var MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]);
-/**
- * Command-like searching
- * ======================
- *
- * Given multiple search terms delimited by spaces.e.g. `^jscript .python$ ruby !java`,
- * search in a given text.
- *
- * Search syntax:
- *
- * | Token | Match type | Description |
- * | ----------- | -------------------------- | -------------------------------------- |
- * | `jscript` | fuzzy-match | Items that fuzzy match `jscript` |
- * | `=scheme` | exact-match | Items that are `scheme` |
- * | `'python` | include-match | Items that include `python` |
- * | `!ruby` | inverse-exact-match | Items that do not include `ruby` |
- * | `^java` | prefix-exact-match | Items that start with `java` |
- * | `!^earlang` | inverse-prefix-exact-match | Items that do not start with `earlang` |
- * | `.js$` | suffix-exact-match | Items that end with `.js` |
- * | `!.go$` | inverse-suffix-exact-match | Items that do not end with `.go` |
- *
- * A single pipe character acts as an OR operator. For example, the following
- * query matches entries that start with `core` and end with either`go`, `rb`,
- * or`py`.
- *
- * ```
- * ^core go$ | rb$ | py$
- * ```
- */
-
-var ExtendedSearch = /*#__PURE__*/function () {
- function ExtendedSearch(pattern) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$isCaseSensitive = _ref.isCaseSensitive,
- isCaseSensitive = _ref$isCaseSensitive === void 0 ? Config.isCaseSensitive : _ref$isCaseSensitive,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance;
-
- _classCallCheck(this, ExtendedSearch);
-
- this.query = null;
- this.options = {
- isCaseSensitive: isCaseSensitive,
- includeMatches: includeMatches,
- minMatchCharLength: minMatchCharLength,
- findAllMatches: findAllMatches,
- ignoreLocation: ignoreLocation,
- location: location,
- threshold: threshold,
- distance: distance
- };
- this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();
- this.query = parseQuery(this.pattern, this.options);
- }
-
- _createClass(ExtendedSearch, [{
- key: "searchIn",
- value: function searchIn(text) {
- var query = this.query;
-
- if (!query) {
- return {
- isMatch: false,
- score: 1
- };
- }
-
- var _this$options = this.options,
- includeMatches = _this$options.includeMatches,
- isCaseSensitive = _this$options.isCaseSensitive;
- text = isCaseSensitive ? text : text.toLowerCase();
- var numMatches = 0;
- var allIndices = [];
- var totalScore = 0; // ORs
-
- for (var i = 0, qLen = query.length; i < qLen; i += 1) {
- var searchers = query[i]; // Reset indices
-
- allIndices.length = 0;
- numMatches = 0; // ANDs
-
- for (var j = 0, pLen = searchers.length; j < pLen; j += 1) {
- var searcher = searchers[j];
-
- var _searcher$search = searcher.search(text),
- isMatch = _searcher$search.isMatch,
- indices = _searcher$search.indices,
- score = _searcher$search.score;
-
- if (isMatch) {
- numMatches += 1;
- totalScore += score;
-
- if (includeMatches) {
- var type = searcher.constructor.type;
-
- if (MultiMatchSet.has(type)) {
- allIndices = [].concat(_toConsumableArray(allIndices), _toConsumableArray(indices));
- } else {
- allIndices.push(indices);
- }
- }
- } else {
- totalScore = 0;
- numMatches = 0;
- allIndices.length = 0;
- break;
- }
- } // OR condition, so if TRUE, return
-
-
- if (numMatches) {
- var result = {
- isMatch: true,
- score: totalScore / numMatches
- };
-
- if (includeMatches) {
- result.indices = allIndices;
- }
-
- return result;
- }
- } // Nothing was matched
-
-
- return {
- isMatch: false,
- score: 1
- };
- }
- }], [{
- key: "condition",
- value: function condition(_, options) {
- return options.useExtendedSearch;
- }
- }]);
-
- return ExtendedSearch;
-}();
-
-var registeredSearchers = [];
-function register() {
- registeredSearchers.push.apply(registeredSearchers, arguments);
-}
-function createSearcher(pattern, options) {
- for (var i = 0, len = registeredSearchers.length; i < len; i += 1) {
- var searcherClass = registeredSearchers[i];
-
- if (searcherClass.condition(pattern, options)) {
- return new searcherClass(pattern, options);
- }
- }
-
- return new BitapSearch(pattern, options);
-}
-
-var LogicalOperator = {
- AND: '$and',
- OR: '$or'
-};
-var KeyType = {
- PATH: '$path',
- PATTERN: '$val'
-};
-
-var isExpression = function isExpression(query) {
- return !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);
-};
-
-var isPath = function isPath(query) {
- return !!query[KeyType.PATH];
-};
-
-var isLeaf = function isLeaf(query) {
- return !isArray(query) && isObject(query) && !isExpression(query);
-};
-
-var convertToExplicit = function convertToExplicit(query) {
- return _defineProperty({}, LogicalOperator.AND, Object.keys(query).map(function (key) {
- return _defineProperty({}, key, query[key]);
- }));
-}; // When `auto` is `true`, the parse function will infer and initialize and add
-// the appropriate `Searcher` instance
-
-
-function parse(query, options) {
- var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref3$auto = _ref3.auto,
- auto = _ref3$auto === void 0 ? true : _ref3$auto;
-
- var next = function next(query) {
- var keys = Object.keys(query);
- var isQueryPath = isPath(query);
-
- if (!isQueryPath && keys.length > 1 && !isExpression(query)) {
- return next(convertToExplicit(query));
- }
-
- if (isLeaf(query)) {
- var key = isQueryPath ? query[KeyType.PATH] : keys[0];
- var pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];
-
- if (!isString(pattern)) {
- throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key));
- }
-
- var obj = {
- keyId: createKeyId(key),
- pattern: pattern
- };
-
- if (auto) {
- obj.searcher = createSearcher(pattern, options);
- }
-
- return obj;
- }
-
- var node = {
- children: [],
- operator: keys[0]
- };
- keys.forEach(function (key) {
- var value = query[key];
-
- if (isArray(value)) {
- value.forEach(function (item) {
- node.children.push(next(item));
- });
- }
- });
- return node;
- };
-
- if (!isExpression(query)) {
- query = convertToExplicit(query);
- }
-
- return next(query);
-}
-
-function computeScore(results, _ref) {
- var _ref$ignoreFieldNorm = _ref.ignoreFieldNorm,
- ignoreFieldNorm = _ref$ignoreFieldNorm === void 0 ? Config.ignoreFieldNorm : _ref$ignoreFieldNorm;
- results.forEach(function (result) {
- var totalScore = 1;
- result.matches.forEach(function (_ref2) {
- var key = _ref2.key,
- norm = _ref2.norm,
- score = _ref2.score;
- var weight = key ? key.weight : null;
- totalScore *= Math.pow(score === 0 && weight ? Number.EPSILON : score, (weight || 1) * (ignoreFieldNorm ? 1 : norm));
- });
- result.score = totalScore;
- });
-}
-
-function transformMatches(result, data) {
- var matches = result.matches;
- data.matches = [];
-
- if (!isDefined(matches)) {
- return;
- }
-
- matches.forEach(function (match) {
- if (!isDefined(match.indices) || !match.indices.length) {
- return;
- }
-
- var indices = match.indices,
- value = match.value;
- var obj = {
- indices: indices,
- value: value
- };
-
- if (match.key) {
- obj.key = match.key.src;
- }
-
- if (match.idx > -1) {
- obj.refIndex = match.idx;
- }
-
- data.matches.push(obj);
- });
-}
-
-function transformScore(result, data) {
- data.score = result.score;
-}
-
-function format(results, docs) {
- var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$includeScore = _ref.includeScore,
- includeScore = _ref$includeScore === void 0 ? Config.includeScore : _ref$includeScore;
-
- var transformers = [];
- if (includeMatches) transformers.push(transformMatches);
- if (includeScore) transformers.push(transformScore);
- return results.map(function (result) {
- var idx = result.idx;
- var data = {
- item: docs[idx],
- refIndex: idx
- };
-
- if (transformers.length) {
- transformers.forEach(function (transformer) {
- transformer(result, data);
- });
- }
-
- return data;
- });
-}
-
-var Fuse$1 = /*#__PURE__*/function () {
- function Fuse(docs) {
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- var index = arguments.length > 2 ? arguments[2] : undefined;
-
- _classCallCheck(this, Fuse);
-
- this.options = _objectSpread2(_objectSpread2({}, Config), options);
-
- if (this.options.useExtendedSearch && !true) {
- throw new Error(EXTENDED_SEARCH_UNAVAILABLE);
- }
-
- this._keyStore = new KeyStore(this.options.keys);
- this.setCollection(docs, index);
- }
-
- _createClass(Fuse, [{
- key: "setCollection",
- value: function setCollection(docs, index) {
- this._docs = docs;
-
- if (index && !(index instanceof FuseIndex)) {
- throw new Error(INCORRECT_INDEX_TYPE);
- }
-
- this._myIndex = index || createIndex(this.options.keys, this._docs, {
- getFn: this.options.getFn,
- fieldNormWeight: this.options.fieldNormWeight
- });
- }
- }, {
- key: "add",
- value: function add(doc) {
- if (!isDefined(doc)) {
- return;
- }
-
- this._docs.push(doc);
-
- this._myIndex.add(doc);
- }
- }, {
- key: "remove",
- value: function remove() {
- var predicate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function
- /* doc, idx */
- () {
- return false;
- };
- var results = [];
-
- for (var i = 0, len = this._docs.length; i < len; i += 1) {
- var doc = this._docs[i];
-
- if (predicate(doc, i)) {
- this.removeAt(i);
- i -= 1;
- len -= 1;
- results.push(doc);
- }
- }
-
- return results;
- }
- }, {
- key: "removeAt",
- value: function removeAt(idx) {
- this._docs.splice(idx, 1);
-
- this._myIndex.removeAt(idx);
- }
- }, {
- key: "getIndex",
- value: function getIndex() {
- return this._myIndex;
- }
- }, {
- key: "search",
- value: function search(query) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$limit = _ref.limit,
- limit = _ref$limit === void 0 ? -1 : _ref$limit;
-
- var _this$options = this.options,
- includeMatches = _this$options.includeMatches,
- includeScore = _this$options.includeScore,
- shouldSort = _this$options.shouldSort,
- sortFn = _this$options.sortFn,
- ignoreFieldNorm = _this$options.ignoreFieldNorm;
- var results = isString(query) ? isString(this._docs[0]) ? this._searchStringList(query) : this._searchObjectList(query) : this._searchLogical(query);
- computeScore(results, {
- ignoreFieldNorm: ignoreFieldNorm
- });
-
- if (shouldSort) {
- results.sort(sortFn);
- }
-
- if (isNumber(limit) && limit > -1) {
- results = results.slice(0, limit);
- }
-
- return format(results, this._docs, {
- includeMatches: includeMatches,
- includeScore: includeScore
- });
- }
- }, {
- key: "_searchStringList",
- value: function _searchStringList(query) {
- var searcher = createSearcher(query, this.options);
- var records = this._myIndex.records;
- var results = []; // Iterate over every string in the index
-
- records.forEach(function (_ref2) {
- var text = _ref2.v,
- idx = _ref2.i,
- norm = _ref2.n;
-
- if (!isDefined(text)) {
- return;
- }
-
- var _searcher$searchIn = searcher.searchIn(text),
- isMatch = _searcher$searchIn.isMatch,
- score = _searcher$searchIn.score,
- indices = _searcher$searchIn.indices;
-
- if (isMatch) {
- results.push({
- item: text,
- idx: idx,
- matches: [{
- score: score,
- value: text,
- norm: norm,
- indices: indices
- }]
- });
- }
- });
- return results;
- }
- }, {
- key: "_searchLogical",
- value: function _searchLogical(query) {
- var _this = this;
-
- var expression = parse(query, this.options);
-
- var evaluate = function evaluate(node, item, idx) {
- if (!node.children) {
- var keyId = node.keyId,
- searcher = node.searcher;
-
- var matches = _this._findMatches({
- key: _this._keyStore.get(keyId),
- value: _this._myIndex.getValueForItemAtKeyId(item, keyId),
- searcher: searcher
- });
-
- if (matches && matches.length) {
- return [{
- idx: idx,
- item: item,
- matches: matches
- }];
- }
-
- return [];
- }
-
- var res = [];
-
- for (var i = 0, len = node.children.length; i < len; i += 1) {
- var child = node.children[i];
- var result = evaluate(child, item, idx);
-
- if (result.length) {
- res.push.apply(res, _toConsumableArray(result));
- } else if (node.operator === LogicalOperator.AND) {
- return [];
- }
- }
-
- return res;
- };
-
- var records = this._myIndex.records;
- var resultMap = {};
- var results = [];
- records.forEach(function (_ref3) {
- var item = _ref3.$,
- idx = _ref3.i;
-
- if (isDefined(item)) {
- var expResults = evaluate(expression, item, idx);
-
- if (expResults.length) {
- // Dedupe when adding
- if (!resultMap[idx]) {
- resultMap[idx] = {
- idx: idx,
- item: item,
- matches: []
- };
- results.push(resultMap[idx]);
- }
-
- expResults.forEach(function (_ref4) {
- var _resultMap$idx$matche;
-
- var matches = _ref4.matches;
-
- (_resultMap$idx$matche = resultMap[idx].matches).push.apply(_resultMap$idx$matche, _toConsumableArray(matches));
- });
- }
- }
- });
- return results;
- }
- }, {
- key: "_searchObjectList",
- value: function _searchObjectList(query) {
- var _this2 = this;
-
- var searcher = createSearcher(query, this.options);
- var _this$_myIndex = this._myIndex,
- keys = _this$_myIndex.keys,
- records = _this$_myIndex.records;
- var results = []; // List is Array<Object>
-
- records.forEach(function (_ref5) {
- var item = _ref5.$,
- idx = _ref5.i;
-
- if (!isDefined(item)) {
- return;
- }
-
- var matches = []; // Iterate over every key (i.e, path), and fetch the value at that key
-
- keys.forEach(function (key, keyIndex) {
- matches.push.apply(matches, _toConsumableArray(_this2._findMatches({
- key: key,
- value: item[keyIndex],
- searcher: searcher
- })));
- });
-
- if (matches.length) {
- results.push({
- idx: idx,
- item: item,
- matches: matches
- });
- }
- });
- return results;
- }
- }, {
- key: "_findMatches",
- value: function _findMatches(_ref6) {
- var key = _ref6.key,
- value = _ref6.value,
- searcher = _ref6.searcher;
-
- if (!isDefined(value)) {
- return [];
- }
-
- var matches = [];
-
- if (isArray(value)) {
- value.forEach(function (_ref7) {
- var text = _ref7.v,
- idx = _ref7.i,
- norm = _ref7.n;
-
- if (!isDefined(text)) {
- return;
- }
-
- var _searcher$searchIn2 = searcher.searchIn(text),
- isMatch = _searcher$searchIn2.isMatch,
- score = _searcher$searchIn2.score,
- indices = _searcher$searchIn2.indices;
-
- if (isMatch) {
- matches.push({
- score: score,
- key: key,
- value: text,
- idx: idx,
- norm: norm,
- indices: indices
- });
- }
- });
- } else {
- var text = value.v,
- norm = value.n;
-
- var _searcher$searchIn3 = searcher.searchIn(text),
- isMatch = _searcher$searchIn3.isMatch,
- score = _searcher$searchIn3.score,
- indices = _searcher$searchIn3.indices;
-
- if (isMatch) {
- matches.push({
- score: score,
- key: key,
- value: text,
- norm: norm,
- indices: indices
- });
- }
- }
-
- return matches;
- }
- }]);
-
- return Fuse;
-}();
-
-Fuse$1.version = '6.6.2';
-Fuse$1.createIndex = createIndex;
-Fuse$1.parseIndex = parseIndex;
-Fuse$1.config = Config;
-
-{
- Fuse$1.parseQuery = parse;
-}
-
-{
- register(ExtendedSearch);
-}
-
-var Fuse = Fuse$1;
-
-module.exports = Fuse;
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.d.ts b/includes/search/node_modules/fuse.js/dist/fuse.d.ts
deleted file mode 100644
index f702238..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.d.ts
+++ /dev/null
@@ -1,313 +0,0 @@
-// Type definitions for Fuse.js v6.6.2
-// TypeScript v4.5.4
-
-export default Fuse
-export as namespace Fuse
-
-declare class Fuse<T> {
- constructor(
- list: ReadonlyArray<T>,
- options?: Fuse.IFuseOptions<T>,
- index?: Fuse.FuseIndex<T>
- )
- /**
- * Search function for the Fuse instance.
- *
- * ```typescript
- * const list: MyType[] = [myType1, myType2, etc...]
-
- * const options: Fuse.IFuseOptions<MyType> = {
- * keys: ['key1', 'key2']
- * }
- *
- * const myFuse = new Fuse(list, options)
- * let result = myFuse.search('pattern')
- * ```
- *
- * @param pattern The pattern to search
- * @param options `Fuse.FuseSearchOptions`
- * @returns An array of search results
- */
- search<R = T>(
- pattern: string | Fuse.Expression,
- options?: Fuse.FuseSearchOptions
- ): Fuse.FuseResult<R>[]
-
- setCollection(docs: ReadonlyArray<T>, index?: Fuse.FuseIndex<T>): void
-
- /**
- * Adds a doc to the end the list.
- */
- add(doc: T): void
-
- /**
- * Removes all documents from the list which the predicate returns truthy for,
- * and returns an array of the removed docs.
- * The predicate is invoked with two arguments: (doc, index).
- */
- remove(predicate: (doc: T, idx: number) => boolean): T[]
-
- /**
- * Removes the doc at the specified index.
- */
- removeAt(idx: number): void
-
- /**
- * Returns the generated Fuse index
- */
- getIndex(): Fuse.FuseIndex<T>
-
- /**
- * Return the current version.
- */
- static version: string
-
- /**
- * Use this method to pre-generate the index from the list, and pass it
- * directly into the Fuse instance.
- *
- * _Note that Fuse will automatically index the table if one isn't provided
- * during instantiation._
- *
- * ```typescript
- * const list: MyType[] = [myType1, myType2, etc...]
- *
- * const index = Fuse.createIndex<MyType>(
- * keys: ['key1', 'key2']
- * list: list
- * )
- *
- * const options: Fuse.IFuseOptions<MyType> = {
- * keys: ['key1', 'key2']
- * }
- *
- * const myFuse = new Fuse(list, options, index)
- * ```
- * @param keys The keys to index
- * @param list The list from which to create an index
- * @param options?
- * @returns An indexed list
- */
- static createIndex<U>(
- keys: Array<Fuse.FuseOptionKey<U>>,
- list: ReadonlyArray<U>,
- options?: Fuse.FuseIndexOptions<U>
- ): Fuse.FuseIndex<U>
-
- static parseIndex<U>(
- index: any,
- options?: Fuse.FuseIndexOptions<U>
- ): Fuse.FuseIndex<U>
-}
-
-declare namespace Fuse {
- export class FuseIndex<T> {
- constructor(options?: FuseIndexOptions<T>)
- setSources(docs: ReadonlyArray<T>): void
- setKeys(keys: ReadonlyArray<string>): void
- setIndexRecords(records: FuseIndexRecords): void
- create(): void
- add(doc: T): void
- toJSON(): {
- keys: ReadonlyArray<string>
- records: FuseIndexRecords
- }
- }
-
- type FuseGetFunction<T> = (
- obj: T,
- path: string | string[]
- ) => ReadonlyArray<string> | string
-
- export type FuseIndexOptions<T> = {
- getFn: FuseGetFunction<T>
- }
-
- // {
- // title: { '$': "Old Man's War" },
- // 'author.firstName': { '$': 'Codenar' }
- // }
- //
- // OR
- //
- // {
- // tags: [
- // { $: 'nonfiction', idx: 0 },
- // { $: 'web development', idx: 1 },
- // ]
- // }
- export type FuseSortFunctionItem = {
- [key: string]: { $: string } | { $: string; idx: number }[]
- }
-
- // {
- // score: 0.001,
- // key: 'author.firstName',
- // value: 'Codenar',
- // indices: [ [ 0, 3 ] ]
- // }
- export type FuseSortFunctionMatch = {
- score: number
- key: string
- value: string
- indices: ReadonlyArray<number>[]
- }
-
- // {
- // score: 0,
- // key: 'tags',
- // value: 'nonfiction',
- // idx: 1,
- // indices: [ [ 0, 9 ] ]
- // }
- export type FuseSortFunctionMatchList = FuseSortFunctionMatch & {
- idx: number
- }
-
- export type FuseSortFunctionArg = {
- idx: number
- item: FuseSortFunctionItem
- score: number
- matches?: (FuseSortFunctionMatch | FuseSortFunctionMatchList)[]
- }
-
- export type FuseSortFunction = (
- a: FuseSortFunctionArg,
- b: FuseSortFunctionArg
- ) => number
-
- // title: {
- // '$': "Old Man's War",
- // 'n': 0.5773502691896258
- // }
- type RecordEntryObject = {
- v: string // The text value
- n: number // The field-length norm
- }
-
- // 'author.tags.name': [{
- // 'v': 'pizza lover',
- // 'i': 2,
- // 'n: 0.7071067811865475
- // }
- type RecordEntryArrayItem = ReadonlyArray<RecordEntryObject & { i: number }>
-
- // TODO: this makes it difficult to infer the type. Need to think more about this
- type RecordEntry = { [key: string]: RecordEntryObject | RecordEntryArrayItem }
-
- // {
- // i: 0,
- // '$': {
- // '0': { v: "Old Man's War", n: 0.5773502691896258 },
- // '1': { v: 'Codenar', n: 1 },
- // '2': [
- // { v: 'pizza lover', i: 2, n: 0.7071067811865475 },
- // { v: 'helo wold', i: 1, n: 0.7071067811865475 },
- // { v: 'hello world', i: 0, n: 0.7071067811865475 }
- // ]
- // }
- // }
- type FuseIndexObjectRecord = {
- i: number // The index of the record in the source list
- $: RecordEntry
- }
-
- // {
- // keys: null,
- // list: [
- // { v: 'one', i: 0, n: 1 },
- // { v: 'two', i: 1, n: 1 },
- // { v: 'three', i: 2, n: 1 }
- // ]
- // }
- type FuseIndexStringRecord = {
- i: number // The index of the record in the source list
- v: string // The text value
- n: number // The field-length norm
- }
-
- type FuseIndexRecords =
- | ReadonlyArray<FuseIndexObjectRecord>
- | ReadonlyArray<FuseIndexStringRecord>
-
- // {
- // name: 'title',
- // weight: 0.7
- // }
- export type FuseOptionKeyObject<T> = {
- name: string | string[]
- weight?: number
- getFn?: (obj: T) => ReadonlyArray<string> | string
- }
-
- export type FuseOptionKey<T> = FuseOptionKeyObject<T> | string | string[]
-
- export interface IFuseOptions<T> {
- /** Indicates whether comparisons should be case sensitive. */
- isCaseSensitive?: boolean
- /** Determines how close the match must be to the fuzzy location (specified by `location`). An exact letter match which is `distance` characters away from the fuzzy location would score as a complete mismatch. A `distance` of `0` requires the match be at the exact `location` specified. A distance of `1000` would require a perfect match to be within `800` characters of the `location` to be found using a `threshold` of `0.8`. */
- distance?: number
- /** When true, the matching function will continue to the end of a search pattern even if a perfect match has already been located in the string. */
- findAllMatches?: boolean
- /** The function to use to retrieve an object's value at the provided path. The default will also search nested paths. */
- getFn?: FuseGetFunction<T>
- /** When `true`, search will ignore `location` and `distance`, so it won't matter where in the string the pattern appears. */
- ignoreLocation?: boolean
- /** When `true`, the calculation for the relevance score (used for sorting) will ignore the `field-length norm`. */
- ignoreFieldNorm?: boolean
- /** Determines how much the `field-length norm` affects scoring. A value of `0` is equivalent to ignoring the field-length norm. A value of `0.5` will greatly reduce the effect of field-length norm, while a value of `2.0` will greatly increase it. */
- fieldNormWeight?: number
- /** Whether the matches should be included in the result set. When `true`, each record in the result set will include the indices of the matched characters. These can consequently be used for highlighting purposes. */
- includeMatches?: boolean
- /** Whether the score should be included in the result set. A score of `0`indicates a perfect match, while a score of `1` indicates a complete mismatch. */
- includeScore?: boolean
- /** List of keys that will be searched. This supports nested paths, weighted search, searching in arrays of `strings` and `objects`. */
- keys?: Array<FuseOptionKey<T>>
- /** Determines approximately where in the text is the pattern expected to be found. */
- location?: number
- /** Only the matches whose length exceeds this value will be returned. (For instance, if you want to ignore single character matches in the result, set it to `2`). */
- minMatchCharLength?: number
- /** Whether to sort the result list, by score. */
- shouldSort?: boolean
- /** The function to use to sort all the results. The default will sort by ascending relevance score, ascending index. */
- sortFn?: FuseSortFunction
- /** At what point does the match algorithm give up. A threshold of `0.0` requires a perfect match (of both letters and location), a threshold of `1.0` would match anything. */
- threshold?: number
- /** When `true`, it enables the use of unix-like search commands. See [example](/examples.html#extended-search). */
- useExtendedSearch?: boolean
- }
-
- // Denotes the start/end indices of a match
- // start end
- // ↓ ↓
- type RangeTuple = [number, number]
-
- export type FuseResultMatch = {
- indices: ReadonlyArray<RangeTuple>
- key?: string
- refIndex?: number
- value?: string
- }
-
- export type FuseSearchOptions = {
- limit: number
- }
-
- export type FuseResult<T> = {
- item: T
- refIndex: number
- score?: number
- matches?: ReadonlyArray<FuseResultMatch>
- }
-
- export type Expression =
- | { [key: string]: string }
- | {
- $path: ReadonlyArray<string>
- $val: string
- }
- | { $and?: Expression[] }
- | { $or?: Expression[] }
-
- export const config: Required<IFuseOptions<any>>
-}
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.esm.js b/includes/search/node_modules/fuse.js/dist/fuse.esm.js
deleted file mode 100644
index 55b68c8..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.esm.js
+++ /dev/null
@@ -1,1780 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-
-function isArray(value) {
- return !Array.isArray
- ? getTag(value) === '[object Array]'
- : Array.isArray(value)
-}
-
-// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js
-const INFINITY = 1 / 0;
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value
- }
- let result = value + '';
- return result == '0' && 1 / value == -INFINITY ? '-0' : result
-}
-
-function toString(value) {
- return value == null ? '' : baseToString(value)
-}
-
-function isString(value) {
- return typeof value === 'string'
-}
-
-function isNumber(value) {
- return typeof value === 'number'
-}
-
-// Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js
-function isBoolean(value) {
- return (
- value === true ||
- value === false ||
- (isObjectLike(value) && getTag(value) == '[object Boolean]')
- )
-}
-
-function isObject(value) {
- return typeof value === 'object'
-}
-
-// Checks if `value` is object-like.
-function isObjectLike(value) {
- return isObject(value) && value !== null
-}
-
-function isDefined(value) {
- return value !== undefined && value !== null
-}
-
-function isBlank(value) {
- return !value.trim().length
-}
-
-// Gets the `toStringTag` of `value`.
-// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js
-function getTag(value) {
- return value == null
- ? value === undefined
- ? '[object Undefined]'
- : '[object Null]'
- : Object.prototype.toString.call(value)
-}
-
-const EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';
-
-const INCORRECT_INDEX_TYPE = "Incorrect 'index' type";
-
-const LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (key) =>
- `Invalid value for key ${key}`;
-
-const PATTERN_LENGTH_TOO_LARGE = (max) =>
- `Pattern length exceeds max of ${max}.`;
-
-const MISSING_KEY_PROPERTY = (name) => `Missing ${name} property in key`;
-
-const INVALID_KEY_WEIGHT_VALUE = (key) =>
- `Property 'weight' in key '${key}' must be a positive integer`;
-
-const hasOwn = Object.prototype.hasOwnProperty;
-
-class KeyStore {
- constructor(keys) {
- this._keys = [];
- this._keyMap = {};
-
- let totalWeight = 0;
-
- keys.forEach((key) => {
- let obj = createKey(key);
-
- totalWeight += obj.weight;
-
- this._keys.push(obj);
- this._keyMap[obj.id] = obj;
-
- totalWeight += obj.weight;
- });
-
- // Normalize weights so that their sum is equal to 1
- this._keys.forEach((key) => {
- key.weight /= totalWeight;
- });
- }
- get(keyId) {
- return this._keyMap[keyId]
- }
- keys() {
- return this._keys
- }
- toJSON() {
- return JSON.stringify(this._keys)
- }
-}
-
-function createKey(key) {
- let path = null;
- let id = null;
- let src = null;
- let weight = 1;
- let getFn = null;
-
- if (isString(key) || isArray(key)) {
- src = key;
- path = createKeyPath(key);
- id = createKeyId(key);
- } else {
- if (!hasOwn.call(key, 'name')) {
- throw new Error(MISSING_KEY_PROPERTY('name'))
- }
-
- const name = key.name;
- src = name;
-
- if (hasOwn.call(key, 'weight')) {
- weight = key.weight;
-
- if (weight <= 0) {
- throw new Error(INVALID_KEY_WEIGHT_VALUE(name))
- }
- }
-
- path = createKeyPath(name);
- id = createKeyId(name);
- getFn = key.getFn;
- }
-
- return { path, id, weight, src, getFn }
-}
-
-function createKeyPath(key) {
- return isArray(key) ? key : key.split('.')
-}
-
-function createKeyId(key) {
- return isArray(key) ? key.join('.') : key
-}
-
-function get(obj, path) {
- let list = [];
- let arr = false;
-
- const deepGet = (obj, path, index) => {
- if (!isDefined(obj)) {
- return
- }
- if (!path[index]) {
- // If there's no path left, we've arrived at the object we care about.
- list.push(obj);
- } else {
- let key = path[index];
-
- const value = obj[key];
-
- if (!isDefined(value)) {
- return
- }
-
- // If we're at the last value in the path, and if it's a string/number/bool,
- // add it to the list
- if (
- index === path.length - 1 &&
- (isString(value) || isNumber(value) || isBoolean(value))
- ) {
- list.push(toString(value));
- } else if (isArray(value)) {
- arr = true;
- // Search each item in the array.
- for (let i = 0, len = value.length; i < len; i += 1) {
- deepGet(value[i], path, index + 1);
- }
- } else if (path.length) {
- // An object. Recurse further.
- deepGet(value, path, index + 1);
- }
- }
- };
-
- // Backwards compatibility (since path used to be a string)
- deepGet(obj, isString(path) ? path.split('.') : path, 0);
-
- return arr ? list : list[0]
-}
-
-const MatchOptions = {
- // Whether the matches should be included in the result set. When `true`, each record in the result
- // set will include the indices of the matched characters.
- // These can consequently be used for highlighting purposes.
- includeMatches: false,
- // When `true`, the matching function will continue to the end of a search pattern even if
- // a perfect match has already been located in the string.
- findAllMatches: false,
- // Minimum number of characters that must be matched before a result is considered a match
- minMatchCharLength: 1
-};
-
-const BasicOptions = {
- // When `true`, the algorithm continues searching to the end of the input even if a perfect
- // match is found before the end of the same input.
- isCaseSensitive: false,
- // When true, the matching function will continue to the end of a search pattern even if
- includeScore: false,
- // List of properties that will be searched. This also supports nested properties.
- keys: [],
- // Whether to sort the result list, by score
- shouldSort: true,
- // Default sort function: sort by ascending score, ascending index
- sortFn: (a, b) =>
- a.score === b.score ? (a.idx < b.idx ? -1 : 1) : a.score < b.score ? -1 : 1
-};
-
-const FuzzyOptions = {
- // Approximately where in the text is the pattern expected to be found?
- location: 0,
- // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match
- // (of both letters and location), a threshold of '1.0' would match anything.
- threshold: 0.6,
- // Determines how close the match must be to the fuzzy location (specified above).
- // An exact letter match which is 'distance' characters away from the fuzzy location
- // would score as a complete mismatch. A distance of '0' requires the match be at
- // the exact location specified, a threshold of '1000' would require a perfect match
- // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.
- distance: 100
-};
-
-const AdvancedOptions = {
- // When `true`, it enables the use of unix-like search commands
- useExtendedSearch: false,
- // The get function to use when fetching an object's properties.
- // The default will search nested paths *ie foo.bar.baz*
- getFn: get,
- // When `true`, search will ignore `location` and `distance`, so it won't matter
- // where in the string the pattern appears.
- // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score
- ignoreLocation: false,
- // When `true`, the calculation for the relevance score (used for sorting) will
- // ignore the field-length norm.
- // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm
- ignoreFieldNorm: false,
- // The weight to determine how much field length norm effects scoring.
- fieldNormWeight: 1
-};
-
-var Config = {
- ...BasicOptions,
- ...MatchOptions,
- ...FuzzyOptions,
- ...AdvancedOptions
-};
-
-const SPACE = /[^ ]+/g;
-
-// Field-length norm: the shorter the field, the higher the weight.
-// Set to 3 decimals to reduce index size.
-function norm(weight = 1, mantissa = 3) {
- const cache = new Map();
- const m = Math.pow(10, mantissa);
-
- return {
- get(value) {
- const numTokens = value.match(SPACE).length;
-
- if (cache.has(numTokens)) {
- return cache.get(numTokens)
- }
-
- // Default function is 1/sqrt(x), weight makes that variable
- const norm = 1 / Math.pow(numTokens, 0.5 * weight);
-
- // In place of `toFixed(mantissa)`, for faster computation
- const n = parseFloat(Math.round(norm * m) / m);
-
- cache.set(numTokens, n);
-
- return n
- },
- clear() {
- cache.clear();
- }
- }
-}
-
-class FuseIndex {
- constructor({
- getFn = Config.getFn,
- fieldNormWeight = Config.fieldNormWeight
- } = {}) {
- this.norm = norm(fieldNormWeight, 3);
- this.getFn = getFn;
- this.isCreated = false;
-
- this.setIndexRecords();
- }
- setSources(docs = []) {
- this.docs = docs;
- }
- setIndexRecords(records = []) {
- this.records = records;
- }
- setKeys(keys = []) {
- this.keys = keys;
- this._keysMap = {};
- keys.forEach((key, idx) => {
- this._keysMap[key.id] = idx;
- });
- }
- create() {
- if (this.isCreated || !this.docs.length) {
- return
- }
-
- this.isCreated = true;
-
- // List is Array<String>
- if (isString(this.docs[0])) {
- this.docs.forEach((doc, docIndex) => {
- this._addString(doc, docIndex);
- });
- } else {
- // List is Array<Object>
- this.docs.forEach((doc, docIndex) => {
- this._addObject(doc, docIndex);
- });
- }
-
- this.norm.clear();
- }
- // Adds a doc to the end of the index
- add(doc) {
- const idx = this.size();
-
- if (isString(doc)) {
- this._addString(doc, idx);
- } else {
- this._addObject(doc, idx);
- }
- }
- // Removes the doc at the specified index of the index
- removeAt(idx) {
- this.records.splice(idx, 1);
-
- // Change ref index of every subsquent doc
- for (let i = idx, len = this.size(); i < len; i += 1) {
- this.records[i].i -= 1;
- }
- }
- getValueForItemAtKeyId(item, keyId) {
- return item[this._keysMap[keyId]]
- }
- size() {
- return this.records.length
- }
- _addString(doc, docIndex) {
- if (!isDefined(doc) || isBlank(doc)) {
- return
- }
-
- let record = {
- v: doc,
- i: docIndex,
- n: this.norm.get(doc)
- };
-
- this.records.push(record);
- }
- _addObject(doc, docIndex) {
- let record = { i: docIndex, $: {} };
-
- // Iterate over every key (i.e, path), and fetch the value at that key
- this.keys.forEach((key, keyIndex) => {
- let value = key.getFn ? key.getFn(doc) : this.getFn(doc, key.path);
-
- if (!isDefined(value)) {
- return
- }
-
- if (isArray(value)) {
- let subRecords = [];
- const stack = [{ nestedArrIndex: -1, value }];
-
- while (stack.length) {
- const { nestedArrIndex, value } = stack.pop();
-
- if (!isDefined(value)) {
- continue
- }
-
- if (isString(value) && !isBlank(value)) {
- let subRecord = {
- v: value,
- i: nestedArrIndex,
- n: this.norm.get(value)
- };
-
- subRecords.push(subRecord);
- } else if (isArray(value)) {
- value.forEach((item, k) => {
- stack.push({
- nestedArrIndex: k,
- value: item
- });
- });
- } else ;
- }
- record.$[keyIndex] = subRecords;
- } else if (isString(value) && !isBlank(value)) {
- let subRecord = {
- v: value,
- n: this.norm.get(value)
- };
-
- record.$[keyIndex] = subRecord;
- }
- });
-
- this.records.push(record);
- }
- toJSON() {
- return {
- keys: this.keys,
- records: this.records
- }
- }
-}
-
-function createIndex(
- keys,
- docs,
- { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}
-) {
- const myIndex = new FuseIndex({ getFn, fieldNormWeight });
- myIndex.setKeys(keys.map(createKey));
- myIndex.setSources(docs);
- myIndex.create();
- return myIndex
-}
-
-function parseIndex(
- data,
- { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}
-) {
- const { keys, records } = data;
- const myIndex = new FuseIndex({ getFn, fieldNormWeight });
- myIndex.setKeys(keys);
- myIndex.setIndexRecords(records);
- return myIndex
-}
-
-function computeScore$1(
- pattern,
- {
- errors = 0,
- currentLocation = 0,
- expectedLocation = 0,
- distance = Config.distance,
- ignoreLocation = Config.ignoreLocation
- } = {}
-) {
- const accuracy = errors / pattern.length;
-
- if (ignoreLocation) {
- return accuracy
- }
-
- const proximity = Math.abs(expectedLocation - currentLocation);
-
- if (!distance) {
- // Dodge divide by zero error.
- return proximity ? 1.0 : accuracy
- }
-
- return accuracy + proximity / distance
-}
-
-function convertMaskToIndices(
- matchmask = [],
- minMatchCharLength = Config.minMatchCharLength
-) {
- let indices = [];
- let start = -1;
- let end = -1;
- let i = 0;
-
- for (let len = matchmask.length; i < len; i += 1) {
- let match = matchmask[i];
- if (match && start === -1) {
- start = i;
- } else if (!match && start !== -1) {
- end = i - 1;
- if (end - start + 1 >= minMatchCharLength) {
- indices.push([start, end]);
- }
- start = -1;
- }
- }
-
- // (i-1 - start) + 1 => i - start
- if (matchmask[i - 1] && i - start >= minMatchCharLength) {
- indices.push([start, i - 1]);
- }
-
- return indices
-}
-
-// Machine word size
-const MAX_BITS = 32;
-
-function search(
- text,
- pattern,
- patternAlphabet,
- {
- location = Config.location,
- distance = Config.distance,
- threshold = Config.threshold,
- findAllMatches = Config.findAllMatches,
- minMatchCharLength = Config.minMatchCharLength,
- includeMatches = Config.includeMatches,
- ignoreLocation = Config.ignoreLocation
- } = {}
-) {
- if (pattern.length > MAX_BITS) {
- throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS))
- }
-
- const patternLen = pattern.length;
- // Set starting location at beginning text and initialize the alphabet.
- const textLen = text.length;
- // Handle the case when location > text.length
- const expectedLocation = Math.max(0, Math.min(location, textLen));
- // Highest score beyond which we give up.
- let currentThreshold = threshold;
- // Is there a nearby exact match? (speedup)
- let bestLocation = expectedLocation;
-
- // Performance: only computer matches when the minMatchCharLength > 1
- // OR if `includeMatches` is true.
- const computeMatches = minMatchCharLength > 1 || includeMatches;
- // A mask of the matches, used for building the indices
- const matchMask = computeMatches ? Array(textLen) : [];
-
- let index;
-
- // Get all exact matches, here for speed up
- while ((index = text.indexOf(pattern, bestLocation)) > -1) {
- let score = computeScore$1(pattern, {
- currentLocation: index,
- expectedLocation,
- distance,
- ignoreLocation
- });
-
- currentThreshold = Math.min(score, currentThreshold);
- bestLocation = index + patternLen;
-
- if (computeMatches) {
- let i = 0;
- while (i < patternLen) {
- matchMask[index + i] = 1;
- i += 1;
- }
- }
- }
-
- // Reset the best location
- bestLocation = -1;
-
- let lastBitArr = [];
- let finalScore = 1;
- let binMax = patternLen + textLen;
-
- const mask = 1 << (patternLen - 1);
-
- for (let i = 0; i < patternLen; i += 1) {
- // Scan for the best match; each iteration allows for one more error.
- // Run a binary search to determine how far from the match location we can stray
- // at this error level.
- let binMin = 0;
- let binMid = binMax;
-
- while (binMin < binMid) {
- const score = computeScore$1(pattern, {
- errors: i,
- currentLocation: expectedLocation + binMid,
- expectedLocation,
- distance,
- ignoreLocation
- });
-
- if (score <= currentThreshold) {
- binMin = binMid;
- } else {
- binMax = binMid;
- }
-
- binMid = Math.floor((binMax - binMin) / 2 + binMin);
- }
-
- // Use the result from this iteration as the maximum for the next.
- binMax = binMid;
-
- let start = Math.max(1, expectedLocation - binMid + 1);
- let finish = findAllMatches
- ? textLen
- : Math.min(expectedLocation + binMid, textLen) + patternLen;
-
- // Initialize the bit array
- let bitArr = Array(finish + 2);
-
- bitArr[finish + 1] = (1 << i) - 1;
-
- for (let j = finish; j >= start; j -= 1) {
- let currentLocation = j - 1;
- let charMatch = patternAlphabet[text.charAt(currentLocation)];
-
- if (computeMatches) {
- // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)
- matchMask[currentLocation] = +!!charMatch;
- }
-
- // First pass: exact match
- bitArr[j] = ((bitArr[j + 1] << 1) | 1) & charMatch;
-
- // Subsequent passes: fuzzy match
- if (i) {
- bitArr[j] |=
- ((lastBitArr[j + 1] | lastBitArr[j]) << 1) | 1 | lastBitArr[j + 1];
- }
-
- if (bitArr[j] & mask) {
- finalScore = computeScore$1(pattern, {
- errors: i,
- currentLocation,
- expectedLocation,
- distance,
- ignoreLocation
- });
-
- // This match will almost certainly be better than any existing match.
- // But check anyway.
- if (finalScore <= currentThreshold) {
- // Indeed it is
- currentThreshold = finalScore;
- bestLocation = currentLocation;
-
- // Already passed `loc`, downhill from here on in.
- if (bestLocation <= expectedLocation) {
- break
- }
-
- // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.
- start = Math.max(1, 2 * expectedLocation - bestLocation);
- }
- }
- }
-
- // No hope for a (better) match at greater error levels.
- const score = computeScore$1(pattern, {
- errors: i + 1,
- currentLocation: expectedLocation,
- expectedLocation,
- distance,
- ignoreLocation
- });
-
- if (score > currentThreshold) {
- break
- }
-
- lastBitArr = bitArr;
- }
-
- const result = {
- isMatch: bestLocation >= 0,
- // Count exact matches (those with a score of 0) to be "almost" exact
- score: Math.max(0.001, finalScore)
- };
-
- if (computeMatches) {
- const indices = convertMaskToIndices(matchMask, minMatchCharLength);
- if (!indices.length) {
- result.isMatch = false;
- } else if (includeMatches) {
- result.indices = indices;
- }
- }
-
- return result
-}
-
-function createPatternAlphabet(pattern) {
- let mask = {};
-
- for (let i = 0, len = pattern.length; i < len; i += 1) {
- const char = pattern.charAt(i);
- mask[char] = (mask[char] || 0) | (1 << (len - i - 1));
- }
-
- return mask
-}
-
-class BitapSearch {
- constructor(
- pattern,
- {
- location = Config.location,
- threshold = Config.threshold,
- distance = Config.distance,
- includeMatches = Config.includeMatches,
- findAllMatches = Config.findAllMatches,
- minMatchCharLength = Config.minMatchCharLength,
- isCaseSensitive = Config.isCaseSensitive,
- ignoreLocation = Config.ignoreLocation
- } = {}
- ) {
- this.options = {
- location,
- threshold,
- distance,
- includeMatches,
- findAllMatches,
- minMatchCharLength,
- isCaseSensitive,
- ignoreLocation
- };
-
- this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();
-
- this.chunks = [];
-
- if (!this.pattern.length) {
- return
- }
-
- const addChunk = (pattern, startIndex) => {
- this.chunks.push({
- pattern,
- alphabet: createPatternAlphabet(pattern),
- startIndex
- });
- };
-
- const len = this.pattern.length;
-
- if (len > MAX_BITS) {
- let i = 0;
- const remainder = len % MAX_BITS;
- const end = len - remainder;
-
- while (i < end) {
- addChunk(this.pattern.substr(i, MAX_BITS), i);
- i += MAX_BITS;
- }
-
- if (remainder) {
- const startIndex = len - MAX_BITS;
- addChunk(this.pattern.substr(startIndex), startIndex);
- }
- } else {
- addChunk(this.pattern, 0);
- }
- }
-
- searchIn(text) {
- const { isCaseSensitive, includeMatches } = this.options;
-
- if (!isCaseSensitive) {
- text = text.toLowerCase();
- }
-
- // Exact match
- if (this.pattern === text) {
- let result = {
- isMatch: true,
- score: 0
- };
-
- if (includeMatches) {
- result.indices = [[0, text.length - 1]];
- }
-
- return result
- }
-
- // Otherwise, use Bitap algorithm
- const {
- location,
- distance,
- threshold,
- findAllMatches,
- minMatchCharLength,
- ignoreLocation
- } = this.options;
-
- let allIndices = [];
- let totalScore = 0;
- let hasMatches = false;
-
- this.chunks.forEach(({ pattern, alphabet, startIndex }) => {
- const { isMatch, score, indices } = search(text, pattern, alphabet, {
- location: location + startIndex,
- distance,
- threshold,
- findAllMatches,
- minMatchCharLength,
- includeMatches,
- ignoreLocation
- });
-
- if (isMatch) {
- hasMatches = true;
- }
-
- totalScore += score;
-
- if (isMatch && indices) {
- allIndices = [...allIndices, ...indices];
- }
- });
-
- let result = {
- isMatch: hasMatches,
- score: hasMatches ? totalScore / this.chunks.length : 1
- };
-
- if (hasMatches && includeMatches) {
- result.indices = allIndices;
- }
-
- return result
- }
-}
-
-class BaseMatch {
- constructor(pattern) {
- this.pattern = pattern;
- }
- static isMultiMatch(pattern) {
- return getMatch(pattern, this.multiRegex)
- }
- static isSingleMatch(pattern) {
- return getMatch(pattern, this.singleRegex)
- }
- search(/*text*/) {}
-}
-
-function getMatch(pattern, exp) {
- const matches = pattern.match(exp);
- return matches ? matches[1] : null
-}
-
-// Token: 'file
-
-class ExactMatch extends BaseMatch {
- constructor(pattern) {
- super(pattern);
- }
- static get type() {
- return 'exact'
- }
- static get multiRegex() {
- return /^="(.*)"$/
- }
- static get singleRegex() {
- return /^=(.*)$/
- }
- search(text) {
- const isMatch = text === this.pattern;
-
- return {
- isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, this.pattern.length - 1]
- }
- }
-}
-
-// Token: !fire
-
-class InverseExactMatch extends BaseMatch {
- constructor(pattern) {
- super(pattern);
- }
- static get type() {
- return 'inverse-exact'
- }
- static get multiRegex() {
- return /^!"(.*)"$/
- }
- static get singleRegex() {
- return /^!(.*)$/
- }
- search(text) {
- const index = text.indexOf(this.pattern);
- const isMatch = index === -1;
-
- return {
- isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, text.length - 1]
- }
- }
-}
-
-// Token: ^file
-
-class PrefixExactMatch extends BaseMatch {
- constructor(pattern) {
- super(pattern);
- }
- static get type() {
- return 'prefix-exact'
- }
- static get multiRegex() {
- return /^\^"(.*)"$/
- }
- static get singleRegex() {
- return /^\^(.*)$/
- }
- search(text) {
- const isMatch = text.startsWith(this.pattern);
-
- return {
- isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, this.pattern.length - 1]
- }
- }
-}
-
-// Token: !^fire
-
-class InversePrefixExactMatch extends BaseMatch {
- constructor(pattern) {
- super(pattern);
- }
- static get type() {
- return 'inverse-prefix-exact'
- }
- static get multiRegex() {
- return /^!\^"(.*)"$/
- }
- static get singleRegex() {
- return /^!\^(.*)$/
- }
- search(text) {
- const isMatch = !text.startsWith(this.pattern);
-
- return {
- isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, text.length - 1]
- }
- }
-}
-
-// Token: .file$
-
-class SuffixExactMatch extends BaseMatch {
- constructor(pattern) {
- super(pattern);
- }
- static get type() {
- return 'suffix-exact'
- }
- static get multiRegex() {
- return /^"(.*)"\$$/
- }
- static get singleRegex() {
- return /^(.*)\$$/
- }
- search(text) {
- const isMatch = text.endsWith(this.pattern);
-
- return {
- isMatch,
- score: isMatch ? 0 : 1,
- indices: [text.length - this.pattern.length, text.length - 1]
- }
- }
-}
-
-// Token: !.file$
-
-class InverseSuffixExactMatch extends BaseMatch {
- constructor(pattern) {
- super(pattern);
- }
- static get type() {
- return 'inverse-suffix-exact'
- }
- static get multiRegex() {
- return /^!"(.*)"\$$/
- }
- static get singleRegex() {
- return /^!(.*)\$$/
- }
- search(text) {
- const isMatch = !text.endsWith(this.pattern);
- return {
- isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, text.length - 1]
- }
- }
-}
-
-class FuzzyMatch extends BaseMatch {
- constructor(
- pattern,
- {
- location = Config.location,
- threshold = Config.threshold,
- distance = Config.distance,
- includeMatches = Config.includeMatches,
- findAllMatches = Config.findAllMatches,
- minMatchCharLength = Config.minMatchCharLength,
- isCaseSensitive = Config.isCaseSensitive,
- ignoreLocation = Config.ignoreLocation
- } = {}
- ) {
- super(pattern);
- this._bitapSearch = new BitapSearch(pattern, {
- location,
- threshold,
- distance,
- includeMatches,
- findAllMatches,
- minMatchCharLength,
- isCaseSensitive,
- ignoreLocation
- });
- }
- static get type() {
- return 'fuzzy'
- }
- static get multiRegex() {
- return /^"(.*)"$/
- }
- static get singleRegex() {
- return /^(.*)$/
- }
- search(text) {
- return this._bitapSearch.searchIn(text)
- }
-}
-
-// Token: 'file
-
-class IncludeMatch extends BaseMatch {
- constructor(pattern) {
- super(pattern);
- }
- static get type() {
- return 'include'
- }
- static get multiRegex() {
- return /^'"(.*)"$/
- }
- static get singleRegex() {
- return /^'(.*)$/
- }
- search(text) {
- let location = 0;
- let index;
-
- const indices = [];
- const patternLen = this.pattern.length;
-
- // Get all exact matches
- while ((index = text.indexOf(this.pattern, location)) > -1) {
- location = index + patternLen;
- indices.push([index, location - 1]);
- }
-
- const isMatch = !!indices.length;
-
- return {
- isMatch,
- score: isMatch ? 0 : 1,
- indices
- }
- }
-}
-
-// ❗Order is important. DO NOT CHANGE.
-const searchers = [
- ExactMatch,
- IncludeMatch,
- PrefixExactMatch,
- InversePrefixExactMatch,
- InverseSuffixExactMatch,
- SuffixExactMatch,
- InverseExactMatch,
- FuzzyMatch
-];
-
-const searchersLen = searchers.length;
-
-// Regex to split by spaces, but keep anything in quotes together
-const SPACE_RE = / +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;
-const OR_TOKEN = '|';
-
-// Return a 2D array representation of the query, for simpler parsing.
-// Example:
-// "^core go$ | rb$ | py$ xy$" => [["^core", "go$"], ["rb$"], ["py$", "xy$"]]
-function parseQuery(pattern, options = {}) {
- return pattern.split(OR_TOKEN).map((item) => {
- let query = item
- .trim()
- .split(SPACE_RE)
- .filter((item) => item && !!item.trim());
-
- let results = [];
- for (let i = 0, len = query.length; i < len; i += 1) {
- const queryItem = query[i];
-
- // 1. Handle multiple query match (i.e, once that are quoted, like `"hello world"`)
- let found = false;
- let idx = -1;
- while (!found && ++idx < searchersLen) {
- const searcher = searchers[idx];
- let token = searcher.isMultiMatch(queryItem);
- if (token) {
- results.push(new searcher(token, options));
- found = true;
- }
- }
-
- if (found) {
- continue
- }
-
- // 2. Handle single query matches (i.e, once that are *not* quoted)
- idx = -1;
- while (++idx < searchersLen) {
- const searcher = searchers[idx];
- let token = searcher.isSingleMatch(queryItem);
- if (token) {
- results.push(new searcher(token, options));
- break
- }
- }
- }
-
- return results
- })
-}
-
-// These extended matchers can return an array of matches, as opposed
-// to a singl match
-const MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]);
-
-/**
- * Command-like searching
- * ======================
- *
- * Given multiple search terms delimited by spaces.e.g. `^jscript .python$ ruby !java`,
- * search in a given text.
- *
- * Search syntax:
- *
- * | Token | Match type | Description |
- * | ----------- | -------------------------- | -------------------------------------- |
- * | `jscript` | fuzzy-match | Items that fuzzy match `jscript` |
- * | `=scheme` | exact-match | Items that are `scheme` |
- * | `'python` | include-match | Items that include `python` |
- * | `!ruby` | inverse-exact-match | Items that do not include `ruby` |
- * | `^java` | prefix-exact-match | Items that start with `java` |
- * | `!^earlang` | inverse-prefix-exact-match | Items that do not start with `earlang` |
- * | `.js$` | suffix-exact-match | Items that end with `.js` |
- * | `!.go$` | inverse-suffix-exact-match | Items that do not end with `.go` |
- *
- * A single pipe character acts as an OR operator. For example, the following
- * query matches entries that start with `core` and end with either`go`, `rb`,
- * or`py`.
- *
- * ```
- * ^core go$ | rb$ | py$
- * ```
- */
-class ExtendedSearch {
- constructor(
- pattern,
- {
- isCaseSensitive = Config.isCaseSensitive,
- includeMatches = Config.includeMatches,
- minMatchCharLength = Config.minMatchCharLength,
- ignoreLocation = Config.ignoreLocation,
- findAllMatches = Config.findAllMatches,
- location = Config.location,
- threshold = Config.threshold,
- distance = Config.distance
- } = {}
- ) {
- this.query = null;
- this.options = {
- isCaseSensitive,
- includeMatches,
- minMatchCharLength,
- findAllMatches,
- ignoreLocation,
- location,
- threshold,
- distance
- };
-
- this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();
- this.query = parseQuery(this.pattern, this.options);
- }
-
- static condition(_, options) {
- return options.useExtendedSearch
- }
-
- searchIn(text) {
- const query = this.query;
-
- if (!query) {
- return {
- isMatch: false,
- score: 1
- }
- }
-
- const { includeMatches, isCaseSensitive } = this.options;
-
- text = isCaseSensitive ? text : text.toLowerCase();
-
- let numMatches = 0;
- let allIndices = [];
- let totalScore = 0;
-
- // ORs
- for (let i = 0, qLen = query.length; i < qLen; i += 1) {
- const searchers = query[i];
-
- // Reset indices
- allIndices.length = 0;
- numMatches = 0;
-
- // ANDs
- for (let j = 0, pLen = searchers.length; j < pLen; j += 1) {
- const searcher = searchers[j];
- const { isMatch, indices, score } = searcher.search(text);
-
- if (isMatch) {
- numMatches += 1;
- totalScore += score;
- if (includeMatches) {
- const type = searcher.constructor.type;
- if (MultiMatchSet.has(type)) {
- allIndices = [...allIndices, ...indices];
- } else {
- allIndices.push(indices);
- }
- }
- } else {
- totalScore = 0;
- numMatches = 0;
- allIndices.length = 0;
- break
- }
- }
-
- // OR condition, so if TRUE, return
- if (numMatches) {
- let result = {
- isMatch: true,
- score: totalScore / numMatches
- };
-
- if (includeMatches) {
- result.indices = allIndices;
- }
-
- return result
- }
- }
-
- // Nothing was matched
- return {
- isMatch: false,
- score: 1
- }
- }
-}
-
-const registeredSearchers = [];
-
-function register(...args) {
- registeredSearchers.push(...args);
-}
-
-function createSearcher(pattern, options) {
- for (let i = 0, len = registeredSearchers.length; i < len; i += 1) {
- let searcherClass = registeredSearchers[i];
- if (searcherClass.condition(pattern, options)) {
- return new searcherClass(pattern, options)
- }
- }
-
- return new BitapSearch(pattern, options)
-}
-
-const LogicalOperator = {
- AND: '$and',
- OR: '$or'
-};
-
-const KeyType = {
- PATH: '$path',
- PATTERN: '$val'
-};
-
-const isExpression = (query) =>
- !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);
-
-const isPath = (query) => !!query[KeyType.PATH];
-
-const isLeaf = (query) =>
- !isArray(query) && isObject(query) && !isExpression(query);
-
-const convertToExplicit = (query) => ({
- [LogicalOperator.AND]: Object.keys(query).map((key) => ({
- [key]: query[key]
- }))
-});
-
-// When `auto` is `true`, the parse function will infer and initialize and add
-// the appropriate `Searcher` instance
-function parse(query, options, { auto = true } = {}) {
- const next = (query) => {
- let keys = Object.keys(query);
-
- const isQueryPath = isPath(query);
-
- if (!isQueryPath && keys.length > 1 && !isExpression(query)) {
- return next(convertToExplicit(query))
- }
-
- if (isLeaf(query)) {
- const key = isQueryPath ? query[KeyType.PATH] : keys[0];
-
- const pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];
-
- if (!isString(pattern)) {
- throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key))
- }
-
- const obj = {
- keyId: createKeyId(key),
- pattern
- };
-
- if (auto) {
- obj.searcher = createSearcher(pattern, options);
- }
-
- return obj
- }
-
- let node = {
- children: [],
- operator: keys[0]
- };
-
- keys.forEach((key) => {
- const value = query[key];
-
- if (isArray(value)) {
- value.forEach((item) => {
- node.children.push(next(item));
- });
- }
- });
-
- return node
- };
-
- if (!isExpression(query)) {
- query = convertToExplicit(query);
- }
-
- return next(query)
-}
-
-// Practical scoring function
-function computeScore(
- results,
- { ignoreFieldNorm = Config.ignoreFieldNorm }
-) {
- results.forEach((result) => {
- let totalScore = 1;
-
- result.matches.forEach(({ key, norm, score }) => {
- const weight = key ? key.weight : null;
-
- totalScore *= Math.pow(
- score === 0 && weight ? Number.EPSILON : score,
- (weight || 1) * (ignoreFieldNorm ? 1 : norm)
- );
- });
-
- result.score = totalScore;
- });
-}
-
-function transformMatches(result, data) {
- const matches = result.matches;
- data.matches = [];
-
- if (!isDefined(matches)) {
- return
- }
-
- matches.forEach((match) => {
- if (!isDefined(match.indices) || !match.indices.length) {
- return
- }
-
- const { indices, value } = match;
-
- let obj = {
- indices,
- value
- };
-
- if (match.key) {
- obj.key = match.key.src;
- }
-
- if (match.idx > -1) {
- obj.refIndex = match.idx;
- }
-
- data.matches.push(obj);
- });
-}
-
-function transformScore(result, data) {
- data.score = result.score;
-}
-
-function format(
- results,
- docs,
- {
- includeMatches = Config.includeMatches,
- includeScore = Config.includeScore
- } = {}
-) {
- const transformers = [];
-
- if (includeMatches) transformers.push(transformMatches);
- if (includeScore) transformers.push(transformScore);
-
- return results.map((result) => {
- const { idx } = result;
-
- const data = {
- item: docs[idx],
- refIndex: idx
- };
-
- if (transformers.length) {
- transformers.forEach((transformer) => {
- transformer(result, data);
- });
- }
-
- return data
- })
-}
-
-class Fuse {
- constructor(docs, options = {}, index) {
- this.options = { ...Config, ...options };
-
- if (
- this.options.useExtendedSearch &&
- !true
- ) {
- throw new Error(EXTENDED_SEARCH_UNAVAILABLE)
- }
-
- this._keyStore = new KeyStore(this.options.keys);
-
- this.setCollection(docs, index);
- }
-
- setCollection(docs, index) {
- this._docs = docs;
-
- if (index && !(index instanceof FuseIndex)) {
- throw new Error(INCORRECT_INDEX_TYPE)
- }
-
- this._myIndex =
- index ||
- createIndex(this.options.keys, this._docs, {
- getFn: this.options.getFn,
- fieldNormWeight: this.options.fieldNormWeight
- });
- }
-
- add(doc) {
- if (!isDefined(doc)) {
- return
- }
-
- this._docs.push(doc);
- this._myIndex.add(doc);
- }
-
- remove(predicate = (/* doc, idx */) => false) {
- const results = [];
-
- for (let i = 0, len = this._docs.length; i < len; i += 1) {
- const doc = this._docs[i];
- if (predicate(doc, i)) {
- this.removeAt(i);
- i -= 1;
- len -= 1;
-
- results.push(doc);
- }
- }
-
- return results
- }
-
- removeAt(idx) {
- this._docs.splice(idx, 1);
- this._myIndex.removeAt(idx);
- }
-
- getIndex() {
- return this._myIndex
- }
-
- search(query, { limit = -1 } = {}) {
- const {
- includeMatches,
- includeScore,
- shouldSort,
- sortFn,
- ignoreFieldNorm
- } = this.options;
-
- let results = isString(query)
- ? isString(this._docs[0])
- ? this._searchStringList(query)
- : this._searchObjectList(query)
- : this._searchLogical(query);
-
- computeScore(results, { ignoreFieldNorm });
-
- if (shouldSort) {
- results.sort(sortFn);
- }
-
- if (isNumber(limit) && limit > -1) {
- results = results.slice(0, limit);
- }
-
- return format(results, this._docs, {
- includeMatches,
- includeScore
- })
- }
-
- _searchStringList(query) {
- const searcher = createSearcher(query, this.options);
- const { records } = this._myIndex;
- const results = [];
-
- // Iterate over every string in the index
- records.forEach(({ v: text, i: idx, n: norm }) => {
- if (!isDefined(text)) {
- return
- }
-
- const { isMatch, score, indices } = searcher.searchIn(text);
-
- if (isMatch) {
- results.push({
- item: text,
- idx,
- matches: [{ score, value: text, norm, indices }]
- });
- }
- });
-
- return results
- }
-
- _searchLogical(query) {
-
- const expression = parse(query, this.options);
-
- const evaluate = (node, item, idx) => {
- if (!node.children) {
- const { keyId, searcher } = node;
-
- const matches = this._findMatches({
- key: this._keyStore.get(keyId),
- value: this._myIndex.getValueForItemAtKeyId(item, keyId),
- searcher
- });
-
- if (matches && matches.length) {
- return [
- {
- idx,
- item,
- matches
- }
- ]
- }
-
- return []
- }
-
- const res = [];
- for (let i = 0, len = node.children.length; i < len; i += 1) {
- const child = node.children[i];
- const result = evaluate(child, item, idx);
- if (result.length) {
- res.push(...result);
- } else if (node.operator === LogicalOperator.AND) {
- return []
- }
- }
- return res
- };
-
- const records = this._myIndex.records;
- const resultMap = {};
- const results = [];
-
- records.forEach(({ $: item, i: idx }) => {
- if (isDefined(item)) {
- let expResults = evaluate(expression, item, idx);
-
- if (expResults.length) {
- // Dedupe when adding
- if (!resultMap[idx]) {
- resultMap[idx] = { idx, item, matches: [] };
- results.push(resultMap[idx]);
- }
- expResults.forEach(({ matches }) => {
- resultMap[idx].matches.push(...matches);
- });
- }
- }
- });
-
- return results
- }
-
- _searchObjectList(query) {
- const searcher = createSearcher(query, this.options);
- const { keys, records } = this._myIndex;
- const results = [];
-
- // List is Array<Object>
- records.forEach(({ $: item, i: idx }) => {
- if (!isDefined(item)) {
- return
- }
-
- let matches = [];
-
- // Iterate over every key (i.e, path), and fetch the value at that key
- keys.forEach((key, keyIndex) => {
- matches.push(
- ...this._findMatches({
- key,
- value: item[keyIndex],
- searcher
- })
- );
- });
-
- if (matches.length) {
- results.push({
- idx,
- item,
- matches
- });
- }
- });
-
- return results
- }
- _findMatches({ key, value, searcher }) {
- if (!isDefined(value)) {
- return []
- }
-
- let matches = [];
-
- if (isArray(value)) {
- value.forEach(({ v: text, i: idx, n: norm }) => {
- if (!isDefined(text)) {
- return
- }
-
- const { isMatch, score, indices } = searcher.searchIn(text);
-
- if (isMatch) {
- matches.push({
- score,
- key,
- value: text,
- idx,
- norm,
- indices
- });
- }
- });
- } else {
- const { v: text, n: norm } = value;
-
- const { isMatch, score, indices } = searcher.searchIn(text);
-
- if (isMatch) {
- matches.push({ score, key, value: text, norm, indices });
- }
- }
-
- return matches
- }
-}
-
-Fuse.version = '6.6.2';
-Fuse.createIndex = createIndex;
-Fuse.parseIndex = parseIndex;
-Fuse.config = Config;
-
-{
- Fuse.parseQuery = parse;
-}
-
-{
- register(ExtendedSearch);
-}
-
-export { Fuse as default };
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.esm.min.js b/includes/search/node_modules/fuse.js/dist/fuse.esm.min.js
deleted file mode 100644
index 855f99e..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.esm.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-function t(t){return Array.isArray?Array.isArray(t):"[object Array]"===o(t)}function e(t){return"string"==typeof t}function n(t){return"number"==typeof t}function s(t){return!0===t||!1===t||function(t){return i(t)&&null!==t}(t)&&"[object Boolean]"==o(t)}function i(t){return"object"==typeof t}function r(t){return null!=t}function c(t){return!t.trim().length}function o(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const h=Object.prototype.hasOwnProperty;class a{constructor(t){this._keys=[],this._keyMap={};let e=0;t.forEach((t=>{let n=l(t);e+=n.weight,this._keys.push(n),this._keyMap[n.id]=n,e+=n.weight})),this._keys.forEach((t=>{t.weight/=e}))}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function l(n){let s=null,i=null,r=null,c=1,o=null;if(e(n)||t(n))r=n,s=u(n),i=d(n);else{if(!h.call(n,"name"))throw new Error((t=>`Missing ${t} property in key`)("name"));const t=n.name;if(r=t,h.call(n,"weight")&&(c=n.weight,c<=0))throw new Error((t=>`Property 'weight' in key '${t}' must be a positive integer`)(t));s=u(t),i=d(t),o=n.getFn}return{path:s,id:i,weight:c,src:r,getFn:o}}function u(e){return t(e)?e:e.split(".")}function d(e){return t(e)?e.join("."):e}var g={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(t,e)=>t.score===e.score?t.idx<e.idx?-1:1:t.score<e.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,...{useExtendedSearch:!1,getFn:function(i,c){let o=[],h=!1;const a=(i,c,l)=>{if(r(i))if(c[l]){const u=i[c[l]];if(!r(u))return;if(l===c.length-1&&(e(u)||n(u)||s(u)))o.push(function(t){return null==t?"":function(t){if("string"==typeof t)return t;let e=t+"";return"0"==e&&1/t==-1/0?"-0":e}(t)}(u));else if(t(u)){h=!0;for(let t=0,e=u.length;t<e;t+=1)a(u[t],c,l+1)}else c.length&&a(u,c,l+1)}else o.push(i)};return a(i,e(c)?c.split("."):c,0),h?o:o[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}};const f=/[^ ]+/g;class p{constructor({getFn:t=g.getFn,fieldNormWeight:e=g.fieldNormWeight}={}){this.norm=function(t=1,e=3){const n=new Map,s=Math.pow(10,e);return{get(e){const i=e.match(f).length;if(n.has(i))return n.get(i);const r=1/Math.pow(i,.5*t),c=parseFloat(Math.round(r*s)/s);return n.set(i,c),c},clear(){n.clear()}}}(e,3),this.getFn=t,this.isCreated=!1,this.setIndexRecords()}setSources(t=[]){this.docs=t}setIndexRecords(t=[]){this.records=t}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach(((t,e)=>{this._keysMap[t.id]=e}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,e(this.docs[0])?this.docs.forEach(((t,e)=>{this._addString(t,e)})):this.docs.forEach(((t,e)=>{this._addObject(t,e)})),this.norm.clear())}add(t){const n=this.size();e(t)?this._addString(t,n):this._addObject(t,n)}removeAt(t){this.records.splice(t,1);for(let e=t,n=this.size();e<n;e+=1)this.records[e].i-=1}getValueForItemAtKeyId(t,e){return t[this._keysMap[e]]}size(){return this.records.length}_addString(t,e){if(!r(t)||c(t))return;let n={v:t,i:e,n:this.norm.get(t)};this.records.push(n)}_addObject(n,s){let i={i:s,$:{}};this.keys.forEach(((s,o)=>{let h=s.getFn?s.getFn(n):this.getFn(n,s.path);if(r(h))if(t(h)){let n=[];const s=[{nestedArrIndex:-1,value:h}];for(;s.length;){const{nestedArrIndex:i,value:o}=s.pop();if(r(o))if(e(o)&&!c(o)){let t={v:o,i:i,n:this.norm.get(o)};n.push(t)}else t(o)&&o.forEach(((t,e)=>{s.push({nestedArrIndex:e,value:t})}))}i.$[o]=n}else if(e(h)&&!c(h)){let t={v:h,n:this.norm.get(h)};i.$[o]=t}})),this.records.push(i)}toJSON(){return{keys:this.keys,records:this.records}}}function m(t,e,{getFn:n=g.getFn,fieldNormWeight:s=g.fieldNormWeight}={}){const i=new p({getFn:n,fieldNormWeight:s});return i.setKeys(t.map(l)),i.setSources(e),i.create(),i}function M(t,{errors:e=0,currentLocation:n=0,expectedLocation:s=0,distance:i=g.distance,ignoreLocation:r=g.ignoreLocation}={}){const c=e/t.length;if(r)return c;const o=Math.abs(s-n);return i?c+o/i:o?1:c}function x(t,e,n,{location:s=g.location,distance:i=g.distance,threshold:r=g.threshold,findAllMatches:c=g.findAllMatches,minMatchCharLength:o=g.minMatchCharLength,includeMatches:h=g.includeMatches,ignoreLocation:a=g.ignoreLocation}={}){if(e.length>32)throw new Error(`Pattern length exceeds max of ${32}.`);const l=e.length,u=t.length,d=Math.max(0,Math.min(s,u));let f=r,p=d;const m=o>1||h,x=m?Array(u):[];let y;for(;(y=t.indexOf(e,p))>-1;){let t=M(e,{currentLocation:y,expectedLocation:d,distance:i,ignoreLocation:a});if(f=Math.min(t,f),p=y+l,m){let t=0;for(;t<l;)x[y+t]=1,t+=1}}p=-1;let L=[],k=1,_=l+u;const v=1<<l-1;for(let s=0;s<l;s+=1){let r=0,o=_;for(;r<o;){M(e,{errors:s,currentLocation:d+o,expectedLocation:d,distance:i,ignoreLocation:a})<=f?r=o:_=o,o=Math.floor((_-r)/2+r)}_=o;let h=Math.max(1,d-o+1),g=c?u:Math.min(d+o,u)+l,y=Array(g+2);y[g+1]=(1<<s)-1;for(let r=g;r>=h;r-=1){let c=r-1,o=n[t.charAt(c)];if(m&&(x[c]=+!!o),y[r]=(y[r+1]<<1|1)&o,s&&(y[r]|=(L[r+1]|L[r])<<1|1|L[r+1]),y[r]&v&&(k=M(e,{errors:s,currentLocation:c,expectedLocation:d,distance:i,ignoreLocation:a}),k<=f)){if(f=k,p=c,p<=d)break;h=Math.max(1,2*d-p)}}if(M(e,{errors:s+1,currentLocation:d,expectedLocation:d,distance:i,ignoreLocation:a})>f)break;L=y}const S={isMatch:p>=0,score:Math.max(.001,k)};if(m){const t=function(t=[],e=g.minMatchCharLength){let n=[],s=-1,i=-1,r=0;for(let c=t.length;r<c;r+=1){let c=t[r];c&&-1===s?s=r:c||-1===s||(i=r-1,i-s+1>=e&&n.push([s,i]),s=-1)}return t[r-1]&&r-s>=e&&n.push([s,r-1]),n}(x,o);t.length?h&&(S.indices=t):S.isMatch=!1}return S}function y(t){let e={};for(let n=0,s=t.length;n<s;n+=1){const i=t.charAt(n);e[i]=(e[i]||0)|1<<s-n-1}return e}class L{constructor(t,{location:e=g.location,threshold:n=g.threshold,distance:s=g.distance,includeMatches:i=g.includeMatches,findAllMatches:r=g.findAllMatches,minMatchCharLength:c=g.minMatchCharLength,isCaseSensitive:o=g.isCaseSensitive,ignoreLocation:h=g.ignoreLocation}={}){if(this.options={location:e,threshold:n,distance:s,includeMatches:i,findAllMatches:r,minMatchCharLength:c,isCaseSensitive:o,ignoreLocation:h},this.pattern=o?t:t.toLowerCase(),this.chunks=[],!this.pattern.length)return;const a=(t,e)=>{this.chunks.push({pattern:t,alphabet:y(t),startIndex:e})},l=this.pattern.length;if(l>32){let t=0;const e=l%32,n=l-e;for(;t<n;)a(this.pattern.substr(t,32),t),t+=32;if(e){const t=l-32;a(this.pattern.substr(t),t)}}else a(this.pattern,0)}searchIn(t){const{isCaseSensitive:e,includeMatches:n}=this.options;if(e||(t=t.toLowerCase()),this.pattern===t){let e={isMatch:!0,score:0};return n&&(e.indices=[[0,t.length-1]]),e}const{location:s,distance:i,threshold:r,findAllMatches:c,minMatchCharLength:o,ignoreLocation:h}=this.options;let a=[],l=0,u=!1;this.chunks.forEach((({pattern:e,alphabet:d,startIndex:g})=>{const{isMatch:f,score:p,indices:m}=x(t,e,d,{location:s+g,distance:i,threshold:r,findAllMatches:c,minMatchCharLength:o,includeMatches:n,ignoreLocation:h});f&&(u=!0),l+=p,f&&m&&(a=[...a,...m])}));let d={isMatch:u,score:u?l/this.chunks.length:1};return u&&n&&(d.indices=a),d}}class k{constructor(t){this.pattern=t}static isMultiMatch(t){return _(t,this.multiRegex)}static isSingleMatch(t){return _(t,this.singleRegex)}search(){}}function _(t,e){const n=t.match(e);return n?n[1]:null}class v extends k{constructor(t,{location:e=g.location,threshold:n=g.threshold,distance:s=g.distance,includeMatches:i=g.includeMatches,findAllMatches:r=g.findAllMatches,minMatchCharLength:c=g.minMatchCharLength,isCaseSensitive:o=g.isCaseSensitive,ignoreLocation:h=g.ignoreLocation}={}){super(t),this._bitapSearch=new L(t,{location:e,threshold:n,distance:s,includeMatches:i,findAllMatches:r,minMatchCharLength:c,isCaseSensitive:o,ignoreLocation:h})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class S extends k{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let e,n=0;const s=[],i=this.pattern.length;for(;(e=t.indexOf(this.pattern,n))>-1;)n=e+i,s.push([e,n-1]);const r=!!s.length;return{isMatch:r,score:r?0:1,indices:s}}}const w=[class extends k{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const e=t===this.pattern;return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}},S,class extends k{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const e=t.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}},class extends k{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const e=!t.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},class extends k{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const e=!t.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},class extends k{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const e=t.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[t.length-this.pattern.length,t.length-1]}}},class extends k{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const e=-1===t.indexOf(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},v],C=w.length,I=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;const $=new Set([v.type,S.type]);class A{constructor(t,{isCaseSensitive:e=g.isCaseSensitive,includeMatches:n=g.includeMatches,minMatchCharLength:s=g.minMatchCharLength,ignoreLocation:i=g.ignoreLocation,findAllMatches:r=g.findAllMatches,location:c=g.location,threshold:o=g.threshold,distance:h=g.distance}={}){this.query=null,this.options={isCaseSensitive:e,includeMatches:n,minMatchCharLength:s,findAllMatches:r,ignoreLocation:i,location:c,threshold:o,distance:h},this.pattern=e?t:t.toLowerCase(),this.query=function(t,e={}){return t.split("|").map((t=>{let n=t.trim().split(I).filter((t=>t&&!!t.trim())),s=[];for(let t=0,i=n.length;t<i;t+=1){const i=n[t];let r=!1,c=-1;for(;!r&&++c<C;){const t=w[c];let n=t.isMultiMatch(i);n&&(s.push(new t(n,e)),r=!0)}if(!r)for(c=-1;++c<C;){const t=w[c];let n=t.isSingleMatch(i);if(n){s.push(new t(n,e));break}}}return s}))}(this.pattern,this.options)}static condition(t,e){return e.useExtendedSearch}searchIn(t){const e=this.query;if(!e)return{isMatch:!1,score:1};const{includeMatches:n,isCaseSensitive:s}=this.options;t=s?t:t.toLowerCase();let i=0,r=[],c=0;for(let s=0,o=e.length;s<o;s+=1){const o=e[s];r.length=0,i=0;for(let e=0,s=o.length;e<s;e+=1){const s=o[e],{isMatch:h,indices:a,score:l}=s.search(t);if(!h){c=0,i=0,r.length=0;break}if(i+=1,c+=l,n){const t=s.constructor.type;$.has(t)?r=[...r,...a]:r.push(a)}}if(i){let t={isMatch:!0,score:c/i};return n&&(t.indices=r),t}}return{isMatch:!1,score:1}}}const E=[];function b(t,e){for(let n=0,s=E.length;n<s;n+=1){let s=E[n];if(s.condition(t,e))return new s(t,e)}return new L(t,e)}const F="$and",N="$or",R="$path",O="$val",j=t=>!(!t[F]&&!t[N]),W=t=>({[F]:Object.keys(t).map((e=>({[e]:t[e]})))});function z(n,s,{auto:r=!0}={}){const c=n=>{let o=Object.keys(n);const h=(t=>!!t[R])(n);if(!h&&o.length>1&&!j(n))return c(W(n));if((e=>!t(e)&&i(e)&&!j(e))(n)){const t=h?n[R]:o[0],i=h?n[O]:n[t];if(!e(i))throw new Error((t=>`Invalid value for key ${t}`)(t));const c={keyId:d(t),pattern:i};return r&&(c.searcher=b(i,s)),c}let a={children:[],operator:o[0]};return o.forEach((e=>{const s=n[e];t(s)&&s.forEach((t=>{a.children.push(c(t))}))})),a};return j(n)||(n=W(n)),c(n)}function K(t,e){const n=t.matches;e.matches=[],r(n)&&n.forEach((t=>{if(!r(t.indices)||!t.indices.length)return;const{indices:n,value:s}=t;let i={indices:n,value:s};t.key&&(i.key=t.key.src),t.idx>-1&&(i.refIndex=t.idx),e.matches.push(i)}))}function P(t,e){e.score=t.score}class q{constructor(t,e={},n){this.options={...g,...e},this.options.useExtendedSearch,this._keyStore=new a(this.options.keys),this.setCollection(t,n)}setCollection(t,e){if(this._docs=t,e&&!(e instanceof p))throw new Error("Incorrect 'index' type");this._myIndex=e||m(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){r(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=(()=>!1)){const e=[];for(let n=0,s=this._docs.length;n<s;n+=1){const i=this._docs[n];t(i,n)&&(this.removeAt(n),n-=1,s-=1,e.push(i))}return e}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t)}getIndex(){return this._myIndex}search(t,{limit:s=-1}={}){const{includeMatches:i,includeScore:r,shouldSort:c,sortFn:o,ignoreFieldNorm:h}=this.options;let a=e(t)?e(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return function(t,{ignoreFieldNorm:e=g.ignoreFieldNorm}){t.forEach((t=>{let n=1;t.matches.forEach((({key:t,norm:s,score:i})=>{const r=t?t.weight:null;n*=Math.pow(0===i&&r?Number.EPSILON:i,(r||1)*(e?1:s))})),t.score=n}))}(a,{ignoreFieldNorm:h}),c&&a.sort(o),n(s)&&s>-1&&(a=a.slice(0,s)),function(t,e,{includeMatches:n=g.includeMatches,includeScore:s=g.includeScore}={}){const i=[];return n&&i.push(K),s&&i.push(P),t.map((t=>{const{idx:n}=t,s={item:e[n],refIndex:n};return i.length&&i.forEach((e=>{e(t,s)})),s}))}(a,this._docs,{includeMatches:i,includeScore:r})}_searchStringList(t){const e=b(t,this.options),{records:n}=this._myIndex,s=[];return n.forEach((({v:t,i:n,n:i})=>{if(!r(t))return;const{isMatch:c,score:o,indices:h}=e.searchIn(t);c&&s.push({item:t,idx:n,matches:[{score:o,value:t,norm:i,indices:h}]})})),s}_searchLogical(t){const e=z(t,this.options),n=(t,e,s)=>{if(!t.children){const{keyId:n,searcher:i}=t,r=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(e,n),searcher:i});return r&&r.length?[{idx:s,item:e,matches:r}]:[]}const i=[];for(let r=0,c=t.children.length;r<c;r+=1){const c=t.children[r],o=n(c,e,s);if(o.length)i.push(...o);else if(t.operator===F)return[]}return i},s=this._myIndex.records,i={},c=[];return s.forEach((({$:t,i:s})=>{if(r(t)){let r=n(e,t,s);r.length&&(i[s]||(i[s]={idx:s,item:t,matches:[]},c.push(i[s])),r.forEach((({matches:t})=>{i[s].matches.push(...t)})))}})),c}_searchObjectList(t){const e=b(t,this.options),{keys:n,records:s}=this._myIndex,i=[];return s.forEach((({$:t,i:s})=>{if(!r(t))return;let c=[];n.forEach(((n,s)=>{c.push(...this._findMatches({key:n,value:t[s],searcher:e}))})),c.length&&i.push({idx:s,item:t,matches:c})})),i}_findMatches({key:e,value:n,searcher:s}){if(!r(n))return[];let i=[];if(t(n))n.forEach((({v:t,i:n,n:c})=>{if(!r(t))return;const{isMatch:o,score:h,indices:a}=s.searchIn(t);o&&i.push({score:h,key:e,value:t,idx:n,norm:c,indices:a})}));else{const{v:t,n:r}=n,{isMatch:c,score:o,indices:h}=s.searchIn(t);c&&i.push({score:o,key:e,value:t,norm:r,indices:h})}return i}}q.version="6.6.2",q.createIndex=m,q.parseIndex=function(t,{getFn:e=g.getFn,fieldNormWeight:n=g.fieldNormWeight}={}){const{keys:s,records:i}=t,r=new p({getFn:e,fieldNormWeight:n});return r.setKeys(s),r.setIndexRecords(i),r},q.config=g,function(...t){E.push(...t)}(A);export{q as default}; \ No newline at end of file
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.js b/includes/search/node_modules/fuse.js/dist/fuse.js
deleted file mode 100644
index 42e7d3b..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.js
+++ /dev/null
@@ -1,2240 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
- typeof define === 'function' && define.amd ? define(factory) :
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Fuse = factory());
-})(this, (function () { 'use strict';
-
- function ownKeys(object, enumerableOnly) {
- var keys = Object.keys(object);
-
- if (Object.getOwnPropertySymbols) {
- var symbols = Object.getOwnPropertySymbols(object);
- enumerableOnly && (symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- })), keys.push.apply(keys, symbols);
- }
-
- return keys;
- }
-
- function _objectSpread2(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = null != arguments[i] ? arguments[i] : {};
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
- _defineProperty(target, key, source[key]);
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
- });
- }
-
- return target;
- }
-
- function _typeof(obj) {
- "@babel/helpers - typeof";
-
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
- return typeof obj;
- } : function (obj) {
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- }, _typeof(obj);
- }
-
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
-
- function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
-
- function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- Object.defineProperty(Constructor, "prototype", {
- writable: false
- });
- return Constructor;
- }
-
- function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- } else {
- obj[key] = value;
- }
-
- return obj;
- }
-
- function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- Object.defineProperty(subClass, "prototype", {
- value: Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
- }
- }),
- writable: false
- });
- if (superClass) _setPrototypeOf(subClass, superClass);
- }
-
- function _getPrototypeOf(o) {
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
- return o.__proto__ || Object.getPrototypeOf(o);
- };
- return _getPrototypeOf(o);
- }
-
- function _setPrototypeOf(o, p) {
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- };
-
- return _setPrototypeOf(o, p);
- }
-
- function _isNativeReflectConstruct() {
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
- if (Reflect.construct.sham) return false;
- if (typeof Proxy === "function") return true;
-
- try {
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
- return true;
- } catch (e) {
- return false;
- }
- }
-
- function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return self;
- }
-
- function _possibleConstructorReturn(self, call) {
- if (call && (typeof call === "object" || typeof call === "function")) {
- return call;
- } else if (call !== void 0) {
- throw new TypeError("Derived constructors may only return object or undefined");
- }
-
- return _assertThisInitialized(self);
- }
-
- function _createSuper(Derived) {
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
-
- return function _createSuperInternal() {
- var Super = _getPrototypeOf(Derived),
- result;
-
- if (hasNativeReflectConstruct) {
- var NewTarget = _getPrototypeOf(this).constructor;
-
- result = Reflect.construct(Super, arguments, NewTarget);
- } else {
- result = Super.apply(this, arguments);
- }
-
- return _possibleConstructorReturn(this, result);
- };
- }
-
- function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
- }
-
- function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
- }
-
- function _iterableToArray(iter) {
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
- }
-
- function _unsupportedIterableToArray(o, minLen) {
- if (!o) return;
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor) n = o.constructor.name;
- if (n === "Map" || n === "Set") return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
- }
-
- function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length;
-
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-
- return arr2;
- }
-
- function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function isArray(value) {
- return !Array.isArray ? getTag(value) === '[object Array]' : Array.isArray(value);
- } // Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js
-
- var INFINITY = 1 / 0;
- function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
-
- var result = value + '';
- return result == '0' && 1 / value == -INFINITY ? '-0' : result;
- }
- function toString(value) {
- return value == null ? '' : baseToString(value);
- }
- function isString(value) {
- return typeof value === 'string';
- }
- function isNumber(value) {
- return typeof value === 'number';
- } // Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js
-
- function isBoolean(value) {
- return value === true || value === false || isObjectLike(value) && getTag(value) == '[object Boolean]';
- }
- function isObject(value) {
- return _typeof(value) === 'object';
- } // Checks if `value` is object-like.
-
- function isObjectLike(value) {
- return isObject(value) && value !== null;
- }
- function isDefined(value) {
- return value !== undefined && value !== null;
- }
- function isBlank(value) {
- return !value.trim().length;
- } // Gets the `toStringTag` of `value`.
- // Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js
-
- function getTag(value) {
- return value == null ? value === undefined ? '[object Undefined]' : '[object Null]' : Object.prototype.toString.call(value);
- }
-
- var EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';
- var INCORRECT_INDEX_TYPE = "Incorrect 'index' type";
- var LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = function LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key) {
- return "Invalid value for key ".concat(key);
- };
- var PATTERN_LENGTH_TOO_LARGE = function PATTERN_LENGTH_TOO_LARGE(max) {
- return "Pattern length exceeds max of ".concat(max, ".");
- };
- var MISSING_KEY_PROPERTY = function MISSING_KEY_PROPERTY(name) {
- return "Missing ".concat(name, " property in key");
- };
- var INVALID_KEY_WEIGHT_VALUE = function INVALID_KEY_WEIGHT_VALUE(key) {
- return "Property 'weight' in key '".concat(key, "' must be a positive integer");
- };
-
- var hasOwn = Object.prototype.hasOwnProperty;
-
- var KeyStore = /*#__PURE__*/function () {
- function KeyStore(keys) {
- var _this = this;
-
- _classCallCheck(this, KeyStore);
-
- this._keys = [];
- this._keyMap = {};
- var totalWeight = 0;
- keys.forEach(function (key) {
- var obj = createKey(key);
- totalWeight += obj.weight;
-
- _this._keys.push(obj);
-
- _this._keyMap[obj.id] = obj;
- totalWeight += obj.weight;
- }); // Normalize weights so that their sum is equal to 1
-
- this._keys.forEach(function (key) {
- key.weight /= totalWeight;
- });
- }
-
- _createClass(KeyStore, [{
- key: "get",
- value: function get(keyId) {
- return this._keyMap[keyId];
- }
- }, {
- key: "keys",
- value: function keys() {
- return this._keys;
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return JSON.stringify(this._keys);
- }
- }]);
-
- return KeyStore;
- }();
- function createKey(key) {
- var path = null;
- var id = null;
- var src = null;
- var weight = 1;
- var getFn = null;
-
- if (isString(key) || isArray(key)) {
- src = key;
- path = createKeyPath(key);
- id = createKeyId(key);
- } else {
- if (!hasOwn.call(key, 'name')) {
- throw new Error(MISSING_KEY_PROPERTY('name'));
- }
-
- var name = key.name;
- src = name;
-
- if (hasOwn.call(key, 'weight')) {
- weight = key.weight;
-
- if (weight <= 0) {
- throw new Error(INVALID_KEY_WEIGHT_VALUE(name));
- }
- }
-
- path = createKeyPath(name);
- id = createKeyId(name);
- getFn = key.getFn;
- }
-
- return {
- path: path,
- id: id,
- weight: weight,
- src: src,
- getFn: getFn
- };
- }
- function createKeyPath(key) {
- return isArray(key) ? key : key.split('.');
- }
- function createKeyId(key) {
- return isArray(key) ? key.join('.') : key;
- }
-
- function get(obj, path) {
- var list = [];
- var arr = false;
-
- var deepGet = function deepGet(obj, path, index) {
- if (!isDefined(obj)) {
- return;
- }
-
- if (!path[index]) {
- // If there's no path left, we've arrived at the object we care about.
- list.push(obj);
- } else {
- var key = path[index];
- var value = obj[key];
-
- if (!isDefined(value)) {
- return;
- } // If we're at the last value in the path, and if it's a string/number/bool,
- // add it to the list
-
-
- if (index === path.length - 1 && (isString(value) || isNumber(value) || isBoolean(value))) {
- list.push(toString(value));
- } else if (isArray(value)) {
- arr = true; // Search each item in the array.
-
- for (var i = 0, len = value.length; i < len; i += 1) {
- deepGet(value[i], path, index + 1);
- }
- } else if (path.length) {
- // An object. Recurse further.
- deepGet(value, path, index + 1);
- }
- }
- }; // Backwards compatibility (since path used to be a string)
-
-
- deepGet(obj, isString(path) ? path.split('.') : path, 0);
- return arr ? list : list[0];
- }
-
- var MatchOptions = {
- // Whether the matches should be included in the result set. When `true`, each record in the result
- // set will include the indices of the matched characters.
- // These can consequently be used for highlighting purposes.
- includeMatches: false,
- // When `true`, the matching function will continue to the end of a search pattern even if
- // a perfect match has already been located in the string.
- findAllMatches: false,
- // Minimum number of characters that must be matched before a result is considered a match
- minMatchCharLength: 1
- };
- var BasicOptions = {
- // When `true`, the algorithm continues searching to the end of the input even if a perfect
- // match is found before the end of the same input.
- isCaseSensitive: false,
- // When true, the matching function will continue to the end of a search pattern even if
- includeScore: false,
- // List of properties that will be searched. This also supports nested properties.
- keys: [],
- // Whether to sort the result list, by score
- shouldSort: true,
- // Default sort function: sort by ascending score, ascending index
- sortFn: function sortFn(a, b) {
- return a.score === b.score ? a.idx < b.idx ? -1 : 1 : a.score < b.score ? -1 : 1;
- }
- };
- var FuzzyOptions = {
- // Approximately where in the text is the pattern expected to be found?
- location: 0,
- // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match
- // (of both letters and location), a threshold of '1.0' would match anything.
- threshold: 0.6,
- // Determines how close the match must be to the fuzzy location (specified above).
- // An exact letter match which is 'distance' characters away from the fuzzy location
- // would score as a complete mismatch. A distance of '0' requires the match be at
- // the exact location specified, a threshold of '1000' would require a perfect match
- // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.
- distance: 100
- };
- var AdvancedOptions = {
- // When `true`, it enables the use of unix-like search commands
- useExtendedSearch: false,
- // The get function to use when fetching an object's properties.
- // The default will search nested paths *ie foo.bar.baz*
- getFn: get,
- // When `true`, search will ignore `location` and `distance`, so it won't matter
- // where in the string the pattern appears.
- // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score
- ignoreLocation: false,
- // When `true`, the calculation for the relevance score (used for sorting) will
- // ignore the field-length norm.
- // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm
- ignoreFieldNorm: false,
- // The weight to determine how much field length norm effects scoring.
- fieldNormWeight: 1
- };
- var Config = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, BasicOptions), MatchOptions), FuzzyOptions), AdvancedOptions);
-
- var SPACE = /[^ ]+/g; // Field-length norm: the shorter the field, the higher the weight.
- // Set to 3 decimals to reduce index size.
-
- function norm() {
- var weight = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
- var mantissa = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
- var cache = new Map();
- var m = Math.pow(10, mantissa);
- return {
- get: function get(value) {
- var numTokens = value.match(SPACE).length;
-
- if (cache.has(numTokens)) {
- return cache.get(numTokens);
- } // Default function is 1/sqrt(x), weight makes that variable
-
-
- var norm = 1 / Math.pow(numTokens, 0.5 * weight); // In place of `toFixed(mantissa)`, for faster computation
-
- var n = parseFloat(Math.round(norm * m) / m);
- cache.set(numTokens, n);
- return n;
- },
- clear: function clear() {
- cache.clear();
- }
- };
- }
-
- var FuseIndex = /*#__PURE__*/function () {
- function FuseIndex() {
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref$getFn = _ref.getFn,
- getFn = _ref$getFn === void 0 ? Config.getFn : _ref$getFn,
- _ref$fieldNormWeight = _ref.fieldNormWeight,
- fieldNormWeight = _ref$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref$fieldNormWeight;
-
- _classCallCheck(this, FuseIndex);
-
- this.norm = norm(fieldNormWeight, 3);
- this.getFn = getFn;
- this.isCreated = false;
- this.setIndexRecords();
- }
-
- _createClass(FuseIndex, [{
- key: "setSources",
- value: function setSources() {
- var docs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.docs = docs;
- }
- }, {
- key: "setIndexRecords",
- value: function setIndexRecords() {
- var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.records = records;
- }
- }, {
- key: "setKeys",
- value: function setKeys() {
- var _this = this;
-
- var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- this.keys = keys;
- this._keysMap = {};
- keys.forEach(function (key, idx) {
- _this._keysMap[key.id] = idx;
- });
- }
- }, {
- key: "create",
- value: function create() {
- var _this2 = this;
-
- if (this.isCreated || !this.docs.length) {
- return;
- }
-
- this.isCreated = true; // List is Array<String>
-
- if (isString(this.docs[0])) {
- this.docs.forEach(function (doc, docIndex) {
- _this2._addString(doc, docIndex);
- });
- } else {
- // List is Array<Object>
- this.docs.forEach(function (doc, docIndex) {
- _this2._addObject(doc, docIndex);
- });
- }
-
- this.norm.clear();
- } // Adds a doc to the end of the index
-
- }, {
- key: "add",
- value: function add(doc) {
- var idx = this.size();
-
- if (isString(doc)) {
- this._addString(doc, idx);
- } else {
- this._addObject(doc, idx);
- }
- } // Removes the doc at the specified index of the index
-
- }, {
- key: "removeAt",
- value: function removeAt(idx) {
- this.records.splice(idx, 1); // Change ref index of every subsquent doc
-
- for (var i = idx, len = this.size(); i < len; i += 1) {
- this.records[i].i -= 1;
- }
- }
- }, {
- key: "getValueForItemAtKeyId",
- value: function getValueForItemAtKeyId(item, keyId) {
- return item[this._keysMap[keyId]];
- }
- }, {
- key: "size",
- value: function size() {
- return this.records.length;
- }
- }, {
- key: "_addString",
- value: function _addString(doc, docIndex) {
- if (!isDefined(doc) || isBlank(doc)) {
- return;
- }
-
- var record = {
- v: doc,
- i: docIndex,
- n: this.norm.get(doc)
- };
- this.records.push(record);
- }
- }, {
- key: "_addObject",
- value: function _addObject(doc, docIndex) {
- var _this3 = this;
-
- var record = {
- i: docIndex,
- $: {}
- }; // Iterate over every key (i.e, path), and fetch the value at that key
-
- this.keys.forEach(function (key, keyIndex) {
- var value = key.getFn ? key.getFn(doc) : _this3.getFn(doc, key.path);
-
- if (!isDefined(value)) {
- return;
- }
-
- if (isArray(value)) {
- (function () {
- var subRecords = [];
- var stack = [{
- nestedArrIndex: -1,
- value: value
- }];
-
- while (stack.length) {
- var _stack$pop = stack.pop(),
- nestedArrIndex = _stack$pop.nestedArrIndex,
- _value = _stack$pop.value;
-
- if (!isDefined(_value)) {
- continue;
- }
-
- if (isString(_value) && !isBlank(_value)) {
- var subRecord = {
- v: _value,
- i: nestedArrIndex,
- n: _this3.norm.get(_value)
- };
- subRecords.push(subRecord);
- } else if (isArray(_value)) {
- _value.forEach(function (item, k) {
- stack.push({
- nestedArrIndex: k,
- value: item
- });
- });
- } else ;
- }
-
- record.$[keyIndex] = subRecords;
- })();
- } else if (isString(value) && !isBlank(value)) {
- var subRecord = {
- v: value,
- n: _this3.norm.get(value)
- };
- record.$[keyIndex] = subRecord;
- }
- });
- this.records.push(record);
- }
- }, {
- key: "toJSON",
- value: function toJSON() {
- return {
- keys: this.keys,
- records: this.records
- };
- }
- }]);
-
- return FuseIndex;
- }();
- function createIndex(keys, docs) {
- var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref2$getFn = _ref2.getFn,
- getFn = _ref2$getFn === void 0 ? Config.getFn : _ref2$getFn,
- _ref2$fieldNormWeight = _ref2.fieldNormWeight,
- fieldNormWeight = _ref2$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref2$fieldNormWeight;
-
- var myIndex = new FuseIndex({
- getFn: getFn,
- fieldNormWeight: fieldNormWeight
- });
- myIndex.setKeys(keys.map(createKey));
- myIndex.setSources(docs);
- myIndex.create();
- return myIndex;
- }
- function parseIndex(data) {
- var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref3$getFn = _ref3.getFn,
- getFn = _ref3$getFn === void 0 ? Config.getFn : _ref3$getFn,
- _ref3$fieldNormWeight = _ref3.fieldNormWeight,
- fieldNormWeight = _ref3$fieldNormWeight === void 0 ? Config.fieldNormWeight : _ref3$fieldNormWeight;
-
- var keys = data.keys,
- records = data.records;
- var myIndex = new FuseIndex({
- getFn: getFn,
- fieldNormWeight: fieldNormWeight
- });
- myIndex.setKeys(keys);
- myIndex.setIndexRecords(records);
- return myIndex;
- }
-
- function computeScore$1(pattern) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$errors = _ref.errors,
- errors = _ref$errors === void 0 ? 0 : _ref$errors,
- _ref$currentLocation = _ref.currentLocation,
- currentLocation = _ref$currentLocation === void 0 ? 0 : _ref$currentLocation,
- _ref$expectedLocation = _ref.expectedLocation,
- expectedLocation = _ref$expectedLocation === void 0 ? 0 : _ref$expectedLocation,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- var accuracy = errors / pattern.length;
-
- if (ignoreLocation) {
- return accuracy;
- }
-
- var proximity = Math.abs(expectedLocation - currentLocation);
-
- if (!distance) {
- // Dodge divide by zero error.
- return proximity ? 1.0 : accuracy;
- }
-
- return accuracy + proximity / distance;
- }
-
- function convertMaskToIndices() {
- var matchmask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
- var minMatchCharLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Config.minMatchCharLength;
- var indices = [];
- var start = -1;
- var end = -1;
- var i = 0;
-
- for (var len = matchmask.length; i < len; i += 1) {
- var match = matchmask[i];
-
- if (match && start === -1) {
- start = i;
- } else if (!match && start !== -1) {
- end = i - 1;
-
- if (end - start + 1 >= minMatchCharLength) {
- indices.push([start, end]);
- }
-
- start = -1;
- }
- } // (i-1 - start) + 1 => i - start
-
-
- if (matchmask[i - 1] && i - start >= minMatchCharLength) {
- indices.push([start, i - 1]);
- }
-
- return indices;
- }
-
- // Machine word size
- var MAX_BITS = 32;
-
- function search(text, pattern, patternAlphabet) {
- var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- if (pattern.length > MAX_BITS) {
- throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS));
- }
-
- var patternLen = pattern.length; // Set starting location at beginning text and initialize the alphabet.
-
- var textLen = text.length; // Handle the case when location > text.length
-
- var expectedLocation = Math.max(0, Math.min(location, textLen)); // Highest score beyond which we give up.
-
- var currentThreshold = threshold; // Is there a nearby exact match? (speedup)
-
- var bestLocation = expectedLocation; // Performance: only computer matches when the minMatchCharLength > 1
- // OR if `includeMatches` is true.
-
- var computeMatches = minMatchCharLength > 1 || includeMatches; // A mask of the matches, used for building the indices
-
- var matchMask = computeMatches ? Array(textLen) : [];
- var index; // Get all exact matches, here for speed up
-
- while ((index = text.indexOf(pattern, bestLocation)) > -1) {
- var score = computeScore$1(pattern, {
- currentLocation: index,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
- currentThreshold = Math.min(score, currentThreshold);
- bestLocation = index + patternLen;
-
- if (computeMatches) {
- var i = 0;
-
- while (i < patternLen) {
- matchMask[index + i] = 1;
- i += 1;
- }
- }
- } // Reset the best location
-
-
- bestLocation = -1;
- var lastBitArr = [];
- var finalScore = 1;
- var binMax = patternLen + textLen;
- var mask = 1 << patternLen - 1;
-
- for (var _i = 0; _i < patternLen; _i += 1) {
- // Scan for the best match; each iteration allows for one more error.
- // Run a binary search to determine how far from the match location we can stray
- // at this error level.
- var binMin = 0;
- var binMid = binMax;
-
- while (binMin < binMid) {
- var _score2 = computeScore$1(pattern, {
- errors: _i,
- currentLocation: expectedLocation + binMid,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
-
- if (_score2 <= currentThreshold) {
- binMin = binMid;
- } else {
- binMax = binMid;
- }
-
- binMid = Math.floor((binMax - binMin) / 2 + binMin);
- } // Use the result from this iteration as the maximum for the next.
-
-
- binMax = binMid;
- var start = Math.max(1, expectedLocation - binMid + 1);
- var finish = findAllMatches ? textLen : Math.min(expectedLocation + binMid, textLen) + patternLen; // Initialize the bit array
-
- var bitArr = Array(finish + 2);
- bitArr[finish + 1] = (1 << _i) - 1;
-
- for (var j = finish; j >= start; j -= 1) {
- var currentLocation = j - 1;
- var charMatch = patternAlphabet[text.charAt(currentLocation)];
-
- if (computeMatches) {
- // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)
- matchMask[currentLocation] = +!!charMatch;
- } // First pass: exact match
-
-
- bitArr[j] = (bitArr[j + 1] << 1 | 1) & charMatch; // Subsequent passes: fuzzy match
-
- if (_i) {
- bitArr[j] |= (lastBitArr[j + 1] | lastBitArr[j]) << 1 | 1 | lastBitArr[j + 1];
- }
-
- if (bitArr[j] & mask) {
- finalScore = computeScore$1(pattern, {
- errors: _i,
- currentLocation: currentLocation,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- }); // This match will almost certainly be better than any existing match.
- // But check anyway.
-
- if (finalScore <= currentThreshold) {
- // Indeed it is
- currentThreshold = finalScore;
- bestLocation = currentLocation; // Already passed `loc`, downhill from here on in.
-
- if (bestLocation <= expectedLocation) {
- break;
- } // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.
-
-
- start = Math.max(1, 2 * expectedLocation - bestLocation);
- }
- }
- } // No hope for a (better) match at greater error levels.
-
-
- var _score = computeScore$1(pattern, {
- errors: _i + 1,
- currentLocation: expectedLocation,
- expectedLocation: expectedLocation,
- distance: distance,
- ignoreLocation: ignoreLocation
- });
-
- if (_score > currentThreshold) {
- break;
- }
-
- lastBitArr = bitArr;
- }
-
- var result = {
- isMatch: bestLocation >= 0,
- // Count exact matches (those with a score of 0) to be "almost" exact
- score: Math.max(0.001, finalScore)
- };
-
- if (computeMatches) {
- var indices = convertMaskToIndices(matchMask, minMatchCharLength);
-
- if (!indices.length) {
- result.isMatch = false;
- } else if (includeMatches) {
- result.indices = indices;
- }
- }
-
- return result;
- }
-
- function createPatternAlphabet(pattern) {
- var mask = {};
-
- for (var i = 0, len = pattern.length; i < len; i += 1) {
- var _char = pattern.charAt(i);
-
- mask[_char] = (mask[_char] || 0) | 1 << len - i - 1;
- }
-
- return mask;
- }
-
- var BitapSearch = /*#__PURE__*/function () {
- function BitapSearch(pattern) {
- var _this = this;
-
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$isCaseSensitive = _ref.isCaseSensitive,
- isCaseSensitive = _ref$isCaseSensitive === void 0 ? Config.isCaseSensitive : _ref$isCaseSensitive,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- _classCallCheck(this, BitapSearch);
-
- this.options = {
- location: location,
- threshold: threshold,
- distance: distance,
- includeMatches: includeMatches,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- isCaseSensitive: isCaseSensitive,
- ignoreLocation: ignoreLocation
- };
- this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();
- this.chunks = [];
-
- if (!this.pattern.length) {
- return;
- }
-
- var addChunk = function addChunk(pattern, startIndex) {
- _this.chunks.push({
- pattern: pattern,
- alphabet: createPatternAlphabet(pattern),
- startIndex: startIndex
- });
- };
-
- var len = this.pattern.length;
-
- if (len > MAX_BITS) {
- var i = 0;
- var remainder = len % MAX_BITS;
- var end = len - remainder;
-
- while (i < end) {
- addChunk(this.pattern.substr(i, MAX_BITS), i);
- i += MAX_BITS;
- }
-
- if (remainder) {
- var startIndex = len - MAX_BITS;
- addChunk(this.pattern.substr(startIndex), startIndex);
- }
- } else {
- addChunk(this.pattern, 0);
- }
- }
-
- _createClass(BitapSearch, [{
- key: "searchIn",
- value: function searchIn(text) {
- var _this$options = this.options,
- isCaseSensitive = _this$options.isCaseSensitive,
- includeMatches = _this$options.includeMatches;
-
- if (!isCaseSensitive) {
- text = text.toLowerCase();
- } // Exact match
-
-
- if (this.pattern === text) {
- var _result = {
- isMatch: true,
- score: 0
- };
-
- if (includeMatches) {
- _result.indices = [[0, text.length - 1]];
- }
-
- return _result;
- } // Otherwise, use Bitap algorithm
-
-
- var _this$options2 = this.options,
- location = _this$options2.location,
- distance = _this$options2.distance,
- threshold = _this$options2.threshold,
- findAllMatches = _this$options2.findAllMatches,
- minMatchCharLength = _this$options2.minMatchCharLength,
- ignoreLocation = _this$options2.ignoreLocation;
- var allIndices = [];
- var totalScore = 0;
- var hasMatches = false;
- this.chunks.forEach(function (_ref2) {
- var pattern = _ref2.pattern,
- alphabet = _ref2.alphabet,
- startIndex = _ref2.startIndex;
-
- var _search = search(text, pattern, alphabet, {
- location: location + startIndex,
- distance: distance,
- threshold: threshold,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- includeMatches: includeMatches,
- ignoreLocation: ignoreLocation
- }),
- isMatch = _search.isMatch,
- score = _search.score,
- indices = _search.indices;
-
- if (isMatch) {
- hasMatches = true;
- }
-
- totalScore += score;
-
- if (isMatch && indices) {
- allIndices = [].concat(_toConsumableArray(allIndices), _toConsumableArray(indices));
- }
- });
- var result = {
- isMatch: hasMatches,
- score: hasMatches ? totalScore / this.chunks.length : 1
- };
-
- if (hasMatches && includeMatches) {
- result.indices = allIndices;
- }
-
- return result;
- }
- }]);
-
- return BitapSearch;
- }();
-
- var BaseMatch = /*#__PURE__*/function () {
- function BaseMatch(pattern) {
- _classCallCheck(this, BaseMatch);
-
- this.pattern = pattern;
- }
-
- _createClass(BaseMatch, [{
- key: "search",
- value: function
- /*text*/
- search() {}
- }], [{
- key: "isMultiMatch",
- value: function isMultiMatch(pattern) {
- return getMatch(pattern, this.multiRegex);
- }
- }, {
- key: "isSingleMatch",
- value: function isSingleMatch(pattern) {
- return getMatch(pattern, this.singleRegex);
- }
- }]);
-
- return BaseMatch;
- }();
-
- function getMatch(pattern, exp) {
- var matches = pattern.match(exp);
- return matches ? matches[1] : null;
- }
-
- var ExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(ExactMatch, _BaseMatch);
-
- var _super = _createSuper(ExactMatch);
-
- function ExactMatch(pattern) {
- _classCallCheck(this, ExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(ExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = text === this.pattern;
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, this.pattern.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^="(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^=(.*)$/;
- }
- }]);
-
- return ExactMatch;
- }(BaseMatch);
-
- var InverseExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(InverseExactMatch, _BaseMatch);
-
- var _super = _createSuper(InverseExactMatch);
-
- function InverseExactMatch(pattern) {
- _classCallCheck(this, InverseExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(InverseExactMatch, [{
- key: "search",
- value: function search(text) {
- var index = text.indexOf(this.pattern);
- var isMatch = index === -1;
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, text.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'inverse-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^!"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^!(.*)$/;
- }
- }]);
-
- return InverseExactMatch;
- }(BaseMatch);
-
- var PrefixExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(PrefixExactMatch, _BaseMatch);
-
- var _super = _createSuper(PrefixExactMatch);
-
- function PrefixExactMatch(pattern) {
- _classCallCheck(this, PrefixExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(PrefixExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = text.startsWith(this.pattern);
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, this.pattern.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'prefix-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^\^"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^\^(.*)$/;
- }
- }]);
-
- return PrefixExactMatch;
- }(BaseMatch);
-
- var InversePrefixExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(InversePrefixExactMatch, _BaseMatch);
-
- var _super = _createSuper(InversePrefixExactMatch);
-
- function InversePrefixExactMatch(pattern) {
- _classCallCheck(this, InversePrefixExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(InversePrefixExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = !text.startsWith(this.pattern);
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, text.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'inverse-prefix-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^!\^"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^!\^(.*)$/;
- }
- }]);
-
- return InversePrefixExactMatch;
- }(BaseMatch);
-
- var SuffixExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(SuffixExactMatch, _BaseMatch);
-
- var _super = _createSuper(SuffixExactMatch);
-
- function SuffixExactMatch(pattern) {
- _classCallCheck(this, SuffixExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(SuffixExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = text.endsWith(this.pattern);
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [text.length - this.pattern.length, text.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'suffix-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^"(.*)"\$$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^(.*)\$$/;
- }
- }]);
-
- return SuffixExactMatch;
- }(BaseMatch);
-
- var InverseSuffixExactMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(InverseSuffixExactMatch, _BaseMatch);
-
- var _super = _createSuper(InverseSuffixExactMatch);
-
- function InverseSuffixExactMatch(pattern) {
- _classCallCheck(this, InverseSuffixExactMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(InverseSuffixExactMatch, [{
- key: "search",
- value: function search(text) {
- var isMatch = !text.endsWith(this.pattern);
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: [0, text.length - 1]
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'inverse-suffix-exact';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^!"(.*)"\$$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^!(.*)\$$/;
- }
- }]);
-
- return InverseSuffixExactMatch;
- }(BaseMatch);
-
- var FuzzyMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(FuzzyMatch, _BaseMatch);
-
- var _super = _createSuper(FuzzyMatch);
-
- function FuzzyMatch(pattern) {
- var _this;
-
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$isCaseSensitive = _ref.isCaseSensitive,
- isCaseSensitive = _ref$isCaseSensitive === void 0 ? Config.isCaseSensitive : _ref$isCaseSensitive,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation;
-
- _classCallCheck(this, FuzzyMatch);
-
- _this = _super.call(this, pattern);
- _this._bitapSearch = new BitapSearch(pattern, {
- location: location,
- threshold: threshold,
- distance: distance,
- includeMatches: includeMatches,
- findAllMatches: findAllMatches,
- minMatchCharLength: minMatchCharLength,
- isCaseSensitive: isCaseSensitive,
- ignoreLocation: ignoreLocation
- });
- return _this;
- }
-
- _createClass(FuzzyMatch, [{
- key: "search",
- value: function search(text) {
- return this._bitapSearch.searchIn(text);
- }
- }], [{
- key: "type",
- get: function get() {
- return 'fuzzy';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^(.*)$/;
- }
- }]);
-
- return FuzzyMatch;
- }(BaseMatch);
-
- var IncludeMatch = /*#__PURE__*/function (_BaseMatch) {
- _inherits(IncludeMatch, _BaseMatch);
-
- var _super = _createSuper(IncludeMatch);
-
- function IncludeMatch(pattern) {
- _classCallCheck(this, IncludeMatch);
-
- return _super.call(this, pattern);
- }
-
- _createClass(IncludeMatch, [{
- key: "search",
- value: function search(text) {
- var location = 0;
- var index;
- var indices = [];
- var patternLen = this.pattern.length; // Get all exact matches
-
- while ((index = text.indexOf(this.pattern, location)) > -1) {
- location = index + patternLen;
- indices.push([index, location - 1]);
- }
-
- var isMatch = !!indices.length;
- return {
- isMatch: isMatch,
- score: isMatch ? 0 : 1,
- indices: indices
- };
- }
- }], [{
- key: "type",
- get: function get() {
- return 'include';
- }
- }, {
- key: "multiRegex",
- get: function get() {
- return /^'"(.*)"$/;
- }
- }, {
- key: "singleRegex",
- get: function get() {
- return /^'(.*)$/;
- }
- }]);
-
- return IncludeMatch;
- }(BaseMatch);
-
- var searchers = [ExactMatch, IncludeMatch, PrefixExactMatch, InversePrefixExactMatch, InverseSuffixExactMatch, SuffixExactMatch, InverseExactMatch, FuzzyMatch];
- var searchersLen = searchers.length; // Regex to split by spaces, but keep anything in quotes together
-
- var SPACE_RE = / +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;
- var OR_TOKEN = '|'; // Return a 2D array representation of the query, for simpler parsing.
- // Example:
- // "^core go$ | rb$ | py$ xy$" => [["^core", "go$"], ["rb$"], ["py$", "xy$"]]
-
- function parseQuery(pattern) {
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- return pattern.split(OR_TOKEN).map(function (item) {
- var query = item.trim().split(SPACE_RE).filter(function (item) {
- return item && !!item.trim();
- });
- var results = [];
-
- for (var i = 0, len = query.length; i < len; i += 1) {
- var queryItem = query[i]; // 1. Handle multiple query match (i.e, once that are quoted, like `"hello world"`)
-
- var found = false;
- var idx = -1;
-
- while (!found && ++idx < searchersLen) {
- var searcher = searchers[idx];
- var token = searcher.isMultiMatch(queryItem);
-
- if (token) {
- results.push(new searcher(token, options));
- found = true;
- }
- }
-
- if (found) {
- continue;
- } // 2. Handle single query matches (i.e, once that are *not* quoted)
-
-
- idx = -1;
-
- while (++idx < searchersLen) {
- var _searcher = searchers[idx];
-
- var _token = _searcher.isSingleMatch(queryItem);
-
- if (_token) {
- results.push(new _searcher(_token, options));
- break;
- }
- }
- }
-
- return results;
- });
- }
-
- // to a singl match
-
- var MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]);
- /**
- * Command-like searching
- * ======================
- *
- * Given multiple search terms delimited by spaces.e.g. `^jscript .python$ ruby !java`,
- * search in a given text.
- *
- * Search syntax:
- *
- * | Token | Match type | Description |
- * | ----------- | -------------------------- | -------------------------------------- |
- * | `jscript` | fuzzy-match | Items that fuzzy match `jscript` |
- * | `=scheme` | exact-match | Items that are `scheme` |
- * | `'python` | include-match | Items that include `python` |
- * | `!ruby` | inverse-exact-match | Items that do not include `ruby` |
- * | `^java` | prefix-exact-match | Items that start with `java` |
- * | `!^earlang` | inverse-prefix-exact-match | Items that do not start with `earlang` |
- * | `.js$` | suffix-exact-match | Items that end with `.js` |
- * | `!.go$` | inverse-suffix-exact-match | Items that do not end with `.go` |
- *
- * A single pipe character acts as an OR operator. For example, the following
- * query matches entries that start with `core` and end with either`go`, `rb`,
- * or`py`.
- *
- * ```
- * ^core go$ | rb$ | py$
- * ```
- */
-
- var ExtendedSearch = /*#__PURE__*/function () {
- function ExtendedSearch(pattern) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$isCaseSensitive = _ref.isCaseSensitive,
- isCaseSensitive = _ref$isCaseSensitive === void 0 ? Config.isCaseSensitive : _ref$isCaseSensitive,
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$minMatchCharLeng = _ref.minMatchCharLength,
- minMatchCharLength = _ref$minMatchCharLeng === void 0 ? Config.minMatchCharLength : _ref$minMatchCharLeng,
- _ref$ignoreLocation = _ref.ignoreLocation,
- ignoreLocation = _ref$ignoreLocation === void 0 ? Config.ignoreLocation : _ref$ignoreLocation,
- _ref$findAllMatches = _ref.findAllMatches,
- findAllMatches = _ref$findAllMatches === void 0 ? Config.findAllMatches : _ref$findAllMatches,
- _ref$location = _ref.location,
- location = _ref$location === void 0 ? Config.location : _ref$location,
- _ref$threshold = _ref.threshold,
- threshold = _ref$threshold === void 0 ? Config.threshold : _ref$threshold,
- _ref$distance = _ref.distance,
- distance = _ref$distance === void 0 ? Config.distance : _ref$distance;
-
- _classCallCheck(this, ExtendedSearch);
-
- this.query = null;
- this.options = {
- isCaseSensitive: isCaseSensitive,
- includeMatches: includeMatches,
- minMatchCharLength: minMatchCharLength,
- findAllMatches: findAllMatches,
- ignoreLocation: ignoreLocation,
- location: location,
- threshold: threshold,
- distance: distance
- };
- this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();
- this.query = parseQuery(this.pattern, this.options);
- }
-
- _createClass(ExtendedSearch, [{
- key: "searchIn",
- value: function searchIn(text) {
- var query = this.query;
-
- if (!query) {
- return {
- isMatch: false,
- score: 1
- };
- }
-
- var _this$options = this.options,
- includeMatches = _this$options.includeMatches,
- isCaseSensitive = _this$options.isCaseSensitive;
- text = isCaseSensitive ? text : text.toLowerCase();
- var numMatches = 0;
- var allIndices = [];
- var totalScore = 0; // ORs
-
- for (var i = 0, qLen = query.length; i < qLen; i += 1) {
- var searchers = query[i]; // Reset indices
-
- allIndices.length = 0;
- numMatches = 0; // ANDs
-
- for (var j = 0, pLen = searchers.length; j < pLen; j += 1) {
- var searcher = searchers[j];
-
- var _searcher$search = searcher.search(text),
- isMatch = _searcher$search.isMatch,
- indices = _searcher$search.indices,
- score = _searcher$search.score;
-
- if (isMatch) {
- numMatches += 1;
- totalScore += score;
-
- if (includeMatches) {
- var type = searcher.constructor.type;
-
- if (MultiMatchSet.has(type)) {
- allIndices = [].concat(_toConsumableArray(allIndices), _toConsumableArray(indices));
- } else {
- allIndices.push(indices);
- }
- }
- } else {
- totalScore = 0;
- numMatches = 0;
- allIndices.length = 0;
- break;
- }
- } // OR condition, so if TRUE, return
-
-
- if (numMatches) {
- var result = {
- isMatch: true,
- score: totalScore / numMatches
- };
-
- if (includeMatches) {
- result.indices = allIndices;
- }
-
- return result;
- }
- } // Nothing was matched
-
-
- return {
- isMatch: false,
- score: 1
- };
- }
- }], [{
- key: "condition",
- value: function condition(_, options) {
- return options.useExtendedSearch;
- }
- }]);
-
- return ExtendedSearch;
- }();
-
- var registeredSearchers = [];
- function register() {
- registeredSearchers.push.apply(registeredSearchers, arguments);
- }
- function createSearcher(pattern, options) {
- for (var i = 0, len = registeredSearchers.length; i < len; i += 1) {
- var searcherClass = registeredSearchers[i];
-
- if (searcherClass.condition(pattern, options)) {
- return new searcherClass(pattern, options);
- }
- }
-
- return new BitapSearch(pattern, options);
- }
-
- var LogicalOperator = {
- AND: '$and',
- OR: '$or'
- };
- var KeyType = {
- PATH: '$path',
- PATTERN: '$val'
- };
-
- var isExpression = function isExpression(query) {
- return !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);
- };
-
- var isPath = function isPath(query) {
- return !!query[KeyType.PATH];
- };
-
- var isLeaf = function isLeaf(query) {
- return !isArray(query) && isObject(query) && !isExpression(query);
- };
-
- var convertToExplicit = function convertToExplicit(query) {
- return _defineProperty({}, LogicalOperator.AND, Object.keys(query).map(function (key) {
- return _defineProperty({}, key, query[key]);
- }));
- }; // When `auto` is `true`, the parse function will infer and initialize and add
- // the appropriate `Searcher` instance
-
-
- function parse(query, options) {
- var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref3$auto = _ref3.auto,
- auto = _ref3$auto === void 0 ? true : _ref3$auto;
-
- var next = function next(query) {
- var keys = Object.keys(query);
- var isQueryPath = isPath(query);
-
- if (!isQueryPath && keys.length > 1 && !isExpression(query)) {
- return next(convertToExplicit(query));
- }
-
- if (isLeaf(query)) {
- var key = isQueryPath ? query[KeyType.PATH] : keys[0];
- var pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];
-
- if (!isString(pattern)) {
- throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key));
- }
-
- var obj = {
- keyId: createKeyId(key),
- pattern: pattern
- };
-
- if (auto) {
- obj.searcher = createSearcher(pattern, options);
- }
-
- return obj;
- }
-
- var node = {
- children: [],
- operator: keys[0]
- };
- keys.forEach(function (key) {
- var value = query[key];
-
- if (isArray(value)) {
- value.forEach(function (item) {
- node.children.push(next(item));
- });
- }
- });
- return node;
- };
-
- if (!isExpression(query)) {
- query = convertToExplicit(query);
- }
-
- return next(query);
- }
-
- function computeScore(results, _ref) {
- var _ref$ignoreFieldNorm = _ref.ignoreFieldNorm,
- ignoreFieldNorm = _ref$ignoreFieldNorm === void 0 ? Config.ignoreFieldNorm : _ref$ignoreFieldNorm;
- results.forEach(function (result) {
- var totalScore = 1;
- result.matches.forEach(function (_ref2) {
- var key = _ref2.key,
- norm = _ref2.norm,
- score = _ref2.score;
- var weight = key ? key.weight : null;
- totalScore *= Math.pow(score === 0 && weight ? Number.EPSILON : score, (weight || 1) * (ignoreFieldNorm ? 1 : norm));
- });
- result.score = totalScore;
- });
- }
-
- function transformMatches(result, data) {
- var matches = result.matches;
- data.matches = [];
-
- if (!isDefined(matches)) {
- return;
- }
-
- matches.forEach(function (match) {
- if (!isDefined(match.indices) || !match.indices.length) {
- return;
- }
-
- var indices = match.indices,
- value = match.value;
- var obj = {
- indices: indices,
- value: value
- };
-
- if (match.key) {
- obj.key = match.key.src;
- }
-
- if (match.idx > -1) {
- obj.refIndex = match.idx;
- }
-
- data.matches.push(obj);
- });
- }
-
- function transformScore(result, data) {
- data.score = result.score;
- }
-
- function format(results, docs) {
- var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
- _ref$includeMatches = _ref.includeMatches,
- includeMatches = _ref$includeMatches === void 0 ? Config.includeMatches : _ref$includeMatches,
- _ref$includeScore = _ref.includeScore,
- includeScore = _ref$includeScore === void 0 ? Config.includeScore : _ref$includeScore;
-
- var transformers = [];
- if (includeMatches) transformers.push(transformMatches);
- if (includeScore) transformers.push(transformScore);
- return results.map(function (result) {
- var idx = result.idx;
- var data = {
- item: docs[idx],
- refIndex: idx
- };
-
- if (transformers.length) {
- transformers.forEach(function (transformer) {
- transformer(result, data);
- });
- }
-
- return data;
- });
- }
-
- var Fuse$1 = /*#__PURE__*/function () {
- function Fuse(docs) {
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- var index = arguments.length > 2 ? arguments[2] : undefined;
-
- _classCallCheck(this, Fuse);
-
- this.options = _objectSpread2(_objectSpread2({}, Config), options);
-
- if (this.options.useExtendedSearch && !true) {
- throw new Error(EXTENDED_SEARCH_UNAVAILABLE);
- }
-
- this._keyStore = new KeyStore(this.options.keys);
- this.setCollection(docs, index);
- }
-
- _createClass(Fuse, [{
- key: "setCollection",
- value: function setCollection(docs, index) {
- this._docs = docs;
-
- if (index && !(index instanceof FuseIndex)) {
- throw new Error(INCORRECT_INDEX_TYPE);
- }
-
- this._myIndex = index || createIndex(this.options.keys, this._docs, {
- getFn: this.options.getFn,
- fieldNormWeight: this.options.fieldNormWeight
- });
- }
- }, {
- key: "add",
- value: function add(doc) {
- if (!isDefined(doc)) {
- return;
- }
-
- this._docs.push(doc);
-
- this._myIndex.add(doc);
- }
- }, {
- key: "remove",
- value: function remove() {
- var predicate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function
- /* doc, idx */
- () {
- return false;
- };
- var results = [];
-
- for (var i = 0, len = this._docs.length; i < len; i += 1) {
- var doc = this._docs[i];
-
- if (predicate(doc, i)) {
- this.removeAt(i);
- i -= 1;
- len -= 1;
- results.push(doc);
- }
- }
-
- return results;
- }
- }, {
- key: "removeAt",
- value: function removeAt(idx) {
- this._docs.splice(idx, 1);
-
- this._myIndex.removeAt(idx);
- }
- }, {
- key: "getIndex",
- value: function getIndex() {
- return this._myIndex;
- }
- }, {
- key: "search",
- value: function search(query) {
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$limit = _ref.limit,
- limit = _ref$limit === void 0 ? -1 : _ref$limit;
-
- var _this$options = this.options,
- includeMatches = _this$options.includeMatches,
- includeScore = _this$options.includeScore,
- shouldSort = _this$options.shouldSort,
- sortFn = _this$options.sortFn,
- ignoreFieldNorm = _this$options.ignoreFieldNorm;
- var results = isString(query) ? isString(this._docs[0]) ? this._searchStringList(query) : this._searchObjectList(query) : this._searchLogical(query);
- computeScore(results, {
- ignoreFieldNorm: ignoreFieldNorm
- });
-
- if (shouldSort) {
- results.sort(sortFn);
- }
-
- if (isNumber(limit) && limit > -1) {
- results = results.slice(0, limit);
- }
-
- return format(results, this._docs, {
- includeMatches: includeMatches,
- includeScore: includeScore
- });
- }
- }, {
- key: "_searchStringList",
- value: function _searchStringList(query) {
- var searcher = createSearcher(query, this.options);
- var records = this._myIndex.records;
- var results = []; // Iterate over every string in the index
-
- records.forEach(function (_ref2) {
- var text = _ref2.v,
- idx = _ref2.i,
- norm = _ref2.n;
-
- if (!isDefined(text)) {
- return;
- }
-
- var _searcher$searchIn = searcher.searchIn(text),
- isMatch = _searcher$searchIn.isMatch,
- score = _searcher$searchIn.score,
- indices = _searcher$searchIn.indices;
-
- if (isMatch) {
- results.push({
- item: text,
- idx: idx,
- matches: [{
- score: score,
- value: text,
- norm: norm,
- indices: indices
- }]
- });
- }
- });
- return results;
- }
- }, {
- key: "_searchLogical",
- value: function _searchLogical(query) {
- var _this = this;
-
- var expression = parse(query, this.options);
-
- var evaluate = function evaluate(node, item, idx) {
- if (!node.children) {
- var keyId = node.keyId,
- searcher = node.searcher;
-
- var matches = _this._findMatches({
- key: _this._keyStore.get(keyId),
- value: _this._myIndex.getValueForItemAtKeyId(item, keyId),
- searcher: searcher
- });
-
- if (matches && matches.length) {
- return [{
- idx: idx,
- item: item,
- matches: matches
- }];
- }
-
- return [];
- }
-
- var res = [];
-
- for (var i = 0, len = node.children.length; i < len; i += 1) {
- var child = node.children[i];
- var result = evaluate(child, item, idx);
-
- if (result.length) {
- res.push.apply(res, _toConsumableArray(result));
- } else if (node.operator === LogicalOperator.AND) {
- return [];
- }
- }
-
- return res;
- };
-
- var records = this._myIndex.records;
- var resultMap = {};
- var results = [];
- records.forEach(function (_ref3) {
- var item = _ref3.$,
- idx = _ref3.i;
-
- if (isDefined(item)) {
- var expResults = evaluate(expression, item, idx);
-
- if (expResults.length) {
- // Dedupe when adding
- if (!resultMap[idx]) {
- resultMap[idx] = {
- idx: idx,
- item: item,
- matches: []
- };
- results.push(resultMap[idx]);
- }
-
- expResults.forEach(function (_ref4) {
- var _resultMap$idx$matche;
-
- var matches = _ref4.matches;
-
- (_resultMap$idx$matche = resultMap[idx].matches).push.apply(_resultMap$idx$matche, _toConsumableArray(matches));
- });
- }
- }
- });
- return results;
- }
- }, {
- key: "_searchObjectList",
- value: function _searchObjectList(query) {
- var _this2 = this;
-
- var searcher = createSearcher(query, this.options);
- var _this$_myIndex = this._myIndex,
- keys = _this$_myIndex.keys,
- records = _this$_myIndex.records;
- var results = []; // List is Array<Object>
-
- records.forEach(function (_ref5) {
- var item = _ref5.$,
- idx = _ref5.i;
-
- if (!isDefined(item)) {
- return;
- }
-
- var matches = []; // Iterate over every key (i.e, path), and fetch the value at that key
-
- keys.forEach(function (key, keyIndex) {
- matches.push.apply(matches, _toConsumableArray(_this2._findMatches({
- key: key,
- value: item[keyIndex],
- searcher: searcher
- })));
- });
-
- if (matches.length) {
- results.push({
- idx: idx,
- item: item,
- matches: matches
- });
- }
- });
- return results;
- }
- }, {
- key: "_findMatches",
- value: function _findMatches(_ref6) {
- var key = _ref6.key,
- value = _ref6.value,
- searcher = _ref6.searcher;
-
- if (!isDefined(value)) {
- return [];
- }
-
- var matches = [];
-
- if (isArray(value)) {
- value.forEach(function (_ref7) {
- var text = _ref7.v,
- idx = _ref7.i,
- norm = _ref7.n;
-
- if (!isDefined(text)) {
- return;
- }
-
- var _searcher$searchIn2 = searcher.searchIn(text),
- isMatch = _searcher$searchIn2.isMatch,
- score = _searcher$searchIn2.score,
- indices = _searcher$searchIn2.indices;
-
- if (isMatch) {
- matches.push({
- score: score,
- key: key,
- value: text,
- idx: idx,
- norm: norm,
- indices: indices
- });
- }
- });
- } else {
- var text = value.v,
- norm = value.n;
-
- var _searcher$searchIn3 = searcher.searchIn(text),
- isMatch = _searcher$searchIn3.isMatch,
- score = _searcher$searchIn3.score,
- indices = _searcher$searchIn3.indices;
-
- if (isMatch) {
- matches.push({
- score: score,
- key: key,
- value: text,
- norm: norm,
- indices: indices
- });
- }
- }
-
- return matches;
- }
- }]);
-
- return Fuse;
- }();
-
- Fuse$1.version = '6.6.2';
- Fuse$1.createIndex = createIndex;
- Fuse$1.parseIndex = parseIndex;
- Fuse$1.config = Config;
-
- {
- Fuse$1.parseQuery = parse;
- }
-
- {
- register(ExtendedSearch);
- }
-
- var Fuse = Fuse$1;
-
- return Fuse;
-
-}));
diff --git a/includes/search/node_modules/fuse.js/dist/fuse.min.js b/includes/search/node_modules/fuse.js/dist/fuse.min.js
deleted file mode 100644
index adc2835..0000000
--- a/includes/search/node_modules/fuse.js/dist/fuse.min.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * Fuse.js v6.6.2 - Lightweight fuzzy-search (http://fusejs.io)
- *
- * Copyright (c) 2022 Kiro Risk (http://kiro.me)
- * All Rights Reserved. Apache Software License 2.0
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- */
-var e,t;e=this,t=function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?e(Object(r),!0).forEach((function(e){c(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):e(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");Object.defineProperty(e,"prototype",{value:Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),writable:!1}),t&&u(e,t)}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function u(e,t){return u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},u(e,t)}function h(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h(this,n)}}function f(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function v(e){return Array.isArray?Array.isArray(e):"[object Array]"===b(e)}function g(e){return"string"==typeof e}function y(e){return"number"==typeof e}function p(e){return!0===e||!1===e||function(e){return m(e)&&null!==e}(e)&&"[object Boolean]"==b(e)}function m(e){return"object"===n(e)}function k(e){return null!=e}function M(e){return!e.trim().length}function b(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var x=function(e){return"Invalid value for key ".concat(e)},w=function(e){return"Pattern length exceeds max of ".concat(e,".")},L=Object.prototype.hasOwnProperty,S=function(){function e(t){var n=this;r(this,e),this._keys=[],this._keyMap={};var i=0;t.forEach((function(e){var t=_(e);i+=t.weight,n._keys.push(t),n._keyMap[t.id]=t,i+=t.weight})),this._keys.forEach((function(e){e.weight/=i}))}return o(e,[{key:"get",value:function(e){return this._keyMap[e]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function _(e){var t=null,n=null,r=null,i=1,o=null;if(g(e)||v(e))r=e,t=O(e),n=j(e);else{if(!L.call(e,"name"))throw new Error(function(e){return"Missing ".concat(e," property in key")}("name"));var c=e.name;if(r=c,L.call(e,"weight")&&(i=e.weight)<=0)throw new Error(function(e){return"Property 'weight' in key '".concat(e,"' must be a positive integer")}(c));t=O(c),n=j(c),o=e.getFn}return{path:t,id:n,weight:i,src:r,getFn:o}}function O(e){return v(e)?e:e.split(".")}function j(e){return v(e)?e.join("."):e}var A={useExtendedSearch:!1,getFn:function(e,t){var n=[],r=!1;return function e(t,i,o){if(k(t))if(i[o]){var c=t[i[o]];if(!k(c))return;if(o===i.length-1&&(g(c)||y(c)||p(c)))n.push(function(e){return null==e?"":function(e){if("string"==typeof e)return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(e)}(c));else if(v(c)){r=!0;for(var a=0,s=c.length;a<s;a+=1)e(c[a],i,o+1)}else i.length&&e(c,i,o+1)}else n.push(t)}(e,g(t)?t.split("."):t,0),r?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},I=t(t(t(t({},{isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(e,t){return e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1}}),{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1}),{location:0,threshold:.6,distance:100}),A),C=/[^ ]+/g;function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=new Map,r=Math.pow(10,t);return{get:function(t){var i=t.match(C).length;if(n.has(i))return n.get(i);var o=1/Math.pow(i,.5*e),c=parseFloat(Math.round(o*r)/r);return n.set(i,c),c},clear:function(){n.clear()}}}var $=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.getFn,i=void 0===n?I.getFn:n,o=t.fieldNormWeight,c=void 0===o?I.fieldNormWeight:o;r(this,e),this.norm=E(c,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return o(e,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=t,this._keysMap={},t.forEach((function(t,n){e._keysMap[t.id]=n}))}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,g(this.docs[0])?this.docs.forEach((function(t,n){e._addString(t,n)})):this.docs.forEach((function(t,n){e._addObject(t,n)})),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();g(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t<n;t+=1)this.records[t].i-=1}},{key:"getValueForItemAtKeyId",value:function(e,t){return e[this._keysMap[t]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(e,t){if(k(e)&&!M(e)){var n={v:e,i:t,n:this.norm.get(e)};this.records.push(n)}}},{key:"_addObject",value:function(e,t){var n=this,r={i:t,$:{}};this.keys.forEach((function(t,i){var o=t.getFn?t.getFn(e):n.getFn(e,t.path);if(k(o))if(v(o))!function(){for(var e=[],t=[{nestedArrIndex:-1,value:o}];t.length;){var c=t.pop(),a=c.nestedArrIndex,s=c.value;if(k(s))if(g(s)&&!M(s)){var u={v:s,i:a,n:n.norm.get(s)};e.push(u)}else v(s)&&s.forEach((function(e,n){t.push({nestedArrIndex:n,value:e})}))}r.$[i]=e}();else if(g(o)&&!M(o)){var c={v:o,n:n.norm.get(o)};r.$[i]=c}})),this.records.push(r)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function F(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.getFn,i=void 0===r?I.getFn:r,o=n.fieldNormWeight,c=void 0===o?I.fieldNormWeight:o,a=new $({getFn:i,fieldNormWeight:c});return a.setKeys(e.map(_)),a.setSources(t),a.create(),a}function R(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.errors,r=void 0===n?0:n,i=t.currentLocation,o=void 0===i?0:i,c=t.expectedLocation,a=void 0===c?0:c,s=t.distance,u=void 0===s?I.distance:s,h=t.ignoreLocation,l=void 0===h?I.ignoreLocation:h,f=r/e.length;if(l)return f;var d=Math.abs(a-o);return u?f+d/u:d?1:f}function N(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I.minMatchCharLength,n=[],r=-1,i=-1,o=0,c=e.length;o<c;o+=1){var a=e[o];a&&-1===r?r=o:a||-1===r||((i=o-1)-r+1>=t&&n.push([r,i]),r=-1)}return e[o-1]&&o-r>=t&&n.push([r,o-1]),n}var P=32;function W(e){for(var t={},n=0,r=e.length;n<r;n+=1){var i=e.charAt(n);t[i]=(t[i]||0)|1<<r-n-1}return t}var T=function(){function e(t){var n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=i.location,c=void 0===o?I.location:o,a=i.threshold,s=void 0===a?I.threshold:a,u=i.distance,h=void 0===u?I.distance:u,l=i.includeMatches,f=void 0===l?I.includeMatches:l,d=i.findAllMatches,v=void 0===d?I.findAllMatches:d,g=i.minMatchCharLength,y=void 0===g?I.minMatchCharLength:g,p=i.isCaseSensitive,m=void 0===p?I.isCaseSensitive:p,k=i.ignoreLocation,M=void 0===k?I.ignoreLocation:k;if(r(this,e),this.options={location:c,threshold:s,distance:h,includeMatches:f,findAllMatches:v,minMatchCharLength:y,isCaseSensitive:m,ignoreLocation:M},this.pattern=m?t:t.toLowerCase(),this.chunks=[],this.pattern.length){var b=function(e,t){n.chunks.push({pattern:e,alphabet:W(e),startIndex:t})},x=this.pattern.length;if(x>P){for(var w=0,L=x%P,S=x-L;w<S;)b(this.pattern.substr(w,P),w),w+=P;if(L){var _=x-P;b(this.pattern.substr(_),_)}}else b(this.pattern,0)}}return o(e,[{key:"searchIn",value:function(e){var t=this.options,n=t.isCaseSensitive,r=t.includeMatches;if(n||(e=e.toLowerCase()),this.pattern===e){var i={isMatch:!0,score:0};return r&&(i.indices=[[0,e.length-1]]),i}var o=this.options,c=o.location,a=o.distance,s=o.threshold,u=o.findAllMatches,h=o.minMatchCharLength,l=o.ignoreLocation,d=[],v=0,g=!1;this.chunks.forEach((function(t){var n=t.pattern,i=t.alphabet,o=t.startIndex,y=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=r.location,o=void 0===i?I.location:i,c=r.distance,a=void 0===c?I.distance:c,s=r.threshold,u=void 0===s?I.threshold:s,h=r.findAllMatches,l=void 0===h?I.findAllMatches:h,f=r.minMatchCharLength,d=void 0===f?I.minMatchCharLength:f,v=r.includeMatches,g=void 0===v?I.includeMatches:v,y=r.ignoreLocation,p=void 0===y?I.ignoreLocation:y;if(t.length>P)throw new Error(w(P));for(var m,k=t.length,M=e.length,b=Math.max(0,Math.min(o,M)),x=u,L=b,S=d>1||g,_=S?Array(M):[];(m=e.indexOf(t,L))>-1;){var O=R(t,{currentLocation:m,expectedLocation:b,distance:a,ignoreLocation:p});if(x=Math.min(O,x),L=m+k,S)for(var j=0;j<k;)_[m+j]=1,j+=1}L=-1;for(var A=[],C=1,E=k+M,$=1<<k-1,F=0;F<k;F+=1){for(var W=0,T=E;W<T;)R(t,{errors:F,currentLocation:b+T,expectedLocation:b,distance:a,ignoreLocation:p})<=x?W=T:E=T,T=Math.floor((E-W)/2+W);E=T;var z=Math.max(1,b-T+1),D=l?M:Math.min(b+T,M)+k,K=Array(D+2);K[D+1]=(1<<F)-1;for(var q=D;q>=z;q-=1){var B=q-1,J=n[e.charAt(B)];if(S&&(_[B]=+!!J),K[q]=(K[q+1]<<1|1)&J,F&&(K[q]|=(A[q+1]|A[q])<<1|1|A[q+1]),K[q]&$&&(C=R(t,{errors:F,currentLocation:B,expectedLocation:b,distance:a,ignoreLocation:p}))<=x){if(x=C,(L=B)<=b)break;z=Math.max(1,2*b-L)}}if(R(t,{errors:F+1,currentLocation:b,expectedLocation:b,distance:a,ignoreLocation:p})>x)break;A=K}var U={isMatch:L>=0,score:Math.max(.001,C)};if(S){var V=N(_,d);V.length?g&&(U.indices=V):U.isMatch=!1}return U}(e,n,i,{location:c+o,distance:a,threshold:s,findAllMatches:u,minMatchCharLength:h,includeMatches:r,ignoreLocation:l}),p=y.isMatch,m=y.score,k=y.indices;p&&(g=!0),v+=m,p&&k&&(d=[].concat(f(d),f(k)))}));var y={isMatch:g,score:g?v/this.chunks.length:1};return g&&r&&(y.indices=d),y}}]),e}(),z=function(){function e(t){r(this,e),this.pattern=t}return o(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(e){return D(e,this.multiRegex)}},{key:"isSingleMatch",value:function(e){return D(e,this.singleRegex)}}]),e}();function D(e,t){var n=e.match(t);return n?n[1]:null}var K=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),n}(z),q=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),n}(z),B=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),n}(z),J=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),n}(z),U=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),n}(z),V=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){var t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),n}(z),G=function(e){a(n,e);var t=l(n);function n(e){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=o.location,a=void 0===c?I.location:c,s=o.threshold,u=void 0===s?I.threshold:s,h=o.distance,l=void 0===h?I.distance:h,f=o.includeMatches,d=void 0===f?I.includeMatches:f,v=o.findAllMatches,g=void 0===v?I.findAllMatches:v,y=o.minMatchCharLength,p=void 0===y?I.minMatchCharLength:y,m=o.isCaseSensitive,k=void 0===m?I.isCaseSensitive:m,M=o.ignoreLocation,b=void 0===M?I.ignoreLocation:M;return r(this,n),(i=t.call(this,e))._bitapSearch=new T(e,{location:a,threshold:u,distance:l,includeMatches:d,findAllMatches:g,minMatchCharLength:p,isCaseSensitive:k,ignoreLocation:b}),i}return o(n,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),n}(z),H=function(e){a(n,e);var t=l(n);function n(e){return r(this,n),t.call(this,e)}return o(n,[{key:"search",value:function(e){for(var t,n=0,r=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,r.push([t,n-1]);var o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),n}(z),Q=[K,H,B,J,V,U,q,G],X=Q.length,Y=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/;function Z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map((function(e){for(var n=e.trim().split(Y).filter((function(e){return e&&!!e.trim()})),r=[],i=0,o=n.length;i<o;i+=1){for(var c=n[i],a=!1,s=-1;!a&&++s<X;){var u=Q[s],h=u.isMultiMatch(c);h&&(r.push(new u(h,t)),a=!0)}if(!a)for(s=-1;++s<X;){var l=Q[s],f=l.isSingleMatch(c);if(f){r.push(new l(f,t));break}}}return r}))}var ee=new Set([G.type,H.type]),te=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.isCaseSensitive,o=void 0===i?I.isCaseSensitive:i,c=n.includeMatches,a=void 0===c?I.includeMatches:c,s=n.minMatchCharLength,u=void 0===s?I.minMatchCharLength:s,h=n.ignoreLocation,l=void 0===h?I.ignoreLocation:h,f=n.findAllMatches,d=void 0===f?I.findAllMatches:f,v=n.location,g=void 0===v?I.location:v,y=n.threshold,p=void 0===y?I.threshold:y,m=n.distance,k=void 0===m?I.distance:m;r(this,e),this.query=null,this.options={isCaseSensitive:o,includeMatches:a,minMatchCharLength:u,findAllMatches:d,ignoreLocation:l,location:g,threshold:p,distance:k},this.pattern=o?t:t.toLowerCase(),this.query=Z(this.pattern,this.options)}return o(e,[{key:"searchIn",value:function(e){var t=this.query;if(!t)return{isMatch:!1,score:1};var n=this.options,r=n.includeMatches;e=n.isCaseSensitive?e:e.toLowerCase();for(var i=0,o=[],c=0,a=0,s=t.length;a<s;a+=1){var u=t[a];o.length=0,i=0;for(var h=0,l=u.length;h<l;h+=1){var d=u[h],v=d.search(e),g=v.isMatch,y=v.indices,p=v.score;if(!g){c=0,i=0,o.length=0;break}if(i+=1,c+=p,r){var m=d.constructor.type;ee.has(m)?o=[].concat(f(o),f(y)):o.push(y)}}if(i){var k={isMatch:!0,score:c/i};return r&&(k.indices=o),k}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(e,t){return t.useExtendedSearch}}]),e}(),ne=[];function re(e,t){for(var n=0,r=ne.length;n<r;n+=1){var i=ne[n];if(i.condition(e,t))return new i(e,t)}return new T(e,t)}var ie="$and",oe="$or",ce="$path",ae="$val",se=function(e){return!(!e[ie]&&!e[oe])},ue=function(e){return!!e[ce]},he=function(e){return!v(e)&&m(e)&&!se(e)},le=function(e){return c({},ie,Object.keys(e).map((function(t){return c({},t,e[t])})))};function fe(e,t){var n=t.ignoreFieldNorm,r=void 0===n?I.ignoreFieldNorm:n;e.forEach((function(e){var t=1;e.matches.forEach((function(e){var n=e.key,i=e.norm,o=e.score,c=n?n.weight:null;t*=Math.pow(0===o&&c?Number.EPSILON:o,(c||1)*(r?1:i))})),e.score=t}))}function de(e,t){var n=e.matches;t.matches=[],k(n)&&n.forEach((function(e){if(k(e.indices)&&e.indices.length){var n={indices:e.indices,value:e.value};e.key&&(n.key=e.key.src),e.idx>-1&&(n.refIndex=e.idx),t.matches.push(n)}}))}function ve(e,t){t.score=e.score}function ge(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.includeMatches,i=void 0===r?I.includeMatches:r,o=n.includeScore,c=void 0===o?I.includeScore:o,a=[];return i&&a.push(de),c&&a.push(ve),e.map((function(e){var n=e.idx,r={item:t[n],refIndex:n};return a.length&&a.forEach((function(t){t(e,r)})),r}))}var ye=function(){function e(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;r(this,e),this.options=t(t({},I),i),this.options.useExtendedSearch,this._keyStore=new S(this.options.keys),this.setCollection(n,o)}return o(e,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof $))throw new Error("Incorrect 'index' type");this._myIndex=t||F(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){k(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},t=[],n=0,r=this._docs.length;n<r;n+=1){var i=this._docs[n];e(i,n)&&(this.removeAt(n),n-=1,r-=1,t.push(i))}return t}},{key:"removeAt",value:function(e){this._docs.splice(e,1),this._myIndex.removeAt(e)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.limit,r=void 0===n?-1:n,i=this.options,o=i.includeMatches,c=i.includeScore,a=i.shouldSort,s=i.sortFn,u=i.ignoreFieldNorm,h=g(e)?g(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return fe(h,{ignoreFieldNorm:u}),a&&h.sort(s),y(r)&&r>-1&&(h=h.slice(0,r)),ge(h,this._docs,{includeMatches:o,includeScore:c})}},{key:"_searchStringList",value:function(e){var t=re(e,this.options),n=this._myIndex.records,r=[];return n.forEach((function(e){var n=e.v,i=e.i,o=e.n;if(k(n)){var c=t.searchIn(n),a=c.isMatch,s=c.score,u=c.indices;a&&r.push({item:n,idx:i,matches:[{score:s,value:n,norm:o,indices:u}]})}})),r}},{key:"_searchLogical",value:function(e){var t=this,n=function(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).auto,r=void 0===n||n,i=function e(n){var i=Object.keys(n),o=ue(n);if(!o&&i.length>1&&!se(n))return e(le(n));if(he(n)){var c=o?n[ce]:i[0],a=o?n[ae]:n[c];if(!g(a))throw new Error(x(c));var s={keyId:j(c),pattern:a};return r&&(s.searcher=re(a,t)),s}var u={children:[],operator:i[0]};return i.forEach((function(t){var r=n[t];v(r)&&r.forEach((function(t){u.children.push(e(t))}))})),u};return se(e)||(e=le(e)),i(e)}(e,this.options),r=function e(n,r,i){if(!n.children){var o=n.keyId,c=n.searcher,a=t._findMatches({key:t._keyStore.get(o),value:t._myIndex.getValueForItemAtKeyId(r,o),searcher:c});return a&&a.length?[{idx:i,item:r,matches:a}]:[]}for(var s=[],u=0,h=n.children.length;u<h;u+=1){var l=e(n.children[u],r,i);if(l.length)s.push.apply(s,f(l));else if(n.operator===ie)return[]}return s},i=this._myIndex.records,o={},c=[];return i.forEach((function(e){var t=e.$,i=e.i;if(k(t)){var a=r(n,t,i);a.length&&(o[i]||(o[i]={idx:i,item:t,matches:[]},c.push(o[i])),a.forEach((function(e){var t,n=e.matches;(t=o[i].matches).push.apply(t,f(n))})))}})),c}},{key:"_searchObjectList",value:function(e){var t=this,n=re(e,this.options),r=this._myIndex,i=r.keys,o=r.records,c=[];return o.forEach((function(e){var r=e.$,o=e.i;if(k(r)){var a=[];i.forEach((function(e,i){a.push.apply(a,f(t._findMatches({key:e,value:r[i],searcher:n})))})),a.length&&c.push({idx:o,item:r,matches:a})}})),c}},{key:"_findMatches",value:function(e){var t=e.key,n=e.value,r=e.searcher;if(!k(n))return[];var i=[];if(v(n))n.forEach((function(e){var n=e.v,o=e.i,c=e.n;if(k(n)){var a=r.searchIn(n),s=a.isMatch,u=a.score,h=a.indices;s&&i.push({score:u,key:t,value:n,idx:o,norm:c,indices:h})}}));else{var o=n.v,c=n.n,a=r.searchIn(o),s=a.isMatch,u=a.score,h=a.indices;s&&i.push({score:u,key:t,value:o,norm:c,indices:h})}return i}}]),e}();return ye.version="6.6.2",ye.createIndex=F,ye.parseIndex=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.getFn,r=void 0===n?I.getFn:n,i=t.fieldNormWeight,o=void 0===i?I.fieldNormWeight:i,c=e.keys,a=e.records,s=new $({getFn:r,fieldNormWeight:o});return s.setKeys(c),s.setIndexRecords(a),s},ye.config=I,function(){ne.push.apply(ne,arguments)}(te),ye},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t(); \ No newline at end of file
diff --git a/includes/search/node_modules/fuse.js/package.json b/includes/search/node_modules/fuse.js/package.json
deleted file mode 100644
index 6d02a4e..0000000
--- a/includes/search/node_modules/fuse.js/package.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "name": "fuse.js",
- "author": {
- "name": "Kiro Risk",
- "email": "kirollos@gmail.com",
- "url": "http://kiro.me"
- },
- "main": "./dist/fuse.common.js",
- "module": "./dist/fuse.esm.js",
- "unpkg": "./dist/fuse.js",
- "jsdelivr": "./dist/fuse.js",
- "typings": "./dist/fuse.d.ts",
- "sideEffects": false,
- "files": [
- "dist"
- ],
- "version": "6.6.2",
- "description": "Lightweight fuzzy-search",
- "license": "Apache-2.0",
- "repository": {
- "type": "git",
- "url": "https://github.com/krisk/Fuse.git"
- },
- "homepage": "http://fusejs.io",
- "keywords": [
- "fuzzy",
- "search",
- "bitap"
- ],
- "scripts": {
- "dev": "rollup -w -c scripts/configs.js --environment TARGET:umd-dev-full",
- "dev:cjs": "rollup -w -c scripts/configs.js --environment TARGET:commonjs-full",
- "dev:esm": "rollup -w -c scripts/configs.js --environment TARGET:esm-dev-full",
- "build": "rm -r dist && mkdir dist && node ./scripts/build.main.js",
- "test": "jest",
- "lint": "eslint src scripts test",
- "release": "./scripts/release.sh",
- "docs:bump": "node ./scripts/bump-docs.js",
- "docs:dev": "vuepress dev docs",
- "docs:build": "vuepress build docs",
- "docs:release": "./scripts/deploy-docs.sh",
- "prepare": "husky install"
- },
- "standard-version": {
- "scripts": {
- "postbump": "yarn build && yarn lint && yarn test 2>/dev/null",
- "precommit": "git add dist/*.js dist/*.ts"
- }
- },
- "husky": {
- "hooks": {
- "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
- }
- },
- "commitlint": {
- "extends": [
- "@commitlint/config-conventional"
- ]
- },
- "devDependencies": {
- "@babel/cli": "^7.2.3",
- "@babel/core": "^7.3.4",
- "@babel/eslint-parser": "^7.16.3",
- "@babel/plugin-proposal-object-rest-spread": "7.16.0",
- "@babel/preset-env": "7.16.0",
- "@babel/preset-typescript": "7.16.0",
- "@commitlint/cli": "^14.1.0",
- "@commitlint/config-conventional": "^14.1.0",
- "@rollup/plugin-babel": "^5.3.0",
- "@rollup/plugin-node-resolve": "^13.0.6",
- "@rollup/plugin-replace": "^3.0.0",
- "@types/jest": "27.0.2",
- "@vuepress/plugin-google-analytics": "^1.4.0",
- "@vuepress/plugin-register-components": "^1.5.2",
- "babel-loader": "^8.0.5",
- "codemirror": "5.63.3",
- "eslint": "8.2.0",
- "eslint-config-prettier": "8.3.0",
- "eslint-plugin-vue": "8.0.3",
- "faker": "5.5.3",
- "husky": "^7.0.0",
- "jest": "^27.3.1",
- "prettier": "2.4.1",
- "replace-in-file": "^6.1.0",
- "rimraf": "3.0.2",
- "rollup": "^2.61.1",
- "rollup-plugin-copy": "3.4.0",
- "standard-version": "^9.3.2",
- "terser-webpack-plugin": "5.2.5",
- "typescript": "^4.4.4",
- "vue-codemirror": "^4.0.6",
- "vue-eslint-parser": "^8.0.1",
- "vuepress": "^1.4.0",
- "vuepress-plugin-element-tabs": "^0.2.8",
- "vuepress-plugin-google-adsense": "^0.2.1",
- "vuepress-plugin-smooth-scroll": "^0.0.10",
- "vuepress-plugin-social-share": "^1.1.0",
- "webpack": "4.46.0",
- "webpack-cli": "^4.9.1"
- },
- "engines": {
- "node": ">=10"
- }
-}
diff --git a/includes/search/node_modules/get-caller-file/LICENSE.md b/includes/search/node_modules/get-caller-file/LICENSE.md
deleted file mode 100644
index bf3e1c0..0000000
--- a/includes/search/node_modules/get-caller-file/LICENSE.md
+++ /dev/null
@@ -1,6 +0,0 @@
-ISC License (ISC)
-Copyright 2018 Stefan Penner
-
-Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/get-caller-file/README.md b/includes/search/node_modules/get-caller-file/README.md
deleted file mode 100644
index a7d8c07..0000000
--- a/includes/search/node_modules/get-caller-file/README.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# get-caller-file
-
-[![Build Status](https://travis-ci.org/stefanpenner/get-caller-file.svg?branch=master)](https://travis-ci.org/stefanpenner/get-caller-file)
-[![Build status](https://ci.appveyor.com/api/projects/status/ol2q94g1932cy14a/branch/master?svg=true)](https://ci.appveyor.com/project/embercli/get-caller-file/branch/master)
-
-This is a utility, which allows a function to figure out from which file it was invoked. It does so by inspecting v8's stack trace at the time it is invoked.
-
-Inspired by http://stackoverflow.com/questions/13227489
-
-*note: this relies on Node/V8 specific APIs, as such other runtimes may not work*
-
-## Installation
-
-```bash
-yarn add get-caller-file
-```
-
-## Usage
-
-Given:
-
-```js
-// ./foo.js
-const getCallerFile = require('get-caller-file');
-
-module.exports = function() {
- return getCallerFile(); // figures out who called it
-};
-```
-
-```js
-// index.js
-const foo = require('./foo');
-
-foo() // => /full/path/to/this/file/index.js
-```
-
-
-## Options:
-
-* `getCallerFile(position = 2)`: where position is stack frame whos fileName we want.
diff --git a/includes/search/node_modules/get-caller-file/index.d.ts b/includes/search/node_modules/get-caller-file/index.d.ts
deleted file mode 100644
index babed69..0000000
--- a/includes/search/node_modules/get-caller-file/index.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: (position?: number) => any;
-export = _default;
diff --git a/includes/search/node_modules/get-caller-file/index.js b/includes/search/node_modules/get-caller-file/index.js
deleted file mode 100644
index 57304f8..0000000
--- a/includes/search/node_modules/get-caller-file/index.js
+++ /dev/null
@@ -1,22 +0,0 @@
-"use strict";
-// Call this function in a another function to find out the file from
-// which that function was called from. (Inspects the v8 stack trace)
-//
-// Inspired by http://stackoverflow.com/questions/13227489
-module.exports = function getCallerFile(position) {
- if (position === void 0) { position = 2; }
- if (position >= Error.stackTraceLimit) {
- throw new TypeError('getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `' + position + '` and Error.stackTraceLimit was: `' + Error.stackTraceLimit + '`');
- }
- var oldPrepareStackTrace = Error.prepareStackTrace;
- Error.prepareStackTrace = function (_, stack) { return stack; };
- var stack = new Error().stack;
- Error.prepareStackTrace = oldPrepareStackTrace;
- if (stack !== null && typeof stack === 'object') {
- // stack[0] holds this file
- // stack[1] holds where this function was called
- // stack[2] holds the file we're interested in
- return stack[position] ? stack[position].getFileName() : undefined;
- }
-};
-//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/get-caller-file/index.js.map b/includes/search/node_modules/get-caller-file/index.js.map
deleted file mode 100644
index 89c655c..0000000
--- a/includes/search/node_modules/get-caller-file/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,qEAAqE;AACrE,EAAE;AACF,0DAA0D;AAE1D,iBAAS,SAAS,aAAa,CAAC,QAAY;IAAZ,yBAAA,EAAA,YAAY;IAC1C,IAAI,QAAQ,IAAI,KAAK,CAAC,eAAe,EAAE;QACrC,MAAM,IAAI,SAAS,CAAC,kGAAkG,GAAG,QAAQ,GAAG,oCAAoC,GAAG,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;KACzM;IAED,IAAM,oBAAoB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IACrD,KAAK,CAAC,iBAAiB,GAAG,UAAC,CAAC,EAAE,KAAK,IAAM,OAAA,KAAK,EAAL,CAAK,CAAC;IAC/C,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAChC,KAAK,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;IAG/C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC/C,2BAA2B;QAC3B,gDAAgD;QAChD,8CAA8C;QAC9C,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,QAAQ,CAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC7E;AACH,CAAC,CAAC"} \ No newline at end of file
diff --git a/includes/search/node_modules/get-caller-file/package.json b/includes/search/node_modules/get-caller-file/package.json
deleted file mode 100644
index b0dd571..0000000
--- a/includes/search/node_modules/get-caller-file/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "get-caller-file",
- "version": "2.0.5",
- "description": "",
- "main": "index.js",
- "directories": {
- "test": "tests"
- },
- "files": [
- "index.js",
- "index.js.map",
- "index.d.ts"
- ],
- "scripts": {
- "prepare": "tsc",
- "test": "mocha test",
- "test:debug": "mocha test"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/stefanpenner/get-caller-file.git"
- },
- "author": "Stefan Penner",
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/stefanpenner/get-caller-file/issues"
- },
- "homepage": "https://github.com/stefanpenner/get-caller-file#readme",
- "devDependencies": {
- "@types/chai": "^4.1.7",
- "@types/ensure-posix-path": "^1.0.0",
- "@types/mocha": "^5.2.6",
- "@types/node": "^11.10.5",
- "chai": "^4.1.2",
- "ensure-posix-path": "^1.0.1",
- "mocha": "^5.2.0",
- "typescript": "^3.3.3333"
- },
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
-}
diff --git a/includes/search/node_modules/github-from-package/.travis.yml b/includes/search/node_modules/github-from-package/.travis.yml
deleted file mode 100644
index 895dbd3..0000000
--- a/includes/search/node_modules/github-from-package/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: node_js
-node_js:
- - 0.6
- - 0.8
diff --git a/includes/search/node_modules/github-from-package/LICENSE b/includes/search/node_modules/github-from-package/LICENSE
deleted file mode 100644
index ee27ba4..0000000
--- a/includes/search/node_modules/github-from-package/LICENSE
+++ /dev/null
@@ -1,18 +0,0 @@
-This software is released under the MIT license:
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/github-from-package/example/package.json b/includes/search/node_modules/github-from-package/example/package.json
deleted file mode 100644
index 03494f4..0000000
--- a/includes/search/node_modules/github-from-package/example/package.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "beep-boop",
- "version": "1.2.3",
- "repository" : {
- "type" : "git",
- "url": "git@github.com:substack/beep-boop.git"
- }
-}
diff --git a/includes/search/node_modules/github-from-package/example/url.js b/includes/search/node_modules/github-from-package/example/url.js
deleted file mode 100644
index 138fb8a..0000000
--- a/includes/search/node_modules/github-from-package/example/url.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var github = require('../');
-var url = github(require('./package.json'));
-console.log(url);
diff --git a/includes/search/node_modules/github-from-package/index.js b/includes/search/node_modules/github-from-package/index.js
deleted file mode 100644
index 3d1d657..0000000
--- a/includes/search/node_modules/github-from-package/index.js
+++ /dev/null
@@ -1,17 +0,0 @@
-module.exports = function (pkg) {
- var m;
- if (m = match(JSON.stringify(pkg.repository))) {
- return m;
- }
- else if (m = match(JSON.stringify(pkg))) {
- return m;
- }
- return undefined;
-};
-
-function match (str) {
- var m = /\bgithub.com[:\/]([^\/"]+)\/([^\/"]+)/.exec(str);
- if (m) {
- return 'https://github.com/' + m[1] + '/' + m[2].replace(/\.git$/, '');
- }
-}
diff --git a/includes/search/node_modules/github-from-package/package.json b/includes/search/node_modules/github-from-package/package.json
deleted file mode 100644
index a3e240f..0000000
--- a/includes/search/node_modules/github-from-package/package.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "name" : "github-from-package",
- "version" : "0.0.0",
- "description" : "return the github url from a package.json file",
- "main" : "index.js",
- "devDependencies" : {
- "tap" : "~0.3.0",
- "tape" : "~0.1.5"
- },
- "scripts" : {
- "test" : "tap test/*.js"
- },
- "repository" : {
- "type" : "git",
- "url" : "git://github.com/substack/github-from-package.git"
- },
- "homepage" : "https://github.com/substack/github-from-package",
- "keywords" : [
- "github",
- "package.json",
- "npm",
- "repository"
- ],
- "author" : {
- "name" : "James Halliday",
- "email" : "mail@substack.net",
- "url" : "http://substack.net"
- },
- "license" : "MIT"
-}
diff --git a/includes/search/node_modules/github-from-package/readme.markdown b/includes/search/node_modules/github-from-package/readme.markdown
deleted file mode 100644
index 5ba397d..0000000
--- a/includes/search/node_modules/github-from-package/readme.markdown
+++ /dev/null
@@ -1,53 +0,0 @@
-# github-from-package
-
-return the github url from a package.json file
-
-[![build status](https://secure.travis-ci.org/substack/github-from-package.png)](http://travis-ci.org/substack/github-from-package)
-
-# example
-
-For the `./package.json` file:
-
-``` json
-{
- "name": "beep-boop",
- "version": "1.2.3",
- "repository" : {
- "type" : "git",
- "url": "git@github.com:substack/beep-boop.git"
- }
-}
-```
-
-``` js
-var github = require('github-from-package');
-var url = github(require('./package.json'));
-console.log(url);
-```
-
-```
-https://github.com/substack/beep-boop
-```
-
-# methods
-
-``` js
-var github = require('github-from-package')
-```
-
-## var url = github(pkg)
-
-Return the most likely github url from the package.json contents `pkg`. If no
-github url can be determined, return `undefined`.
-
-# install
-
-With [npm](https://npmjs.org) do:
-
-```
-npm install github-from-package
-```
-
-# license
-
-MIT
diff --git a/includes/search/node_modules/github-from-package/test/a.json b/includes/search/node_modules/github-from-package/test/a.json
deleted file mode 100644
index 03494f4..0000000
--- a/includes/search/node_modules/github-from-package/test/a.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "beep-boop",
- "version": "1.2.3",
- "repository" : {
- "type" : "git",
- "url": "git@github.com:substack/beep-boop.git"
- }
-}
diff --git a/includes/search/node_modules/github-from-package/test/b.json b/includes/search/node_modules/github-from-package/test/b.json
deleted file mode 100644
index 0209325..0000000
--- a/includes/search/node_modules/github-from-package/test/b.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "name": "beep-boop",
- "version": "1.2.3",
- "repository" : "git@github.com:substack/beep-boop.git"
-}
diff --git a/includes/search/node_modules/github-from-package/test/c.json b/includes/search/node_modules/github-from-package/test/c.json
deleted file mode 100644
index 65f6dda..0000000
--- a/includes/search/node_modules/github-from-package/test/c.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "name": "beep-boop",
- "version": "1.2.3",
- "repository" : "https://github.com/substack/beep-boop.git"
-}
diff --git a/includes/search/node_modules/github-from-package/test/d.json b/includes/search/node_modules/github-from-package/test/d.json
deleted file mode 100644
index c61f3cd..0000000
--- a/includes/search/node_modules/github-from-package/test/d.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "name": "beep-boop",
- "version": "1.2.3",
- "repository" : {
- "url": "https://github.com/substack/beep-boop"
- }
-}
diff --git a/includes/search/node_modules/github-from-package/test/e.json b/includes/search/node_modules/github-from-package/test/e.json
deleted file mode 100644
index 770b438..0000000
--- a/includes/search/node_modules/github-from-package/test/e.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "name": "beep-boop",
- "version": "1.2.3",
- "homepage": "https://github.com/substack/beep-boop/issues"
-}
diff --git a/includes/search/node_modules/github-from-package/test/url.js b/includes/search/node_modules/github-from-package/test/url.js
deleted file mode 100644
index d5a0a66..0000000
--- a/includes/search/node_modules/github-from-package/test/url.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var test = require('tape');
-var github = require('../');
-var packages = {
- a : require('./a.json'),
- b : require('./b.json'),
- c : require('./c.json'),
- d : require('./d.json'),
- e : require('./e.json')
-};
-
-test(function (t) {
- t.plan(5);
- var url = 'https://github.com/substack/beep-boop';
- t.equal(url, github(packages.a), 'a.json comparison');
- t.equal(url, github(packages.b), 'b.json comparison');
- t.equal(url, github(packages.c), 'c.json comparison');
- t.equal(url, github(packages.d), 'd.json comparison');
- t.equal(url, github(packages.e), 'e.json comparison');
-});
diff --git a/includes/search/node_modules/glob-parent/CHANGELOG.md b/includes/search/node_modules/glob-parent/CHANGELOG.md
deleted file mode 100644
index fb9de96..0000000
--- a/includes/search/node_modules/glob-parent/CHANGELOG.md
+++ /dev/null
@@ -1,110 +0,0 @@
-### [5.1.2](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2) (2021-03-06)
-
-
-### Bug Fixes
-
-* eliminate ReDoS ([#36](https://github.com/gulpjs/glob-parent/issues/36)) ([f923116](https://github.com/gulpjs/glob-parent/commit/f9231168b0041fea3f8f954b3cceb56269fc6366))
-
-### [5.1.1](https://github.com/gulpjs/glob-parent/compare/v5.1.0...v5.1.1) (2021-01-27)
-
-
-### Bug Fixes
-
-* unescape exclamation mark ([#26](https://github.com/gulpjs/glob-parent/issues/26)) ([a98874f](https://github.com/gulpjs/glob-parent/commit/a98874f1a59e407f4fb1beb0db4efa8392da60bb))
-
-## [5.1.0](https://github.com/gulpjs/glob-parent/compare/v5.0.0...v5.1.0) (2021-01-27)
-
-
-### Features
-
-* add `flipBackslashes` option to disable auto conversion of slashes (closes [#24](https://github.com/gulpjs/glob-parent/issues/24)) ([#25](https://github.com/gulpjs/glob-parent/issues/25)) ([eecf91d](https://github.com/gulpjs/glob-parent/commit/eecf91d5e3834ed78aee39c4eaaae654d76b87b3))
-
-## [5.0.0](https://github.com/gulpjs/glob-parent/compare/v4.0.0...v5.0.0) (2021-01-27)
-
-
-### ⚠ BREAKING CHANGES
-
-* Drop support for node <6 & bump dependencies
-
-### Miscellaneous Chores
-
-* Drop support for node <6 & bump dependencies ([896c0c0](https://github.com/gulpjs/glob-parent/commit/896c0c00b4e7362f60b96e7fc295ae929245255a))
-
-## [4.0.0](https://github.com/gulpjs/glob-parent/compare/v3.1.0...v4.0.0) (2021-01-27)
-
-
-### ⚠ BREAKING CHANGES
-
-* question marks are valid path characters on Windows so avoid flagging as a glob when alone
-* Update is-glob dependency
-
-### Features
-
-* hoist regexps and strings for performance gains ([4a80667](https://github.com/gulpjs/glob-parent/commit/4a80667c69355c76a572a5892b0f133c8e1f457e))
-* question marks are valid path characters on Windows so avoid flagging as a glob when alone ([2a551dd](https://github.com/gulpjs/glob-parent/commit/2a551dd0dc3235e78bf3c94843d4107072d17841))
-* Update is-glob dependency ([e41fcd8](https://github.com/gulpjs/glob-parent/commit/e41fcd895d1f7bc617dba45c9d935a7949b9c281))
-
-## [3.1.0](https://github.com/gulpjs/glob-parent/compare/v3.0.1...v3.1.0) (2021-01-27)
-
-
-### Features
-
-* allow basic win32 backslash use ([272afa5](https://github.com/gulpjs/glob-parent/commit/272afa5fd070fc0f796386a5993d4ee4a846988b))
-* handle extglobs (parentheses) containing separators ([7db1bdb](https://github.com/gulpjs/glob-parent/commit/7db1bdb0756e55fd14619e8ce31aa31b17b117fd))
-* new approach to braces/brackets handling ([8269bd8](https://github.com/gulpjs/glob-parent/commit/8269bd89290d99fac9395a354fb56fdcdb80f0be))
-* pre-process braces/brackets sections ([9ef8a87](https://github.com/gulpjs/glob-parent/commit/9ef8a87f66b1a43d0591e7a8e4fc5a18415ee388))
-* preserve escaped brace/bracket at end of string ([8cfb0ba](https://github.com/gulpjs/glob-parent/commit/8cfb0ba84202d51571340dcbaf61b79d16a26c76))
-
-
-### Bug Fixes
-
-* trailing escaped square brackets ([99ec9fe](https://github.com/gulpjs/glob-parent/commit/99ec9fecc60ee488ded20a94dd4f18b4f55c4ccf))
-
-### [3.0.1](https://github.com/gulpjs/glob-parent/compare/v3.0.0...v3.0.1) (2021-01-27)
-
-
-### Features
-
-* use path-dirname ponyfill ([cdbea5f](https://github.com/gulpjs/glob-parent/commit/cdbea5f32a58a54e001a75ddd7c0fccd4776aacc))
-
-
-### Bug Fixes
-
-* unescape glob-escaped dirnames on output ([598c533](https://github.com/gulpjs/glob-parent/commit/598c533bdf49c1428bc063aa9b8db40c5a86b030))
-
-## [3.0.0](https://github.com/gulpjs/glob-parent/compare/v2.0.0...v3.0.0) (2021-01-27)
-
-
-### ⚠ BREAKING CHANGES
-
-* update is-glob dependency
-
-### Features
-
-* update is-glob dependency ([5c5f8ef](https://github.com/gulpjs/glob-parent/commit/5c5f8efcee362a8e7638cf8220666acd8784f6bd))
-
-## [2.0.0](https://github.com/gulpjs/glob-parent/compare/v1.3.0...v2.0.0) (2021-01-27)
-
-
-### Features
-
-* move up to dirname regardless of glob characters ([f97fb83](https://github.com/gulpjs/glob-parent/commit/f97fb83be2e0a9fc8d3b760e789d2ecadd6aa0c2))
-
-## [1.3.0](https://github.com/gulpjs/glob-parent/compare/v1.2.0...v1.3.0) (2021-01-27)
-
-## [1.2.0](https://github.com/gulpjs/glob-parent/compare/v1.1.0...v1.2.0) (2021-01-27)
-
-
-### Reverts
-
-* feat: make regex test strings smaller ([dc80fa9](https://github.com/gulpjs/glob-parent/commit/dc80fa9658dca20549cfeba44bbd37d5246fcce0))
-
-## [1.1.0](https://github.com/gulpjs/glob-parent/compare/v1.0.0...v1.1.0) (2021-01-27)
-
-
-### Features
-
-* make regex test strings smaller ([cd83220](https://github.com/gulpjs/glob-parent/commit/cd832208638f45169f986d80fcf66e401f35d233))
-
-## 1.0.0 (2021-01-27)
-
diff --git a/includes/search/node_modules/glob-parent/LICENSE b/includes/search/node_modules/glob-parent/LICENSE
deleted file mode 100644
index 63222d7..0000000
--- a/includes/search/node_modules/glob-parent/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) 2015, 2019 Elan Shanker
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/glob-parent/README.md b/includes/search/node_modules/glob-parent/README.md
deleted file mode 100644
index 36a2793..0000000
--- a/includes/search/node_modules/glob-parent/README.md
+++ /dev/null
@@ -1,137 +0,0 @@
-<p align="center">
- <a href="https://gulpjs.com">
- <img height="257" width="114" src="https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png">
- </a>
-</p>
-
-# glob-parent
-
-[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Azure Pipelines Build Status][azure-pipelines-image]][azure-pipelines-url] [![Travis Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url]
-
-Extract the non-magic parent path from a glob string.
-
-## Usage
-
-```js
-var globParent = require('glob-parent');
-
-globParent('path/to/*.js'); // 'path/to'
-globParent('/root/path/to/*.js'); // '/root/path/to'
-globParent('/*.js'); // '/'
-globParent('*.js'); // '.'
-globParent('**/*.js'); // '.'
-globParent('path/{to,from}'); // 'path'
-globParent('path/!(to|from)'); // 'path'
-globParent('path/?(to|from)'); // 'path'
-globParent('path/+(to|from)'); // 'path'
-globParent('path/*(to|from)'); // 'path'
-globParent('path/@(to|from)'); // 'path'
-globParent('path/**/*'); // 'path'
-
-// if provided a non-glob path, returns the nearest dir
-globParent('path/foo/bar.js'); // 'path/foo'
-globParent('path/foo/'); // 'path/foo'
-globParent('path/foo'); // 'path' (see issue #3 for details)
-```
-
-## API
-
-### `globParent(maybeGlobString, [options])`
-
-Takes a string and returns the part of the path before the glob begins. Be aware of Escaping rules and Limitations below.
-
-#### options
-
-```js
-{
- // Disables the automatic conversion of slashes for Windows
- flipBackslashes: true
-}
-```
-
-## Escaping
-
-The following characters have special significance in glob patterns and must be escaped if you want them to be treated as regular path characters:
-
-- `?` (question mark) unless used as a path segment alone
-- `*` (asterisk)
-- `|` (pipe)
-- `(` (opening parenthesis)
-- `)` (closing parenthesis)
-- `{` (opening curly brace)
-- `}` (closing curly brace)
-- `[` (opening bracket)
-- `]` (closing bracket)
-
-**Example**
-
-```js
-globParent('foo/[bar]/') // 'foo'
-globParent('foo/\\[bar]/') // 'foo/[bar]'
-```
-
-## Limitations
-
-### Braces & Brackets
-This library attempts a quick and imperfect method of determining which path
-parts have glob magic without fully parsing/lexing the pattern. There are some
-advanced use cases that can trip it up, such as nested braces where the outer
-pair is escaped and the inner one contains a path separator. If you find
-yourself in the unlikely circumstance of being affected by this or need to
-ensure higher-fidelity glob handling in your library, it is recommended that you
-pre-process your input with [expand-braces] and/or [expand-brackets].
-
-### Windows
-Backslashes are not valid path separators for globs. If a path with backslashes
-is provided anyway, for simple cases, glob-parent will replace the path
-separator for you and return the non-glob parent path (now with
-forward-slashes, which are still valid as Windows path separators).
-
-This cannot be used in conjunction with escape characters.
-
-```js
-// BAD
-globParent('C:\\Program Files \\(x86\\)\\*.ext') // 'C:/Program Files /(x86/)'
-
-// GOOD
-globParent('C:/Program Files\\(x86\\)/*.ext') // 'C:/Program Files (x86)'
-```
-
-If you are using escape characters for a pattern without path parts (i.e.
-relative to `cwd`), prefix with `./` to avoid confusing glob-parent.
-
-```js
-// BAD
-globParent('foo \\[bar]') // 'foo '
-globParent('foo \\[bar]*') // 'foo '
-
-// GOOD
-globParent('./foo \\[bar]') // 'foo [bar]'
-globParent('./foo \\[bar]*') // '.'
-```
-
-## License
-
-ISC
-
-[expand-braces]: https://github.com/jonschlinkert/expand-braces
-[expand-brackets]: https://github.com/jonschlinkert/expand-brackets
-
-[downloads-image]: https://img.shields.io/npm/dm/glob-parent.svg
-[npm-url]: https://www.npmjs.com/package/glob-parent
-[npm-image]: https://img.shields.io/npm/v/glob-parent.svg
-
-[azure-pipelines-url]: https://dev.azure.com/gulpjs/gulp/_build/latest?definitionId=2&branchName=master
-[azure-pipelines-image]: https://dev.azure.com/gulpjs/gulp/_apis/build/status/glob-parent?branchName=master
-
-[travis-url]: https://travis-ci.org/gulpjs/glob-parent
-[travis-image]: https://img.shields.io/travis/gulpjs/glob-parent.svg?label=travis-ci
-
-[appveyor-url]: https://ci.appveyor.com/project/gulpjs/glob-parent
-[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/glob-parent.svg?label=appveyor
-
-[coveralls-url]: https://coveralls.io/r/gulpjs/glob-parent
-[coveralls-image]: https://img.shields.io/coveralls/gulpjs/glob-parent/master.svg
-
-[gitter-url]: https://gitter.im/gulpjs/gulp
-[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg
diff --git a/includes/search/node_modules/glob-parent/index.js b/includes/search/node_modules/glob-parent/index.js
deleted file mode 100644
index 09e257e..0000000
--- a/includes/search/node_modules/glob-parent/index.js
+++ /dev/null
@@ -1,42 +0,0 @@
-'use strict';
-
-var isGlob = require('is-glob');
-var pathPosixDirname = require('path').posix.dirname;
-var isWin32 = require('os').platform() === 'win32';
-
-var slash = '/';
-var backslash = /\\/g;
-var enclosure = /[\{\[].*[\}\]]$/;
-var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
-var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
-
-/**
- * @param {string} str
- * @param {Object} opts
- * @param {boolean} [opts.flipBackslashes=true]
- * @returns {string}
- */
-module.exports = function globParent(str, opts) {
- var options = Object.assign({ flipBackslashes: true }, opts);
-
- // flip windows path separators
- if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) {
- str = str.replace(backslash, slash);
- }
-
- // special case for strings ending in enclosure containing path separator
- if (enclosure.test(str)) {
- str += slash;
- }
-
- // preserves full path in case of trailing path separator
- str += 'a';
-
- // remove path parts that are globby
- do {
- str = pathPosixDirname(str);
- } while (isGlob(str) || globby.test(str));
-
- // remove escape chars and return result
- return str.replace(escaped, '$1');
-};
diff --git a/includes/search/node_modules/glob-parent/package.json b/includes/search/node_modules/glob-parent/package.json
deleted file mode 100644
index 125c971..0000000
--- a/includes/search/node_modules/glob-parent/package.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "glob-parent",
- "version": "5.1.2",
- "description": "Extract the non-magic parent path from a glob string.",
- "author": "Gulp Team <team@gulpjs.com> (https://gulpjs.com/)",
- "contributors": [
- "Elan Shanker (https://github.com/es128)",
- "Blaine Bublitz <blaine.bublitz@gmail.com>"
- ],
- "repository": "gulpjs/glob-parent",
- "license": "ISC",
- "engines": {
- "node": ">= 6"
- },
- "main": "index.js",
- "files": [
- "LICENSE",
- "index.js"
- ],
- "scripts": {
- "lint": "eslint .",
- "pretest": "npm run lint",
- "test": "nyc mocha --async-only",
- "azure-pipelines": "nyc mocha --async-only --reporter xunit -O output=test.xunit",
- "coveralls": "nyc report --reporter=text-lcov | coveralls"
- },
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "devDependencies": {
- "coveralls": "^3.0.11",
- "eslint": "^2.13.1",
- "eslint-config-gulp": "^3.0.1",
- "expect": "^1.20.2",
- "mocha": "^6.0.2",
- "nyc": "^13.3.0"
- },
- "keywords": [
- "glob",
- "parent",
- "strip",
- "path",
- "dirname",
- "directory",
- "base",
- "wildcard"
- ]
-}
diff --git a/includes/search/node_modules/globby/gitignore.js b/includes/search/node_modules/globby/gitignore.js
deleted file mode 100644
index 2f77baa..0000000
--- a/includes/search/node_modules/globby/gitignore.js
+++ /dev/null
@@ -1,120 +0,0 @@
-'use strict';
-const {promisify} = require('util');
-const fs = require('fs');
-const path = require('path');
-const fastGlob = require('fast-glob');
-const gitIgnore = require('ignore');
-const slash = require('slash');
-
-const DEFAULT_IGNORE = [
- '**/node_modules/**',
- '**/flow-typed/**',
- '**/coverage/**',
- '**/.git'
-];
-
-const readFileP = promisify(fs.readFile);
-
-const mapGitIgnorePatternTo = base => ignore => {
- if (ignore.startsWith('!')) {
- return '!' + path.posix.join(base, ignore.slice(1));
- }
-
- return path.posix.join(base, ignore);
-};
-
-const parseGitIgnore = (content, options) => {
- const base = slash(path.relative(options.cwd, path.dirname(options.fileName)));
-
- return content
- .split(/\r?\n/)
- .filter(Boolean)
- .filter(line => !line.startsWith('#'))
- .map(mapGitIgnorePatternTo(base));
-};
-
-const reduceIgnore = files => {
- const ignores = gitIgnore();
- for (const file of files) {
- ignores.add(parseGitIgnore(file.content, {
- cwd: file.cwd,
- fileName: file.filePath
- }));
- }
-
- return ignores;
-};
-
-const ensureAbsolutePathForCwd = (cwd, p) => {
- cwd = slash(cwd);
- if (path.isAbsolute(p)) {
- if (slash(p).startsWith(cwd)) {
- return p;
- }
-
- throw new Error(`Path ${p} is not in cwd ${cwd}`);
- }
-
- return path.join(cwd, p);
-};
-
-const getIsIgnoredPredecate = (ignores, cwd) => {
- return p => ignores.ignores(slash(path.relative(cwd, ensureAbsolutePathForCwd(cwd, p.path || p))));
-};
-
-const getFile = async (file, cwd) => {
- const filePath = path.join(cwd, file);
- const content = await readFileP(filePath, 'utf8');
-
- return {
- cwd,
- filePath,
- content
- };
-};
-
-const getFileSync = (file, cwd) => {
- const filePath = path.join(cwd, file);
- const content = fs.readFileSync(filePath, 'utf8');
-
- return {
- cwd,
- filePath,
- content
- };
-};
-
-const normalizeOptions = ({
- ignore = [],
- cwd = slash(process.cwd())
-} = {}) => {
- return {ignore, cwd};
-};
-
-module.exports = async options => {
- options = normalizeOptions(options);
-
- const paths = await fastGlob('**/.gitignore', {
- ignore: DEFAULT_IGNORE.concat(options.ignore),
- cwd: options.cwd
- });
-
- const files = await Promise.all(paths.map(file => getFile(file, options.cwd)));
- const ignores = reduceIgnore(files);
-
- return getIsIgnoredPredecate(ignores, options.cwd);
-};
-
-module.exports.sync = options => {
- options = normalizeOptions(options);
-
- const paths = fastGlob.sync('**/.gitignore', {
- ignore: DEFAULT_IGNORE.concat(options.ignore),
- cwd: options.cwd
- });
-
- const files = paths.map(file => getFileSync(file, options.cwd));
- const ignores = reduceIgnore(files);
-
- return getIsIgnoredPredecate(ignores, options.cwd);
-};
diff --git a/includes/search/node_modules/globby/index.d.ts b/includes/search/node_modules/globby/index.d.ts
deleted file mode 100644
index 2e563fc..0000000
--- a/includes/search/node_modules/globby/index.d.ts
+++ /dev/null
@@ -1,186 +0,0 @@
-import {Options as FastGlobOptions, Entry as FastGlobEntry} from 'fast-glob';
-
-declare namespace globby {
- type ExpandDirectoriesOption =
- | boolean
- | readonly string[]
- | {files?: readonly string[]; extensions?: readonly string[]};
-
- type Entry = FastGlobEntry;
-
- interface GlobbyOptions extends FastGlobOptions {
- /**
- If set to `true`, `globby` will automatically glob directories for you. If you define an `Array` it will only glob files that matches the patterns inside the `Array`. You can also define an `Object` with `files` and `extensions` like in the example below.
-
- Note that if you set this option to `false`, you won't get back matched directories unless you set `onlyFiles: false`.
-
- @default true
-
- @example
- ```
- import globby = require('globby');
-
- (async () => {
- const paths = await globby('images', {
- expandDirectories: {
- files: ['cat', 'unicorn', '*.jpg'],
- extensions: ['png']
- }
- });
-
- console.log(paths);
- //=> ['cat.png', 'unicorn.png', 'cow.jpg', 'rainbow.jpg']
- })();
- ```
- */
- readonly expandDirectories?: ExpandDirectoriesOption;
-
- /**
- Respect ignore patterns in `.gitignore` files that apply to the globbed files.
-
- @default false
- */
- readonly gitignore?: boolean;
- }
-
- interface GlobTask {
- readonly pattern: string;
- readonly options: GlobbyOptions;
- }
-
- interface GitignoreOptions {
- readonly cwd?: string;
- readonly ignore?: readonly string[];
- }
-
- type FilterFunction = (path: string) => boolean;
-}
-
-interface Gitignore {
- /**
- @returns A filter function indicating whether a given path is ignored via a `.gitignore` file.
- */
- sync: (options?: globby.GitignoreOptions) => globby.FilterFunction;
-
- /**
- `.gitignore` files matched by the ignore config are not used for the resulting filter function.
-
- @returns A filter function indicating whether a given path is ignored via a `.gitignore` file.
-
- @example
- ```
- import {gitignore} from 'globby';
-
- (async () => {
- const isIgnored = await gitignore();
- console.log(isIgnored('some/file'));
- })();
- ```
- */
- (options?: globby.GitignoreOptions): Promise<globby.FilterFunction>;
-}
-
-declare const globby: {
- /**
- Find files and directories using glob patterns.
-
- Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`.
-
- @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
- @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
- @returns The matching paths.
- */
- sync: ((
- patterns: string | readonly string[],
- options: globby.GlobbyOptions & {objectMode: true}
- ) => globby.Entry[]) & ((
- patterns: string | readonly string[],
- options?: globby.GlobbyOptions
- ) => string[]);
-
- /**
- Find files and directories using glob patterns.
-
- Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`.
-
- @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
- @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
- @returns The stream of matching paths.
-
- @example
- ```
- import globby = require('globby');
-
- (async () => {
- for await (const path of globby.stream('*.tmp')) {
- console.log(path);
- }
- })();
- ```
- */
- stream: (
- patterns: string | readonly string[],
- options?: globby.GlobbyOptions
- ) => NodeJS.ReadableStream;
-
- /**
- Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration.
-
- @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
- @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
- @returns An object in the format `{pattern: string, options: object}`, which can be passed as arguments to [`fast-glob`](https://github.com/mrmlnc/fast-glob). This is useful for other globbing-related packages.
- */
- generateGlobTasks: (
- patterns: string | readonly string[],
- options?: globby.GlobbyOptions
- ) => globby.GlobTask[];
-
- /**
- Note that the options affect the results.
-
- This function is backed by [`fast-glob`](https://github.com/mrmlnc/fast-glob#isdynamicpatternpattern-options).
-
- @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
- @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3).
- @returns Whether there are any special glob characters in the `patterns`.
- */
- hasMagic: (
- patterns: string | readonly string[],
- options?: FastGlobOptions
- ) => boolean;
-
- readonly gitignore: Gitignore;
-
- (
- patterns: string | readonly string[],
- options: globby.GlobbyOptions & {objectMode: true}
- ): Promise<globby.Entry[]>;
-
- /**
- Find files and directories using glob patterns.
-
- Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`.
-
- @param patterns - See the supported [glob patterns](https://github.com/sindresorhus/globby#globbing-patterns).
- @param options - See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones in this package.
- @returns The matching paths.
-
- @example
- ```
- import globby = require('globby');
-
- (async () => {
- const paths = await globby(['*', '!cake']);
-
- console.log(paths);
- //=> ['unicorn', 'rainbow']
- })();
- ```
- */
- (
- patterns: string | readonly string[],
- options?: globby.GlobbyOptions
- ): Promise<string[]>;
-};
-
-export = globby;
diff --git a/includes/search/node_modules/globby/index.js b/includes/search/node_modules/globby/index.js
deleted file mode 100644
index b2d503b..0000000
--- a/includes/search/node_modules/globby/index.js
+++ /dev/null
@@ -1,181 +0,0 @@
-'use strict';
-const fs = require('fs');
-const arrayUnion = require('array-union');
-const merge2 = require('merge2');
-const fastGlob = require('fast-glob');
-const dirGlob = require('dir-glob');
-const gitignore = require('./gitignore');
-const {FilterStream, UniqueStream} = require('./stream-utils');
-
-const DEFAULT_FILTER = () => false;
-
-const isNegative = pattern => pattern[0] === '!';
-
-const assertPatternsInput = patterns => {
- if (!patterns.every(pattern => typeof pattern === 'string')) {
- throw new TypeError('Patterns must be a string or an array of strings');
- }
-};
-
-const checkCwdOption = (options = {}) => {
- if (!options.cwd) {
- return;
- }
-
- let stat;
- try {
- stat = fs.statSync(options.cwd);
- } catch {
- return;
- }
-
- if (!stat.isDirectory()) {
- throw new Error('The `cwd` option must be a path to a directory');
- }
-};
-
-const getPathString = p => p.stats instanceof fs.Stats ? p.path : p;
-
-const generateGlobTasks = (patterns, taskOptions) => {
- patterns = arrayUnion([].concat(patterns));
- assertPatternsInput(patterns);
- checkCwdOption(taskOptions);
-
- const globTasks = [];
-
- taskOptions = {
- ignore: [],
- expandDirectories: true,
- ...taskOptions
- };
-
- for (const [index, pattern] of patterns.entries()) {
- if (isNegative(pattern)) {
- continue;
- }
-
- const ignore = patterns
- .slice(index)
- .filter(pattern => isNegative(pattern))
- .map(pattern => pattern.slice(1));
-
- const options = {
- ...taskOptions,
- ignore: taskOptions.ignore.concat(ignore)
- };
-
- globTasks.push({pattern, options});
- }
-
- return globTasks;
-};
-
-const globDirs = (task, fn) => {
- let options = {};
- if (task.options.cwd) {
- options.cwd = task.options.cwd;
- }
-
- if (Array.isArray(task.options.expandDirectories)) {
- options = {
- ...options,
- files: task.options.expandDirectories
- };
- } else if (typeof task.options.expandDirectories === 'object') {
- options = {
- ...options,
- ...task.options.expandDirectories
- };
- }
-
- return fn(task.pattern, options);
-};
-
-const getPattern = (task, fn) => task.options.expandDirectories ? globDirs(task, fn) : [task.pattern];
-
-const getFilterSync = options => {
- return options && options.gitignore ?
- gitignore.sync({cwd: options.cwd, ignore: options.ignore}) :
- DEFAULT_FILTER;
-};
-
-const globToTask = task => glob => {
- const {options} = task;
- if (options.ignore && Array.isArray(options.ignore) && options.expandDirectories) {
- options.ignore = dirGlob.sync(options.ignore);
- }
-
- return {
- pattern: glob,
- options
- };
-};
-
-module.exports = async (patterns, options) => {
- const globTasks = generateGlobTasks(patterns, options);
-
- const getFilter = async () => {
- return options && options.gitignore ?
- gitignore({cwd: options.cwd, ignore: options.ignore}) :
- DEFAULT_FILTER;
- };
-
- const getTasks = async () => {
- const tasks = await Promise.all(globTasks.map(async task => {
- const globs = await getPattern(task, dirGlob);
- return Promise.all(globs.map(globToTask(task)));
- }));
-
- return arrayUnion(...tasks);
- };
-
- const [filter, tasks] = await Promise.all([getFilter(), getTasks()]);
- const paths = await Promise.all(tasks.map(task => fastGlob(task.pattern, task.options)));
-
- return arrayUnion(...paths).filter(path_ => !filter(getPathString(path_)));
-};
-
-module.exports.sync = (patterns, options) => {
- const globTasks = generateGlobTasks(patterns, options);
-
- const tasks = [];
- for (const task of globTasks) {
- const newTask = getPattern(task, dirGlob.sync).map(globToTask(task));
- tasks.push(...newTask);
- }
-
- const filter = getFilterSync(options);
-
- let matches = [];
- for (const task of tasks) {
- matches = arrayUnion(matches, fastGlob.sync(task.pattern, task.options));
- }
-
- return matches.filter(path_ => !filter(path_));
-};
-
-module.exports.stream = (patterns, options) => {
- const globTasks = generateGlobTasks(patterns, options);
-
- const tasks = [];
- for (const task of globTasks) {
- const newTask = getPattern(task, dirGlob.sync).map(globToTask(task));
- tasks.push(...newTask);
- }
-
- const filter = getFilterSync(options);
- const filterStream = new FilterStream(p => !filter(p));
- const uniqueStream = new UniqueStream();
-
- return merge2(tasks.map(task => fastGlob.stream(task.pattern, task.options)))
- .pipe(filterStream)
- .pipe(uniqueStream);
-};
-
-module.exports.generateGlobTasks = generateGlobTasks;
-
-module.exports.hasMagic = (patterns, options) => []
- .concat(patterns)
- .some(pattern => fastGlob.isDynamicPattern(pattern, options));
-
-module.exports.gitignore = gitignore;
diff --git a/includes/search/node_modules/globby/license b/includes/search/node_modules/globby/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/globby/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/globby/package.json b/includes/search/node_modules/globby/package.json
deleted file mode 100644
index a458778..0000000
--- a/includes/search/node_modules/globby/package.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "name": "globby",
- "version": "11.1.0",
- "description": "User-friendly glob matching",
- "license": "MIT",
- "repository": "sindresorhus/globby",
- "funding": "https://github.com/sponsors/sindresorhus",
- "author": {
- "email": "sindresorhus@gmail.com",
- "name": "Sindre Sorhus",
- "url": "https://sindresorhus.com"
- },
- "engines": {
- "node": ">=10"
- },
- "scripts": {
- "bench": "npm update glob-stream fast-glob && matcha bench.js",
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts",
- "gitignore.js",
- "stream-utils.js"
- ],
- "keywords": [
- "all",
- "array",
- "directories",
- "expand",
- "files",
- "filesystem",
- "filter",
- "find",
- "fnmatch",
- "folders",
- "fs",
- "glob",
- "globbing",
- "globs",
- "gulpfriendly",
- "match",
- "matcher",
- "minimatch",
- "multi",
- "multiple",
- "paths",
- "pattern",
- "patterns",
- "traverse",
- "util",
- "utility",
- "wildcard",
- "wildcards",
- "promise",
- "gitignore",
- "git"
- ],
- "dependencies": {
- "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"
- },
- "devDependencies": {
- "ava": "^3.13.0",
- "get-stream": "^6.0.0",
- "glob-stream": "^6.1.0",
- "globby": "sindresorhus/globby#main",
- "matcha": "^0.7.0",
- "rimraf": "^3.0.2",
- "tsd": "^0.13.1",
- "xo": "^0.33.1"
- },
- "xo": {
- "ignores": [
- "fixtures"
- ]
- }
-}
diff --git a/includes/search/node_modules/globby/readme.md b/includes/search/node_modules/globby/readme.md
deleted file mode 100644
index b39ae43..0000000
--- a/includes/search/node_modules/globby/readme.md
+++ /dev/null
@@ -1,170 +0,0 @@
-# globby
-
-> User-friendly glob matching
-
-Based on [`fast-glob`](https://github.com/mrmlnc/fast-glob) but adds a bunch of useful features.
-
-## Features
-
-- Promise API
-- Multiple patterns
-- Negated patterns: `['foo*', '!foobar']`
-- Expands directories: `foo` → `foo/**/*`
-- Supports `.gitignore`
-
-## Install
-
-```
-$ npm install globby
-```
-
-## Usage
-
-```
-├── unicorn
-├── cake
-└── rainbow
-```
-
-```js
-const globby = require('globby');
-
-(async () => {
- const paths = await globby(['*', '!cake']);
-
- console.log(paths);
- //=> ['unicorn', 'rainbow']
-})();
-```
-
-## API
-
-Note that glob patterns can only contain forward-slashes, not backward-slashes, so if you want to construct a glob pattern from path components, you need to use `path.posix.join()` instead of `path.join()`.
-
-### globby(patterns, options?)
-
-Returns a `Promise<string[]>` of matching paths.
-
-#### patterns
-
-Type: `string | string[]`
-
-See supported `minimatch` [patterns](https://github.com/isaacs/minimatch#usage).
-
-#### options
-
-Type: `object`
-
-See the [`fast-glob` options](https://github.com/mrmlnc/fast-glob#options-3) in addition to the ones below.
-
-##### expandDirectories
-
-Type: `boolean | string[] | object`\
-Default: `true`
-
-If set to `true`, `globby` will automatically glob directories for you. If you define an `Array` it will only glob files that matches the patterns inside the `Array`. You can also define an `object` with `files` and `extensions` like below:
-
-```js
-const globby = require('globby');
-
-(async () => {
- const paths = await globby('images', {
- expandDirectories: {
- files: ['cat', 'unicorn', '*.jpg'],
- extensions: ['png']
- }
- });
-
- console.log(paths);
- //=> ['cat.png', 'unicorn.png', 'cow.jpg', 'rainbow.jpg']
-})();
-```
-
-Note that if you set this option to `false`, you won't get back matched directories unless you set `onlyFiles: false`.
-
-##### gitignore
-
-Type: `boolean`\
-Default: `false`
-
-Respect ignore patterns in `.gitignore` files that apply to the globbed files.
-
-### globby.sync(patterns, options?)
-
-Returns `string[]` of matching paths.
-
-### globby.stream(patterns, options?)
-
-Returns a [`stream.Readable`](https://nodejs.org/api/stream.html#stream_readable_streams) of matching paths.
-
-Since Node.js 10, [readable streams are iterable](https://nodejs.org/api/stream.html#stream_readable_symbol_asynciterator), so you can loop over glob matches in a [`for await...of` loop](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of) like this:
-
-```js
-const globby = require('globby');
-
-(async () => {
- for await (const path of globby.stream('*.tmp')) {
- console.log(path);
- }
-})();
-```
-
-### globby.generateGlobTasks(patterns, options?)
-
-Returns an `object[]` in the format `{pattern: string, options: Object}`, which can be passed as arguments to [`fast-glob`](https://github.com/mrmlnc/fast-glob). This is useful for other globbing-related packages.
-
-Note that you should avoid running the same tasks multiple times as they contain a file system cache. Instead, run this method each time to ensure file system changes are taken into consideration.
-
-### globby.hasMagic(patterns, options?)
-
-Returns a `boolean` of whether there are any special glob characters in the `patterns`.
-
-Note that the options affect the results.
-
-This function is backed by [`fast-glob`](https://github.com/mrmlnc/fast-glob#isdynamicpatternpattern-options).
-
-### globby.gitignore(options?)
-
-Returns a `Promise<(path: string) => boolean>` indicating whether a given path is ignored via a `.gitignore` file.
-
-Takes `cwd?: string` and `ignore?: string[]` as options. `.gitignore` files matched by the ignore config are not used for the resulting filter function.
-
-```js
-const {gitignore} = require('globby');
-
-(async () => {
- const isIgnored = await gitignore();
- console.log(isIgnored('some/file'));
-})();
-```
-
-### globby.gitignore.sync(options?)
-
-Returns a `(path: string) => boolean` indicating whether a given path is ignored via a `.gitignore` file.
-
-Takes the same options as `globby.gitignore`.
-
-## Globbing patterns
-
-Just a quick overview.
-
-- `*` matches any number of characters, but not `/`
-- `?` matches a single character, but not `/`
-- `**` matches any number of characters, including `/`, as long as it's the only thing in a path part
-- `{}` allows for a comma-separated list of "or" expressions
-- `!` at the beginning of a pattern will negate the match
-
-[Various patterns and expected matches.](https://github.com/sindresorhus/multimatch/blob/main/test/test.js)
-
-## globby for enterprise
-
-Available as part of the Tidelift Subscription.
-
-The maintainers of globby and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-globby?utm_source=npm-globby&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
-
-## Related
-
-- [multimatch](https://github.com/sindresorhus/multimatch) - Match against a list instead of the filesystem
-- [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching
-- [del](https://github.com/sindresorhus/del) - Delete files and directories
-- [make-dir](https://github.com/sindresorhus/make-dir) - Make a directory and its parents if needed
diff --git a/includes/search/node_modules/globby/stream-utils.js b/includes/search/node_modules/globby/stream-utils.js
deleted file mode 100644
index 98aedc8..0000000
--- a/includes/search/node_modules/globby/stream-utils.js
+++ /dev/null
@@ -1,46 +0,0 @@
-'use strict';
-const {Transform} = require('stream');
-
-class ObjectTransform extends Transform {
- constructor() {
- super({
- objectMode: true
- });
- }
-}
-
-class FilterStream extends ObjectTransform {
- constructor(filter) {
- super();
- this._filter = filter;
- }
-
- _transform(data, encoding, callback) {
- if (this._filter(data)) {
- this.push(data);
- }
-
- callback();
- }
-}
-
-class UniqueStream extends ObjectTransform {
- constructor() {
- super();
- this._pushed = new Set();
- }
-
- _transform(data, encoding, callback) {
- if (!this._pushed.has(data)) {
- this.push(data);
- this._pushed.add(data);
- }
-
- callback();
- }
-}
-
-module.exports = {
- FilterStream,
- UniqueStream
-};
diff --git a/includes/search/node_modules/graceful-fs/LICENSE b/includes/search/node_modules/graceful-fs/LICENSE
deleted file mode 100644
index e906a25..0000000
--- a/includes/search/node_modules/graceful-fs/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) 2011-2022 Isaac Z. Schlueter, Ben Noordhuis, and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/graceful-fs/README.md b/includes/search/node_modules/graceful-fs/README.md
deleted file mode 100644
index 82d6e4d..0000000
--- a/includes/search/node_modules/graceful-fs/README.md
+++ /dev/null
@@ -1,143 +0,0 @@
-# graceful-fs
-
-graceful-fs functions as a drop-in replacement for the fs module,
-making various improvements.
-
-The improvements are meant to normalize behavior across different
-platforms and environments, and to make filesystem access more
-resilient to errors.
-
-## Improvements over [fs module](https://nodejs.org/api/fs.html)
-
-* Queues up `open` and `readdir` calls, and retries them once
- something closes if there is an EMFILE error from too many file
- descriptors.
-* fixes `lchmod` for Node versions prior to 0.6.2.
-* implements `fs.lutimes` if possible. Otherwise it becomes a noop.
-* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or
- `lchown` if the user isn't root.
-* makes `lchmod` and `lchown` become noops, if not available.
-* retries reading a file if `read` results in EAGAIN error.
-
-On Windows, it retries renaming a file for up to one second if `EACCESS`
-or `EPERM` error occurs, likely because antivirus software has locked
-the directory.
-
-## USAGE
-
-```javascript
-// use just like fs
-var fs = require('graceful-fs')
-
-// now go and do stuff with it...
-fs.readFile('some-file-or-whatever', (err, data) => {
- // Do stuff here.
-})
-```
-
-## Sync methods
-
-This module cannot intercept or handle `EMFILE` or `ENFILE` errors from sync
-methods. If you use sync methods which open file descriptors then you are
-responsible for dealing with any errors.
-
-This is a known limitation, not a bug.
-
-## Global Patching
-
-If you want to patch the global fs module (or any other fs-like
-module) you can do this:
-
-```javascript
-// Make sure to read the caveat below.
-var realFs = require('fs')
-var gracefulFs = require('graceful-fs')
-gracefulFs.gracefulify(realFs)
-```
-
-This should only ever be done at the top-level application layer, in
-order to delay on EMFILE errors from any fs-using dependencies. You
-should **not** do this in a library, because it can cause unexpected
-delays in other parts of the program.
-
-## Changes
-
-This module is fairly stable at this point, and used by a lot of
-things. That being said, because it implements a subtle behavior
-change in a core part of the node API, even modest changes can be
-extremely breaking, and the versioning is thus biased towards
-bumping the major when in doubt.
-
-The main change between major versions has been switching between
-providing a fully-patched `fs` module vs monkey-patching the node core
-builtin, and the approach by which a non-monkey-patched `fs` was
-created.
-
-The goal is to trade `EMFILE` errors for slower fs operations. So, if
-you try to open a zillion files, rather than crashing, `open`
-operations will be queued up and wait for something else to `close`.
-
-There are advantages to each approach. Monkey-patching the fs means
-that no `EMFILE` errors can possibly occur anywhere in your
-application, because everything is using the same core `fs` module,
-which is patched. However, it can also obviously cause undesirable
-side-effects, especially if the module is loaded multiple times.
-
-Implementing a separate-but-identical patched `fs` module is more
-surgical (and doesn't run the risk of patching multiple times), but
-also imposes the challenge of keeping in sync with the core module.
-
-The current approach loads the `fs` module, and then creates a
-lookalike object that has all the same methods, except a few that are
-patched. It is safe to use in all versions of Node from 0.8 through
-7.0.
-
-### v4
-
-* Do not monkey-patch the fs module. This module may now be used as a
- drop-in dep, and users can opt into monkey-patching the fs builtin
- if their app requires it.
-
-### v3
-
-* Monkey-patch fs, because the eval approach no longer works on recent
- node.
-* fixed possible type-error throw if rename fails on windows
-* verify that we *never* get EMFILE errors
-* Ignore ENOSYS from chmod/chown
-* clarify that graceful-fs must be used as a drop-in
-
-### v2.1.0
-
-* Use eval rather than monkey-patching fs.
-* readdir: Always sort the results
-* win32: requeue a file if error has an OK status
-
-### v2.0
-
-* A return to monkey patching
-* wrap process.cwd
-
-### v1.1
-
-* wrap readFile
-* Wrap fs.writeFile.
-* readdir protection
-* Don't clobber the fs builtin
-* Handle fs.read EAGAIN errors by trying again
-* Expose the curOpen counter
-* No-op lchown/lchmod if not implemented
-* fs.rename patch only for win32
-* Patch fs.rename to handle AV software on Windows
-* Close #4 Chown should not fail on einval or eperm if non-root
-* Fix isaacs/fstream#1 Only wrap fs one time
-* Fix #3 Start at 1024 max files, then back off on EMFILE
-* lutimes that doens't blow up on Linux
-* A full on-rewrite using a queue instead of just swallowing the EMFILE error
-* Wrap Read/Write streams as well
-
-### 1.0
-
-* Update engines for node 0.6
-* Be lstat-graceful on Windows
-* first
diff --git a/includes/search/node_modules/graceful-fs/clone.js b/includes/search/node_modules/graceful-fs/clone.js
deleted file mode 100644
index dff3cc8..0000000
--- a/includes/search/node_modules/graceful-fs/clone.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict'
-
-module.exports = clone
-
-var getPrototypeOf = Object.getPrototypeOf || function (obj) {
- return obj.__proto__
-}
-
-function clone (obj) {
- if (obj === null || typeof obj !== 'object')
- return obj
-
- if (obj instanceof Object)
- var copy = { __proto__: getPrototypeOf(obj) }
- else
- var copy = Object.create(null)
-
- Object.getOwnPropertyNames(obj).forEach(function (key) {
- Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key))
- })
-
- return copy
-}
diff --git a/includes/search/node_modules/graceful-fs/graceful-fs.js b/includes/search/node_modules/graceful-fs/graceful-fs.js
deleted file mode 100644
index 8d5b89e..0000000
--- a/includes/search/node_modules/graceful-fs/graceful-fs.js
+++ /dev/null
@@ -1,448 +0,0 @@
-var fs = require('fs')
-var polyfills = require('./polyfills.js')
-var legacy = require('./legacy-streams.js')
-var clone = require('./clone.js')
-
-var util = require('util')
-
-/* istanbul ignore next - node 0.x polyfill */
-var gracefulQueue
-var previousSymbol
-
-/* istanbul ignore else - node 0.x polyfill */
-if (typeof Symbol === 'function' && typeof Symbol.for === 'function') {
- gracefulQueue = Symbol.for('graceful-fs.queue')
- // This is used in testing by future versions
- previousSymbol = Symbol.for('graceful-fs.previous')
-} else {
- gracefulQueue = '___graceful-fs.queue'
- previousSymbol = '___graceful-fs.previous'
-}
-
-function noop () {}
-
-function publishQueue(context, queue) {
- Object.defineProperty(context, gracefulQueue, {
- get: function() {
- return queue
- }
- })
-}
-
-var debug = noop
-if (util.debuglog)
- debug = util.debuglog('gfs4')
-else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ''))
- debug = function() {
- var m = util.format.apply(util, arguments)
- m = 'GFS4: ' + m.split(/\n/).join('\nGFS4: ')
- console.error(m)
- }
-
-// Once time initialization
-if (!fs[gracefulQueue]) {
- // This queue can be shared by multiple loaded instances
- var queue = global[gracefulQueue] || []
- publishQueue(fs, queue)
-
- // Patch fs.close/closeSync to shared queue version, because we need
- // to retry() whenever a close happens *anywhere* in the program.
- // This is essential when multiple graceful-fs instances are
- // in play at the same time.
- fs.close = (function (fs$close) {
- function close (fd, cb) {
- return fs$close.call(fs, fd, function (err) {
- // This function uses the graceful-fs shared queue
- if (!err) {
- resetQueue()
- }
-
- if (typeof cb === 'function')
- cb.apply(this, arguments)
- })
- }
-
- Object.defineProperty(close, previousSymbol, {
- value: fs$close
- })
- return close
- })(fs.close)
-
- fs.closeSync = (function (fs$closeSync) {
- function closeSync (fd) {
- // This function uses the graceful-fs shared queue
- fs$closeSync.apply(fs, arguments)
- resetQueue()
- }
-
- Object.defineProperty(closeSync, previousSymbol, {
- value: fs$closeSync
- })
- return closeSync
- })(fs.closeSync)
-
- if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) {
- process.on('exit', function() {
- debug(fs[gracefulQueue])
- require('assert').equal(fs[gracefulQueue].length, 0)
- })
- }
-}
-
-if (!global[gracefulQueue]) {
- publishQueue(global, fs[gracefulQueue]);
-}
-
-module.exports = patch(clone(fs))
-if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {
- module.exports = patch(fs)
- fs.__patched = true;
-}
-
-function patch (fs) {
- // Everything that references the open() function needs to be in here
- polyfills(fs)
- fs.gracefulify = patch
-
- fs.createReadStream = createReadStream
- fs.createWriteStream = createWriteStream
- var fs$readFile = fs.readFile
- fs.readFile = readFile
- function readFile (path, options, cb) {
- if (typeof options === 'function')
- cb = options, options = null
-
- return go$readFile(path, options, cb)
-
- function go$readFile (path, options, cb, startTime) {
- return fs$readFile(path, options, function (err) {
- if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
- enqueue([go$readFile, [path, options, cb], err, startTime || Date.now(), Date.now()])
- else {
- if (typeof cb === 'function')
- cb.apply(this, arguments)
- }
- })
- }
- }
-
- var fs$writeFile = fs.writeFile
- fs.writeFile = writeFile
- function writeFile (path, data, options, cb) {
- if (typeof options === 'function')
- cb = options, options = null
-
- return go$writeFile(path, data, options, cb)
-
- function go$writeFile (path, data, options, cb, startTime) {
- return fs$writeFile(path, data, options, function (err) {
- if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
- enqueue([go$writeFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])
- else {
- if (typeof cb === 'function')
- cb.apply(this, arguments)
- }
- })
- }
- }
-
- var fs$appendFile = fs.appendFile
- if (fs$appendFile)
- fs.appendFile = appendFile
- function appendFile (path, data, options, cb) {
- if (typeof options === 'function')
- cb = options, options = null
-
- return go$appendFile(path, data, options, cb)
-
- function go$appendFile (path, data, options, cb, startTime) {
- return fs$appendFile(path, data, options, function (err) {
- if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
- enqueue([go$appendFile, [path, data, options, cb], err, startTime || Date.now(), Date.now()])
- else {
- if (typeof cb === 'function')
- cb.apply(this, arguments)
- }
- })
- }
- }
-
- var fs$copyFile = fs.copyFile
- if (fs$copyFile)
- fs.copyFile = copyFile
- function copyFile (src, dest, flags, cb) {
- if (typeof flags === 'function') {
- cb = flags
- flags = 0
- }
- return go$copyFile(src, dest, flags, cb)
-
- function go$copyFile (src, dest, flags, cb, startTime) {
- return fs$copyFile(src, dest, flags, function (err) {
- if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
- enqueue([go$copyFile, [src, dest, flags, cb], err, startTime || Date.now(), Date.now()])
- else {
- if (typeof cb === 'function')
- cb.apply(this, arguments)
- }
- })
- }
- }
-
- var fs$readdir = fs.readdir
- fs.readdir = readdir
- var noReaddirOptionVersions = /^v[0-5]\./
- function readdir (path, options, cb) {
- if (typeof options === 'function')
- cb = options, options = null
-
- var go$readdir = noReaddirOptionVersions.test(process.version)
- ? function go$readdir (path, options, cb, startTime) {
- return fs$readdir(path, fs$readdirCallback(
- path, options, cb, startTime
- ))
- }
- : function go$readdir (path, options, cb, startTime) {
- return fs$readdir(path, options, fs$readdirCallback(
- path, options, cb, startTime
- ))
- }
-
- return go$readdir(path, options, cb)
-
- function fs$readdirCallback (path, options, cb, startTime) {
- return function (err, files) {
- if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
- enqueue([
- go$readdir,
- [path, options, cb],
- err,
- startTime || Date.now(),
- Date.now()
- ])
- else {
- if (files && files.sort)
- files.sort()
-
- if (typeof cb === 'function')
- cb.call(this, err, files)
- }
- }
- }
- }
-
- if (process.version.substr(0, 4) === 'v0.8') {
- var legStreams = legacy(fs)
- ReadStream = legStreams.ReadStream
- WriteStream = legStreams.WriteStream
- }
-
- var fs$ReadStream = fs.ReadStream
- if (fs$ReadStream) {
- ReadStream.prototype = Object.create(fs$ReadStream.prototype)
- ReadStream.prototype.open = ReadStream$open
- }
-
- var fs$WriteStream = fs.WriteStream
- if (fs$WriteStream) {
- WriteStream.prototype = Object.create(fs$WriteStream.prototype)
- WriteStream.prototype.open = WriteStream$open
- }
-
- Object.defineProperty(fs, 'ReadStream', {
- get: function () {
- return ReadStream
- },
- set: function (val) {
- ReadStream = val
- },
- enumerable: true,
- configurable: true
- })
- Object.defineProperty(fs, 'WriteStream', {
- get: function () {
- return WriteStream
- },
- set: function (val) {
- WriteStream = val
- },
- enumerable: true,
- configurable: true
- })
-
- // legacy names
- var FileReadStream = ReadStream
- Object.defineProperty(fs, 'FileReadStream', {
- get: function () {
- return FileReadStream
- },
- set: function (val) {
- FileReadStream = val
- },
- enumerable: true,
- configurable: true
- })
- var FileWriteStream = WriteStream
- Object.defineProperty(fs, 'FileWriteStream', {
- get: function () {
- return FileWriteStream
- },
- set: function (val) {
- FileWriteStream = val
- },
- enumerable: true,
- configurable: true
- })
-
- function ReadStream (path, options) {
- if (this instanceof ReadStream)
- return fs$ReadStream.apply(this, arguments), this
- else
- return ReadStream.apply(Object.create(ReadStream.prototype), arguments)
- }
-
- function ReadStream$open () {
- var that = this
- open(that.path, that.flags, that.mode, function (err, fd) {
- if (err) {
- if (that.autoClose)
- that.destroy()
-
- that.emit('error', err)
- } else {
- that.fd = fd
- that.emit('open', fd)
- that.read()
- }
- })
- }
-
- function WriteStream (path, options) {
- if (this instanceof WriteStream)
- return fs$WriteStream.apply(this, arguments), this
- else
- return WriteStream.apply(Object.create(WriteStream.prototype), arguments)
- }
-
- function WriteStream$open () {
- var that = this
- open(that.path, that.flags, that.mode, function (err, fd) {
- if (err) {
- that.destroy()
- that.emit('error', err)
- } else {
- that.fd = fd
- that.emit('open', fd)
- }
- })
- }
-
- function createReadStream (path, options) {
- return new fs.ReadStream(path, options)
- }
-
- function createWriteStream (path, options) {
- return new fs.WriteStream(path, options)
- }
-
- var fs$open = fs.open
- fs.open = open
- function open (path, flags, mode, cb) {
- if (typeof mode === 'function')
- cb = mode, mode = null
-
- return go$open(path, flags, mode, cb)
-
- function go$open (path, flags, mode, cb, startTime) {
- return fs$open(path, flags, mode, function (err, fd) {
- if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
- enqueue([go$open, [path, flags, mode, cb], err, startTime || Date.now(), Date.now()])
- else {
- if (typeof cb === 'function')
- cb.apply(this, arguments)
- }
- })
- }
- }
-
- return fs
-}
-
-function enqueue (elem) {
- debug('ENQUEUE', elem[0].name, elem[1])
- fs[gracefulQueue].push(elem)
- retry()
-}
-
-// keep track of the timeout between retry() calls
-var retryTimer
-
-// reset the startTime and lastTime to now
-// this resets the start of the 60 second overall timeout as well as the
-// delay between attempts so that we'll retry these jobs sooner
-function resetQueue () {
- var now = Date.now()
- for (var i = 0; i < fs[gracefulQueue].length; ++i) {
- // entries that are only a length of 2 are from an older version, don't
- // bother modifying those since they'll be retried anyway.
- if (fs[gracefulQueue][i].length > 2) {
- fs[gracefulQueue][i][3] = now // startTime
- fs[gracefulQueue][i][4] = now // lastTime
- }
- }
- // call retry to make sure we're actively processing the queue
- retry()
-}
-
-function retry () {
- // clear the timer and remove it to help prevent unintended concurrency
- clearTimeout(retryTimer)
- retryTimer = undefined
-
- if (fs[gracefulQueue].length === 0)
- return
-
- var elem = fs[gracefulQueue].shift()
- var fn = elem[0]
- var args = elem[1]
- // these items may be unset if they were added by an older graceful-fs
- var err = elem[2]
- var startTime = elem[3]
- var lastTime = elem[4]
-
- // if we don't have a startTime we have no way of knowing if we've waited
- // long enough, so go ahead and retry this item now
- if (startTime === undefined) {
- debug('RETRY', fn.name, args)
- fn.apply(null, args)
- } else if (Date.now() - startTime >= 60000) {
- // it's been more than 60 seconds total, bail now
- debug('TIMEOUT', fn.name, args)
- var cb = args.pop()
- if (typeof cb === 'function')
- cb.call(null, err)
- } else {
- // the amount of time between the last attempt and right now
- var sinceAttempt = Date.now() - lastTime
- // the amount of time between when we first tried, and when we last tried
- // rounded up to at least 1
- var sinceStart = Math.max(lastTime - startTime, 1)
- // backoff. wait longer than the total time we've been retrying, but only
- // up to a maximum of 100ms
- var desiredDelay = Math.min(sinceStart * 1.2, 100)
- // it's been long enough since the last retry, do it again
- if (sinceAttempt >= desiredDelay) {
- debug('RETRY', fn.name, args)
- fn.apply(null, args.concat([startTime]))
- } else {
- // if we can't do this job yet, push it to the end of the queue
- // and let the next iteration check again
- fs[gracefulQueue].push(elem)
- }
- }
-
- // schedule our next run if one isn't already scheduled
- if (retryTimer === undefined) {
- retryTimer = setTimeout(retry, 0)
- }
-}
diff --git a/includes/search/node_modules/graceful-fs/legacy-streams.js b/includes/search/node_modules/graceful-fs/legacy-streams.js
deleted file mode 100644
index d617b50..0000000
--- a/includes/search/node_modules/graceful-fs/legacy-streams.js
+++ /dev/null
@@ -1,118 +0,0 @@
-var Stream = require('stream').Stream
-
-module.exports = legacy
-
-function legacy (fs) {
- return {
- ReadStream: ReadStream,
- WriteStream: WriteStream
- }
-
- function ReadStream (path, options) {
- if (!(this instanceof ReadStream)) return new ReadStream(path, options);
-
- Stream.call(this);
-
- var self = this;
-
- this.path = path;
- this.fd = null;
- this.readable = true;
- this.paused = false;
-
- this.flags = 'r';
- this.mode = 438; /*=0666*/
- this.bufferSize = 64 * 1024;
-
- options = options || {};
-
- // Mixin options into this
- var keys = Object.keys(options);
- for (var index = 0, length = keys.length; index < length; index++) {
- var key = keys[index];
- this[key] = options[key];
- }
-
- if (this.encoding) this.setEncoding(this.encoding);
-
- if (this.start !== undefined) {
- if ('number' !== typeof this.start) {
- throw TypeError('start must be a Number');
- }
- if (this.end === undefined) {
- this.end = Infinity;
- } else if ('number' !== typeof this.end) {
- throw TypeError('end must be a Number');
- }
-
- if (this.start > this.end) {
- throw new Error('start must be <= end');
- }
-
- this.pos = this.start;
- }
-
- if (this.fd !== null) {
- process.nextTick(function() {
- self._read();
- });
- return;
- }
-
- fs.open(this.path, this.flags, this.mode, function (err, fd) {
- if (err) {
- self.emit('error', err);
- self.readable = false;
- return;
- }
-
- self.fd = fd;
- self.emit('open', fd);
- self._read();
- })
- }
-
- function WriteStream (path, options) {
- if (!(this instanceof WriteStream)) return new WriteStream(path, options);
-
- Stream.call(this);
-
- this.path = path;
- this.fd = null;
- this.writable = true;
-
- this.flags = 'w';
- this.encoding = 'binary';
- this.mode = 438; /*=0666*/
- this.bytesWritten = 0;
-
- options = options || {};
-
- // Mixin options into this
- var keys = Object.keys(options);
- for (var index = 0, length = keys.length; index < length; index++) {
- var key = keys[index];
- this[key] = options[key];
- }
-
- if (this.start !== undefined) {
- if ('number' !== typeof this.start) {
- throw TypeError('start must be a Number');
- }
- if (this.start < 0) {
- throw new Error('start must be >= zero');
- }
-
- this.pos = this.start;
- }
-
- this.busy = false;
- this._queue = [];
-
- if (this.fd === null) {
- this._open = fs.open;
- this._queue.push([this._open, this.path, this.flags, this.mode, undefined]);
- this.flush();
- }
- }
-}
diff --git a/includes/search/node_modules/graceful-fs/package.json b/includes/search/node_modules/graceful-fs/package.json
deleted file mode 100644
index 87babf0..0000000
--- a/includes/search/node_modules/graceful-fs/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "graceful-fs",
- "description": "A drop-in replacement for fs, making various improvements.",
- "version": "4.2.11",
- "repository": {
- "type": "git",
- "url": "https://github.com/isaacs/node-graceful-fs"
- },
- "main": "graceful-fs.js",
- "directories": {
- "test": "test"
- },
- "scripts": {
- "preversion": "npm test",
- "postversion": "npm publish",
- "postpublish": "git push origin --follow-tags",
- "test": "nyc --silent node test.js | tap -c -",
- "posttest": "nyc report"
- },
- "keywords": [
- "fs",
- "module",
- "reading",
- "retry",
- "retries",
- "queue",
- "error",
- "errors",
- "handling",
- "EMFILE",
- "EAGAIN",
- "EINVAL",
- "EPERM",
- "EACCESS"
- ],
- "license": "ISC",
- "devDependencies": {
- "import-fresh": "^2.0.0",
- "mkdirp": "^0.5.0",
- "rimraf": "^2.2.8",
- "tap": "^16.3.4"
- },
- "files": [
- "fs.js",
- "graceful-fs.js",
- "legacy-streams.js",
- "polyfills.js",
- "clone.js"
- ],
- "tap": {
- "reporter": "classic"
- }
-}
diff --git a/includes/search/node_modules/graceful-fs/polyfills.js b/includes/search/node_modules/graceful-fs/polyfills.js
deleted file mode 100644
index 453f1a9..0000000
--- a/includes/search/node_modules/graceful-fs/polyfills.js
+++ /dev/null
@@ -1,355 +0,0 @@
-var constants = require('constants')
-
-var origCwd = process.cwd
-var cwd = null
-
-var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform
-
-process.cwd = function() {
- if (!cwd)
- cwd = origCwd.call(process)
- return cwd
-}
-try {
- process.cwd()
-} catch (er) {}
-
-// This check is needed until node.js 12 is required
-if (typeof process.chdir === 'function') {
- var chdir = process.chdir
- process.chdir = function (d) {
- cwd = null
- chdir.call(process, d)
- }
- if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir)
-}
-
-module.exports = patch
-
-function patch (fs) {
- // (re-)implement some things that are known busted or missing.
-
- // lchmod, broken prior to 0.6.2
- // back-port the fix here.
- if (constants.hasOwnProperty('O_SYMLINK') &&
- process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
- patchLchmod(fs)
- }
-
- // lutimes implementation, or no-op
- if (!fs.lutimes) {
- patchLutimes(fs)
- }
-
- // https://github.com/isaacs/node-graceful-fs/issues/4
- // Chown should not fail on einval or eperm if non-root.
- // It should not fail on enosys ever, as this just indicates
- // that a fs doesn't support the intended operation.
-
- fs.chown = chownFix(fs.chown)
- fs.fchown = chownFix(fs.fchown)
- fs.lchown = chownFix(fs.lchown)
-
- fs.chmod = chmodFix(fs.chmod)
- fs.fchmod = chmodFix(fs.fchmod)
- fs.lchmod = chmodFix(fs.lchmod)
-
- fs.chownSync = chownFixSync(fs.chownSync)
- fs.fchownSync = chownFixSync(fs.fchownSync)
- fs.lchownSync = chownFixSync(fs.lchownSync)
-
- fs.chmodSync = chmodFixSync(fs.chmodSync)
- fs.fchmodSync = chmodFixSync(fs.fchmodSync)
- fs.lchmodSync = chmodFixSync(fs.lchmodSync)
-
- fs.stat = statFix(fs.stat)
- fs.fstat = statFix(fs.fstat)
- fs.lstat = statFix(fs.lstat)
-
- fs.statSync = statFixSync(fs.statSync)
- fs.fstatSync = statFixSync(fs.fstatSync)
- fs.lstatSync = statFixSync(fs.lstatSync)
-
- // if lchmod/lchown do not exist, then make them no-ops
- if (fs.chmod && !fs.lchmod) {
- fs.lchmod = function (path, mode, cb) {
- if (cb) process.nextTick(cb)
- }
- fs.lchmodSync = function () {}
- }
- if (fs.chown && !fs.lchown) {
- fs.lchown = function (path, uid, gid, cb) {
- if (cb) process.nextTick(cb)
- }
- fs.lchownSync = function () {}
- }
-
- // on Windows, A/V software can lock the directory, causing this
- // to fail with an EACCES or EPERM if the directory contains newly
- // created files. Try again on failure, for up to 60 seconds.
-
- // Set the timeout this long because some Windows Anti-Virus, such as Parity
- // bit9, may lock files for up to a minute, causing npm package install
- // failures. Also, take care to yield the scheduler. Windows scheduling gives
- // CPU to a busy looping process, which can cause the program causing the lock
- // contention to be starved of CPU by node, so the contention doesn't resolve.
- if (platform === "win32") {
- fs.rename = typeof fs.rename !== 'function' ? fs.rename
- : (function (fs$rename) {
- function rename (from, to, cb) {
- var start = Date.now()
- var backoff = 0;
- fs$rename(from, to, function CB (er) {
- if (er
- && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY")
- && Date.now() - start < 60000) {
- setTimeout(function() {
- fs.stat(to, function (stater, st) {
- if (stater && stater.code === "ENOENT")
- fs$rename(from, to, CB);
- else
- cb(er)
- })
- }, backoff)
- if (backoff < 100)
- backoff += 10;
- return;
- }
- if (cb) cb(er)
- })
- }
- if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename)
- return rename
- })(fs.rename)
- }
-
- // if read() returns EAGAIN, then just try it again.
- fs.read = typeof fs.read !== 'function' ? fs.read
- : (function (fs$read) {
- function read (fd, buffer, offset, length, position, callback_) {
- var callback
- if (callback_ && typeof callback_ === 'function') {
- var eagCounter = 0
- callback = function (er, _, __) {
- if (er && er.code === 'EAGAIN' && eagCounter < 10) {
- eagCounter ++
- return fs$read.call(fs, fd, buffer, offset, length, position, callback)
- }
- callback_.apply(this, arguments)
- }
- }
- return fs$read.call(fs, fd, buffer, offset, length, position, callback)
- }
-
- // This ensures `util.promisify` works as it does for native `fs.read`.
- if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read)
- return read
- })(fs.read)
-
- fs.readSync = typeof fs.readSync !== 'function' ? fs.readSync
- : (function (fs$readSync) { return function (fd, buffer, offset, length, position) {
- var eagCounter = 0
- while (true) {
- try {
- return fs$readSync.call(fs, fd, buffer, offset, length, position)
- } catch (er) {
- if (er.code === 'EAGAIN' && eagCounter < 10) {
- eagCounter ++
- continue
- }
- throw er
- }
- }
- }})(fs.readSync)
-
- function patchLchmod (fs) {
- fs.lchmod = function (path, mode, callback) {
- fs.open( path
- , constants.O_WRONLY | constants.O_SYMLINK
- , mode
- , function (err, fd) {
- if (err) {
- if (callback) callback(err)
- return
- }
- // prefer to return the chmod error, if one occurs,
- // but still try to close, and report closing errors if they occur.
- fs.fchmod(fd, mode, function (err) {
- fs.close(fd, function(err2) {
- if (callback) callback(err || err2)
- })
- })
- })
- }
-
- fs.lchmodSync = function (path, mode) {
- var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)
-
- // prefer to return the chmod error, if one occurs,
- // but still try to close, and report closing errors if they occur.
- var threw = true
- var ret
- try {
- ret = fs.fchmodSync(fd, mode)
- threw = false
- } finally {
- if (threw) {
- try {
- fs.closeSync(fd)
- } catch (er) {}
- } else {
- fs.closeSync(fd)
- }
- }
- return ret
- }
- }
-
- function patchLutimes (fs) {
- if (constants.hasOwnProperty("O_SYMLINK") && fs.futimes) {
- fs.lutimes = function (path, at, mt, cb) {
- fs.open(path, constants.O_SYMLINK, function (er, fd) {
- if (er) {
- if (cb) cb(er)
- return
- }
- fs.futimes(fd, at, mt, function (er) {
- fs.close(fd, function (er2) {
- if (cb) cb(er || er2)
- })
- })
- })
- }
-
- fs.lutimesSync = function (path, at, mt) {
- var fd = fs.openSync(path, constants.O_SYMLINK)
- var ret
- var threw = true
- try {
- ret = fs.futimesSync(fd, at, mt)
- threw = false
- } finally {
- if (threw) {
- try {
- fs.closeSync(fd)
- } catch (er) {}
- } else {
- fs.closeSync(fd)
- }
- }
- return ret
- }
-
- } else if (fs.futimes) {
- fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }
- fs.lutimesSync = function () {}
- }
- }
-
- function chmodFix (orig) {
- if (!orig) return orig
- return function (target, mode, cb) {
- return orig.call(fs, target, mode, function (er) {
- if (chownErOk(er)) er = null
- if (cb) cb.apply(this, arguments)
- })
- }
- }
-
- function chmodFixSync (orig) {
- if (!orig) return orig
- return function (target, mode) {
- try {
- return orig.call(fs, target, mode)
- } catch (er) {
- if (!chownErOk(er)) throw er
- }
- }
- }
-
-
- function chownFix (orig) {
- if (!orig) return orig
- return function (target, uid, gid, cb) {
- return orig.call(fs, target, uid, gid, function (er) {
- if (chownErOk(er)) er = null
- if (cb) cb.apply(this, arguments)
- })
- }
- }
-
- function chownFixSync (orig) {
- if (!orig) return orig
- return function (target, uid, gid) {
- try {
- return orig.call(fs, target, uid, gid)
- } catch (er) {
- if (!chownErOk(er)) throw er
- }
- }
- }
-
- function statFix (orig) {
- if (!orig) return orig
- // Older versions of Node erroneously returned signed integers for
- // uid + gid.
- return function (target, options, cb) {
- if (typeof options === 'function') {
- cb = options
- options = null
- }
- function callback (er, stats) {
- if (stats) {
- if (stats.uid < 0) stats.uid += 0x100000000
- if (stats.gid < 0) stats.gid += 0x100000000
- }
- if (cb) cb.apply(this, arguments)
- }
- return options ? orig.call(fs, target, options, callback)
- : orig.call(fs, target, callback)
- }
- }
-
- function statFixSync (orig) {
- if (!orig) return orig
- // Older versions of Node erroneously returned signed integers for
- // uid + gid.
- return function (target, options) {
- var stats = options ? orig.call(fs, target, options)
- : orig.call(fs, target)
- if (stats) {
- if (stats.uid < 0) stats.uid += 0x100000000
- if (stats.gid < 0) stats.gid += 0x100000000
- }
- return stats;
- }
- }
-
- // ENOSYS means that the fs doesn't support the op. Just ignore
- // that, because it doesn't matter.
- //
- // if there's no getuid, or if getuid() is something other
- // than 0, and the error is EINVAL or EPERM, then just ignore
- // it.
- //
- // This specific case is a silent failure in cp, install, tar,
- // and most other unix tools that manage permissions.
- //
- // When running as root, or if other types of errors are
- // encountered, then it's strict.
- function chownErOk (er) {
- if (!er)
- return true
-
- if (er.code === "ENOSYS")
- return true
-
- var nonroot = !process.getuid || process.getuid() !== 0
- if (nonroot) {
- if (er.code === "EINVAL" || er.code === "EPERM")
- return true
- }
-
- return false
- }
-}
diff --git a/includes/search/node_modules/has-flag/index.d.ts b/includes/search/node_modules/has-flag/index.d.ts
deleted file mode 100644
index a0a48c8..0000000
--- a/includes/search/node_modules/has-flag/index.d.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
-Check if [`argv`](https://nodejs.org/docs/latest/api/process.html#process_process_argv) has a specific flag.
-
-@param flag - CLI flag to look for. The `--` prefix is optional.
-@param argv - CLI arguments. Default: `process.argv`.
-@returns Whether the flag exists.
-
-@example
-```
-// $ ts-node foo.ts -f --unicorn --foo=bar -- --rainbow
-
-// foo.ts
-import hasFlag = require('has-flag');
-
-hasFlag('unicorn');
-//=> true
-
-hasFlag('--unicorn');
-//=> true
-
-hasFlag('f');
-//=> true
-
-hasFlag('-f');
-//=> true
-
-hasFlag('foo=bar');
-//=> true
-
-hasFlag('foo');
-//=> false
-
-hasFlag('rainbow');
-//=> false
-```
-*/
-declare function hasFlag(flag: string, argv?: string[]): boolean;
-
-export = hasFlag;
diff --git a/includes/search/node_modules/has-flag/index.js b/includes/search/node_modules/has-flag/index.js
deleted file mode 100644
index b6f80b1..0000000
--- a/includes/search/node_modules/has-flag/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-
-module.exports = (flag, argv = process.argv) => {
- const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
- const position = argv.indexOf(prefix + flag);
- const terminatorPosition = argv.indexOf('--');
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
-};
diff --git a/includes/search/node_modules/has-flag/license b/includes/search/node_modules/has-flag/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/has-flag/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/has-flag/package.json b/includes/search/node_modules/has-flag/package.json
deleted file mode 100644
index a9cba4b..0000000
--- a/includes/search/node_modules/has-flag/package.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "name": "has-flag",
- "version": "4.0.0",
- "description": "Check if argv has a specific flag",
- "license": "MIT",
- "repository": "sindresorhus/has-flag",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "has",
- "check",
- "detect",
- "contains",
- "find",
- "flag",
- "cli",
- "command-line",
- "argv",
- "process",
- "arg",
- "args",
- "argument",
- "arguments",
- "getopt",
- "minimist",
- "optimist"
- ],
- "devDependencies": {
- "ava": "^1.4.1",
- "tsd": "^0.7.2",
- "xo": "^0.24.0"
- }
-}
diff --git a/includes/search/node_modules/has-flag/readme.md b/includes/search/node_modules/has-flag/readme.md
deleted file mode 100644
index 3f72dff..0000000
--- a/includes/search/node_modules/has-flag/readme.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# has-flag [![Build Status](https://travis-ci.org/sindresorhus/has-flag.svg?branch=master)](https://travis-ci.org/sindresorhus/has-flag)
-
-> Check if [`argv`](https://nodejs.org/docs/latest/api/process.html#process_process_argv) has a specific flag
-
-Correctly stops looking after an `--` argument terminator.
-
----
-
-<div align="center">
- <b>
- <a href="https://tidelift.com/subscription/pkg/npm-has-flag?utm_source=npm-has-flag&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
- </b>
- <br>
- <sub>
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
- </sub>
-</div>
-
----
-
-
-## Install
-
-```
-$ npm install has-flag
-```
-
-
-## Usage
-
-```js
-// foo.js
-const hasFlag = require('has-flag');
-
-hasFlag('unicorn');
-//=> true
-
-hasFlag('--unicorn');
-//=> true
-
-hasFlag('f');
-//=> true
-
-hasFlag('-f');
-//=> true
-
-hasFlag('foo=bar');
-//=> true
-
-hasFlag('foo');
-//=> false
-
-hasFlag('rainbow');
-//=> false
-```
-
-```
-$ node foo.js -f --unicorn --foo=bar -- --rainbow
-```
-
-
-## API
-
-### hasFlag(flag, [argv])
-
-Returns a boolean for whether the flag exists.
-
-#### flag
-
-Type: `string`
-
-CLI flag to look for. The `--` prefix is optional.
-
-#### argv
-
-Type: `string[]`<br>
-Default: `process.argv`
-
-CLI arguments.
-
-
-## Security
-
-To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/includes/search/node_modules/has/LICENSE-MIT b/includes/search/node_modules/has/LICENSE-MIT
deleted file mode 100644
index ae7014d..0000000
--- a/includes/search/node_modules/has/LICENSE-MIT
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2013 Thiago de Arruda
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/has/README.md b/includes/search/node_modules/has/README.md
deleted file mode 100644
index 635e3a4..0000000
--- a/includes/search/node_modules/has/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# has
-
-> Object.prototype.hasOwnProperty.call shortcut
-
-## Installation
-
-```sh
-npm install --save has
-```
-
-## Usage
-
-```js
-var has = require('has');
-
-has({}, 'hasOwnProperty'); // false
-has(Object.prototype, 'hasOwnProperty'); // true
-```
diff --git a/includes/search/node_modules/has/package.json b/includes/search/node_modules/has/package.json
deleted file mode 100644
index 7c4592f..0000000
--- a/includes/search/node_modules/has/package.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "name": "has",
- "description": "Object.prototype.hasOwnProperty.call shortcut",
- "version": "1.0.3",
- "homepage": "https://github.com/tarruda/has",
- "author": {
- "name": "Thiago de Arruda",
- "email": "tpadilha84@gmail.com"
- },
- "contributors": [
- {
- "name": "Jordan Harband",
- "email": "ljharb@gmail.com",
- "url": "http://ljharb.codes"
- }
- ],
- "repository": {
- "type": "git",
- "url": "git://github.com/tarruda/has.git"
- },
- "bugs": {
- "url": "https://github.com/tarruda/has/issues"
- },
- "license": "MIT",
- "licenses": [
- {
- "type": "MIT",
- "url": "https://github.com/tarruda/has/blob/master/LICENSE-MIT"
- }
- ],
- "main": "./src",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "devDependencies": {
- "@ljharb/eslint-config": "^12.2.1",
- "eslint": "^4.19.1",
- "tape": "^4.9.0"
- },
- "engines": {
- "node": ">= 0.4.0"
- },
- "scripts": {
- "lint": "eslint .",
- "pretest": "npm run lint",
- "test": "tape test"
- }
-}
diff --git a/includes/search/node_modules/has/src/index.js b/includes/search/node_modules/has/src/index.js
deleted file mode 100644
index dd92dd9..0000000
--- a/includes/search/node_modules/has/src/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-'use strict';
-
-var bind = require('function-bind');
-
-module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
diff --git a/includes/search/node_modules/has/test/index.js b/includes/search/node_modules/has/test/index.js
deleted file mode 100644
index 43d480b..0000000
--- a/includes/search/node_modules/has/test/index.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var has = require('../');
-
-test('has', function (t) {
- t.equal(has({}, 'hasOwnProperty'), false, 'object literal does not have own property "hasOwnProperty"');
- t.equal(has(Object.prototype, 'hasOwnProperty'), true, 'Object.prototype has own property "hasOwnProperty"');
- t.end();
-});
diff --git a/includes/search/node_modules/https-proxy-agent/README.md b/includes/search/node_modules/https-proxy-agent/README.md
deleted file mode 100644
index 328656a..0000000
--- a/includes/search/node_modules/https-proxy-agent/README.md
+++ /dev/null
@@ -1,137 +0,0 @@
-https-proxy-agent
-================
-### An HTTP(s) proxy `http.Agent` implementation for HTTPS
-[![Build Status](https://github.com/TooTallNate/node-https-proxy-agent/workflows/Node%20CI/badge.svg)](https://github.com/TooTallNate/node-https-proxy-agent/actions?workflow=Node+CI)
-
-This module provides an `http.Agent` implementation that connects to a specified
-HTTP or HTTPS proxy server, and can be used with the built-in `https` module.
-
-Specifically, this `Agent` implementation connects to an intermediary "proxy"
-server and issues the [CONNECT HTTP method][CONNECT], which tells the proxy to
-open a direct TCP connection to the destination server.
-
-Since this agent implements the CONNECT HTTP method, it also works with other
-protocols that use this method when connecting over proxies (i.e. WebSockets).
-See the "Examples" section below for more.
-
-
-Installation
-------------
-
-Install with `npm`:
-
-``` bash
-$ npm install https-proxy-agent
-```
-
-
-Examples
---------
-
-#### `https` module example
-
-``` js
-var url = require('url');
-var https = require('https');
-var HttpsProxyAgent = require('https-proxy-agent');
-
-// HTTP/HTTPS proxy to connect to
-var proxy = process.env.http_proxy || 'http://168.63.76.32:3128';
-console.log('using proxy server %j', proxy);
-
-// HTTPS endpoint for the proxy to connect to
-var endpoint = process.argv[2] || 'https://graph.facebook.com/tootallnate';
-console.log('attempting to GET %j', endpoint);
-var options = url.parse(endpoint);
-
-// create an instance of the `HttpsProxyAgent` class with the proxy server information
-var agent = new HttpsProxyAgent(proxy);
-options.agent = agent;
-
-https.get(options, function (res) {
- console.log('"response" event!', res.headers);
- res.pipe(process.stdout);
-});
-```
-
-#### `ws` WebSocket connection example
-
-``` js
-var url = require('url');
-var WebSocket = require('ws');
-var HttpsProxyAgent = require('https-proxy-agent');
-
-// HTTP/HTTPS proxy to connect to
-var proxy = process.env.http_proxy || 'http://168.63.76.32:3128';
-console.log('using proxy server %j', proxy);
-
-// WebSocket endpoint for the proxy to connect to
-var endpoint = process.argv[2] || 'ws://echo.websocket.org';
-var parsed = url.parse(endpoint);
-console.log('attempting to connect to WebSocket %j', endpoint);
-
-// create an instance of the `HttpsProxyAgent` class with the proxy server information
-var options = url.parse(proxy);
-
-var agent = new HttpsProxyAgent(options);
-
-// finally, initiate the WebSocket connection
-var socket = new WebSocket(endpoint, { agent: agent });
-
-socket.on('open', function () {
- console.log('"open" event!');
- socket.send('hello world');
-});
-
-socket.on('message', function (data, flags) {
- console.log('"message" event! %j %j', data, flags);
- socket.close();
-});
-```
-
-API
----
-
-### new HttpsProxyAgent(Object options)
-
-The `HttpsProxyAgent` class implements an `http.Agent` subclass that connects
-to the specified "HTTP(s) proxy server" in order to proxy HTTPS and/or WebSocket
-requests. This is achieved by using the [HTTP `CONNECT` method][CONNECT].
-
-The `options` argument may either be a string URI of the proxy server to use, or an
-"options" object with more specific properties:
-
- * `host` - String - Proxy host to connect to (may use `hostname` as well). Required.
- * `port` - Number - Proxy port to connect to. Required.
- * `protocol` - String - If `https:`, then use TLS to connect to the proxy.
- * `headers` - Object - Additional HTTP headers to be sent on the HTTP CONNECT method.
- * Any other options given are passed to the `net.connect()`/`tls.connect()` functions.
-
-
-License
--------
-
-(The MIT License)
-
-Copyright (c) 2013 Nathan Rajlich &lt;nathan@tootallnate.net&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-[CONNECT]: http://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_Tunneling
diff --git a/includes/search/node_modules/https-proxy-agent/dist/agent.d.ts b/includes/search/node_modules/https-proxy-agent/dist/agent.d.ts
deleted file mode 100644
index 4f1c636..0000000
--- a/includes/search/node_modules/https-proxy-agent/dist/agent.d.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-/// <reference types="node" />
-import net from 'net';
-import { Agent, ClientRequest, RequestOptions } from 'agent-base';
-import { HttpsProxyAgentOptions } from '.';
-/**
- * The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to
- * the specified "HTTP(s) proxy server" in order to proxy HTTPS requests.
- *
- * Outgoing HTTP requests are first tunneled through the proxy server using the
- * `CONNECT` HTTP request method to establish a connection to the proxy server,
- * and then the proxy server connects to the destination target and issues the
- * HTTP request from the proxy server.
- *
- * `https:` requests have their socket connection upgraded to TLS once
- * the connection to the proxy server has been established.
- *
- * @api public
- */
-export default class HttpsProxyAgent extends Agent {
- private secureProxy;
- private proxy;
- constructor(_opts: string | HttpsProxyAgentOptions);
- /**
- * Called when the node-core HTTP client library is creating a
- * new HTTP request.
- *
- * @api protected
- */
- callback(req: ClientRequest, opts: RequestOptions): Promise<net.Socket>;
-}
diff --git a/includes/search/node_modules/https-proxy-agent/dist/agent.js b/includes/search/node_modules/https-proxy-agent/dist/agent.js
deleted file mode 100644
index 75d1136..0000000
--- a/includes/search/node_modules/https-proxy-agent/dist/agent.js
+++ /dev/null
@@ -1,177 +0,0 @@
-"use strict";
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const net_1 = __importDefault(require("net"));
-const tls_1 = __importDefault(require("tls"));
-const url_1 = __importDefault(require("url"));
-const assert_1 = __importDefault(require("assert"));
-const debug_1 = __importDefault(require("debug"));
-const agent_base_1 = require("agent-base");
-const parse_proxy_response_1 = __importDefault(require("./parse-proxy-response"));
-const debug = debug_1.default('https-proxy-agent:agent');
-/**
- * The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to
- * the specified "HTTP(s) proxy server" in order to proxy HTTPS requests.
- *
- * Outgoing HTTP requests are first tunneled through the proxy server using the
- * `CONNECT` HTTP request method to establish a connection to the proxy server,
- * and then the proxy server connects to the destination target and issues the
- * HTTP request from the proxy server.
- *
- * `https:` requests have their socket connection upgraded to TLS once
- * the connection to the proxy server has been established.
- *
- * @api public
- */
-class HttpsProxyAgent extends agent_base_1.Agent {
- constructor(_opts) {
- let opts;
- if (typeof _opts === 'string') {
- opts = url_1.default.parse(_opts);
- }
- else {
- opts = _opts;
- }
- if (!opts) {
- throw new Error('an HTTP(S) proxy server `host` and `port` must be specified!');
- }
- debug('creating new HttpsProxyAgent instance: %o', opts);
- super(opts);
- const proxy = Object.assign({}, opts);
- // If `true`, then connect to the proxy server over TLS.
- // Defaults to `false`.
- this.secureProxy = opts.secureProxy || isHTTPS(proxy.protocol);
- // Prefer `hostname` over `host`, and set the `port` if needed.
- proxy.host = proxy.hostname || proxy.host;
- if (typeof proxy.port === 'string') {
- proxy.port = parseInt(proxy.port, 10);
- }
- if (!proxy.port && proxy.host) {
- proxy.port = this.secureProxy ? 443 : 80;
- }
- // ALPN is supported by Node.js >= v5.
- // attempt to negotiate http/1.1 for proxy servers that support http/2
- if (this.secureProxy && !('ALPNProtocols' in proxy)) {
- proxy.ALPNProtocols = ['http 1.1'];
- }
- if (proxy.host && proxy.path) {
- // If both a `host` and `path` are specified then it's most likely
- // the result of a `url.parse()` call... we need to remove the
- // `path` portion so that `net.connect()` doesn't attempt to open
- // that as a Unix socket file.
- delete proxy.path;
- delete proxy.pathname;
- }
- this.proxy = proxy;
- }
- /**
- * Called when the node-core HTTP client library is creating a
- * new HTTP request.
- *
- * @api protected
- */
- callback(req, opts) {
- return __awaiter(this, void 0, void 0, function* () {
- const { proxy, secureProxy } = this;
- // Create a socket connection to the proxy server.
- let socket;
- if (secureProxy) {
- debug('Creating `tls.Socket`: %o', proxy);
- socket = tls_1.default.connect(proxy);
- }
- else {
- debug('Creating `net.Socket`: %o', proxy);
- socket = net_1.default.connect(proxy);
- }
- const headers = Object.assign({}, proxy.headers);
- const hostname = `${opts.host}:${opts.port}`;
- let payload = `CONNECT ${hostname} HTTP/1.1\r\n`;
- // Inject the `Proxy-Authorization` header if necessary.
- if (proxy.auth) {
- headers['Proxy-Authorization'] = `Basic ${Buffer.from(proxy.auth).toString('base64')}`;
- }
- // The `Host` header should only include the port
- // number when it is not the default port.
- let { host, port, secureEndpoint } = opts;
- if (!isDefaultPort(port, secureEndpoint)) {
- host += `:${port}`;
- }
- headers.Host = host;
- headers.Connection = 'close';
- for (const name of Object.keys(headers)) {
- payload += `${name}: ${headers[name]}\r\n`;
- }
- const proxyResponsePromise = parse_proxy_response_1.default(socket);
- socket.write(`${payload}\r\n`);
- const { statusCode, buffered } = yield proxyResponsePromise;
- if (statusCode === 200) {
- req.once('socket', resume);
- if (opts.secureEndpoint) {
- // The proxy is connecting to a TLS server, so upgrade
- // this socket connection to a TLS connection.
- debug('Upgrading socket connection to TLS');
- const servername = opts.servername || opts.host;
- return tls_1.default.connect(Object.assign(Object.assign({}, omit(opts, 'host', 'hostname', 'path', 'port')), { socket,
- servername }));
- }
- return socket;
- }
- // Some other status code that's not 200... need to re-play the HTTP
- // header "data" events onto the socket once the HTTP machinery is
- // attached so that the node core `http` can parse and handle the
- // error status code.
- // Close the original socket, and a new "fake" socket is returned
- // instead, so that the proxy doesn't get the HTTP request
- // written to it (which may contain `Authorization` headers or other
- // sensitive data).
- //
- // See: https://hackerone.com/reports/541502
- socket.destroy();
- const fakeSocket = new net_1.default.Socket({ writable: false });
- fakeSocket.readable = true;
- // Need to wait for the "socket" event to re-play the "data" events.
- req.once('socket', (s) => {
- debug('replaying proxy buffer for failed request');
- assert_1.default(s.listenerCount('data') > 0);
- // Replay the "buffered" Buffer onto the fake `socket`, since at
- // this point the HTTP module machinery has been hooked up for
- // the user.
- s.push(buffered);
- s.push(null);
- });
- return fakeSocket;
- });
- }
-}
-exports.default = HttpsProxyAgent;
-function resume(socket) {
- socket.resume();
-}
-function isDefaultPort(port, secure) {
- return Boolean((!secure && port === 80) || (secure && port === 443));
-}
-function isHTTPS(protocol) {
- return typeof protocol === 'string' ? /^https:?$/i.test(protocol) : false;
-}
-function omit(obj, ...keys) {
- const ret = {};
- let key;
- for (key in obj) {
- if (!keys.includes(key)) {
- ret[key] = obj[key];
- }
- }
- return ret;
-}
-//# sourceMappingURL=agent.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/https-proxy-agent/dist/agent.js.map b/includes/search/node_modules/https-proxy-agent/dist/agent.js.map
deleted file mode 100644
index 0af6c17..0000000
--- a/includes/search/node_modules/https-proxy-agent/dist/agent.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/includes/search/node_modules/https-proxy-agent/dist/index.d.ts b/includes/search/node_modules/https-proxy-agent/dist/index.d.ts
deleted file mode 100644
index 0d60062..0000000
--- a/includes/search/node_modules/https-proxy-agent/dist/index.d.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/// <reference types="node" />
-import net from 'net';
-import tls from 'tls';
-import { Url } from 'url';
-import { AgentOptions } from 'agent-base';
-import { OutgoingHttpHeaders } from 'http';
-import _HttpsProxyAgent from './agent';
-declare function createHttpsProxyAgent(opts: string | createHttpsProxyAgent.HttpsProxyAgentOptions): _HttpsProxyAgent;
-declare namespace createHttpsProxyAgent {
- interface BaseHttpsProxyAgentOptions {
- headers?: OutgoingHttpHeaders;
- secureProxy?: boolean;
- host?: string | null;
- path?: string | null;
- port?: string | number | null;
- }
- export interface HttpsProxyAgentOptions extends AgentOptions, BaseHttpsProxyAgentOptions, Partial<Omit<Url & net.NetConnectOpts & tls.ConnectionOptions, keyof BaseHttpsProxyAgentOptions>> {
- }
- export type HttpsProxyAgent = _HttpsProxyAgent;
- export const HttpsProxyAgent: typeof _HttpsProxyAgent;
- export {};
-}
-export = createHttpsProxyAgent;
diff --git a/includes/search/node_modules/https-proxy-agent/dist/index.js b/includes/search/node_modules/https-proxy-agent/dist/index.js
deleted file mode 100644
index b03e763..0000000
--- a/includes/search/node_modules/https-proxy-agent/dist/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-const agent_1 = __importDefault(require("./agent"));
-function createHttpsProxyAgent(opts) {
- return new agent_1.default(opts);
-}
-(function (createHttpsProxyAgent) {
- createHttpsProxyAgent.HttpsProxyAgent = agent_1.default;
- createHttpsProxyAgent.prototype = agent_1.default.prototype;
-})(createHttpsProxyAgent || (createHttpsProxyAgent = {}));
-module.exports = createHttpsProxyAgent;
-//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/https-proxy-agent/dist/index.js.map b/includes/search/node_modules/https-proxy-agent/dist/index.js.map
deleted file mode 100644
index f3ce559..0000000
--- a/includes/search/node_modules/https-proxy-agent/dist/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAKA,oDAAuC;AAEvC,SAAS,qBAAqB,CAC7B,IAA2D;IAE3D,OAAO,IAAI,eAAgB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,WAAU,qBAAqB;IAoBjB,qCAAe,GAAG,eAAgB,CAAC;IAEhD,qBAAqB,CAAC,SAAS,GAAG,eAAgB,CAAC,SAAS,CAAC;AAC9D,CAAC,EAvBS,qBAAqB,KAArB,qBAAqB,QAuB9B;AAED,iBAAS,qBAAqB,CAAC"} \ No newline at end of file
diff --git a/includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts b/includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts
deleted file mode 100644
index 7565674..0000000
--- a/includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-/// <reference types="node" />
-import { Readable } from 'stream';
-export interface ProxyResponse {
- statusCode: number;
- buffered: Buffer;
-}
-export default function parseProxyResponse(socket: Readable): Promise<ProxyResponse>;
diff --git a/includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.js b/includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.js
deleted file mode 100644
index aa5ce3c..0000000
--- a/includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.js
+++ /dev/null
@@ -1,66 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const debug_1 = __importDefault(require("debug"));
-const debug = debug_1.default('https-proxy-agent:parse-proxy-response');
-function parseProxyResponse(socket) {
- return new Promise((resolve, reject) => {
- // we need to buffer any HTTP traffic that happens with the proxy before we get
- // the CONNECT response, so that if the response is anything other than an "200"
- // response code, then we can re-play the "data" events on the socket once the
- // HTTP parser is hooked up...
- let buffersLength = 0;
- const buffers = [];
- function read() {
- const b = socket.read();
- if (b)
- ondata(b);
- else
- socket.once('readable', read);
- }
- function cleanup() {
- socket.removeListener('end', onend);
- socket.removeListener('error', onerror);
- socket.removeListener('close', onclose);
- socket.removeListener('readable', read);
- }
- function onclose(err) {
- debug('onclose had error %o', err);
- }
- function onend() {
- debug('onend');
- }
- function onerror(err) {
- cleanup();
- debug('onerror %o', err);
- reject(err);
- }
- function ondata(b) {
- buffers.push(b);
- buffersLength += b.length;
- const buffered = Buffer.concat(buffers, buffersLength);
- const endOfHeaders = buffered.indexOf('\r\n\r\n');
- if (endOfHeaders === -1) {
- // keep buffering
- debug('have not received end of HTTP headers yet...');
- read();
- return;
- }
- const firstLine = buffered.toString('ascii', 0, buffered.indexOf('\r\n'));
- const statusCode = +firstLine.split(' ')[1];
- debug('got proxy server response: %o', firstLine);
- resolve({
- statusCode,
- buffered
- });
- }
- socket.on('error', onerror);
- socket.on('close', onclose);
- socket.on('end', onend);
- read();
- });
-}
-exports.default = parseProxyResponse;
-//# sourceMappingURL=parse-proxy-response.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map b/includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map
deleted file mode 100644
index bacdb84..0000000
--- a/includes/search/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"parse-proxy-response.js","sourceRoot":"","sources":["../src/parse-proxy-response.ts"],"names":[],"mappings":";;;;;AAAA,kDAAgC;AAGhC,MAAM,KAAK,GAAG,eAAW,CAAC,wCAAwC,CAAC,CAAC;AAOpE,SAAwB,kBAAkB,CACzC,MAAgB;IAEhB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,+EAA+E;QAC/E,gFAAgF;QAChF,8EAA8E;QAC9E,8BAA8B;QAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,SAAS,IAAI;YACZ,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;;gBACZ,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,SAAS,OAAO;YACf,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,SAAS,OAAO,CAAC,GAAW;YAC3B,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,SAAS,KAAK;YACb,KAAK,CAAC,OAAO,CAAC,CAAC;QAChB,CAAC;QAED,SAAS,OAAO,CAAC,GAAU;YAC1B,OAAO,EAAE,CAAC;YACV,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;QAED,SAAS,MAAM,CAAC,CAAS;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC;YAE1B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAElD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;gBACxB,iBAAiB;gBACjB,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBACtD,IAAI,EAAE,CAAC;gBACP,OAAO;aACP;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAClC,OAAO,EACP,CAAC,EACD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CACxB,CAAC;YACF,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;YAClD,OAAO,CAAC;gBACP,UAAU;gBACV,QAAQ;aACR,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExB,IAAI,EAAE,CAAC;IACR,CAAC,CAAC,CAAC;AACJ,CAAC;AAvED,qCAuEC"} \ No newline at end of file
diff --git a/includes/search/node_modules/https-proxy-agent/package.json b/includes/search/node_modules/https-proxy-agent/package.json
deleted file mode 100644
index fb2aba1..0000000
--- a/includes/search/node_modules/https-proxy-agent/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "https-proxy-agent",
- "version": "5.0.1",
- "description": "An HTTP(s) proxy `http.Agent` implementation for HTTPS",
- "main": "dist/index",
- "types": "dist/index",
- "files": [
- "dist"
- ],
- "scripts": {
- "prebuild": "rimraf dist",
- "build": "tsc",
- "test": "mocha --reporter spec",
- "test-lint": "eslint src --ext .js,.ts",
- "prepublishOnly": "npm run build"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/node-https-proxy-agent.git"
- },
- "keywords": [
- "https",
- "proxy",
- "endpoint",
- "agent"
- ],
- "author": "Nathan Rajlich <nathan@tootallnate.net> (http://n8.io/)",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/TooTallNate/node-https-proxy-agent/issues"
- },
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "devDependencies": {
- "@types/debug": "4",
- "@types/node": "^12.12.11",
- "@typescript-eslint/eslint-plugin": "1.6.0",
- "@typescript-eslint/parser": "1.1.0",
- "eslint": "5.16.0",
- "eslint-config-airbnb": "17.1.0",
- "eslint-config-prettier": "4.1.0",
- "eslint-import-resolver-typescript": "1.1.1",
- "eslint-plugin-import": "2.16.0",
- "eslint-plugin-jsx-a11y": "6.2.1",
- "eslint-plugin-react": "7.12.4",
- "mocha": "^6.2.2",
- "proxy": "1",
- "rimraf": "^3.0.0",
- "typescript": "^3.5.3"
- },
- "engines": {
- "node": ">= 6"
- }
-}
diff --git a/includes/search/node_modules/ieee754/LICENSE b/includes/search/node_modules/ieee754/LICENSE
deleted file mode 100644
index 5aac82c..0000000
--- a/includes/search/node_modules/ieee754/LICENSE
+++ /dev/null
@@ -1,11 +0,0 @@
-Copyright 2008 Fair Oaks Labs, Inc.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/includes/search/node_modules/ieee754/README.md b/includes/search/node_modules/ieee754/README.md
deleted file mode 100644
index cb7527b..0000000
--- a/includes/search/node_modules/ieee754/README.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# ieee754 [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[travis-image]: https://img.shields.io/travis/feross/ieee754/master.svg
-[travis-url]: https://travis-ci.org/feross/ieee754
-[npm-image]: https://img.shields.io/npm/v/ieee754.svg
-[npm-url]: https://npmjs.org/package/ieee754
-[downloads-image]: https://img.shields.io/npm/dm/ieee754.svg
-[downloads-url]: https://npmjs.org/package/ieee754
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-[![saucelabs][saucelabs-image]][saucelabs-url]
-
-[saucelabs-image]: https://saucelabs.com/browser-matrix/ieee754.svg
-[saucelabs-url]: https://saucelabs.com/u/ieee754
-
-### Read/write IEEE754 floating point numbers from/to a Buffer or array-like object.
-
-## install
-
-```
-npm install ieee754
-```
-
-## methods
-
-`var ieee754 = require('ieee754')`
-
-The `ieee754` object has the following functions:
-
-```
-ieee754.read = function (buffer, offset, isLE, mLen, nBytes)
-ieee754.write = function (buffer, value, offset, isLE, mLen, nBytes)
-```
-
-The arguments mean the following:
-
-- buffer = the buffer
-- offset = offset into the buffer
-- value = value to set (only for `write`)
-- isLe = is little endian?
-- mLen = mantissa length
-- nBytes = number of bytes
-
-## what is ieee754?
-
-The IEEE Standard for Floating-Point Arithmetic (IEEE 754) is a technical standard for floating-point computation. [Read more](http://en.wikipedia.org/wiki/IEEE_floating_point).
-
-## license
-
-BSD 3 Clause. Copyright (c) 2008, Fair Oaks Labs, Inc.
diff --git a/includes/search/node_modules/ieee754/index.d.ts b/includes/search/node_modules/ieee754/index.d.ts
deleted file mode 100644
index f1e4354..0000000
--- a/includes/search/node_modules/ieee754/index.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-declare namespace ieee754 {
- export function read(
- buffer: Uint8Array, offset: number, isLE: boolean, mLen: number,
- nBytes: number): number;
- export function write(
- buffer: Uint8Array, value: number, offset: number, isLE: boolean,
- mLen: number, nBytes: number): void;
- }
-
- export = ieee754; \ No newline at end of file
diff --git a/includes/search/node_modules/ieee754/index.js b/includes/search/node_modules/ieee754/index.js
deleted file mode 100644
index 81d26c3..0000000
--- a/includes/search/node_modules/ieee754/index.js
+++ /dev/null
@@ -1,85 +0,0 @@
-/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
-exports.read = function (buffer, offset, isLE, mLen, nBytes) {
- var e, m
- var eLen = (nBytes * 8) - mLen - 1
- var eMax = (1 << eLen) - 1
- var eBias = eMax >> 1
- var nBits = -7
- var i = isLE ? (nBytes - 1) : 0
- var d = isLE ? -1 : 1
- var s = buffer[offset + i]
-
- i += d
-
- e = s & ((1 << (-nBits)) - 1)
- s >>= (-nBits)
- nBits += eLen
- for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
-
- m = e & ((1 << (-nBits)) - 1)
- e >>= (-nBits)
- nBits += mLen
- for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
-
- if (e === 0) {
- e = 1 - eBias
- } else if (e === eMax) {
- return m ? NaN : ((s ? -1 : 1) * Infinity)
- } else {
- m = m + Math.pow(2, mLen)
- e = e - eBias
- }
- return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
-}
-
-exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
- var e, m, c
- var eLen = (nBytes * 8) - mLen - 1
- var eMax = (1 << eLen) - 1
- var eBias = eMax >> 1
- var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
- var i = isLE ? 0 : (nBytes - 1)
- var d = isLE ? 1 : -1
- var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
-
- value = Math.abs(value)
-
- if (isNaN(value) || value === Infinity) {
- m = isNaN(value) ? 1 : 0
- e = eMax
- } else {
- e = Math.floor(Math.log(value) / Math.LN2)
- if (value * (c = Math.pow(2, -e)) < 1) {
- e--
- c *= 2
- }
- if (e + eBias >= 1) {
- value += rt / c
- } else {
- value += rt * Math.pow(2, 1 - eBias)
- }
- if (value * c >= 2) {
- e++
- c /= 2
- }
-
- if (e + eBias >= eMax) {
- m = 0
- e = eMax
- } else if (e + eBias >= 1) {
- m = ((value * c) - 1) * Math.pow(2, mLen)
- e = e + eBias
- } else {
- m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
- e = 0
- }
- }
-
- for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
-
- e = (e << mLen) | m
- eLen += mLen
- for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
-
- buffer[offset + i - d] |= s * 128
-}
diff --git a/includes/search/node_modules/ieee754/package.json b/includes/search/node_modules/ieee754/package.json
deleted file mode 100644
index 7b23851..0000000
--- a/includes/search/node_modules/ieee754/package.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "name": "ieee754",
- "description": "Read/write IEEE754 floating point numbers from/to a Buffer or array-like object",
- "version": "1.2.1",
- "author": {
- "name": "Feross Aboukhadijeh",
- "email": "feross@feross.org",
- "url": "https://feross.org"
- },
- "contributors": [
- "Romain Beauxis <toots@rastageeks.org>"
- ],
- "devDependencies": {
- "airtap": "^3.0.0",
- "standard": "*",
- "tape": "^5.0.1"
- },
- "keywords": [
- "IEEE 754",
- "buffer",
- "convert",
- "floating point",
- "ieee754"
- ],
- "license": "BSD-3-Clause",
- "main": "index.js",
- "types": "index.d.ts",
- "repository": {
- "type": "git",
- "url": "git://github.com/feross/ieee754.git"
- },
- "scripts": {
- "test": "standard && npm run test-node && npm run test-browser",
- "test-browser": "airtap -- test/*.js",
- "test-browser-local": "airtap --local -- test/*.js",
- "test-node": "tape test/*.js"
- },
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
-}
diff --git a/includes/search/node_modules/ignore/LICENSE-MIT b/includes/search/node_modules/ignore/LICENSE-MIT
deleted file mode 100644
index 825533e..0000000
--- a/includes/search/node_modules/ignore/LICENSE-MIT
+++ /dev/null
@@ -1,21 +0,0 @@
-Copyright (c) 2013 Kael Zhang <i@kael.me>, contributors
-http://kael.me/
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/ignore/README.md b/includes/search/node_modules/ignore/README.md
deleted file mode 100644
index 50d8882..0000000
--- a/includes/search/node_modules/ignore/README.md
+++ /dev/null
@@ -1,412 +0,0 @@
-<table><thead>
- <tr>
- <th>Linux</th>
- <th>OS X</th>
- <th>Windows</th>
- <th>Coverage</th>
- <th>Downloads</th>
- </tr>
-</thead><tbody><tr>
- <td colspan="2" align="center">
- <a href="https://github.com/kaelzhang/node-ignore/actions/workflows/nodejs.yml">
- <img
- src="https://github.com/kaelzhang/node-ignore/actions/workflows/nodejs.yml/badge.svg"
- alt="Build Status" /></a>
- </td>
- <td align="center">
- <a href="https://ci.appveyor.com/project/kaelzhang/node-ignore">
- <img
- src="https://ci.appveyor.com/api/projects/status/github/kaelzhang/node-ignore?branch=master&svg=true"
- alt="Windows Build Status" /></a>
- </td>
- <td align="center">
- <a href="https://codecov.io/gh/kaelzhang/node-ignore">
- <img
- src="https://codecov.io/gh/kaelzhang/node-ignore/branch/master/graph/badge.svg"
- alt="Coverage Status" /></a>
- </td>
- <td align="center">
- <a href="https://www.npmjs.org/package/ignore">
- <img
- src="http://img.shields.io/npm/dm/ignore.svg"
- alt="npm module downloads per month" /></a>
- </td>
-</tr></tbody></table>
-
-# ignore
-
-`ignore` is a manager, filter and parser which implemented in pure JavaScript according to the [.gitignore spec 2.22.1](http://git-scm.com/docs/gitignore).
-
-`ignore` is used by eslint, gitbook and [many others](https://www.npmjs.com/browse/depended/ignore).
-
-Pay **ATTENTION** that [`minimatch`](https://www.npmjs.org/package/minimatch) (which used by `fstream-ignore`) does not follow the gitignore spec.
-
-To filter filenames according to a .gitignore file, I recommend this npm package, `ignore`.
-
-To parse an `.npmignore` file, you should use `minimatch`, because an `.npmignore` file is parsed by npm using `minimatch` and it does not work in the .gitignore way.
-
-### Tested on
-
-`ignore` is fully tested, and has more than **five hundreds** of unit tests.
-
-- Linux + Node: `0.8` - `7.x`
-- Windows + Node: `0.10` - `7.x`, node < `0.10` is not tested due to the lack of support of appveyor.
-
-Actually, `ignore` does not rely on any versions of node specially.
-
-Since `4.0.0`, ignore will no longer support `node < 6` by default, to use in node < 6, `require('ignore/legacy')`. For details, see [CHANGELOG](https://github.com/kaelzhang/node-ignore/blob/master/CHANGELOG.md).
-
-## Table Of Main Contents
-
-- [Usage](#usage)
-- [`Pathname` Conventions](#pathname-conventions)
-- See Also:
- - [`glob-gitignore`](https://www.npmjs.com/package/glob-gitignore) matches files using patterns and filters them according to gitignore rules.
-- [Upgrade Guide](#upgrade-guide)
-
-## Install
-
-```sh
-npm i ignore
-```
-
-## Usage
-
-```js
-import ignore from 'ignore'
-const ig = ignore().add(['.abc/*', '!.abc/d/'])
-```
-
-### Filter the given paths
-
-```js
-const paths = [
- '.abc/a.js', // filtered out
- '.abc/d/e.js' // included
-]
-
-ig.filter(paths) // ['.abc/d/e.js']
-ig.ignores('.abc/a.js') // true
-```
-
-### As the filter function
-
-```js
-paths.filter(ig.createFilter()); // ['.abc/d/e.js']
-```
-
-### Win32 paths will be handled
-
-```js
-ig.filter(['.abc\\a.js', '.abc\\d\\e.js'])
-// if the code above runs on windows, the result will be
-// ['.abc\\d\\e.js']
-```
-
-## Why another ignore?
-
-- `ignore` is a standalone module, and is much simpler so that it could easy work with other programs, unlike [isaacs](https://npmjs.org/~isaacs)'s [fstream-ignore](https://npmjs.org/package/fstream-ignore) which must work with the modules of the fstream family.
-
-- `ignore` only contains utility methods to filter paths according to the specified ignore rules, so
- - `ignore` never try to find out ignore rules by traversing directories or fetching from git configurations.
- - `ignore` don't cares about sub-modules of git projects.
-
-- Exactly according to [gitignore man page](http://git-scm.com/docs/gitignore), fixes some known matching issues of fstream-ignore, such as:
- - '`/*.js`' should only match '`a.js`', but not '`abc/a.js`'.
- - '`**/foo`' should match '`foo`' anywhere.
- - Prevent re-including a file if a parent directory of that file is excluded.
- - Handle trailing whitespaces:
- - `'a '`(one space) should not match `'a '`(two spaces).
- - `'a \ '` matches `'a '`
- - All test cases are verified with the result of `git check-ignore`.
-
-# Methods
-
-## .add(pattern: string | Ignore): this
-## .add(patterns: Array<string | Ignore>): this
-
-- **pattern** `String | Ignore` An ignore pattern string, or the `Ignore` instance
-- **patterns** `Array<String | Ignore>` Array of ignore patterns.
-
-Adds a rule or several rules to the current manager.
-
-Returns `this`
-
-Notice that a line starting with `'#'`(hash) is treated as a comment. Put a backslash (`'\'`) in front of the first hash for patterns that begin with a hash, if you want to ignore a file with a hash at the beginning of the filename.
-
-```js
-ignore().add('#abc').ignores('#abc') // false
-ignore().add('\\#abc').ignores('#abc') // true
-```
-
-`pattern` could either be a line of ignore pattern or a string of multiple ignore patterns, which means we could just `ignore().add()` the content of a ignore file:
-
-```js
-ignore()
-.add(fs.readFileSync(filenameOfGitignore).toString())
-.filter(filenames)
-```
-
-`pattern` could also be an `ignore` instance, so that we could easily inherit the rules of another `Ignore` instance.
-
-## <strike>.addIgnoreFile(path)</strike>
-
-REMOVED in `3.x` for now.
-
-To upgrade `ignore@2.x` up to `3.x`, use
-
-```js
-import fs from 'fs'
-
-if (fs.existsSync(filename)) {
- ignore().add(fs.readFileSync(filename).toString())
-}
-```
-
-instead.
-
-## .filter(paths: Array&lt;Pathname&gt;): Array&lt;Pathname&gt;
-
-```ts
-type Pathname = string
-```
-
-Filters the given array of pathnames, and returns the filtered array.
-
-- **paths** `Array.<Pathname>` The array of `pathname`s to be filtered.
-
-### `Pathname` Conventions:
-
-#### 1. `Pathname` should be a `path.relative()`d pathname
-
-`Pathname` should be a string that have been `path.join()`ed, or the return value of `path.relative()` to the current directory,
-
-```js
-// WRONG, an error will be thrown
-ig.ignores('./abc')
-
-// WRONG, for it will never happen, and an error will be thrown
-// If the gitignore rule locates at the root directory,
-// `'/abc'` should be changed to `'abc'`.
-// ```
-// path.relative('/', '/abc') -> 'abc'
-// ```
-ig.ignores('/abc')
-
-// WRONG, that it is an absolute path on Windows, an error will be thrown
-ig.ignores('C:\\abc')
-
-// Right
-ig.ignores('abc')
-
-// Right
-ig.ignores(path.join('./abc')) // path.join('./abc') -> 'abc'
-```
-
-In other words, each `Pathname` here should be a relative path to the directory of the gitignore rules.
-
-Suppose the dir structure is:
-
-```
-/path/to/your/repo
- |-- a
- | |-- a.js
- |
- |-- .b
- |
- |-- .c
- |-- .DS_store
-```
-
-Then the `paths` might be like this:
-
-```js
-[
- 'a/a.js'
- '.b',
- '.c/.DS_store'
-]
-```
-
-#### 2. filenames and dirnames
-
-`node-ignore` does NO `fs.stat` during path matching, so for the example below:
-
-```js
-// First, we add a ignore pattern to ignore a directory
-ig.add('config/')
-
-// `ig` does NOT know if 'config', in the real world,
-// is a normal file, directory or something.
-
-ig.ignores('config')
-// `ig` treats `config` as a file, so it returns `false`
-
-ig.ignores('config/')
-// returns `true`
-```
-
-Specially for people who develop some library based on `node-ignore`, it is important to understand that.
-
-Usually, you could use [`glob`](http://npmjs.org/package/glob) with `option.mark = true` to fetch the structure of the current directory:
-
-```js
-import glob from 'glob'
-
-glob('**', {
- // Adds a / character to directory matches.
- mark: true
-}, (err, files) => {
- if (err) {
- return console.error(err)
- }
-
- let filtered = ignore().add(patterns).filter(files)
- console.log(filtered)
-})
-```
-
-## .ignores(pathname: Pathname): boolean
-
-> new in 3.2.0
-
-Returns `Boolean` whether `pathname` should be ignored.
-
-```js
-ig.ignores('.abc/a.js') // true
-```
-
-## .createFilter()
-
-Creates a filter function which could filter an array of paths with `Array.prototype.filter`.
-
-Returns `function(path)` the filter function.
-
-## .test(pathname: Pathname) since 5.0.0
-
-Returns `TestResult`
-
-```ts
-interface TestResult {
- ignored: boolean
- // true if the `pathname` is finally unignored by some negative pattern
- unignored: boolean
-}
-```
-
-- `{ignored: true, unignored: false}`: the `pathname` is ignored
-- `{ignored: false, unignored: true}`: the `pathname` is unignored
-- `{ignored: false, unignored: false}`: the `pathname` is never matched by any ignore rules.
-
-## static `ignore.isPathValid(pathname): boolean` since 5.0.0
-
-Check whether the `pathname` is an valid `path.relative()`d path according to the [convention](#1-pathname-should-be-a-pathrelatived-pathname).
-
-This method is **NOT** used to check if an ignore pattern is valid.
-
-```js
-ignore.isPathValid('./foo') // false
-```
-
-## ignore(options)
-
-### `options.ignorecase` since 4.0.0
-
-Similar as the `core.ignorecase` option of [git-config](https://git-scm.com/docs/git-config), `node-ignore` will be case insensitive if `options.ignorecase` is set to `true` (the default value), otherwise case sensitive.
-
-```js
-const ig = ignore({
- ignorecase: false
-})
-
-ig.add('*.png')
-
-ig.ignores('*.PNG') // false
-```
-
-### `options.ignoreCase?: boolean` since 5.2.0
-
-Which is alternative to `options.ignoreCase`
-
-### `options.allowRelativePaths?: boolean` since 5.2.0
-
-This option brings backward compatibility with projects which based on `ignore@4.x`. If `options.allowRelativePaths` is `true`, `ignore` will not check whether the given path to be tested is [`path.relative()`d](#pathname-conventions).
-
-However, passing a relative path, such as `'./foo'` or `'../foo'`, to test if it is ignored or not is not a good practise, which might lead to unexpected behavior
-
-```js
-ignore({
- allowRelativePaths: true
-}).ignores('../foo/bar.js') // And it will not throw
-```
-
-****
-
-# Upgrade Guide
-
-## Upgrade 4.x -> 5.x
-
-Since `5.0.0`, if an invalid `Pathname` passed into `ig.ignores()`, an error will be thrown, unless `options.allowRelative = true` is passed to the `Ignore` factory.
-
-While `ignore < 5.0.0` did not make sure what the return value was, as well as
-
-```ts
-.ignores(pathname: Pathname): boolean
-
-.filter(pathnames: Array<Pathname>): Array<Pathname>
-
-.createFilter(): (pathname: Pathname) => boolean
-
-.test(pathname: Pathname): {ignored: boolean, unignored: boolean}
-```
-
-See the convention [here](#1-pathname-should-be-a-pathrelatived-pathname) for details.
-
-If there are invalid pathnames, the conversion and filtration should be done by users.
-
-```js
-import {isPathValid} from 'ignore' // introduced in 5.0.0
-
-const paths = [
- // invalid
- //////////////////
- '',
- false,
- '../foo',
- '.',
- //////////////////
-
- // valid
- 'foo'
-]
-.filter(isValidPath)
-
-ig.filter(paths)
-```
-
-## Upgrade 3.x -> 4.x
-
-Since `4.0.0`, `ignore` will no longer support node < 6, to use `ignore` in node < 6:
-
-```js
-var ignore = require('ignore/legacy')
-```
-
-## Upgrade 2.x -> 3.x
-
-- All `options` of 2.x are unnecessary and removed, so just remove them.
-- `ignore()` instance is no longer an [`EventEmitter`](nodejs.org/api/events.html), and all events are unnecessary and removed.
-- `.addIgnoreFile()` is removed, see the [.addIgnoreFile](#addignorefilepath) section for details.
-
-****
-
-# Collaborators
-
-- [@whitecolor](https://github.com/whitecolor) *Alex*
-- [@SamyPesse](https://github.com/SamyPesse) *Samy Pessé*
-- [@azproduction](https://github.com/azproduction) *Mikhail Davydov*
-- [@TrySound](https://github.com/TrySound) *Bogdan Chadkin*
-- [@JanMattner](https://github.com/JanMattner) *Jan Mattner*
-- [@ntwb](https://github.com/ntwb) *Stephen Edgar*
-- [@kasperisager](https://github.com/kasperisager) *Kasper Isager*
-- [@sandersn](https://github.com/sandersn) *Nathan Shively-Sanders*
diff --git a/includes/search/node_modules/ignore/index.d.ts b/includes/search/node_modules/ignore/index.d.ts
deleted file mode 100644
index 520eafa..0000000
--- a/includes/search/node_modules/ignore/index.d.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-type Pathname = string
-
-interface TestResult {
- ignored: boolean
- unignored: boolean
-}
-
-export interface Ignore {
- /**
- * Adds one or several rules to the current manager.
- * @param {string[]} patterns
- * @returns IgnoreBase
- */
- add(patterns: string | Ignore | readonly (string | Ignore)[]): this
-
- /**
- * Filters the given array of pathnames, and returns the filtered array.
- * NOTICE that each path here should be a relative path to the root of your repository.
- * @param paths the array of paths to be filtered.
- * @returns The filtered array of paths
- */
- filter(pathnames: readonly Pathname[]): Pathname[]
-
- /**
- * Creates a filter function which could filter
- * an array of paths with Array.prototype.filter.
- */
- createFilter(): (pathname: Pathname) => boolean
-
- /**
- * Returns Boolean whether pathname should be ignored.
- * @param {string} pathname a path to check
- * @returns boolean
- */
- ignores(pathname: Pathname): boolean
-
- /**
- * Returns whether pathname should be ignored or unignored
- * @param {string} pathname a path to check
- * @returns TestResult
- */
- test(pathname: Pathname): TestResult
-}
-
-interface Options {
- ignorecase?: boolean
- // For compatibility
- ignoreCase?: boolean
- allowRelativePaths?: boolean
-}
-
-/**
- * Creates new ignore manager.
- */
-declare function ignore(options?: Options): Ignore
-
-declare namespace ignore {
- export function isPathValid (pathname: string): boolean
-}
-
-export default ignore
diff --git a/includes/search/node_modules/ignore/index.js b/includes/search/node_modules/ignore/index.js
deleted file mode 100644
index a25577f..0000000
--- a/includes/search/node_modules/ignore/index.js
+++ /dev/null
@@ -1,618 +0,0 @@
-// A simple implementation of make-array
-function makeArray (subject) {
- return Array.isArray(subject)
- ? subject
- : [subject]
-}
-
-const EMPTY = ''
-const SPACE = ' '
-const ESCAPE = '\\'
-const REGEX_TEST_BLANK_LINE = /^\s+$/
-const REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/
-const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/
-const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/
-const REGEX_SPLITALL_CRLF = /\r?\n/g
-// /foo,
-// ./foo,
-// ../foo,
-// .
-// ..
-const REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/
-
-const SLASH = '/'
-
-// Do not use ternary expression here, since "istanbul ignore next" is buggy
-let TMP_KEY_IGNORE = 'node-ignore'
-/* istanbul ignore else */
-if (typeof Symbol !== 'undefined') {
- TMP_KEY_IGNORE = Symbol.for('node-ignore')
-}
-const KEY_IGNORE = TMP_KEY_IGNORE
-
-const define = (object, key, value) =>
- Object.defineProperty(object, key, {value})
-
-const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g
-
-const RETURN_FALSE = () => false
-
-// Sanitize the range of a regular expression
-// The cases are complicated, see test cases for details
-const sanitizeRange = range => range.replace(
- REGEX_REGEXP_RANGE,
- (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0)
- ? match
- // Invalid range (out of order) which is ok for gitignore rules but
- // fatal for JavaScript regular expression, so eliminate it.
- : EMPTY
-)
-
-// See fixtures #59
-const cleanRangeBackSlash = slashes => {
- const {length} = slashes
- return slashes.slice(0, length - length % 2)
-}
-
-// > If the pattern ends with a slash,
-// > it is removed for the purpose of the following description,
-// > but it would only find a match with a directory.
-// > In other words, foo/ will match a directory foo and paths underneath it,
-// > but will not match a regular file or a symbolic link foo
-// > (this is consistent with the way how pathspec works in general in Git).
-// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'
-// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call
-// you could use option `mark: true` with `glob`
-
-// '`foo/`' should not continue with the '`..`'
-const REPLACERS = [
-
- // > Trailing spaces are ignored unless they are quoted with backslash ("\")
- [
- // (a\ ) -> (a )
- // (a ) -> (a)
- // (a \ ) -> (a )
- /\\?\s+$/,
- match => match.indexOf('\\') === 0
- ? SPACE
- : EMPTY
- ],
-
- // replace (\ ) with ' '
- [
- /\\\s/g,
- () => SPACE
- ],
-
- // Escape metacharacters
- // which is written down by users but means special for regular expressions.
-
- // > There are 12 characters with special meanings:
- // > - the backslash \,
- // > - the caret ^,
- // > - the dollar sign $,
- // > - the period or dot .,
- // > - the vertical bar or pipe symbol |,
- // > - the question mark ?,
- // > - the asterisk or star *,
- // > - the plus sign +,
- // > - the opening parenthesis (,
- // > - the closing parenthesis ),
- // > - and the opening square bracket [,
- // > - the opening curly brace {,
- // > These special characters are often called "metacharacters".
- [
- /[\\$.|*+(){^]/g,
- match => `\\${match}`
- ],
-
- [
- // > a question mark (?) matches a single character
- /(?!\\)\?/g,
- () => '[^/]'
- ],
-
- // leading slash
- [
-
- // > A leading slash matches the beginning of the pathname.
- // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
- // A leading slash matches the beginning of the pathname
- /^\//,
- () => '^'
- ],
-
- // replace special metacharacter slash after the leading slash
- [
- /\//g,
- () => '\\/'
- ],
-
- [
- // > A leading "**" followed by a slash means match in all directories.
- // > For example, "**/foo" matches file or directory "foo" anywhere,
- // > the same as pattern "foo".
- // > "**/foo/bar" matches file or directory "bar" anywhere that is directly
- // > under directory "foo".
- // Notice that the '*'s have been replaced as '\\*'
- /^\^*\\\*\\\*\\\//,
-
- // '**/foo' <-> 'foo'
- () => '^(?:.*\\/)?'
- ],
-
- // starting
- [
- // there will be no leading '/'
- // (which has been replaced by section "leading slash")
- // If starts with '**', adding a '^' to the regular expression also works
- /^(?=[^^])/,
- function startingReplacer () {
- // If has a slash `/` at the beginning or middle
- return !/\/(?!$)/.test(this)
- // > Prior to 2.22.1
- // > If the pattern does not contain a slash /,
- // > Git treats it as a shell glob pattern
- // Actually, if there is only a trailing slash,
- // git also treats it as a shell glob pattern
-
- // After 2.22.1 (compatible but clearer)
- // > If there is a separator at the beginning or middle (or both)
- // > of the pattern, then the pattern is relative to the directory
- // > level of the particular .gitignore file itself.
- // > Otherwise the pattern may also match at any level below
- // > the .gitignore level.
- ? '(?:^|\\/)'
-
- // > Otherwise, Git treats the pattern as a shell glob suitable for
- // > consumption by fnmatch(3)
- : '^'
- }
- ],
-
- // two globstars
- [
- // Use lookahead assertions so that we could match more than one `'/**'`
- /\\\/\\\*\\\*(?=\\\/|$)/g,
-
- // Zero, one or several directories
- // should not use '*', or it will be replaced by the next replacer
-
- // Check if it is not the last `'/**'`
- (_, index, str) => index + 6 < str.length
-
- // case: /**/
- // > A slash followed by two consecutive asterisks then a slash matches
- // > zero or more directories.
- // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on.
- // '/**/'
- ? '(?:\\/[^\\/]+)*'
-
- // case: /**
- // > A trailing `"/**"` matches everything inside.
-
- // #21: everything inside but it should not include the current folder
- : '\\/.+'
- ],
-
- // normal intermediate wildcards
- [
- // Never replace escaped '*'
- // ignore rule '\*' will match the path '*'
-
- // 'abc.*/' -> go
- // 'abc.*' -> skip this rule,
- // coz trailing single wildcard will be handed by [trailing wildcard]
- /(^|[^\\]+)(\\\*)+(?=.+)/g,
-
- // '*.js' matches '.js'
- // '*.js' doesn't match 'abc'
- (_, p1, p2) => {
- // 1.
- // > An asterisk "*" matches anything except a slash.
- // 2.
- // > Other consecutive asterisks are considered regular asterisks
- // > and will match according to the previous rules.
- const unescaped = p2.replace(/\\\*/g, '[^\\/]*')
- return p1 + unescaped
- }
- ],
-
- [
- // unescape, revert step 3 except for back slash
- // For example, if a user escape a '\\*',
- // after step 3, the result will be '\\\\\\*'
- /\\\\\\(?=[$.|*+(){^])/g,
- () => ESCAPE
- ],
-
- [
- // '\\\\' -> '\\'
- /\\\\/g,
- () => ESCAPE
- ],
-
- [
- // > The range notation, e.g. [a-zA-Z],
- // > can be used to match one of the characters in a range.
-
- // `\` is escaped by step 3
- /(\\)?\[([^\]/]*?)(\\*)($|\])/g,
- (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE
- // '\\[bar]' -> '\\\\[bar\\]'
- ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}`
- : close === ']'
- ? endEscape.length % 2 === 0
- // A normal case, and it is a range notation
- // '[bar]'
- // '[bar\\\\]'
- ? `[${sanitizeRange(range)}${endEscape}]`
- // Invalid range notaton
- // '[bar\\]' -> '[bar\\\\]'
- : '[]'
- : '[]'
- ],
-
- // ending
- [
- // 'js' will not match 'js.'
- // 'ab' will not match 'abc'
- /(?:[^*])$/,
-
- // WTF!
- // https://git-scm.com/docs/gitignore
- // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
- // which re-fixes #24, #38
-
- // > If there is a separator at the end of the pattern then the pattern
- // > will only match directories, otherwise the pattern can match both
- // > files and directories.
-
- // 'js*' will not match 'a.js'
- // 'js/' will not match 'a.js'
- // 'js' will match 'a.js' and 'a.js/'
- match => /\/$/.test(match)
- // foo/ will not match 'foo'
- ? `${match}$`
- // foo matches 'foo' and 'foo/'
- : `${match}(?=$|\\/$)`
- ],
-
- // trailing wildcard
- [
- /(\^|\\\/)?\\\*$/,
- (_, p1) => {
- const prefix = p1
- // '\^':
- // '/*' does not match EMPTY
- // '/*' does not match everything
-
- // '\\\/':
- // 'abc/*' does not match 'abc/'
- ? `${p1}[^/]+`
-
- // 'a*' matches 'a'
- // 'a*' matches 'aa'
- : '[^/]*'
-
- return `${prefix}(?=$|\\/$)`
- }
- ],
-]
-
-// A simple cache, because an ignore rule only has only one certain meaning
-const regexCache = Object.create(null)
-
-// @param {pattern}
-const makeRegex = (pattern, ignoreCase) => {
- let source = regexCache[pattern]
-
- if (!source) {
- source = REPLACERS.reduce(
- (prev, current) => prev.replace(current[0], current[1].bind(pattern)),
- pattern
- )
- regexCache[pattern] = source
- }
-
- return ignoreCase
- ? new RegExp(source, 'i')
- : new RegExp(source)
-}
-
-const isString = subject => typeof subject === 'string'
-
-// > A blank line matches no files, so it can serve as a separator for readability.
-const checkPattern = pattern => pattern
- && isString(pattern)
- && !REGEX_TEST_BLANK_LINE.test(pattern)
- && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern)
-
- // > A line starting with # serves as a comment.
- && pattern.indexOf('#') !== 0
-
-const splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF)
-
-class IgnoreRule {
- constructor (
- origin,
- pattern,
- negative,
- regex
- ) {
- this.origin = origin
- this.pattern = pattern
- this.negative = negative
- this.regex = regex
- }
-}
-
-const createRule = (pattern, ignoreCase) => {
- const origin = pattern
- let negative = false
-
- // > An optional prefix "!" which negates the pattern;
- if (pattern.indexOf('!') === 0) {
- negative = true
- pattern = pattern.substr(1)
- }
-
- pattern = pattern
- // > Put a backslash ("\") in front of the first "!" for patterns that
- // > begin with a literal "!", for example, `"\!important!.txt"`.
- .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!')
- // > Put a backslash ("\") in front of the first hash for patterns that
- // > begin with a hash.
- .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#')
-
- const regex = makeRegex(pattern, ignoreCase)
-
- return new IgnoreRule(
- origin,
- pattern,
- negative,
- regex
- )
-}
-
-const throwError = (message, Ctor) => {
- throw new Ctor(message)
-}
-
-const checkPath = (path, originalPath, doThrow) => {
- if (!isString(path)) {
- return doThrow(
- `path must be a string, but got \`${originalPath}\``,
- TypeError
- )
- }
-
- // We don't know if we should ignore EMPTY, so throw
- if (!path) {
- return doThrow(`path must not be empty`, TypeError)
- }
-
- // Check if it is a relative path
- if (checkPath.isNotRelative(path)) {
- const r = '`path.relative()`d'
- return doThrow(
- `path should be a ${r} string, but got "${originalPath}"`,
- RangeError
- )
- }
-
- return true
-}
-
-const isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path)
-
-checkPath.isNotRelative = isNotRelative
-checkPath.convert = p => p
-
-class Ignore {
- constructor ({
- ignorecase = true,
- ignoreCase = ignorecase,
- allowRelativePaths = false
- } = {}) {
- define(this, KEY_IGNORE, true)
-
- this._rules = []
- this._ignoreCase = ignoreCase
- this._allowRelativePaths = allowRelativePaths
- this._initCache()
- }
-
- _initCache () {
- this._ignoreCache = Object.create(null)
- this._testCache = Object.create(null)
- }
-
- _addPattern (pattern) {
- // #32
- if (pattern && pattern[KEY_IGNORE]) {
- this._rules = this._rules.concat(pattern._rules)
- this._added = true
- return
- }
-
- if (checkPattern(pattern)) {
- const rule = createRule(pattern, this._ignoreCase)
- this._added = true
- this._rules.push(rule)
- }
- }
-
- // @param {Array<string> | string | Ignore} pattern
- add (pattern) {
- this._added = false
-
- makeArray(
- isString(pattern)
- ? splitPattern(pattern)
- : pattern
- ).forEach(this._addPattern, this)
-
- // Some rules have just added to the ignore,
- // making the behavior changed.
- if (this._added) {
- this._initCache()
- }
-
- return this
- }
-
- // legacy
- addPattern (pattern) {
- return this.add(pattern)
- }
-
- // | ignored : unignored
- // negative | 0:0 | 0:1 | 1:0 | 1:1
- // -------- | ------- | ------- | ------- | --------
- // 0 | TEST | TEST | SKIP | X
- // 1 | TESTIF | SKIP | TEST | X
-
- // - SKIP: always skip
- // - TEST: always test
- // - TESTIF: only test if checkUnignored
- // - X: that never happen
-
- // @param {boolean} whether should check if the path is unignored,
- // setting `checkUnignored` to `false` could reduce additional
- // path matching.
-
- // @returns {TestResult} true if a file is ignored
- _testOne (path, checkUnignored) {
- let ignored = false
- let unignored = false
-
- this._rules.forEach(rule => {
- const {negative} = rule
- if (
- unignored === negative && ignored !== unignored
- || negative && !ignored && !unignored && !checkUnignored
- ) {
- return
- }
-
- const matched = rule.regex.test(path)
-
- if (matched) {
- ignored = !negative
- unignored = negative
- }
- })
-
- return {
- ignored,
- unignored
- }
- }
-
- // @returns {TestResult}
- _test (originalPath, cache, checkUnignored, slices) {
- const path = originalPath
- // Supports nullable path
- && checkPath.convert(originalPath)
-
- checkPath(
- path,
- originalPath,
- this._allowRelativePaths
- ? RETURN_FALSE
- : throwError
- )
-
- return this._t(path, cache, checkUnignored, slices)
- }
-
- _t (path, cache, checkUnignored, slices) {
- if (path in cache) {
- return cache[path]
- }
-
- if (!slices) {
- // path/to/a.js
- // ['path', 'to', 'a.js']
- slices = path.split(SLASH)
- }
-
- slices.pop()
-
- // If the path has no parent directory, just test it
- if (!slices.length) {
- return cache[path] = this._testOne(path, checkUnignored)
- }
-
- const parent = this._t(
- slices.join(SLASH) + SLASH,
- cache,
- checkUnignored,
- slices
- )
-
- // If the path contains a parent directory, check the parent first
- return cache[path] = parent.ignored
- // > It is not possible to re-include a file if a parent directory of
- // > that file is excluded.
- ? parent
- : this._testOne(path, checkUnignored)
- }
-
- ignores (path) {
- return this._test(path, this._ignoreCache, false).ignored
- }
-
- createFilter () {
- return path => !this.ignores(path)
- }
-
- filter (paths) {
- return makeArray(paths).filter(this.createFilter())
- }
-
- // @returns {TestResult}
- test (path) {
- return this._test(path, this._testCache, true)
- }
-}
-
-const factory = options => new Ignore(options)
-
-const isPathValid = path =>
- checkPath(path && checkPath.convert(path), path, RETURN_FALSE)
-
-factory.isPathValid = isPathValid
-
-// Fixes typescript
-factory.default = factory
-
-module.exports = factory
-
-// Windows
-// --------------------------------------------------------------
-/* istanbul ignore if */
-if (
- // Detect `process` so that it can run in browsers.
- typeof process !== 'undefined'
- && (
- process.env && process.env.IGNORE_TEST_WIN32
- || process.platform === 'win32'
- )
-) {
- /* eslint no-control-regex: "off" */
- const makePosix = str => /^\\\\\?\\/.test(str)
- || /["<>|\u0000-\u001F]+/u.test(str)
- ? str
- : str.replace(/\\/g, '/')
-
- checkPath.convert = makePosix
-
- // 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/'
- // 'd:\\foo'
- const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i
- checkPath.isNotRelative = path =>
- REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path)
- || isNotRelative(path)
-}
diff --git a/includes/search/node_modules/ignore/legacy.js b/includes/search/node_modules/ignore/legacy.js
deleted file mode 100644
index 8518b7c..0000000
--- a/includes/search/node_modules/ignore/legacy.js
+++ /dev/null
@@ -1,539 +0,0 @@
-"use strict";
-
-function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-// A simple implementation of make-array
-function makeArray(subject) {
- return Array.isArray(subject) ? subject : [subject];
-}
-var EMPTY = '';
-var SPACE = ' ';
-var ESCAPE = '\\';
-var REGEX_TEST_BLANK_LINE = /^\s+$/;
-var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
-var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
-var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
-var REGEX_SPLITALL_CRLF = /\r?\n/g;
-// /foo,
-// ./foo,
-// ../foo,
-// .
-// ..
-var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/;
-var SLASH = '/';
-
-// Do not use ternary expression here, since "istanbul ignore next" is buggy
-var TMP_KEY_IGNORE = 'node-ignore';
-/* istanbul ignore else */
-if (typeof Symbol !== 'undefined') {
- TMP_KEY_IGNORE = Symbol["for"]('node-ignore');
-}
-var KEY_IGNORE = TMP_KEY_IGNORE;
-var define = function define(object, key, value) {
- return Object.defineProperty(object, key, {
- value: value
- });
-};
-var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
-var RETURN_FALSE = function RETURN_FALSE() {
- return false;
-};
-
-// Sanitize the range of a regular expression
-// The cases are complicated, see test cases for details
-var sanitizeRange = function sanitizeRange(range) {
- return range.replace(REGEX_REGEXP_RANGE, function (match, from, to) {
- return from.charCodeAt(0) <= to.charCodeAt(0) ? match
- // Invalid range (out of order) which is ok for gitignore rules but
- // fatal for JavaScript regular expression, so eliminate it.
- : EMPTY;
- });
-};
-
-// See fixtures #59
-var cleanRangeBackSlash = function cleanRangeBackSlash(slashes) {
- var length = slashes.length;
- return slashes.slice(0, length - length % 2);
-};
-
-// > If the pattern ends with a slash,
-// > it is removed for the purpose of the following description,
-// > but it would only find a match with a directory.
-// > In other words, foo/ will match a directory foo and paths underneath it,
-// > but will not match a regular file or a symbolic link foo
-// > (this is consistent with the way how pathspec works in general in Git).
-// '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'
-// -> ignore-rules will not deal with it, because it costs extra `fs.stat` call
-// you could use option `mark: true` with `glob`
-
-// '`foo/`' should not continue with the '`..`'
-var REPLACERS = [
-// > Trailing spaces are ignored unless they are quoted with backslash ("\")
-[
-// (a\ ) -> (a )
-// (a ) -> (a)
-// (a \ ) -> (a )
-/\\?\s+$/, function (match) {
- return match.indexOf('\\') === 0 ? SPACE : EMPTY;
-}],
-// replace (\ ) with ' '
-[/\\\s/g, function () {
- return SPACE;
-}],
-// Escape metacharacters
-// which is written down by users but means special for regular expressions.
-
-// > There are 12 characters with special meanings:
-// > - the backslash \,
-// > - the caret ^,
-// > - the dollar sign $,
-// > - the period or dot .,
-// > - the vertical bar or pipe symbol |,
-// > - the question mark ?,
-// > - the asterisk or star *,
-// > - the plus sign +,
-// > - the opening parenthesis (,
-// > - the closing parenthesis ),
-// > - and the opening square bracket [,
-// > - the opening curly brace {,
-// > These special characters are often called "metacharacters".
-[/[\\$.|*+(){^]/g, function (match) {
- return "\\".concat(match);
-}], [
-// > a question mark (?) matches a single character
-/(?!\\)\?/g, function () {
- return '[^/]';
-}],
-// leading slash
-[
-// > A leading slash matches the beginning of the pathname.
-// > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
-// A leading slash matches the beginning of the pathname
-/^\//, function () {
- return '^';
-}],
-// replace special metacharacter slash after the leading slash
-[/\//g, function () {
- return '\\/';
-}], [
-// > A leading "**" followed by a slash means match in all directories.
-// > For example, "**/foo" matches file or directory "foo" anywhere,
-// > the same as pattern "foo".
-// > "**/foo/bar" matches file or directory "bar" anywhere that is directly
-// > under directory "foo".
-// Notice that the '*'s have been replaced as '\\*'
-/^\^*\\\*\\\*\\\//,
-// '**/foo' <-> 'foo'
-function () {
- return '^(?:.*\\/)?';
-}],
-// starting
-[
-// there will be no leading '/'
-// (which has been replaced by section "leading slash")
-// If starts with '**', adding a '^' to the regular expression also works
-/^(?=[^^])/, function startingReplacer() {
- // If has a slash `/` at the beginning or middle
- return !/\/(?!$)/.test(this)
- // > Prior to 2.22.1
- // > If the pattern does not contain a slash /,
- // > Git treats it as a shell glob pattern
- // Actually, if there is only a trailing slash,
- // git also treats it as a shell glob pattern
-
- // After 2.22.1 (compatible but clearer)
- // > If there is a separator at the beginning or middle (or both)
- // > of the pattern, then the pattern is relative to the directory
- // > level of the particular .gitignore file itself.
- // > Otherwise the pattern may also match at any level below
- // > the .gitignore level.
- ? '(?:^|\\/)'
-
- // > Otherwise, Git treats the pattern as a shell glob suitable for
- // > consumption by fnmatch(3)
- : '^';
-}],
-// two globstars
-[
-// Use lookahead assertions so that we could match more than one `'/**'`
-/\\\/\\\*\\\*(?=\\\/|$)/g,
-// Zero, one or several directories
-// should not use '*', or it will be replaced by the next replacer
-
-// Check if it is not the last `'/**'`
-function (_, index, str) {
- return index + 6 < str.length
-
- // case: /**/
- // > A slash followed by two consecutive asterisks then a slash matches
- // > zero or more directories.
- // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on.
- // '/**/'
- ? '(?:\\/[^\\/]+)*'
-
- // case: /**
- // > A trailing `"/**"` matches everything inside.
-
- // #21: everything inside but it should not include the current folder
- : '\\/.+';
-}],
-// normal intermediate wildcards
-[
-// Never replace escaped '*'
-// ignore rule '\*' will match the path '*'
-
-// 'abc.*/' -> go
-// 'abc.*' -> skip this rule,
-// coz trailing single wildcard will be handed by [trailing wildcard]
-/(^|[^\\]+)(\\\*)+(?=.+)/g,
-// '*.js' matches '.js'
-// '*.js' doesn't match 'abc'
-function (_, p1, p2) {
- // 1.
- // > An asterisk "*" matches anything except a slash.
- // 2.
- // > Other consecutive asterisks are considered regular asterisks
- // > and will match according to the previous rules.
- var unescaped = p2.replace(/\\\*/g, '[^\\/]*');
- return p1 + unescaped;
-}], [
-// unescape, revert step 3 except for back slash
-// For example, if a user escape a '\\*',
-// after step 3, the result will be '\\\\\\*'
-/\\\\\\(?=[$.|*+(){^])/g, function () {
- return ESCAPE;
-}], [
-// '\\\\' -> '\\'
-/\\\\/g, function () {
- return ESCAPE;
-}], [
-// > The range notation, e.g. [a-zA-Z],
-// > can be used to match one of the characters in a range.
-
-// `\` is escaped by step 3
-/(\\)?\[([^\]/]*?)(\\*)($|\])/g, function (match, leadEscape, range, endEscape, close) {
- return leadEscape === ESCAPE
- // '\\[bar]' -> '\\\\[bar\\]'
- ? "\\[".concat(range).concat(cleanRangeBackSlash(endEscape)).concat(close) : close === ']' ? endEscape.length % 2 === 0
- // A normal case, and it is a range notation
- // '[bar]'
- // '[bar\\\\]'
- ? "[".concat(sanitizeRange(range)).concat(endEscape, "]") // Invalid range notaton
- // '[bar\\]' -> '[bar\\\\]'
- : '[]' : '[]';
-}],
-// ending
-[
-// 'js' will not match 'js.'
-// 'ab' will not match 'abc'
-/(?:[^*])$/,
-// WTF!
-// https://git-scm.com/docs/gitignore
-// changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
-// which re-fixes #24, #38
-
-// > If there is a separator at the end of the pattern then the pattern
-// > will only match directories, otherwise the pattern can match both
-// > files and directories.
-
-// 'js*' will not match 'a.js'
-// 'js/' will not match 'a.js'
-// 'js' will match 'a.js' and 'a.js/'
-function (match) {
- return /\/$/.test(match)
- // foo/ will not match 'foo'
- ? "".concat(match, "$") // foo matches 'foo' and 'foo/'
- : "".concat(match, "(?=$|\\/$)");
-}],
-// trailing wildcard
-[/(\^|\\\/)?\\\*$/, function (_, p1) {
- var prefix = p1
- // '\^':
- // '/*' does not match EMPTY
- // '/*' does not match everything
-
- // '\\\/':
- // 'abc/*' does not match 'abc/'
- ? "".concat(p1, "[^/]+") // 'a*' matches 'a'
- // 'a*' matches 'aa'
- : '[^/]*';
- return "".concat(prefix, "(?=$|\\/$)");
-}]];
-
-// A simple cache, because an ignore rule only has only one certain meaning
-var regexCache = Object.create(null);
-
-// @param {pattern}
-var makeRegex = function makeRegex(pattern, ignoreCase) {
- var source = regexCache[pattern];
- if (!source) {
- source = REPLACERS.reduce(function (prev, current) {
- return prev.replace(current[0], current[1].bind(pattern));
- }, pattern);
- regexCache[pattern] = source;
- }
- return ignoreCase ? new RegExp(source, 'i') : new RegExp(source);
-};
-var isString = function isString(subject) {
- return typeof subject === 'string';
-};
-
-// > A blank line matches no files, so it can serve as a separator for readability.
-var checkPattern = function checkPattern(pattern) {
- return pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern)
-
- // > A line starting with # serves as a comment.
- && pattern.indexOf('#') !== 0;
-};
-var splitPattern = function splitPattern(pattern) {
- return pattern.split(REGEX_SPLITALL_CRLF);
-};
-var IgnoreRule = /*#__PURE__*/_createClass(function IgnoreRule(origin, pattern, negative, regex) {
- _classCallCheck(this, IgnoreRule);
- this.origin = origin;
- this.pattern = pattern;
- this.negative = negative;
- this.regex = regex;
-});
-var createRule = function createRule(pattern, ignoreCase) {
- var origin = pattern;
- var negative = false;
-
- // > An optional prefix "!" which negates the pattern;
- if (pattern.indexOf('!') === 0) {
- negative = true;
- pattern = pattern.substr(1);
- }
- pattern = pattern
- // > Put a backslash ("\") in front of the first "!" for patterns that
- // > begin with a literal "!", for example, `"\!important!.txt"`.
- .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!')
- // > Put a backslash ("\") in front of the first hash for patterns that
- // > begin with a hash.
- .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#');
- var regex = makeRegex(pattern, ignoreCase);
- return new IgnoreRule(origin, pattern, negative, regex);
-};
-var throwError = function throwError(message, Ctor) {
- throw new Ctor(message);
-};
-var checkPath = function checkPath(path, originalPath, doThrow) {
- if (!isString(path)) {
- return doThrow("path must be a string, but got `".concat(originalPath, "`"), TypeError);
- }
-
- // We don't know if we should ignore EMPTY, so throw
- if (!path) {
- return doThrow("path must not be empty", TypeError);
- }
-
- // Check if it is a relative path
- if (checkPath.isNotRelative(path)) {
- var r = '`path.relative()`d';
- return doThrow("path should be a ".concat(r, " string, but got \"").concat(originalPath, "\""), RangeError);
- }
- return true;
-};
-var isNotRelative = function isNotRelative(path) {
- return REGEX_TEST_INVALID_PATH.test(path);
-};
-checkPath.isNotRelative = isNotRelative;
-checkPath.convert = function (p) {
- return p;
-};
-var Ignore = /*#__PURE__*/function () {
- function Ignore() {
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref$ignorecase = _ref.ignorecase,
- ignorecase = _ref$ignorecase === void 0 ? true : _ref$ignorecase,
- _ref$ignoreCase = _ref.ignoreCase,
- ignoreCase = _ref$ignoreCase === void 0 ? ignorecase : _ref$ignoreCase,
- _ref$allowRelativePat = _ref.allowRelativePaths,
- allowRelativePaths = _ref$allowRelativePat === void 0 ? false : _ref$allowRelativePat;
- _classCallCheck(this, Ignore);
- define(this, KEY_IGNORE, true);
- this._rules = [];
- this._ignoreCase = ignoreCase;
- this._allowRelativePaths = allowRelativePaths;
- this._initCache();
- }
- _createClass(Ignore, [{
- key: "_initCache",
- value: function _initCache() {
- this._ignoreCache = Object.create(null);
- this._testCache = Object.create(null);
- }
- }, {
- key: "_addPattern",
- value: function _addPattern(pattern) {
- // #32
- if (pattern && pattern[KEY_IGNORE]) {
- this._rules = this._rules.concat(pattern._rules);
- this._added = true;
- return;
- }
- if (checkPattern(pattern)) {
- var rule = createRule(pattern, this._ignoreCase);
- this._added = true;
- this._rules.push(rule);
- }
- }
-
- // @param {Array<string> | string | Ignore} pattern
- }, {
- key: "add",
- value: function add(pattern) {
- this._added = false;
- makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach(this._addPattern, this);
-
- // Some rules have just added to the ignore,
- // making the behavior changed.
- if (this._added) {
- this._initCache();
- }
- return this;
- }
-
- // legacy
- }, {
- key: "addPattern",
- value: function addPattern(pattern) {
- return this.add(pattern);
- }
-
- // | ignored : unignored
- // negative | 0:0 | 0:1 | 1:0 | 1:1
- // -------- | ------- | ------- | ------- | --------
- // 0 | TEST | TEST | SKIP | X
- // 1 | TESTIF | SKIP | TEST | X
-
- // - SKIP: always skip
- // - TEST: always test
- // - TESTIF: only test if checkUnignored
- // - X: that never happen
-
- // @param {boolean} whether should check if the path is unignored,
- // setting `checkUnignored` to `false` could reduce additional
- // path matching.
-
- // @returns {TestResult} true if a file is ignored
- }, {
- key: "_testOne",
- value: function _testOne(path, checkUnignored) {
- var ignored = false;
- var unignored = false;
- this._rules.forEach(function (rule) {
- var negative = rule.negative;
- if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
- return;
- }
- var matched = rule.regex.test(path);
- if (matched) {
- ignored = !negative;
- unignored = negative;
- }
- });
- return {
- ignored: ignored,
- unignored: unignored
- };
- }
-
- // @returns {TestResult}
- }, {
- key: "_test",
- value: function _test(originalPath, cache, checkUnignored, slices) {
- var path = originalPath
- // Supports nullable path
- && checkPath.convert(originalPath);
- checkPath(path, originalPath, this._allowRelativePaths ? RETURN_FALSE : throwError);
- return this._t(path, cache, checkUnignored, slices);
- }
- }, {
- key: "_t",
- value: function _t(path, cache, checkUnignored, slices) {
- if (path in cache) {
- return cache[path];
- }
- if (!slices) {
- // path/to/a.js
- // ['path', 'to', 'a.js']
- slices = path.split(SLASH);
- }
- slices.pop();
-
- // If the path has no parent directory, just test it
- if (!slices.length) {
- return cache[path] = this._testOne(path, checkUnignored);
- }
- var parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices);
-
- // If the path contains a parent directory, check the parent first
- return cache[path] = parent.ignored
- // > It is not possible to re-include a file if a parent directory of
- // > that file is excluded.
- ? parent : this._testOne(path, checkUnignored);
- }
- }, {
- key: "ignores",
- value: function ignores(path) {
- return this._test(path, this._ignoreCache, false).ignored;
- }
- }, {
- key: "createFilter",
- value: function createFilter() {
- var _this = this;
- return function (path) {
- return !_this.ignores(path);
- };
- }
- }, {
- key: "filter",
- value: function filter(paths) {
- return makeArray(paths).filter(this.createFilter());
- }
-
- // @returns {TestResult}
- }, {
- key: "test",
- value: function test(path) {
- return this._test(path, this._testCache, true);
- }
- }]);
- return Ignore;
-}();
-var factory = function factory(options) {
- return new Ignore(options);
-};
-var isPathValid = function isPathValid(path) {
- return checkPath(path && checkPath.convert(path), path, RETURN_FALSE);
-};
-factory.isPathValid = isPathValid;
-
-// Fixes typescript
-factory["default"] = factory;
-module.exports = factory;
-
-// Windows
-// --------------------------------------------------------------
-/* istanbul ignore if */
-if (
-// Detect `process` so that it can run in browsers.
-typeof process !== 'undefined' && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === 'win32')) {
- /* eslint no-control-regex: "off" */
- var makePosix = function makePosix(str) {
- return /^\\\\\?\\/.test(str) || /[\0-\x1F"<>\|]+/.test(str) ? str : str.replace(/\\/g, '/');
- };
- checkPath.convert = makePosix;
-
- // 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/'
- // 'd:\\foo'
- var REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
- checkPath.isNotRelative = function (path) {
- return REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) || isNotRelative(path);
- };
-}
diff --git a/includes/search/node_modules/ignore/package.json b/includes/search/node_modules/ignore/package.json
deleted file mode 100644
index fe5498d..0000000
--- a/includes/search/node_modules/ignore/package.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "name": "ignore",
- "version": "5.2.4",
- "description": "Ignore is a manager and filter for .gitignore rules, the one used by eslint, gitbook and many others.",
- "files": [
- "legacy.js",
- "index.js",
- "index.d.ts",
- "LICENSE-MIT"
- ],
- "scripts": {
- "prepublishOnly": "npm run build",
- "build": "babel -o legacy.js index.js",
- "test:lint": "eslint .",
- "test:tsc": "tsc ./test/ts/simple.ts --lib ES6",
- "test:ts": "node ./test/ts/simple.js",
- "tap": "tap --reporter classic",
- "test:git": "npm run tap test/git-check-ignore.js",
- "test:ignore": "npm run tap test/ignore.js",
- "test:others": "npm run tap test/others.js",
- "test:cases": "npm run tap test/*.js -- --coverage",
- "test:no-coverage": "npm run tap test/*.js -- --no-check-coverage",
- "test:only": "npm run test:lint && npm run test:tsc && npm run test:ts && npm run test:cases",
- "test": "npm run test:only",
- "test:win32": "IGNORE_TEST_WIN32=1 npm run test",
- "report": "tap --coverage-report=html",
- "posttest": "npm run report && codecov"
- },
- "repository": {
- "type": "git",
- "url": "git@github.com:kaelzhang/node-ignore.git"
- },
- "keywords": [
- "ignore",
- ".gitignore",
- "gitignore",
- "npmignore",
- "rules",
- "manager",
- "filter",
- "regexp",
- "regex",
- "fnmatch",
- "glob",
- "asterisks",
- "regular-expression"
- ],
- "author": "kael",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/kaelzhang/node-ignore/issues"
- },
- "devDependencies": {
- "@babel/cli": "^7.19.3",
- "@babel/core": "^7.20.5",
- "@babel/preset-env": "^7.20.2",
- "codecov": "^3.8.2",
- "debug": "^4.3.4",
- "eslint": "^8.30.0",
- "eslint-config-ostai": "^3.0.0",
- "eslint-plugin-import": "^2.26.0",
- "mkdirp": "^1.0.4",
- "pre-suf": "^1.1.1",
- "rimraf": "^3.0.2",
- "spawn-sync": "^2.0.0",
- "tap": "^16.3.2",
- "tmp": "0.2.1",
- "typescript": "^4.9.4"
- },
- "engines": {
- "node": ">= 4"
- }
-}
diff --git a/includes/search/node_modules/inherits/LICENSE b/includes/search/node_modules/inherits/LICENSE
deleted file mode 100644
index dea3013..0000000
--- a/includes/search/node_modules/inherits/LICENSE
+++ /dev/null
@@ -1,16 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
diff --git a/includes/search/node_modules/inherits/README.md b/includes/search/node_modules/inherits/README.md
deleted file mode 100644
index b1c5665..0000000
--- a/includes/search/node_modules/inherits/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-Browser-friendly inheritance fully compatible with standard node.js
-[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).
-
-This package exports standard `inherits` from node.js `util` module in
-node environment, but also provides alternative browser-friendly
-implementation through [browser
-field](https://gist.github.com/shtylman/4339901). Alternative
-implementation is a literal copy of standard one located in standalone
-module to avoid requiring of `util`. It also has a shim for old
-browsers with no `Object.create` support.
-
-While keeping you sure you are using standard `inherits`
-implementation in node.js environment, it allows bundlers such as
-[browserify](https://github.com/substack/node-browserify) to not
-include full `util` package to your client code if all you need is
-just `inherits` function. It worth, because browser shim for `util`
-package is large and `inherits` is often the single function you need
-from it.
-
-It's recommended to use this package instead of
-`require('util').inherits` for any code that has chances to be used
-not only in node.js but in browser too.
-
-## usage
-
-```js
-var inherits = require('inherits');
-// then use exactly as the standard one
-```
-
-## note on version ~1.0
-
-Version ~1.0 had completely different motivation and is not compatible
-neither with 2.0 nor with standard node.js `inherits`.
-
-If you are using version ~1.0 and planning to switch to ~2.0, be
-careful:
-
-* new version uses `super_` instead of `super` for referencing
- superclass
-* new version overwrites current prototype while old one preserves any
- existing fields on it
diff --git a/includes/search/node_modules/inherits/inherits.js b/includes/search/node_modules/inherits/inherits.js
deleted file mode 100644
index f71f2d9..0000000
--- a/includes/search/node_modules/inherits/inherits.js
+++ /dev/null
@@ -1,9 +0,0 @@
-try {
- var util = require('util');
- /* istanbul ignore next */
- if (typeof util.inherits !== 'function') throw '';
- module.exports = util.inherits;
-} catch (e) {
- /* istanbul ignore next */
- module.exports = require('./inherits_browser.js');
-}
diff --git a/includes/search/node_modules/inherits/inherits_browser.js b/includes/search/node_modules/inherits/inherits_browser.js
deleted file mode 100644
index 86bbb3d..0000000
--- a/includes/search/node_modules/inherits/inherits_browser.js
+++ /dev/null
@@ -1,27 +0,0 @@
-if (typeof Object.create === 'function') {
- // implementation from standard node.js 'util' module
- module.exports = function inherits(ctor, superCtor) {
- if (superCtor) {
- ctor.super_ = superCtor
- ctor.prototype = Object.create(superCtor.prototype, {
- constructor: {
- value: ctor,
- enumerable: false,
- writable: true,
- configurable: true
- }
- })
- }
- };
-} else {
- // old school shim for old browsers
- module.exports = function inherits(ctor, superCtor) {
- if (superCtor) {
- ctor.super_ = superCtor
- var TempCtor = function () {}
- TempCtor.prototype = superCtor.prototype
- ctor.prototype = new TempCtor()
- ctor.prototype.constructor = ctor
- }
- }
-}
diff --git a/includes/search/node_modules/inherits/package.json b/includes/search/node_modules/inherits/package.json
deleted file mode 100644
index 37b4366..0000000
--- a/includes/search/node_modules/inherits/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "inherits",
- "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
- "version": "2.0.4",
- "keywords": [
- "inheritance",
- "class",
- "klass",
- "oop",
- "object-oriented",
- "inherits",
- "browser",
- "browserify"
- ],
- "main": "./inherits.js",
- "browser": "./inherits_browser.js",
- "repository": "git://github.com/isaacs/inherits",
- "license": "ISC",
- "scripts": {
- "test": "tap"
- },
- "devDependencies": {
- "tap": "^14.2.4"
- },
- "files": [
- "inherits.js",
- "inherits_browser.js"
- ]
-}
diff --git a/includes/search/node_modules/ini/LICENSE b/includes/search/node_modules/ini/LICENSE
deleted file mode 100644
index 19129e3..0000000
--- a/includes/search/node_modules/ini/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/ini/README.md b/includes/search/node_modules/ini/README.md
deleted file mode 100644
index 33df258..0000000
--- a/includes/search/node_modules/ini/README.md
+++ /dev/null
@@ -1,102 +0,0 @@
-An ini format parser and serializer for node.
-
-Sections are treated as nested objects. Items before the first
-heading are saved on the object directly.
-
-## Usage
-
-Consider an ini-file `config.ini` that looks like this:
-
- ; this comment is being ignored
- scope = global
-
- [database]
- user = dbuser
- password = dbpassword
- database = use_this_database
-
- [paths.default]
- datadir = /var/lib/data
- array[] = first value
- array[] = second value
- array[] = third value
-
-You can read, manipulate and write the ini-file like so:
-
- var fs = require('fs')
- , ini = require('ini')
-
- var config = ini.parse(fs.readFileSync('./config.ini', 'utf-8'))
-
- config.scope = 'local'
- config.database.database = 'use_another_database'
- config.paths.default.tmpdir = '/tmp'
- delete config.paths.default.datadir
- config.paths.default.array.push('fourth value')
-
- fs.writeFileSync('./config_modified.ini', ini.stringify(config, { section: 'section' }))
-
-This will result in a file called `config_modified.ini` being written
-to the filesystem with the following content:
-
- [section]
- scope=local
- [section.database]
- user=dbuser
- password=dbpassword
- database=use_another_database
- [section.paths.default]
- tmpdir=/tmp
- array[]=first value
- array[]=second value
- array[]=third value
- array[]=fourth value
-
-
-## API
-
-### decode(inistring)
-
-Decode the ini-style formatted `inistring` into a nested object.
-
-### parse(inistring)
-
-Alias for `decode(inistring)`
-
-### encode(object, [options])
-
-Encode the object `object` into an ini-style formatted string. If the
-optional parameter `section` is given, then all top-level properties
-of the object are put into this section and the `section`-string is
-prepended to all sub-sections, see the usage example above.
-
-The `options` object may contain the following:
-
-* `section` A string which will be the first `section` in the encoded
- ini data. Defaults to none.
-* `whitespace` Boolean to specify whether to put whitespace around the
- `=` character. By default, whitespace is omitted, to be friendly to
- some persnickety old parsers that don't tolerate it well. But some
- find that it's more human-readable and pretty with the whitespace.
-
-For backwards compatibility reasons, if a `string` options is passed
-in, then it is assumed to be the `section` value.
-
-### stringify(object, [options])
-
-Alias for `encode(object, [options])`
-
-### safe(val)
-
-Escapes the string `val` such that it is safe to be used as a key or
-value in an ini-file. Basically escapes quotes. For example
-
- ini.safe('"unsafe string"')
-
-would result in
-
- "\"unsafe string\""
-
-### unsafe(val)
-
-Unescapes the string `val`
diff --git a/includes/search/node_modules/ini/ini.js b/includes/search/node_modules/ini/ini.js
deleted file mode 100644
index b576f08..0000000
--- a/includes/search/node_modules/ini/ini.js
+++ /dev/null
@@ -1,206 +0,0 @@
-exports.parse = exports.decode = decode
-
-exports.stringify = exports.encode = encode
-
-exports.safe = safe
-exports.unsafe = unsafe
-
-var eol = typeof process !== 'undefined' &&
- process.platform === 'win32' ? '\r\n' : '\n'
-
-function encode (obj, opt) {
- var children = []
- var out = ''
-
- if (typeof opt === 'string') {
- opt = {
- section: opt,
- whitespace: false,
- }
- } else {
- opt = opt || {}
- opt.whitespace = opt.whitespace === true
- }
-
- var separator = opt.whitespace ? ' = ' : '='
-
- Object.keys(obj).forEach(function (k, _, __) {
- var val = obj[k]
- if (val && Array.isArray(val)) {
- val.forEach(function (item) {
- out += safe(k + '[]') + separator + safe(item) + '\n'
- })
- } else if (val && typeof val === 'object')
- children.push(k)
- else
- out += safe(k) + separator + safe(val) + eol
- })
-
- if (opt.section && out.length)
- out = '[' + safe(opt.section) + ']' + eol + out
-
- children.forEach(function (k, _, __) {
- var nk = dotSplit(k).join('\\.')
- var section = (opt.section ? opt.section + '.' : '') + nk
- var child = encode(obj[k], {
- section: section,
- whitespace: opt.whitespace,
- })
- if (out.length && child.length)
- out += eol
-
- out += child
- })
-
- return out
-}
-
-function dotSplit (str) {
- return str.replace(/\1/g, '\u0002LITERAL\\1LITERAL\u0002')
- .replace(/\\\./g, '\u0001')
- .split(/\./).map(function (part) {
- return part.replace(/\1/g, '\\.')
- .replace(/\2LITERAL\\1LITERAL\2/g, '\u0001')
- })
-}
-
-function decode (str) {
- var out = {}
- var p = out
- var section = null
- // section |key = value
- var re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i
- var lines = str.split(/[\r\n]+/g)
-
- lines.forEach(function (line, _, __) {
- if (!line || line.match(/^\s*[;#]/))
- return
- var match = line.match(re)
- if (!match)
- return
- if (match[1] !== undefined) {
- section = unsafe(match[1])
- if (section === '__proto__') {
- // not allowed
- // keep parsing the section, but don't attach it.
- p = {}
- return
- }
- p = out[section] = out[section] || {}
- return
- }
- var key = unsafe(match[2])
- if (key === '__proto__')
- return
- var value = match[3] ? unsafe(match[4]) : true
- switch (value) {
- case 'true':
- case 'false':
- case 'null': value = JSON.parse(value)
- }
-
- // Convert keys with '[]' suffix to an array
- if (key.length > 2 && key.slice(-2) === '[]') {
- key = key.substring(0, key.length - 2)
- if (key === '__proto__')
- return
- if (!p[key])
- p[key] = []
- else if (!Array.isArray(p[key]))
- p[key] = [p[key]]
- }
-
- // safeguard against resetting a previously defined
- // array by accidentally forgetting the brackets
- if (Array.isArray(p[key]))
- p[key].push(value)
- else
- p[key] = value
- })
-
- // {a:{y:1},"a.b":{x:2}} --> {a:{y:1,b:{x:2}}}
- // use a filter to return the keys that have to be deleted.
- Object.keys(out).filter(function (k, _, __) {
- if (!out[k] ||
- typeof out[k] !== 'object' ||
- Array.isArray(out[k]))
- return false
-
- // see if the parent section is also an object.
- // if so, add it to that, and mark this one for deletion
- var parts = dotSplit(k)
- var p = out
- var l = parts.pop()
- var nl = l.replace(/\\\./g, '.')
- parts.forEach(function (part, _, __) {
- if (part === '__proto__')
- return
- if (!p[part] || typeof p[part] !== 'object')
- p[part] = {}
- p = p[part]
- })
- if (p === out && nl === l)
- return false
-
- p[nl] = out[k]
- return true
- }).forEach(function (del, _, __) {
- delete out[del]
- })
-
- return out
-}
-
-function isQuoted (val) {
- return (val.charAt(0) === '"' && val.slice(-1) === '"') ||
- (val.charAt(0) === "'" && val.slice(-1) === "'")
-}
-
-function safe (val) {
- return (typeof val !== 'string' ||
- val.match(/[=\r\n]/) ||
- val.match(/^\[/) ||
- (val.length > 1 &&
- isQuoted(val)) ||
- val !== val.trim())
- ? JSON.stringify(val)
- : val.replace(/;/g, '\\;').replace(/#/g, '\\#')
-}
-
-function unsafe (val, doUnesc) {
- val = (val || '').trim()
- if (isQuoted(val)) {
- // remove the single quotes before calling JSON.parse
- if (val.charAt(0) === "'")
- val = val.substr(1, val.length - 2)
-
- try {
- val = JSON.parse(val)
- } catch (_) {}
- } else {
- // walk the val to find the first not-escaped ; character
- var esc = false
- var unesc = ''
- for (var i = 0, l = val.length; i < l; i++) {
- var c = val.charAt(i)
- if (esc) {
- if ('\\;#'.indexOf(c) !== -1)
- unesc += c
- else
- unesc += '\\' + c
-
- esc = false
- } else if (';#'.indexOf(c) !== -1)
- break
- else if (c === '\\')
- esc = true
- else
- unesc += c
- }
- if (esc)
- unesc += '\\'
-
- return unesc.trim()
- }
- return val
-}
diff --git a/includes/search/node_modules/ini/package.json b/includes/search/node_modules/ini/package.json
deleted file mode 100644
index c830a35..0000000
--- a/includes/search/node_modules/ini/package.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
- "name": "ini",
- "description": "An ini encoder/decoder for node",
- "version": "1.3.8",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/ini.git"
- },
- "main": "ini.js",
- "scripts": {
- "eslint": "eslint",
- "lint": "npm run eslint -- ini.js test/*.js",
- "lintfix": "npm run lint -- --fix",
- "test": "tap",
- "posttest": "npm run lint",
- "preversion": "npm test",
- "postversion": "npm publish",
- "prepublishOnly": "git push origin --follow-tags"
- },
- "devDependencies": {
- "eslint": "^7.9.0",
- "eslint-plugin-import": "^2.22.0",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^4.2.1",
- "eslint-plugin-standard": "^4.0.1",
- "tap": "14"
- },
- "license": "ISC",
- "files": [
- "ini.js"
- ]
-}
diff --git a/includes/search/node_modules/into-stream/index.d.ts b/includes/search/node_modules/into-stream/index.d.ts
deleted file mode 100644
index 2fec026..0000000
--- a/includes/search/node_modules/into-stream/index.d.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/// <reference types="node"/>
-import {Readable as ReadableStream} from 'stream';
-
-declare namespace intoStream {
- type Input =
- | Buffer
- | NodeJS.TypedArray
- | ArrayBuffer
- | string
- | Iterable<Buffer | string>
- | AsyncIterable<Buffer | string>;
-
- /* eslint-disable @typescript-eslint/ban-types */
- type InputObject =
- | object
- | Iterable<object>
- | AsyncIterable<object>;
- /* eslint-enable @typescript-eslint/ban-types */
-}
-
-declare const intoStream: {
- /**
- Convert object `input` into a stream.
-
- @param input - The object input to convert to a stream.
- @returns A [readable object stream](https://nodejs.org/api/stream.html#stream_object_mode).
- */
- object: (
- input: intoStream.InputObject | Promise<intoStream.InputObject>
- ) => ReadableStream;
-
- /**
- Convert `input` into a stream. Adheres to the requested chunk size, except for `array` where each element will be a chunk.
-
- @param input - The input to convert to a stream.
- @returns A [readable stream](https://nodejs.org/api/stream.html#stream_class_stream_readable).
-
- @example
- ```
- import intoStream = require('into-stream');
-
- intoStream('unicorn').pipe(process.stdout);
- //=> 'unicorn'
- ```
- */
- (input: intoStream.Input | Promise<intoStream.Input>): ReadableStream;
-};
-
-export = intoStream;
diff --git a/includes/search/node_modules/into-stream/index.js b/includes/search/node_modules/into-stream/index.js
deleted file mode 100644
index 942d8a5..0000000
--- a/includes/search/node_modules/into-stream/index.js
+++ /dev/null
@@ -1,138 +0,0 @@
-'use strict';
-const from = require('from2');
-const pIsPromise = require('p-is-promise');
-
-const intoStream = input => {
- if (Array.isArray(input)) {
- input = input.slice();
- }
-
- let promise;
- let iterator;
- let asyncIterator;
-
- prepare(input);
-
- function prepare(value) {
- input = value;
-
- if (
- input instanceof ArrayBuffer ||
- (ArrayBuffer.isView(input) && !Buffer.isBuffer(input))
- ) {
- input = Buffer.from(input);
- }
-
- promise = pIsPromise(input) ? input : null;
-
- // We don't iterate on strings and buffers since slicing them is ~7x faster
- const shouldIterate = !promise && input[Symbol.iterator] && typeof input !== 'string' && !Buffer.isBuffer(input);
- iterator = shouldIterate ? input[Symbol.iterator]() : null;
-
- const shouldAsyncIterate = !promise && input[Symbol.asyncIterator];
- asyncIterator = shouldAsyncIterate ? input[Symbol.asyncIterator]() : null;
- }
-
- return from(function reader(size, callback) {
- if (promise) {
- (async () => {
- try {
- await prepare(await promise);
- reader.call(this, size, callback);
- } catch (error) {
- callback(error);
- }
- })();
-
- return;
- }
-
- if (iterator) {
- const object = iterator.next();
- setImmediate(callback, null, object.done ? null : object.value);
- return;
- }
-
- if (asyncIterator) {
- (async () => {
- try {
- const object = await asyncIterator.next();
- setImmediate(callback, null, object.done ? null : object.value);
- } catch (error) {
- setImmediate(callback, error);
- }
- })();
-
- return;
- }
-
- if (input.length === 0) {
- setImmediate(callback, null, null);
- return;
- }
-
- const chunk = input.slice(0, size);
- input = input.slice(size);
-
- setImmediate(callback, null, chunk);
- });
-};
-
-module.exports = intoStream;
-
-module.exports.object = input => {
- if (Array.isArray(input)) {
- input = input.slice();
- }
-
- let promise;
- let iterator;
- let asyncIterator;
-
- prepare(input);
-
- function prepare(value) {
- input = value;
- promise = pIsPromise(input) ? input : null;
- iterator = !promise && input[Symbol.iterator] ? input[Symbol.iterator]() : null;
- asyncIterator = !promise && input[Symbol.asyncIterator] ? input[Symbol.asyncIterator]() : null;
- }
-
- return from.obj(function reader(size, callback) {
- if (promise) {
- (async () => {
- try {
- await prepare(await promise);
- reader.call(this, size, callback);
- } catch (error) {
- callback(error);
- }
- })();
-
- return;
- }
-
- if (iterator) {
- const object = iterator.next();
- setImmediate(callback, null, object.done ? null : object.value);
- return;
- }
-
- if (asyncIterator) {
- (async () => {
- try {
- const object = await asyncIterator.next();
- setImmediate(callback, null, object.done ? null : object.value);
- } catch (error) {
- setImmediate(callback, error);
- }
- })();
-
- return;
- }
-
- this.push(input);
-
- setImmediate(callback, null, null);
- });
-};
diff --git a/includes/search/node_modules/into-stream/license b/includes/search/node_modules/into-stream/license
deleted file mode 100644
index fa7ceba..0000000
--- a/includes/search/node_modules/into-stream/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/into-stream/package.json b/includes/search/node_modules/into-stream/package.json
deleted file mode 100644
index 9c3122c..0000000
--- a/includes/search/node_modules/into-stream/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "into-stream",
- "version": "6.0.0",
- "description": "Convert a string/promise/array/iterable/asynciterable/buffer/typedarray/arraybuffer/object into a stream",
- "license": "MIT",
- "repository": "sindresorhus/into-stream",
- "funding": "https://github.com/sponsors/sindresorhus",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "https://sindresorhus.com"
- },
- "engines": {
- "node": ">=10"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "stream",
- "buffer",
- "string",
- "object",
- "array",
- "iterable",
- "async",
- "asynciterable",
- "promise",
- "promises",
- "from",
- "into",
- "to",
- "transform",
- "convert",
- "readable",
- "pull",
- "gulpfriendly",
- "value"
- ],
- "dependencies": {
- "from2": "^2.3.0",
- "p-is-promise": "^3.0.0"
- },
- "devDependencies": {
- "ava": "^2.4.0",
- "get-stream": "^6.0.0",
- "p-event": "^4.2.0",
- "p-immediate": "^3.1.0",
- "tsd": "^0.13.1",
- "xo": "^0.33.0"
- }
-}
diff --git a/includes/search/node_modules/into-stream/readme.md b/includes/search/node_modules/into-stream/readme.md
deleted file mode 100644
index c52e322..0000000
--- a/includes/search/node_modules/into-stream/readme.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# into-stream [![Build Status](https://travis-ci.com/sindresorhus/into-stream.svg?branch=master)](https://travis-ci.com/github/sindresorhus/into-stream)
-
-> Convert a string/promise/array/iterable/asynciterable/buffer/typedarray/arraybuffer/object into a stream
-
-Correctly chunks up the input and handles backpressure.
-
-## Install
-
-```
-$ npm install into-stream
-```
-
-## Usage
-
-```js
-const intoStream = require('into-stream');
-
-intoStream('unicorn').pipe(process.stdout);
-//=> 'unicorn'
-```
-
-## API
-
-### intoStream(input)
-
-Type: `Buffer | TypedArray | ArrayBuffer | string | Iterable<Buffer | string> | AsyncIterable<Buffer | string> | Promise`\
-Returns: [Readable stream](https://nodejs.org/api/stream.html#stream_class_stream_readable)
-
-Adheres to the requested chunk size, except for `array` where each element will be a chunk.
-
-### intoStream.object(input)
-
-Type: `object | Iterable<object> | AsyncIterable<object> | Promise`\
-Returns: [Readable object stream](https://nodejs.org/api/stream.html#stream_object_mode)
-
-## Related
-
-- [to-readable-stream](https://github.com/sindresorhus/to-readable-stream) - Simpler version of this module
diff --git a/includes/search/node_modules/is-core-module/.eslintrc b/includes/search/node_modules/is-core-module/.eslintrc
deleted file mode 100644
index f2e0726..0000000
--- a/includes/search/node_modules/is-core-module/.eslintrc
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "extends": "@ljharb",
- "root": true,
- "rules": {
- "func-style": 1,
- },
- "overrides": [
- {
- "files": "test/**",
- "rules": {
- "global-require": 0,
- "max-depth": 0,
- "max-lines-per-function": 0,
- "no-negated-condition": 0,
- },
- },
- ],
-}
diff --git a/includes/search/node_modules/is-core-module/.nycrc b/includes/search/node_modules/is-core-module/.nycrc
deleted file mode 100644
index bdd626c..0000000
--- a/includes/search/node_modules/is-core-module/.nycrc
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "all": true,
- "check-coverage": false,
- "reporter": ["text-summary", "text", "html", "json"],
- "exclude": [
- "coverage",
- "test"
- ]
-}
diff --git a/includes/search/node_modules/is-core-module/CHANGELOG.md b/includes/search/node_modules/is-core-module/CHANGELOG.md
deleted file mode 100644
index 1f4d1d6..0000000
--- a/includes/search/node_modules/is-core-module/CHANGELOG.md
+++ /dev/null
@@ -1,136 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
-## [v2.9.0](https://github.com/inspect-js/is-core-module/compare/v2.8.1...v2.9.0) - 2022-04-19
-
-### Commits
-
-- [New] add `node:test`, in node 18+ [`f853eca`](https://github.com/inspect-js/is-core-module/commit/f853eca801d0a7d4e1dbb670f1b6d9837d9533c5)
-- [Tests] use `mock-property` [`03b3644`](https://github.com/inspect-js/is-core-module/commit/03b3644dff4417f4ba5a7d0aa0138f5f6b3e5c46)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`7c0e2d0`](https://github.com/inspect-js/is-core-module/commit/7c0e2d06ed2a89acf53abe2ab34d703ed5b03455)
-- [meta] simplify "exports" [`d6ed201`](https://github.com/inspect-js/is-core-module/commit/d6ed201eba7fbba0e59814a9050fc49a6e9878c8)
-
-## [v2.8.1](https://github.com/inspect-js/is-core-module/compare/v2.8.0...v2.8.1) - 2022-01-05
-
-### Commits
-
-- [actions] reuse common workflows [`cd2cf9b`](https://github.com/inspect-js/is-core-module/commit/cd2cf9b3b66c8d328f65610efe41e9325db7716d)
-- [Fix] update node 0.4 results [`062195d`](https://github.com/inspect-js/is-core-module/commit/062195d89f0876a88b95d378b43f7fcc1205bc5b)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `tape` [`0790b62`](https://github.com/inspect-js/is-core-module/commit/0790b6222848c6167132f9f73acc3520fa8d1298)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`7d139a6`](https://github.com/inspect-js/is-core-module/commit/7d139a6d767709eabf0a0251e074ec1fb230c06e)
-- [Tests] run `nyc` in `tests-only`, not `test` [`780e8a0`](https://github.com/inspect-js/is-core-module/commit/780e8a049951c71cf78b1707f0871c48a28bde14)
-
-## [v2.8.0](https://github.com/inspect-js/is-core-module/compare/v2.7.0...v2.8.0) - 2021-10-14
-
-### Commits
-
-- [actions] update codecov uploader [`0cfe94e`](https://github.com/inspect-js/is-core-module/commit/0cfe94e106a7d005ea03e008c0a21dec13a77904)
-- [New] add `readline/promises` to node v17+ [`4f78c30`](https://github.com/inspect-js/is-core-module/commit/4f78c3008b1b58b4db6dc91d99610b1bc859da7e)
-- [Tests] node ^14.18 supports `node:` prefixes for CJS [`43e2f17`](https://github.com/inspect-js/is-core-module/commit/43e2f177452cea2f0eaf34f61b5407217bbdb6f4)
-
-## [v2.7.0](https://github.com/inspect-js/is-core-module/compare/v2.6.0...v2.7.0) - 2021-09-27
-
-### Commits
-
-- [New] node `v14.18` added `node:`-prefixed core modules to `require` [`6d943ab`](https://github.com/inspect-js/is-core-module/commit/6d943abe81382b9bbe344384d80fbfebe1cc0526)
-- [Tests] add coverage for Object.prototype pollution [`c6baf5f`](https://github.com/inspect-js/is-core-module/commit/c6baf5f942311a1945c1af41167bb80b84df2af7)
-- [Dev Deps] update `@ljharb/eslint-config` [`6717f00`](https://github.com/inspect-js/is-core-module/commit/6717f000d063ea57beb772bded36c2f056ac404c)
-- [eslint] fix linter warning [`594c10b`](https://github.com/inspect-js/is-core-module/commit/594c10bb7d39d7eb00925c90924199ff596184b2)
-- [meta] add `sideEffects` flag [`c32cfa5`](https://github.com/inspect-js/is-core-module/commit/c32cfa5195632944c4dd4284a142b8476e75be13)
-
-## [v2.6.0](https://github.com/inspect-js/is-core-module/compare/v2.5.0...v2.6.0) - 2021-08-17
-
-### Commits
-
-- [Dev Deps] update `eslint`, `tape` [`6cc928f`](https://github.com/inspect-js/is-core-module/commit/6cc928f8a4bba66aeeccc4f6beeac736d4bd3081)
-- [New] add `stream/consumers` to node `&gt;= 16.7` [`a1a423e`](https://github.com/inspect-js/is-core-module/commit/a1a423e467e4cc27df180234fad5bab45943e67d)
-- [Refactor] Remove duplicated `&&` operand [`86faea7`](https://github.com/inspect-js/is-core-module/commit/86faea738213a2433c62d1098488dc9314dca832)
-- [Tests] include prereleases [`a4da7a6`](https://github.com/inspect-js/is-core-module/commit/a4da7a6abf7568e2aa4fd98e69452179f1850963)
-
-## [v2.5.0](https://github.com/inspect-js/is-core-module/compare/v2.4.0...v2.5.0) - 2021-07-12
-
-### Commits
-
-- [Dev Deps] update `auto-changelog`, `eslint` [`6334cc9`](https://github.com/inspect-js/is-core-module/commit/6334cc94f3af7469685bd8f236740991baaf2705)
-- [New] add `stream/web` to node v16.5+ [`17ac59b`](https://github.com/inspect-js/is-core-module/commit/17ac59b662d63e220a2e5728625f005c24f177b2)
-
-## [v2.4.0](https://github.com/inspect-js/is-core-module/compare/v2.3.0...v2.4.0) - 2021-05-09
-
-### Commits
-
-- [readme] add actions and codecov badges [`82b7faa`](https://github.com/inspect-js/is-core-module/commit/82b7faa12b56dbe47fbea67e1a5b9e447027ba40)
-- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`8096868`](https://github.com/inspect-js/is-core-module/commit/8096868c024a161ccd4d44110b136763e92eace8)
-- [Dev Deps] update `eslint` [`6726824`](https://github.com/inspect-js/is-core-module/commit/67268249b88230018c510f6532a8046d7326346f)
-- [New] add `diagnostics_channel` to node `^14.17` [`86c6563`](https://github.com/inspect-js/is-core-module/commit/86c65634201b8ff9b3e48a9a782594579c7f5c3c)
-- [meta] fix prepublish script [`697a01e`](https://github.com/inspect-js/is-core-module/commit/697a01e3c9c0be074066520954f30fb28532ec57)
-
-## [v2.3.0](https://github.com/inspect-js/is-core-module/compare/v2.2.0...v2.3.0) - 2021-04-24
-
-### Commits
-
-- [meta] do not publish github action workflow files [`060d4bb`](https://github.com/inspect-js/is-core-module/commit/060d4bb971a29451c19ff336eb56bee27f9fa95a)
-- [New] add support for `node:` prefix, in node 16+ [`7341223`](https://github.com/inspect-js/is-core-module/commit/73412230a769f6e81c05eea50b6520cebf54ed2f)
-- [actions] use `node/install` instead of `node/run`; use `codecov` action [`016269a`](https://github.com/inspect-js/is-core-module/commit/016269abae9f6657a5254adfbb813f09a05067f9)
-- [patch] remove unneeded `.0` in version ranges [`cb466a6`](https://github.com/inspect-js/is-core-module/commit/cb466a6d89e52b8389e5c12715efcd550c41cea3)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`c9f9c39`](https://github.com/inspect-js/is-core-module/commit/c9f9c396ace60ef81906f98059c064e6452473ed)
-- [actions] update workflows [`3ee4a89`](https://github.com/inspect-js/is-core-module/commit/3ee4a89fd5a02fccd43882d905448ea6a98e9a3c)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`dee4fed`](https://github.com/inspect-js/is-core-module/commit/dee4fed79690c1d43a22f7fa9426abebdc6d727f)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`7d046ba`](https://github.com/inspect-js/is-core-module/commit/7d046ba07ae8c9292e43652694ca808d7b309de8)
-- [meta] use `prepublishOnly` script for npm 7+ [`149e677`](https://github.com/inspect-js/is-core-module/commit/149e6771a5ede6d097e71785b467a9c4b4977cc7)
-- [readme] remove travis badge [`903b51d`](https://github.com/inspect-js/is-core-module/commit/903b51d6b69b98abeabfbc3695c345b02646f19c)
-
-## [v2.2.0](https://github.com/inspect-js/is-core-module/compare/v2.1.0...v2.2.0) - 2020-11-26
-
-### Commits
-
-- [Tests] migrate tests to Github Actions [`c919f57`](https://github.com/inspect-js/is-core-module/commit/c919f573c0a92d10a0acad0b650b5aecb033d426)
-- [patch] `core.json`: %s/ /\t/g [`db3f685`](https://github.com/inspect-js/is-core-module/commit/db3f68581f53e73cc09cd675955eb1bdd6a5a39b)
-- [Tests] run `nyc` on all tests [`b2f925f`](https://github.com/inspect-js/is-core-module/commit/b2f925f8866f210ef441f39fcc8cc42692ab89b1)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`; add `safe-publish-latest` [`89f02a2`](https://github.com/inspect-js/is-core-module/commit/89f02a2b4162246dea303a6ee31bb9a550b05c72)
-- [New] add `path/posix`, `path/win32`, `util/types` [`77f94f1`](https://github.com/inspect-js/is-core-module/commit/77f94f1e90ffd7c0be2a3f1aa8574ebf7fd981b3)
-
-## [v2.1.0](https://github.com/inspect-js/is-core-module/compare/v2.0.0...v2.1.0) - 2020-11-04
-
-### Commits
-
-- [Dev Deps] update `eslint` [`5e0034e`](https://github.com/inspect-js/is-core-module/commit/5e0034eae57c09c8f1bd769f502486a00f56c6e4)
-- [New] Add `diagnostics_channel` [`c2d83d0`](https://github.com/inspect-js/is-core-module/commit/c2d83d0a0225a1a658945d9bab7036ea347d29ec)
-
-## [v2.0.0](https://github.com/inspect-js/is-core-module/compare/v1.0.2...v2.0.0) - 2020-09-29
-
-### Commits
-
-- v2 implementation [`865aeb5`](https://github.com/inspect-js/is-core-module/commit/865aeb5ca0e90248a3dfff5d7622e4751fdeb9cd)
-- Only apps should have lockfiles [`5a5e660`](https://github.com/inspect-js/is-core-module/commit/5a5e660d568e37eb44e17fb1ebb12a105205fc2b)
-- Initial commit for v2 [`5a51524`](https://github.com/inspect-js/is-core-module/commit/5a51524e06f92adece5fbb138c69b7b9748a2348)
-- Tests [`116eae4`](https://github.com/inspect-js/is-core-module/commit/116eae4fccd01bc72c1fd3cc4b7561c387afc496)
-- [meta] add `auto-changelog` [`c24388b`](https://github.com/inspect-js/is-core-module/commit/c24388bee828d223040519d1f5b226ca35beee63)
-- [actions] add "Automatic Rebase" and "require allow edits" actions [`34292db`](https://github.com/inspect-js/is-core-module/commit/34292dbcbadae0868aff03c22dbd8b7b8a11558a)
-- [Tests] add `npm run lint` [`4f9eeee`](https://github.com/inspect-js/is-core-module/commit/4f9eeee7ddff10698bbf528620f4dc8d4fa3e697)
-- [readme] fix travis badges, https all URLs [`e516a73`](https://github.com/inspect-js/is-core-module/commit/e516a73b0dccce20938c432b1ba512eae8eff9e9)
-- [meta] create FUNDING.yml [`1aabebc`](https://github.com/inspect-js/is-core-module/commit/1aabebca98d01f8a04e46bc2e2520fa93cf21ac6)
-- [Fix] `domain`: domain landed sometime &gt; v0.7.7 and &lt;= v0.7.12 [`2df7d37`](https://github.com/inspect-js/is-core-module/commit/2df7d37595d41b15eeada732b706b926c2771655)
-- [Fix] `sys`: worked in 0.6, not 0.7, and 0.8+ [`a75c134`](https://github.com/inspect-js/is-core-module/commit/a75c134229e1e9441801f6b73f6a52489346eb65)
-
-## [v1.0.2](https://github.com/inspect-js/is-core-module/compare/v1.0.1...v1.0.2) - 2014-09-28
-
-### Commits
-
-- simpler [`66fe90f`](https://github.com/inspect-js/is-core-module/commit/66fe90f9771581b9adc0c3900baa52c21b5baea2)
-
-## [v1.0.1](https://github.com/inspect-js/is-core-module/compare/v1.0.0...v1.0.1) - 2014-09-28
-
-### Commits
-
-- remove stupid [`f21f906`](https://github.com/inspect-js/is-core-module/commit/f21f906f882c2bd656a5fc5ed6fbe48ddaffb2ac)
-- update readme [`1eff0ec`](https://github.com/inspect-js/is-core-module/commit/1eff0ec69798d1ec65771552d1562911e90a8027)
-
-## v1.0.0 - 2014-09-28
-
-### Commits
-
-- init [`48e5e76`](https://github.com/inspect-js/is-core-module/commit/48e5e76cac378fddb8c1f7d4055b8dfc943d6b96)
diff --git a/includes/search/node_modules/is-core-module/LICENSE b/includes/search/node_modules/is-core-module/LICENSE
deleted file mode 100644
index 2e50287..0000000
--- a/includes/search/node_modules/is-core-module/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Dave Justice
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/is-core-module/README.md b/includes/search/node_modules/is-core-module/README.md
deleted file mode 100644
index 062d906..0000000
--- a/includes/search/node_modules/is-core-module/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# is-core-module <sup>[![Version Badge][2]][1]</sup>
-
-[![github actions][actions-image]][actions-url]
-[![coverage][codecov-image]][codecov-url]
-[![dependency status][5]][6]
-[![dev dependency status][7]][8]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-
-[![npm badge][11]][1]
-
-Is this specifier a node.js core module? Optionally provide a node version to check; defaults to the current node version.
-
-## Example
-
-```js
-var isCore = require('is-core-module');
-var assert = require('assert');
-assert(isCore('fs'));
-assert(!isCore('butts'));
-```
-
-## Tests
-Clone the repo, `npm install`, and run `npm test`
-
-[1]: https://npmjs.org/package/is-core-module
-[2]: https://versionbadg.es/inspect-js/is-core-module.svg
-[5]: https://david-dm.org/inspect-js/is-core-module.svg
-[6]: https://david-dm.org/inspect-js/is-core-module
-[7]: https://david-dm.org/inspect-js/is-core-module/dev-status.svg
-[8]: https://david-dm.org/inspect-js/is-core-module#info=devDependencies
-[11]: https://nodei.co/npm/is-core-module.png?downloads=true&stars=true
-[license-image]: https://img.shields.io/npm/l/is-core-module.svg
-[license-url]: LICENSE
-[downloads-image]: https://img.shields.io/npm/dm/is-core-module.svg
-[downloads-url]: https://npm-stat.com/charts.html?package=is-core-module
-[codecov-image]: https://codecov.io/gh/inspect-js/is-core-module/branch/main/graphs/badge.svg
-[codecov-url]: https://app.codecov.io/gh/inspect-js/is-core-module/
-[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-core-module
-[actions-url]: https://github.com/inspect-js/is-core-module/actions
diff --git a/includes/search/node_modules/is-core-module/core.json b/includes/search/node_modules/is-core-module/core.json
deleted file mode 100644
index 058584b..0000000
--- a/includes/search/node_modules/is-core-module/core.json
+++ /dev/null
@@ -1,153 +0,0 @@
-{
- "assert": true,
- "node:assert": [">= 14.18 && < 15", ">= 16"],
- "assert/strict": ">= 15",
- "node:assert/strict": ">= 16",
- "async_hooks": ">= 8",
- "node:async_hooks": [">= 14.18 && < 15", ">= 16"],
- "buffer_ieee754": ">= 0.5 && < 0.9.7",
- "buffer": true,
- "node:buffer": [">= 14.18 && < 15", ">= 16"],
- "child_process": true,
- "node:child_process": [">= 14.18 && < 15", ">= 16"],
- "cluster": ">= 0.5",
- "node:cluster": [">= 14.18 && < 15", ">= 16"],
- "console": true,
- "node:console": [">= 14.18 && < 15", ">= 16"],
- "constants": true,
- "node:constants": [">= 14.18 && < 15", ">= 16"],
- "crypto": true,
- "node:crypto": [">= 14.18 && < 15", ">= 16"],
- "_debug_agent": ">= 1 && < 8",
- "_debugger": "< 8",
- "dgram": true,
- "node:dgram": [">= 14.18 && < 15", ">= 16"],
- "diagnostics_channel": [">= 14.17 && < 15", ">= 15.1"],
- "node:diagnostics_channel": [">= 14.18 && < 15", ">= 16"],
- "dns": true,
- "node:dns": [">= 14.18 && < 15", ">= 16"],
- "dns/promises": ">= 15",
- "node:dns/promises": ">= 16",
- "domain": ">= 0.7.12",
- "node:domain": [">= 14.18 && < 15", ">= 16"],
- "events": true,
- "node:events": [">= 14.18 && < 15", ">= 16"],
- "freelist": "< 6",
- "fs": true,
- "node:fs": [">= 14.18 && < 15", ">= 16"],
- "fs/promises": [">= 10 && < 10.1", ">= 14"],
- "node:fs/promises": [">= 14.18 && < 15", ">= 16"],
- "_http_agent": ">= 0.11.1",
- "node:_http_agent": [">= 14.18 && < 15", ">= 16"],
- "_http_client": ">= 0.11.1",
- "node:_http_client": [">= 14.18 && < 15", ">= 16"],
- "_http_common": ">= 0.11.1",
- "node:_http_common": [">= 14.18 && < 15", ">= 16"],
- "_http_incoming": ">= 0.11.1",
- "node:_http_incoming": [">= 14.18 && < 15", ">= 16"],
- "_http_outgoing": ">= 0.11.1",
- "node:_http_outgoing": [">= 14.18 && < 15", ">= 16"],
- "_http_server": ">= 0.11.1",
- "node:_http_server": [">= 14.18 && < 15", ">= 16"],
- "http": true,
- "node:http": [">= 14.18 && < 15", ">= 16"],
- "http2": ">= 8.8",
- "node:http2": [">= 14.18 && < 15", ">= 16"],
- "https": true,
- "node:https": [">= 14.18 && < 15", ">= 16"],
- "inspector": ">= 8",
- "node:inspector": [">= 14.18 && < 15", ">= 16"],
- "_linklist": "< 8",
- "module": true,
- "node:module": [">= 14.18 && < 15", ">= 16"],
- "net": true,
- "node:net": [">= 14.18 && < 15", ">= 16"],
- "node-inspect/lib/_inspect": ">= 7.6 && < 12",
- "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12",
- "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12",
- "os": true,
- "node:os": [">= 14.18 && < 15", ">= 16"],
- "path": true,
- "node:path": [">= 14.18 && < 15", ">= 16"],
- "path/posix": ">= 15.3",
- "node:path/posix": ">= 16",
- "path/win32": ">= 15.3",
- "node:path/win32": ">= 16",
- "perf_hooks": ">= 8.5",
- "node:perf_hooks": [">= 14.18 && < 15", ">= 16"],
- "process": ">= 1",
- "node:process": [">= 14.18 && < 15", ">= 16"],
- "punycode": ">= 0.5",
- "node:punycode": [">= 14.18 && < 15", ">= 16"],
- "querystring": true,
- "node:querystring": [">= 14.18 && < 15", ">= 16"],
- "readline": true,
- "node:readline": [">= 14.18 && < 15", ">= 16"],
- "readline/promises": ">= 17",
- "node:readline/promises": ">= 17",
- "repl": true,
- "node:repl": [">= 14.18 && < 15", ">= 16"],
- "smalloc": ">= 0.11.5 && < 3",
- "_stream_duplex": ">= 0.9.4",
- "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"],
- "_stream_transform": ">= 0.9.4",
- "node:_stream_transform": [">= 14.18 && < 15", ">= 16"],
- "_stream_wrap": ">= 1.4.1",
- "node:_stream_wrap": [">= 14.18 && < 15", ">= 16"],
- "_stream_passthrough": ">= 0.9.4",
- "node:_stream_passthrough": [">= 14.18 && < 15", ">= 16"],
- "_stream_readable": ">= 0.9.4",
- "node:_stream_readable": [">= 14.18 && < 15", ">= 16"],
- "_stream_writable": ">= 0.9.4",
- "node:_stream_writable": [">= 14.18 && < 15", ">= 16"],
- "stream": true,
- "node:stream": [">= 14.18 && < 15", ">= 16"],
- "stream/consumers": ">= 16.7",
- "node:stream/consumers": ">= 16.7",
- "stream/promises": ">= 15",
- "node:stream/promises": ">= 16",
- "stream/web": ">= 16.5",
- "node:stream/web": ">= 16.5",
- "string_decoder": true,
- "node:string_decoder": [">= 14.18 && < 15", ">= 16"],
- "sys": [">= 0.4 && < 0.7", ">= 0.8"],
- "node:sys": [">= 14.18 && < 15", ">= 16"],
- "node:test": ">= 18",
- "timers": true,
- "node:timers": [">= 14.18 && < 15", ">= 16"],
- "timers/promises": ">= 15",
- "node:timers/promises": ">= 16",
- "_tls_common": ">= 0.11.13",
- "node:_tls_common": [">= 14.18 && < 15", ">= 16"],
- "_tls_legacy": ">= 0.11.3 && < 10",
- "_tls_wrap": ">= 0.11.3",
- "node:_tls_wrap": [">= 14.18 && < 15", ">= 16"],
- "tls": true,
- "node:tls": [">= 14.18 && < 15", ">= 16"],
- "trace_events": ">= 10",
- "node:trace_events": [">= 14.18 && < 15", ">= 16"],
- "tty": true,
- "node:tty": [">= 14.18 && < 15", ">= 16"],
- "url": true,
- "node:url": [">= 14.18 && < 15", ">= 16"],
- "util": true,
- "node:util": [">= 14.18 && < 15", ">= 16"],
- "util/types": ">= 15.3",
- "node:util/types": ">= 16",
- "v8/tools/arguments": ">= 10 && < 12",
- "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8": ">= 1",
- "node:v8": [">= 14.18 && < 15", ">= 16"],
- "vm": true,
- "node:vm": [">= 14.18 && < 15", ">= 16"],
- "wasi": ">= 13.4 && < 13.5",
- "worker_threads": ">= 11.7",
- "node:worker_threads": [">= 14.18 && < 15", ">= 16"],
- "zlib": ">= 0.5",
- "node:zlib": [">= 14.18 && < 15", ">= 16"]
-}
diff --git a/includes/search/node_modules/is-core-module/index.js b/includes/search/node_modules/is-core-module/index.js
deleted file mode 100644
index f9637e0..0000000
--- a/includes/search/node_modules/is-core-module/index.js
+++ /dev/null
@@ -1,69 +0,0 @@
-'use strict';
-
-var has = require('has');
-
-function specifierIncluded(current, specifier) {
- var nodeParts = current.split('.');
- var parts = specifier.split(' ');
- var op = parts.length > 1 ? parts[0] : '=';
- var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.');
-
- for (var i = 0; i < 3; ++i) {
- var cur = parseInt(nodeParts[i] || 0, 10);
- var ver = parseInt(versionParts[i] || 0, 10);
- if (cur === ver) {
- continue; // eslint-disable-line no-restricted-syntax, no-continue
- }
- if (op === '<') {
- return cur < ver;
- }
- if (op === '>=') {
- return cur >= ver;
- }
- return false;
- }
- return op === '>=';
-}
-
-function matchesRange(current, range) {
- var specifiers = range.split(/ ?&& ?/);
- if (specifiers.length === 0) {
- return false;
- }
- for (var i = 0; i < specifiers.length; ++i) {
- if (!specifierIncluded(current, specifiers[i])) {
- return false;
- }
- }
- return true;
-}
-
-function versionIncluded(nodeVersion, specifierValue) {
- if (typeof specifierValue === 'boolean') {
- return specifierValue;
- }
-
- var current = typeof nodeVersion === 'undefined'
- ? process.versions && process.versions.node
- : nodeVersion;
-
- if (typeof current !== 'string') {
- throw new TypeError(typeof nodeVersion === 'undefined' ? 'Unable to determine current node version' : 'If provided, a valid node version is required');
- }
-
- if (specifierValue && typeof specifierValue === 'object') {
- for (var i = 0; i < specifierValue.length; ++i) {
- if (matchesRange(current, specifierValue[i])) {
- return true;
- }
- }
- return false;
- }
- return matchesRange(current, specifierValue);
-}
-
-var data = require('./core.json');
-
-module.exports = function isCore(x, nodeVersion) {
- return has(data, x) && versionIncluded(nodeVersion, data[x]);
-};
diff --git a/includes/search/node_modules/is-core-module/package.json b/includes/search/node_modules/is-core-module/package.json
deleted file mode 100644
index 80ce9f5..0000000
--- a/includes/search/node_modules/is-core-module/package.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "name": "is-core-module",
- "version": "2.9.0",
- "description": "Is this specifier a node.js core module?",
- "main": "index.js",
- "sideEffects": false,
- "exports": {
- ".": "./index.js",
- "./package.json": "./package.json"
- },
- "scripts": {
- "prepublish": "not-in-publish || npm run prepublishOnly",
- "prepublishOnly": "safe-publish-latest",
- "lint": "eslint .",
- "pretest": "npm run lint",
- "tests-only": "nyc tape 'test/**/*.js'",
- "test": "npm run tests-only",
- "posttest": "aud --production",
- "version": "auto-changelog && git add CHANGELOG.md",
- "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/inspect-js/is-core-module.git"
- },
- "keywords": [
- "core",
- "modules",
- "module",
- "npm",
- "node",
- "dependencies"
- ],
- "author": "Jordan Harband <ljharb@gmail.com>",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/inspect-js/is-core-module/issues"
- },
- "homepage": "https://github.com/inspect-js/is-core-module",
- "dependencies": {
- "has": "^1.0.3"
- },
- "devDependencies": {
- "@ljharb/eslint-config": "^21.0.0",
- "aud": "^2.0.0",
- "auto-changelog": "^2.4.0",
- "eslint": "=8.8.0",
- "mock-property": "^1.0.0",
- "nyc": "^10.3.2",
- "safe-publish-latest": "^2.0.0",
- "semver": "^6.3.0",
- "tape": "^5.5.3"
- },
- "auto-changelog": {
- "output": "CHANGELOG.md",
- "template": "keepachangelog",
- "unreleased": false,
- "commitLimit": false,
- "backfillLimit": false,
- "hideCredit": true
- }
-}
diff --git a/includes/search/node_modules/is-core-module/test/index.js b/includes/search/node_modules/is-core-module/test/index.js
deleted file mode 100644
index 4385b20..0000000
--- a/includes/search/node_modules/is-core-module/test/index.js
+++ /dev/null
@@ -1,133 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var keys = require('object-keys');
-var semver = require('semver');
-var mockProperty = require('mock-property');
-
-var isCore = require('../');
-var data = require('../core.json');
-
-var supportsNodePrefix = semver.satisfies(process.versions.node, '^14.18 || >= 16', { includePrerelease: true });
-
-test('core modules', function (t) {
- t.test('isCore()', function (st) {
- st.ok(isCore('fs'));
- st.ok(isCore('net'));
- st.ok(isCore('http'));
-
- st.ok(!isCore('seq'));
- st.ok(!isCore('../'));
-
- st.ok(!isCore('toString'));
-
- st.end();
- });
-
- t.test('core list', function (st) {
- var cores = keys(data);
- st.plan(cores.length);
-
- for (var i = 0; i < cores.length; ++i) {
- var mod = cores[i];
- var requireFunc = function () { require(mod); }; // eslint-disable-line no-loop-func
- if (isCore(mod)) {
- st.doesNotThrow(requireFunc, mod + ' supported; requiring does not throw');
- } else {
- st['throws'](requireFunc, mod + ' not supported; requiring throws');
- }
- }
-
- st.end();
- });
-
- t.test('core via repl module', { skip: !data.repl }, function (st) {
- var libs = require('repl')._builtinLibs; // eslint-disable-line no-underscore-dangle
- if (!libs) {
- st.skip('module.builtinModules does not exist');
- } else {
- for (var i = 0; i < libs.length; ++i) {
- var mod = libs[i];
- st.ok(data[mod], mod + ' is a core module');
- st.doesNotThrow(
- function () { require(mod); }, // eslint-disable-line no-loop-func
- 'requiring ' + mod + ' does not throw'
- );
- if (mod.slice(0, 5) !== 'node:') {
- if (supportsNodePrefix) {
- st.doesNotThrow(
- function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
- 'requiring node:' + mod + ' does not throw'
- );
- } else {
- st['throws'](
- function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
- 'requiring node:' + mod + ' throws'
- );
- }
- }
- }
- }
- st.end();
- });
-
- t.test('core via builtinModules list', { skip: !data.module }, function (st) {
- var libs = require('module').builtinModules;
- if (!libs) {
- st.skip('module.builtinModules does not exist');
- } else {
- var excludeList = [
- '_debug_agent',
- 'v8/tools/tickprocessor-driver',
- 'v8/tools/SourceMap',
- 'v8/tools/tickprocessor',
- 'v8/tools/profile'
- ];
- // see https://github.com/nodejs/node/issues/42785
- if (semver.satisfies(process.version, '>= 18')) {
- libs = libs.concat('node:test');
- }
- for (var i = 0; i < libs.length; ++i) {
- var mod = libs[i];
- if (excludeList.indexOf(mod) === -1) {
- st.ok(data[mod], mod + ' is a core module');
- st.doesNotThrow(
- function () { require(mod); }, // eslint-disable-line no-loop-func
- 'requiring ' + mod + ' does not throw'
- );
- if (mod.slice(0, 5) !== 'node:') {
- if (supportsNodePrefix) {
- st.doesNotThrow(
- function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
- 'requiring node:' + mod + ' does not throw'
- );
- } else {
- st['throws'](
- function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
- 'requiring node:' + mod + ' throws'
- );
- }
- }
- }
- }
- }
- st.end();
- });
-
- t.test('Object.prototype pollution', function (st) {
- var nonKey = 'not a core module';
- st.teardown(mockProperty(Object.prototype, 'fs', { value: false }));
- st.teardown(mockProperty(Object.prototype, 'path', { value: '>= 999999999' }));
- st.teardown(mockProperty(Object.prototype, 'http', { value: data.http }));
- st.teardown(mockProperty(Object.prototype, nonKey, { value: true }));
-
- st.equal(isCore('fs'), true, 'fs is a core module even if Object.prototype lies');
- st.equal(isCore('path'), true, 'path is a core module even if Object.prototype lies');
- st.equal(isCore('http'), true, 'path is a core module even if Object.prototype matches data');
- st.equal(isCore(nonKey), false, '"' + nonKey + '" is not a core module even if Object.prototype lies');
-
- st.end();
- });
-
- t.end();
-});
diff --git a/includes/search/node_modules/is-extglob/LICENSE b/includes/search/node_modules/is-extglob/LICENSE
deleted file mode 100644
index 842218c..0000000
--- a/includes/search/node_modules/is-extglob/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-2016, Jon Schlinkert
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/is-extglob/README.md b/includes/search/node_modules/is-extglob/README.md
deleted file mode 100644
index 0416af5..0000000
--- a/includes/search/node_modules/is-extglob/README.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# is-extglob [![NPM version](https://img.shields.io/npm/v/is-extglob.svg?style=flat)](https://www.npmjs.com/package/is-extglob) [![NPM downloads](https://img.shields.io/npm/dm/is-extglob.svg?style=flat)](https://npmjs.org/package/is-extglob) [![Build Status](https://img.shields.io/travis/jonschlinkert/is-extglob.svg?style=flat)](https://travis-ci.org/jonschlinkert/is-extglob)
-
-> Returns true if a string has an extglob.
-
-## Install
-
-Install with [npm](https://www.npmjs.com/):
-
-```sh
-$ npm install --save is-extglob
-```
-
-## Usage
-
-```js
-var isExtglob = require('is-extglob');
-```
-
-**True**
-
-```js
-isExtglob('?(abc)');
-isExtglob('@(abc)');
-isExtglob('!(abc)');
-isExtglob('*(abc)');
-isExtglob('+(abc)');
-```
-
-**False**
-
-Escaped extglobs:
-
-```js
-isExtglob('\\?(abc)');
-isExtglob('\\@(abc)');
-isExtglob('\\!(abc)');
-isExtglob('\\*(abc)');
-isExtglob('\\+(abc)');
-```
-
-Everything else...
-
-```js
-isExtglob('foo.js');
-isExtglob('!foo.js');
-isExtglob('*.js');
-isExtglob('**/abc.js');
-isExtglob('abc/*.js');
-isExtglob('abc/(aaa|bbb).js');
-isExtglob('abc/[a-z].js');
-isExtglob('abc/{a,b}.js');
-isExtglob('abc/?.js');
-isExtglob('abc.js');
-isExtglob('abc/def/ghi.js');
-```
-
-## History
-
-**v2.0**
-
-Adds support for escaping. Escaped exglobs no longer return true.
-
-## About
-
-### Related projects
-
-* [has-glob](https://www.npmjs.com/package/has-glob): Returns `true` if an array has a glob pattern. | [homepage](https://github.com/jonschlinkert/has-glob "Returns `true` if an array has a glob pattern.")
-* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet")
-* [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | [homepage](https://github.com/jonschlinkert/micromatch "Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch.")
-
-### Contributing
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
-
-### Building docs
-
-_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_
-
-To generate the readme and API documentation with [verb](https://github.com/verbose/verb):
-
-```sh
-$ npm install -g verb verb-generate-readme && verb
-```
-
-### Running tests
-
-Install dev dependencies:
-
-```sh
-$ npm install -d && npm test
-```
-
-### Author
-
-**Jon Schlinkert**
-
-* [github/jonschlinkert](https://github.com/jonschlinkert)
-* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
-
-### License
-
-Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT license](https://github.com/jonschlinkert/is-extglob/blob/master/LICENSE).
-
-***
-
-_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.31, on October 12, 2016._ \ No newline at end of file
diff --git a/includes/search/node_modules/is-extglob/index.js b/includes/search/node_modules/is-extglob/index.js
deleted file mode 100644
index c1d986f..0000000
--- a/includes/search/node_modules/is-extglob/index.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*!
- * is-extglob <https://github.com/jonschlinkert/is-extglob>
- *
- * Copyright (c) 2014-2016, Jon Schlinkert.
- * Licensed under the MIT License.
- */
-
-module.exports = function isExtglob(str) {
- if (typeof str !== 'string' || str === '') {
- return false;
- }
-
- var match;
- while ((match = /(\\).|([@?!+*]\(.*\))/g.exec(str))) {
- if (match[2]) return true;
- str = str.slice(match.index + match[0].length);
- }
-
- return false;
-};
diff --git a/includes/search/node_modules/is-extglob/package.json b/includes/search/node_modules/is-extglob/package.json
deleted file mode 100644
index 7a90836..0000000
--- a/includes/search/node_modules/is-extglob/package.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "name": "is-extglob",
- "description": "Returns true if a string has an extglob.",
- "version": "2.1.1",
- "homepage": "https://github.com/jonschlinkert/is-extglob",
- "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
- "repository": "jonschlinkert/is-extglob",
- "bugs": {
- "url": "https://github.com/jonschlinkert/is-extglob/issues"
- },
- "license": "MIT",
- "files": [
- "index.js"
- ],
- "main": "index.js",
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "mocha"
- },
- "devDependencies": {
- "gulp-format-md": "^0.1.10",
- "mocha": "^3.0.2"
- },
- "keywords": [
- "bash",
- "braces",
- "check",
- "exec",
- "expression",
- "extglob",
- "glob",
- "globbing",
- "globstar",
- "is",
- "match",
- "matches",
- "pattern",
- "regex",
- "regular",
- "string",
- "test"
- ],
- "verb": {
- "toc": false,
- "layout": "default",
- "tasks": [
- "readme"
- ],
- "plugins": [
- "gulp-format-md"
- ],
- "related": {
- "list": [
- "has-glob",
- "is-glob",
- "micromatch"
- ]
- },
- "reflinks": [
- "verb",
- "verb-generate-readme"
- ],
- "lint": {
- "reflinks": true
- }
- }
-}
diff --git a/includes/search/node_modules/is-fullwidth-code-point/index.d.ts b/includes/search/node_modules/is-fullwidth-code-point/index.d.ts
deleted file mode 100644
index 729d202..0000000
--- a/includes/search/node_modules/is-fullwidth-code-point/index.d.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
-Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms).
-
-@param codePoint - The [code point](https://en.wikipedia.org/wiki/Code_point) of a character.
-
-@example
-```
-import isFullwidthCodePoint from 'is-fullwidth-code-point';
-
-isFullwidthCodePoint('谢'.codePointAt(0));
-//=> true
-
-isFullwidthCodePoint('a'.codePointAt(0));
-//=> false
-```
-*/
-export default function isFullwidthCodePoint(codePoint: number): boolean;
diff --git a/includes/search/node_modules/is-fullwidth-code-point/index.js b/includes/search/node_modules/is-fullwidth-code-point/index.js
deleted file mode 100644
index 671f97f..0000000
--- a/includes/search/node_modules/is-fullwidth-code-point/index.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/* eslint-disable yoda */
-'use strict';
-
-const isFullwidthCodePoint = codePoint => {
- if (Number.isNaN(codePoint)) {
- return false;
- }
-
- // Code points are derived from:
- // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
- if (
- codePoint >= 0x1100 && (
- codePoint <= 0x115F || // Hangul Jamo
- codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET
- codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET
- // CJK Radicals Supplement .. Enclosed CJK Letters and Months
- (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) ||
- // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
- (0x3250 <= codePoint && codePoint <= 0x4DBF) ||
- // CJK Unified Ideographs .. Yi Radicals
- (0x4E00 <= codePoint && codePoint <= 0xA4C6) ||
- // Hangul Jamo Extended-A
- (0xA960 <= codePoint && codePoint <= 0xA97C) ||
- // Hangul Syllables
- (0xAC00 <= codePoint && codePoint <= 0xD7A3) ||
- // CJK Compatibility Ideographs
- (0xF900 <= codePoint && codePoint <= 0xFAFF) ||
- // Vertical Forms
- (0xFE10 <= codePoint && codePoint <= 0xFE19) ||
- // CJK Compatibility Forms .. Small Form Variants
- (0xFE30 <= codePoint && codePoint <= 0xFE6B) ||
- // Halfwidth and Fullwidth Forms
- (0xFF01 <= codePoint && codePoint <= 0xFF60) ||
- (0xFFE0 <= codePoint && codePoint <= 0xFFE6) ||
- // Kana Supplement
- (0x1B000 <= codePoint && codePoint <= 0x1B001) ||
- // Enclosed Ideographic Supplement
- (0x1F200 <= codePoint && codePoint <= 0x1F251) ||
- // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
- (0x20000 <= codePoint && codePoint <= 0x3FFFD)
- )
- ) {
- return true;
- }
-
- return false;
-};
-
-module.exports = isFullwidthCodePoint;
-module.exports.default = isFullwidthCodePoint;
diff --git a/includes/search/node_modules/is-fullwidth-code-point/license b/includes/search/node_modules/is-fullwidth-code-point/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/is-fullwidth-code-point/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/is-fullwidth-code-point/package.json b/includes/search/node_modules/is-fullwidth-code-point/package.json
deleted file mode 100644
index 2137e88..0000000
--- a/includes/search/node_modules/is-fullwidth-code-point/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "is-fullwidth-code-point",
- "version": "3.0.0",
- "description": "Check if the character represented by a given Unicode code point is fullwidth",
- "license": "MIT",
- "repository": "sindresorhus/is-fullwidth-code-point",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd-check"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "fullwidth",
- "full-width",
- "full",
- "width",
- "unicode",
- "character",
- "string",
- "codepoint",
- "code",
- "point",
- "is",
- "detect",
- "check"
- ],
- "devDependencies": {
- "ava": "^1.3.1",
- "tsd-check": "^0.5.0",
- "xo": "^0.24.0"
- }
-}
diff --git a/includes/search/node_modules/is-fullwidth-code-point/readme.md b/includes/search/node_modules/is-fullwidth-code-point/readme.md
deleted file mode 100644
index 4236bba..0000000
--- a/includes/search/node_modules/is-fullwidth-code-point/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# is-fullwidth-code-point [![Build Status](https://travis-ci.org/sindresorhus/is-fullwidth-code-point.svg?branch=master)](https://travis-ci.org/sindresorhus/is-fullwidth-code-point)
-
-> Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms)
-
-
-## Install
-
-```
-$ npm install is-fullwidth-code-point
-```
-
-
-## Usage
-
-```js
-const isFullwidthCodePoint = require('is-fullwidth-code-point');
-
-isFullwidthCodePoint('谢'.codePointAt(0));
-//=> true
-
-isFullwidthCodePoint('a'.codePointAt(0));
-//=> false
-```
-
-
-## API
-
-### isFullwidthCodePoint(codePoint)
-
-#### codePoint
-
-Type: `number`
-
-The [code point](https://en.wikipedia.org/wiki/Code_point) of a character.
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/includes/search/node_modules/is-glob/LICENSE b/includes/search/node_modules/is-glob/LICENSE
deleted file mode 100644
index 3f2eca1..0000000
--- a/includes/search/node_modules/is-glob/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-2017, Jon Schlinkert.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/is-glob/README.md b/includes/search/node_modules/is-glob/README.md
deleted file mode 100644
index 740724b..0000000
--- a/includes/search/node_modules/is-glob/README.md
+++ /dev/null
@@ -1,206 +0,0 @@
-# is-glob [![NPM version](https://img.shields.io/npm/v/is-glob.svg?style=flat)](https://www.npmjs.com/package/is-glob) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-glob.svg?style=flat)](https://npmjs.org/package/is-glob) [![NPM total downloads](https://img.shields.io/npm/dt/is-glob.svg?style=flat)](https://npmjs.org/package/is-glob) [![Build Status](https://img.shields.io/github/workflow/status/micromatch/is-glob/dev)](https://github.com/micromatch/is-glob/actions)
-
-> Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience.
-
-Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
-
-## Install
-
-Install with [npm](https://www.npmjs.com/):
-
-```sh
-$ npm install --save is-glob
-```
-
-You might also be interested in [is-valid-glob](https://github.com/jonschlinkert/is-valid-glob) and [has-glob](https://github.com/jonschlinkert/has-glob).
-
-## Usage
-
-```js
-var isGlob = require('is-glob');
-```
-
-### Default behavior
-
-**True**
-
-Patterns that have glob characters or regex patterns will return `true`:
-
-```js
-isGlob('!foo.js');
-isGlob('*.js');
-isGlob('**/abc.js');
-isGlob('abc/*.js');
-isGlob('abc/(aaa|bbb).js');
-isGlob('abc/[a-z].js');
-isGlob('abc/{a,b}.js');
-//=> true
-```
-
-Extglobs
-
-```js
-isGlob('abc/@(a).js');
-isGlob('abc/!(a).js');
-isGlob('abc/+(a).js');
-isGlob('abc/*(a).js');
-isGlob('abc/?(a).js');
-//=> true
-```
-
-**False**
-
-Escaped globs or extglobs return `false`:
-
-```js
-isGlob('abc/\\@(a).js');
-isGlob('abc/\\!(a).js');
-isGlob('abc/\\+(a).js');
-isGlob('abc/\\*(a).js');
-isGlob('abc/\\?(a).js');
-isGlob('\\!foo.js');
-isGlob('\\*.js');
-isGlob('\\*\\*/abc.js');
-isGlob('abc/\\*.js');
-isGlob('abc/\\(aaa|bbb).js');
-isGlob('abc/\\[a-z].js');
-isGlob('abc/\\{a,b}.js');
-//=> false
-```
-
-Patterns that do not have glob patterns return `false`:
-
-```js
-isGlob('abc.js');
-isGlob('abc/def/ghi.js');
-isGlob('foo.js');
-isGlob('abc/@.js');
-isGlob('abc/+.js');
-isGlob('abc/?.js');
-isGlob();
-isGlob(null);
-//=> false
-```
-
-Arrays are also `false` (If you want to check if an array has a glob pattern, use [has-glob](https://github.com/jonschlinkert/has-glob)):
-
-```js
-isGlob(['**/*.js']);
-isGlob(['foo.js']);
-//=> false
-```
-
-### Option strict
-
-When `options.strict === false` the behavior is less strict in determining if a pattern is a glob. Meaning that
-some patterns that would return `false` may return `true`. This is done so that matching libraries like [micromatch](https://github.com/micromatch/micromatch) have a chance at determining if the pattern is a glob or not.
-
-**True**
-
-Patterns that have glob characters or regex patterns will return `true`:
-
-```js
-isGlob('!foo.js', {strict: false});
-isGlob('*.js', {strict: false});
-isGlob('**/abc.js', {strict: false});
-isGlob('abc/*.js', {strict: false});
-isGlob('abc/(aaa|bbb).js', {strict: false});
-isGlob('abc/[a-z].js', {strict: false});
-isGlob('abc/{a,b}.js', {strict: false});
-//=> true
-```
-
-Extglobs
-
-```js
-isGlob('abc/@(a).js', {strict: false});
-isGlob('abc/!(a).js', {strict: false});
-isGlob('abc/+(a).js', {strict: false});
-isGlob('abc/*(a).js', {strict: false});
-isGlob('abc/?(a).js', {strict: false});
-//=> true
-```
-
-**False**
-
-Escaped globs or extglobs return `false`:
-
-```js
-isGlob('\\!foo.js', {strict: false});
-isGlob('\\*.js', {strict: false});
-isGlob('\\*\\*/abc.js', {strict: false});
-isGlob('abc/\\*.js', {strict: false});
-isGlob('abc/\\(aaa|bbb).js', {strict: false});
-isGlob('abc/\\[a-z].js', {strict: false});
-isGlob('abc/\\{a,b}.js', {strict: false});
-//=> false
-```
-
-## About
-
-<details>
-<summary><strong>Contributing</strong></summary>
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
-
-</details>
-
-<details>
-<summary><strong>Running Tests</strong></summary>
-
-Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
-
-```sh
-$ npm install && npm test
-```
-
-</details>
-
-<details>
-<summary><strong>Building docs</strong></summary>
-
-_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
-
-To generate the readme, run the following command:
-
-```sh
-$ npm install -g verbose/verb#dev verb-generate-readme && verb
-```
-
-</details>
-
-### Related projects
-
-You might also be interested in these projects:
-
-* [assemble](https://www.npmjs.com/package/assemble): Get the rocks out of your socks! Assemble makes you fast at creating web projects… [more](https://github.com/assemble/assemble) | [homepage](https://github.com/assemble/assemble "Get the rocks out of your socks! Assemble makes you fast at creating web projects. Assemble is used by thousands of projects for rapid prototyping, creating themes, scaffolds, boilerplates, e-books, UI components, API documentation, blogs, building websit")
-* [base](https://www.npmjs.com/package/base): Framework for rapidly creating high quality, server-side node.js applications, using plugins like building blocks | [homepage](https://github.com/node-base/base "Framework for rapidly creating high quality, server-side node.js applications, using plugins like building blocks")
-* [update](https://www.npmjs.com/package/update): Be scalable! Update is a new, open source developer framework and CLI for automating updates… [more](https://github.com/update/update) | [homepage](https://github.com/update/update "Be scalable! Update is a new, open source developer framework and CLI for automating updates of any kind in code projects.")
-* [verb](https://www.npmjs.com/package/verb): Documentation generator for GitHub projects. Verb is extremely powerful, easy to use, and is used… [more](https://github.com/verbose/verb) | [homepage](https://github.com/verbose/verb "Documentation generator for GitHub projects. Verb is extremely powerful, easy to use, and is used on hundreds of projects of all sizes to generate everything from API docs to readmes.")
-
-### Contributors
-
-| **Commits** | **Contributor** |
-| --- | --- |
-| 47 | [jonschlinkert](https://github.com/jonschlinkert) |
-| 5 | [doowb](https://github.com/doowb) |
-| 1 | [phated](https://github.com/phated) |
-| 1 | [danhper](https://github.com/danhper) |
-| 1 | [paulmillr](https://github.com/paulmillr) |
-
-### Author
-
-**Jon Schlinkert**
-
-* [GitHub Profile](https://github.com/jonschlinkert)
-* [Twitter Profile](https://twitter.com/jonschlinkert)
-* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
-
-### License
-
-Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT License](LICENSE).
-
-***
-
-_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on March 27, 2019._ \ No newline at end of file
diff --git a/includes/search/node_modules/is-glob/index.js b/includes/search/node_modules/is-glob/index.js
deleted file mode 100644
index 620f563..0000000
--- a/includes/search/node_modules/is-glob/index.js
+++ /dev/null
@@ -1,150 +0,0 @@
-/*!
- * is-glob <https://github.com/jonschlinkert/is-glob>
- *
- * Copyright (c) 2014-2017, Jon Schlinkert.
- * Released under the MIT License.
- */
-
-var isExtglob = require('is-extglob');
-var chars = { '{': '}', '(': ')', '[': ']'};
-var strictCheck = function(str) {
- if (str[0] === '!') {
- return true;
- }
- var index = 0;
- var pipeIndex = -2;
- var closeSquareIndex = -2;
- var closeCurlyIndex = -2;
- var closeParenIndex = -2;
- var backSlashIndex = -2;
- while (index < str.length) {
- if (str[index] === '*') {
- return true;
- }
-
- if (str[index + 1] === '?' && /[\].+)]/.test(str[index])) {
- return true;
- }
-
- if (closeSquareIndex !== -1 && str[index] === '[' && str[index + 1] !== ']') {
- if (closeSquareIndex < index) {
- closeSquareIndex = str.indexOf(']', index);
- }
- if (closeSquareIndex > index) {
- if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
- return true;
- }
- backSlashIndex = str.indexOf('\\', index);
- if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
- return true;
- }
- }
- }
-
- if (closeCurlyIndex !== -1 && str[index] === '{' && str[index + 1] !== '}') {
- closeCurlyIndex = str.indexOf('}', index);
- if (closeCurlyIndex > index) {
- backSlashIndex = str.indexOf('\\', index);
- if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
- return true;
- }
- }
- }
-
- if (closeParenIndex !== -1 && str[index] === '(' && str[index + 1] === '?' && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ')') {
- closeParenIndex = str.indexOf(')', index);
- if (closeParenIndex > index) {
- backSlashIndex = str.indexOf('\\', index);
- if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
- return true;
- }
- }
- }
-
- if (pipeIndex !== -1 && str[index] === '(' && str[index + 1] !== '|') {
- if (pipeIndex < index) {
- pipeIndex = str.indexOf('|', index);
- }
- if (pipeIndex !== -1 && str[pipeIndex + 1] !== ')') {
- closeParenIndex = str.indexOf(')', pipeIndex);
- if (closeParenIndex > pipeIndex) {
- backSlashIndex = str.indexOf('\\', pipeIndex);
- if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
- return true;
- }
- }
- }
- }
-
- if (str[index] === '\\') {
- var open = str[index + 1];
- index += 2;
- var close = chars[open];
-
- if (close) {
- var n = str.indexOf(close, index);
- if (n !== -1) {
- index = n + 1;
- }
- }
-
- if (str[index] === '!') {
- return true;
- }
- } else {
- index++;
- }
- }
- return false;
-};
-
-var relaxedCheck = function(str) {
- if (str[0] === '!') {
- return true;
- }
- var index = 0;
- while (index < str.length) {
- if (/[*?{}()[\]]/.test(str[index])) {
- return true;
- }
-
- if (str[index] === '\\') {
- var open = str[index + 1];
- index += 2;
- var close = chars[open];
-
- if (close) {
- var n = str.indexOf(close, index);
- if (n !== -1) {
- index = n + 1;
- }
- }
-
- if (str[index] === '!') {
- return true;
- }
- } else {
- index++;
- }
- }
- return false;
-};
-
-module.exports = function isGlob(str, options) {
- if (typeof str !== 'string' || str === '') {
- return false;
- }
-
- if (isExtglob(str)) {
- return true;
- }
-
- var check = strictCheck;
-
- // optionally relax check
- if (options && options.strict === false) {
- check = relaxedCheck;
- }
-
- return check(str);
-};
diff --git a/includes/search/node_modules/is-glob/package.json b/includes/search/node_modules/is-glob/package.json
deleted file mode 100644
index 858af03..0000000
--- a/includes/search/node_modules/is-glob/package.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "name": "is-glob",
- "description": "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience.",
- "version": "4.0.3",
- "homepage": "https://github.com/micromatch/is-glob",
- "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
- "contributors": [
- "Brian Woodward (https://twitter.com/doowb)",
- "Daniel Perez (https://tuvistavie.com)",
- "Jon Schlinkert (http://twitter.com/jonschlinkert)"
- ],
- "repository": "micromatch/is-glob",
- "bugs": {
- "url": "https://github.com/micromatch/is-glob/issues"
- },
- "license": "MIT",
- "files": [
- "index.js"
- ],
- "main": "index.js",
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "mocha && node benchmark.js"
- },
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "devDependencies": {
- "gulp-format-md": "^0.1.10",
- "mocha": "^3.0.2"
- },
- "keywords": [
- "bash",
- "braces",
- "check",
- "exec",
- "expression",
- "extglob",
- "glob",
- "globbing",
- "globstar",
- "is",
- "match",
- "matches",
- "pattern",
- "regex",
- "regular",
- "string",
- "test"
- ],
- "verb": {
- "layout": "default",
- "plugins": [
- "gulp-format-md"
- ],
- "related": {
- "list": [
- "assemble",
- "base",
- "update",
- "verb"
- ]
- },
- "reflinks": [
- "assemble",
- "bach",
- "base",
- "composer",
- "gulp",
- "has-glob",
- "is-valid-glob",
- "micromatch",
- "npm",
- "scaffold",
- "verb",
- "vinyl"
- ]
- }
-}
diff --git a/includes/search/node_modules/is-number/LICENSE b/includes/search/node_modules/is-number/LICENSE
deleted file mode 100644
index 9af4a67..0000000
--- a/includes/search/node_modules/is-number/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-present, Jon Schlinkert.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/is-number/README.md b/includes/search/node_modules/is-number/README.md
deleted file mode 100644
index eb8149e..0000000
--- a/includes/search/node_modules/is-number/README.md
+++ /dev/null
@@ -1,187 +0,0 @@
-# is-number [![NPM version](https://img.shields.io/npm/v/is-number.svg?style=flat)](https://www.npmjs.com/package/is-number) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-number.svg?style=flat)](https://npmjs.org/package/is-number) [![NPM total downloads](https://img.shields.io/npm/dt/is-number.svg?style=flat)](https://npmjs.org/package/is-number) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-number.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-number)
-
-> Returns true if the value is a finite number.
-
-Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
-
-## Install
-
-Install with [npm](https://www.npmjs.com/):
-
-```sh
-$ npm install --save is-number
-```
-
-## Why is this needed?
-
-In JavaScript, it's not always as straightforward as it should be to reliably check if a value is a number. It's common for devs to use `+`, `-`, or `Number()` to cast a string value to a number (for example, when values are returned from user input, regex matches, parsers, etc). But there are many non-intuitive edge cases that yield unexpected results:
-
-```js
-console.log(+[]); //=> 0
-console.log(+''); //=> 0
-console.log(+' '); //=> 0
-console.log(typeof NaN); //=> 'number'
-```
-
-This library offers a performant way to smooth out edge cases like these.
-
-## Usage
-
-```js
-const isNumber = require('is-number');
-```
-
-See the [tests](./test.js) for more examples.
-
-### true
-
-```js
-isNumber(5e3); // true
-isNumber(0xff); // true
-isNumber(-1.1); // true
-isNumber(0); // true
-isNumber(1); // true
-isNumber(1.1); // true
-isNumber(10); // true
-isNumber(10.10); // true
-isNumber(100); // true
-isNumber('-1.1'); // true
-isNumber('0'); // true
-isNumber('012'); // true
-isNumber('0xff'); // true
-isNumber('1'); // true
-isNumber('1.1'); // true
-isNumber('10'); // true
-isNumber('10.10'); // true
-isNumber('100'); // true
-isNumber('5e3'); // true
-isNumber(parseInt('012')); // true
-isNumber(parseFloat('012')); // true
-```
-
-### False
-
-Everything else is false, as you would expect:
-
-```js
-isNumber(Infinity); // false
-isNumber(NaN); // false
-isNumber(null); // false
-isNumber(undefined); // false
-isNumber(''); // false
-isNumber(' '); // false
-isNumber('foo'); // false
-isNumber([1]); // false
-isNumber([]); // false
-isNumber(function () {}); // false
-isNumber({}); // false
-```
-
-## Release history
-
-### 7.0.0
-
-* Refactor. Now uses `.isFinite` if it exists.
-* Performance is about the same as v6.0 when the value is a string or number. But it's now 3x-4x faster when the value is not a string or number.
-
-### 6.0.0
-
-* Optimizations, thanks to @benaadams.
-
-### 5.0.0
-
-**Breaking changes**
-
-* removed support for `instanceof Number` and `instanceof String`
-
-## Benchmarks
-
-As with all benchmarks, take these with a grain of salt. See the [benchmarks](./benchmark/index.js) for more detail.
-
-```
-# all
-v7.0 x 413,222 ops/sec ±2.02% (86 runs sampled)
-v6.0 x 111,061 ops/sec ±1.29% (85 runs sampled)
-parseFloat x 317,596 ops/sec ±1.36% (86 runs sampled)
-fastest is 'v7.0'
-
-# string
-v7.0 x 3,054,496 ops/sec ±1.05% (89 runs sampled)
-v6.0 x 2,957,781 ops/sec ±0.98% (88 runs sampled)
-parseFloat x 3,071,060 ops/sec ±1.13% (88 runs sampled)
-fastest is 'parseFloat,v7.0'
-
-# number
-v7.0 x 3,146,895 ops/sec ±0.89% (89 runs sampled)
-v6.0 x 3,214,038 ops/sec ±1.07% (89 runs sampled)
-parseFloat x 3,077,588 ops/sec ±1.07% (87 runs sampled)
-fastest is 'v6.0'
-```
-
-## About
-
-<details>
-<summary><strong>Contributing</strong></summary>
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
-
-</details>
-
-<details>
-<summary><strong>Running Tests</strong></summary>
-
-Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
-
-```sh
-$ npm install && npm test
-```
-
-</details>
-
-<details>
-<summary><strong>Building docs</strong></summary>
-
-_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
-
-To generate the readme, run the following command:
-
-```sh
-$ npm install -g verbose/verb#dev verb-generate-readme && verb
-```
-
-</details>
-
-### Related projects
-
-You might also be interested in these projects:
-
-* [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object "Returns true if an object was created by the `Object` constructor.")
-* [is-primitive](https://www.npmjs.com/package/is-primitive): Returns `true` if the value is a primitive. | [homepage](https://github.com/jonschlinkert/is-primitive "Returns `true` if the value is a primitive. ")
-* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.")
-* [kind-of](https://www.npmjs.com/package/kind-of): Get the native type of a value. | [homepage](https://github.com/jonschlinkert/kind-of "Get the native type of a value.")
-
-### Contributors
-
-| **Commits** | **Contributor** |
-| --- | --- |
-| 49 | [jonschlinkert](https://github.com/jonschlinkert) |
-| 5 | [charlike-old](https://github.com/charlike-old) |
-| 1 | [benaadams](https://github.com/benaadams) |
-| 1 | [realityking](https://github.com/realityking) |
-
-### Author
-
-**Jon Schlinkert**
-
-* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
-* [GitHub Profile](https://github.com/jonschlinkert)
-* [Twitter Profile](https://twitter.com/jonschlinkert)
-
-### License
-
-Copyright © 2018, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT License](LICENSE).
-
-***
-
-_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on June 15, 2018._ \ No newline at end of file
diff --git a/includes/search/node_modules/is-number/index.js b/includes/search/node_modules/is-number/index.js
deleted file mode 100644
index 27f19b7..0000000
--- a/includes/search/node_modules/is-number/index.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*!
- * is-number <https://github.com/jonschlinkert/is-number>
- *
- * Copyright (c) 2014-present, Jon Schlinkert.
- * Released under the MIT License.
- */
-
-'use strict';
-
-module.exports = function(num) {
- if (typeof num === 'number') {
- return num - num === 0;
- }
- if (typeof num === 'string' && num.trim() !== '') {
- return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
- }
- return false;
-};
diff --git a/includes/search/node_modules/is-number/package.json b/includes/search/node_modules/is-number/package.json
deleted file mode 100644
index 3715072..0000000
--- a/includes/search/node_modules/is-number/package.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "name": "is-number",
- "description": "Returns true if a number or string value is a finite number. Useful for regex matches, parsing, user input, etc.",
- "version": "7.0.0",
- "homepage": "https://github.com/jonschlinkert/is-number",
- "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
- "contributors": [
- "Jon Schlinkert (http://twitter.com/jonschlinkert)",
- "Olsten Larck (https://i.am.charlike.online)",
- "Rouven Weßling (www.rouvenwessling.de)"
- ],
- "repository": "jonschlinkert/is-number",
- "bugs": {
- "url": "https://github.com/jonschlinkert/is-number/issues"
- },
- "license": "MIT",
- "files": [
- "index.js"
- ],
- "main": "index.js",
- "engines": {
- "node": ">=0.12.0"
- },
- "scripts": {
- "test": "mocha"
- },
- "devDependencies": {
- "ansi": "^0.3.1",
- "benchmark": "^2.1.4",
- "gulp-format-md": "^1.0.0",
- "mocha": "^3.5.3"
- },
- "keywords": [
- "cast",
- "check",
- "coerce",
- "coercion",
- "finite",
- "integer",
- "is",
- "isnan",
- "is-nan",
- "is-num",
- "is-number",
- "isnumber",
- "isfinite",
- "istype",
- "kind",
- "math",
- "nan",
- "num",
- "number",
- "numeric",
- "parseFloat",
- "parseInt",
- "test",
- "type",
- "typeof",
- "value"
- ],
- "verb": {
- "toc": false,
- "layout": "default",
- "tasks": [
- "readme"
- ],
- "related": {
- "list": [
- "is-plain-object",
- "is-primitive",
- "isobject",
- "kind-of"
- ]
- },
- "plugins": [
- "gulp-format-md"
- ],
- "lint": {
- "reflinks": true
- }
- }
-}
diff --git a/includes/search/node_modules/isarray/.npmignore b/includes/search/node_modules/isarray/.npmignore
deleted file mode 100644
index 3c3629e..0000000
--- a/includes/search/node_modules/isarray/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/includes/search/node_modules/isarray/.travis.yml b/includes/search/node_modules/isarray/.travis.yml
deleted file mode 100644
index cc4dba2..0000000
--- a/includes/search/node_modules/isarray/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: node_js
-node_js:
- - "0.8"
- - "0.10"
diff --git a/includes/search/node_modules/isarray/Makefile b/includes/search/node_modules/isarray/Makefile
deleted file mode 100644
index 787d56e..0000000
--- a/includes/search/node_modules/isarray/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-
-test:
- @node_modules/.bin/tape test.js
-
-.PHONY: test
-
diff --git a/includes/search/node_modules/isarray/README.md b/includes/search/node_modules/isarray/README.md
deleted file mode 100644
index 16d2c59..0000000
--- a/includes/search/node_modules/isarray/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-
-# isarray
-
-`Array#isArray` for older browsers.
-
-[![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray)
-[![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray)
-
-[![browser support](https://ci.testling.com/juliangruber/isarray.png)
-](https://ci.testling.com/juliangruber/isarray)
-
-## Usage
-
-```js
-var isArray = require('isarray');
-
-console.log(isArray([])); // => true
-console.log(isArray({})); // => false
-```
-
-## Installation
-
-With [npm](http://npmjs.org) do
-
-```bash
-$ npm install isarray
-```
-
-Then bundle for the browser with
-[browserify](https://github.com/substack/browserify).
-
-With [component](http://component.io) do
-
-```bash
-$ component install juliangruber/isarray
-```
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/isarray/component.json b/includes/search/node_modules/isarray/component.json
deleted file mode 100644
index 9e31b68..0000000
--- a/includes/search/node_modules/isarray/component.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name" : "isarray",
- "description" : "Array#isArray for older browsers",
- "version" : "0.0.1",
- "repository" : "juliangruber/isarray",
- "homepage": "https://github.com/juliangruber/isarray",
- "main" : "index.js",
- "scripts" : [
- "index.js"
- ],
- "dependencies" : {},
- "keywords": ["browser","isarray","array"],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT"
-}
diff --git a/includes/search/node_modules/isarray/index.js b/includes/search/node_modules/isarray/index.js
deleted file mode 100644
index a57f634..0000000
--- a/includes/search/node_modules/isarray/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var toString = {}.toString;
-
-module.exports = Array.isArray || function (arr) {
- return toString.call(arr) == '[object Array]';
-};
diff --git a/includes/search/node_modules/isarray/package.json b/includes/search/node_modules/isarray/package.json
deleted file mode 100644
index 1a4317a..0000000
--- a/includes/search/node_modules/isarray/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "isarray",
- "description": "Array#isArray for older browsers",
- "version": "1.0.0",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/isarray.git"
- },
- "homepage": "https://github.com/juliangruber/isarray",
- "main": "index.js",
- "dependencies": {},
- "devDependencies": {
- "tape": "~2.13.4"
- },
- "keywords": [
- "browser",
- "isarray",
- "array"
- ],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT",
- "testling": {
- "files": "test.js",
- "browsers": [
- "ie/8..latest",
- "firefox/17..latest",
- "firefox/nightly",
- "chrome/22..latest",
- "chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "android-browser/4.2..latest"
- ]
- },
- "scripts": {
- "test": "tape test.js"
- }
-}
diff --git a/includes/search/node_modules/isarray/test.js b/includes/search/node_modules/isarray/test.js
deleted file mode 100644
index e0c3444..0000000
--- a/includes/search/node_modules/isarray/test.js
+++ /dev/null
@@ -1,20 +0,0 @@
-var isArray = require('./');
-var test = require('tape');
-
-test('is array', function(t){
- t.ok(isArray([]));
- t.notOk(isArray({}));
- t.notOk(isArray(null));
- t.notOk(isArray(false));
-
- var obj = {};
- obj[0] = true;
- t.notOk(isArray(obj));
-
- var arr = [];
- arr.foo = 'bar';
- t.ok(isArray(arr));
-
- t.end();
-});
-
diff --git a/includes/search/node_modules/jsesc/LICENSE-MIT.txt b/includes/search/node_modules/jsesc/LICENSE-MIT.txt
deleted file mode 100644
index a41e0a7..0000000
--- a/includes/search/node_modules/jsesc/LICENSE-MIT.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright Mathias Bynens <https://mathiasbynens.be/>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/jsesc/README.md b/includes/search/node_modules/jsesc/README.md
deleted file mode 100644
index aae2b13..0000000
--- a/includes/search/node_modules/jsesc/README.md
+++ /dev/null
@@ -1,421 +0,0 @@
-# jsesc [![Build status](https://travis-ci.org/mathiasbynens/jsesc.svg?branch=master)](https://travis-ci.org/mathiasbynens/jsesc) [![Code coverage status](https://coveralls.io/repos/mathiasbynens/jsesc/badge.svg)](https://coveralls.io/r/mathiasbynens/jsesc) [![Dependency status](https://gemnasium.com/mathiasbynens/jsesc.svg)](https://gemnasium.com/mathiasbynens/jsesc)
-
-Given some data, _jsesc_ returns a stringified representation of that data. jsesc is similar to `JSON.stringify()` except:
-
-1. it outputs JavaScript instead of JSON [by default](#json), enabling support for data structures like ES6 maps and sets;
-2. it offers [many options](#api) to customize the output;
-3. its output is ASCII-safe [by default](#minimal), thanks to its use of [escape sequences](https://mathiasbynens.be/notes/javascript-escapes) where needed.
-
-For any input, jsesc generates the shortest possible valid printable-ASCII-only output. [Here’s an online demo.](https://mothereff.in/js-escapes)
-
-jsesc’s output can be used instead of `JSON.stringify`’s to avoid [mojibake](https://en.wikipedia.org/wiki/Mojibake) and other encoding issues, or even to [avoid errors](https://twitter.com/annevk/status/380000829643571200) when passing JSON-formatted data (which may contain U+2028 LINE SEPARATOR, U+2029 PARAGRAPH SEPARATOR, or [lone surrogates](https://esdiscuss.org/topic/code-points-vs-unicode-scalar-values#content-14)) to a JavaScript parser or an UTF-8 encoder.
-
-## Installation
-
-Via [npm](https://www.npmjs.com/):
-
-```bash
-npm install jsesc
-```
-
-In [Node.js](https://nodejs.org/):
-
-```js
-const jsesc = require('jsesc');
-```
-
-## API
-
-### `jsesc(value, options)`
-
-This function takes a value and returns an escaped version of the value where any characters that are not printable ASCII symbols are escaped using the shortest possible (but valid) [escape sequences for use in JavaScript strings](https://mathiasbynens.be/notes/javascript-escapes). The first supported value type is strings:
-
-```js
-jsesc('Ich ♥ Bücher');
-// → 'Ich \\u2665 B\\xFCcher'
-
-jsesc('foo 𝌆 bar');
-// → 'foo \\uD834\\uDF06 bar'
-```
-
-Instead of a string, the `value` can also be an array, an object, a map, a set, or a buffer. In such cases, `jsesc` returns a stringified version of the value where any characters that are not printable ASCII symbols are escaped in the same way.
-
-```js
-// Escaping an array
-jsesc([
- 'Ich ♥ Bücher', 'foo 𝌆 bar'
-]);
-// → '[\'Ich \\u2665 B\\xFCcher\',\'foo \\uD834\\uDF06 bar\']'
-
-// Escaping an object
-jsesc({
- 'Ich ♥ Bücher': 'foo 𝌆 bar'
-});
-// → '{\'Ich \\u2665 B\\xFCcher\':\'foo \\uD834\\uDF06 bar\'}'
-```
-
-The optional `options` argument accepts an object with the following options:
-
-#### `quotes`
-
-The default value for the `quotes` option is `'single'`. This means that any occurrences of `'` in the input string are escaped as `\'`, so that the output can be used in a string literal wrapped in single quotes.
-
-```js
-jsesc('`Lorem` ipsum "dolor" sit \'amet\' etc.');
-// → 'Lorem ipsum "dolor" sit \\\'amet\\\' etc.'
-
-jsesc('`Lorem` ipsum "dolor" sit \'amet\' etc.', {
- 'quotes': 'single'
-});
-// → '`Lorem` ipsum "dolor" sit \\\'amet\\\' etc.'
-// → "`Lorem` ipsum \"dolor\" sit \\'amet\\' etc."
-```
-
-If you want to use the output as part of a string literal wrapped in double quotes, set the `quotes` option to `'double'`.
-
-```js
-jsesc('`Lorem` ipsum "dolor" sit \'amet\' etc.', {
- 'quotes': 'double'
-});
-// → '`Lorem` ipsum \\"dolor\\" sit \'amet\' etc.'
-// → "`Lorem` ipsum \\\"dolor\\\" sit 'amet' etc."
-```
-
-If you want to use the output as part of a template literal (i.e. wrapped in backticks), set the `quotes` option to `'backtick'`.
-
-```js
-jsesc('`Lorem` ipsum "dolor" sit \'amet\' etc.', {
- 'quotes': 'backtick'
-});
-// → '\\`Lorem\\` ipsum "dolor" sit \'amet\' etc.'
-// → "\\`Lorem\\` ipsum \"dolor\" sit 'amet' etc."
-// → `\\\`Lorem\\\` ipsum "dolor" sit 'amet' etc.`
-```
-
-This setting also affects the output for arrays and objects:
-
-```js
-jsesc({ 'Ich ♥ Bücher': 'foo 𝌆 bar' }, {
- 'quotes': 'double'
-});
-// → '{"Ich \\u2665 B\\xFCcher":"foo \\uD834\\uDF06 bar"}'
-
-jsesc([ 'Ich ♥ Bücher', 'foo 𝌆 bar' ], {
- 'quotes': 'double'
-});
-// → '["Ich \\u2665 B\\xFCcher","foo \\uD834\\uDF06 bar"]'
-```
-
-#### `numbers`
-
-The default value for the `numbers` option is `'decimal'`. This means that any numeric values are represented using decimal integer literals. Other valid options are `binary`, `octal`, and `hexadecimal`, which result in binary integer literals, octal integer literals, and hexadecimal integer literals, respectively.
-
-```js
-jsesc(42, {
- 'numbers': 'binary'
-});
-// → '0b101010'
-
-jsesc(42, {
- 'numbers': 'octal'
-});
-// → '0o52'
-
-jsesc(42, {
- 'numbers': 'decimal'
-});
-// → '42'
-
-jsesc(42, {
- 'numbers': 'hexadecimal'
-});
-// → '0x2A'
-```
-
-#### `wrap`
-
-The `wrap` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, the output is a valid JavaScript string literal wrapped in quotes. The type of quotes can be specified through the `quotes` setting.
-
-```js
-jsesc('Lorem ipsum "dolor" sit \'amet\' etc.', {
- 'quotes': 'single',
- 'wrap': true
-});
-// → '\'Lorem ipsum "dolor" sit \\\'amet\\\' etc.\''
-// → "\'Lorem ipsum \"dolor\" sit \\\'amet\\\' etc.\'"
-
-jsesc('Lorem ipsum "dolor" sit \'amet\' etc.', {
- 'quotes': 'double',
- 'wrap': true
-});
-// → '"Lorem ipsum \\"dolor\\" sit \'amet\' etc."'
-// → "\"Lorem ipsum \\\"dolor\\\" sit \'amet\' etc.\""
-```
-
-#### `es6`
-
-The `es6` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, any astral Unicode symbols in the input are escaped using [ECMAScript 6 Unicode code point escape sequences](https://mathiasbynens.be/notes/javascript-escapes#unicode-code-point) instead of using separate escape sequences for each surrogate half. If backwards compatibility with ES5 environments is a concern, don’t enable this setting. If the `json` setting is enabled, the value for the `es6` setting is ignored (as if it was `false`).
-
-```js
-// By default, the `es6` option is disabled:
-jsesc('foo 𝌆 bar 💩 baz');
-// → 'foo \\uD834\\uDF06 bar \\uD83D\\uDCA9 baz'
-
-// To explicitly disable it:
-jsesc('foo 𝌆 bar 💩 baz', {
- 'es6': false
-});
-// → 'foo \\uD834\\uDF06 bar \\uD83D\\uDCA9 baz'
-
-// To enable it:
-jsesc('foo 𝌆 bar 💩 baz', {
- 'es6': true
-});
-// → 'foo \\u{1D306} bar \\u{1F4A9} baz'
-```
-
-#### `escapeEverything`
-
-The `escapeEverything` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, all the symbols in the output are escaped — even printable ASCII symbols.
-
-```js
-jsesc('lolwat"foo\'bar', {
- 'escapeEverything': true
-});
-// → '\\x6C\\x6F\\x6C\\x77\\x61\\x74\\"\\x66\\x6F\\x6F\\\'\\x62\\x61\\x72'
-// → "\\x6C\\x6F\\x6C\\x77\\x61\\x74\\\"\\x66\\x6F\\x6F\\'\\x62\\x61\\x72"
-```
-
-This setting also affects the output for string literals within arrays and objects.
-
-#### `minimal`
-
-The `minimal` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, only a limited set of symbols in the output are escaped:
-
-* U+0000 `\0`
-* U+0008 `\b`
-* U+0009 `\t`
-* U+000A `\n`
-* U+000C `\f`
-* U+000D `\r`
-* U+005C `\\`
-* U+2028 `\u2028`
-* U+2029 `\u2029`
-* whatever symbol is being used for wrapping string literals (based on [the `quotes` option](#quotes))
-
-Note: with this option enabled, jsesc output is no longer guaranteed to be ASCII-safe.
-
-```js
-jsesc('foo\u2029bar\nbaz©qux𝌆flops', {
- 'minimal': false
-});
-// → 'foo\\u2029bar\\nbaz©qux𝌆flops'
-```
-
-#### `isScriptContext`
-
-The `isScriptContext` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, occurrences of [`</script` and `</style`](https://mathiasbynens.be/notes/etago) in the output are escaped as `<\/script` and `<\/style`, and [`<!--`](https://mathiasbynens.be/notes/etago#comment-8) is escaped as `\x3C!--` (or `\u003C!--` when the `json` option is enabled). This setting is useful when jsesc’s output ends up as part of a `<script>` or `<style>` element in an HTML document.
-
-```js
-jsesc('foo</script>bar', {
- 'isScriptContext': true
-});
-// → 'foo<\\/script>bar'
-```
-
-#### `compact`
-
-The `compact` option takes a boolean value (`true` or `false`), and defaults to `true` (enabled). When enabled, the output for arrays and objects is as compact as possible; it’s not formatted nicely.
-
-```js
-jsesc({ 'Ich ♥ Bücher': 'foo 𝌆 bar' }, {
- 'compact': true // this is the default
-});
-// → '{\'Ich \u2665 B\xFCcher\':\'foo \uD834\uDF06 bar\'}'
-
-jsesc({ 'Ich ♥ Bücher': 'foo 𝌆 bar' }, {
- 'compact': false
-});
-// → '{\n\t\'Ich \u2665 B\xFCcher\': \'foo \uD834\uDF06 bar\'\n}'
-
-jsesc([ 'Ich ♥ Bücher', 'foo 𝌆 bar' ], {
- 'compact': false
-});
-// → '[\n\t\'Ich \u2665 B\xFCcher\',\n\t\'foo \uD834\uDF06 bar\'\n]'
-```
-
-This setting has no effect on the output for strings.
-
-#### `indent`
-
-The `indent` option takes a string value, and defaults to `'\t'`. When the `compact` setting is enabled (`true`), the value of the `indent` option is used to format the output for arrays and objects.
-
-```js
-jsesc({ 'Ich ♥ Bücher': 'foo 𝌆 bar' }, {
- 'compact': false,
- 'indent': '\t' // this is the default
-});
-// → '{\n\t\'Ich \u2665 B\xFCcher\': \'foo \uD834\uDF06 bar\'\n}'
-
-jsesc({ 'Ich ♥ Bücher': 'foo 𝌆 bar' }, {
- 'compact': false,
- 'indent': ' '
-});
-// → '{\n \'Ich \u2665 B\xFCcher\': \'foo \uD834\uDF06 bar\'\n}'
-
-jsesc([ 'Ich ♥ Bücher', 'foo 𝌆 bar' ], {
- 'compact': false,
- 'indent': ' '
-});
-// → '[\n \'Ich \u2665 B\xFCcher\',\n\ t\'foo \uD834\uDF06 bar\'\n]'
-```
-
-This setting has no effect on the output for strings.
-
-#### `indentLevel`
-
-The `indentLevel` option takes a numeric value, and defaults to `0`. It represents the current indentation level, i.e. the number of times the value of [the `indent` option](#indent) is repeated.
-
-```js
-jsesc(['a', 'b', 'c'], {
- 'compact': false,
- 'indentLevel': 1
-});
-// → '[\n\t\t\'a\',\n\t\t\'b\',\n\t\t\'c\'\n\t]'
-
-jsesc(['a', 'b', 'c'], {
- 'compact': false,
- 'indentLevel': 2
-});
-// → '[\n\t\t\t\'a\',\n\t\t\t\'b\',\n\t\t\t\'c\'\n\t\t]'
-```
-
-#### `json`
-
-The `json` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, the output is valid JSON. [Hexadecimal character escape sequences](https://mathiasbynens.be/notes/javascript-escapes#hexadecimal) and [the `\v` or `\0` escape sequences](https://mathiasbynens.be/notes/javascript-escapes#single) are not used. Setting `json: true` implies `quotes: 'double', wrap: true, es6: false`, although these values can still be overridden if needed — but in such cases, the output won’t be valid JSON anymore.
-
-```js
-jsesc('foo\x00bar\xFF\uFFFDbaz', {
- 'json': true
-});
-// → '"foo\\u0000bar\\u00FF\\uFFFDbaz"'
-
-jsesc({ 'foo\x00bar\xFF\uFFFDbaz': 'foo\x00bar\xFF\uFFFDbaz' }, {
- 'json': true
-});
-// → '{"foo\\u0000bar\\u00FF\\uFFFDbaz":"foo\\u0000bar\\u00FF\\uFFFDbaz"}'
-
-jsesc([ 'foo\x00bar\xFF\uFFFDbaz', 'foo\x00bar\xFF\uFFFDbaz' ], {
- 'json': true
-});
-// → '["foo\\u0000bar\\u00FF\\uFFFDbaz","foo\\u0000bar\\u00FF\\uFFFDbaz"]'
-
-// Values that are acceptable in JSON but aren’t strings, arrays, or object
-// literals can’t be escaped, so they’ll just be preserved:
-jsesc([ 'foo\x00bar', [1, '©', { 'foo': true, 'qux': null }], 42 ], {
- 'json': true
-});
-// → '["foo\\u0000bar",[1,"\\u00A9",{"foo":true,"qux":null}],42]'
-// Values that aren’t allowed in JSON are run through `JSON.stringify()`:
-jsesc([ undefined, -Infinity ], {
- 'json': true
-});
-// → '[null,null]'
-```
-
-**Note:** Using this option on objects or arrays that contain non-string values relies on `JSON.stringify()`. For legacy environments like IE ≤ 7, use [a `JSON` polyfill](http://bestiejs.github.io/json3/).
-
-#### `lowercaseHex`
-
-The `lowercaseHex` option takes a boolean value (`true` or `false`), and defaults to `false` (disabled). When enabled, any alphabetical hexadecimal digits in escape sequences as well as any hexadecimal integer literals (see [the `numbers` option](#numbers)) in the output are in lowercase.
-
-```js
-jsesc('Ich ♥ Bücher', {
- 'lowercaseHex': true
-});
-// → 'Ich \\u2665 B\\xfccher'
-// ^^
-
-jsesc(42, {
- 'numbers': 'hexadecimal',
- 'lowercaseHex': true
-});
-// → '0x2a'
-// ^^
-```
-
-### `jsesc.version`
-
-A string representing the semantic version number.
-
-### Using the `jsesc` binary
-
-To use the `jsesc` binary in your shell, simply install jsesc globally using npm:
-
-```bash
-npm install -g jsesc
-```
-
-After that you’re able to escape strings from the command line:
-
-```bash
-$ jsesc 'föo ♥ bår 𝌆 baz'
-f\xF6o \u2665 b\xE5r \uD834\uDF06 baz
-```
-
-To escape arrays or objects containing string values, use the `-o`/`--object` option:
-
-```bash
-$ jsesc --object '{ "föo": "♥", "bår": "𝌆 baz" }'
-{'f\xF6o':'\u2665','b\xE5r':'\uD834\uDF06 baz'}
-```
-
-To prettify the output in such cases, use the `-p`/`--pretty` option:
-
-```bash
-$ jsesc --pretty '{ "föo": "♥", "bår": "𝌆 baz" }'
-{
- 'f\xF6o': '\u2665',
- 'b\xE5r': '\uD834\uDF06 baz'
-}
-```
-
-For valid JSON output, use the `-j`/`--json` option:
-
-```bash
-$ jsesc --json --pretty '{ "föo": "♥", "bår": "𝌆 baz" }'
-{
- "f\u00F6o": "\u2665",
- "b\u00E5r": "\uD834\uDF06 baz"
-}
-```
-
-Read a local JSON file, escape any non-ASCII symbols, and save the result to a new file:
-
-```bash
-$ jsesc --json --object < data-raw.json > data-escaped.json
-```
-
-Or do the same with an online JSON file:
-
-```bash
-$ curl -sL "http://git.io/aorKgQ" | jsesc --json --object > data-escaped.json
-```
-
-See `jsesc --help` for the full list of options.
-
-## Support
-
-As of v2.0.0, jsesc supports Node.js v4+ only.
-
-Older versions (up to jsesc v1.3.0) support Chrome 27, Firefox 3, Safari 4, Opera 10, IE 6, Node.js v6.0.0, Narwhal 0.3.2, RingoJS 0.8-0.11, PhantomJS 1.9.0, and Rhino 1.7RC4. **Note:** Using the `json` option on objects or arrays that contain non-string values relies on `JSON.parse()`. For legacy environments like IE ≤ 7, use [a `JSON` polyfill](https://bestiejs.github.io/json3/).
-
-## Author
-
-| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") |
-|---|
-| [Mathias Bynens](https://mathiasbynens.be/) |
-
-## License
-
-This library is available under the [MIT](https://mths.be/mit) license.
diff --git a/includes/search/node_modules/jsesc/bin/jsesc b/includes/search/node_modules/jsesc/bin/jsesc
deleted file mode 100755
index e9a541d..0000000
--- a/includes/search/node_modules/jsesc/bin/jsesc
+++ /dev/null
@@ -1,148 +0,0 @@
-#!/usr/bin/env node
-(function() {
-
- var fs = require('fs');
- var stringEscape = require('../jsesc.js');
- var strings = process.argv.splice(2);
- var stdin = process.stdin;
- var data;
- var timeout;
- var isObject = false;
- var options = {};
- var log = console.log;
-
- var main = function() {
- var option = strings[0];
-
- if (/^(?:-h|--help|undefined)$/.test(option)) {
- log(
- 'jsesc v%s - https://mths.be/jsesc',
- stringEscape.version
- );
- log([
- '\nUsage:\n',
- '\tjsesc [string]',
- '\tjsesc [-s | --single-quotes] [string]',
- '\tjsesc [-d | --double-quotes] [string]',
- '\tjsesc [-w | --wrap] [string]',
- '\tjsesc [-e | --escape-everything] [string]',
- '\tjsesc [-t | --escape-etago] [string]',
- '\tjsesc [-6 | --es6] [string]',
- '\tjsesc [-l | --lowercase-hex] [string]',
- '\tjsesc [-j | --json] [string]',
- '\tjsesc [-o | --object] [stringified_object]', // `JSON.parse()` the argument
- '\tjsesc [-p | --pretty] [string]', // `compact: false`
- '\tjsesc [-v | --version]',
- '\tjsesc [-h | --help]',
- '\nExamples:\n',
- '\tjsesc \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\'',
- '\tjsesc --json \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\'',
- '\tjsesc --json --escape-everything \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\'',
- '\tjsesc --double-quotes --wrap \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\'',
- '\techo \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\' | jsesc'
- ].join('\n'));
- return process.exit(1);
- }
-
- if (/^(?:-v|--version)$/.test(option)) {
- log('v%s', stringEscape.version);
- return process.exit(1);
- }
-
- strings.forEach(function(string) {
- // Process options
- if (/^(?:-s|--single-quotes)$/.test(string)) {
- options.quotes = 'single';
- return;
- }
- if (/^(?:-d|--double-quotes)$/.test(string)) {
- options.quotes = 'double';
- return;
- }
- if (/^(?:-w|--wrap)$/.test(string)) {
- options.wrap = true;
- return;
- }
- if (/^(?:-e|--escape-everything)$/.test(string)) {
- options.escapeEverything = true;
- return;
- }
- if (/^(?:-t|--escape-etago)$/.test(string)) {
- options.escapeEtago = true;
- return;
- }
- if (/^(?:-6|--es6)$/.test(string)) {
- options.es6 = true;
- return;
- }
- if (/^(?:-l|--lowercase-hex)$/.test(string)) {
- options.lowercaseHex = true;
- return;
- }
- if (/^(?:-j|--json)$/.test(string)) {
- options.json = true;
- return;
- }
- if (/^(?:-o|--object)$/.test(string)) {
- isObject = true;
- return;
- }
- if (/^(?:-p|--pretty)$/.test(string)) {
- isObject = true;
- options.compact = false;
- return;
- }
-
- // Process string(s)
- var result;
- try {
- if (isObject) {
- string = JSON.parse(string);
- }
- result = stringEscape(string, options);
- log(result);
- } catch(error) {
- log(error.message + '\n');
- log('Error: failed to escape.');
- log('If you think this is a bug in jsesc, please report it:');
- log('https://github.com/mathiasbynens/jsesc/issues/new');
- log(
- '\nStack trace using jsesc@%s:\n',
- stringEscape.version
- );
- log(error.stack);
- return process.exit(1);
- }
- });
- // Return with exit status 0 outside of the `forEach` loop, in case
- // multiple strings were passed in.
- return process.exit(0);
-
- };
-
- if (stdin.isTTY) {
- // handle shell arguments
- main();
- } else {
- // Either the script is called from within a non-TTY context,
- // or `stdin` content is being piped in.
- if (!process.stdout.isTTY) { // called from a non-TTY context
- timeout = setTimeout(function() {
- // if no piped data arrived after a while, handle shell arguments
- main();
- }, 250);
- }
-
- data = '';
- stdin.on('data', function(chunk) {
- clearTimeout(timeout);
- data += chunk;
- });
- stdin.on('end', function() {
- strings.push(data.trim());
- main();
- });
- stdin.resume();
- }
-
-}());
diff --git a/includes/search/node_modules/jsesc/jsesc.js b/includes/search/node_modules/jsesc/jsesc.js
deleted file mode 100644
index 7b8b923..0000000
--- a/includes/search/node_modules/jsesc/jsesc.js
+++ /dev/null
@@ -1,329 +0,0 @@
-'use strict';
-
-const object = {};
-const hasOwnProperty = object.hasOwnProperty;
-const forOwn = (object, callback) => {
- for (const key in object) {
- if (hasOwnProperty.call(object, key)) {
- callback(key, object[key]);
- }
- }
-};
-
-const extend = (destination, source) => {
- if (!source) {
- return destination;
- }
- forOwn(source, (key, value) => {
- destination[key] = value;
- });
- return destination;
-};
-
-const forEach = (array, callback) => {
- const length = array.length;
- let index = -1;
- while (++index < length) {
- callback(array[index]);
- }
-};
-
-const toString = object.toString;
-const isArray = Array.isArray;
-const isBuffer = Buffer.isBuffer;
-const isObject = (value) => {
- // This is a very simple check, but it’s good enough for what we need.
- return toString.call(value) == '[object Object]';
-};
-const isString = (value) => {
- return typeof value == 'string' ||
- toString.call(value) == '[object String]';
-};
-const isNumber = (value) => {
- return typeof value == 'number' ||
- toString.call(value) == '[object Number]';
-};
-const isFunction = (value) => {
- return typeof value == 'function';
-};
-const isMap = (value) => {
- return toString.call(value) == '[object Map]';
-};
-const isSet = (value) => {
- return toString.call(value) == '[object Set]';
-};
-
-/*--------------------------------------------------------------------------*/
-
-// https://mathiasbynens.be/notes/javascript-escapes#single
-const singleEscapes = {
- '"': '\\"',
- '\'': '\\\'',
- '\\': '\\\\',
- '\b': '\\b',
- '\f': '\\f',
- '\n': '\\n',
- '\r': '\\r',
- '\t': '\\t'
- // `\v` is omitted intentionally, because in IE < 9, '\v' == 'v'.
- // '\v': '\\x0B'
-};
-const regexSingleEscape = /["'\\\b\f\n\r\t]/;
-
-const regexDigit = /[0-9]/;
-const regexWhitelist = /[ !#-&\(-\[\]-_a-~]/;
-
-const jsesc = (argument, options) => {
- const increaseIndentation = () => {
- oldIndent = indent;
- ++options.indentLevel;
- indent = options.indent.repeat(options.indentLevel)
- };
- // Handle options
- const defaults = {
- 'escapeEverything': false,
- 'minimal': false,
- 'isScriptContext': false,
- 'quotes': 'single',
- 'wrap': false,
- 'es6': false,
- 'json': false,
- 'compact': true,
- 'lowercaseHex': false,
- 'numbers': 'decimal',
- 'indent': '\t',
- 'indentLevel': 0,
- '__inline1__': false,
- '__inline2__': false
- };
- const json = options && options.json;
- if (json) {
- defaults.quotes = 'double';
- defaults.wrap = true;
- }
- options = extend(defaults, options);
- if (
- options.quotes != 'single' &&
- options.quotes != 'double' &&
- options.quotes != 'backtick'
- ) {
- options.quotes = 'single';
- }
- const quote = options.quotes == 'double' ?
- '"' :
- (options.quotes == 'backtick' ?
- '`' :
- '\''
- );
- const compact = options.compact;
- const lowercaseHex = options.lowercaseHex;
- let indent = options.indent.repeat(options.indentLevel);
- let oldIndent = '';
- const inline1 = options.__inline1__;
- const inline2 = options.__inline2__;
- const newLine = compact ? '' : '\n';
- let result;
- let isEmpty = true;
- const useBinNumbers = options.numbers == 'binary';
- const useOctNumbers = options.numbers == 'octal';
- const useDecNumbers = options.numbers == 'decimal';
- const useHexNumbers = options.numbers == 'hexadecimal';
-
- if (json && argument && isFunction(argument.toJSON)) {
- argument = argument.toJSON();
- }
-
- if (!isString(argument)) {
- if (isMap(argument)) {
- if (argument.size == 0) {
- return 'new Map()';
- }
- if (!compact) {
- options.__inline1__ = true;
- options.__inline2__ = false;
- }
- return 'new Map(' + jsesc(Array.from(argument), options) + ')';
- }
- if (isSet(argument)) {
- if (argument.size == 0) {
- return 'new Set()';
- }
- return 'new Set(' + jsesc(Array.from(argument), options) + ')';
- }
- if (isBuffer(argument)) {
- if (argument.length == 0) {
- return 'Buffer.from([])';
- }
- return 'Buffer.from(' + jsesc(Array.from(argument), options) + ')';
- }
- if (isArray(argument)) {
- result = [];
- options.wrap = true;
- if (inline1) {
- options.__inline1__ = false;
- options.__inline2__ = true;
- }
- if (!inline2) {
- increaseIndentation();
- }
- forEach(argument, (value) => {
- isEmpty = false;
- if (inline2) {
- options.__inline2__ = false;
- }
- result.push(
- (compact || inline2 ? '' : indent) +
- jsesc(value, options)
- );
- });
- if (isEmpty) {
- return '[]';
- }
- if (inline2) {
- return '[' + result.join(', ') + ']';
- }
- return '[' + newLine + result.join(',' + newLine) + newLine +
- (compact ? '' : oldIndent) + ']';
- } else if (isNumber(argument)) {
- if (json) {
- // Some number values (e.g. `Infinity`) cannot be represented in JSON.
- return JSON.stringify(argument);
- }
- if (useDecNumbers) {
- return String(argument);
- }
- if (useHexNumbers) {
- let hexadecimal = argument.toString(16);
- if (!lowercaseHex) {
- hexadecimal = hexadecimal.toUpperCase();
- }
- return '0x' + hexadecimal;
- }
- if (useBinNumbers) {
- return '0b' + argument.toString(2);
- }
- if (useOctNumbers) {
- return '0o' + argument.toString(8);
- }
- } else if (!isObject(argument)) {
- if (json) {
- // For some values (e.g. `undefined`, `function` objects),
- // `JSON.stringify(value)` returns `undefined` (which isn’t valid
- // JSON) instead of `'null'`.
- return JSON.stringify(argument) || 'null';
- }
- return String(argument);
- } else { // it’s an object
- result = [];
- options.wrap = true;
- increaseIndentation();
- forOwn(argument, (key, value) => {
- isEmpty = false;
- result.push(
- (compact ? '' : indent) +
- jsesc(key, options) + ':' +
- (compact ? '' : ' ') +
- jsesc(value, options)
- );
- });
- if (isEmpty) {
- return '{}';
- }
- return '{' + newLine + result.join(',' + newLine) + newLine +
- (compact ? '' : oldIndent) + '}';
- }
- }
-
- const string = argument;
- // Loop over each code unit in the string and escape it
- let index = -1;
- const length = string.length;
- result = '';
- while (++index < length) {
- const character = string.charAt(index);
- if (options.es6) {
- const first = string.charCodeAt(index);
- if ( // check if it’s the start of a surrogate pair
- first >= 0xD800 && first <= 0xDBFF && // high surrogate
- length > index + 1 // there is a next code unit
- ) {
- const second = string.charCodeAt(index + 1);
- if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate
- // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
- const codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
- let hexadecimal = codePoint.toString(16);
- if (!lowercaseHex) {
- hexadecimal = hexadecimal.toUpperCase();
- }
- result += '\\u{' + hexadecimal + '}';
- ++index;
- continue;
- }
- }
- }
- if (!options.escapeEverything) {
- if (regexWhitelist.test(character)) {
- // It’s a printable ASCII character that is not `"`, `'` or `\`,
- // so don’t escape it.
- result += character;
- continue;
- }
- if (character == '"') {
- result += quote == character ? '\\"' : character;
- continue;
- }
- if (character == '`') {
- result += quote == character ? '\\`' : character;
- continue;
- }
- if (character == '\'') {
- result += quote == character ? '\\\'' : character;
- continue;
- }
- }
- if (
- character == '\0' &&
- !json &&
- !regexDigit.test(string.charAt(index + 1))
- ) {
- result += '\\0';
- continue;
- }
- if (regexSingleEscape.test(character)) {
- // no need for a `hasOwnProperty` check here
- result += singleEscapes[character];
- continue;
- }
- const charCode = character.charCodeAt(0);
- if (options.minimal && charCode != 0x2028 && charCode != 0x2029) {
- result += character;
- continue;
- }
- let hexadecimal = charCode.toString(16);
- if (!lowercaseHex) {
- hexadecimal = hexadecimal.toUpperCase();
- }
- const longhand = hexadecimal.length > 2 || json;
- const escaped = '\\' + (longhand ? 'u' : 'x') +
- ('0000' + hexadecimal).slice(longhand ? -4 : -2);
- result += escaped;
- continue;
- }
- if (options.wrap) {
- result = quote + result + quote;
- }
- if (quote == '`') {
- result = result.replace(/\$\{/g, '\\\$\{');
- }
- if (options.isScriptContext) {
- // https://mathiasbynens.be/notes/etago
- return result
- .replace(/<\/(script|style)/gi, '<\\/$1')
- .replace(/<!--/g, json ? '\\u003C!--' : '\\x3C!--');
- }
- return result;
-};
-
-jsesc.version = '2.5.2';
-
-module.exports = jsesc;
diff --git a/includes/search/node_modules/jsesc/man/jsesc.1 b/includes/search/node_modules/jsesc/man/jsesc.1
deleted file mode 100644
index 2655ee7..0000000
--- a/includes/search/node_modules/jsesc/man/jsesc.1
+++ /dev/null
@@ -1,94 +0,0 @@
-.Dd May 13, 2016
-.Dt jsesc 1
-.Sh NAME
-.Nm jsesc
-.Nd escape strings for use in JavaScript string literals
-.Sh SYNOPSIS
-.Nm
-.Op Fl s | -single-quotes Ar string
-.br
-.Op Fl d | -double-quotes Ar string
-.br
-.Op Fl w | -wrap Ar string
-.br
-.Op Fl e | -escape-everything Ar string
-.br
-.Op Fl 6 | -es6 Ar string
-.br
-.Op Fl l | -lowercase-hex Ar string
-.br
-.Op Fl j | -json Ar string
-.br
-.Op Fl p | -object Ar string
-.br
-.Op Fl p | -pretty Ar string
-.br
-.Op Fl v | -version
-.br
-.Op Fl h | -help
-.Sh DESCRIPTION
-.Nm
-escapes strings for use in JavaScript string literals while generating the shortest possible valid ASCII-only output.
-.Sh OPTIONS
-.Bl -ohang -offset
-.It Sy "-s, --single-quotes"
-Escape any occurrences of ' in the input string as \\', so that the output can be used in a JavaScript string literal wrapped in single quotes.
-.It Sy "-d, --double-quotes"
-Escape any occurrences of " in the input string as \\", so that the output can be used in a JavaScript string literal wrapped in double quotes.
-.It Sy "-w, --wrap"
-Make sure the output is a valid JavaScript string literal wrapped in quotes. The type of quotes can be specified using the
-.Ar -s | --single-quotes
-or
-.Ar -d | --double-quotes
-settings.
-.It Sy "-6, --es6"
-Escape any astral Unicode symbols using ECMAScript 6 Unicode code point escape sequences.
-.It Sy "-e, --escape-everything"
-Escape all the symbols in the output, even printable ASCII symbols.
-.It Sy "-j, --json"
-Make sure the output is valid JSON. Hexadecimal character escape sequences and the \\v or \\0 escape sequences will not be used. Setting this flag enables the
-.Ar -d | --double-quotes
-and
-.Ar -w | --wrap
-settings.
-.It Sy "-o, --object"
-Treat the input as a JavaScript object rather than a string. Accepted values are flat arrays containing only string values, and flat objects containing only string values.
-.It Sy "-p, --pretty"
-Pretty-print the output for objects, using whitespace to make it more readable. Setting this flag enables the
-.It Sy "-l, --lowercase-hex"
-Use lowercase for alphabetical hexadecimal digits in escape sequences.
-.Ar -o | --object
-setting.
-.It Sy "-v, --version"
-Print jsesc's version.
-.It Sy "-h, --help"
-Show the help screen.
-.El
-.Sh EXIT STATUS
-The
-.Nm jsesc
-utility exits with one of the following values:
-.Pp
-.Bl -tag -width flag -compact
-.It Li 0
-.Nm
-successfully escaped the given string and printed the result.
-.It Li 1
-.Nm
-wasn't instructed to escape anything (for example, the
-.Ar --help
-flag was set); or, an error occurred.
-.El
-.Sh EXAMPLES
-.Bl -ohang -offset
-.It Sy "jsesc 'foo bar baz'"
-Print an escaped version of the given string.
-.It Sy echo\ 'foo bar baz'\ |\ jsesc
-Print an escaped version of the string that gets piped in.
-.El
-.Sh BUGS
-jsesc's bug tracker is located at <https://github.com/mathiasbynens/jsesc/issues>.
-.Sh AUTHOR
-Mathias Bynens <https://mathiasbynens.be/>
-.Sh WWW
-<https://mths.be/jsesc>
diff --git a/includes/search/node_modules/jsesc/package.json b/includes/search/node_modules/jsesc/package.json
deleted file mode 100644
index f89a7c6..0000000
--- a/includes/search/node_modules/jsesc/package.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "name": "jsesc",
- "version": "2.5.2",
- "description": "Given some data, jsesc returns the shortest possible stringified & ASCII-safe representation of that data.",
- "homepage": "https://mths.be/jsesc",
- "engines": {
- "node": ">=4"
- },
- "main": "jsesc.js",
- "bin": "bin/jsesc",
- "man": "man/jsesc.1",
- "keywords": [
- "buffer",
- "escape",
- "javascript",
- "json",
- "map",
- "set",
- "string",
- "stringify",
- "tool"
- ],
- "license": "MIT",
- "author": {
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/mathiasbynens/jsesc.git"
- },
- "bugs": "https://github.com/mathiasbynens/jsesc/issues",
- "files": [
- "LICENSE-MIT.txt",
- "jsesc.js",
- "bin/",
- "man/"
- ],
- "scripts": {
- "build": "grunt template",
- "coveralls": "istanbul cover --verbose --dir 'coverage' 'tests/tests.js' && coveralls < coverage/lcov.info'",
- "cover": "istanbul cover --report 'html' --verbose --dir 'coverage' 'tests/tests.js'",
- "test": "mocha tests"
- },
- "devDependencies": {
- "coveralls": "^2.11.6",
- "grunt": "^0.4.5",
- "grunt-template": "^0.2.3",
- "istanbul": "^0.4.2",
- "mocha": "*",
- "regenerate": "^1.3.0",
- "requirejs": "^2.1.22"
- }
-}
diff --git a/includes/search/node_modules/jsonfile/CHANGELOG.md b/includes/search/node_modules/jsonfile/CHANGELOG.md
deleted file mode 100644
index d772e43..0000000
--- a/includes/search/node_modules/jsonfile/CHANGELOG.md
+++ /dev/null
@@ -1,171 +0,0 @@
-6.1.0 / 2020-10-31
-------------------
-
-- Add `finalEOL` option to disable writing final EOL ([#115](https://github.com/jprichardson/node-jsonfile/issues/115), [#137](https://github.com/jprichardson/node-jsonfile/pull/137))
-- Update dependency ([#138](https://github.com/jprichardson/node-jsonfile/pull/138))
-
-6.0.1 / 2020-03-07
-------------------
-
-- Update dependency ([#130](https://github.com/jprichardson/node-jsonfile/pull/130))
-- Fix code style ([#129](https://github.com/jprichardson/node-jsonfile/pull/129))
-
-6.0.0 / 2020-02-24
-------------------
-
-- **BREAKING:** Drop support for Node 6 & 8 ([#128](https://github.com/jprichardson/node-jsonfile/pull/128))
-- **BREAKING:** Do not allow passing `null` as options to `readFile()` or `writeFile()` ([#128](https://github.com/jprichardson/node-jsonfile/pull/128))
-- Refactor internals ([#128](https://github.com/jprichardson/node-jsonfile/pull/128))
-
-5.0.0 / 2018-09-08
-------------------
-
-- **BREAKING:** Drop Node 4 support
-- **BREAKING:** If no callback is passed to an asynchronous method, a promise is now returned ([#109](https://github.com/jprichardson/node-jsonfile/pull/109))
-- Cleanup docs
-
-4.0.0 / 2017-07-12
-------------------
-
-- **BREAKING:** Remove global `spaces` option.
-- **BREAKING:** Drop support for Node 0.10, 0.12, and io.js.
-- Remove undocumented `passParsingErrors` option.
-- Added `EOL` override option to `writeFile` when using `spaces`. [#89]
-
-3.0.1 / 2017-07-05
-------------------
-
-- Fixed bug in `writeFile` when there was a serialization error & no callback was passed. In previous versions, an empty file would be written; now no file is written.
-
-3.0.0 / 2017-04-25
-------------------
-
-- Changed behavior of `throws` option for `readFileSync`; now does not throw filesystem errors when `throws` is `false`
-
-2.4.0 / 2016-09-15
-------------------
-### Changed
-- added optional support for `graceful-fs` [#62]
-
-2.3.1 / 2016-05-13
-------------------
-- fix to support BOM. [#45][#45]
-
-2.3.0 / 2016-04-16
-------------------
-- add `throws` to `readFile()`. See [#39][#39]
-- add support for any arbitrary `fs` module. Useful with [mock-fs](https://www.npmjs.com/package/mock-fs)
-
-2.2.3 / 2015-10-14
-------------------
-- include file name in parse error. See: https://github.com/jprichardson/node-jsonfile/pull/34
-
-2.2.2 / 2015-09-16
-------------------
-- split out tests into separate files
-- fixed `throws` when set to `true` in `readFileSync()`. See: https://github.com/jprichardson/node-jsonfile/pull/33
-
-2.2.1 / 2015-06-25
-------------------
-- fixed regression when passing in string as encoding for options in `writeFile()` and `writeFileSync()`. See: https://github.com/jprichardson/node-jsonfile/issues/28
-
-2.2.0 / 2015-06-25
-------------------
-- added `options.spaces` to `writeFile()` and `writeFileSync()`
-
-2.1.2 / 2015-06-22
-------------------
-- fixed if passed `readFileSync(file, 'utf8')`. See: https://github.com/jprichardson/node-jsonfile/issues/25
-
-2.1.1 / 2015-06-19
-------------------
-- fixed regressions if `null` is passed for options. See: https://github.com/jprichardson/node-jsonfile/issues/24
-
-2.1.0 / 2015-06-19
-------------------
-- cleanup: JavaScript Standard Style, rename files, dropped terst for assert
-- methods now support JSON revivers/replacers
-
-2.0.1 / 2015-05-24
-------------------
-- update license attribute https://github.com/jprichardson/node-jsonfile/pull/21
-
-2.0.0 / 2014-07-28
-------------------
-* added `\n` to end of file on write. [#14](https://github.com/jprichardson/node-jsonfile/pull/14)
-* added `options.throws` to `readFileSync()`
-* dropped support for Node v0.8
-
-1.2.0 / 2014-06-29
-------------------
-* removed semicolons
-* bugfix: passed `options` to `fs.readFile` and `fs.readFileSync`. This technically changes behavior, but
-changes it according to docs. [#12][#12]
-
-1.1.1 / 2013-11-11
-------------------
-* fixed catching of callback bug (ffissore / #5)
-
-1.1.0 / 2013-10-11
-------------------
-* added `options` param to methods, (seanodell / #4)
-
-1.0.1 / 2013-09-05
-------------------
-* removed `homepage` field from package.json to remove NPM warning
-
-1.0.0 / 2013-06-28
-------------------
-* added `.npmignore`, #1
-* changed spacing default from `4` to `2` to follow Node conventions
-
-0.0.1 / 2012-09-10
-------------------
-* Initial release.
-
-[#89]: https://github.com/jprichardson/node-jsonfile/pull/89
-[#45]: https://github.com/jprichardson/node-jsonfile/issues/45 "Reading of UTF8-encoded (w/ BOM) files fails"
-[#44]: https://github.com/jprichardson/node-jsonfile/issues/44 "Extra characters in written file"
-[#43]: https://github.com/jprichardson/node-jsonfile/issues/43 "Prettyfy json when written to file"
-[#42]: https://github.com/jprichardson/node-jsonfile/pull/42 "Moved fs.readFileSync within the try/catch"
-[#41]: https://github.com/jprichardson/node-jsonfile/issues/41 "Linux: Hidden file not working"
-[#40]: https://github.com/jprichardson/node-jsonfile/issues/40 "autocreate folder doesn't work from Path-value"
-[#39]: https://github.com/jprichardson/node-jsonfile/pull/39 "Add `throws` option for readFile (async)"
-[#38]: https://github.com/jprichardson/node-jsonfile/pull/38 "Update README.md writeFile[Sync] signature"
-[#37]: https://github.com/jprichardson/node-jsonfile/pull/37 "support append file"
-[#36]: https://github.com/jprichardson/node-jsonfile/pull/36 "Add typescript definition file."
-[#35]: https://github.com/jprichardson/node-jsonfile/pull/35 "Add typescript definition file."
-[#34]: https://github.com/jprichardson/node-jsonfile/pull/34 "readFile JSON parse error includes filename"
-[#33]: https://github.com/jprichardson/node-jsonfile/pull/33 "fix throw->throws typo in readFileSync()"
-[#32]: https://github.com/jprichardson/node-jsonfile/issues/32 "readFile & readFileSync can possible have strip-comments as an option?"
-[#31]: https://github.com/jprichardson/node-jsonfile/pull/31 "[Modify] Support string include is unicode escape string"
-[#30]: https://github.com/jprichardson/node-jsonfile/issues/30 "How to use Jsonfile package in Meteor.js App?"
-[#29]: https://github.com/jprichardson/node-jsonfile/issues/29 "writefile callback if no error?"
-[#28]: https://github.com/jprichardson/node-jsonfile/issues/28 "writeFile options argument broken "
-[#27]: https://github.com/jprichardson/node-jsonfile/pull/27 "Use svg instead of png to get better image quality"
-[#26]: https://github.com/jprichardson/node-jsonfile/issues/26 "Breaking change to fs-extra"
-[#25]: https://github.com/jprichardson/node-jsonfile/issues/25 "support string encoding param for read methods"
-[#24]: https://github.com/jprichardson/node-jsonfile/issues/24 "readFile: Passing in null options with a callback throws an error"
-[#23]: https://github.com/jprichardson/node-jsonfile/pull/23 "Add appendFile and appendFileSync"
-[#22]: https://github.com/jprichardson/node-jsonfile/issues/22 "Default value for spaces in readme.md is outdated"
-[#21]: https://github.com/jprichardson/node-jsonfile/pull/21 "Update license attribute"
-[#20]: https://github.com/jprichardson/node-jsonfile/issues/20 "Add simple caching functionallity"
-[#19]: https://github.com/jprichardson/node-jsonfile/pull/19 "Add appendFileSync method"
-[#18]: https://github.com/jprichardson/node-jsonfile/issues/18 "Add updateFile and updateFileSync methods"
-[#17]: https://github.com/jprichardson/node-jsonfile/issues/17 "seem read & write sync has sequentially problem"
-[#16]: https://github.com/jprichardson/node-jsonfile/pull/16 "export spaces defaulted to null"
-[#15]: https://github.com/jprichardson/node-jsonfile/issues/15 "`jsonfile.spaces` should default to `null`"
-[#14]: https://github.com/jprichardson/node-jsonfile/pull/14 "Add EOL at EOF"
-[#13]: https://github.com/jprichardson/node-jsonfile/issues/13 "Add a final newline"
-[#12]: https://github.com/jprichardson/node-jsonfile/issues/12 "readFile doesn't accept options"
-[#11]: https://github.com/jprichardson/node-jsonfile/pull/11 "Added try,catch to readFileSync"
-[#10]: https://github.com/jprichardson/node-jsonfile/issues/10 "No output or error from writeFile"
-[#9]: https://github.com/jprichardson/node-jsonfile/pull/9 "Change 'js' to 'jf' in example."
-[#8]: https://github.com/jprichardson/node-jsonfile/pull/8 "Updated forgotten module.exports to me."
-[#7]: https://github.com/jprichardson/node-jsonfile/pull/7 "Add file name in error message"
-[#6]: https://github.com/jprichardson/node-jsonfile/pull/6 "Use graceful-fs when possible"
-[#5]: https://github.com/jprichardson/node-jsonfile/pull/5 "Jsonfile doesn't behave nicely when used inside a test suite."
-[#4]: https://github.com/jprichardson/node-jsonfile/pull/4 "Added options parameter to writeFile and writeFileSync"
-[#3]: https://github.com/jprichardson/node-jsonfile/issues/3 "test2"
-[#2]: https://github.com/jprichardson/node-jsonfile/issues/2 "homepage field must be a string url. Deleted."
-[#1]: https://github.com/jprichardson/node-jsonfile/pull/1 "adding an `.npmignore` file"
diff --git a/includes/search/node_modules/jsonfile/LICENSE b/includes/search/node_modules/jsonfile/LICENSE
deleted file mode 100644
index cb7e807..0000000
--- a/includes/search/node_modules/jsonfile/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2012-2015, JP Richardson <jprichardson@gmail.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
-(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
- merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
-OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/jsonfile/README.md b/includes/search/node_modules/jsonfile/README.md
deleted file mode 100644
index 910cde0..0000000
--- a/includes/search/node_modules/jsonfile/README.md
+++ /dev/null
@@ -1,230 +0,0 @@
-Node.js - jsonfile
-================
-
-Easily read/write JSON files in Node.js. _Note: this module cannot be used in the browser._
-
-[![npm Package](https://img.shields.io/npm/v/jsonfile.svg?style=flat-square)](https://www.npmjs.org/package/jsonfile)
-[![build status](https://secure.travis-ci.org/jprichardson/node-jsonfile.svg)](http://travis-ci.org/jprichardson/node-jsonfile)
-[![windows Build status](https://img.shields.io/appveyor/ci/jprichardson/node-jsonfile/master.svg?label=windows%20build)](https://ci.appveyor.com/project/jprichardson/node-jsonfile/branch/master)
-
-<a href="https://github.com/feross/standard"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard JavaScript" width="100"></a>
-
-Why?
-----
-
-Writing `JSON.stringify()` and then `fs.writeFile()` and `JSON.parse()` with `fs.readFile()` enclosed in `try/catch` blocks became annoying.
-
-
-
-Installation
-------------
-
- npm install --save jsonfile
-
-
-
-API
----
-
-* [`readFile(filename, [options], callback)`](#readfilefilename-options-callback)
-* [`readFileSync(filename, [options])`](#readfilesyncfilename-options)
-* [`writeFile(filename, obj, [options], callback)`](#writefilefilename-obj-options-callback)
-* [`writeFileSync(filename, obj, [options])`](#writefilesyncfilename-obj-options)
-
-----
-
-### readFile(filename, [options], callback)
-
-`options` (`object`, default `undefined`): Pass in any [`fs.readFile`](https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback) options or set `reviver` for a [JSON reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse).
- - `throws` (`boolean`, default: `true`). If `JSON.parse` throws an error, pass this error to the callback.
- If `false`, returns `null` for the object.
-
-
-```js
-const jsonfile = require('jsonfile')
-const file = '/tmp/data.json'
-jsonfile.readFile(file, function (err, obj) {
- if (err) console.error(err)
- console.dir(obj)
-})
-```
-
-You can also use this method with promises. The `readFile` method will return a promise if you do not pass a callback function.
-
-```js
-const jsonfile = require('jsonfile')
-const file = '/tmp/data.json'
-jsonfile.readFile(file)
- .then(obj => console.dir(obj))
- .catch(error => console.error(error))
-```
-
-----
-
-### readFileSync(filename, [options])
-
-`options` (`object`, default `undefined`): Pass in any [`fs.readFileSync`](https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options) options or set `reviver` for a [JSON reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse).
-- `throws` (`boolean`, default: `true`). If an error is encountered reading or parsing the file, throw the error. If `false`, returns `null` for the object.
-
-```js
-const jsonfile = require('jsonfile')
-const file = '/tmp/data.json'
-
-console.dir(jsonfile.readFileSync(file))
-```
-
-----
-
-### writeFile(filename, obj, [options], callback)
-
-`options`: Pass in any [`fs.writeFile`](https://nodejs.org/api/fs.html#fs_fs_writefile_file_data_options_callback) options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces`, or override `EOL` string or set `finalEOL` flag as `false` to not save the file with `EOL` at the end.
-
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/data.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFile(file, obj, function (err) {
- if (err) console.error(err)
-})
-```
-Or use with promises as follows:
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/data.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFile(file, obj)
- .then(res => {
- console.log('Write complete')
- })
- .catch(error => console.error(error))
-```
-
-
-**formatting with spaces:**
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/data.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFile(file, obj, { spaces: 2 }, function (err) {
- if (err) console.error(err)
-})
-```
-
-**overriding EOL:**
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/data.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFile(file, obj, { spaces: 2, EOL: '\r\n' }, function (err) {
- if (err) console.error(err)
-})
-```
-
-
-**disabling the EOL at the end of file:**
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/data.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFile(file, obj, { spaces: 2, finalEOL: false }, function (err) {
- if (err) console.log(err)
-})
-```
-
-**appending to an existing JSON file:**
-
-You can use `fs.writeFile` option `{ flag: 'a' }` to achieve this.
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/mayAlreadyExistedData.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFile(file, obj, { flag: 'a' }, function (err) {
- if (err) console.error(err)
-})
-```
-
-----
-
-### writeFileSync(filename, obj, [options])
-
-`options`: Pass in any [`fs.writeFileSync`](https://nodejs.org/api/fs.html#fs_fs_writefilesync_file_data_options) options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces`, or override `EOL` string or set `finalEOL` flag as `false` to not save the file with `EOL` at the end.
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/data.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFileSync(file, obj)
-```
-
-**formatting with spaces:**
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/data.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFileSync(file, obj, { spaces: 2 })
-```
-
-**overriding EOL:**
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/data.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFileSync(file, obj, { spaces: 2, EOL: '\r\n' })
-```
-
-**disabling the EOL at the end of file:**
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/data.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFileSync(file, obj, { spaces: 2, finalEOL: false })
-```
-
-**appending to an existing JSON file:**
-
-You can use `fs.writeFileSync` option `{ flag: 'a' }` to achieve this.
-
-```js
-const jsonfile = require('jsonfile')
-
-const file = '/tmp/mayAlreadyExistedData.json'
-const obj = { name: 'JP' }
-
-jsonfile.writeFileSync(file, obj, { flag: 'a' })
-```
-
-License
--------
-
-(MIT License)
-
-Copyright 2012-2016, JP Richardson <jprichardson@gmail.com>
diff --git a/includes/search/node_modules/jsonfile/index.js b/includes/search/node_modules/jsonfile/index.js
deleted file mode 100644
index 0582868..0000000
--- a/includes/search/node_modules/jsonfile/index.js
+++ /dev/null
@@ -1,88 +0,0 @@
-let _fs
-try {
- _fs = require('graceful-fs')
-} catch (_) {
- _fs = require('fs')
-}
-const universalify = require('universalify')
-const { stringify, stripBom } = require('./utils')
-
-async function _readFile (file, options = {}) {
- if (typeof options === 'string') {
- options = { encoding: options }
- }
-
- const fs = options.fs || _fs
-
- const shouldThrow = 'throws' in options ? options.throws : true
-
- let data = await universalify.fromCallback(fs.readFile)(file, options)
-
- data = stripBom(data)
-
- let obj
- try {
- obj = JSON.parse(data, options ? options.reviver : null)
- } catch (err) {
- if (shouldThrow) {
- err.message = `${file}: ${err.message}`
- throw err
- } else {
- return null
- }
- }
-
- return obj
-}
-
-const readFile = universalify.fromPromise(_readFile)
-
-function readFileSync (file, options = {}) {
- if (typeof options === 'string') {
- options = { encoding: options }
- }
-
- const fs = options.fs || _fs
-
- const shouldThrow = 'throws' in options ? options.throws : true
-
- try {
- let content = fs.readFileSync(file, options)
- content = stripBom(content)
- return JSON.parse(content, options.reviver)
- } catch (err) {
- if (shouldThrow) {
- err.message = `${file}: ${err.message}`
- throw err
- } else {
- return null
- }
- }
-}
-
-async function _writeFile (file, obj, options = {}) {
- const fs = options.fs || _fs
-
- const str = stringify(obj, options)
-
- await universalify.fromCallback(fs.writeFile)(file, str, options)
-}
-
-const writeFile = universalify.fromPromise(_writeFile)
-
-function writeFileSync (file, obj, options = {}) {
- const fs = options.fs || _fs
-
- const str = stringify(obj, options)
- // not sure if fs.writeFileSync returns anything, but just in case
- return fs.writeFileSync(file, str, options)
-}
-
-const jsonfile = {
- readFile,
- readFileSync,
- writeFile,
- writeFileSync
-}
-
-module.exports = jsonfile
diff --git a/includes/search/node_modules/jsonfile/package.json b/includes/search/node_modules/jsonfile/package.json
deleted file mode 100644
index 4d01eb1..0000000
--- a/includes/search/node_modules/jsonfile/package.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "name": "jsonfile",
- "version": "6.1.0",
- "description": "Easily read/write JSON files.",
- "repository": {
- "type": "git",
- "url": "git@github.com:jprichardson/node-jsonfile.git"
- },
- "keywords": [
- "read",
- "write",
- "file",
- "json",
- "fs",
- "fs-extra"
- ],
- "author": "JP Richardson <jprichardson@gmail.com>",
- "license": "MIT",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- },
- "devDependencies": {
- "mocha": "^8.2.0",
- "rimraf": "^2.4.0",
- "standard": "^16.0.1"
- },
- "main": "index.js",
- "files": [
- "index.js",
- "utils.js"
- ],
- "scripts": {
- "lint": "standard",
- "test": "npm run lint && npm run unit",
- "unit": "mocha"
- }
-}
diff --git a/includes/search/node_modules/jsonfile/utils.js b/includes/search/node_modules/jsonfile/utils.js
deleted file mode 100644
index b5ff48e..0000000
--- a/includes/search/node_modules/jsonfile/utils.js
+++ /dev/null
@@ -1,14 +0,0 @@
-function stringify (obj, { EOL = '\n', finalEOL = true, replacer = null, spaces } = {}) {
- const EOF = finalEOL ? EOL : ''
- const str = JSON.stringify(obj, replacer, spaces)
-
- return str.replace(/\n/g, EOL) + EOF
-}
-
-function stripBom (content) {
- // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified
- if (Buffer.isBuffer(content)) content = content.toString('utf8')
- return content.replace(/^\uFEFF/, '')
-}
-
-module.exports = { stringify, stripBom }
diff --git a/includes/search/node_modules/lru-cache/LICENSE b/includes/search/node_modules/lru-cache/LICENSE
deleted file mode 100644
index 19129e3..0000000
--- a/includes/search/node_modules/lru-cache/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/lru-cache/README.md b/includes/search/node_modules/lru-cache/README.md
deleted file mode 100644
index 435dfeb..0000000
--- a/includes/search/node_modules/lru-cache/README.md
+++ /dev/null
@@ -1,166 +0,0 @@
-# lru cache
-
-A cache object that deletes the least-recently-used items.
-
-[![Build Status](https://travis-ci.org/isaacs/node-lru-cache.svg?branch=master)](https://travis-ci.org/isaacs/node-lru-cache) [![Coverage Status](https://coveralls.io/repos/isaacs/node-lru-cache/badge.svg?service=github)](https://coveralls.io/github/isaacs/node-lru-cache)
-
-## Installation:
-
-```javascript
-npm install lru-cache --save
-```
-
-## Usage:
-
-```javascript
-var LRU = require("lru-cache")
- , options = { max: 500
- , length: function (n, key) { return n * 2 + key.length }
- , dispose: function (key, n) { n.close() }
- , maxAge: 1000 * 60 * 60 }
- , cache = new LRU(options)
- , otherCache = new LRU(50) // sets just the max size
-
-cache.set("key", "value")
-cache.get("key") // "value"
-
-// non-string keys ARE fully supported
-// but note that it must be THE SAME object, not
-// just a JSON-equivalent object.
-var someObject = { a: 1 }
-cache.set(someObject, 'a value')
-// Object keys are not toString()-ed
-cache.set('[object Object]', 'a different value')
-assert.equal(cache.get(someObject), 'a value')
-// A similar object with same keys/values won't work,
-// because it's a different object identity
-assert.equal(cache.get({ a: 1 }), undefined)
-
-cache.reset() // empty the cache
-```
-
-If you put more stuff in it, then items will fall out.
-
-If you try to put an oversized thing in it, then it'll fall out right
-away.
-
-## Options
-
-* `max` The maximum size of the cache, checked by applying the length
- function to all values in the cache. Not setting this is kind of
- silly, since that's the whole purpose of this lib, but it defaults
- to `Infinity`. Setting it to a non-number or negative number will
- throw a `TypeError`. Setting it to 0 makes it be `Infinity`.
-* `maxAge` Maximum age in ms. Items are not pro-actively pruned out
- as they age, but if you try to get an item that is too old, it'll
- drop it and return undefined instead of giving it to you.
- Setting this to a negative value will make everything seem old!
- Setting it to a non-number will throw a `TypeError`.
-* `length` Function that is used to calculate the length of stored
- items. If you're storing strings or buffers, then you probably want
- to do something like `function(n, key){return n.length}`. The default is
- `function(){return 1}`, which is fine if you want to store `max`
- like-sized things. The item is passed as the first argument, and
- the key is passed as the second argumnet.
-* `dispose` Function that is called on items when they are dropped
- from the cache. This can be handy if you want to close file
- descriptors or do other cleanup tasks when items are no longer
- accessible. Called with `key, value`. It's called *before*
- actually removing the item from the internal cache, so if you want
- to immediately put it back in, you'll have to do that in a
- `nextTick` or `setTimeout` callback or it won't do anything.
-* `stale` By default, if you set a `maxAge`, it'll only actually pull
- stale items out of the cache when you `get(key)`. (That is, it's
- not pre-emptively doing a `setTimeout` or anything.) If you set
- `stale:true`, it'll return the stale value before deleting it. If
- you don't set this, then it'll return `undefined` when you try to
- get a stale entry, as if it had already been deleted.
-* `noDisposeOnSet` By default, if you set a `dispose()` method, then
- it'll be called whenever a `set()` operation overwrites an existing
- key. If you set this option, `dispose()` will only be called when a
- key falls out of the cache, not when it is overwritten.
-* `updateAgeOnGet` When using time-expiring entries with `maxAge`,
- setting this to `true` will make each item's effective time update
- to the current time whenever it is retrieved from cache, causing it
- to not expire. (It can still fall out of cache based on recency of
- use, of course.)
-
-## API
-
-* `set(key, value, maxAge)`
-* `get(key) => value`
-
- Both of these will update the "recently used"-ness of the key.
- They do what you think. `maxAge` is optional and overrides the
- cache `maxAge` option if provided.
-
- If the key is not found, `get()` will return `undefined`.
-
- The key and val can be any value.
-
-* `peek(key)`
-
- Returns the key value (or `undefined` if not found) without
- updating the "recently used"-ness of the key.
-
- (If you find yourself using this a lot, you *might* be using the
- wrong sort of data structure, but there are some use cases where
- it's handy.)
-
-* `del(key)`
-
- Deletes a key out of the cache.
-
-* `reset()`
-
- Clear the cache entirely, throwing away all values.
-
-* `has(key)`
-
- Check if a key is in the cache, without updating the recent-ness
- or deleting it for being stale.
-
-* `forEach(function(value,key,cache), [thisp])`
-
- Just like `Array.prototype.forEach`. Iterates over all the keys
- in the cache, in order of recent-ness. (Ie, more recently used
- items are iterated over first.)
-
-* `rforEach(function(value,key,cache), [thisp])`
-
- The same as `cache.forEach(...)` but items are iterated over in
- reverse order. (ie, less recently used items are iterated over
- first.)
-
-* `keys()`
-
- Return an array of the keys in the cache.
-
-* `values()`
-
- Return an array of the values in the cache.
-
-* `length`
-
- Return total length of objects in cache taking into account
- `length` options function.
-
-* `itemCount`
-
- Return total quantity of objects currently in cache. Note, that
- `stale` (see options) items are returned as part of this item
- count.
-
-* `dump()`
-
- Return an array of the cache entries ready for serialization and usage
- with 'destinationCache.load(arr)`.
-
-* `load(cacheEntriesArray)`
-
- Loads another cache entries array, obtained with `sourceCache.dump()`,
- into the cache. The destination cache is reset before loading new entries
-
-* `prune()`
-
- Manually iterates over the entire cache proactively pruning old entries
diff --git a/includes/search/node_modules/lru-cache/index.js b/includes/search/node_modules/lru-cache/index.js
deleted file mode 100644
index 573b6b8..0000000
--- a/includes/search/node_modules/lru-cache/index.js
+++ /dev/null
@@ -1,334 +0,0 @@
-'use strict'
-
-// A linked list to keep track of recently-used-ness
-const Yallist = require('yallist')
-
-const MAX = Symbol('max')
-const LENGTH = Symbol('length')
-const LENGTH_CALCULATOR = Symbol('lengthCalculator')
-const ALLOW_STALE = Symbol('allowStale')
-const MAX_AGE = Symbol('maxAge')
-const DISPOSE = Symbol('dispose')
-const NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')
-const LRU_LIST = Symbol('lruList')
-const CACHE = Symbol('cache')
-const UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')
-
-const naiveLength = () => 1
-
-// lruList is a yallist where the head is the youngest
-// item, and the tail is the oldest. the list contains the Hit
-// objects as the entries.
-// Each Hit object has a reference to its Yallist.Node. This
-// never changes.
-//
-// cache is a Map (or PseudoMap) that matches the keys to
-// the Yallist.Node object.
-class LRUCache {
- constructor (options) {
- if (typeof options === 'number')
- options = { max: options }
-
- if (!options)
- options = {}
-
- if (options.max && (typeof options.max !== 'number' || options.max < 0))
- throw new TypeError('max must be a non-negative number')
- // Kind of weird to have a default max of Infinity, but oh well.
- const max = this[MAX] = options.max || Infinity
-
- const lc = options.length || naiveLength
- this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc
- this[ALLOW_STALE] = options.stale || false
- if (options.maxAge && typeof options.maxAge !== 'number')
- throw new TypeError('maxAge must be a number')
- this[MAX_AGE] = options.maxAge || 0
- this[DISPOSE] = options.dispose
- this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false
- this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false
- this.reset()
- }
-
- // resize the cache when the max changes.
- set max (mL) {
- if (typeof mL !== 'number' || mL < 0)
- throw new TypeError('max must be a non-negative number')
-
- this[MAX] = mL || Infinity
- trim(this)
- }
- get max () {
- return this[MAX]
- }
-
- set allowStale (allowStale) {
- this[ALLOW_STALE] = !!allowStale
- }
- get allowStale () {
- return this[ALLOW_STALE]
- }
-
- set maxAge (mA) {
- if (typeof mA !== 'number')
- throw new TypeError('maxAge must be a non-negative number')
-
- this[MAX_AGE] = mA
- trim(this)
- }
- get maxAge () {
- return this[MAX_AGE]
- }
-
- // resize the cache when the lengthCalculator changes.
- set lengthCalculator (lC) {
- if (typeof lC !== 'function')
- lC = naiveLength
-
- if (lC !== this[LENGTH_CALCULATOR]) {
- this[LENGTH_CALCULATOR] = lC
- this[LENGTH] = 0
- this[LRU_LIST].forEach(hit => {
- hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)
- this[LENGTH] += hit.length
- })
- }
- trim(this)
- }
- get lengthCalculator () { return this[LENGTH_CALCULATOR] }
-
- get length () { return this[LENGTH] }
- get itemCount () { return this[LRU_LIST].length }
-
- rforEach (fn, thisp) {
- thisp = thisp || this
- for (let walker = this[LRU_LIST].tail; walker !== null;) {
- const prev = walker.prev
- forEachStep(this, fn, walker, thisp)
- walker = prev
- }
- }
-
- forEach (fn, thisp) {
- thisp = thisp || this
- for (let walker = this[LRU_LIST].head; walker !== null;) {
- const next = walker.next
- forEachStep(this, fn, walker, thisp)
- walker = next
- }
- }
-
- keys () {
- return this[LRU_LIST].toArray().map(k => k.key)
- }
-
- values () {
- return this[LRU_LIST].toArray().map(k => k.value)
- }
-
- reset () {
- if (this[DISPOSE] &&
- this[LRU_LIST] &&
- this[LRU_LIST].length) {
- this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))
- }
-
- this[CACHE] = new Map() // hash of items by key
- this[LRU_LIST] = new Yallist() // list of items in order of use recency
- this[LENGTH] = 0 // length of items in the list
- }
-
- dump () {
- return this[LRU_LIST].map(hit =>
- isStale(this, hit) ? false : {
- k: hit.key,
- v: hit.value,
- e: hit.now + (hit.maxAge || 0)
- }).toArray().filter(h => h)
- }
-
- dumpLru () {
- return this[LRU_LIST]
- }
-
- set (key, value, maxAge) {
- maxAge = maxAge || this[MAX_AGE]
-
- if (maxAge && typeof maxAge !== 'number')
- throw new TypeError('maxAge must be a number')
-
- const now = maxAge ? Date.now() : 0
- const len = this[LENGTH_CALCULATOR](value, key)
-
- if (this[CACHE].has(key)) {
- if (len > this[MAX]) {
- del(this, this[CACHE].get(key))
- return false
- }
-
- const node = this[CACHE].get(key)
- const item = node.value
-
- // dispose of the old one before overwriting
- // split out into 2 ifs for better coverage tracking
- if (this[DISPOSE]) {
- if (!this[NO_DISPOSE_ON_SET])
- this[DISPOSE](key, item.value)
- }
-
- item.now = now
- item.maxAge = maxAge
- item.value = value
- this[LENGTH] += len - item.length
- item.length = len
- this.get(key)
- trim(this)
- return true
- }
-
- const hit = new Entry(key, value, len, now, maxAge)
-
- // oversized objects fall out of cache automatically.
- if (hit.length > this[MAX]) {
- if (this[DISPOSE])
- this[DISPOSE](key, value)
-
- return false
- }
-
- this[LENGTH] += hit.length
- this[LRU_LIST].unshift(hit)
- this[CACHE].set(key, this[LRU_LIST].head)
- trim(this)
- return true
- }
-
- has (key) {
- if (!this[CACHE].has(key)) return false
- const hit = this[CACHE].get(key).value
- return !isStale(this, hit)
- }
-
- get (key) {
- return get(this, key, true)
- }
-
- peek (key) {
- return get(this, key, false)
- }
-
- pop () {
- const node = this[LRU_LIST].tail
- if (!node)
- return null
-
- del(this, node)
- return node.value
- }
-
- del (key) {
- del(this, this[CACHE].get(key))
- }
-
- load (arr) {
- // reset the cache
- this.reset()
-
- const now = Date.now()
- // A previous serialized cache has the most recent items first
- for (let l = arr.length - 1; l >= 0; l--) {
- const hit = arr[l]
- const expiresAt = hit.e || 0
- if (expiresAt === 0)
- // the item was created without expiration in a non aged cache
- this.set(hit.k, hit.v)
- else {
- const maxAge = expiresAt - now
- // dont add already expired items
- if (maxAge > 0) {
- this.set(hit.k, hit.v, maxAge)
- }
- }
- }
- }
-
- prune () {
- this[CACHE].forEach((value, key) => get(this, key, false))
- }
-}
-
-const get = (self, key, doUse) => {
- const node = self[CACHE].get(key)
- if (node) {
- const hit = node.value
- if (isStale(self, hit)) {
- del(self, node)
- if (!self[ALLOW_STALE])
- return undefined
- } else {
- if (doUse) {
- if (self[UPDATE_AGE_ON_GET])
- node.value.now = Date.now()
- self[LRU_LIST].unshiftNode(node)
- }
- }
- return hit.value
- }
-}
-
-const isStale = (self, hit) => {
- if (!hit || (!hit.maxAge && !self[MAX_AGE]))
- return false
-
- const diff = Date.now() - hit.now
- return hit.maxAge ? diff > hit.maxAge
- : self[MAX_AGE] && (diff > self[MAX_AGE])
-}
-
-const trim = self => {
- if (self[LENGTH] > self[MAX]) {
- for (let walker = self[LRU_LIST].tail;
- self[LENGTH] > self[MAX] && walker !== null;) {
- // We know that we're about to delete this one, and also
- // what the next least recently used key will be, so just
- // go ahead and set it now.
- const prev = walker.prev
- del(self, walker)
- walker = prev
- }
- }
-}
-
-const del = (self, node) => {
- if (node) {
- const hit = node.value
- if (self[DISPOSE])
- self[DISPOSE](hit.key, hit.value)
-
- self[LENGTH] -= hit.length
- self[CACHE].delete(hit.key)
- self[LRU_LIST].removeNode(node)
- }
-}
-
-class Entry {
- constructor (key, value, length, now, maxAge) {
- this.key = key
- this.value = value
- this.length = length
- this.now = now
- this.maxAge = maxAge || 0
- }
-}
-
-const forEachStep = (self, fn, node, thisp) => {
- let hit = node.value
- if (isStale(self, hit)) {
- del(self, node)
- if (!self[ALLOW_STALE])
- hit = undefined
- }
- if (hit)
- fn.call(thisp, hit.value, hit.key, self)
-}
-
-module.exports = LRUCache
diff --git a/includes/search/node_modules/lru-cache/package.json b/includes/search/node_modules/lru-cache/package.json
deleted file mode 100644
index 43b7502..0000000
--- a/includes/search/node_modules/lru-cache/package.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "name": "lru-cache",
- "description": "A cache object that deletes the least-recently-used items.",
- "version": "6.0.0",
- "author": "Isaac Z. Schlueter <i@izs.me>",
- "keywords": [
- "mru",
- "lru",
- "cache"
- ],
- "scripts": {
- "test": "tap",
- "snap": "tap",
- "preversion": "npm test",
- "postversion": "npm publish",
- "prepublishOnly": "git push origin --follow-tags"
- },
- "main": "index.js",
- "repository": "git://github.com/isaacs/node-lru-cache.git",
- "devDependencies": {
- "benchmark": "^2.1.4",
- "tap": "^14.10.7"
- },
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "files": [
- "index.js"
- ],
- "engines": {
- "node": ">=10"
- }
-}
diff --git a/includes/search/node_modules/merge2/LICENSE b/includes/search/node_modules/merge2/LICENSE
deleted file mode 100644
index 31dd9c7..0000000
--- a/includes/search/node_modules/merge2/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-2020 Teambition
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/merge2/README.md b/includes/search/node_modules/merge2/README.md
deleted file mode 100644
index 27f8eb9..0000000
--- a/includes/search/node_modules/merge2/README.md
+++ /dev/null
@@ -1,144 +0,0 @@
-# merge2
-
-Merge multiple streams into one stream in sequence or parallel.
-
-[![NPM version][npm-image]][npm-url]
-[![Build Status][travis-image]][travis-url]
-[![Downloads][downloads-image]][downloads-url]
-
-## Install
-
-Install with [npm](https://npmjs.org/package/merge2)
-
-```sh
-npm install merge2
-```
-
-## Usage
-
-```js
-const gulp = require('gulp')
-const merge2 = require('merge2')
-const concat = require('gulp-concat')
-const minifyHtml = require('gulp-minify-html')
-const ngtemplate = require('gulp-ngtemplate')
-
-gulp.task('app-js', function () {
- return merge2(
- gulp.src('static/src/tpl/*.html')
- .pipe(minifyHtml({empty: true}))
- .pipe(ngtemplate({
- module: 'genTemplates',
- standalone: true
- })
- ), gulp.src([
- 'static/src/js/app.js',
- 'static/src/js/locale_zh-cn.js',
- 'static/src/js/router.js',
- 'static/src/js/tools.js',
- 'static/src/js/services.js',
- 'static/src/js/filters.js',
- 'static/src/js/directives.js',
- 'static/src/js/controllers.js'
- ])
- )
- .pipe(concat('app.js'))
- .pipe(gulp.dest('static/dist/js/'))
-})
-```
-
-```js
-const stream = merge2([stream1, stream2], stream3, {end: false})
-//...
-stream.add(stream4, stream5)
-//..
-stream.end()
-```
-
-```js
-// equal to merge2([stream1, stream2], stream3)
-const stream = merge2()
-stream.add([stream1, stream2])
-stream.add(stream3)
-```
-
-```js
-// merge order:
-// 1. merge `stream1`;
-// 2. merge `stream2` and `stream3` in parallel after `stream1` merged;
-// 3. merge 'stream4' after `stream2` and `stream3` merged;
-const stream = merge2(stream1, [stream2, stream3], stream4)
-
-// merge order:
-// 1. merge `stream5` and `stream6` in parallel after `stream4` merged;
-// 2. merge 'stream7' after `stream5` and `stream6` merged;
-stream.add([stream5, stream6], stream7)
-```
-
-```js
-// nest merge
-// equal to merge2(stream1, stream2, stream6, stream3, [stream4, stream5]);
-const streamA = merge2(stream1, stream2)
-const streamB = merge2(stream3, [stream4, stream5])
-const stream = merge2(streamA, streamB)
-streamA.add(stream6)
-```
-
-## API
-
-```js
-const merge2 = require('merge2')
-```
-
-### merge2()
-
-### merge2(options)
-
-### merge2(stream1, stream2, ..., streamN)
-
-### merge2(stream1, stream2, ..., streamN, options)
-
-### merge2(stream1, [stream2, stream3, ...], streamN, options)
-
-return a duplex stream (mergedStream). streams in array will be merged in parallel.
-
-### mergedStream.add(stream)
-
-### mergedStream.add(stream1, [stream2, stream3, ...], ...)
-
-return the mergedStream.
-
-### mergedStream.on('queueDrain', function() {})
-
-It will emit 'queueDrain' when all streams merged. If you set `end === false` in options, this event give you a notice that should add more streams to merge or end the mergedStream.
-
-#### stream
-
-*option*
-Type: `Readable` or `Duplex` or `Transform` stream.
-
-#### options
-
-*option*
-Type: `Object`.
-
-* **end** - `Boolean` - if `end === false` then mergedStream will not be auto ended, you should end by yourself. **Default:** `undefined`
-
-* **pipeError** - `Boolean` - if `pipeError === true` then mergedStream will emit `error` event from source streams. **Default:** `undefined`
-
-* **objectMode** - `Boolean` . **Default:** `true`
-
-`objectMode` and other options(`highWaterMark`, `defaultEncoding` ...) is same as Node.js `Stream`.
-
-## License
-
-MIT © [Teambition](https://www.teambition.com)
-
-[npm-url]: https://npmjs.org/package/merge2
-[npm-image]: http://img.shields.io/npm/v/merge2.svg
-
-[travis-url]: https://travis-ci.org/teambition/merge2
-[travis-image]: http://img.shields.io/travis/teambition/merge2.svg
-
-[downloads-url]: https://npmjs.org/package/merge2
-[downloads-image]: http://img.shields.io/npm/dm/merge2.svg?style=flat-square
diff --git a/includes/search/node_modules/merge2/index.js b/includes/search/node_modules/merge2/index.js
deleted file mode 100644
index 78a61ed..0000000
--- a/includes/search/node_modules/merge2/index.js
+++ /dev/null
@@ -1,144 +0,0 @@
-'use strict'
-/*
- * merge2
- * https://github.com/teambition/merge2
- *
- * Copyright (c) 2014-2020 Teambition
- * Licensed under the MIT license.
- */
-const Stream = require('stream')
-const PassThrough = Stream.PassThrough
-const slice = Array.prototype.slice
-
-module.exports = merge2
-
-function merge2 () {
- const streamsQueue = []
- const args = slice.call(arguments)
- let merging = false
- let options = args[args.length - 1]
-
- if (options && !Array.isArray(options) && options.pipe == null) {
- args.pop()
- } else {
- options = {}
- }
-
- const doEnd = options.end !== false
- const doPipeError = options.pipeError === true
- if (options.objectMode == null) {
- options.objectMode = true
- }
- if (options.highWaterMark == null) {
- options.highWaterMark = 64 * 1024
- }
- const mergedStream = PassThrough(options)
-
- function addStream () {
- for (let i = 0, len = arguments.length; i < len; i++) {
- streamsQueue.push(pauseStreams(arguments[i], options))
- }
- mergeStream()
- return this
- }
-
- function mergeStream () {
- if (merging) {
- return
- }
- merging = true
-
- let streams = streamsQueue.shift()
- if (!streams) {
- process.nextTick(endStream)
- return
- }
- if (!Array.isArray(streams)) {
- streams = [streams]
- }
-
- let pipesCount = streams.length + 1
-
- function next () {
- if (--pipesCount > 0) {
- return
- }
- merging = false
- mergeStream()
- }
-
- function pipe (stream) {
- function onend () {
- stream.removeListener('merge2UnpipeEnd', onend)
- stream.removeListener('end', onend)
- if (doPipeError) {
- stream.removeListener('error', onerror)
- }
- next()
- }
- function onerror (err) {
- mergedStream.emit('error', err)
- }
- // skip ended stream
- if (stream._readableState.endEmitted) {
- return next()
- }
-
- stream.on('merge2UnpipeEnd', onend)
- stream.on('end', onend)
-
- if (doPipeError) {
- stream.on('error', onerror)
- }
-
- stream.pipe(mergedStream, { end: false })
- // compatible for old stream
- stream.resume()
- }
-
- for (let i = 0; i < streams.length; i++) {
- pipe(streams[i])
- }
-
- next()
- }
-
- function endStream () {
- merging = false
- // emit 'queueDrain' when all streams merged.
- mergedStream.emit('queueDrain')
- if (doEnd) {
- mergedStream.end()
- }
- }
-
- mergedStream.setMaxListeners(0)
- mergedStream.add = addStream
- mergedStream.on('unpipe', function (stream) {
- stream.emit('merge2UnpipeEnd')
- })
-
- if (args.length) {
- addStream.apply(null, args)
- }
- return mergedStream
-}
-
-// check and pause streams for pipe.
-function pauseStreams (streams, options) {
- if (!Array.isArray(streams)) {
- // Backwards-compat with old-style streams
- if (!streams._readableState && streams.pipe) {
- streams = streams.pipe(PassThrough(options))
- }
- if (!streams._readableState || !streams.pause || !streams.pipe) {
- throw new Error('Only readable stream can be merged.')
- }
- streams.pause()
- } else {
- for (let i = 0, len = streams.length; i < len; i++) {
- streams[i] = pauseStreams(streams[i], options)
- }
- }
- return streams
-}
diff --git a/includes/search/node_modules/merge2/package.json b/includes/search/node_modules/merge2/package.json
deleted file mode 100644
index 7777307..0000000
--- a/includes/search/node_modules/merge2/package.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "merge2",
- "description": "Merge multiple streams into one stream in sequence or parallel.",
- "authors": [
- "Yan Qing <admin@zensh.com>"
- ],
- "license": "MIT",
- "version": "1.4.1",
- "main": "./index.js",
- "repository": {
- "type": "git",
- "url": "git@github.com:teambition/merge2.git"
- },
- "homepage": "https://github.com/teambition/merge2",
- "keywords": [
- "merge2",
- "multiple",
- "sequence",
- "parallel",
- "merge",
- "stream",
- "merge stream",
- "sync"
- ],
- "engines": {
- "node": ">= 8"
- },
- "dependencies": {},
- "devDependencies": {
- "standard": "^14.3.4",
- "through2": "^3.0.1",
- "thunks": "^4.9.6",
- "tman": "^1.10.0",
- "to-through": "^2.0.0"
- },
- "scripts": {
- "test": "standard && tman"
- },
- "files": [
- "README.md",
- "index.js"
- ]
-}
diff --git a/includes/search/node_modules/micromatch/LICENSE b/includes/search/node_modules/micromatch/LICENSE
deleted file mode 100755
index 9af4a67..0000000
--- a/includes/search/node_modules/micromatch/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-present, Jon Schlinkert.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/micromatch/README.md b/includes/search/node_modules/micromatch/README.md
deleted file mode 100644
index fd56336..0000000
--- a/includes/search/node_modules/micromatch/README.md
+++ /dev/null
@@ -1,1011 +0,0 @@
-# micromatch [![NPM version](https://img.shields.io/npm/v/micromatch.svg?style=flat)](https://www.npmjs.com/package/micromatch) [![NPM monthly downloads](https://img.shields.io/npm/dm/micromatch.svg?style=flat)](https://npmjs.org/package/micromatch) [![NPM total downloads](https://img.shields.io/npm/dt/micromatch.svg?style=flat)](https://npmjs.org/package/micromatch) [![Tests](https://github.com/micromatch/micromatch/actions/workflows/test.yml/badge.svg)](https://github.com/micromatch/micromatch/actions/workflows/test.yml)
-
-> Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.
-
-Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
-
-## Table of Contents
-
-<details>
-<summary><strong>Details</strong></summary>
-
-- [Install](#install)
-- [Quickstart](#quickstart)
-- [Why use micromatch?](#why-use-micromatch)
- * [Matching features](#matching-features)
-- [Switching to micromatch](#switching-to-micromatch)
- * [From minimatch](#from-minimatch)
- * [From multimatch](#from-multimatch)
-- [API](#api)
-- [Options](#options)
-- [Options Examples](#options-examples)
- * [options.basename](#optionsbasename)
- * [options.bash](#optionsbash)
- * [options.expandRange](#optionsexpandrange)
- * [options.format](#optionsformat)
- * [options.ignore](#optionsignore)
- * [options.matchBase](#optionsmatchbase)
- * [options.noextglob](#optionsnoextglob)
- * [options.nonegate](#optionsnonegate)
- * [options.noglobstar](#optionsnoglobstar)
- * [options.nonull](#optionsnonull)
- * [options.nullglob](#optionsnullglob)
- * [options.onIgnore](#optionsonignore)
- * [options.onMatch](#optionsonmatch)
- * [options.onResult](#optionsonresult)
- * [options.posixSlashes](#optionsposixslashes)
- * [options.unescape](#optionsunescape)
-- [Extended globbing](#extended-globbing)
- * [Extglobs](#extglobs)
- * [Braces](#braces)
- * [Regex character classes](#regex-character-classes)
- * [Regex groups](#regex-groups)
- * [POSIX bracket expressions](#posix-bracket-expressions)
-- [Notes](#notes)
- * [Bash 4.3 parity](#bash-43-parity)
- * [Backslashes](#backslashes)
-- [Benchmarks](#benchmarks)
- * [Running benchmarks](#running-benchmarks)
- * [Latest results](#latest-results)
-- [Contributing](#contributing)
-- [About](#about)
-
-</details>
-
-## Install
-
-Install with [npm](https://www.npmjs.com/) (requires [Node.js](https://nodejs.org/en/) >=8.6):
-
-```sh
-$ npm install --save micromatch
-```
-
-## Quickstart
-
-```js
-const micromatch = require('micromatch');
-// micromatch(list, patterns[, options]);
-```
-
-The [main export](#micromatch) takes a list of strings and one or more glob patterns:
-
-```js
-console.log(micromatch(['foo', 'bar', 'baz', 'qux'], ['f*', 'b*'])) //=> ['foo', 'bar', 'baz']
-console.log(micromatch(['foo', 'bar', 'baz', 'qux'], ['*', '!b*'])) //=> ['foo', 'qux']
-```
-
-Use [.isMatch()](#ismatch) to for boolean matching:
-
-```js
-console.log(micromatch.isMatch('foo', 'f*')) //=> true
-console.log(micromatch.isMatch('foo', ['b*', 'f*'])) //=> true
-```
-
-[Switching](#switching-to-micromatch) from minimatch and multimatch is easy!
-
-<br>
-
-## Why use micromatch?
-
-> micromatch is a [replacement](#switching-to-micromatch) for minimatch and multimatch
-
-* Supports all of the same matching features as [minimatch](https://github.com/isaacs/minimatch) and [multimatch](https://github.com/sindresorhus/multimatch)
-* More complete support for the Bash 4.3 specification than minimatch and multimatch. Micromatch passes _all of the spec tests_ from bash, including some that bash still fails.
-* **Fast & Performant** - Loads in about 5ms and performs [fast matches](#benchmarks).
-* **Glob matching** - Using wildcards (`*` and `?`), globstars (`**`) for nested directories
-* **[Advanced globbing](#extended-globbing)** - Supports [extglobs](#extglobs), [braces](#braces-1), and [POSIX brackets](#posix-bracket-expressions), and support for escaping special characters with `\` or quotes.
-* **Accurate** - Covers more scenarios [than minimatch](https://github.com/yarnpkg/yarn/pull/3339)
-* **Well tested** - More than 5,000 [test assertions](./test)
-* **Windows support** - More reliable windows support than minimatch and multimatch.
-* **[Safe](https://github.com/micromatch/braces#braces-is-safe)** - Micromatch is not subject to DoS with brace patterns like minimatch and multimatch.
-
-### Matching features
-
-* Support for multiple glob patterns (no need for wrappers like multimatch)
-* Wildcards (`**`, `*.js`)
-* Negation (`'!a/*.js'`, `'*!(b).js'`)
-* [extglobs](#extglobs) (`+(x|y)`, `!(a|b)`)
-* [POSIX character classes](#posix-bracket-expressions) (`[[:alpha:][:digit:]]`)
-* [brace expansion](https://github.com/micromatch/braces) (`foo/{1..5}.md`, `bar/{a,b,c}.js`)
-* regex character classes (`foo-[1-5].js`)
-* regex logical "or" (`foo/(abc|xyz).js`)
-
-You can mix and match these features to create whatever patterns you need!
-
-## Switching to micromatch
-
-_(There is one notable difference between micromatch and minimatch in regards to how backslashes are handled. See [the notes about backslashes](#backslashes) for more information.)_
-
-### From minimatch
-
-Use [micromatch.isMatch()](#ismatch) instead of `minimatch()`:
-
-```js
-console.log(micromatch.isMatch('foo', 'b*')); //=> false
-```
-
-Use [micromatch.match()](#match) instead of `minimatch.match()`:
-
-```js
-console.log(micromatch.match(['foo', 'bar'], 'b*')); //=> 'bar'
-```
-
-### From multimatch
-
-Same signature:
-
-```js
-console.log(micromatch(['foo', 'bar', 'baz'], ['f*', '*z'])); //=> ['foo', 'baz']
-```
-
-## API
-
-**Params**
-
-* `list` **{String|Array<string>}**: List of strings to match.
-* `patterns` **{String|Array<string>}**: One or more glob patterns to use for matching.
-* `options` **{Object}**: See available [options](#options)
-* `returns` **{Array}**: Returns an array of matches
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm(list, patterns[, options]);
-
-console.log(mm(['a.js', 'a.txt'], ['*.js']));
-//=> [ 'a.js' ]
-```
-
-### [.matcher](index.js#L104)
-
-Returns a matcher function from the given glob `pattern` and `options`. The returned function takes a string to match as its only argument and returns true if the string is a match.
-
-**Params**
-
-* `pattern` **{String}**: Glob pattern
-* `options` **{Object}**
-* `returns` **{Function}**: Returns a matcher function.
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm.matcher(pattern[, options]);
-
-const isMatch = mm.matcher('*.!(*a)');
-console.log(isMatch('a.a')); //=> false
-console.log(isMatch('a.b')); //=> true
-```
-
-### [.isMatch](index.js#L123)
-
-Returns true if **any** of the given glob `patterns` match the specified `string`.
-
-**Params**
-
-* `str` **{String}**: The string to test.
-* `patterns` **{String|Array}**: One or more glob patterns to use for matching.
-* `[options]` **{Object}**: See available [options](#options).
-* `returns` **{Boolean}**: Returns true if any patterns match `str`
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm.isMatch(string, patterns[, options]);
-
-console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true
-console.log(mm.isMatch('a.a', 'b.*')); //=> false
-```
-
-### [.not](index.js#L148)
-
-Returns a list of strings that _**do not match any**_ of the given `patterns`.
-
-**Params**
-
-* `list` **{Array}**: Array of strings to match.
-* `patterns` **{String|Array}**: One or more glob pattern to use for matching.
-* `options` **{Object}**: See available [options](#options) for changing how matches are performed
-* `returns` **{Array}**: Returns an array of strings that **do not match** the given patterns.
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm.not(list, patterns[, options]);
-
-console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a'));
-//=> ['b.b', 'c.c']
-```
-
-### [.contains](index.js#L188)
-
-Returns true if the given `string` contains the given pattern. Similar to [.isMatch](#isMatch) but the pattern can match any part of the string.
-
-**Params**
-
-* `str` **{String}**: The string to match.
-* `patterns` **{String|Array}**: Glob pattern to use for matching.
-* `options` **{Object}**: See available [options](#options) for changing how matches are performed
-* `returns` **{Boolean}**: Returns true if any of the patterns matches any part of `str`.
-
-**Example**
-
-```js
-var mm = require('micromatch');
-// mm.contains(string, pattern[, options]);
-
-console.log(mm.contains('aa/bb/cc', '*b'));
-//=> true
-console.log(mm.contains('aa/bb/cc', '*d'));
-//=> false
-```
-
-### [.matchKeys](index.js#L230)
-
-Filter the keys of the given object with the given `glob` pattern and `options`. Does not attempt to match nested keys. If you need this feature, use [glob-object](https://github.com/jonschlinkert/glob-object) instead.
-
-**Params**
-
-* `object` **{Object}**: The object with keys to filter.
-* `patterns` **{String|Array}**: One or more glob patterns to use for matching.
-* `options` **{Object}**: See available [options](#options) for changing how matches are performed
-* `returns` **{Object}**: Returns an object with only keys that match the given patterns.
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm.matchKeys(object, patterns[, options]);
-
-const obj = { aa: 'a', ab: 'b', ac: 'c' };
-console.log(mm.matchKeys(obj, '*b'));
-//=> { ab: 'b' }
-```
-
-### [.some](index.js#L259)
-
-Returns true if some of the strings in the given `list` match any of the given glob `patterns`.
-
-**Params**
-
-* `list` **{String|Array}**: The string or array of strings to test. Returns as soon as the first match is found.
-* `patterns` **{String|Array}**: One or more glob patterns to use for matching.
-* `options` **{Object}**: See available [options](#options) for changing how matches are performed
-* `returns` **{Boolean}**: Returns true if any `patterns` matches any of the strings in `list`
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm.some(list, patterns[, options]);
-
-console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js']));
-// true
-console.log(mm.some(['foo.js'], ['*.js', '!foo.js']));
-// false
-```
-
-### [.every](index.js#L295)
-
-Returns true if every string in the given `list` matches any of the given glob `patterns`.
-
-**Params**
-
-* `list` **{String|Array}**: The string or array of strings to test.
-* `patterns` **{String|Array}**: One or more glob patterns to use for matching.
-* `options` **{Object}**: See available [options](#options) for changing how matches are performed
-* `returns` **{Boolean}**: Returns true if all `patterns` matches all of the strings in `list`
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm.every(list, patterns[, options]);
-
-console.log(mm.every('foo.js', ['foo.js']));
-// true
-console.log(mm.every(['foo.js', 'bar.js'], ['*.js']));
-// true
-console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js']));
-// false
-console.log(mm.every(['foo.js'], ['*.js', '!foo.js']));
-// false
-```
-
-### [.all](index.js#L334)
-
-Returns true if **all** of the given `patterns` match the specified string.
-
-**Params**
-
-* `str` **{String|Array}**: The string to test.
-* `patterns` **{String|Array}**: One or more glob patterns to use for matching.
-* `options` **{Object}**: See available [options](#options) for changing how matches are performed
-* `returns` **{Boolean}**: Returns true if any patterns match `str`
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm.all(string, patterns[, options]);
-
-console.log(mm.all('foo.js', ['foo.js']));
-// true
-
-console.log(mm.all('foo.js', ['*.js', '!foo.js']));
-// false
-
-console.log(mm.all('foo.js', ['*.js', 'foo.js']));
-// true
-
-console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js']));
-// true
-```
-
-### [.capture](index.js#L361)
-
-Returns an array of matches captured by `pattern` in `string, or`null` if the pattern did not match.
-
-**Params**
-
-* `glob` **{String}**: Glob pattern to use for matching.
-* `input` **{String}**: String to match
-* `options` **{Object}**: See available [options](#options) for changing how matches are performed
-* `returns` **{Array|null}**: Returns an array of captures if the input matches the glob pattern, otherwise `null`.
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm.capture(pattern, string[, options]);
-
-console.log(mm.capture('test/*.js', 'test/foo.js'));
-//=> ['foo']
-console.log(mm.capture('test/*.js', 'foo/bar.css'));
-//=> null
-```
-
-### [.makeRe](index.js#L387)
-
-Create a regular expression from the given glob `pattern`.
-
-**Params**
-
-* `pattern` **{String}**: A glob pattern to convert to regex.
-* `options` **{Object}**
-* `returns` **{RegExp}**: Returns a regex created from the given pattern.
-
-**Example**
-
-```js
-const mm = require('micromatch');
-// mm.makeRe(pattern[, options]);
-
-console.log(mm.makeRe('*.js'));
-//=> /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/
-```
-
-### [.scan](index.js#L403)
-
-Scan a glob pattern to separate the pattern into segments. Used by the [split](#split) method.
-
-**Params**
-
-* `pattern` **{String}**
-* `options` **{Object}**
-* `returns` **{Object}**: Returns an object with
-
-**Example**
-
-```js
-const mm = require('micromatch');
-const state = mm.scan(pattern[, options]);
-```
-
-### [.parse](index.js#L419)
-
-Parse a glob pattern to create the source string for a regular expression.
-
-**Params**
-
-* `glob` **{String}**
-* `options` **{Object}**
-* `returns` **{Object}**: Returns an object with useful properties and output to be used as regex source string.
-
-**Example**
-
-```js
-const mm = require('micromatch');
-const state = mm.parse(pattern[, options]);
-```
-
-### [.braces](index.js#L446)
-
-Process the given brace `pattern`.
-
-**Params**
-
-* `pattern` **{String}**: String with brace pattern to process.
-* `options` **{Object}**: Any [options](#options) to change how expansion is performed. See the [braces](https://github.com/micromatch/braces) library for all available options.
-* `returns` **{Array}**
-
-**Example**
-
-```js
-const { braces } = require('micromatch');
-console.log(braces('foo/{a,b,c}/bar'));
-//=> [ 'foo/(a|b|c)/bar' ]
-
-console.log(braces('foo/{a,b,c}/bar', { expand: true }));
-//=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ]
-```
-
-## Options
-
-| **Option** | **Type** | **Default value** | **Description** |
-| --- | --- | --- | --- |
-| `basename` | `boolean` | `false` | If set, then patterns without slashes will be matched against the basename of the path if it contains slashes. For example, `a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`. |
-| `bash` | `boolean` | `false` | Follow bash matching rules more strictly - disallows backslashes as escape characters, and treats single stars as globstars (`**`). |
-| `capture` | `boolean` | `undefined` | Return regex matches in supporting methods. |
-| `contains` | `boolean` | `undefined` | Allows glob to match any part of the given string(s). |
-| `cwd` | `string` | `process.cwd()` | Current working directory. Used by `picomatch.split()` |
-| `debug` | `boolean` | `undefined` | Debug regular expressions when an error is thrown. |
-| `dot` | `boolean` | `false` | Match dotfiles. Otherwise dotfiles are ignored unless a `.` is explicitly defined in the pattern. |
-| `expandRange` | `function` | `undefined` | Custom function for expanding ranges in brace patterns, such as `{a..z}`. The function receives the range values as two arguments, and it must return a string to be used in the generated regex. It's recommended that returned strings be wrapped in parentheses. This option is overridden by the `expandBrace` option. |
-| `failglob` | `boolean` | `false` | Similar to the `failglob` behavior in Bash, throws an error when no matches are found. Based on the bash option of the same name. |
-| `fastpaths` | `boolean` | `true` | To speed up processing, full parsing is skipped for a handful common glob patterns. Disable this behavior by setting this option to `false`. |
-| `flags` | `boolean` | `undefined` | Regex flags to use in the generated regex. If defined, the `nocase` option will be overridden. |
-| [format](#optionsformat) | `function` | `undefined` | Custom function for formatting the returned string. This is useful for removing leading slashes, converting Windows paths to Posix paths, etc. |
-| `ignore` | `array\|string` | `undefined` | One or more glob patterns for excluding strings that should not be matched from the result. |
-| `keepQuotes` | `boolean` | `false` | Retain quotes in the generated regex, since quotes may also be used as an alternative to backslashes. |
-| `literalBrackets` | `boolean` | `undefined` | When `true`, brackets in the glob pattern will be escaped so that only literal brackets will be matched. |
-| `lookbehinds` | `boolean` | `true` | Support regex positive and negative lookbehinds. Note that you must be using Node 8.1.10 or higher to enable regex lookbehinds. |
-| `matchBase` | `boolean` | `false` | Alias for `basename` |
-| `maxLength` | `boolean` | `65536` | Limit the max length of the input string. An error is thrown if the input string is longer than this value. |
-| `nobrace` | `boolean` | `false` | Disable brace matching, so that `{a,b}` and `{1..3}` would be treated as literal characters. |
-| `nobracket` | `boolean` | `undefined` | Disable matching with regex brackets. |
-| `nocase` | `boolean` | `false` | Perform case-insensitive matching. Equivalent to the regex `i` flag. Note that this option is ignored when the `flags` option is defined. |
-| `nodupes` | `boolean` | `true` | Deprecated, use `nounique` instead. This option will be removed in a future major release. By default duplicates are removed. Disable uniquification by setting this option to false. |
-| `noext` | `boolean` | `false` | Alias for `noextglob` |
-| `noextglob` | `boolean` | `false` | Disable support for matching with [extglobs](#extglobs) (like `+(a\|b)`) |
-| `noglobstar` | `boolean` | `false` | Disable support for matching nested directories with globstars (`**`) |
-| `nonegate` | `boolean` | `false` | Disable support for negating with leading `!` |
-| `noquantifiers` | `boolean` | `false` | Disable support for regex quantifiers (like `a{1,2}`) and treat them as brace patterns to be expanded. |
-| [onIgnore](#optionsonIgnore) | `function` | `undefined` | Function to be called on ignored items. |
-| [onMatch](#optionsonMatch) | `function` | `undefined` | Function to be called on matched items. |
-| [onResult](#optionsonResult) | `function` | `undefined` | Function to be called on all items, regardless of whether or not they are matched or ignored. |
-| `posix` | `boolean` | `false` | Support [POSIX character classes](#posix-bracket-expressions) ("posix brackets"). |
-| `posixSlashes` | `boolean` | `undefined` | Convert all slashes in file paths to forward slashes. This does not convert slashes in the glob pattern itself |
-| `prepend` | `string` | `undefined` | String to prepend to the generated regex used for matching. |
-| `regex` | `boolean` | `false` | Use regular expression rules for `+` (instead of matching literal `+`), and for stars that follow closing parentheses or brackets (as in `)*` and `]*`). |
-| `strictBrackets` | `boolean` | `undefined` | Throw an error if brackets, braces, or parens are imbalanced. |
-| `strictSlashes` | `boolean` | `undefined` | When true, picomatch won't match trailing slashes with single stars. |
-| `unescape` | `boolean` | `undefined` | Remove preceding backslashes from escaped glob characters before creating the regular expression to perform matches. |
-| `unixify` | `boolean` | `undefined` | Alias for `posixSlashes`, for backwards compatitibility. |
-
-## Options Examples
-
-### options.basename
-
-Allow glob patterns without slashes to match a file path based on its basename. Same behavior as [minimatch](https://github.com/isaacs/minimatch) option `matchBase`.
-
-**Type**: `Boolean`
-
-**Default**: `false`
-
-**Example**
-
-```js
-micromatch(['a/b.js', 'a/c.md'], '*.js');
-//=> []
-
-micromatch(['a/b.js', 'a/c.md'], '*.js', { basename: true });
-//=> ['a/b.js']
-```
-
-### options.bash
-
-Enabled by default, this option enforces bash-like behavior with stars immediately following a bracket expression. Bash bracket expressions are similar to regex character classes, but unlike regex, a star following a bracket expression **does not repeat the bracketed characters**. Instead, the star is treated the same as any other star.
-
-**Type**: `Boolean`
-
-**Default**: `true`
-
-**Example**
-
-```js
-const files = ['abc', 'ajz'];
-console.log(micromatch(files, '[a-c]*'));
-//=> ['abc', 'ajz']
-
-console.log(micromatch(files, '[a-c]*', { bash: false }));
-```
-
-### options.expandRange
-
-**Type**: `function`
-
-**Default**: `undefined`
-
-Custom function for expanding ranges in brace patterns. The [fill-range](https://github.com/jonschlinkert/fill-range) library is ideal for this purpose, or you can use custom code to do whatever you need.
-
-**Example**
-
-The following example shows how to create a glob that matches a numeric folder name between `01` and `25`, with leading zeros.
-
-```js
-const fill = require('fill-range');
-const regex = micromatch.makeRe('foo/{01..25}/bar', {
- expandRange(a, b) {
- return `(${fill(a, b, { toRegex: true })})`;
- }
-});
-
-console.log(regex)
-//=> /^(?:foo\/((?:0[1-9]|1[0-9]|2[0-5]))\/bar)$/
-
-console.log(regex.test('foo/00/bar')) // false
-console.log(regex.test('foo/01/bar')) // true
-console.log(regex.test('foo/10/bar')) // true
-console.log(regex.test('foo/22/bar')) // true
-console.log(regex.test('foo/25/bar')) // true
-console.log(regex.test('foo/26/bar')) // false
-```
-
-### options.format
-
-**Type**: `function`
-
-**Default**: `undefined`
-
-Custom function for formatting strings before they're matched.
-
-**Example**
-
-```js
-// strip leading './' from strings
-const format = str => str.replace(/^\.\//, '');
-const isMatch = picomatch('foo/*.js', { format });
-console.log(isMatch('./foo/bar.js')) //=> true
-```
-
-### options.ignore
-
-String or array of glob patterns to match files to ignore.
-
-**Type**: `String|Array`
-
-**Default**: `undefined`
-
-```js
-const isMatch = micromatch.matcher('*', { ignore: 'f*' });
-console.log(isMatch('foo')) //=> false
-console.log(isMatch('bar')) //=> true
-console.log(isMatch('baz')) //=> true
-```
-
-### options.matchBase
-
-Alias for [options.basename](#options-basename).
-
-### options.noextglob
-
-Disable extglob support, so that [extglobs](#extglobs) are regarded as literal characters.
-
-**Type**: `Boolean`
-
-**Default**: `undefined`
-
-**Examples**
-
-```js
-console.log(micromatch(['a/z', 'a/b', 'a/!(z)'], 'a/!(z)'));
-//=> ['a/b', 'a/!(z)']
-
-console.log(micromatch(['a/z', 'a/b', 'a/!(z)'], 'a/!(z)', { noextglob: true }));
-//=> ['a/!(z)'] (matches only as literal characters)
-```
-
-### options.nonegate
-
-Disallow negation (`!`) patterns, and treat leading `!` as a literal character to match.
-
-**Type**: `Boolean`
-
-**Default**: `undefined`
-
-### options.noglobstar
-
-Disable matching with globstars (`**`).
-
-**Type**: `Boolean`
-
-**Default**: `undefined`
-
-```js
-micromatch(['a/b', 'a/b/c', 'a/b/c/d'], 'a/**');
-//=> ['a/b', 'a/b/c', 'a/b/c/d']
-
-micromatch(['a/b', 'a/b/c', 'a/b/c/d'], 'a/**', {noglobstar: true});
-//=> ['a/b']
-```
-
-### options.nonull
-
-Alias for [options.nullglob](#options-nullglob).
-
-### options.nullglob
-
-If `true`, when no matches are found the actual (arrayified) glob pattern is returned instead of an empty array. Same behavior as [minimatch](https://github.com/isaacs/minimatch) option `nonull`.
-
-**Type**: `Boolean`
-
-**Default**: `undefined`
-
-### options.onIgnore
-
-```js
-const onIgnore = ({ glob, regex, input, output }) => {
- console.log({ glob, regex, input, output });
- // { glob: '*', regex: /^(?:(?!\.)(?=.)[^\/]*?\/?)$/, input: 'foo', output: 'foo' }
-};
-
-const isMatch = micromatch.matcher('*', { onIgnore, ignore: 'f*' });
-isMatch('foo');
-isMatch('bar');
-isMatch('baz');
-```
-
-### options.onMatch
-
-```js
-const onMatch = ({ glob, regex, input, output }) => {
- console.log({ input, output });
- // { input: 'some\\path', output: 'some/path' }
- // { input: 'some\\path', output: 'some/path' }
- // { input: 'some\\path', output: 'some/path' }
-};
-
-const isMatch = micromatch.matcher('**', { onMatch, posixSlashes: true });
-isMatch('some\\path');
-isMatch('some\\path');
-isMatch('some\\path');
-```
-
-### options.onResult
-
-```js
-const onResult = ({ glob, regex, input, output }) => {
- console.log({ glob, regex, input, output });
-};
-
-const isMatch = micromatch('*', { onResult, ignore: 'f*' });
-isMatch('foo');
-isMatch('bar');
-isMatch('baz');
-```
-
-### options.posixSlashes
-
-Convert path separators on returned files to posix/unix-style forward slashes. Aliased as `unixify` for backwards compatibility.
-
-**Type**: `Boolean`
-
-**Default**: `true` on windows, `false` everywhere else.
-
-**Example**
-
-```js
-console.log(micromatch.match(['a\\b\\c'], 'a/**'));
-//=> ['a/b/c']
-
-console.log(micromatch.match(['a\\b\\c'], { posixSlashes: false }));
-//=> ['a\\b\\c']
-```
-
-### options.unescape
-
-Remove backslashes from escaped glob characters before creating the regular expression to perform matches.
-
-**Type**: `Boolean`
-
-**Default**: `undefined`
-
-**Example**
-
-In this example we want to match a literal `*`:
-
-```js
-console.log(micromatch.match(['abc', 'a\\*c'], 'a\\*c'));
-//=> ['a\\*c']
-
-console.log(micromatch.match(['abc', 'a\\*c'], 'a\\*c', { unescape: true }));
-//=> ['a*c']
-```
-
-<br>
-<br>
-
-## Extended globbing
-
-Micromatch supports the following extended globbing features.
-
-### Extglobs
-
-Extended globbing, as described by the bash man page:
-
-| **pattern** | **regex equivalent** | **description** |
-| --- | --- | --- |
-| `?(pattern)` | `(pattern)?` | Matches zero or one occurrence of the given patterns |
-| `*(pattern)` | `(pattern)*` | Matches zero or more occurrences of the given patterns |
-| `+(pattern)` | `(pattern)+` | Matches one or more occurrences of the given patterns |
-| `@(pattern)` | `(pattern)` <sup>*</sup> | Matches one of the given patterns |
-| `!(pattern)` | N/A (equivalent regex is much more complicated) | Matches anything except one of the given patterns |
-
-<sup><strong>*</strong></sup> Note that `@` isn't a regex character.
-
-### Braces
-
-Brace patterns can be used to match specific ranges or sets of characters.
-
-**Example**
-
-The pattern `{f,b}*/{1..3}/{b,q}*` would match any of following strings:
-
-```
-foo/1/bar
-foo/2/bar
-foo/3/bar
-baz/1/qux
-baz/2/qux
-baz/3/qux
-```
-
-Visit [braces](https://github.com/micromatch/braces) to see the full range of features and options related to brace expansion, or to create brace matching or expansion related issues.
-
-### Regex character classes
-
-Given the list: `['a.js', 'b.js', 'c.js', 'd.js', 'E.js']`:
-
-* `[ac].js`: matches both `a` and `c`, returning `['a.js', 'c.js']`
-* `[b-d].js`: matches from `b` to `d`, returning `['b.js', 'c.js', 'd.js']`
-* `a/[A-Z].js`: matches and uppercase letter, returning `['a/E.md']`
-
-Learn about [regex character classes](http://www.regular-expressions.info/charclass.html).
-
-### Regex groups
-
-Given `['a.js', 'b.js', 'c.js', 'd.js', 'E.js']`:
-
-* `(a|c).js`: would match either `a` or `c`, returning `['a.js', 'c.js']`
-* `(b|d).js`: would match either `b` or `d`, returning `['b.js', 'd.js']`
-* `(b|[A-Z]).js`: would match either `b` or an uppercase letter, returning `['b.js', 'E.js']`
-
-As with regex, parens can be nested, so patterns like `((a|b)|c)/b` will work. Although brace expansion might be friendlier to use, depending on preference.
-
-### POSIX bracket expressions
-
-POSIX brackets are intended to be more user-friendly than regex character classes. This of course is in the eye of the beholder.
-
-**Example**
-
-```js
-console.log(micromatch.isMatch('a1', '[[:alpha:][:digit:]]')) //=> true
-console.log(micromatch.isMatch('a1', '[[:alpha:][:alpha:]]')) //=> false
-```
-
-***
-
-## Notes
-
-### Bash 4.3 parity
-
-Whenever possible matching behavior is based on behavior Bash 4.3, which is mostly consistent with minimatch.
-
-However, it's suprising how many edge cases and rabbit holes there are with glob matching, and since there is no real glob specification, and micromatch is more accurate than both Bash and minimatch, there are cases where best-guesses were made for behavior. In a few cases where Bash had no answers, we used wildmatch (used by git) as a fallback.
-
-### Backslashes
-
-There is an important, notable difference between minimatch and micromatch _in regards to how backslashes are handled_ in glob patterns.
-
-* Micromatch exclusively and explicitly reserves backslashes for escaping characters in a glob pattern, even on windows, which is consistent with bash behavior. _More importantly, unescaping globs can result in unsafe regular expressions_.
-* Minimatch converts all backslashes to forward slashes, which means you can't use backslashes to escape any characters in your glob patterns.
-
-We made this decision for micromatch for a couple of reasons:
-
-* Consistency with bash conventions.
-* Glob patterns are not filepaths. They are a type of [regular language](https://en.wikipedia.org/wiki/Regular_language) that is converted to a JavaScript regular expression. Thus, when forward slashes are defined in a glob pattern, the resulting regular expression will match windows or POSIX path separators just fine.
-
-**A note about joining paths to globs**
-
-Note that when you pass something like `path.join('foo', '*')` to micromatch, you are creating a filepath and expecting it to still work as a glob pattern. This causes problems on windows, since the `path.sep` is `\\`.
-
-In other words, since `\\` is reserved as an escape character in globs, on windows `path.join('foo', '*')` would result in `foo\\*`, which tells micromatch to match `*` as a literal character. This is the same behavior as bash.
-
-To solve this, you might be inspired to do something like `'foo\\*'.replace(/\\/g, '/')`, but this causes another, potentially much more serious, problem.
-
-## Benchmarks
-
-### Running benchmarks
-
-Install dependencies for running benchmarks:
-
-```sh
-$ cd bench && npm install
-```
-
-Run the benchmarks:
-
-```sh
-$ npm run bench
-```
-
-### Latest results
-
-As of March 24, 2022 (longer bars are better):
-
-```sh
-# .makeRe star
- micromatch x 2,232,802 ops/sec ±2.34% (89 runs sampled))
- minimatch x 781,018 ops/sec ±6.74% (92 runs sampled))
-
-# .makeRe star; dot=true
- micromatch x 1,863,453 ops/sec ±0.74% (93 runs sampled)
- minimatch x 723,105 ops/sec ±0.75% (93 runs sampled)
-
-# .makeRe globstar
- micromatch x 1,624,179 ops/sec ±2.22% (91 runs sampled)
- minimatch x 1,117,230 ops/sec ±2.78% (86 runs sampled))
-
-# .makeRe globstars
- micromatch x 1,658,642 ops/sec ±0.86% (92 runs sampled)
- minimatch x 741,224 ops/sec ±1.24% (89 runs sampled))
-
-# .makeRe with leading star
- micromatch x 1,525,014 ops/sec ±1.63% (90 runs sampled)
- minimatch x 561,074 ops/sec ±3.07% (89 runs sampled)
-
-# .makeRe - braces
- micromatch x 172,478 ops/sec ±2.37% (78 runs sampled)
- minimatch x 96,087 ops/sec ±2.34% (88 runs sampled)))
-
-# .makeRe braces - range (expanded)
- micromatch x 26,973 ops/sec ±0.84% (89 runs sampled)
- minimatch x 3,023 ops/sec ±0.99% (90 runs sampled))
-
-# .makeRe braces - range (compiled)
- micromatch x 152,892 ops/sec ±1.67% (83 runs sampled)
- minimatch x 992 ops/sec ±3.50% (89 runs sampled)d))
-
-# .makeRe braces - nested ranges (expanded)
- micromatch x 15,816 ops/sec ±13.05% (80 runs sampled)
- minimatch x 2,953 ops/sec ±1.64% (91 runs sampled)
-
-# .makeRe braces - nested ranges (compiled)
- micromatch x 110,881 ops/sec ±1.85% (82 runs sampled)
- minimatch x 1,008 ops/sec ±1.51% (91 runs sampled)
-
-# .makeRe braces - set (compiled)
- micromatch x 134,930 ops/sec ±3.54% (63 runs sampled))
- minimatch x 43,242 ops/sec ±0.60% (93 runs sampled)
-
-# .makeRe braces - nested sets (compiled)
- micromatch x 94,455 ops/sec ±1.74% (69 runs sampled))
- minimatch x 27,720 ops/sec ±1.84% (93 runs sampled))
-```
-
-## Contributing
-
-All contributions are welcome! Please read [the contributing guide](.github/contributing.md) to get started.
-
-**Bug reports**
-
-Please create an issue if you encounter a bug or matching behavior that doesn't seem correct. If you find a matching-related issue, please:
-
-* [research existing issues first](../../issues) (open and closed)
-* visit the [GNU Bash documentation](https://www.gnu.org/software/bash/manual/) to see how Bash deals with the pattern
-* visit the [minimatch](https://github.com/isaacs/minimatch) documentation to cross-check expected behavior in node.js
-* if all else fails, since there is no real specification for globs we will probably need to discuss expected behavior and decide how to resolve it. which means any detail you can provide to help with this discussion would be greatly appreciated.
-
-**Platform issues**
-
-It's important to us that micromatch work consistently on all platforms. If you encounter any platform-specific matching or path related issues, please let us know (pull requests are also greatly appreciated).
-
-## About
-
-<details>
-<summary><strong>Contributing</strong></summary>
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
-
-Please read the [contributing guide](.github/contributing.md) for advice on opening issues, pull requests, and coding standards.
-
-</details>
-
-<details>
-<summary><strong>Running Tests</strong></summary>
-
-Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
-
-```sh
-$ npm install && npm test
-```
-
-</details>
-
-<details>
-<summary><strong>Building docs</strong></summary>
-
-_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
-
-To generate the readme, run the following command:
-
-```sh
-$ npm install -g verbose/verb#dev verb-generate-readme && verb
-```
-
-</details>
-
-### Related projects
-
-You might also be interested in these projects:
-
-* [braces](https://www.npmjs.com/package/braces): Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support… [more](https://github.com/micromatch/braces) | [homepage](https://github.com/micromatch/braces "Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.")
-* [expand-brackets](https://www.npmjs.com/package/expand-brackets): Expand POSIX bracket expressions (character classes) in glob patterns. | [homepage](https://github.com/micromatch/expand-brackets "Expand POSIX bracket expressions (character classes) in glob patterns.")
-* [extglob](https://www.npmjs.com/package/extglob): Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob… [more](https://github.com/micromatch/extglob) | [homepage](https://github.com/micromatch/extglob "Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob patterns.")
-* [fill-range](https://www.npmjs.com/package/fill-range): Fill in a range of numbers or letters, optionally passing an increment or `step` to… [more](https://github.com/jonschlinkert/fill-range) | [homepage](https://github.com/jonschlinkert/fill-range "Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`")
-* [nanomatch](https://www.npmjs.com/package/nanomatch): Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash… [more](https://github.com/micromatch/nanomatch) | [homepage](https://github.com/micromatch/nanomatch "Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash 4.3 wildcard support only (no support for exglobs, posix brackets or braces)")
-
-### Contributors
-
-| **Commits** | **Contributor** |
-| --- | --- |
-| 512 | [jonschlinkert](https://github.com/jonschlinkert) |
-| 12 | [es128](https://github.com/es128) |
-| 9 | [danez](https://github.com/danez) |
-| 8 | [doowb](https://github.com/doowb) |
-| 6 | [paulmillr](https://github.com/paulmillr) |
-| 5 | [mrmlnc](https://github.com/mrmlnc) |
-| 3 | [DrPizza](https://github.com/DrPizza) |
-| 2 | [TrySound](https://github.com/TrySound) |
-| 2 | [mceIdo](https://github.com/mceIdo) |
-| 2 | [Glazy](https://github.com/Glazy) |
-| 2 | [MartinKolarik](https://github.com/MartinKolarik) |
-| 2 | [antonyk](https://github.com/antonyk) |
-| 2 | [Tvrqvoise](https://github.com/Tvrqvoise) |
-| 1 | [amilajack](https://github.com/amilajack) |
-| 1 | [Cslove](https://github.com/Cslove) |
-| 1 | [devongovett](https://github.com/devongovett) |
-| 1 | [DianeLooney](https://github.com/DianeLooney) |
-| 1 | [UltCombo](https://github.com/UltCombo) |
-| 1 | [frangio](https://github.com/frangio) |
-| 1 | [joyceerhl](https://github.com/joyceerhl) |
-| 1 | [juszczykjakub](https://github.com/juszczykjakub) |
-| 1 | [muescha](https://github.com/muescha) |
-| 1 | [sebdeckers](https://github.com/sebdeckers) |
-| 1 | [tomByrer](https://github.com/tomByrer) |
-| 1 | [fidian](https://github.com/fidian) |
-| 1 | [curbengh](https://github.com/curbengh) |
-| 1 | [simlu](https://github.com/simlu) |
-| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) |
-| 1 | [yvele](https://github.com/yvele) |
-
-### Author
-
-**Jon Schlinkert**
-
-* [GitHub Profile](https://github.com/jonschlinkert)
-* [Twitter Profile](https://twitter.com/jonschlinkert)
-* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
-
-### License
-
-Copyright © 2022, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT License](LICENSE).
-
-***
-
-_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on March 24, 2022._ \ No newline at end of file
diff --git a/includes/search/node_modules/micromatch/index.js b/includes/search/node_modules/micromatch/index.js
deleted file mode 100644
index 1fad7f7..0000000
--- a/includes/search/node_modules/micromatch/index.js
+++ /dev/null
@@ -1,467 +0,0 @@
-'use strict';
-
-const util = require('util');
-const braces = require('braces');
-const picomatch = require('picomatch');
-const utils = require('picomatch/lib/utils');
-const isEmptyString = val => val === '' || val === './';
-
-/**
- * Returns an array of strings that match one or more glob patterns.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm(list, patterns[, options]);
- *
- * console.log(mm(['a.js', 'a.txt'], ['*.js']));
- * //=> [ 'a.js' ]
- * ```
- * @param {String|Array<string>} `list` List of strings to match.
- * @param {String|Array<string>} `patterns` One or more glob patterns to use for matching.
- * @param {Object} `options` See available [options](#options)
- * @return {Array} Returns an array of matches
- * @summary false
- * @api public
- */
-
-const micromatch = (list, patterns, options) => {
- patterns = [].concat(patterns);
- list = [].concat(list);
-
- let omit = new Set();
- let keep = new Set();
- let items = new Set();
- let negatives = 0;
-
- let onResult = state => {
- items.add(state.output);
- if (options && options.onResult) {
- options.onResult(state);
- }
- };
-
- for (let i = 0; i < patterns.length; i++) {
- let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true);
- let negated = isMatch.state.negated || isMatch.state.negatedExtglob;
- if (negated) negatives++;
-
- for (let item of list) {
- let matched = isMatch(item, true);
-
- let match = negated ? !matched.isMatch : matched.isMatch;
- if (!match) continue;
-
- if (negated) {
- omit.add(matched.output);
- } else {
- omit.delete(matched.output);
- keep.add(matched.output);
- }
- }
- }
-
- let result = negatives === patterns.length ? [...items] : [...keep];
- let matches = result.filter(item => !omit.has(item));
-
- if (options && matches.length === 0) {
- if (options.failglob === true) {
- throw new Error(`No matches found for "${patterns.join(', ')}"`);
- }
-
- if (options.nonull === true || options.nullglob === true) {
- return options.unescape ? patterns.map(p => p.replace(/\\/g, '')) : patterns;
- }
- }
-
- return matches;
-};
-
-/**
- * Backwards compatibility
- */
-
-micromatch.match = micromatch;
-
-/**
- * Returns a matcher function from the given glob `pattern` and `options`.
- * The returned function takes a string to match as its only argument and returns
- * true if the string is a match.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm.matcher(pattern[, options]);
- *
- * const isMatch = mm.matcher('*.!(*a)');
- * console.log(isMatch('a.a')); //=> false
- * console.log(isMatch('a.b')); //=> true
- * ```
- * @param {String} `pattern` Glob pattern
- * @param {Object} `options`
- * @return {Function} Returns a matcher function.
- * @api public
- */
-
-micromatch.matcher = (pattern, options) => picomatch(pattern, options);
-
-/**
- * Returns true if **any** of the given glob `patterns` match the specified `string`.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm.isMatch(string, patterns[, options]);
- *
- * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true
- * console.log(mm.isMatch('a.a', 'b.*')); //=> false
- * ```
- * @param {String} `str` The string to test.
- * @param {String|Array} `patterns` One or more glob patterns to use for matching.
- * @param {Object} `[options]` See available [options](#options).
- * @return {Boolean} Returns true if any patterns match `str`
- * @api public
- */
-
-micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
-
-/**
- * Backwards compatibility
- */
-
-micromatch.any = micromatch.isMatch;
-
-/**
- * Returns a list of strings that _**do not match any**_ of the given `patterns`.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm.not(list, patterns[, options]);
- *
- * console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a'));
- * //=> ['b.b', 'c.c']
- * ```
- * @param {Array} `list` Array of strings to match.
- * @param {String|Array} `patterns` One or more glob pattern to use for matching.
- * @param {Object} `options` See available [options](#options) for changing how matches are performed
- * @return {Array} Returns an array of strings that **do not match** the given patterns.
- * @api public
- */
-
-micromatch.not = (list, patterns, options = {}) => {
- patterns = [].concat(patterns).map(String);
- let result = new Set();
- let items = [];
-
- let onResult = state => {
- if (options.onResult) options.onResult(state);
- items.push(state.output);
- };
-
- let matches = new Set(micromatch(list, patterns, { ...options, onResult }));
-
- for (let item of items) {
- if (!matches.has(item)) {
- result.add(item);
- }
- }
- return [...result];
-};
-
-/**
- * Returns true if the given `string` contains the given pattern. Similar
- * to [.isMatch](#isMatch) but the pattern can match any part of the string.
- *
- * ```js
- * var mm = require('micromatch');
- * // mm.contains(string, pattern[, options]);
- *
- * console.log(mm.contains('aa/bb/cc', '*b'));
- * //=> true
- * console.log(mm.contains('aa/bb/cc', '*d'));
- * //=> false
- * ```
- * @param {String} `str` The string to match.
- * @param {String|Array} `patterns` Glob pattern to use for matching.
- * @param {Object} `options` See available [options](#options) for changing how matches are performed
- * @return {Boolean} Returns true if any of the patterns matches any part of `str`.
- * @api public
- */
-
-micromatch.contains = (str, pattern, options) => {
- if (typeof str !== 'string') {
- throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
- }
-
- if (Array.isArray(pattern)) {
- return pattern.some(p => micromatch.contains(str, p, options));
- }
-
- if (typeof pattern === 'string') {
- if (isEmptyString(str) || isEmptyString(pattern)) {
- return false;
- }
-
- if (str.includes(pattern) || (str.startsWith('./') && str.slice(2).includes(pattern))) {
- return true;
- }
- }
-
- return micromatch.isMatch(str, pattern, { ...options, contains: true });
-};
-
-/**
- * Filter the keys of the given object with the given `glob` pattern
- * and `options`. Does not attempt to match nested keys. If you need this feature,
- * use [glob-object][] instead.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm.matchKeys(object, patterns[, options]);
- *
- * const obj = { aa: 'a', ab: 'b', ac: 'c' };
- * console.log(mm.matchKeys(obj, '*b'));
- * //=> { ab: 'b' }
- * ```
- * @param {Object} `object` The object with keys to filter.
- * @param {String|Array} `patterns` One or more glob patterns to use for matching.
- * @param {Object} `options` See available [options](#options) for changing how matches are performed
- * @return {Object} Returns an object with only keys that match the given patterns.
- * @api public
- */
-
-micromatch.matchKeys = (obj, patterns, options) => {
- if (!utils.isObject(obj)) {
- throw new TypeError('Expected the first argument to be an object');
- }
- let keys = micromatch(Object.keys(obj), patterns, options);
- let res = {};
- for (let key of keys) res[key] = obj[key];
- return res;
-};
-
-/**
- * Returns true if some of the strings in the given `list` match any of the given glob `patterns`.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm.some(list, patterns[, options]);
- *
- * console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js']));
- * // true
- * console.log(mm.some(['foo.js'], ['*.js', '!foo.js']));
- * // false
- * ```
- * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found.
- * @param {String|Array} `patterns` One or more glob patterns to use for matching.
- * @param {Object} `options` See available [options](#options) for changing how matches are performed
- * @return {Boolean} Returns true if any `patterns` matches any of the strings in `list`
- * @api public
- */
-
-micromatch.some = (list, patterns, options) => {
- let items = [].concat(list);
-
- for (let pattern of [].concat(patterns)) {
- let isMatch = picomatch(String(pattern), options);
- if (items.some(item => isMatch(item))) {
- return true;
- }
- }
- return false;
-};
-
-/**
- * Returns true if every string in the given `list` matches
- * any of the given glob `patterns`.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm.every(list, patterns[, options]);
- *
- * console.log(mm.every('foo.js', ['foo.js']));
- * // true
- * console.log(mm.every(['foo.js', 'bar.js'], ['*.js']));
- * // true
- * console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js']));
- * // false
- * console.log(mm.every(['foo.js'], ['*.js', '!foo.js']));
- * // false
- * ```
- * @param {String|Array} `list` The string or array of strings to test.
- * @param {String|Array} `patterns` One or more glob patterns to use for matching.
- * @param {Object} `options` See available [options](#options) for changing how matches are performed
- * @return {Boolean} Returns true if all `patterns` matches all of the strings in `list`
- * @api public
- */
-
-micromatch.every = (list, patterns, options) => {
- let items = [].concat(list);
-
- for (let pattern of [].concat(patterns)) {
- let isMatch = picomatch(String(pattern), options);
- if (!items.every(item => isMatch(item))) {
- return false;
- }
- }
- return true;
-};
-
-/**
- * Returns true if **all** of the given `patterns` match
- * the specified string.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm.all(string, patterns[, options]);
- *
- * console.log(mm.all('foo.js', ['foo.js']));
- * // true
- *
- * console.log(mm.all('foo.js', ['*.js', '!foo.js']));
- * // false
- *
- * console.log(mm.all('foo.js', ['*.js', 'foo.js']));
- * // true
- *
- * console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js']));
- * // true
- * ```
- * @param {String|Array} `str` The string to test.
- * @param {String|Array} `patterns` One or more glob patterns to use for matching.
- * @param {Object} `options` See available [options](#options) for changing how matches are performed
- * @return {Boolean} Returns true if any patterns match `str`
- * @api public
- */
-
-micromatch.all = (str, patterns, options) => {
- if (typeof str !== 'string') {
- throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
- }
-
- return [].concat(patterns).every(p => picomatch(p, options)(str));
-};
-
-/**
- * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm.capture(pattern, string[, options]);
- *
- * console.log(mm.capture('test/*.js', 'test/foo.js'));
- * //=> ['foo']
- * console.log(mm.capture('test/*.js', 'foo/bar.css'));
- * //=> null
- * ```
- * @param {String} `glob` Glob pattern to use for matching.
- * @param {String} `input` String to match
- * @param {Object} `options` See available [options](#options) for changing how matches are performed
- * @return {Array|null} Returns an array of captures if the input matches the glob pattern, otherwise `null`.
- * @api public
- */
-
-micromatch.capture = (glob, input, options) => {
- let posix = utils.isWindows(options);
- let regex = picomatch.makeRe(String(glob), { ...options, capture: true });
- let match = regex.exec(posix ? utils.toPosixSlashes(input) : input);
-
- if (match) {
- return match.slice(1).map(v => v === void 0 ? '' : v);
- }
-};
-
-/**
- * Create a regular expression from the given glob `pattern`.
- *
- * ```js
- * const mm = require('micromatch');
- * // mm.makeRe(pattern[, options]);
- *
- * console.log(mm.makeRe('*.js'));
- * //=> /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/
- * ```
- * @param {String} `pattern` A glob pattern to convert to regex.
- * @param {Object} `options`
- * @return {RegExp} Returns a regex created from the given pattern.
- * @api public
- */
-
-micromatch.makeRe = (...args) => picomatch.makeRe(...args);
-
-/**
- * Scan a glob pattern to separate the pattern into segments. Used
- * by the [split](#split) method.
- *
- * ```js
- * const mm = require('micromatch');
- * const state = mm.scan(pattern[, options]);
- * ```
- * @param {String} `pattern`
- * @param {Object} `options`
- * @return {Object} Returns an object with
- * @api public
- */
-
-micromatch.scan = (...args) => picomatch.scan(...args);
-
-/**
- * Parse a glob pattern to create the source string for a regular
- * expression.
- *
- * ```js
- * const mm = require('micromatch');
- * const state = mm.parse(pattern[, options]);
- * ```
- * @param {String} `glob`
- * @param {Object} `options`
- * @return {Object} Returns an object with useful properties and output to be used as regex source string.
- * @api public
- */
-
-micromatch.parse = (patterns, options) => {
- let res = [];
- for (let pattern of [].concat(patterns || [])) {
- for (let str of braces(String(pattern), options)) {
- res.push(picomatch.parse(str, options));
- }
- }
- return res;
-};
-
-/**
- * Process the given brace `pattern`.
- *
- * ```js
- * const { braces } = require('micromatch');
- * console.log(braces('foo/{a,b,c}/bar'));
- * //=> [ 'foo/(a|b|c)/bar' ]
- *
- * console.log(braces('foo/{a,b,c}/bar', { expand: true }));
- * //=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ]
- * ```
- * @param {String} `pattern` String with brace pattern to process.
- * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options.
- * @return {Array}
- * @api public
- */
-
-micromatch.braces = (pattern, options) => {
- if (typeof pattern !== 'string') throw new TypeError('Expected a string');
- if ((options && options.nobrace === true) || !/\{.*\}/.test(pattern)) {
- return [pattern];
- }
- return braces(pattern, options);
-};
-
-/**
- * Expand braces
- */
-
-micromatch.braceExpand = (pattern, options) => {
- if (typeof pattern !== 'string') throw new TypeError('Expected a string');
- return micromatch.braces(pattern, { ...options, expand: true });
-};
-
-/**
- * Expose micromatch
- */
-
-module.exports = micromatch;
diff --git a/includes/search/node_modules/micromatch/package.json b/includes/search/node_modules/micromatch/package.json
deleted file mode 100644
index 6061d5b..0000000
--- a/includes/search/node_modules/micromatch/package.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "name": "micromatch",
- "description": "Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.",
- "version": "4.0.5",
- "homepage": "https://github.com/micromatch/micromatch",
- "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
- "contributors": [
- "(https://github.com/DianeLooney)",
- "Amila Welihinda (amilajack.com)",
- "Bogdan Chadkin (https://github.com/TrySound)",
- "Brian Woodward (https://twitter.com/doowb)",
- "Devon Govett (http://badassjs.com)",
- "Elan Shanker (https://github.com/es128)",
- "Fabrício Matté (https://ultcombo.js.org)",
- "Jon Schlinkert (http://twitter.com/jonschlinkert)",
- "Martin Kolárik (https://kolarik.sk)",
- "Olsten Larck (https://i.am.charlike.online)",
- "Paul Miller (paulmillr.com)",
- "Tom Byrer (https://github.com/tomByrer)",
- "Tyler Akins (http://rumkin.com)",
- "Peter Bright <drpizza@quiscalusmexicanus.org> (https://github.com/drpizza)",
- "Kuba Juszczyk (https://github.com/ku8ar)"
- ],
- "repository": "micromatch/micromatch",
- "bugs": {
- "url": "https://github.com/micromatch/micromatch/issues"
- },
- "license": "MIT",
- "files": [
- "index.js"
- ],
- "main": "index.js",
- "engines": {
- "node": ">=8.6"
- },
- "scripts": {
- "test": "mocha"
- },
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "devDependencies": {
- "fill-range": "^7.0.1",
- "gulp-format-md": "^2.0.0",
- "minimatch": "^5.0.1",
- "mocha": "^9.2.2",
- "time-require": "github:jonschlinkert/time-require"
- },
- "keywords": [
- "bash",
- "bracket",
- "character-class",
- "expand",
- "expansion",
- "expression",
- "extglob",
- "extglobs",
- "file",
- "files",
- "filter",
- "find",
- "glob",
- "globbing",
- "globs",
- "globstar",
- "lookahead",
- "lookaround",
- "lookbehind",
- "match",
- "matcher",
- "matches",
- "matching",
- "micromatch",
- "minimatch",
- "multimatch",
- "negate",
- "negation",
- "path",
- "pattern",
- "patterns",
- "posix",
- "regex",
- "regexp",
- "regular",
- "shell",
- "star",
- "wildcard"
- ],
- "verb": {
- "toc": "collapsible",
- "layout": "default",
- "tasks": [
- "readme"
- ],
- "plugins": [
- "gulp-format-md"
- ],
- "lint": {
- "reflinks": true
- },
- "related": {
- "list": [
- "braces",
- "expand-brackets",
- "extglob",
- "fill-range",
- "nanomatch"
- ]
- },
- "reflinks": [
- "extglob",
- "fill-range",
- "glob-object",
- "minimatch",
- "multimatch"
- ]
- }
-}
diff --git a/includes/search/node_modules/mimic-response/index.d.ts b/includes/search/node_modules/mimic-response/index.d.ts
deleted file mode 100644
index 65a51e9..0000000
--- a/includes/search/node_modules/mimic-response/index.d.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import {IncomingMessage} from 'http';
-
-/**
-Mimic a [Node.js HTTP response stream](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
-
-Makes `toStream` include the properties from `fromStream`.
-
-@param fromStream - The stream to copy the properties from.
-@param toStream - The stream to copy the properties to.
-@return The same object as `toStream`.
-*/
-declare function mimicResponse<T extends NodeJS.ReadableStream>(
- fromStream: IncomingMessage, // eslint-disable-line @typescript-eslint/prefer-readonly-parameter-types
- toStream: T,
-): T & IncomingMessage;
-
-export = mimicResponse;
diff --git a/includes/search/node_modules/mimic-response/index.js b/includes/search/node_modules/mimic-response/index.js
deleted file mode 100644
index 404e111..0000000
--- a/includes/search/node_modules/mimic-response/index.js
+++ /dev/null
@@ -1,77 +0,0 @@
-'use strict';
-
-// We define these manually to ensure they're always copied
-// even if they would move up the prototype chain
-// https://nodejs.org/api/http.html#http_class_http_incomingmessage
-const knownProperties = [
- 'aborted',
- 'complete',
- 'headers',
- 'httpVersion',
- 'httpVersionMinor',
- 'httpVersionMajor',
- 'method',
- 'rawHeaders',
- 'rawTrailers',
- 'setTimeout',
- 'socket',
- 'statusCode',
- 'statusMessage',
- 'trailers',
- 'url'
-];
-
-module.exports = (fromStream, toStream) => {
- if (toStream._readableState.autoDestroy) {
- throw new Error('The second stream must have the `autoDestroy` option set to `false`');
- }
-
- const fromProperties = new Set(Object.keys(fromStream).concat(knownProperties));
-
- const properties = {};
-
- for (const property of fromProperties) {
- // Don't overwrite existing properties.
- if (property in toStream) {
- continue;
- }
-
- properties[property] = {
- get() {
- const value = fromStream[property];
- const isFunction = typeof value === 'function';
-
- return isFunction ? value.bind(fromStream) : value;
- },
- set(value) {
- fromStream[property] = value;
- },
- enumerable: true,
- configurable: false
- };
- }
-
- Object.defineProperties(toStream, properties);
-
- fromStream.once('aborted', () => {
- toStream.destroy();
-
- toStream.emit('aborted');
- });
-
- fromStream.once('close', () => {
- if (fromStream.complete) {
- if (toStream.readable) {
- toStream.once('end', () => {
- toStream.emit('close');
- });
- } else {
- toStream.emit('close');
- }
- } else {
- toStream.emit('close');
- }
- });
-
- return toStream;
-};
diff --git a/includes/search/node_modules/mimic-response/license b/includes/search/node_modules/mimic-response/license
deleted file mode 100644
index fa7ceba..0000000
--- a/includes/search/node_modules/mimic-response/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/mimic-response/package.json b/includes/search/node_modules/mimic-response/package.json
deleted file mode 100644
index d478b0f..0000000
--- a/includes/search/node_modules/mimic-response/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "mimic-response",
- "version": "3.1.0",
- "description": "Mimic a Node.js HTTP response stream",
- "license": "MIT",
- "repository": "sindresorhus/mimic-response",
- "funding": "https://github.com/sponsors/sindresorhus",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "https://sindresorhus.com"
- },
- "engines": {
- "node": ">=10"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.d.ts",
- "index.js"
- ],
- "keywords": [
- "mimic",
- "response",
- "stream",
- "http",
- "https",
- "request",
- "get",
- "core"
- ],
- "devDependencies": {
- "@types/node": "^14.0.1",
- "ava": "^2.4.0",
- "create-test-server": "^2.4.0",
- "p-event": "^4.1.0",
- "pify": "^5.0.0",
- "tsd": "^0.11.0",
- "xo": "^0.30.0"
- }
-}
diff --git a/includes/search/node_modules/mimic-response/readme.md b/includes/search/node_modules/mimic-response/readme.md
deleted file mode 100644
index e968620..0000000
--- a/includes/search/node_modules/mimic-response/readme.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# mimic-response [![Build Status](https://travis-ci.com/sindresorhus/mimic-response.svg?branch=master)](https://travis-ci.com/sindresorhus/mimic-response)
-
-> Mimic a [Node.js HTTP response stream](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
-
-## Install
-
-```
-$ npm install mimic-response
-```
-
-## Usage
-
-```js
-const stream = require('stream');
-const mimicResponse = require('mimic-response');
-
-const responseStream = getHttpResponseStream();
-const myStream = new stream.PassThrough();
-
-mimicResponse(responseStream, myStream);
-
-console.log(myStream.statusCode);
-//=> 200
-```
-
-## API
-
-### mimicResponse(from, to)
-
-**Note #1:** The `from.destroy(error)` function is not proxied. You have to call it manually:
-
-```js
-const stream = require('stream');
-const mimicResponse = require('mimic-response');
-
-const responseStream = getHttpResponseStream();
-
-const myStream = new stream.PassThrough({
- destroy(error, callback) {
- responseStream.destroy();
-
- callback(error);
- }
-});
-
-myStream.destroy();
-```
-
-Please note that `myStream` and `responseStream` never throws. The error is passed to the request instead.
-
-#### from
-
-Type: `Stream`
-
-[Node.js HTTP response stream.](https://nodejs.org/api/http.html#http_class_http_incomingmessage)
-
-#### to
-
-Type: `Stream`
-
-Any stream.
-
-## Related
-
-- [mimic-fn](https://github.com/sindresorhus/mimic-fn) - Make a function mimic another one
-- [clone-response](https://github.com/lukechilds/clone-response) - Clone a Node.js response stream
-
----
-
-<div align="center">
- <b>
- <a href="https://tidelift.com/subscription/pkg/npm-mimic-response?utm_source=npm-mimic-response&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
- </b>
- <br>
- <sub>
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
- </sub>
-</div>
diff --git a/includes/search/node_modules/minimist/.eslintrc b/includes/search/node_modules/minimist/.eslintrc
deleted file mode 100644
index bd1a5e0..0000000
--- a/includes/search/node_modules/minimist/.eslintrc
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "root": true,
-
- "extends": "@ljharb/eslint-config/node/0.4",
-
- "rules": {
- "array-element-newline": 0,
- "complexity": 0,
- "func-style": [2, "declaration"],
- "max-lines-per-function": 0,
- "max-nested-callbacks": 1,
- "max-statements-per-line": 1,
- "max-statements": 0,
- "multiline-comment-style": 0,
- "no-continue": 1,
- "no-param-reassign": 1,
- "no-restricted-syntax": 1,
- "object-curly-newline": 0,
- },
-
- "overrides": [
- {
- "files": "test/**",
- "rules": {
- "camelcase": 0,
- },
- },
- ]
-}
diff --git a/includes/search/node_modules/minimist/.github/FUNDING.yml b/includes/search/node_modules/minimist/.github/FUNDING.yml
deleted file mode 100644
index a936622..0000000
--- a/includes/search/node_modules/minimist/.github/FUNDING.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-# These are supported funding model platforms
-
-github: [ljharb]
-patreon: # Replace with a single Patreon username
-open_collective: # Replace with a single Open Collective username
-ko_fi: # Replace with a single Ko-fi username
-tidelift: npm/minimist
-community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
-liberapay: # Replace with a single Liberapay username
-issuehunt: # Replace with a single IssueHunt username
-otechie: # Replace with a single Otechie username
-custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/includes/search/node_modules/minimist/.nycrc b/includes/search/node_modules/minimist/.nycrc
deleted file mode 100644
index 55c3d29..0000000
--- a/includes/search/node_modules/minimist/.nycrc
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "all": true,
- "check-coverage": false,
- "reporter": ["text-summary", "text", "html", "json"],
- "lines": 86,
- "statements": 85.93,
- "functions": 82.43,
- "branches": 76.06,
- "exclude": [
- "coverage",
- "example",
- "test"
- ]
-}
diff --git a/includes/search/node_modules/minimist/CHANGELOG.md b/includes/search/node_modules/minimist/CHANGELOG.md
deleted file mode 100644
index c9a1e15..0000000
--- a/includes/search/node_modules/minimist/CHANGELOG.md
+++ /dev/null
@@ -1,298 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
-## [v1.2.8](https://github.com/minimistjs/minimist/compare/v1.2.7...v1.2.8) - 2023-02-09
-
-### Merged
-
-- [Fix] Fix long option followed by single dash [`#17`](https://github.com/minimistjs/minimist/pull/17)
-- [Tests] Remove duplicate test [`#12`](https://github.com/minimistjs/minimist/pull/12)
-- [Fix] opt.string works with multiple aliases [`#10`](https://github.com/minimistjs/minimist/pull/10)
-
-### Fixed
-
-- [Fix] Fix long option followed by single dash (#17) [`#15`](https://github.com/minimistjs/minimist/issues/15)
-- [Tests] Remove duplicate test (#12) [`#8`](https://github.com/minimistjs/minimist/issues/8)
-- [Fix] Fix long option followed by single dash [`#15`](https://github.com/minimistjs/minimist/issues/15)
-- [Fix] opt.string works with multiple aliases (#10) [`#9`](https://github.com/minimistjs/minimist/issues/9)
-- [Fix] Fix handling of short option with non-trivial equals [`#5`](https://github.com/minimistjs/minimist/issues/5)
-- [Tests] Remove duplicate test [`#8`](https://github.com/minimistjs/minimist/issues/8)
-- [Fix] opt.string works with multiple aliases [`#9`](https://github.com/minimistjs/minimist/issues/9)
-
-### Commits
-
-- Merge tag 'v0.2.3' [`a026794`](https://github.com/minimistjs/minimist/commit/a0267947c7870fc5847cf2d437fbe33f392767da)
-- [eslint] fix indentation and whitespace [`5368ca4`](https://github.com/minimistjs/minimist/commit/5368ca4147e974138a54cc0dc4cea8f756546b70)
-- [eslint] fix indentation and whitespace [`e5f5067`](https://github.com/minimistjs/minimist/commit/e5f5067259ceeaf0b098d14bec910f87e58708c7)
-- [eslint] more cleanup [`62fde7d`](https://github.com/minimistjs/minimist/commit/62fde7d935f83417fb046741531a9e2346a36976)
-- [eslint] more cleanup [`36ac5d0`](https://github.com/minimistjs/minimist/commit/36ac5d0d95e4947d074e5737d94814034ca335d1)
-- [meta] add `auto-changelog` [`73923d2`](https://github.com/minimistjs/minimist/commit/73923d223553fca08b1ba77e3fbc2a492862ae4c)
-- [actions] add reusable workflows [`d80727d`](https://github.com/minimistjs/minimist/commit/d80727df77bfa9e631044d7f16368d8f09242c91)
-- [eslint] add eslint; rules to enable later are warnings [`48bc06a`](https://github.com/minimistjs/minimist/commit/48bc06a1b41f00e9cdf183db34f7a51ba70e98d4)
-- [eslint] fix indentation [`34b0f1c`](https://github.com/minimistjs/minimist/commit/34b0f1ccaa45183c3c4f06a91f9b405180a6f982)
-- [readme] rename and add badges [`5df0fe4`](https://github.com/minimistjs/minimist/commit/5df0fe49211bd09a3636f8686a7cb3012c3e98f0)
-- [Dev Deps] switch from `covert` to `nyc` [`a48b128`](https://github.com/minimistjs/minimist/commit/a48b128fdb8d427dfb20a15273f83e38d97bef07)
-- [Dev Deps] update `covert`, `tape`; remove unnecessary `tap` [`f0fb958`](https://github.com/minimistjs/minimist/commit/f0fb958e9a1fe980cdffc436a211b0bda58f621b)
-- [meta] create FUNDING.yml; add `funding` in package.json [`3639e0c`](https://github.com/minimistjs/minimist/commit/3639e0c819359a366387e425ab6eabf4c78d3caa)
-- [meta] use `npmignore` to autogenerate an npmignore file [`be2e038`](https://github.com/minimistjs/minimist/commit/be2e038c342d8333b32f0fde67a0026b79c8150e)
-- Only apps should have lockfiles [`282b570`](https://github.com/minimistjs/minimist/commit/282b570e7489d01b03f2d6d3dabf79cd3e5f84cf)
-- isConstructorOrProto adapted from PR [`ef9153f`](https://github.com/minimistjs/minimist/commit/ef9153fc52b6cea0744b2239921c5dcae4697f11)
-- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`098873c`](https://github.com/minimistjs/minimist/commit/098873c213cdb7c92e55ae1ef5aa1af3a8192a79)
-- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`3124ed3`](https://github.com/minimistjs/minimist/commit/3124ed3e46306301ebb3c834874ce0241555c2c4)
-- [meta] add `safe-publish-latest` [`4b927de`](https://github.com/minimistjs/minimist/commit/4b927de696d561c636b4f43bf49d4597cb36d6d6)
-- [Tests] add `aud` in `posttest` [`b32d9bd`](https://github.com/minimistjs/minimist/commit/b32d9bd0ab340f4e9f8c3a97ff2a4424f25fab8c)
-- [meta] update repo URLs [`f9fdfc0`](https://github.com/minimistjs/minimist/commit/f9fdfc032c54884d9a9996a390c63cd0719bbe1a)
-- [actions] Avoid 0.6 tests due to build failures [`ba92fe6`](https://github.com/minimistjs/minimist/commit/ba92fe6ebbdc0431cca9a2ea8f27beb492f5e4ec)
-- [Dev Deps] update `tape` [`950eaa7`](https://github.com/minimistjs/minimist/commit/950eaa74f112e04d23e9c606c67472c46739b473)
-- [Dev Deps] add missing `npmignore` dev dep [`3226afa`](https://github.com/minimistjs/minimist/commit/3226afaf09e9d127ca369742437fe6e88f752d6b)
-- Merge tag 'v0.2.2' [`980d7ac`](https://github.com/minimistjs/minimist/commit/980d7ac61a0b4bd552711251ac107d506b23e41f)
-
-## [v1.2.7](https://github.com/minimistjs/minimist/compare/v1.2.6...v1.2.7) - 2022-10-10
-
-### Commits
-
-- [meta] add `auto-changelog` [`0ebf4eb`](https://github.com/minimistjs/minimist/commit/0ebf4ebcd5f7787a5524d31a849ef41316b83c3c)
-- [actions] add reusable workflows [`e115b63`](https://github.com/minimistjs/minimist/commit/e115b63fa9d3909f33b00a2db647ff79068388de)
-- [eslint] add eslint; rules to enable later are warnings [`f58745b`](https://github.com/minimistjs/minimist/commit/f58745b9bb84348e1be72af7dbba5840c7c13013)
-- [Dev Deps] switch from `covert` to `nyc` [`ab03356`](https://github.com/minimistjs/minimist/commit/ab033567b9c8b31117cb026dc7f1e592ce455c65)
-- [readme] rename and add badges [`236f4a0`](https://github.com/minimistjs/minimist/commit/236f4a07e4ebe5ee44f1496ec6974991ab293ffd)
-- [meta] create FUNDING.yml; add `funding` in package.json [`783a49b`](https://github.com/minimistjs/minimist/commit/783a49bfd47e8335d3098a8cac75662cf71eb32a)
-- [meta] use `npmignore` to autogenerate an npmignore file [`f81ece6`](https://github.com/minimistjs/minimist/commit/f81ece6aaec2fa14e69ff4f1e0407a8c4e2635a2)
-- Only apps should have lockfiles [`56cad44`](https://github.com/minimistjs/minimist/commit/56cad44c7f879b9bb5ec18fcc349308024a89bfc)
-- [Dev Deps] update `covert`, `tape`; remove unnecessary `tap` [`49c5f9f`](https://github.com/minimistjs/minimist/commit/49c5f9fb7e6a92db9eb340cc679de92fb3aacded)
-- [Tests] add `aud` in `posttest` [`228ae93`](https://github.com/minimistjs/minimist/commit/228ae938f3cd9db9dfd8bd7458b076a7b2aef280)
-- [meta] add `safe-publish-latest` [`01fc23f`](https://github.com/minimistjs/minimist/commit/01fc23f5104f85c75059972e01dd33796ab529ff)
-- [meta] update repo URLs [`6b164c7`](https://github.com/minimistjs/minimist/commit/6b164c7d68e0b6bf32f894699effdfb7c63041dd)
-
-## [v1.2.6](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.6) - 2022-03-21
-
-### Commits
-
-- test from prototype pollution PR [`bc8ecee`](https://github.com/minimistjs/minimist/commit/bc8ecee43875261f4f17eb20b1243d3ed15e70eb)
-- isConstructorOrProto adapted from PR [`c2b9819`](https://github.com/minimistjs/minimist/commit/c2b981977fa834b223b408cfb860f933c9811e4d)
-- security notice for additional prototype pollution issue [`ef88b93`](https://github.com/minimistjs/minimist/commit/ef88b9325f77b5ee643ccfc97e2ebda577e4c4e2)
-
-## [v1.2.5](https://github.com/minimistjs/minimist/compare/v1.2.4...v1.2.5) - 2020-03-12
-
-## [v1.2.4](https://github.com/minimistjs/minimist/compare/v1.2.3...v1.2.4) - 2020-03-11
-
-### Commits
-
-- security notice [`4cf1354`](https://github.com/minimistjs/minimist/commit/4cf1354839cb972e38496d35e12f806eea92c11f)
-- additional test for constructor prototype pollution [`1043d21`](https://github.com/minimistjs/minimist/commit/1043d212c3caaf871966e710f52cfdf02f9eea4b)
-
-## [v1.2.3](https://github.com/minimistjs/minimist/compare/v1.2.2...v1.2.3) - 2020-03-10
-
-### Commits
-
-- more failing proto pollution tests [`13c01a5`](https://github.com/minimistjs/minimist/commit/13c01a5327736903704984b7f65616b8476850cc)
-- even more aggressive checks for protocol pollution [`38a4d1c`](https://github.com/minimistjs/minimist/commit/38a4d1caead72ef99e824bb420a2528eec03d9ab)
-
-## [v1.2.2](https://github.com/minimistjs/minimist/compare/v1.2.1...v1.2.2) - 2020-03-10
-
-### Commits
-
-- failing test for protocol pollution [`0efed03`](https://github.com/minimistjs/minimist/commit/0efed0340ec8433638758f7ca0c77cb20a0bfbab)
-- cleanup [`67d3722`](https://github.com/minimistjs/minimist/commit/67d3722413448d00a62963d2d30c34656a92d7e2)
-- console.dir -&gt; console.log [`47acf72`](https://github.com/minimistjs/minimist/commit/47acf72c715a630bf9ea013867f47f1dd69dfc54)
-- don't assign onto __proto__ [`63e7ed0`](https://github.com/minimistjs/minimist/commit/63e7ed05aa4b1889ec2f3b196426db4500cbda94)
-
-## [v1.2.1](https://github.com/minimistjs/minimist/compare/v1.2.0...v1.2.1) - 2020-03-10
-
-### Merged
-
-- move the `opts['--']` example back where it belongs [`#63`](https://github.com/minimistjs/minimist/pull/63)
-
-### Commits
-
-- add test [`6be5dae`](https://github.com/minimistjs/minimist/commit/6be5dae35a32a987bcf4137fcd6c19c5200ee909)
-- fix bad boolean regexp [`ac3fc79`](https://github.com/minimistjs/minimist/commit/ac3fc796e63b95128fdbdf67ea7fad71bd59aa76)
-
-## [v1.2.0](https://github.com/minimistjs/minimist/compare/v1.1.3...v1.2.0) - 2015-08-24
-
-### Commits
-
-- failing -k=v short test [`63416b8`](https://github.com/minimistjs/minimist/commit/63416b8cd1d0d70e4714564cce465a36e4dd26d7)
-- kv short fix [`6bbe145`](https://github.com/minimistjs/minimist/commit/6bbe14529166245e86424f220a2321442fe88dc3)
-- failing kv short test [`f72ab7f`](https://github.com/minimistjs/minimist/commit/f72ab7f4572adc52902c9b6873cc969192f01b10)
-- fixed kv test [`f5a48c3`](https://github.com/minimistjs/minimist/commit/f5a48c3e50e40ca54f00c8e84de4b4d6e9897fa8)
-- enforce space between arg key and value [`86b321a`](https://github.com/minimistjs/minimist/commit/86b321affe648a8e016c095a4f0efa9d9074f502)
-
-## [v1.1.3](https://github.com/minimistjs/minimist/compare/v1.1.2...v1.1.3) - 2015-08-06
-
-### Commits
-
-- add failing test - boolean alias array [`0fa3c5b`](https://github.com/minimistjs/minimist/commit/0fa3c5b3dd98551ddecf5392831b4c21211743fc)
-- fix boolean values with multiple aliases [`9c0a6e7`](https://github.com/minimistjs/minimist/commit/9c0a6e7de25a273b11bbf9a7464f0bd833779795)
-
-## [v1.1.2](https://github.com/minimistjs/minimist/compare/v1.1.1...v1.1.2) - 2015-07-22
-
-### Commits
-
-- Convert boolean arguments to boolean values [`8f3dc27`](https://github.com/minimistjs/minimist/commit/8f3dc27cf833f1d54671b6d0bcb55c2fe19672a9)
-- use non-ancient npm, node 0.12 and iojs [`61ed1d0`](https://github.com/minimistjs/minimist/commit/61ed1d034b9ec7282764ce76f3992b1a0b4906ae)
-- an older npm for 0.8 [`25cf778`](https://github.com/minimistjs/minimist/commit/25cf778b1220e7838a526832ad6972f75244054f)
-
-## [v1.1.1](https://github.com/minimistjs/minimist/compare/v1.1.0...v1.1.1) - 2015-03-10
-
-### Commits
-
-- check that they type of a value is a boolean, not just that it is currently set to a boolean [`6863198`](https://github.com/minimistjs/minimist/commit/6863198e36139830ff1f20ffdceaddd93f2c1db9)
-- upgrade tape, fix type issues from old tape version [`806712d`](https://github.com/minimistjs/minimist/commit/806712df91604ed02b8e39aa372b84aea659ee34)
-- test for setting a boolean to a null default [`8c444fe`](https://github.com/minimistjs/minimist/commit/8c444fe89384ded7d441c120915ea60620b01dd3)
-- if the previous value was a boolean, without an default (or with an alias) don't make an array either [`e5f419a`](https://github.com/minimistjs/minimist/commit/e5f419a3b5b3bc3f9e5ac71b7040621af70ed2dd)
-
-## [v1.1.0](https://github.com/minimistjs/minimist/compare/v1.0.0...v1.1.0) - 2014-08-10
-
-### Commits
-
-- add support for handling "unknown" options not registered with the parser. [`6f3cc5d`](https://github.com/minimistjs/minimist/commit/6f3cc5d4e84524932a6ef2ce3592acc67cdd4383)
-- reformat package.json [`02ed371`](https://github.com/minimistjs/minimist/commit/02ed37115194d3697ff358e8e25e5e66bab1d9f8)
-- coverage script [`e5531ba`](https://github.com/minimistjs/minimist/commit/e5531ba0479da3b8138d3d8cac545d84ccb1c8df)
-- extra fn to get 100% coverage again [`a6972da`](https://github.com/minimistjs/minimist/commit/a6972da89e56bf77642f8ec05a13b6558db93498)
-
-## [v1.0.0](https://github.com/minimistjs/minimist/compare/v0.2.3...v1.0.0) - 2014-08-10
-
-### Commits
-
-- added stopEarly option [`471c7e4`](https://github.com/minimistjs/minimist/commit/471c7e4a7e910fc7ad8f9df850a186daf32c64e9)
-- fix list [`fef6ae7`](https://github.com/minimistjs/minimist/commit/fef6ae79c38b9dc1c49569abb7cd04eb965eac5e)
-
-## [v0.2.3](https://github.com/minimistjs/minimist/compare/v0.2.2...v0.2.3) - 2023-02-09
-
-### Merged
-
-- [Fix] Fix long option followed by single dash [`#17`](https://github.com/minimistjs/minimist/pull/17)
-- [Tests] Remove duplicate test [`#12`](https://github.com/minimistjs/minimist/pull/12)
-- [Fix] opt.string works with multiple aliases [`#10`](https://github.com/minimistjs/minimist/pull/10)
-
-### Fixed
-
-- [Fix] Fix long option followed by single dash (#17) [`#15`](https://github.com/minimistjs/minimist/issues/15)
-- [Tests] Remove duplicate test (#12) [`#8`](https://github.com/minimistjs/minimist/issues/8)
-- [Fix] opt.string works with multiple aliases (#10) [`#9`](https://github.com/minimistjs/minimist/issues/9)
-
-### Commits
-
-- [eslint] fix indentation and whitespace [`e5f5067`](https://github.com/minimistjs/minimist/commit/e5f5067259ceeaf0b098d14bec910f87e58708c7)
-- [eslint] more cleanup [`36ac5d0`](https://github.com/minimistjs/minimist/commit/36ac5d0d95e4947d074e5737d94814034ca335d1)
-- [eslint] fix indentation [`34b0f1c`](https://github.com/minimistjs/minimist/commit/34b0f1ccaa45183c3c4f06a91f9b405180a6f982)
-- isConstructorOrProto adapted from PR [`ef9153f`](https://github.com/minimistjs/minimist/commit/ef9153fc52b6cea0744b2239921c5dcae4697f11)
-- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`098873c`](https://github.com/minimistjs/minimist/commit/098873c213cdb7c92e55ae1ef5aa1af3a8192a79)
-- [Dev Deps] add missing `npmignore` dev dep [`3226afa`](https://github.com/minimistjs/minimist/commit/3226afaf09e9d127ca369742437fe6e88f752d6b)
-
-## [v0.2.2](https://github.com/minimistjs/minimist/compare/v0.2.1...v0.2.2) - 2022-10-10
-
-### Commits
-
-- [meta] add `auto-changelog` [`73923d2`](https://github.com/minimistjs/minimist/commit/73923d223553fca08b1ba77e3fbc2a492862ae4c)
-- [actions] add reusable workflows [`d80727d`](https://github.com/minimistjs/minimist/commit/d80727df77bfa9e631044d7f16368d8f09242c91)
-- [eslint] add eslint; rules to enable later are warnings [`48bc06a`](https://github.com/minimistjs/minimist/commit/48bc06a1b41f00e9cdf183db34f7a51ba70e98d4)
-- [readme] rename and add badges [`5df0fe4`](https://github.com/minimistjs/minimist/commit/5df0fe49211bd09a3636f8686a7cb3012c3e98f0)
-- [Dev Deps] switch from `covert` to `nyc` [`a48b128`](https://github.com/minimistjs/minimist/commit/a48b128fdb8d427dfb20a15273f83e38d97bef07)
-- [Dev Deps] update `covert`, `tape`; remove unnecessary `tap` [`f0fb958`](https://github.com/minimistjs/minimist/commit/f0fb958e9a1fe980cdffc436a211b0bda58f621b)
-- [meta] create FUNDING.yml; add `funding` in package.json [`3639e0c`](https://github.com/minimistjs/minimist/commit/3639e0c819359a366387e425ab6eabf4c78d3caa)
-- [meta] use `npmignore` to autogenerate an npmignore file [`be2e038`](https://github.com/minimistjs/minimist/commit/be2e038c342d8333b32f0fde67a0026b79c8150e)
-- Only apps should have lockfiles [`282b570`](https://github.com/minimistjs/minimist/commit/282b570e7489d01b03f2d6d3dabf79cd3e5f84cf)
-- [meta] add `safe-publish-latest` [`4b927de`](https://github.com/minimistjs/minimist/commit/4b927de696d561c636b4f43bf49d4597cb36d6d6)
-- [Tests] add `aud` in `posttest` [`b32d9bd`](https://github.com/minimistjs/minimist/commit/b32d9bd0ab340f4e9f8c3a97ff2a4424f25fab8c)
-- [meta] update repo URLs [`f9fdfc0`](https://github.com/minimistjs/minimist/commit/f9fdfc032c54884d9a9996a390c63cd0719bbe1a)
-
-## [v0.2.1](https://github.com/minimistjs/minimist/compare/v0.2.0...v0.2.1) - 2020-03-12
-
-## [v0.2.0](https://github.com/minimistjs/minimist/compare/v0.1.0...v0.2.0) - 2014-06-19
-
-### Commits
-
-- support all-boolean mode [`450a97f`](https://github.com/minimistjs/minimist/commit/450a97f6e2bc85c7a4a13185c19a818d9a5ebe69)
-
-## [v0.1.0](https://github.com/minimistjs/minimist/compare/v0.0.10...v0.1.0) - 2014-05-12
-
-### Commits
-
-- Provide a mechanism to segregate -- arguments [`ce4a1e6`](https://github.com/minimistjs/minimist/commit/ce4a1e63a7e8d5ab88d2a3768adefa6af98a445a)
-- documented argv['--'] [`14db0e6`](https://github.com/minimistjs/minimist/commit/14db0e6dbc6d2b9e472adaa54dad7004b364634f)
-- Adding a test-case for notFlags segregation [`715c1e3`](https://github.com/minimistjs/minimist/commit/715c1e3714be223f998f6c537af6b505f0236c16)
-
-## [v0.0.10](https://github.com/minimistjs/minimist/compare/v0.0.9...v0.0.10) - 2014-05-11
-
-### Commits
-
-- dedicated boolean test [`46e448f`](https://github.com/minimistjs/minimist/commit/46e448f9f513cfeb2bcc8b688b9b47ba1e515c2b)
-- dedicated num test [`9bf2d36`](https://github.com/minimistjs/minimist/commit/9bf2d36f1d3b8795be90b8f7de0a937f098aa394)
-- aliased values treated as strings [`1ab743b`](https://github.com/minimistjs/minimist/commit/1ab743bad4484d69f1259bed42f9531de01119de)
-- cover the case of already numbers, at 100% coverage [`b2bb044`](https://github.com/minimistjs/minimist/commit/b2bb04436599d77a2ce029e8e555e25b3aa55d13)
-- another test for higher coverage [`3662624`](https://github.com/minimistjs/minimist/commit/3662624be976d5489d486a856849c048d13be903)
-
-## [v0.0.9](https://github.com/minimistjs/minimist/compare/v0.0.8...v0.0.9) - 2014-05-08
-
-### Commits
-
-- Eliminate `longest` fn. [`824f642`](https://github.com/minimistjs/minimist/commit/824f642038d1b02ede68b6261d1d65163390929a)
-
-## [v0.0.8](https://github.com/minimistjs/minimist/compare/v0.0.7...v0.0.8) - 2014-02-20
-
-### Commits
-
-- return '' if flag is string and empty [`fa63ed4`](https://github.com/minimistjs/minimist/commit/fa63ed4651a4ef4eefddce34188e0d98d745a263)
-- handle joined single letters [`66c248f`](https://github.com/minimistjs/minimist/commit/66c248f0241d4d421d193b022e9e365f11178534)
-
-## [v0.0.7](https://github.com/minimistjs/minimist/compare/v0.0.6...v0.0.7) - 2014-02-08
-
-### Commits
-
-- another swap of .test for .match [`d1da408`](https://github.com/minimistjs/minimist/commit/d1da40819acbe846d89a5c02721211e3c1260dde)
-
-## [v0.0.6](https://github.com/minimistjs/minimist/compare/v0.0.5...v0.0.6) - 2014-02-08
-
-### Commits
-
-- use .test() instead of .match() to not crash on non-string values in the arguments array [`7e0d1ad`](https://github.com/minimistjs/minimist/commit/7e0d1add8c9e5b9b20a4d3d0f9a94d824c578da1)
-
-## [v0.0.5](https://github.com/minimistjs/minimist/compare/v0.0.4...v0.0.5) - 2013-09-18
-
-### Commits
-
-- Improve '--' handling. [`b11822c`](https://github.com/minimistjs/minimist/commit/b11822c09cc9d2460f30384d12afc0b953c037a4)
-
-## [v0.0.4](https://github.com/minimistjs/minimist/compare/v0.0.3...v0.0.4) - 2013-09-17
-
-## [v0.0.3](https://github.com/minimistjs/minimist/compare/v0.0.2...v0.0.3) - 2013-09-12
-
-### Commits
-
-- failing test for single dash preceeding a double dash [`b465514`](https://github.com/minimistjs/minimist/commit/b465514b82c9ae28972d714facd951deb2ad762b)
-- fix for the dot test [`6a095f1`](https://github.com/minimistjs/minimist/commit/6a095f1d364c8fab2d6753d2291a0649315d297a)
-
-## [v0.0.2](https://github.com/minimistjs/minimist/compare/v0.0.1...v0.0.2) - 2013-08-28
-
-### Commits
-
-- allow dotted aliases & defaults [`321c33e`](https://github.com/minimistjs/minimist/commit/321c33e755485faaeb44eeb1c05d33b2e0a5a7c4)
-- use a better version of ff [`e40f611`](https://github.com/minimistjs/minimist/commit/e40f61114cf7be6f7947f7b3eed345853a67dbbb)
-
-## [v0.0.1](https://github.com/minimistjs/minimist/compare/v0.0.0...v0.0.1) - 2013-06-25
-
-### Commits
-
-- remove trailing commas [`6ff0fa0`](https://github.com/minimistjs/minimist/commit/6ff0fa055064f15dbe06d50b89d5173a6796e1db)
-
-## v0.0.0 - 2013-06-25
-
-### Commits
-
-- half of the parse test ported [`3079326`](https://github.com/minimistjs/minimist/commit/307932601325087de6cf94188eb798ffc4f3088a)
-- stripped down code and a passing test from optimist [`7cced88`](https://github.com/minimistjs/minimist/commit/7cced88d82e399d1a03ed23eb667f04d3f320d10)
-- ported parse tests completely over [`9448754`](https://github.com/minimistjs/minimist/commit/944875452e0820df6830b1408c26a0f7d3e1db04)
-- docs, package.json [`a5bf46a`](https://github.com/minimistjs/minimist/commit/a5bf46ac9bb3bd114a9c340276c62c1091e538d5)
-- move more short tests into short.js [`503edb5`](https://github.com/minimistjs/minimist/commit/503edb5c41d89c0d40831ee517154fc13b0f18b9)
-- default bool test was wrong, not the code [`1b9f5db`](https://github.com/minimistjs/minimist/commit/1b9f5db4741b49962846081b68518de824992097)
-- passing long tests ripped out of parse.js [`7972c4a`](https://github.com/minimistjs/minimist/commit/7972c4aff1f4803079e1668006658e2a761a0428)
-- badges [`84c0370`](https://github.com/minimistjs/minimist/commit/84c037063664d42878aace715fe6572ce01b6f3b)
-- all the tests now ported, some failures [`64239ed`](https://github.com/minimistjs/minimist/commit/64239edfe92c711c4eb0da254fcdfad2a5fdb605)
-- failing short test [`f8a5341`](https://github.com/minimistjs/minimist/commit/f8a534112dd1138d2fad722def56a848480c446f)
-- fixed the numeric test [`6b034f3`](https://github.com/minimistjs/minimist/commit/6b034f37c79342c60083ed97fd222e16928aac51)
diff --git a/includes/search/node_modules/minimist/LICENSE b/includes/search/node_modules/minimist/LICENSE
deleted file mode 100644
index ee27ba4..0000000
--- a/includes/search/node_modules/minimist/LICENSE
+++ /dev/null
@@ -1,18 +0,0 @@
-This software is released under the MIT license:
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/minimist/README.md b/includes/search/node_modules/minimist/README.md
deleted file mode 100644
index 74da323..0000000
--- a/includes/search/node_modules/minimist/README.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# minimist <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
-
-[![github actions][actions-image]][actions-url]
-[![coverage][codecov-image]][codecov-url]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-
-[![npm badge][npm-badge-png]][package-url]
-
-parse argument options
-
-This module is the guts of optimist's argument parser without all the
-fanciful decoration.
-
-# example
-
-``` js
-var argv = require('minimist')(process.argv.slice(2));
-console.log(argv);
-```
-
-```
-$ node example/parse.js -a beep -b boop
-{ _: [], a: 'beep', b: 'boop' }
-```
-
-```
-$ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
-{
- _: ['foo', 'bar', 'baz'],
- x: 3,
- y: 4,
- n: 5,
- a: true,
- b: true,
- c: true,
- beep: 'boop'
-}
-```
-
-# security
-
-Previous versions had a prototype pollution bug that could cause privilege
-escalation in some circumstances when handling untrusted user input.
-
-Please use version 1.2.6 or later:
-
-* https://security.snyk.io/vuln/SNYK-JS-MINIMIST-2429795 (version <=1.2.5)
-* https://snyk.io/vuln/SNYK-JS-MINIMIST-559764 (version <=1.2.3)
-
-# methods
-
-``` js
-var parseArgs = require('minimist')
-```
-
-## var argv = parseArgs(args, opts={})
-
-Return an argument object `argv` populated with the array arguments from `args`.
-
-`argv._` contains all the arguments that didn't have an option associated with
-them.
-
-Numeric-looking arguments will be returned as numbers unless `opts.string` or
-`opts.boolean` is set for that argument name.
-
-Any arguments after `'--'` will not be parsed and will end up in `argv._`.
-
-options can be:
-
-* `opts.string` - a string or array of strings argument names to always treat as
-strings
-* `opts.boolean` - a boolean, string or array of strings to always treat as
-booleans. if `true` will treat all double hyphenated arguments without equal signs
-as boolean (e.g. affects `--foo`, not `-f` or `--foo=bar`)
-* `opts.alias` - an object mapping string names to strings or arrays of string
-argument names to use as aliases
-* `opts.default` - an object mapping string argument names to default values
-* `opts.stopEarly` - when true, populate `argv._` with everything after the
-first non-option
-* `opts['--']` - when true, populate `argv._` with everything before the `--`
-and `argv['--']` with everything after the `--`. Here's an example:
-
- ```
- > require('./')('one two three -- four five --six'.split(' '), { '--': true })
- {
- _: ['one', 'two', 'three'],
- '--': ['four', 'five', '--six']
- }
- ```
-
- Note that with `opts['--']` set, parsing for arguments still stops after the
- `--`.
-
-* `opts.unknown` - a function which is invoked with a command line parameter not
-defined in the `opts` configuration object. If the function returns `false`, the
-unknown option is not added to `argv`.
-
-# install
-
-With [npm](https://npmjs.org) do:
-
-```
-npm install minimist
-```
-
-# license
-
-MIT
-
-[package-url]: https://npmjs.org/package/minimist
-[npm-version-svg]: https://versionbadg.es/minimistjs/minimist.svg
-[npm-badge-png]: https://nodei.co/npm/minimist.png?downloads=true&stars=true
-[license-image]: https://img.shields.io/npm/l/minimist.svg
-[license-url]: LICENSE
-[downloads-image]: https://img.shields.io/npm/dm/minimist.svg
-[downloads-url]: https://npm-stat.com/charts.html?package=minimist
-[codecov-image]: https://codecov.io/gh/minimistjs/minimist/branch/main/graphs/badge.svg
-[codecov-url]: https://app.codecov.io/gh/minimistjs/minimist/
-[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/minimistjs/minimist
-[actions-url]: https://github.com/minimistjs/minimist/actions
diff --git a/includes/search/node_modules/minimist/example/parse.js b/includes/search/node_modules/minimist/example/parse.js
deleted file mode 100644
index 9d90ffb..0000000
--- a/includes/search/node_modules/minimist/example/parse.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-
-var argv = require('../')(process.argv.slice(2));
-console.log(argv);
diff --git a/includes/search/node_modules/minimist/index.js b/includes/search/node_modules/minimist/index.js
deleted file mode 100644
index f020f39..0000000
--- a/includes/search/node_modules/minimist/index.js
+++ /dev/null
@@ -1,263 +0,0 @@
-'use strict';
-
-function hasKey(obj, keys) {
- var o = obj;
- keys.slice(0, -1).forEach(function (key) {
- o = o[key] || {};
- });
-
- var key = keys[keys.length - 1];
- return key in o;
-}
-
-function isNumber(x) {
- if (typeof x === 'number') { return true; }
- if ((/^0x[0-9a-f]+$/i).test(x)) { return true; }
- return (/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/).test(x);
-}
-
-function isConstructorOrProto(obj, key) {
- return (key === 'constructor' && typeof obj[key] === 'function') || key === '__proto__';
-}
-
-module.exports = function (args, opts) {
- if (!opts) { opts = {}; }
-
- var flags = {
- bools: {},
- strings: {},
- unknownFn: null,
- };
-
- if (typeof opts.unknown === 'function') {
- flags.unknownFn = opts.unknown;
- }
-
- if (typeof opts.boolean === 'boolean' && opts.boolean) {
- flags.allBools = true;
- } else {
- [].concat(opts.boolean).filter(Boolean).forEach(function (key) {
- flags.bools[key] = true;
- });
- }
-
- var aliases = {};
-
- function aliasIsBoolean(key) {
- return aliases[key].some(function (x) {
- return flags.bools[x];
- });
- }
-
- Object.keys(opts.alias || {}).forEach(function (key) {
- aliases[key] = [].concat(opts.alias[key]);
- aliases[key].forEach(function (x) {
- aliases[x] = [key].concat(aliases[key].filter(function (y) {
- return x !== y;
- }));
- });
- });
-
- [].concat(opts.string).filter(Boolean).forEach(function (key) {
- flags.strings[key] = true;
- if (aliases[key]) {
- [].concat(aliases[key]).forEach(function (k) {
- flags.strings[k] = true;
- });
- }
- });
-
- var defaults = opts.default || {};
-
- var argv = { _: [] };
-
- function argDefined(key, arg) {
- return (flags.allBools && (/^--[^=]+$/).test(arg))
- || flags.strings[key]
- || flags.bools[key]
- || aliases[key];
- }
-
- function setKey(obj, keys, value) {
- var o = obj;
- for (var i = 0; i < keys.length - 1; i++) {
- var key = keys[i];
- if (isConstructorOrProto(o, key)) { return; }
- if (o[key] === undefined) { o[key] = {}; }
- if (
- o[key] === Object.prototype
- || o[key] === Number.prototype
- || o[key] === String.prototype
- ) {
- o[key] = {};
- }
- if (o[key] === Array.prototype) { o[key] = []; }
- o = o[key];
- }
-
- var lastKey = keys[keys.length - 1];
- if (isConstructorOrProto(o, lastKey)) { return; }
- if (
- o === Object.prototype
- || o === Number.prototype
- || o === String.prototype
- ) {
- o = {};
- }
- if (o === Array.prototype) { o = []; }
- if (o[lastKey] === undefined || flags.bools[lastKey] || typeof o[lastKey] === 'boolean') {
- o[lastKey] = value;
- } else if (Array.isArray(o[lastKey])) {
- o[lastKey].push(value);
- } else {
- o[lastKey] = [o[lastKey], value];
- }
- }
-
- function setArg(key, val, arg) {
- if (arg && flags.unknownFn && !argDefined(key, arg)) {
- if (flags.unknownFn(arg) === false) { return; }
- }
-
- var value = !flags.strings[key] && isNumber(val)
- ? Number(val)
- : val;
- setKey(argv, key.split('.'), value);
-
- (aliases[key] || []).forEach(function (x) {
- setKey(argv, x.split('.'), value);
- });
- }
-
- Object.keys(flags.bools).forEach(function (key) {
- setArg(key, defaults[key] === undefined ? false : defaults[key]);
- });
-
- var notFlags = [];
-
- if (args.indexOf('--') !== -1) {
- notFlags = args.slice(args.indexOf('--') + 1);
- args = args.slice(0, args.indexOf('--'));
- }
-
- for (var i = 0; i < args.length; i++) {
- var arg = args[i];
- var key;
- var next;
-
- if ((/^--.+=/).test(arg)) {
- // Using [\s\S] instead of . because js doesn't support the
- // 'dotall' regex modifier. See:
- // http://stackoverflow.com/a/1068308/13216
- var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
- key = m[1];
- var value = m[2];
- if (flags.bools[key]) {
- value = value !== 'false';
- }
- setArg(key, value, arg);
- } else if ((/^--no-.+/).test(arg)) {
- key = arg.match(/^--no-(.+)/)[1];
- setArg(key, false, arg);
- } else if ((/^--.+/).test(arg)) {
- key = arg.match(/^--(.+)/)[1];
- next = args[i + 1];
- if (
- next !== undefined
- && !(/^(-|--)[^-]/).test(next)
- && !flags.bools[key]
- && !flags.allBools
- && (aliases[key] ? !aliasIsBoolean(key) : true)
- ) {
- setArg(key, next, arg);
- i += 1;
- } else if ((/^(true|false)$/).test(next)) {
- setArg(key, next === 'true', arg);
- i += 1;
- } else {
- setArg(key, flags.strings[key] ? '' : true, arg);
- }
- } else if ((/^-[^-]+/).test(arg)) {
- var letters = arg.slice(1, -1).split('');
-
- var broken = false;
- for (var j = 0; j < letters.length; j++) {
- next = arg.slice(j + 2);
-
- if (next === '-') {
- setArg(letters[j], next, arg);
- continue;
- }
-
- if ((/[A-Za-z]/).test(letters[j]) && next[0] === '=') {
- setArg(letters[j], next.slice(1), arg);
- broken = true;
- break;
- }
-
- if (
- (/[A-Za-z]/).test(letters[j])
- && (/-?\d+(\.\d*)?(e-?\d+)?$/).test(next)
- ) {
- setArg(letters[j], next, arg);
- broken = true;
- break;
- }
-
- if (letters[j + 1] && letters[j + 1].match(/\W/)) {
- setArg(letters[j], arg.slice(j + 2), arg);
- broken = true;
- break;
- } else {
- setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg);
- }
- }
-
- key = arg.slice(-1)[0];
- if (!broken && key !== '-') {
- if (
- args[i + 1]
- && !(/^(-|--)[^-]/).test(args[i + 1])
- && !flags.bools[key]
- && (aliases[key] ? !aliasIsBoolean(key) : true)
- ) {
- setArg(key, args[i + 1], arg);
- i += 1;
- } else if (args[i + 1] && (/^(true|false)$/).test(args[i + 1])) {
- setArg(key, args[i + 1] === 'true', arg);
- i += 1;
- } else {
- setArg(key, flags.strings[key] ? '' : true, arg);
- }
- }
- } else {
- if (!flags.unknownFn || flags.unknownFn(arg) !== false) {
- argv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));
- }
- if (opts.stopEarly) {
- argv._.push.apply(argv._, args.slice(i + 1));
- break;
- }
- }
- }
-
- Object.keys(defaults).forEach(function (k) {
- if (!hasKey(argv, k.split('.'))) {
- setKey(argv, k.split('.'), defaults[k]);
-
- (aliases[k] || []).forEach(function (x) {
- setKey(argv, x.split('.'), defaults[k]);
- });
- }
- });
-
- if (opts['--']) {
- argv['--'] = notFlags.slice();
- } else {
- notFlags.forEach(function (k) {
- argv._.push(k);
- });
- }
-
- return argv;
-};
diff --git a/includes/search/node_modules/minimist/package.json b/includes/search/node_modules/minimist/package.json
deleted file mode 100644
index c10a334..0000000
--- a/includes/search/node_modules/minimist/package.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "name": "minimist",
- "version": "1.2.8",
- "description": "parse argument options",
- "main": "index.js",
- "devDependencies": {
- "@ljharb/eslint-config": "^21.0.1",
- "aud": "^2.0.2",
- "auto-changelog": "^2.4.0",
- "eslint": "=8.8.0",
- "in-publish": "^2.0.1",
- "npmignore": "^0.3.0",
- "nyc": "^10.3.2",
- "safe-publish-latest": "^2.0.0",
- "tape": "^5.6.3"
- },
- "scripts": {
- "prepack": "npmignore --auto --commentLines=auto",
- "prepublishOnly": "safe-publish-latest",
- "prepublish": "not-in-publish || npm run prepublishOnly",
- "lint": "eslint --ext=js,mjs .",
- "pretest": "npm run lint",
- "tests-only": "nyc tape 'test/**/*.js'",
- "test": "npm run tests-only",
- "posttest": "aud --production",
- "version": "auto-changelog && git add CHANGELOG.md",
- "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
- },
- "testling": {
- "files": "test/*.js",
- "browsers": [
- "ie/6..latest",
- "ff/5",
- "firefox/latest",
- "chrome/10",
- "chrome/latest",
- "safari/5.1",
- "safari/latest",
- "opera/12"
- ]
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/minimistjs/minimist.git"
- },
- "homepage": "https://github.com/minimistjs/minimist",
- "keywords": [
- "argv",
- "getopt",
- "parser",
- "optimist"
- ],
- "author": {
- "name": "James Halliday",
- "email": "mail@substack.net",
- "url": "http://substack.net"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- },
- "license": "MIT",
- "auto-changelog": {
- "output": "CHANGELOG.md",
- "template": "keepachangelog",
- "unreleased": false,
- "commitLimit": false,
- "backfillLimit": false,
- "hideCredit": true
- },
- "publishConfig": {
- "ignore": [
- ".github/workflows"
- ]
- }
-}
diff --git a/includes/search/node_modules/minimist/test/all_bool.js b/includes/search/node_modules/minimist/test/all_bool.js
deleted file mode 100644
index befa0c9..0000000
--- a/includes/search/node_modules/minimist/test/all_bool.js
+++ /dev/null
@@ -1,34 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('flag boolean true (default all --args to boolean)', function (t) {
- var argv = parse(['moo', '--honk', 'cow'], {
- boolean: true,
- });
-
- t.deepEqual(argv, {
- honk: true,
- _: ['moo', 'cow'],
- });
-
- t.deepEqual(typeof argv.honk, 'boolean');
- t.end();
-});
-
-test('flag boolean true only affects double hyphen arguments without equals signs', function (t) {
- var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], {
- boolean: true,
- });
-
- t.deepEqual(argv, {
- honk: true,
- tacos: 'good',
- p: 55,
- _: ['moo', 'cow'],
- });
-
- t.deepEqual(typeof argv.honk, 'boolean');
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/bool.js b/includes/search/node_modules/minimist/test/bool.js
deleted file mode 100644
index e58d47e..0000000
--- a/includes/search/node_modules/minimist/test/bool.js
+++ /dev/null
@@ -1,177 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('flag boolean default false', function (t) {
- var argv = parse(['moo'], {
- boolean: ['t', 'verbose'],
- default: { verbose: false, t: false },
- });
-
- t.deepEqual(argv, {
- verbose: false,
- t: false,
- _: ['moo'],
- });
-
- t.deepEqual(typeof argv.verbose, 'boolean');
- t.deepEqual(typeof argv.t, 'boolean');
- t.end();
-
-});
-
-test('boolean groups', function (t) {
- var argv = parse(['-x', '-z', 'one', 'two', 'three'], {
- boolean: ['x', 'y', 'z'],
- });
-
- t.deepEqual(argv, {
- x: true,
- y: false,
- z: true,
- _: ['one', 'two', 'three'],
- });
-
- t.deepEqual(typeof argv.x, 'boolean');
- t.deepEqual(typeof argv.y, 'boolean');
- t.deepEqual(typeof argv.z, 'boolean');
- t.end();
-});
-test('boolean and alias with chainable api', function (t) {
- var aliased = ['-h', 'derp'];
- var regular = ['--herp', 'derp'];
- var aliasedArgv = parse(aliased, {
- boolean: 'herp',
- alias: { h: 'herp' },
- });
- var propertyArgv = parse(regular, {
- boolean: 'herp',
- alias: { h: 'herp' },
- });
- var expected = {
- herp: true,
- h: true,
- _: ['derp'],
- };
-
- t.same(aliasedArgv, expected);
- t.same(propertyArgv, expected);
- t.end();
-});
-
-test('boolean and alias with options hash', function (t) {
- var aliased = ['-h', 'derp'];
- var regular = ['--herp', 'derp'];
- var opts = {
- alias: { h: 'herp' },
- boolean: 'herp',
- };
- var aliasedArgv = parse(aliased, opts);
- var propertyArgv = parse(regular, opts);
- var expected = {
- herp: true,
- h: true,
- _: ['derp'],
- };
- t.same(aliasedArgv, expected);
- t.same(propertyArgv, expected);
- t.end();
-});
-
-test('boolean and alias array with options hash', function (t) {
- var aliased = ['-h', 'derp'];
- var regular = ['--herp', 'derp'];
- var alt = ['--harp', 'derp'];
- var opts = {
- alias: { h: ['herp', 'harp'] },
- boolean: 'h',
- };
- var aliasedArgv = parse(aliased, opts);
- var propertyArgv = parse(regular, opts);
- var altPropertyArgv = parse(alt, opts);
- var expected = {
- harp: true,
- herp: true,
- h: true,
- _: ['derp'],
- };
- t.same(aliasedArgv, expected);
- t.same(propertyArgv, expected);
- t.same(altPropertyArgv, expected);
- t.end();
-});
-
-test('boolean and alias using explicit true', function (t) {
- var aliased = ['-h', 'true'];
- var regular = ['--herp', 'true'];
- var opts = {
- alias: { h: 'herp' },
- boolean: 'h',
- };
- var aliasedArgv = parse(aliased, opts);
- var propertyArgv = parse(regular, opts);
- var expected = {
- herp: true,
- h: true,
- _: [],
- };
-
- t.same(aliasedArgv, expected);
- t.same(propertyArgv, expected);
- t.end();
-});
-
-// regression, see https://github.com/substack/node-optimist/issues/71
-test('boolean and --x=true', function (t) {
- var parsed = parse(['--boool', '--other=true'], {
- boolean: 'boool',
- });
-
- t.same(parsed.boool, true);
- t.same(parsed.other, 'true');
-
- parsed = parse(['--boool', '--other=false'], {
- boolean: 'boool',
- });
-
- t.same(parsed.boool, true);
- t.same(parsed.other, 'false');
- t.end();
-});
-
-test('boolean --boool=true', function (t) {
- var parsed = parse(['--boool=true'], {
- default: {
- boool: false,
- },
- boolean: ['boool'],
- });
-
- t.same(parsed.boool, true);
- t.end();
-});
-
-test('boolean --boool=false', function (t) {
- var parsed = parse(['--boool=false'], {
- default: {
- boool: true,
- },
- boolean: ['boool'],
- });
-
- t.same(parsed.boool, false);
- t.end();
-});
-
-test('boolean using something similar to true', function (t) {
- var opts = { boolean: 'h' };
- var result = parse(['-h', 'true.txt'], opts);
- var expected = {
- h: true,
- _: ['true.txt'],
- };
-
- t.same(result, expected);
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/dash.js b/includes/search/node_modules/minimist/test/dash.js
deleted file mode 100644
index 7078817..0000000
--- a/includes/search/node_modules/minimist/test/dash.js
+++ /dev/null
@@ -1,43 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('-', function (t) {
- t.plan(6);
- t.deepEqual(parse(['-n', '-']), { n: '-', _: [] });
- t.deepEqual(parse(['--nnn', '-']), { nnn: '-', _: [] });
- t.deepEqual(parse(['-']), { _: ['-'] });
- t.deepEqual(parse(['-f-']), { f: '-', _: [] });
- t.deepEqual(
- parse(['-b', '-'], { boolean: 'b' }),
- { b: true, _: ['-'] }
- );
- t.deepEqual(
- parse(['-s', '-'], { string: 's' }),
- { s: '-', _: [] }
- );
-});
-
-test('-a -- b', function (t) {
- t.plan(2);
- t.deepEqual(parse(['-a', '--', 'b']), { a: true, _: ['b'] });
- t.deepEqual(parse(['--a', '--', 'b']), { a: true, _: ['b'] });
-});
-
-test('move arguments after the -- into their own `--` array', function (t) {
- t.plan(1);
- t.deepEqual(
- parse(['--name', 'John', 'before', '--', 'after'], { '--': true }),
- { name: 'John', _: ['before'], '--': ['after'] }
- );
-});
-
-test('--- option value', function (t) {
- // A multi-dash value is largely an edge case, but check the behaviour is as expected,
- // and in particular the same for short option and long option (as made consistent in Jan 2023).
- t.plan(2);
- t.deepEqual(parse(['-n', '---']), { n: '---', _: [] });
- t.deepEqual(parse(['--nnn', '---']), { nnn: '---', _: [] });
-});
-
diff --git a/includes/search/node_modules/minimist/test/default_bool.js b/includes/search/node_modules/minimist/test/default_bool.js
deleted file mode 100644
index 4e9f625..0000000
--- a/includes/search/node_modules/minimist/test/default_bool.js
+++ /dev/null
@@ -1,37 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var parse = require('../');
-
-test('boolean default true', function (t) {
- var argv = parse([], {
- boolean: 'sometrue',
- default: { sometrue: true },
- });
- t.equal(argv.sometrue, true);
- t.end();
-});
-
-test('boolean default false', function (t) {
- var argv = parse([], {
- boolean: 'somefalse',
- default: { somefalse: false },
- });
- t.equal(argv.somefalse, false);
- t.end();
-});
-
-test('boolean default to null', function (t) {
- var argv = parse([], {
- boolean: 'maybe',
- default: { maybe: null },
- });
- t.equal(argv.maybe, null);
-
- var argvLong = parse(['--maybe'], {
- boolean: 'maybe',
- default: { maybe: null },
- });
- t.equal(argvLong.maybe, true);
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/dotted.js b/includes/search/node_modules/minimist/test/dotted.js
deleted file mode 100644
index 126ff03..0000000
--- a/includes/search/node_modules/minimist/test/dotted.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('dotted alias', function (t) {
- var argv = parse(['--a.b', '22'], { default: { 'a.b': 11 }, alias: { 'a.b': 'aa.bb' } });
- t.equal(argv.a.b, 22);
- t.equal(argv.aa.bb, 22);
- t.end();
-});
-
-test('dotted default', function (t) {
- var argv = parse('', { default: { 'a.b': 11 }, alias: { 'a.b': 'aa.bb' } });
- t.equal(argv.a.b, 11);
- t.equal(argv.aa.bb, 11);
- t.end();
-});
-
-test('dotted default with no alias', function (t) {
- var argv = parse('', { default: { 'a.b': 11 } });
- t.equal(argv.a.b, 11);
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/kv_short.js b/includes/search/node_modules/minimist/test/kv_short.js
deleted file mode 100644
index 6d1b53a..0000000
--- a/includes/search/node_modules/minimist/test/kv_short.js
+++ /dev/null
@@ -1,32 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('short -k=v', function (t) {
- t.plan(1);
-
- var argv = parse(['-b=123']);
- t.deepEqual(argv, { b: 123, _: [] });
-});
-
-test('multi short -k=v', function (t) {
- t.plan(1);
-
- var argv = parse(['-a=whatever', '-b=robots']);
- t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] });
-});
-
-test('short with embedded equals -k=a=b', function (t) {
- t.plan(1);
-
- var argv = parse(['-k=a=b']);
- t.deepEqual(argv, { k: 'a=b', _: [] });
-});
-
-test('short with later equals like -ab=c', function (t) {
- t.plan(1);
-
- var argv = parse(['-ab=c']);
- t.deepEqual(argv, { a: true, b: 'c', _: [] });
-});
diff --git a/includes/search/node_modules/minimist/test/long.js b/includes/search/node_modules/minimist/test/long.js
deleted file mode 100644
index 9fef51f..0000000
--- a/includes/search/node_modules/minimist/test/long.js
+++ /dev/null
@@ -1,33 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var parse = require('../');
-
-test('long opts', function (t) {
- t.deepEqual(
- parse(['--bool']),
- { bool: true, _: [] },
- 'long boolean'
- );
- t.deepEqual(
- parse(['--pow', 'xixxle']),
- { pow: 'xixxle', _: [] },
- 'long capture sp'
- );
- t.deepEqual(
- parse(['--pow=xixxle']),
- { pow: 'xixxle', _: [] },
- 'long capture eq'
- );
- t.deepEqual(
- parse(['--host', 'localhost', '--port', '555']),
- { host: 'localhost', port: 555, _: [] },
- 'long captures sp'
- );
- t.deepEqual(
- parse(['--host=localhost', '--port=555']),
- { host: 'localhost', port: 555, _: [] },
- 'long captures eq'
- );
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/num.js b/includes/search/node_modules/minimist/test/num.js
deleted file mode 100644
index 074393e..0000000
--- a/includes/search/node_modules/minimist/test/num.js
+++ /dev/null
@@ -1,38 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('nums', function (t) {
- var argv = parse([
- '-x', '1234',
- '-y', '5.67',
- '-z', '1e7',
- '-w', '10f',
- '--hex', '0xdeadbeef',
- '789',
- ]);
- t.deepEqual(argv, {
- x: 1234,
- y: 5.67,
- z: 1e7,
- w: '10f',
- hex: 0xdeadbeef,
- _: [789],
- });
- t.deepEqual(typeof argv.x, 'number');
- t.deepEqual(typeof argv.y, 'number');
- t.deepEqual(typeof argv.z, 'number');
- t.deepEqual(typeof argv.w, 'string');
- t.deepEqual(typeof argv.hex, 'number');
- t.deepEqual(typeof argv._[0], 'number');
- t.end();
-});
-
-test('already a number', function (t) {
- var argv = parse(['-x', 1234, 789]);
- t.deepEqual(argv, { x: 1234, _: [789] });
- t.deepEqual(typeof argv.x, 'number');
- t.deepEqual(typeof argv._[0], 'number');
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/parse.js b/includes/search/node_modules/minimist/test/parse.js
deleted file mode 100644
index 65d9d90..0000000
--- a/includes/search/node_modules/minimist/test/parse.js
+++ /dev/null
@@ -1,209 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('parse args', function (t) {
- t.deepEqual(
- parse(['--no-moo']),
- { moo: false, _: [] },
- 'no'
- );
- t.deepEqual(
- parse(['-v', 'a', '-v', 'b', '-v', 'c']),
- { v: ['a', 'b', 'c'], _: [] },
- 'multi'
- );
- t.end();
-});
-
-test('comprehensive', function (t) {
- t.deepEqual(
- parse([
- '--name=meowmers', 'bare', '-cats', 'woo',
- '-h', 'awesome', '--multi=quux',
- '--key', 'value',
- '-b', '--bool', '--no-meep', '--multi=baz',
- '--', '--not-a-flag', 'eek',
- ]),
- {
- c: true,
- a: true,
- t: true,
- s: 'woo',
- h: 'awesome',
- b: true,
- bool: true,
- key: 'value',
- multi: ['quux', 'baz'],
- meep: false,
- name: 'meowmers',
- _: ['bare', '--not-a-flag', 'eek'],
- }
- );
- t.end();
-});
-
-test('flag boolean', function (t) {
- var argv = parse(['-t', 'moo'], { boolean: 't' });
- t.deepEqual(argv, { t: true, _: ['moo'] });
- t.deepEqual(typeof argv.t, 'boolean');
- t.end();
-});
-
-test('flag boolean value', function (t) {
- var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], {
- boolean: ['t', 'verbose'],
- default: { verbose: true },
- });
-
- t.deepEqual(argv, {
- verbose: false,
- t: true,
- _: ['moo'],
- });
-
- t.deepEqual(typeof argv.verbose, 'boolean');
- t.deepEqual(typeof argv.t, 'boolean');
- t.end();
-});
-
-test('newlines in params', function (t) {
- var args = parse(['-s', 'X\nX']);
- t.deepEqual(args, { _: [], s: 'X\nX' });
-
- // reproduce in bash:
- // VALUE="new
- // line"
- // node program.js --s="$VALUE"
- args = parse(['--s=X\nX']);
- t.deepEqual(args, { _: [], s: 'X\nX' });
- t.end();
-});
-
-test('strings', function (t) {
- var s = parse(['-s', '0001234'], { string: 's' }).s;
- t.equal(s, '0001234');
- t.equal(typeof s, 'string');
-
- var x = parse(['-x', '56'], { string: 'x' }).x;
- t.equal(x, '56');
- t.equal(typeof x, 'string');
- t.end();
-});
-
-test('stringArgs', function (t) {
- var s = parse([' ', ' '], { string: '_' })._;
- t.same(s.length, 2);
- t.same(typeof s[0], 'string');
- t.same(s[0], ' ');
- t.same(typeof s[1], 'string');
- t.same(s[1], ' ');
- t.end();
-});
-
-test('empty strings', function (t) {
- var s = parse(['-s'], { string: 's' }).s;
- t.equal(s, '');
- t.equal(typeof s, 'string');
-
- var str = parse(['--str'], { string: 'str' }).str;
- t.equal(str, '');
- t.equal(typeof str, 'string');
-
- var letters = parse(['-art'], {
- string: ['a', 't'],
- });
-
- t.equal(letters.a, '');
- t.equal(letters.r, true);
- t.equal(letters.t, '');
-
- t.end();
-});
-
-test('string and alias', function (t) {
- var x = parse(['--str', '000123'], {
- string: 's',
- alias: { s: 'str' },
- });
-
- t.equal(x.str, '000123');
- t.equal(typeof x.str, 'string');
- t.equal(x.s, '000123');
- t.equal(typeof x.s, 'string');
-
- var y = parse(['-s', '000123'], {
- string: 'str',
- alias: { str: 's' },
- });
-
- t.equal(y.str, '000123');
- t.equal(typeof y.str, 'string');
- t.equal(y.s, '000123');
- t.equal(typeof y.s, 'string');
-
- var z = parse(['-s123'], {
- alias: { str: ['s', 'S'] },
- string: ['str'],
- });
-
- t.deepEqual(
- z,
- { _: [], s: '123', S: '123', str: '123' },
- 'opt.string works with multiple aliases'
- );
- t.end();
-});
-
-test('slashBreak', function (t) {
- t.same(
- parse(['-I/foo/bar/baz']),
- { I: '/foo/bar/baz', _: [] }
- );
- t.same(
- parse(['-xyz/foo/bar/baz']),
- { x: true, y: true, z: '/foo/bar/baz', _: [] }
- );
- t.end();
-});
-
-test('alias', function (t) {
- var argv = parse(['-f', '11', '--zoom', '55'], {
- alias: { z: 'zoom' },
- });
- t.equal(argv.zoom, 55);
- t.equal(argv.z, argv.zoom);
- t.equal(argv.f, 11);
- t.end();
-});
-
-test('multiAlias', function (t) {
- var argv = parse(['-f', '11', '--zoom', '55'], {
- alias: { z: ['zm', 'zoom'] },
- });
- t.equal(argv.zoom, 55);
- t.equal(argv.z, argv.zoom);
- t.equal(argv.z, argv.zm);
- t.equal(argv.f, 11);
- t.end();
-});
-
-test('nested dotted objects', function (t) {
- var argv = parse([
- '--foo.bar', '3', '--foo.baz', '4',
- '--foo.quux.quibble', '5', '--foo.quux.o_O',
- '--beep.boop',
- ]);
-
- t.same(argv.foo, {
- bar: 3,
- baz: 4,
- quux: {
- quibble: 5,
- o_O: true,
- },
- });
- t.same(argv.beep, { boop: true });
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/parse_modified.js b/includes/search/node_modules/minimist/test/parse_modified.js
deleted file mode 100644
index 32965d1..0000000
--- a/includes/search/node_modules/minimist/test/parse_modified.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('parse with modifier functions', function (t) {
- t.plan(1);
-
- var argv = parse(['-b', '123'], { boolean: 'b' });
- t.deepEqual(argv, { b: true, _: [123] });
-});
diff --git a/includes/search/node_modules/minimist/test/proto.js b/includes/search/node_modules/minimist/test/proto.js
deleted file mode 100644
index 6e629dd..0000000
--- a/includes/search/node_modules/minimist/test/proto.js
+++ /dev/null
@@ -1,64 +0,0 @@
-'use strict';
-
-/* eslint no-proto: 0 */
-
-var parse = require('../');
-var test = require('tape');
-
-test('proto pollution', function (t) {
- var argv = parse(['--__proto__.x', '123']);
- t.equal({}.x, undefined);
- t.equal(argv.__proto__.x, undefined);
- t.equal(argv.x, undefined);
- t.end();
-});
-
-test('proto pollution (array)', function (t) {
- var argv = parse(['--x', '4', '--x', '5', '--x.__proto__.z', '789']);
- t.equal({}.z, undefined);
- t.deepEqual(argv.x, [4, 5]);
- t.equal(argv.x.z, undefined);
- t.equal(argv.x.__proto__.z, undefined);
- t.end();
-});
-
-test('proto pollution (number)', function (t) {
- var argv = parse(['--x', '5', '--x.__proto__.z', '100']);
- t.equal({}.z, undefined);
- t.equal((4).z, undefined);
- t.equal(argv.x, 5);
- t.equal(argv.x.z, undefined);
- t.end();
-});
-
-test('proto pollution (string)', function (t) {
- var argv = parse(['--x', 'abc', '--x.__proto__.z', 'def']);
- t.equal({}.z, undefined);
- t.equal('...'.z, undefined);
- t.equal(argv.x, 'abc');
- t.equal(argv.x.z, undefined);
- t.end();
-});
-
-test('proto pollution (constructor)', function (t) {
- var argv = parse(['--constructor.prototype.y', '123']);
- t.equal({}.y, undefined);
- t.equal(argv.y, undefined);
- t.end();
-});
-
-test('proto pollution (constructor function)', function (t) {
- var argv = parse(['--_.concat.constructor.prototype.y', '123']);
- function fnToBeTested() {}
- t.equal(fnToBeTested.y, undefined);
- t.equal(argv.y, undefined);
- t.end();
-});
-
-// powered by snyk - https://github.com/backstage/backstage/issues/10343
-test('proto pollution (constructor function) snyk', function (t) {
- var argv = parse('--_.constructor.constructor.prototype.foo bar'.split(' '));
- t.equal(function () {}.foo, undefined);
- t.equal(argv.y, undefined);
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/short.js b/includes/search/node_modules/minimist/test/short.js
deleted file mode 100644
index 4a7b843..0000000
--- a/includes/search/node_modules/minimist/test/short.js
+++ /dev/null
@@ -1,69 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('numeric short args', function (t) {
- t.plan(2);
- t.deepEqual(parse(['-n123']), { n: 123, _: [] });
- t.deepEqual(
- parse(['-123', '456']),
- { 1: true, 2: true, 3: 456, _: [] }
- );
-});
-
-test('short', function (t) {
- t.deepEqual(
- parse(['-b']),
- { b: true, _: [] },
- 'short boolean'
- );
- t.deepEqual(
- parse(['foo', 'bar', 'baz']),
- { _: ['foo', 'bar', 'baz'] },
- 'bare'
- );
- t.deepEqual(
- parse(['-cats']),
- { c: true, a: true, t: true, s: true, _: [] },
- 'group'
- );
- t.deepEqual(
- parse(['-cats', 'meow']),
- { c: true, a: true, t: true, s: 'meow', _: [] },
- 'short group next'
- );
- t.deepEqual(
- parse(['-h', 'localhost']),
- { h: 'localhost', _: [] },
- 'short capture'
- );
- t.deepEqual(
- parse(['-h', 'localhost', '-p', '555']),
- { h: 'localhost', p: 555, _: [] },
- 'short captures'
- );
- t.end();
-});
-
-test('mixed short bool and capture', function (t) {
- t.same(
- parse(['-h', 'localhost', '-fp', '555', 'script.js']),
- {
- f: true, p: 555, h: 'localhost',
- _: ['script.js'],
- }
- );
- t.end();
-});
-
-test('short and long', function (t) {
- t.deepEqual(
- parse(['-h', 'localhost', '-fp', '555', 'script.js']),
- {
- f: true, p: 555, h: 'localhost',
- _: ['script.js'],
- }
- );
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/stop_early.js b/includes/search/node_modules/minimist/test/stop_early.js
deleted file mode 100644
index 52a6a91..0000000
--- a/includes/search/node_modules/minimist/test/stop_early.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('stops parsing on the first non-option when stopEarly is set', function (t) {
- var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], {
- stopEarly: true,
- });
-
- t.deepEqual(argv, {
- aaa: 'bbb',
- _: ['ccc', '--ddd'],
- });
-
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/unknown.js b/includes/search/node_modules/minimist/test/unknown.js
deleted file mode 100644
index 4f2e0ca..0000000
--- a/includes/search/node_modules/minimist/test/unknown.js
+++ /dev/null
@@ -1,104 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('boolean and alias is not unknown', function (t) {
- var unknown = [];
- function unknownFn(arg) {
- unknown.push(arg);
- return false;
- }
- var aliased = ['-h', 'true', '--derp', 'true'];
- var regular = ['--herp', 'true', '-d', 'true'];
- var opts = {
- alias: { h: 'herp' },
- boolean: 'h',
- unknown: unknownFn,
- };
- parse(aliased, opts);
- parse(regular, opts);
-
- t.same(unknown, ['--derp', '-d']);
- t.end();
-});
-
-test('flag boolean true any double hyphen argument is not unknown', function (t) {
- var unknown = [];
- function unknownFn(arg) {
- unknown.push(arg);
- return false;
- }
- var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], {
- boolean: true,
- unknown: unknownFn,
- });
- t.same(unknown, ['--tacos=good', 'cow', '-p']);
- t.same(argv, {
- honk: true,
- _: [],
- });
- t.end();
-});
-
-test('string and alias is not unknown', function (t) {
- var unknown = [];
- function unknownFn(arg) {
- unknown.push(arg);
- return false;
- }
- var aliased = ['-h', 'hello', '--derp', 'goodbye'];
- var regular = ['--herp', 'hello', '-d', 'moon'];
- var opts = {
- alias: { h: 'herp' },
- string: 'h',
- unknown: unknownFn,
- };
- parse(aliased, opts);
- parse(regular, opts);
-
- t.same(unknown, ['--derp', '-d']);
- t.end();
-});
-
-test('default and alias is not unknown', function (t) {
- var unknown = [];
- function unknownFn(arg) {
- unknown.push(arg);
- return false;
- }
- var aliased = ['-h', 'hello'];
- var regular = ['--herp', 'hello'];
- var opts = {
- default: { h: 'bar' },
- alias: { h: 'herp' },
- unknown: unknownFn,
- };
- parse(aliased, opts);
- parse(regular, opts);
-
- t.same(unknown, []);
- t.end();
- unknownFn(); // exercise fn for 100% coverage
-});
-
-test('value following -- is not unknown', function (t) {
- var unknown = [];
- function unknownFn(arg) {
- unknown.push(arg);
- return false;
- }
- var aliased = ['--bad', '--', 'good', 'arg'];
- var opts = {
- '--': true,
- unknown: unknownFn,
- };
- var argv = parse(aliased, opts);
-
- t.same(unknown, ['--bad']);
- t.same(argv, {
- '--': ['good', 'arg'],
- _: [],
- });
- t.end();
-});
diff --git a/includes/search/node_modules/minimist/test/whitespace.js b/includes/search/node_modules/minimist/test/whitespace.js
deleted file mode 100644
index 4fdaf1d..0000000
--- a/includes/search/node_modules/minimist/test/whitespace.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-var parse = require('../');
-var test = require('tape');
-
-test('whitespace should be whitespace', function (t) {
- t.plan(1);
- var x = parse(['-x', '\t']).x;
- t.equal(x, '\t');
-});
diff --git a/includes/search/node_modules/mkdirp-classic/LICENSE b/includes/search/node_modules/mkdirp-classic/LICENSE
deleted file mode 100644
index f6b3a0d..0000000
--- a/includes/search/node_modules/mkdirp-classic/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2020 James Halliday (mail@substack.net) and Mathias Buus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/mkdirp-classic/README.md b/includes/search/node_modules/mkdirp-classic/README.md
deleted file mode 100644
index be5ac93..0000000
--- a/includes/search/node_modules/mkdirp-classic/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# mkdirp-classic
-
-Just a non-deprecated mirror of [mkdirp 0.5.2](https://github.com/substack/node-mkdirp/tree/0.5.1)
-for use in modules where we depend on the non promise interface.
-
-```
-npm install mkdirp-classic
-```
-
-## Usage
-
-``` js
-// See the above link
-```
-
-## License
-
-MIT
diff --git a/includes/search/node_modules/mkdirp-classic/index.js b/includes/search/node_modules/mkdirp-classic/index.js
deleted file mode 100644
index 6ce241b..0000000
--- a/includes/search/node_modules/mkdirp-classic/index.js
+++ /dev/null
@@ -1,98 +0,0 @@
-var path = require('path');
-var fs = require('fs');
-var _0777 = parseInt('0777', 8);
-
-module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP;
-
-function mkdirP (p, opts, f, made) {
- if (typeof opts === 'function') {
- f = opts;
- opts = {};
- }
- else if (!opts || typeof opts !== 'object') {
- opts = { mode: opts };
- }
-
- var mode = opts.mode;
- var xfs = opts.fs || fs;
-
- if (mode === undefined) {
- mode = _0777 & (~process.umask());
- }
- if (!made) made = null;
-
- var cb = f || function () {};
- p = path.resolve(p);
-
- xfs.mkdir(p, mode, function (er) {
- if (!er) {
- made = made || p;
- return cb(null, made);
- }
- switch (er.code) {
- case 'ENOENT':
- mkdirP(path.dirname(p), opts, function (er, made) {
- if (er) cb(er, made);
- else mkdirP(p, opts, cb, made);
- });
- break;
-
- // In the case of any other error, just see if there's a dir
- // there already. If so, then hooray! If not, then something
- // is borked.
- default:
- xfs.stat(p, function (er2, stat) {
- // if the stat fails, then that's super weird.
- // let the original error be the failure reason.
- if (er2 || !stat.isDirectory()) cb(er, made)
- else cb(null, made);
- });
- break;
- }
- });
-}
-
-mkdirP.sync = function sync (p, opts, made) {
- if (!opts || typeof opts !== 'object') {
- opts = { mode: opts };
- }
-
- var mode = opts.mode;
- var xfs = opts.fs || fs;
-
- if (mode === undefined) {
- mode = _0777 & (~process.umask());
- }
- if (!made) made = null;
-
- p = path.resolve(p);
-
- try {
- xfs.mkdirSync(p, mode);
- made = made || p;
- }
- catch (err0) {
- switch (err0.code) {
- case 'ENOENT' :
- made = sync(path.dirname(p), opts, made);
- sync(p, opts, made);
- break;
-
- // In the case of any other error, just see if there's a dir
- // there already. If so, then hooray! If not, then something
- // is borked.
- default:
- var stat;
- try {
- stat = xfs.statSync(p);
- }
- catch (err1) {
- throw err0;
- }
- if (!stat.isDirectory()) throw err0;
- break;
- }
- }
-
- return made;
-};
diff --git a/includes/search/node_modules/mkdirp-classic/package.json b/includes/search/node_modules/mkdirp-classic/package.json
deleted file mode 100644
index c8b5407..0000000
--- a/includes/search/node_modules/mkdirp-classic/package.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "name": "mkdirp-classic",
- "version": "0.5.3",
- "description": "Mirror of mkdirp 0.5.2",
- "main": "index.js",
- "dependencies": {},
- "devDependencies": {},
- "repository": {
- "type": "git",
- "url": "https://github.com/mafintosh/mkdirp-classic.git"
- },
- "author": "Mathias Buus (@mafintosh)",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/mafintosh/mkdirp-classic/issues"
- },
- "homepage": "https://github.com/mafintosh/mkdirp-classic"
-}
diff --git a/includes/search/node_modules/ms/index.js b/includes/search/node_modules/ms/index.js
deleted file mode 100644
index c4498bc..0000000
--- a/includes/search/node_modules/ms/index.js
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- * Helpers.
- */
-
-var s = 1000;
-var m = s * 60;
-var h = m * 60;
-var d = h * 24;
-var w = d * 7;
-var y = d * 365.25;
-
-/**
- * Parse or format the given `val`.
- *
- * Options:
- *
- * - `long` verbose formatting [false]
- *
- * @param {String|Number} val
- * @param {Object} [options]
- * @throws {Error} throw an error if val is not a non-empty string or a number
- * @return {String|Number}
- * @api public
- */
-
-module.exports = function(val, options) {
- options = options || {};
- var type = typeof val;
- if (type === 'string' && val.length > 0) {
- return parse(val);
- } else if (type === 'number' && isFinite(val)) {
- return options.long ? fmtLong(val) : fmtShort(val);
- }
- throw new Error(
- 'val is not a non-empty string or a valid number. val=' +
- JSON.stringify(val)
- );
-};
-
-/**
- * Parse the given `str` and return milliseconds.
- *
- * @param {String} str
- * @return {Number}
- * @api private
- */
-
-function parse(str) {
- str = String(str);
- if (str.length > 100) {
- return;
- }
- var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
- str
- );
- if (!match) {
- return;
- }
- var n = parseFloat(match[1]);
- var type = (match[2] || 'ms').toLowerCase();
- switch (type) {
- case 'years':
- case 'year':
- case 'yrs':
- case 'yr':
- case 'y':
- return n * y;
- case 'weeks':
- case 'week':
- case 'w':
- return n * w;
- case 'days':
- case 'day':
- case 'd':
- return n * d;
- case 'hours':
- case 'hour':
- case 'hrs':
- case 'hr':
- case 'h':
- return n * h;
- case 'minutes':
- case 'minute':
- case 'mins':
- case 'min':
- case 'm':
- return n * m;
- case 'seconds':
- case 'second':
- case 'secs':
- case 'sec':
- case 's':
- return n * s;
- case 'milliseconds':
- case 'millisecond':
- case 'msecs':
- case 'msec':
- case 'ms':
- return n;
- default:
- return undefined;
- }
-}
-
-/**
- * Short format for `ms`.
- *
- * @param {Number} ms
- * @return {String}
- * @api private
- */
-
-function fmtShort(ms) {
- var msAbs = Math.abs(ms);
- if (msAbs >= d) {
- return Math.round(ms / d) + 'd';
- }
- if (msAbs >= h) {
- return Math.round(ms / h) + 'h';
- }
- if (msAbs >= m) {
- return Math.round(ms / m) + 'm';
- }
- if (msAbs >= s) {
- return Math.round(ms / s) + 's';
- }
- return ms + 'ms';
-}
-
-/**
- * Long format for `ms`.
- *
- * @param {Number} ms
- * @return {String}
- * @api private
- */
-
-function fmtLong(ms) {
- var msAbs = Math.abs(ms);
- if (msAbs >= d) {
- return plural(ms, msAbs, d, 'day');
- }
- if (msAbs >= h) {
- return plural(ms, msAbs, h, 'hour');
- }
- if (msAbs >= m) {
- return plural(ms, msAbs, m, 'minute');
- }
- if (msAbs >= s) {
- return plural(ms, msAbs, s, 'second');
- }
- return ms + ' ms';
-}
-
-/**
- * Pluralization helper.
- */
-
-function plural(ms, msAbs, n, name) {
- var isPlural = msAbs >= n * 1.5;
- return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
-}
diff --git a/includes/search/node_modules/ms/license.md b/includes/search/node_modules/ms/license.md
deleted file mode 100644
index 69b6125..0000000
--- a/includes/search/node_modules/ms/license.md
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2016 Zeit, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/ms/package.json b/includes/search/node_modules/ms/package.json
deleted file mode 100644
index eea666e..0000000
--- a/includes/search/node_modules/ms/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "ms",
- "version": "2.1.2",
- "description": "Tiny millisecond conversion utility",
- "repository": "zeit/ms",
- "main": "./index",
- "files": [
- "index.js"
- ],
- "scripts": {
- "precommit": "lint-staged",
- "lint": "eslint lib/* bin/*",
- "test": "mocha tests.js"
- },
- "eslintConfig": {
- "extends": "eslint:recommended",
- "env": {
- "node": true,
- "es6": true
- }
- },
- "lint-staged": {
- "*.js": [
- "npm run lint",
- "prettier --single-quote --write",
- "git add"
- ]
- },
- "license": "MIT",
- "devDependencies": {
- "eslint": "4.12.1",
- "expect.js": "0.3.1",
- "husky": "0.14.3",
- "lint-staged": "5.0.0",
- "mocha": "4.0.1"
- }
-}
diff --git a/includes/search/node_modules/ms/readme.md b/includes/search/node_modules/ms/readme.md
deleted file mode 100644
index 9a1996b..0000000
--- a/includes/search/node_modules/ms/readme.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# ms
-
-[![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms)
-[![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/zeit)
-
-Use this package to easily convert various time formats to milliseconds.
-
-## Examples
-
-```js
-ms('2 days') // 172800000
-ms('1d') // 86400000
-ms('10h') // 36000000
-ms('2.5 hrs') // 9000000
-ms('2h') // 7200000
-ms('1m') // 60000
-ms('5s') // 5000
-ms('1y') // 31557600000
-ms('100') // 100
-ms('-3 days') // -259200000
-ms('-1h') // -3600000
-ms('-200') // -200
-```
-
-### Convert from Milliseconds
-
-```js
-ms(60000) // "1m"
-ms(2 * 60000) // "2m"
-ms(-3 * 60000) // "-3m"
-ms(ms('10 hours')) // "10h"
-```
-
-### Time Format Written-Out
-
-```js
-ms(60000, { long: true }) // "1 minute"
-ms(2 * 60000, { long: true }) // "2 minutes"
-ms(-3 * 60000, { long: true }) // "-3 minutes"
-ms(ms('10 hours'), { long: true }) // "10 hours"
-```
-
-## Features
-
-- Works both in [Node.js](https://nodejs.org) and in the browser
-- If a number is supplied to `ms`, a string with a unit is returned
-- If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`)
-- If you pass a string with a number and a valid unit, the number of equivalent milliseconds is returned
-
-## Related Packages
-
-- [ms.macro](https://github.com/knpwrs/ms.macro) - Run `ms` as a macro at build-time.
-
-## Caught a Bug?
-
-1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device
-2. Link the package to the global module directory: `npm link`
-3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, Node.js will now use your clone of ms!
-
-As always, you can run the tests using: `npm test`
diff --git a/includes/search/node_modules/multistream/LICENSE b/includes/search/node_modules/multistream/LICENSE
deleted file mode 100644
index c7e6852..0000000
--- a/includes/search/node_modules/multistream/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Feross Aboukhadijeh
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/multistream/README.md b/includes/search/node_modules/multistream/README.md
deleted file mode 100644
index 508034e..0000000
--- a/includes/search/node_modules/multistream/README.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# multistream [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[travis-image]: https://img.shields.io/travis/feross/multistream/master.svg
-[travis-url]: https://travis-ci.org/feross/multistream
-[npm-image]: https://img.shields.io/npm/v/multistream.svg
-[npm-url]: https://npmjs.org/package/multistream
-[downloads-image]: https://img.shields.io/npm/dm/multistream.svg
-[downloads-url]: https://npmjs.org/package/multistream
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-#### A stream that emits multiple other streams one after another (streams3)
-
-[![Sauce Test Status](https://saucelabs.com/browser-matrix/multistream.svg)](https://saucelabs.com/u/multistream)
-
-![cat](https://raw.githubusercontent.com/feross/multistream/master/img.jpg)
-
-Simple, robust streams3 version of [combined-stream](https://www.npmjs.org/package/combined-stream). Allows you to combine multiple streams into a single stream. When the first stream ends, the next one starts, and so on, until all streams are consumed.
-
-This module is used by [WebTorrent](http://webtorrent.io), specifically [create-torrent](https://github.com/feross/create-torrent).
-
-### install
-
-```
-npm install multistream
-```
-
-### usage
-
-Use `multistream` like this:
-
-```js
-var MultiStream = require('multistream')
-var fs = require('fs')
-
-var streams = [
- fs.createReadStream(__dirname + '/numbers/1.txt'),
- fs.createReadStream(__dirname + '/numbers/2.txt'),
- fs.createReadStream(__dirname + '/numbers/3.txt')
-]
-
-new MultiStream(streams).pipe(process.stdout) // => 123
-```
-
-You can also create an object-mode stream with `MultiStream.obj(streams)`.
-
-To lazily create the streams, wrap them in a function:
-
-```js
-var streams = [
- fs.createReadStream(__dirname + '/numbers/1.txt'),
- function () { // will be executed when the stream is active
- return fs.createReadStream(__dirname + '/numbers/2.txt')
- },
- function () { // same
- return fs.createReadStream(__dirname + '/numbers/3.txt')
- }
-]
-
-new MultiStream(streams).pipe(process.stdout) // => 123
-```
-
-Alternatively, streams may be created by an asynchronous "factory" function:
-
-```js
-var count = 0
-function factory (cb) {
- if (count > 3) return cb(null, null)
- count++
- setTimeout(function () {
- cb(null, fs.createReadStream(__dirname + '/numbers/' + count + '.txt'))
- }, 100)
-}
-
-new MultiStream(factory).pipe(process.stdout) // => 123
-```
-
-### contributors
-
-- [Feross Aboukhadijeh](http://feross.org)
-- [Mathias Buus](https://github.com/mafintosh/)
-- [Yuri Astrakhan](https://github.com/nyurik/)
-
-### license
-
-MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org).
diff --git a/includes/search/node_modules/multistream/index.js b/includes/search/node_modules/multistream/index.js
deleted file mode 100644
index 13f03f1..0000000
--- a/includes/search/node_modules/multistream/index.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/*! multistream. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
-const stream = require('readable-stream')
-const once = require('once')
-
-function toStreams2Obj (s) {
- return toStreams2(s, { objectMode: true, highWaterMark: 16 })
-}
-
-function toStreams2Buf (s) {
- return toStreams2(s)
-}
-
-function toStreams2 (s, opts) {
- if (!s || typeof s === 'function' || s._readableState) return s
-
- const wrap = new stream.Readable(opts).wrap(s)
- if (s.destroy) {
- wrap.destroy = s.destroy.bind(s)
- }
- return wrap
-}
-
-class MultiStream extends stream.Readable {
- constructor (streams, opts) {
- super({ ...opts, autoDestroy: true })
-
- this._drained = false
- this._forwarding = false
- this._current = null
- this._toStreams2 = (opts && opts.objectMode) ? toStreams2Obj : toStreams2Buf
-
- if (typeof streams === 'function') {
- this._queue = streams
- } else {
- this._queue = streams.map(this._toStreams2)
- this._queue.forEach(stream => {
- if (typeof stream !== 'function') this._attachErrorListener(stream)
- })
- }
-
- this._next()
- }
-
- _read () {
- this._drained = true
- this._forward()
- }
-
- _forward () {
- if (this._forwarding || !this._drained || !this._current) return
- this._forwarding = true
-
- let chunk
- while (this._drained && (chunk = this._current.read()) !== null) {
- this._drained = this.push(chunk)
- }
-
- this._forwarding = false
- }
-
- _destroy (err, cb) {
- let streams = []
- if (this._current) streams.push(this._current)
- if (typeof this._queue !== 'function') streams = streams.concat(this._queue)
-
- if (streams.length === 0) {
- cb(err)
- } else {
- let counter = streams.length
- let er = err
- streams.forEach(stream => {
- destroy(stream, err, err => {
- er = er || err
- if (--counter === 0) {
- cb(er)
- }
- })
- })
- }
- }
-
- _next () {
- this._current = null
-
- if (typeof this._queue === 'function') {
- this._queue((err, stream) => {
- if (err) return this.destroy(err)
- stream = this._toStreams2(stream)
- this._attachErrorListener(stream)
- this._gotNextStream(stream)
- })
- } else {
- let stream = this._queue.shift()
- if (typeof stream === 'function') {
- stream = this._toStreams2(stream())
- this._attachErrorListener(stream)
- }
- this._gotNextStream(stream)
- }
- }
-
- _gotNextStream (stream) {
- if (!stream) {
- this.push(null)
- return
- }
-
- this._current = stream
- this._forward()
-
- const onReadable = () => {
- this._forward()
- }
-
- const onClose = () => {
- if (!stream._readableState.ended && !stream.destroyed) {
- const err = new Error('ERR_STREAM_PREMATURE_CLOSE')
- err.code = 'ERR_STREAM_PREMATURE_CLOSE'
- this.destroy(err)
- }
- }
-
- const onEnd = () => {
- this._current = null
- stream.removeListener('readable', onReadable)
- stream.removeListener('end', onEnd)
- stream.removeListener('close', onClose)
- stream.destroy()
- this._next()
- }
-
- stream.on('readable', onReadable)
- stream.once('end', onEnd)
- stream.once('close', onClose)
- }
-
- _attachErrorListener (stream) {
- if (!stream) return
-
- const onError = (err) => {
- stream.removeListener('error', onError)
- this.destroy(err)
- }
-
- stream.once('error', onError)
- }
-}
-
-MultiStream.obj = streams => (
- new MultiStream(streams, { objectMode: true, highWaterMark: 16 })
-)
-
-module.exports = MultiStream
-
-// Normalize stream destroy w/ callback.
-function destroy (stream, err, cb) {
- if (!stream.destroy || stream.destroyed) {
- cb(err)
- } else {
- const callback = once(er => cb(er || err))
- stream
- .on('error', callback)
- .on('close', () => callback())
- .destroy(err, callback)
- }
-}
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/CONTRIBUTING.md b/includes/search/node_modules/multistream/node_modules/readable-stream/CONTRIBUTING.md
deleted file mode 100644
index f478d58..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/CONTRIBUTING.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Developer's Certificate of Origin 1.1
-
-By making a contribution to this project, I certify that:
-
-* (a) The contribution was created in whole or in part by me and I
- have the right to submit it under the open source license
- indicated in the file; or
-
-* (b) The contribution is based upon previous work that, to the best
- of my knowledge, is covered under an appropriate open source
- license and I have the right under that license to submit that
- work with modifications, whether created in whole or in part
- by me, under the same open source license (unless I am
- permitted to submit under a different license), as indicated
- in the file; or
-
-* (c) The contribution was provided directly to me by some other
- person who certified (a), (b) or (c) and I have not modified
- it.
-
-* (d) I understand and agree that this project and the contribution
- are public and that a record of the contribution (including all
- personal information I submit with it, including my sign-off) is
- maintained indefinitely and may be redistributed consistent with
- this project or the open source license(s) involved.
-
-## Moderation Policy
-
-The [Node.js Moderation Policy] applies to this WG.
-
-## Code of Conduct
-
-The [Node.js Code of Conduct][] applies to this WG.
-
-[Node.js Code of Conduct]:
-https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md
-[Node.js Moderation Policy]:
-https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/GOVERNANCE.md b/includes/search/node_modules/multistream/node_modules/readable-stream/GOVERNANCE.md
deleted file mode 100644
index 16ffb93..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/GOVERNANCE.md
+++ /dev/null
@@ -1,136 +0,0 @@
-### Streams Working Group
-
-The Node.js Streams is jointly governed by a Working Group
-(WG)
-that is responsible for high-level guidance of the project.
-
-The WG has final authority over this project including:
-
-* Technical direction
-* Project governance and process (including this policy)
-* Contribution policy
-* GitHub repository hosting
-* Conduct guidelines
-* Maintaining the list of additional Collaborators
-
-For the current list of WG members, see the project
-[README.md](./README.md#current-project-team-members).
-
-### Collaborators
-
-The readable-stream GitHub repository is
-maintained by the WG and additional Collaborators who are added by the
-WG on an ongoing basis.
-
-Individuals making significant and valuable contributions are made
-Collaborators and given commit-access to the project. These
-individuals are identified by the WG and their addition as
-Collaborators is discussed during the WG meeting.
-
-_Note:_ If you make a significant contribution and are not considered
-for commit-access log an issue or contact a WG member directly and it
-will be brought up in the next WG meeting.
-
-Modifications of the contents of the readable-stream repository are
-made on
-a collaborative basis. Anybody with a GitHub account may propose a
-modification via pull request and it will be considered by the project
-Collaborators. All pull requests must be reviewed and accepted by a
-Collaborator with sufficient expertise who is able to take full
-responsibility for the change. In the case of pull requests proposed
-by an existing Collaborator, an additional Collaborator is required
-for sign-off. Consensus should be sought if additional Collaborators
-participate and there is disagreement around a particular
-modification. See _Consensus Seeking Process_ below for further detail
-on the consensus model used for governance.
-
-Collaborators may opt to elevate significant or controversial
-modifications, or modifications that have not found consensus to the
-WG for discussion by assigning the ***WG-agenda*** tag to a pull
-request or issue. The WG should serve as the final arbiter where
-required.
-
-For the current list of Collaborators, see the project
-[README.md](./README.md#members).
-
-### WG Membership
-
-WG seats are not time-limited. There is no fixed size of the WG.
-However, the expected target is between 6 and 12, to ensure adequate
-coverage of important areas of expertise, balanced with the ability to
-make decisions efficiently.
-
-There is no specific set of requirements or qualifications for WG
-membership beyond these rules.
-
-The WG may add additional members to the WG by unanimous consensus.
-
-A WG member may be removed from the WG by voluntary resignation, or by
-unanimous consensus of all other WG members.
-
-Changes to WG membership should be posted in the agenda, and may be
-suggested as any other agenda item (see "WG Meetings" below).
-
-If an addition or removal is proposed during a meeting, and the full
-WG is not in attendance to participate, then the addition or removal
-is added to the agenda for the subsequent meeting. This is to ensure
-that all members are given the opportunity to participate in all
-membership decisions. If a WG member is unable to attend a meeting
-where a planned membership decision is being made, then their consent
-is assumed.
-
-No more than 1/3 of the WG members may be affiliated with the same
-employer. If removal or resignation of a WG member, or a change of
-employment by a WG member, creates a situation where more than 1/3 of
-the WG membership shares an employer, then the situation must be
-immediately remedied by the resignation or removal of one or more WG
-members affiliated with the over-represented employer(s).
-
-### WG Meetings
-
-The WG meets occasionally on a Google Hangout On Air. A designated moderator
-approved by the WG runs the meeting. Each meeting should be
-published to YouTube.
-
-Items are added to the WG agenda that are considered contentious or
-are modifications of governance, contribution policy, WG membership,
-or release process.
-
-The intention of the agenda is not to approve or review all patches;
-that should happen continuously on GitHub and be handled by the larger
-group of Collaborators.
-
-Any community member or contributor can ask that something be added to
-the next meeting's agenda by logging a GitHub Issue. Any Collaborator,
-WG member or the moderator can add the item to the agenda by adding
-the ***WG-agenda*** tag to the issue.
-
-Prior to each WG meeting the moderator will share the Agenda with
-members of the WG. WG members can add any items they like to the
-agenda at the beginning of each meeting. The moderator and the WG
-cannot veto or remove items.
-
-The WG may invite persons or representatives from certain projects to
-participate in a non-voting capacity.
-
-The moderator is responsible for summarizing the discussion of each
-agenda item and sends it as a pull request after the meeting.
-
-### Consensus Seeking Process
-
-The WG follows a
-[Consensus
-Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making)
-decision-making model.
-
-When an agenda item has appeared to reach a consensus the moderator
-will ask "Does anyone object?" as a final call for dissent from the
-consensus.
-
-If an agenda item cannot reach a consensus a WG member can call for
-either a closing vote or a vote to table the issue to the next
-meeting. The call for a vote must be seconded by a majority of the WG
-or else the discussion will continue. Simple majority wins.
-
-Note that changes to WG membership require a majority consensus. See
-"WG Membership" above.
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/LICENSE b/includes/search/node_modules/multistream/node_modules/readable-stream/LICENSE
deleted file mode 100644
index 2873b3b..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Node.js is licensed for use as follows:
-
-"""
-Copyright Node.js contributors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
-
-This license applies to parts of Node.js originating from the
-https://github.com/joyent/node repository:
-
-"""
-Copyright Joyent, Inc. and other Node contributors. All rights reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/README.md b/includes/search/node_modules/multistream/node_modules/readable-stream/README.md
deleted file mode 100644
index 19117c1..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/README.md
+++ /dev/null
@@ -1,106 +0,0 @@
-# readable-stream
-
-***Node.js core streams for userland*** [![Build Status](https://travis-ci.com/nodejs/readable-stream.svg?branch=master)](https://travis-ci.com/nodejs/readable-stream)
-
-
-[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)
-[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)
-
-
-[![Sauce Test Status](https://saucelabs.com/browser-matrix/readabe-stream.svg)](https://saucelabs.com/u/readabe-stream)
-
-```bash
-npm install --save readable-stream
-```
-
-This package is a mirror of the streams implementations in Node.js.
-
-Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.18.1/docs/api/stream.html).
-
-If you want to guarantee a stable streams base, regardless of what version of
-Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).
-
-As of version 2.0.0 **readable-stream** uses semantic versioning.
-
-## Version 3.x.x
-
-v3.x.x of `readable-stream` is a cut from Node 10. This version supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in [Node v9](https://nodejs.org/en/blog/release/v9.0.0/) and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows:
-
-1. Error codes: https://github.com/nodejs/node/pull/13310,
- https://github.com/nodejs/node/pull/13291,
- https://github.com/nodejs/node/pull/16589,
- https://github.com/nodejs/node/pull/15042,
- https://github.com/nodejs/node/pull/15665,
- https://github.com/nodejs/readable-stream/pull/344
-2. 'readable' have precedence over flowing
- https://github.com/nodejs/node/pull/18994
-3. make virtual methods errors consistent
- https://github.com/nodejs/node/pull/18813
-4. updated streams error handling
- https://github.com/nodejs/node/pull/18438
-5. writable.end should return this.
- https://github.com/nodejs/node/pull/18780
-6. readable continues to read when push('')
- https://github.com/nodejs/node/pull/18211
-7. add custom inspect to BufferList
- https://github.com/nodejs/node/pull/17907
-8. always defer 'readable' with nextTick
- https://github.com/nodejs/node/pull/17979
-
-## Version 2.x.x
-v2.x.x of `readable-stream` is a cut of the stream module from Node 8 (there have been no semver-major changes from Node 4 to 8). This version supports all Node.js versions from 0.8, as well as evergreen browsers and IE 10 & 11.
-
-### Big Thanks
-
-Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][sauce]
-
-# Usage
-
-You can swap your `require('stream')` with `require('readable-stream')`
-without any changes, if you are just using one of the main classes and
-functions.
-
-```js
-const {
- Readable,
- Writable,
- Transform,
- Duplex,
- pipeline,
- finished
-} = require('readable-stream')
-````
-
-Note that `require('stream')` will return `Stream`, while
-`require('readable-stream')` will return `Readable`. We discourage using
-whatever is exported directly, but rather use one of the properties as
-shown in the example above.
-
-# Streams Working Group
-
-`readable-stream` is maintained by the Streams Working Group, which
-oversees the development and maintenance of the Streams API within
-Node.js. The responsibilities of the Streams Working Group include:
-
-* Addressing stream issues on the Node.js issue tracker.
-* Authoring and editing stream documentation within the Node.js project.
-* Reviewing changes to stream subclasses within the Node.js project.
-* Redirecting changes to streams from the Node.js project to this
- project.
-* Assisting in the implementation of stream providers within Node.js.
-* Recommending versions of `readable-stream` to be included in Node.js.
-* Messaging about the future of streams to give the community advance
- notice of changes.
-
-<a name="members"></a>
-## Team Members
-
-* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) &lt;calvin.metcalf@gmail.com&gt;
- - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242
-* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;mathiasbuus@gmail.com&gt;
-* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) &lt;matteo.collina@gmail.com&gt;
- - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E
-* **Irina Shestak** ([@lrlna](https://github.com/lrlna)) &lt;shestak.irina@gmail.com&gt;
-* **Yoshua Wyuts** ([@yoshuawuyts](https://github.com/yoshuawuyts)) &lt;yoshuawuyts@gmail.com&gt;
-
-[sauce]: https://saucelabs.com
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/errors-browser.js b/includes/search/node_modules/multistream/node_modules/readable-stream/errors-browser.js
deleted file mode 100644
index fb8e73e..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/errors-browser.js
+++ /dev/null
@@ -1,127 +0,0 @@
-'use strict';
-
-function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
-
-var codes = {};
-
-function createErrorType(code, message, Base) {
- if (!Base) {
- Base = Error;
- }
-
- function getMessage(arg1, arg2, arg3) {
- if (typeof message === 'string') {
- return message;
- } else {
- return message(arg1, arg2, arg3);
- }
- }
-
- var NodeError =
- /*#__PURE__*/
- function (_Base) {
- _inheritsLoose(NodeError, _Base);
-
- function NodeError(arg1, arg2, arg3) {
- return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;
- }
-
- return NodeError;
- }(Base);
-
- NodeError.prototype.name = Base.name;
- NodeError.prototype.code = code;
- codes[code] = NodeError;
-} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
-
-
-function oneOf(expected, thing) {
- if (Array.isArray(expected)) {
- var len = expected.length;
- expected = expected.map(function (i) {
- return String(i);
- });
-
- if (len > 2) {
- return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(', '), ", or ") + expected[len - 1];
- } else if (len === 2) {
- return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);
- } else {
- return "of ".concat(thing, " ").concat(expected[0]);
- }
- } else {
- return "of ".concat(thing, " ").concat(String(expected));
- }
-} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
-
-
-function startsWith(str, search, pos) {
- return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
-} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
-
-
-function endsWith(str, search, this_len) {
- if (this_len === undefined || this_len > str.length) {
- this_len = str.length;
- }
-
- return str.substring(this_len - search.length, this_len) === search;
-} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
-
-
-function includes(str, search, start) {
- if (typeof start !== 'number') {
- start = 0;
- }
-
- if (start + search.length > str.length) {
- return false;
- } else {
- return str.indexOf(search, start) !== -1;
- }
-}
-
-createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {
- return 'The value "' + value + '" is invalid for option "' + name + '"';
-}, TypeError);
-createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {
- // determiner: 'must be' or 'must not be'
- var determiner;
-
- if (typeof expected === 'string' && startsWith(expected, 'not ')) {
- determiner = 'must not be';
- expected = expected.replace(/^not /, '');
- } else {
- determiner = 'must be';
- }
-
- var msg;
-
- if (endsWith(name, ' argument')) {
- // For cases like 'first argument'
- msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, 'type'));
- } else {
- var type = includes(name, '.') ? 'property' : 'argument';
- msg = "The \"".concat(name, "\" ").concat(type, " ").concat(determiner, " ").concat(oneOf(expected, 'type'));
- }
-
- msg += ". Received type ".concat(typeof actual);
- return msg;
-}, TypeError);
-createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');
-createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {
- return 'The ' + name + ' method is not implemented';
-});
-createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');
-createErrorType('ERR_STREAM_DESTROYED', function (name) {
- return 'Cannot call ' + name + ' after a stream was destroyed';
-});
-createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');
-createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');
-createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');
-createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);
-createErrorType('ERR_UNKNOWN_ENCODING', function (arg) {
- return 'Unknown encoding: ' + arg;
-}, TypeError);
-createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');
-module.exports.codes = codes;
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/errors.js b/includes/search/node_modules/multistream/node_modules/readable-stream/errors.js
deleted file mode 100644
index 8471526..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/errors.js
+++ /dev/null
@@ -1,116 +0,0 @@
-'use strict';
-
-const codes = {};
-
-function createErrorType(code, message, Base) {
- if (!Base) {
- Base = Error
- }
-
- function getMessage (arg1, arg2, arg3) {
- if (typeof message === 'string') {
- return message
- } else {
- return message(arg1, arg2, arg3)
- }
- }
-
- class NodeError extends Base {
- constructor (arg1, arg2, arg3) {
- super(getMessage(arg1, arg2, arg3));
- }
- }
-
- NodeError.prototype.name = Base.name;
- NodeError.prototype.code = code;
-
- codes[code] = NodeError;
-}
-
-// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
-function oneOf(expected, thing) {
- if (Array.isArray(expected)) {
- const len = expected.length;
- expected = expected.map((i) => String(i));
- if (len > 2) {
- return `one of ${thing} ${expected.slice(0, len - 1).join(', ')}, or ` +
- expected[len - 1];
- } else if (len === 2) {
- return `one of ${thing} ${expected[0]} or ${expected[1]}`;
- } else {
- return `of ${thing} ${expected[0]}`;
- }
- } else {
- return `of ${thing} ${String(expected)}`;
- }
-}
-
-// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
-function startsWith(str, search, pos) {
- return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
-}
-
-// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
-function endsWith(str, search, this_len) {
- if (this_len === undefined || this_len > str.length) {
- this_len = str.length;
- }
- return str.substring(this_len - search.length, this_len) === search;
-}
-
-// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
-function includes(str, search, start) {
- if (typeof start !== 'number') {
- start = 0;
- }
-
- if (start + search.length > str.length) {
- return false;
- } else {
- return str.indexOf(search, start) !== -1;
- }
-}
-
-createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {
- return 'The value "' + value + '" is invalid for option "' + name + '"'
-}, TypeError);
-createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {
- // determiner: 'must be' or 'must not be'
- let determiner;
- if (typeof expected === 'string' && startsWith(expected, 'not ')) {
- determiner = 'must not be';
- expected = expected.replace(/^not /, '');
- } else {
- determiner = 'must be';
- }
-
- let msg;
- if (endsWith(name, ' argument')) {
- // For cases like 'first argument'
- msg = `The ${name} ${determiner} ${oneOf(expected, 'type')}`;
- } else {
- const type = includes(name, '.') ? 'property' : 'argument';
- msg = `The "${name}" ${type} ${determiner} ${oneOf(expected, 'type')}`;
- }
-
- msg += `. Received type ${typeof actual}`;
- return msg;
-}, TypeError);
-createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');
-createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {
- return 'The ' + name + ' method is not implemented'
-});
-createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');
-createErrorType('ERR_STREAM_DESTROYED', function (name) {
- return 'Cannot call ' + name + ' after a stream was destroyed';
-});
-createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');
-createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');
-createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');
-createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);
-createErrorType('ERR_UNKNOWN_ENCODING', function (arg) {
- return 'Unknown encoding: ' + arg
-}, TypeError);
-createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');
-
-module.exports.codes = codes;
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/experimentalWarning.js b/includes/search/node_modules/multistream/node_modules/readable-stream/experimentalWarning.js
deleted file mode 100644
index 78e8414..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/experimentalWarning.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict'
-
-var experimentalWarnings = new Set();
-
-function emitExperimentalWarning(feature) {
- if (experimentalWarnings.has(feature)) return;
- var msg = feature + ' is an experimental feature. This feature could ' +
- 'change at any time';
- experimentalWarnings.add(feature);
- process.emitWarning(msg, 'ExperimentalWarning');
-}
-
-function noop() {}
-
-module.exports.emitExperimentalWarning = process.emitWarning
- ? emitExperimentalWarning
- : noop;
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_duplex.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_duplex.js
deleted file mode 100644
index 19abfa6..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_duplex.js
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a duplex stream is just a stream that is both readable and writable.
-// Since JS doesn't have multiple prototypal inheritance, this class
-// prototypally inherits from Readable, and then parasitically from
-// Writable.
-
-'use strict';
-
-/*<replacement>*/
-var objectKeys = Object.keys || function (obj) {
- var keys = [];
- for (var key in obj) keys.push(key);
- return keys;
-};
-/*</replacement>*/
-
-module.exports = Duplex;
-var Readable = require('./_stream_readable');
-var Writable = require('./_stream_writable');
-require('inherits')(Duplex, Readable);
-{
- // Allow the keys array to be GC'ed.
- var keys = objectKeys(Writable.prototype);
- for (var v = 0; v < keys.length; v++) {
- var method = keys[v];
- if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
- }
-}
-function Duplex(options) {
- if (!(this instanceof Duplex)) return new Duplex(options);
- Readable.call(this, options);
- Writable.call(this, options);
- this.allowHalfOpen = true;
- if (options) {
- if (options.readable === false) this.readable = false;
- if (options.writable === false) this.writable = false;
- if (options.allowHalfOpen === false) {
- this.allowHalfOpen = false;
- this.once('end', onend);
- }
- }
-}
-Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.highWaterMark;
- }
-});
-Object.defineProperty(Duplex.prototype, 'writableBuffer', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState && this._writableState.getBuffer();
- }
-});
-Object.defineProperty(Duplex.prototype, 'writableLength', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.length;
- }
-});
-
-// the no-half-open enforcer
-function onend() {
- // If the writable side ended, then we're ok.
- if (this._writableState.ended) return;
-
- // no more data can be written.
- // But allow more writes to happen in this tick.
- process.nextTick(onEndNT, this);
-}
-function onEndNT(self) {
- self.end();
-}
-Object.defineProperty(Duplex.prototype, 'destroyed', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- if (this._readableState === undefined || this._writableState === undefined) {
- return false;
- }
- return this._readableState.destroyed && this._writableState.destroyed;
- },
- set: function set(value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (this._readableState === undefined || this._writableState === undefined) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- this._writableState.destroyed = value;
- }
-}); \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_passthrough.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_passthrough.js
deleted file mode 100644
index 24a6bdd..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_passthrough.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a passthrough stream.
-// basically just the most minimal sort of Transform stream.
-// Every written chunk gets output as-is.
-
-'use strict';
-
-module.exports = PassThrough;
-var Transform = require('./_stream_transform');
-require('inherits')(PassThrough, Transform);
-function PassThrough(options) {
- if (!(this instanceof PassThrough)) return new PassThrough(options);
- Transform.call(this, options);
-}
-PassThrough.prototype._transform = function (chunk, encoding, cb) {
- cb(null, chunk);
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_readable.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_readable.js
deleted file mode 100644
index df1f608..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_readable.js
+++ /dev/null
@@ -1,1027 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-'use strict';
-
-module.exports = Readable;
-
-/*<replacement>*/
-var Duplex;
-/*</replacement>*/
-
-Readable.ReadableState = ReadableState;
-
-/*<replacement>*/
-var EE = require('events').EventEmitter;
-var EElistenerCount = function EElistenerCount(emitter, type) {
- return emitter.listeners(type).length;
-};
-/*</replacement>*/
-
-/*<replacement>*/
-var Stream = require('./internal/streams/stream');
-/*</replacement>*/
-
-var Buffer = require('buffer').Buffer;
-var OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};
-function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
-}
-function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
-}
-
-/*<replacement>*/
-var debugUtil = require('util');
-var debug;
-if (debugUtil && debugUtil.debuglog) {
- debug = debugUtil.debuglog('stream');
-} else {
- debug = function debug() {};
-}
-/*</replacement>*/
-
-var BufferList = require('./internal/streams/buffer_list');
-var destroyImpl = require('./internal/streams/destroy');
-var _require = require('./internal/streams/state'),
- getHighWaterMark = _require.getHighWaterMark;
-var _require$codes = require('../errors').codes,
- ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,
- ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,
- ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,
- ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;
-
-// Lazy loaded to improve the startup performance.
-var StringDecoder;
-var createReadableStreamAsyncIterator;
-var from;
-require('inherits')(Readable, Stream);
-var errorOrDestroy = destroyImpl.errorOrDestroy;
-var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];
-function prependListener(emitter, event, fn) {
- // Sadly this is not cacheable as some libraries bundle their own
- // event emitter implementation with them.
- if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);
-
- // This is a hack to make sure that our error handler is attached before any
- // userland ones. NEVER DO THIS. This is here only because this code needs
- // to continue to work with older versions of Node.js that do not include
- // the prependListener() method. The goal is to eventually remove this hack.
- if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];
-}
-function ReadableState(options, stream, isDuplex) {
- Duplex = Duplex || require('./_stream_duplex');
- options = options || {};
-
- // Duplex streams are both readable and writable, but share
- // the same options object.
- // However, some cases require setting options to different
- // values for the readable and the writable sides of the duplex stream.
- // These options can be provided separately as readableXXX and writableXXX.
- if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;
-
- // object stream flag. Used to make read(n) ignore n and to
- // make all the buffer merging and length checks go away
- this.objectMode = !!options.objectMode;
- if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-
- // the point at which it stops calling _read() to fill the buffer
- // Note: 0 is a valid value, means "don't call _read preemptively ever"
- this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);
-
- // A linked list is used to store data chunks instead of an array because the
- // linked list can remove elements from the beginning faster than
- // array.shift()
- this.buffer = new BufferList();
- this.length = 0;
- this.pipes = null;
- this.pipesCount = 0;
- this.flowing = null;
- this.ended = false;
- this.endEmitted = false;
- this.reading = false;
-
- // a flag to be able to tell if the event 'readable'/'data' is emitted
- // immediately, or on a later tick. We set this to true at first, because
- // any actions that shouldn't happen until "later" should generally also
- // not happen before the first read call.
- this.sync = true;
-
- // whenever we return null, then we set a flag to say
- // that we're awaiting a 'readable' event emission.
- this.needReadable = false;
- this.emittedReadable = false;
- this.readableListening = false;
- this.resumeScheduled = false;
- this.paused = true;
-
- // Should close be emitted on destroy. Defaults to true.
- this.emitClose = options.emitClose !== false;
-
- // Should .destroy() be called after 'end' (and potentially 'finish')
- this.autoDestroy = !!options.autoDestroy;
-
- // has it been destroyed
- this.destroyed = false;
-
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || 'utf8';
-
- // the number of writers that are awaiting a drain event in .pipe()s
- this.awaitDrain = 0;
-
- // if true, a maybeReadMore has been scheduled
- this.readingMore = false;
- this.decoder = null;
- this.encoding = null;
- if (options.encoding) {
- if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
- this.decoder = new StringDecoder(options.encoding);
- this.encoding = options.encoding;
- }
-}
-function Readable(options) {
- Duplex = Duplex || require('./_stream_duplex');
- if (!(this instanceof Readable)) return new Readable(options);
-
- // Checking for a Stream.Duplex instance is faster here instead of inside
- // the ReadableState constructor, at least with V8 6.5
- var isDuplex = this instanceof Duplex;
- this._readableState = new ReadableState(options, this, isDuplex);
-
- // legacy
- this.readable = true;
- if (options) {
- if (typeof options.read === 'function') this._read = options.read;
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
- }
- Stream.call(this);
-}
-Object.defineProperty(Readable.prototype, 'destroyed', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- if (this._readableState === undefined) {
- return false;
- }
- return this._readableState.destroyed;
- },
- set: function set(value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._readableState) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- }
-});
-Readable.prototype.destroy = destroyImpl.destroy;
-Readable.prototype._undestroy = destroyImpl.undestroy;
-Readable.prototype._destroy = function (err, cb) {
- cb(err);
-};
-
-// Manually shove something into the read() buffer.
-// This returns true if the highWaterMark has not been hit yet,
-// similar to how Writable.write() returns true if you should
-// write() some more.
-Readable.prototype.push = function (chunk, encoding) {
- var state = this._readableState;
- var skipChunkCheck;
- if (!state.objectMode) {
- if (typeof chunk === 'string') {
- encoding = encoding || state.defaultEncoding;
- if (encoding !== state.encoding) {
- chunk = Buffer.from(chunk, encoding);
- encoding = '';
- }
- skipChunkCheck = true;
- }
- } else {
- skipChunkCheck = true;
- }
- return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
-};
-
-// Unshift should *always* be something directly out of read()
-Readable.prototype.unshift = function (chunk) {
- return readableAddChunk(this, chunk, null, true, false);
-};
-function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
- debug('readableAddChunk', chunk);
- var state = stream._readableState;
- if (chunk === null) {
- state.reading = false;
- onEofChunk(stream, state);
- } else {
- var er;
- if (!skipChunkCheck) er = chunkInvalid(state, chunk);
- if (er) {
- errorOrDestroy(stream, er);
- } else if (state.objectMode || chunk && chunk.length > 0) {
- if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
- if (addToFront) {
- if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);
- } else if (state.ended) {
- errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
- } else if (state.destroyed) {
- return false;
- } else {
- state.reading = false;
- if (state.decoder && !encoding) {
- chunk = state.decoder.write(chunk);
- if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);
- } else {
- addChunk(stream, state, chunk, false);
- }
- }
- } else if (!addToFront) {
- state.reading = false;
- maybeReadMore(stream, state);
- }
- }
-
- // We can push more data if we are below the highWaterMark.
- // Also, if we have no data yet, we can stand some more bytes.
- // This is to work around cases where hwm=0, such as the repl.
- return !state.ended && (state.length < state.highWaterMark || state.length === 0);
-}
-function addChunk(stream, state, chunk, addToFront) {
- if (state.flowing && state.length === 0 && !state.sync) {
- state.awaitDrain = 0;
- stream.emit('data', chunk);
- } else {
- // update the buffer info.
- state.length += state.objectMode ? 1 : chunk.length;
- if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);
- if (state.needReadable) emitReadable(stream);
- }
- maybeReadMore(stream, state);
-}
-function chunkInvalid(state, chunk) {
- var er;
- if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
- er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);
- }
- return er;
-}
-Readable.prototype.isPaused = function () {
- return this._readableState.flowing === false;
-};
-
-// backwards compatibility.
-Readable.prototype.setEncoding = function (enc) {
- if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
- var decoder = new StringDecoder(enc);
- this._readableState.decoder = decoder;
- // If setEncoding(null), decoder.encoding equals utf8
- this._readableState.encoding = this._readableState.decoder.encoding;
-
- // Iterate over current buffer to convert already stored Buffers:
- var p = this._readableState.buffer.head;
- var content = '';
- while (p !== null) {
- content += decoder.write(p.data);
- p = p.next;
- }
- this._readableState.buffer.clear();
- if (content !== '') this._readableState.buffer.push(content);
- this._readableState.length = content.length;
- return this;
-};
-
-// Don't raise the hwm > 1GB
-var MAX_HWM = 0x40000000;
-function computeNewHighWaterMark(n) {
- if (n >= MAX_HWM) {
- // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.
- n = MAX_HWM;
- } else {
- // Get the next highest power of 2 to prevent increasing hwm excessively in
- // tiny amounts
- n--;
- n |= n >>> 1;
- n |= n >>> 2;
- n |= n >>> 4;
- n |= n >>> 8;
- n |= n >>> 16;
- n++;
- }
- return n;
-}
-
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function howMuchToRead(n, state) {
- if (n <= 0 || state.length === 0 && state.ended) return 0;
- if (state.objectMode) return 1;
- if (n !== n) {
- // Only flow one buffer at a time
- if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;
- }
- // If we're asking for more than the current hwm, then raise the hwm.
- if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
- if (n <= state.length) return n;
- // Don't have enough
- if (!state.ended) {
- state.needReadable = true;
- return 0;
- }
- return state.length;
-}
-
-// you can override either this method, or the async _read(n) below.
-Readable.prototype.read = function (n) {
- debug('read', n);
- n = parseInt(n, 10);
- var state = this._readableState;
- var nOrig = n;
- if (n !== 0) state.emittedReadable = false;
-
- // if we're doing read(0) to trigger a readable event, but we
- // already have a bunch of data in the buffer, then just trigger
- // the 'readable' event and move on.
- if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
- debug('read: emitReadable', state.length, state.ended);
- if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);
- return null;
- }
- n = howMuchToRead(n, state);
-
- // if we've ended, and we're now clear, then finish it up.
- if (n === 0 && state.ended) {
- if (state.length === 0) endReadable(this);
- return null;
- }
-
- // All the actual chunk generation logic needs to be
- // *below* the call to _read. The reason is that in certain
- // synthetic stream cases, such as passthrough streams, _read
- // may be a completely synchronous operation which may change
- // the state of the read buffer, providing enough data when
- // before there was *not* enough.
- //
- // So, the steps are:
- // 1. Figure out what the state of things will be after we do
- // a read from the buffer.
- //
- // 2. If that resulting state will trigger a _read, then call _read.
- // Note that this may be asynchronous, or synchronous. Yes, it is
- // deeply ugly to write APIs this way, but that still doesn't mean
- // that the Readable class should behave improperly, as streams are
- // designed to be sync/async agnostic.
- // Take note if the _read call is sync or async (ie, if the read call
- // has returned yet), so that we know whether or not it's safe to emit
- // 'readable' etc.
- //
- // 3. Actually pull the requested chunks out of the buffer and return.
-
- // if we need a readable event, then we need to do some reading.
- var doRead = state.needReadable;
- debug('need readable', doRead);
-
- // if we currently have less than the highWaterMark, then also read some
- if (state.length === 0 || state.length - n < state.highWaterMark) {
- doRead = true;
- debug('length less than watermark', doRead);
- }
-
- // however, if we've ended, then there's no point, and if we're already
- // reading, then it's unnecessary.
- if (state.ended || state.reading) {
- doRead = false;
- debug('reading or ended', doRead);
- } else if (doRead) {
- debug('do read');
- state.reading = true;
- state.sync = true;
- // if the length is currently zero, then we *need* a readable event.
- if (state.length === 0) state.needReadable = true;
- // call internal read method
- this._read(state.highWaterMark);
- state.sync = false;
- // If _read pushed data synchronously, then `reading` will be false,
- // and we need to re-evaluate how much data we can return to the user.
- if (!state.reading) n = howMuchToRead(nOrig, state);
- }
- var ret;
- if (n > 0) ret = fromList(n, state);else ret = null;
- if (ret === null) {
- state.needReadable = state.length <= state.highWaterMark;
- n = 0;
- } else {
- state.length -= n;
- state.awaitDrain = 0;
- }
- if (state.length === 0) {
- // If we have nothing in the buffer, then we want to know
- // as soon as we *do* get something into the buffer.
- if (!state.ended) state.needReadable = true;
-
- // If we tried to read() past the EOF, then emit end on the next tick.
- if (nOrig !== n && state.ended) endReadable(this);
- }
- if (ret !== null) this.emit('data', ret);
- return ret;
-};
-function onEofChunk(stream, state) {
- debug('onEofChunk');
- if (state.ended) return;
- if (state.decoder) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) {
- state.buffer.push(chunk);
- state.length += state.objectMode ? 1 : chunk.length;
- }
- }
- state.ended = true;
- if (state.sync) {
- // if we are sync, wait until next tick to emit the data.
- // Otherwise we risk emitting data in the flow()
- // the readable code triggers during a read() call
- emitReadable(stream);
- } else {
- // emit 'readable' now to make sure it gets picked up.
- state.needReadable = false;
- if (!state.emittedReadable) {
- state.emittedReadable = true;
- emitReadable_(stream);
- }
- }
-}
-
-// Don't emit readable right away in sync mode, because this can trigger
-// another read() call => stack overflow. This way, it might trigger
-// a nextTick recursion warning, but that's not so bad.
-function emitReadable(stream) {
- var state = stream._readableState;
- debug('emitReadable', state.needReadable, state.emittedReadable);
- state.needReadable = false;
- if (!state.emittedReadable) {
- debug('emitReadable', state.flowing);
- state.emittedReadable = true;
- process.nextTick(emitReadable_, stream);
- }
-}
-function emitReadable_(stream) {
- var state = stream._readableState;
- debug('emitReadable_', state.destroyed, state.length, state.ended);
- if (!state.destroyed && (state.length || state.ended)) {
- stream.emit('readable');
- state.emittedReadable = false;
- }
-
- // The stream needs another readable event if
- // 1. It is not flowing, as the flow mechanism will take
- // care of it.
- // 2. It is not ended.
- // 3. It is below the highWaterMark, so we can schedule
- // another readable later.
- state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
- flow(stream);
-}
-
-// at this point, the user has presumably seen the 'readable' event,
-// and called read() to consume some data. that may have triggered
-// in turn another _read(n) call, in which case reading = true if
-// it's in progress.
-// However, if we're not ended, or reading, and the length < hwm,
-// then go ahead and try to read some more preemptively.
-function maybeReadMore(stream, state) {
- if (!state.readingMore) {
- state.readingMore = true;
- process.nextTick(maybeReadMore_, stream, state);
- }
-}
-function maybeReadMore_(stream, state) {
- // Attempt to read more data if we should.
- //
- // The conditions for reading more data are (one of):
- // - Not enough data buffered (state.length < state.highWaterMark). The loop
- // is responsible for filling the buffer with enough data if such data
- // is available. If highWaterMark is 0 and we are not in the flowing mode
- // we should _not_ attempt to buffer any extra data. We'll get more data
- // when the stream consumer calls read() instead.
- // - No data in the buffer, and the stream is in flowing mode. In this mode
- // the loop below is responsible for ensuring read() is called. Failing to
- // call read here would abort the flow and there's no other mechanism for
- // continuing the flow if the stream consumer has just subscribed to the
- // 'data' event.
- //
- // In addition to the above conditions to keep reading data, the following
- // conditions prevent the data from being read:
- // - The stream has ended (state.ended).
- // - There is already a pending 'read' operation (state.reading). This is a
- // case where the the stream has called the implementation defined _read()
- // method, but they are processing the call asynchronously and have _not_
- // called push() with new data. In this case we skip performing more
- // read()s. The execution ends in this method again after the _read() ends
- // up calling push() with more data.
- while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
- var len = state.length;
- debug('maybeReadMore read 0');
- stream.read(0);
- if (len === state.length)
- // didn't get any data, stop spinning.
- break;
- }
- state.readingMore = false;
-}
-
-// abstract method. to be overridden in specific implementation classes.
-// call cb(er, data) where data is <= n in length.
-// for virtual (non-string, non-buffer) streams, "length" is somewhat
-// arbitrary, and perhaps not very meaningful.
-Readable.prototype._read = function (n) {
- errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));
-};
-Readable.prototype.pipe = function (dest, pipeOpts) {
- var src = this;
- var state = this._readableState;
- switch (state.pipesCount) {
- case 0:
- state.pipes = dest;
- break;
- case 1:
- state.pipes = [state.pipes, dest];
- break;
- default:
- state.pipes.push(dest);
- break;
- }
- state.pipesCount += 1;
- debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
- var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
- var endFn = doEnd ? onend : unpipe;
- if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);
- dest.on('unpipe', onunpipe);
- function onunpipe(readable, unpipeInfo) {
- debug('onunpipe');
- if (readable === src) {
- if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
- unpipeInfo.hasUnpiped = true;
- cleanup();
- }
- }
- }
- function onend() {
- debug('onend');
- dest.end();
- }
-
- // when the dest drains, it reduces the awaitDrain counter
- // on the source. This would be more elegant with a .once()
- // handler in flow(), but adding and removing repeatedly is
- // too slow.
- var ondrain = pipeOnDrain(src);
- dest.on('drain', ondrain);
- var cleanedUp = false;
- function cleanup() {
- debug('cleanup');
- // cleanup event handlers once the pipe is broken
- dest.removeListener('close', onclose);
- dest.removeListener('finish', onfinish);
- dest.removeListener('drain', ondrain);
- dest.removeListener('error', onerror);
- dest.removeListener('unpipe', onunpipe);
- src.removeListener('end', onend);
- src.removeListener('end', unpipe);
- src.removeListener('data', ondata);
- cleanedUp = true;
-
- // if the reader is waiting for a drain event from this
- // specific writer, then it would cause it to never start
- // flowing again.
- // So, if this is awaiting a drain, then we just call it now.
- // If we don't know, then assume that we are waiting for one.
- if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
- }
- src.on('data', ondata);
- function ondata(chunk) {
- debug('ondata');
- var ret = dest.write(chunk);
- debug('dest.write', ret);
- if (ret === false) {
- // If the user unpiped during `dest.write()`, it is possible
- // to get stuck in a permanently paused state if that write
- // also returned false.
- // => Check whether `dest` is still a piping destination.
- if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
- debug('false write response, pause', state.awaitDrain);
- state.awaitDrain++;
- }
- src.pause();
- }
- }
-
- // if the dest has an error, then stop piping into it.
- // however, don't suppress the throwing behavior for this.
- function onerror(er) {
- debug('onerror', er);
- unpipe();
- dest.removeListener('error', onerror);
- if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);
- }
-
- // Make sure our error handler is attached before userland ones.
- prependListener(dest, 'error', onerror);
-
- // Both close and finish should trigger unpipe, but only once.
- function onclose() {
- dest.removeListener('finish', onfinish);
- unpipe();
- }
- dest.once('close', onclose);
- function onfinish() {
- debug('onfinish');
- dest.removeListener('close', onclose);
- unpipe();
- }
- dest.once('finish', onfinish);
- function unpipe() {
- debug('unpipe');
- src.unpipe(dest);
- }
-
- // tell the dest that it's being piped to
- dest.emit('pipe', src);
-
- // start the flow if it hasn't been started already.
- if (!state.flowing) {
- debug('pipe resume');
- src.resume();
- }
- return dest;
-};
-function pipeOnDrain(src) {
- return function pipeOnDrainFunctionResult() {
- var state = src._readableState;
- debug('pipeOnDrain', state.awaitDrain);
- if (state.awaitDrain) state.awaitDrain--;
- if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {
- state.flowing = true;
- flow(src);
- }
- };
-}
-Readable.prototype.unpipe = function (dest) {
- var state = this._readableState;
- var unpipeInfo = {
- hasUnpiped: false
- };
-
- // if we're not piping anywhere, then do nothing.
- if (state.pipesCount === 0) return this;
-
- // just one destination. most common case.
- if (state.pipesCount === 1) {
- // passed in one, but it's not the right one.
- if (dest && dest !== state.pipes) return this;
- if (!dest) dest = state.pipes;
-
- // got a match.
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
- if (dest) dest.emit('unpipe', this, unpipeInfo);
- return this;
- }
-
- // slow case. multiple pipe destinations.
-
- if (!dest) {
- // remove all.
- var dests = state.pipes;
- var len = state.pipesCount;
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
- for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {
- hasUnpiped: false
- });
- return this;
- }
-
- // try to find the right one.
- var index = indexOf(state.pipes, dest);
- if (index === -1) return this;
- state.pipes.splice(index, 1);
- state.pipesCount -= 1;
- if (state.pipesCount === 1) state.pipes = state.pipes[0];
- dest.emit('unpipe', this, unpipeInfo);
- return this;
-};
-
-// set up data events if they are asked for
-// Ensure readable listeners eventually get something
-Readable.prototype.on = function (ev, fn) {
- var res = Stream.prototype.on.call(this, ev, fn);
- var state = this._readableState;
- if (ev === 'data') {
- // update readableListening so that resume() may be a no-op
- // a few lines down. This is needed to support once('readable').
- state.readableListening = this.listenerCount('readable') > 0;
-
- // Try start flowing on next tick if stream isn't explicitly paused
- if (state.flowing !== false) this.resume();
- } else if (ev === 'readable') {
- if (!state.endEmitted && !state.readableListening) {
- state.readableListening = state.needReadable = true;
- state.flowing = false;
- state.emittedReadable = false;
- debug('on readable', state.length, state.reading);
- if (state.length) {
- emitReadable(this);
- } else if (!state.reading) {
- process.nextTick(nReadingNextTick, this);
- }
- }
- }
- return res;
-};
-Readable.prototype.addListener = Readable.prototype.on;
-Readable.prototype.removeListener = function (ev, fn) {
- var res = Stream.prototype.removeListener.call(this, ev, fn);
- if (ev === 'readable') {
- // We need to check if there is someone still listening to
- // readable and reset the state. However this needs to happen
- // after readable has been emitted but before I/O (nextTick) to
- // support once('readable', fn) cycles. This means that calling
- // resume within the same tick will have no
- // effect.
- process.nextTick(updateReadableListening, this);
- }
- return res;
-};
-Readable.prototype.removeAllListeners = function (ev) {
- var res = Stream.prototype.removeAllListeners.apply(this, arguments);
- if (ev === 'readable' || ev === undefined) {
- // We need to check if there is someone still listening to
- // readable and reset the state. However this needs to happen
- // after readable has been emitted but before I/O (nextTick) to
- // support once('readable', fn) cycles. This means that calling
- // resume within the same tick will have no
- // effect.
- process.nextTick(updateReadableListening, this);
- }
- return res;
-};
-function updateReadableListening(self) {
- var state = self._readableState;
- state.readableListening = self.listenerCount('readable') > 0;
- if (state.resumeScheduled && !state.paused) {
- // flowing needs to be set to true now, otherwise
- // the upcoming resume will not flow.
- state.flowing = true;
-
- // crude way to check if we should resume
- } else if (self.listenerCount('data') > 0) {
- self.resume();
- }
-}
-function nReadingNextTick(self) {
- debug('readable nexttick read 0');
- self.read(0);
-}
-
-// pause() and resume() are remnants of the legacy readable stream API
-// If the user uses them, then switch into old mode.
-Readable.prototype.resume = function () {
- var state = this._readableState;
- if (!state.flowing) {
- debug('resume');
- // we flow only if there is no one listening
- // for readable, but we still have to call
- // resume()
- state.flowing = !state.readableListening;
- resume(this, state);
- }
- state.paused = false;
- return this;
-};
-function resume(stream, state) {
- if (!state.resumeScheduled) {
- state.resumeScheduled = true;
- process.nextTick(resume_, stream, state);
- }
-}
-function resume_(stream, state) {
- debug('resume', state.reading);
- if (!state.reading) {
- stream.read(0);
- }
- state.resumeScheduled = false;
- stream.emit('resume');
- flow(stream);
- if (state.flowing && !state.reading) stream.read(0);
-}
-Readable.prototype.pause = function () {
- debug('call pause flowing=%j', this._readableState.flowing);
- if (this._readableState.flowing !== false) {
- debug('pause');
- this._readableState.flowing = false;
- this.emit('pause');
- }
- this._readableState.paused = true;
- return this;
-};
-function flow(stream) {
- var state = stream._readableState;
- debug('flow', state.flowing);
- while (state.flowing && stream.read() !== null);
-}
-
-// wrap an old-style stream as the async data source.
-// This is *not* part of the readable stream interface.
-// It is an ugly unfortunate mess of history.
-Readable.prototype.wrap = function (stream) {
- var _this = this;
- var state = this._readableState;
- var paused = false;
- stream.on('end', function () {
- debug('wrapped end');
- if (state.decoder && !state.ended) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) _this.push(chunk);
- }
- _this.push(null);
- });
- stream.on('data', function (chunk) {
- debug('wrapped data');
- if (state.decoder) chunk = state.decoder.write(chunk);
-
- // don't skip over falsy values in objectMode
- if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;
- var ret = _this.push(chunk);
- if (!ret) {
- paused = true;
- stream.pause();
- }
- });
-
- // proxy all the other methods.
- // important when wrapping filters and duplexes.
- for (var i in stream) {
- if (this[i] === undefined && typeof stream[i] === 'function') {
- this[i] = function methodWrap(method) {
- return function methodWrapReturnFunction() {
- return stream[method].apply(stream, arguments);
- };
- }(i);
- }
- }
-
- // proxy certain important events.
- for (var n = 0; n < kProxyEvents.length; n++) {
- stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
- }
-
- // when we try to consume some more bytes, simply unpause the
- // underlying stream.
- this._read = function (n) {
- debug('wrapped _read', n);
- if (paused) {
- paused = false;
- stream.resume();
- }
- };
- return this;
-};
-if (typeof Symbol === 'function') {
- Readable.prototype[Symbol.asyncIterator] = function () {
- if (createReadableStreamAsyncIterator === undefined) {
- createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');
- }
- return createReadableStreamAsyncIterator(this);
- };
-}
-Object.defineProperty(Readable.prototype, 'readableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState.highWaterMark;
- }
-});
-Object.defineProperty(Readable.prototype, 'readableBuffer', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState && this._readableState.buffer;
- }
-});
-Object.defineProperty(Readable.prototype, 'readableFlowing', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState.flowing;
- },
- set: function set(state) {
- if (this._readableState) {
- this._readableState.flowing = state;
- }
- }
-});
-
-// exposed for testing purposes only.
-Readable._fromList = fromList;
-Object.defineProperty(Readable.prototype, 'readableLength', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState.length;
- }
-});
-
-// Pluck off n bytes from an array of buffers.
-// Length is the combined lengths of all the buffers in the list.
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function fromList(n, state) {
- // nothing buffered
- if (state.length === 0) return null;
- var ret;
- if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {
- // read it all, truncate the list
- if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);
- state.buffer.clear();
- } else {
- // read part of list
- ret = state.buffer.consume(n, state.decoder);
- }
- return ret;
-}
-function endReadable(stream) {
- var state = stream._readableState;
- debug('endReadable', state.endEmitted);
- if (!state.endEmitted) {
- state.ended = true;
- process.nextTick(endReadableNT, state, stream);
- }
-}
-function endReadableNT(state, stream) {
- debug('endReadableNT', state.endEmitted, state.length);
-
- // Check that we didn't get one last unshift.
- if (!state.endEmitted && state.length === 0) {
- state.endEmitted = true;
- stream.readable = false;
- stream.emit('end');
- if (state.autoDestroy) {
- // In case of duplex streams we need a way to detect
- // if the writable side is ready for autoDestroy as well
- var wState = stream._writableState;
- if (!wState || wState.autoDestroy && wState.finished) {
- stream.destroy();
- }
- }
- }
-}
-if (typeof Symbol === 'function') {
- Readable.from = function (iterable, opts) {
- if (from === undefined) {
- from = require('./internal/streams/from');
- }
- return from(Readable, iterable, opts);
- };
-}
-function indexOf(xs, x) {
- for (var i = 0, l = xs.length; i < l; i++) {
- if (xs[i] === x) return i;
- }
- return -1;
-} \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_transform.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_transform.js
deleted file mode 100644
index 1ccb715..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_transform.js
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a transform stream is a readable/writable stream where you do
-// something with the data. Sometimes it's called a "filter",
-// but that's not a great name for it, since that implies a thing where
-// some bits pass through, and others are simply ignored. (That would
-// be a valid example of a transform, of course.)
-//
-// While the output is causally related to the input, it's not a
-// necessarily symmetric or synchronous transformation. For example,
-// a zlib stream might take multiple plain-text writes(), and then
-// emit a single compressed chunk some time in the future.
-//
-// Here's how this works:
-//
-// The Transform stream has all the aspects of the readable and writable
-// stream classes. When you write(chunk), that calls _write(chunk,cb)
-// internally, and returns false if there's a lot of pending writes
-// buffered up. When you call read(), that calls _read(n) until
-// there's enough pending readable data buffered up.
-//
-// In a transform stream, the written data is placed in a buffer. When
-// _read(n) is called, it transforms the queued up data, calling the
-// buffered _write cb's as it consumes chunks. If consuming a single
-// written chunk would result in multiple output chunks, then the first
-// outputted bit calls the readcb, and subsequent chunks just go into
-// the read buffer, and will cause it to emit 'readable' if necessary.
-//
-// This way, back-pressure is actually determined by the reading side,
-// since _read has to be called to start processing a new chunk. However,
-// a pathological inflate type of transform can cause excessive buffering
-// here. For example, imagine a stream where every byte of input is
-// interpreted as an integer from 0-255, and then results in that many
-// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
-// 1kb of data being output. In this case, you could write a very small
-// amount of input, and end up with a very large amount of output. In
-// such a pathological inflating mechanism, there'd be no way to tell
-// the system to stop doing the transform. A single 4MB write could
-// cause the system to run out of memory.
-//
-// However, even in such a pathological case, only a single written chunk
-// would be consumed, and then the rest would wait (un-transformed) until
-// the results of the previous transformed chunk were consumed.
-
-'use strict';
-
-module.exports = Transform;
-var _require$codes = require('../errors').codes,
- ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,
- ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,
- ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,
- ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;
-var Duplex = require('./_stream_duplex');
-require('inherits')(Transform, Duplex);
-function afterTransform(er, data) {
- var ts = this._transformState;
- ts.transforming = false;
- var cb = ts.writecb;
- if (cb === null) {
- return this.emit('error', new ERR_MULTIPLE_CALLBACK());
- }
- ts.writechunk = null;
- ts.writecb = null;
- if (data != null)
- // single equals check for both `null` and `undefined`
- this.push(data);
- cb(er);
- var rs = this._readableState;
- rs.reading = false;
- if (rs.needReadable || rs.length < rs.highWaterMark) {
- this._read(rs.highWaterMark);
- }
-}
-function Transform(options) {
- if (!(this instanceof Transform)) return new Transform(options);
- Duplex.call(this, options);
- this._transformState = {
- afterTransform: afterTransform.bind(this),
- needTransform: false,
- transforming: false,
- writecb: null,
- writechunk: null,
- writeencoding: null
- };
-
- // start out asking for a readable event once data is transformed.
- this._readableState.needReadable = true;
-
- // we have implemented the _read method, and done the other things
- // that Readable wants before the first _read call, so unset the
- // sync guard flag.
- this._readableState.sync = false;
- if (options) {
- if (typeof options.transform === 'function') this._transform = options.transform;
- if (typeof options.flush === 'function') this._flush = options.flush;
- }
-
- // When the writable side finishes, then flush out anything remaining.
- this.on('prefinish', prefinish);
-}
-function prefinish() {
- var _this = this;
- if (typeof this._flush === 'function' && !this._readableState.destroyed) {
- this._flush(function (er, data) {
- done(_this, er, data);
- });
- } else {
- done(this, null, null);
- }
-}
-Transform.prototype.push = function (chunk, encoding) {
- this._transformState.needTransform = false;
- return Duplex.prototype.push.call(this, chunk, encoding);
-};
-
-// This is the part where you do stuff!
-// override this function in implementation classes.
-// 'chunk' is an input chunk.
-//
-// Call `push(newChunk)` to pass along transformed output
-// to the readable side. You may call 'push' zero or more times.
-//
-// Call `cb(err)` when you are done with this chunk. If you pass
-// an error, then that'll put the hurt on the whole operation. If you
-// never call cb(), then you'll never get another chunk.
-Transform.prototype._transform = function (chunk, encoding, cb) {
- cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));
-};
-Transform.prototype._write = function (chunk, encoding, cb) {
- var ts = this._transformState;
- ts.writecb = cb;
- ts.writechunk = chunk;
- ts.writeencoding = encoding;
- if (!ts.transforming) {
- var rs = this._readableState;
- if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
- }
-};
-
-// Doesn't matter what the args are here.
-// _transform does all the work.
-// That we got here means that the readable side wants more data.
-Transform.prototype._read = function (n) {
- var ts = this._transformState;
- if (ts.writechunk !== null && !ts.transforming) {
- ts.transforming = true;
- this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
- } else {
- // mark that we need a transform, so that any data that comes in
- // will get processed, now that we've asked for it.
- ts.needTransform = true;
- }
-};
-Transform.prototype._destroy = function (err, cb) {
- Duplex.prototype._destroy.call(this, err, function (err2) {
- cb(err2);
- });
-};
-function done(stream, er, data) {
- if (er) return stream.emit('error', er);
- if (data != null)
- // single equals check for both `null` and `undefined`
- stream.push(data);
-
- // TODO(BridgeAR): Write a test for these two error cases
- // if there's nothing in the write buffer, then that means
- // that nothing more will ever be provided
- if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();
- if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();
- return stream.push(null);
-} \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_writable.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_writable.js
deleted file mode 100644
index 292415e..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/_stream_writable.js
+++ /dev/null
@@ -1,641 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// A bit simpler than readable streams.
-// Implement an async ._write(chunk, encoding, cb), and it'll handle all
-// the drain event emission and buffering.
-
-'use strict';
-
-module.exports = Writable;
-
-/* <replacement> */
-function WriteReq(chunk, encoding, cb) {
- this.chunk = chunk;
- this.encoding = encoding;
- this.callback = cb;
- this.next = null;
-}
-
-// It seems a linked list but it is not
-// there will be only 2 of these for each stream
-function CorkedRequest(state) {
- var _this = this;
- this.next = null;
- this.entry = null;
- this.finish = function () {
- onCorkedFinish(_this, state);
- };
-}
-/* </replacement> */
-
-/*<replacement>*/
-var Duplex;
-/*</replacement>*/
-
-Writable.WritableState = WritableState;
-
-/*<replacement>*/
-var internalUtil = {
- deprecate: require('util-deprecate')
-};
-/*</replacement>*/
-
-/*<replacement>*/
-var Stream = require('./internal/streams/stream');
-/*</replacement>*/
-
-var Buffer = require('buffer').Buffer;
-var OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};
-function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
-}
-function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
-}
-var destroyImpl = require('./internal/streams/destroy');
-var _require = require('./internal/streams/state'),
- getHighWaterMark = _require.getHighWaterMark;
-var _require$codes = require('../errors').codes,
- ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,
- ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,
- ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,
- ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,
- ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,
- ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,
- ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,
- ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;
-var errorOrDestroy = destroyImpl.errorOrDestroy;
-require('inherits')(Writable, Stream);
-function nop() {}
-function WritableState(options, stream, isDuplex) {
- Duplex = Duplex || require('./_stream_duplex');
- options = options || {};
-
- // Duplex streams are both readable and writable, but share
- // the same options object.
- // However, some cases require setting options to different
- // values for the readable and the writable sides of the duplex stream,
- // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.
- if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;
-
- // object stream flag to indicate whether or not this stream
- // contains buffers or objects.
- this.objectMode = !!options.objectMode;
- if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-
- // the point at which write() starts returning false
- // Note: 0 is a valid value, means that we always return false if
- // the entire buffer is not flushed immediately on write()
- this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);
-
- // if _final has been called
- this.finalCalled = false;
-
- // drain event flag.
- this.needDrain = false;
- // at the start of calling end()
- this.ending = false;
- // when end() has been called, and returned
- this.ended = false;
- // when 'finish' is emitted
- this.finished = false;
-
- // has it been destroyed
- this.destroyed = false;
-
- // should we decode strings into buffers before passing to _write?
- // this is here so that some node-core streams can optimize string
- // handling at a lower level.
- var noDecode = options.decodeStrings === false;
- this.decodeStrings = !noDecode;
-
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || 'utf8';
-
- // not an actual buffer we keep track of, but a measurement
- // of how much we're waiting to get pushed to some underlying
- // socket or file.
- this.length = 0;
-
- // a flag to see when we're in the middle of a write.
- this.writing = false;
-
- // when true all writes will be buffered until .uncork() call
- this.corked = 0;
-
- // a flag to be able to tell if the onwrite cb is called immediately,
- // or on a later tick. We set this to true at first, because any
- // actions that shouldn't happen until "later" should generally also
- // not happen before the first write call.
- this.sync = true;
-
- // a flag to know if we're processing previously buffered items, which
- // may call the _write() callback in the same tick, so that we don't
- // end up in an overlapped onwrite situation.
- this.bufferProcessing = false;
-
- // the callback that's passed to _write(chunk,cb)
- this.onwrite = function (er) {
- onwrite(stream, er);
- };
-
- // the callback that the user supplies to write(chunk,encoding,cb)
- this.writecb = null;
-
- // the amount that is being written when _write is called.
- this.writelen = 0;
- this.bufferedRequest = null;
- this.lastBufferedRequest = null;
-
- // number of pending user-supplied write callbacks
- // this must be 0 before 'finish' can be emitted
- this.pendingcb = 0;
-
- // emit prefinish if the only thing we're waiting for is _write cbs
- // This is relevant for synchronous Transform streams
- this.prefinished = false;
-
- // True if the error was already emitted and should not be thrown again
- this.errorEmitted = false;
-
- // Should close be emitted on destroy. Defaults to true.
- this.emitClose = options.emitClose !== false;
-
- // Should .destroy() be called after 'finish' (and potentially 'end')
- this.autoDestroy = !!options.autoDestroy;
-
- // count buffered requests
- this.bufferedRequestCount = 0;
-
- // allocate the first CorkedRequest, there is always
- // one allocated and free to use, and we maintain at most two
- this.corkedRequestsFree = new CorkedRequest(this);
-}
-WritableState.prototype.getBuffer = function getBuffer() {
- var current = this.bufferedRequest;
- var out = [];
- while (current) {
- out.push(current);
- current = current.next;
- }
- return out;
-};
-(function () {
- try {
- Object.defineProperty(WritableState.prototype, 'buffer', {
- get: internalUtil.deprecate(function writableStateBufferGetter() {
- return this.getBuffer();
- }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')
- });
- } catch (_) {}
-})();
-
-// Test _writableState for inheritance to account for Duplex streams,
-// whose prototype chain only points to Readable.
-var realHasInstance;
-if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {
- realHasInstance = Function.prototype[Symbol.hasInstance];
- Object.defineProperty(Writable, Symbol.hasInstance, {
- value: function value(object) {
- if (realHasInstance.call(this, object)) return true;
- if (this !== Writable) return false;
- return object && object._writableState instanceof WritableState;
- }
- });
-} else {
- realHasInstance = function realHasInstance(object) {
- return object instanceof this;
- };
-}
-function Writable(options) {
- Duplex = Duplex || require('./_stream_duplex');
-
- // Writable ctor is applied to Duplexes, too.
- // `realHasInstance` is necessary because using plain `instanceof`
- // would return false, as no `_writableState` property is attached.
-
- // Trying to use the custom `instanceof` for Writable here will also break the
- // Node.js LazyTransform implementation, which has a non-trivial getter for
- // `_writableState` that would lead to infinite recursion.
-
- // Checking for a Stream.Duplex instance is faster here instead of inside
- // the WritableState constructor, at least with V8 6.5
- var isDuplex = this instanceof Duplex;
- if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);
- this._writableState = new WritableState(options, this, isDuplex);
-
- // legacy.
- this.writable = true;
- if (options) {
- if (typeof options.write === 'function') this._write = options.write;
- if (typeof options.writev === 'function') this._writev = options.writev;
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
- if (typeof options.final === 'function') this._final = options.final;
- }
- Stream.call(this);
-}
-
-// Otherwise people can pipe Writable streams, which is just wrong.
-Writable.prototype.pipe = function () {
- errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-};
-function writeAfterEnd(stream, cb) {
- var er = new ERR_STREAM_WRITE_AFTER_END();
- // TODO: defer error events consistently everywhere, not just the cb
- errorOrDestroy(stream, er);
- process.nextTick(cb, er);
-}
-
-// Checks that a user-supplied chunk is valid, especially for the particular
-// mode the stream is in. Currently this means that `null` is never accepted
-// and undefined/non-string values are only allowed in object mode.
-function validChunk(stream, state, chunk, cb) {
- var er;
- if (chunk === null) {
- er = new ERR_STREAM_NULL_VALUES();
- } else if (typeof chunk !== 'string' && !state.objectMode) {
- er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);
- }
- if (er) {
- errorOrDestroy(stream, er);
- process.nextTick(cb, er);
- return false;
- }
- return true;
-}
-Writable.prototype.write = function (chunk, encoding, cb) {
- var state = this._writableState;
- var ret = false;
- var isBuf = !state.objectMode && _isUint8Array(chunk);
- if (isBuf && !Buffer.isBuffer(chunk)) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
- if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
- if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;
- if (typeof cb !== 'function') cb = nop;
- if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {
- state.pendingcb++;
- ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
- }
- return ret;
-};
-Writable.prototype.cork = function () {
- this._writableState.corked++;
-};
-Writable.prototype.uncork = function () {
- var state = this._writableState;
- if (state.corked) {
- state.corked--;
- if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
- }
-};
-Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
- // node::ParseEncoding() requires lower case.
- if (typeof encoding === 'string') encoding = encoding.toLowerCase();
- if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);
- this._writableState.defaultEncoding = encoding;
- return this;
-};
-Object.defineProperty(Writable.prototype, 'writableBuffer', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState && this._writableState.getBuffer();
- }
-});
-function decodeChunk(state, chunk, encoding) {
- if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {
- chunk = Buffer.from(chunk, encoding);
- }
- return chunk;
-}
-Object.defineProperty(Writable.prototype, 'writableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.highWaterMark;
- }
-});
-
-// if we're already writing something, then just put this
-// in the queue, and wait our turn. Otherwise, call _write
-// If we return false, then we need a drain event, so set that flag.
-function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
- if (!isBuf) {
- var newChunk = decodeChunk(state, chunk, encoding);
- if (chunk !== newChunk) {
- isBuf = true;
- encoding = 'buffer';
- chunk = newChunk;
- }
- }
- var len = state.objectMode ? 1 : chunk.length;
- state.length += len;
- var ret = state.length < state.highWaterMark;
- // we must ensure that previous needDrain will not be reset to false.
- if (!ret) state.needDrain = true;
- if (state.writing || state.corked) {
- var last = state.lastBufferedRequest;
- state.lastBufferedRequest = {
- chunk: chunk,
- encoding: encoding,
- isBuf: isBuf,
- callback: cb,
- next: null
- };
- if (last) {
- last.next = state.lastBufferedRequest;
- } else {
- state.bufferedRequest = state.lastBufferedRequest;
- }
- state.bufferedRequestCount += 1;
- } else {
- doWrite(stream, state, false, len, chunk, encoding, cb);
- }
- return ret;
-}
-function doWrite(stream, state, writev, len, chunk, encoding, cb) {
- state.writelen = len;
- state.writecb = cb;
- state.writing = true;
- state.sync = true;
- if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);
- state.sync = false;
-}
-function onwriteError(stream, state, sync, er, cb) {
- --state.pendingcb;
- if (sync) {
- // defer the callback if we are being called synchronously
- // to avoid piling up things on the stack
- process.nextTick(cb, er);
- // this can emit finish, and it will always happen
- // after error
- process.nextTick(finishMaybe, stream, state);
- stream._writableState.errorEmitted = true;
- errorOrDestroy(stream, er);
- } else {
- // the caller expect this to happen before if
- // it is async
- cb(er);
- stream._writableState.errorEmitted = true;
- errorOrDestroy(stream, er);
- // this can emit finish, but finish must
- // always follow error
- finishMaybe(stream, state);
- }
-}
-function onwriteStateUpdate(state) {
- state.writing = false;
- state.writecb = null;
- state.length -= state.writelen;
- state.writelen = 0;
-}
-function onwrite(stream, er) {
- var state = stream._writableState;
- var sync = state.sync;
- var cb = state.writecb;
- if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();
- onwriteStateUpdate(state);
- if (er) onwriteError(stream, state, sync, er, cb);else {
- // Check if we're actually ready to finish, but don't emit yet
- var finished = needFinish(state) || stream.destroyed;
- if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
- clearBuffer(stream, state);
- }
- if (sync) {
- process.nextTick(afterWrite, stream, state, finished, cb);
- } else {
- afterWrite(stream, state, finished, cb);
- }
- }
-}
-function afterWrite(stream, state, finished, cb) {
- if (!finished) onwriteDrain(stream, state);
- state.pendingcb--;
- cb();
- finishMaybe(stream, state);
-}
-
-// Must force callback to be called on nextTick, so that we don't
-// emit 'drain' before the write() consumer gets the 'false' return
-// value, and has a chance to attach a 'drain' listener.
-function onwriteDrain(stream, state) {
- if (state.length === 0 && state.needDrain) {
- state.needDrain = false;
- stream.emit('drain');
- }
-}
-
-// if there's something in the buffer waiting, then process it
-function clearBuffer(stream, state) {
- state.bufferProcessing = true;
- var entry = state.bufferedRequest;
- if (stream._writev && entry && entry.next) {
- // Fast case, write everything using _writev()
- var l = state.bufferedRequestCount;
- var buffer = new Array(l);
- var holder = state.corkedRequestsFree;
- holder.entry = entry;
- var count = 0;
- var allBuffers = true;
- while (entry) {
- buffer[count] = entry;
- if (!entry.isBuf) allBuffers = false;
- entry = entry.next;
- count += 1;
- }
- buffer.allBuffers = allBuffers;
- doWrite(stream, state, true, state.length, buffer, '', holder.finish);
-
- // doWrite is almost always async, defer these to save a bit of time
- // as the hot path ends with doWrite
- state.pendingcb++;
- state.lastBufferedRequest = null;
- if (holder.next) {
- state.corkedRequestsFree = holder.next;
- holder.next = null;
- } else {
- state.corkedRequestsFree = new CorkedRequest(state);
- }
- state.bufferedRequestCount = 0;
- } else {
- // Slow case, write chunks one-by-one
- while (entry) {
- var chunk = entry.chunk;
- var encoding = entry.encoding;
- var cb = entry.callback;
- var len = state.objectMode ? 1 : chunk.length;
- doWrite(stream, state, false, len, chunk, encoding, cb);
- entry = entry.next;
- state.bufferedRequestCount--;
- // if we didn't call the onwrite immediately, then
- // it means that we need to wait until it does.
- // also, that means that the chunk and cb are currently
- // being processed, so move the buffer counter past them.
- if (state.writing) {
- break;
- }
- }
- if (entry === null) state.lastBufferedRequest = null;
- }
- state.bufferedRequest = entry;
- state.bufferProcessing = false;
-}
-Writable.prototype._write = function (chunk, encoding, cb) {
- cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));
-};
-Writable.prototype._writev = null;
-Writable.prototype.end = function (chunk, encoding, cb) {
- var state = this._writableState;
- if (typeof chunk === 'function') {
- cb = chunk;
- chunk = null;
- encoding = null;
- } else if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
- if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);
-
- // .end() fully uncorks
- if (state.corked) {
- state.corked = 1;
- this.uncork();
- }
-
- // ignore unnecessary end() calls.
- if (!state.ending) endWritable(this, state, cb);
- return this;
-};
-Object.defineProperty(Writable.prototype, 'writableLength', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.length;
- }
-});
-function needFinish(state) {
- return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
-}
-function callFinal(stream, state) {
- stream._final(function (err) {
- state.pendingcb--;
- if (err) {
- errorOrDestroy(stream, err);
- }
- state.prefinished = true;
- stream.emit('prefinish');
- finishMaybe(stream, state);
- });
-}
-function prefinish(stream, state) {
- if (!state.prefinished && !state.finalCalled) {
- if (typeof stream._final === 'function' && !state.destroyed) {
- state.pendingcb++;
- state.finalCalled = true;
- process.nextTick(callFinal, stream, state);
- } else {
- state.prefinished = true;
- stream.emit('prefinish');
- }
- }
-}
-function finishMaybe(stream, state) {
- var need = needFinish(state);
- if (need) {
- prefinish(stream, state);
- if (state.pendingcb === 0) {
- state.finished = true;
- stream.emit('finish');
- if (state.autoDestroy) {
- // In case of duplex streams we need a way to detect
- // if the readable side is ready for autoDestroy as well
- var rState = stream._readableState;
- if (!rState || rState.autoDestroy && rState.endEmitted) {
- stream.destroy();
- }
- }
- }
- }
- return need;
-}
-function endWritable(stream, state, cb) {
- state.ending = true;
- finishMaybe(stream, state);
- if (cb) {
- if (state.finished) process.nextTick(cb);else stream.once('finish', cb);
- }
- state.ended = true;
- stream.writable = false;
-}
-function onCorkedFinish(corkReq, state, err) {
- var entry = corkReq.entry;
- corkReq.entry = null;
- while (entry) {
- var cb = entry.callback;
- state.pendingcb--;
- cb(err);
- entry = entry.next;
- }
-
- // reuse the free corkReq.
- state.corkedRequestsFree.next = corkReq;
-}
-Object.defineProperty(Writable.prototype, 'destroyed', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- if (this._writableState === undefined) {
- return false;
- }
- return this._writableState.destroyed;
- },
- set: function set(value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._writableState) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._writableState.destroyed = value;
- }
-});
-Writable.prototype.destroy = destroyImpl.destroy;
-Writable.prototype._undestroy = destroyImpl.undestroy;
-Writable.prototype._destroy = function (err, cb) {
- cb(err);
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/async_iterator.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/async_iterator.js
deleted file mode 100644
index 742c5a4..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/async_iterator.js
+++ /dev/null
@@ -1,180 +0,0 @@
-'use strict';
-
-var _Object$setPrototypeO;
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-var finished = require('./end-of-stream');
-var kLastResolve = Symbol('lastResolve');
-var kLastReject = Symbol('lastReject');
-var kError = Symbol('error');
-var kEnded = Symbol('ended');
-var kLastPromise = Symbol('lastPromise');
-var kHandlePromise = Symbol('handlePromise');
-var kStream = Symbol('stream');
-function createIterResult(value, done) {
- return {
- value: value,
- done: done
- };
-}
-function readAndResolve(iter) {
- var resolve = iter[kLastResolve];
- if (resolve !== null) {
- var data = iter[kStream].read();
- // we defer if data is null
- // we can be expecting either 'end' or
- // 'error'
- if (data !== null) {
- iter[kLastPromise] = null;
- iter[kLastResolve] = null;
- iter[kLastReject] = null;
- resolve(createIterResult(data, false));
- }
- }
-}
-function onReadable(iter) {
- // we wait for the next tick, because it might
- // emit an error with process.nextTick
- process.nextTick(readAndResolve, iter);
-}
-function wrapForNext(lastPromise, iter) {
- return function (resolve, reject) {
- lastPromise.then(function () {
- if (iter[kEnded]) {
- resolve(createIterResult(undefined, true));
- return;
- }
- iter[kHandlePromise](resolve, reject);
- }, reject);
- };
-}
-var AsyncIteratorPrototype = Object.getPrototypeOf(function () {});
-var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {
- get stream() {
- return this[kStream];
- },
- next: function next() {
- var _this = this;
- // if we have detected an error in the meanwhile
- // reject straight away
- var error = this[kError];
- if (error !== null) {
- return Promise.reject(error);
- }
- if (this[kEnded]) {
- return Promise.resolve(createIterResult(undefined, true));
- }
- if (this[kStream].destroyed) {
- // We need to defer via nextTick because if .destroy(err) is
- // called, the error will be emitted via nextTick, and
- // we cannot guarantee that there is no error lingering around
- // waiting to be emitted.
- return new Promise(function (resolve, reject) {
- process.nextTick(function () {
- if (_this[kError]) {
- reject(_this[kError]);
- } else {
- resolve(createIterResult(undefined, true));
- }
- });
- });
- }
-
- // if we have multiple next() calls
- // we will wait for the previous Promise to finish
- // this logic is optimized to support for await loops,
- // where next() is only called once at a time
- var lastPromise = this[kLastPromise];
- var promise;
- if (lastPromise) {
- promise = new Promise(wrapForNext(lastPromise, this));
- } else {
- // fast path needed to support multiple this.push()
- // without triggering the next() queue
- var data = this[kStream].read();
- if (data !== null) {
- return Promise.resolve(createIterResult(data, false));
- }
- promise = new Promise(this[kHandlePromise]);
- }
- this[kLastPromise] = promise;
- return promise;
- }
-}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {
- return this;
-}), _defineProperty(_Object$setPrototypeO, "return", function _return() {
- var _this2 = this;
- // destroy(err, cb) is a private API
- // we can guarantee we have that here, because we control the
- // Readable class this is attached to
- return new Promise(function (resolve, reject) {
- _this2[kStream].destroy(null, function (err) {
- if (err) {
- reject(err);
- return;
- }
- resolve(createIterResult(undefined, true));
- });
- });
-}), _Object$setPrototypeO), AsyncIteratorPrototype);
-var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {
- var _Object$create;
- var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {
- value: stream,
- writable: true
- }), _defineProperty(_Object$create, kLastResolve, {
- value: null,
- writable: true
- }), _defineProperty(_Object$create, kLastReject, {
- value: null,
- writable: true
- }), _defineProperty(_Object$create, kError, {
- value: null,
- writable: true
- }), _defineProperty(_Object$create, kEnded, {
- value: stream._readableState.endEmitted,
- writable: true
- }), _defineProperty(_Object$create, kHandlePromise, {
- value: function value(resolve, reject) {
- var data = iterator[kStream].read();
- if (data) {
- iterator[kLastPromise] = null;
- iterator[kLastResolve] = null;
- iterator[kLastReject] = null;
- resolve(createIterResult(data, false));
- } else {
- iterator[kLastResolve] = resolve;
- iterator[kLastReject] = reject;
- }
- },
- writable: true
- }), _Object$create));
- iterator[kLastPromise] = null;
- finished(stream, function (err) {
- if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {
- var reject = iterator[kLastReject];
- // reject if we are waiting for data in the Promise
- // returned by next() and store the error
- if (reject !== null) {
- iterator[kLastPromise] = null;
- iterator[kLastResolve] = null;
- iterator[kLastReject] = null;
- reject(err);
- }
- iterator[kError] = err;
- return;
- }
- var resolve = iterator[kLastResolve];
- if (resolve !== null) {
- iterator[kLastPromise] = null;
- iterator[kLastResolve] = null;
- iterator[kLastReject] = null;
- resolve(createIterResult(undefined, true));
- }
- iterator[kEnded] = true;
- });
- stream.on('readable', onReadable.bind(null, iterator));
- return iterator;
-};
-module.exports = createReadableStreamAsyncIterator; \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/buffer_list.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/buffer_list.js
deleted file mode 100644
index 69bda49..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/buffer_list.js
+++ /dev/null
@@ -1,183 +0,0 @@
-'use strict';
-
-function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-var _require = require('buffer'),
- Buffer = _require.Buffer;
-var _require2 = require('util'),
- inspect = _require2.inspect;
-var custom = inspect && inspect.custom || 'inspect';
-function copyBuffer(src, target, offset) {
- Buffer.prototype.copy.call(src, target, offset);
-}
-module.exports = /*#__PURE__*/function () {
- function BufferList() {
- _classCallCheck(this, BufferList);
- this.head = null;
- this.tail = null;
- this.length = 0;
- }
- _createClass(BufferList, [{
- key: "push",
- value: function push(v) {
- var entry = {
- data: v,
- next: null
- };
- if (this.length > 0) this.tail.next = entry;else this.head = entry;
- this.tail = entry;
- ++this.length;
- }
- }, {
- key: "unshift",
- value: function unshift(v) {
- var entry = {
- data: v,
- next: this.head
- };
- if (this.length === 0) this.tail = entry;
- this.head = entry;
- ++this.length;
- }
- }, {
- key: "shift",
- value: function shift() {
- if (this.length === 0) return;
- var ret = this.head.data;
- if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;
- --this.length;
- return ret;
- }
- }, {
- key: "clear",
- value: function clear() {
- this.head = this.tail = null;
- this.length = 0;
- }
- }, {
- key: "join",
- value: function join(s) {
- if (this.length === 0) return '';
- var p = this.head;
- var ret = '' + p.data;
- while (p = p.next) ret += s + p.data;
- return ret;
- }
- }, {
- key: "concat",
- value: function concat(n) {
- if (this.length === 0) return Buffer.alloc(0);
- var ret = Buffer.allocUnsafe(n >>> 0);
- var p = this.head;
- var i = 0;
- while (p) {
- copyBuffer(p.data, ret, i);
- i += p.data.length;
- p = p.next;
- }
- return ret;
- }
-
- // Consumes a specified amount of bytes or characters from the buffered data.
- }, {
- key: "consume",
- value: function consume(n, hasStrings) {
- var ret;
- if (n < this.head.data.length) {
- // `slice` is the same for buffers and strings.
- ret = this.head.data.slice(0, n);
- this.head.data = this.head.data.slice(n);
- } else if (n === this.head.data.length) {
- // First chunk is a perfect match.
- ret = this.shift();
- } else {
- // Result spans more than one buffer.
- ret = hasStrings ? this._getString(n) : this._getBuffer(n);
- }
- return ret;
- }
- }, {
- key: "first",
- value: function first() {
- return this.head.data;
- }
-
- // Consumes a specified amount of characters from the buffered data.
- }, {
- key: "_getString",
- value: function _getString(n) {
- var p = this.head;
- var c = 1;
- var ret = p.data;
- n -= ret.length;
- while (p = p.next) {
- var str = p.data;
- var nb = n > str.length ? str.length : n;
- if (nb === str.length) ret += str;else ret += str.slice(0, n);
- n -= nb;
- if (n === 0) {
- if (nb === str.length) {
- ++c;
- if (p.next) this.head = p.next;else this.head = this.tail = null;
- } else {
- this.head = p;
- p.data = str.slice(nb);
- }
- break;
- }
- ++c;
- }
- this.length -= c;
- return ret;
- }
-
- // Consumes a specified amount of bytes from the buffered data.
- }, {
- key: "_getBuffer",
- value: function _getBuffer(n) {
- var ret = Buffer.allocUnsafe(n);
- var p = this.head;
- var c = 1;
- p.data.copy(ret);
- n -= p.data.length;
- while (p = p.next) {
- var buf = p.data;
- var nb = n > buf.length ? buf.length : n;
- buf.copy(ret, ret.length - n, 0, nb);
- n -= nb;
- if (n === 0) {
- if (nb === buf.length) {
- ++c;
- if (p.next) this.head = p.next;else this.head = this.tail = null;
- } else {
- this.head = p;
- p.data = buf.slice(nb);
- }
- break;
- }
- ++c;
- }
- this.length -= c;
- return ret;
- }
-
- // Make sure the linked list only shows the minimal necessary information.
- }, {
- key: custom,
- value: function value(_, options) {
- return inspect(this, _objectSpread(_objectSpread({}, options), {}, {
- // Only inspect one level.
- depth: 0,
- // It should not recurse.
- customInspect: false
- }));
- }
- }]);
- return BufferList;
-}(); \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/destroy.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/destroy.js
deleted file mode 100644
index 31a17c4..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/destroy.js
+++ /dev/null
@@ -1,96 +0,0 @@
-'use strict';
-
-// undocumented cb() API, needed for core, not for public API
-function destroy(err, cb) {
- var _this = this;
- var readableDestroyed = this._readableState && this._readableState.destroyed;
- var writableDestroyed = this._writableState && this._writableState.destroyed;
- if (readableDestroyed || writableDestroyed) {
- if (cb) {
- cb(err);
- } else if (err) {
- if (!this._writableState) {
- process.nextTick(emitErrorNT, this, err);
- } else if (!this._writableState.errorEmitted) {
- this._writableState.errorEmitted = true;
- process.nextTick(emitErrorNT, this, err);
- }
- }
- return this;
- }
-
- // we set destroyed to true before firing error callbacks in order
- // to make it re-entrance safe in case destroy() is called within callbacks
-
- if (this._readableState) {
- this._readableState.destroyed = true;
- }
-
- // if this is a duplex stream mark the writable part as destroyed as well
- if (this._writableState) {
- this._writableState.destroyed = true;
- }
- this._destroy(err || null, function (err) {
- if (!cb && err) {
- if (!_this._writableState) {
- process.nextTick(emitErrorAndCloseNT, _this, err);
- } else if (!_this._writableState.errorEmitted) {
- _this._writableState.errorEmitted = true;
- process.nextTick(emitErrorAndCloseNT, _this, err);
- } else {
- process.nextTick(emitCloseNT, _this);
- }
- } else if (cb) {
- process.nextTick(emitCloseNT, _this);
- cb(err);
- } else {
- process.nextTick(emitCloseNT, _this);
- }
- });
- return this;
-}
-function emitErrorAndCloseNT(self, err) {
- emitErrorNT(self, err);
- emitCloseNT(self);
-}
-function emitCloseNT(self) {
- if (self._writableState && !self._writableState.emitClose) return;
- if (self._readableState && !self._readableState.emitClose) return;
- self.emit('close');
-}
-function undestroy() {
- if (this._readableState) {
- this._readableState.destroyed = false;
- this._readableState.reading = false;
- this._readableState.ended = false;
- this._readableState.endEmitted = false;
- }
- if (this._writableState) {
- this._writableState.destroyed = false;
- this._writableState.ended = false;
- this._writableState.ending = false;
- this._writableState.finalCalled = false;
- this._writableState.prefinished = false;
- this._writableState.finished = false;
- this._writableState.errorEmitted = false;
- }
-}
-function emitErrorNT(self, err) {
- self.emit('error', err);
-}
-function errorOrDestroy(stream, err) {
- // We have tests that rely on errors being emitted
- // in the same tick, so changing this is semver major.
- // For now when you opt-in to autoDestroy we allow
- // the error to be emitted nextTick. In a future
- // semver major update we should change the default to this.
-
- var rState = stream._readableState;
- var wState = stream._writableState;
- if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);
-}
-module.exports = {
- destroy: destroy,
- undestroy: undestroy,
- errorOrDestroy: errorOrDestroy
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
deleted file mode 100644
index 59c671b..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Ported from https://github.com/mafintosh/end-of-stream with
-// permission from the author, Mathias Buus (@mafintosh).
-
-'use strict';
-
-var ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;
-function once(callback) {
- var called = false;
- return function () {
- if (called) return;
- called = true;
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
- callback.apply(this, args);
- };
-}
-function noop() {}
-function isRequest(stream) {
- return stream.setHeader && typeof stream.abort === 'function';
-}
-function eos(stream, opts, callback) {
- if (typeof opts === 'function') return eos(stream, null, opts);
- if (!opts) opts = {};
- callback = once(callback || noop);
- var readable = opts.readable || opts.readable !== false && stream.readable;
- var writable = opts.writable || opts.writable !== false && stream.writable;
- var onlegacyfinish = function onlegacyfinish() {
- if (!stream.writable) onfinish();
- };
- var writableEnded = stream._writableState && stream._writableState.finished;
- var onfinish = function onfinish() {
- writable = false;
- writableEnded = true;
- if (!readable) callback.call(stream);
- };
- var readableEnded = stream._readableState && stream._readableState.endEmitted;
- var onend = function onend() {
- readable = false;
- readableEnded = true;
- if (!writable) callback.call(stream);
- };
- var onerror = function onerror(err) {
- callback.call(stream, err);
- };
- var onclose = function onclose() {
- var err;
- if (readable && !readableEnded) {
- if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
- return callback.call(stream, err);
- }
- if (writable && !writableEnded) {
- if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
- return callback.call(stream, err);
- }
- };
- var onrequest = function onrequest() {
- stream.req.on('finish', onfinish);
- };
- if (isRequest(stream)) {
- stream.on('complete', onfinish);
- stream.on('abort', onclose);
- if (stream.req) onrequest();else stream.on('request', onrequest);
- } else if (writable && !stream._writableState) {
- // legacy streams
- stream.on('end', onlegacyfinish);
- stream.on('close', onlegacyfinish);
- }
- stream.on('end', onend);
- stream.on('finish', onfinish);
- if (opts.error !== false) stream.on('error', onerror);
- stream.on('close', onclose);
- return function () {
- stream.removeListener('complete', onfinish);
- stream.removeListener('abort', onclose);
- stream.removeListener('request', onrequest);
- if (stream.req) stream.req.removeListener('finish', onfinish);
- stream.removeListener('end', onlegacyfinish);
- stream.removeListener('close', onlegacyfinish);
- stream.removeListener('finish', onfinish);
- stream.removeListener('end', onend);
- stream.removeListener('error', onerror);
- stream.removeListener('close', onclose);
- };
-}
-module.exports = eos; \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/from-browser.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/from-browser.js
deleted file mode 100644
index a4ce56f..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/from-browser.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function () {
- throw new Error('Readable.from is not available in the browser')
-};
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/from.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/from.js
deleted file mode 100644
index 0a34ee9..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/from.js
+++ /dev/null
@@ -1,52 +0,0 @@
-'use strict';
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-var ERR_INVALID_ARG_TYPE = require('../../../errors').codes.ERR_INVALID_ARG_TYPE;
-function from(Readable, iterable, opts) {
- var iterator;
- if (iterable && typeof iterable.next === 'function') {
- iterator = iterable;
- } else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable);
- var readable = new Readable(_objectSpread({
- objectMode: true
- }, opts));
- // Reading boolean to protect against _read
- // being called before last iteration completion.
- var reading = false;
- readable._read = function () {
- if (!reading) {
- reading = true;
- next();
- }
- };
- function next() {
- return _next2.apply(this, arguments);
- }
- function _next2() {
- _next2 = _asyncToGenerator(function* () {
- try {
- var _yield$iterator$next = yield iterator.next(),
- value = _yield$iterator$next.value,
- done = _yield$iterator$next.done;
- if (done) {
- readable.push(null);
- } else if (readable.push(yield value)) {
- next();
- } else {
- reading = false;
- }
- } catch (err) {
- readable.destroy(err);
- }
- });
- return _next2.apply(this, arguments);
- }
- return readable;
-}
-module.exports = from;
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/pipeline.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/pipeline.js
deleted file mode 100644
index e6f3924..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/pipeline.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Ported from https://github.com/mafintosh/pump with
-// permission from the author, Mathias Buus (@mafintosh).
-
-'use strict';
-
-var eos;
-function once(callback) {
- var called = false;
- return function () {
- if (called) return;
- called = true;
- callback.apply(void 0, arguments);
- };
-}
-var _require$codes = require('../../../errors').codes,
- ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,
- ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
-function noop(err) {
- // Rethrow the error if it exists to avoid swallowing it
- if (err) throw err;
-}
-function isRequest(stream) {
- return stream.setHeader && typeof stream.abort === 'function';
-}
-function destroyer(stream, reading, writing, callback) {
- callback = once(callback);
- var closed = false;
- stream.on('close', function () {
- closed = true;
- });
- if (eos === undefined) eos = require('./end-of-stream');
- eos(stream, {
- readable: reading,
- writable: writing
- }, function (err) {
- if (err) return callback(err);
- closed = true;
- callback();
- });
- var destroyed = false;
- return function (err) {
- if (closed) return;
- if (destroyed) return;
- destroyed = true;
-
- // request.destroy just do .end - .abort is what we want
- if (isRequest(stream)) return stream.abort();
- if (typeof stream.destroy === 'function') return stream.destroy();
- callback(err || new ERR_STREAM_DESTROYED('pipe'));
- };
-}
-function call(fn) {
- fn();
-}
-function pipe(from, to) {
- return from.pipe(to);
-}
-function popCallback(streams) {
- if (!streams.length) return noop;
- if (typeof streams[streams.length - 1] !== 'function') return noop;
- return streams.pop();
-}
-function pipeline() {
- for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {
- streams[_key] = arguments[_key];
- }
- var callback = popCallback(streams);
- if (Array.isArray(streams[0])) streams = streams[0];
- if (streams.length < 2) {
- throw new ERR_MISSING_ARGS('streams');
- }
- var error;
- var destroys = streams.map(function (stream, i) {
- var reading = i < streams.length - 1;
- var writing = i > 0;
- return destroyer(stream, reading, writing, function (err) {
- if (!error) error = err;
- if (err) destroys.forEach(call);
- if (reading) return;
- destroys.forEach(call);
- callback(error);
- });
- });
- return streams.reduce(pipe);
-}
-module.exports = pipeline; \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/state.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/state.js
deleted file mode 100644
index 3fbf892..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/state.js
+++ /dev/null
@@ -1,22 +0,0 @@
-'use strict';
-
-var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;
-function highWaterMarkFrom(options, isDuplex, duplexKey) {
- return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-}
-function getHighWaterMark(state, options, duplexKey, isDuplex) {
- var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
- if (hwm != null) {
- if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {
- var name = isDuplex ? duplexKey : 'highWaterMark';
- throw new ERR_INVALID_OPT_VALUE(name, hwm);
- }
- return Math.floor(hwm);
- }
-
- // Default value
- return state.objectMode ? 16 : 16 * 1024;
-}
-module.exports = {
- getHighWaterMark: getHighWaterMark
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/stream-browser.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/stream-browser.js
deleted file mode 100644
index 9332a3f..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/stream-browser.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('events').EventEmitter;
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/stream.js b/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/stream.js
deleted file mode 100644
index ce2ad5b..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/lib/internal/streams/stream.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('stream');
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/package.json b/includes/search/node_modules/multistream/node_modules/readable-stream/package.json
deleted file mode 100644
index ade59e7..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "readable-stream",
- "version": "3.6.2",
- "description": "Streams3, a user-land copy of the stream library from Node.js",
- "main": "readable.js",
- "engines": {
- "node": ">= 6"
- },
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "devDependencies": {
- "@babel/cli": "^7.2.0",
- "@babel/core": "^7.2.0",
- "@babel/polyfill": "^7.0.0",
- "@babel/preset-env": "^7.2.0",
- "airtap": "0.0.9",
- "assert": "^1.4.0",
- "bl": "^2.0.0",
- "deep-strict-equal": "^0.2.0",
- "events.once": "^2.0.2",
- "glob": "^7.1.2",
- "gunzip-maybe": "^1.4.1",
- "hyperquest": "^2.1.3",
- "lolex": "^2.6.0",
- "nyc": "^11.0.0",
- "pump": "^3.0.0",
- "rimraf": "^2.6.2",
- "tap": "^12.0.0",
- "tape": "^4.9.0",
- "tar-fs": "^1.16.2",
- "util-promisify": "^2.1.0"
- },
- "scripts": {
- "test": "tap -J --no-esm test/parallel/*.js test/ours/*.js",
- "ci": "TAP=1 tap --no-esm test/parallel/*.js test/ours/*.js | tee test.tap",
- "test-browsers": "airtap --sauce-connect --loopback airtap.local -- test/browser.js",
- "test-browser-local": "airtap --open --local -- test/browser.js",
- "cover": "nyc npm test",
- "report": "nyc report --reporter=lcov",
- "update-browser-errors": "babel -o errors-browser.js errors.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/nodejs/readable-stream"
- },
- "keywords": [
- "readable",
- "stream",
- "pipe"
- ],
- "browser": {
- "util": false,
- "worker_threads": false,
- "./errors": "./errors-browser.js",
- "./readable.js": "./readable-browser.js",
- "./lib/internal/streams/from.js": "./lib/internal/streams/from-browser.js",
- "./lib/internal/streams/stream.js": "./lib/internal/streams/stream-browser.js"
- },
- "nyc": {
- "include": [
- "lib/**.js"
- ]
- },
- "license": "MIT"
-}
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/readable-browser.js b/includes/search/node_modules/multistream/node_modules/readable-stream/readable-browser.js
deleted file mode 100644
index adbf60d..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/readable-browser.js
+++ /dev/null
@@ -1,9 +0,0 @@
-exports = module.exports = require('./lib/_stream_readable.js');
-exports.Stream = exports;
-exports.Readable = exports;
-exports.Writable = require('./lib/_stream_writable.js');
-exports.Duplex = require('./lib/_stream_duplex.js');
-exports.Transform = require('./lib/_stream_transform.js');
-exports.PassThrough = require('./lib/_stream_passthrough.js');
-exports.finished = require('./lib/internal/streams/end-of-stream.js');
-exports.pipeline = require('./lib/internal/streams/pipeline.js');
diff --git a/includes/search/node_modules/multistream/node_modules/readable-stream/readable.js b/includes/search/node_modules/multistream/node_modules/readable-stream/readable.js
deleted file mode 100644
index 9e0ca12..0000000
--- a/includes/search/node_modules/multistream/node_modules/readable-stream/readable.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var Stream = require('stream');
-if (process.env.READABLE_STREAM === 'disable' && Stream) {
- module.exports = Stream.Readable;
- Object.assign(module.exports, Stream);
- module.exports.Stream = Stream;
-} else {
- exports = module.exports = require('./lib/_stream_readable.js');
- exports.Stream = Stream || exports;
- exports.Readable = exports;
- exports.Writable = require('./lib/_stream_writable.js');
- exports.Duplex = require('./lib/_stream_duplex.js');
- exports.Transform = require('./lib/_stream_transform.js');
- exports.PassThrough = require('./lib/_stream_passthrough.js');
- exports.finished = require('./lib/internal/streams/end-of-stream.js');
- exports.pipeline = require('./lib/internal/streams/pipeline.js');
-}
diff --git a/includes/search/node_modules/multistream/package.json b/includes/search/node_modules/multistream/package.json
deleted file mode 100644
index edb6da9..0000000
--- a/includes/search/node_modules/multistream/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "multistream",
- "description": "A stream that emits multiple other streams one after another (streams3)",
- "version": "4.1.0",
- "author": {
- "name": "Feross Aboukhadijeh",
- "email": "feross@feross.org",
- "url": "https://feross.org"
- },
- "bugs": {
- "url": "https://github.com/feross/multistream/issues"
- },
- "dependencies": {
- "once": "^1.4.0",
- "readable-stream": "^3.6.0"
- },
- "devDependencies": {
- "airtap": "^3.0.0",
- "array-to-stream": "^1.0.2",
- "simple-concat": "^1.0.1",
- "standard": "*",
- "string-to-stream": "^3.0.1",
- "tape": "^5.0.1",
- "through": "^2.3.8"
- },
- "homepage": "https://github.com/feross/multistream",
- "keywords": [
- "combine streams",
- "join streams",
- "concat streams",
- "multiple streams",
- "combine",
- "join",
- "concat",
- "multiple",
- "file stream",
- "append",
- "append streams",
- "combiner",
- "joiner"
- ],
- "license": "MIT",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/feross/multistream.git"
- },
- "scripts": {
- "test": "standard && npm run test-node && npm run test-browser",
- "test-browser": "airtap -- test/*.js",
- "test-browser-local": "airtap --local -- test/*.js",
- "test-node": "tape test/*.js"
- },
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
-}
diff --git a/includes/search/node_modules/napi-build-utils/LICENSE b/includes/search/node_modules/napi-build-utils/LICENSE
deleted file mode 100644
index 8e0248a..0000000
--- a/includes/search/node_modules/napi-build-utils/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2018 inspiredware
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/napi-build-utils/README.md b/includes/search/node_modules/napi-build-utils/README.md
deleted file mode 100644
index f056002..0000000
--- a/includes/search/node_modules/napi-build-utils/README.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# napi-build-utils
-
-[![npm](https://img.shields.io/npm/v/napi-build-utils.svg)](https://www.npmjs.com/package/napi-build-utils)
-![Node version](https://img.shields.io/node/v/prebuild.svg)
-[![Build Status](https://travis-ci.org/inspiredware/napi-build-utils.svg?branch=master)](https://travis-ci.org/inspiredware/napi-build-utils)
-[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
-[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
-
-A set of utilities to assist developers of tools that build [N-API](https://nodejs.org/api/n-api.html#n_api_n_api) native add-ons.
-
-## Background
-
-This module is targeted to developers creating tools that build N-API native add-ons.
-
-It implements a set of functions that aid in determining the N-API version supported by the currently running Node instance and the set of N-API versions against which the N-API native add-on is designed to be built. Other functions determine whether a particular N-API version can be built and can issue console warnings for unsupported N-API versions.
-
-Unlike the modules this code is designed to facilitate building, this module is written entirely in JavaScript.
-
-## Quick start
-
-```bash
-$ npm install napi-build-utils
-```
-
-The module exports a set of functions documented [here](./index.md). For example:
-
-```javascript
-var napiBuildUtils = require('napi-build-utils');
-var napiVersion = napiBuildUtils.getNapiVersion(); // N-API version supported by Node, or undefined.
-```
-
-## Declaring supported N-API versions
-
-Native modules that are designed to work with [N-API](https://nodejs.org/api/n-api.html#n_api_n_api) must explicitly declare the N-API version(s) against which they are coded to build. This is accomplished by including a `binary.napi_versions` property in the module's `package.json` file. For example:
-
-```json
-"binary": {
- "napi_versions": [2,3]
-}
-```
-
-In the absence of a need to compile against a specific N-API version, the value `3` is a good choice as this is the N-API version that was supported when N-API left experimental status.
-
-Modules that are built against a specific N-API version will continue to operate indefinitely, even as later versions of N-API are introduced.
-
-## Support
-
-If you run into problems or limitations, please file an issue and we'll take a look. Pull requests are also welcome.
diff --git a/includes/search/node_modules/napi-build-utils/index.js b/includes/search/node_modules/napi-build-utils/index.js
deleted file mode 100644
index 1643994..0000000
--- a/includes/search/node_modules/napi-build-utils/index.js
+++ /dev/null
@@ -1,213 +0,0 @@
-'use strict'
-// Copyright (c) 2018 inspiredware
-
-var path = require('path')
-var pkg = require(path.resolve('package.json'))
-
-var versionArray = process.version
- .substr(1)
- .replace(/-.*$/, '')
- .split('.')
- .map(function (item) {
- return +item
- })
-
-/**
- *
- * A set of utilities to assist developers of tools that build
- * [N-API](https://nodejs.org/api/n-api.html#n_api_n_api) native add-ons.
- *
- * The main repository can be found
- * [here](https://github.com/inspiredware/napi-build-utils#napi-build-utils).
- *
- * @module napi-build-utils
- */
-
-/**
- * Implements a consistent name of `napi` for N-API runtimes.
- *
- * @param {string} runtime The runtime string.
- * @returns {boolean}
- */
-exports.isNapiRuntime = function (runtime) {
- return runtime === 'napi'
-}
-
-/**
- * Determines whether the specified N-API version is supported
- * by both the currently running Node instance and the package.
- *
- * @param {string} napiVersion The N-API version to check.
- * @returns {boolean}
- */
-exports.isSupportedVersion = function (napiVersion) {
- var version = parseInt(napiVersion, 10)
- return version <= exports.getNapiVersion() && exports.packageSupportsVersion(version)
-}
-
-/**
- * Determines whether the specified N-API version is supported by the package.
- * The N-API version must be preseent in the `package.json`
- * `binary.napi_versions` array.
- *
- * @param {number} napiVersion The N-API version to check.
- * @returns {boolean}
- * @private
- */
-exports.packageSupportsVersion = function (napiVersion) {
- if (pkg.binary && pkg.binary.napi_versions &&
- pkg.binary.napi_versions instanceof Array) {
- for (var i = 0; i < pkg.binary.napi_versions.length; i++) {
- if (pkg.binary.napi_versions[i] === napiVersion) return true
- };
- };
- return false
-}
-
-/**
- * Issues a warning to the supplied log if the N-API version is not supported
- * by the current Node instance or if the N-API version is not supported
- * by the package.
- *
- * @param {string} napiVersion The N-API version to check.
- * @param {Object} log The log object to which the warnings are to be issued.
- * Must implement the `warn` method.
- */
-exports.logUnsupportedVersion = function (napiVersion, log) {
- if (!exports.isSupportedVersion(napiVersion)) {
- if (exports.packageSupportsVersion(napiVersion)) {
- log.warn('This Node instance does not support N-API version ' + napiVersion)
- } else {
- log.warn('This package does not support N-API version ' + napiVersion)
- }
- }
-}
-
-/**
- * Issues warnings to the supplied log for those N-API versions not supported
- * by the N-API runtime or the package.
- *
- * Note that this function is specific to the
- * [`prebuild`](https://github.com/prebuild/prebuild#prebuild) package.
- *
- * `target` is the list of targets to be built and is determined in one of
- * three ways from the command line arguments:
- * (1) `--target` specifies a specific target to build.
- * (2) `--all` specifies all N-API versions supported by the package.
- * (3) Neither of these specifies to build the single "best version available."
- *
- * `prebuild` is an array of objects in the form `{runtime: 'napi', target: '2'}`.
- * The array contains the list of N-API versions that are supported by both the
- * package being built and the currently running Node instance.
- *
- * The objective of this function is to issue a warning for those items that appear
- * in the `target` argument but not in the `prebuild` argument.
- * If a specific target is supported by the package (`packageSupportsVersion`) but
- * but note in `prebuild`, the assumption is that the target is not supported by
- * Node.
- *
- * @param {(Array<string>|string)} target The N-API version(s) to check. Target is
- * @param {Array<Object>} prebuild A config object created by the `prebuild` package.
- * @param {Object} log The log object to which the warnings are to be issued.
- * Must implement the `warn` method.
- * @private
- */
-exports.logMissingNapiVersions = function (target, prebuild, log) {
- if (exports.getNapiBuildVersions()) {
- var targets = [].concat(target)
- targets.forEach(function (napiVersion) {
- if (!prebuildExists(prebuild, napiVersion)) {
- if (exports.packageSupportsVersion(parseInt(napiVersion, 10))) {
- log.warn('This Node instance does not support N-API version ' + napiVersion)
- } else {
- log.warn('This package does not support N-API version ' + napiVersion)
- }
- }
- })
- } else {
- log.error('Builds with runtime \'napi\' require a binary.napi_versions ' +
- 'property on the package.json file')
- }
-}
-
-/**
- * Determines whether the specified N-API version exists in the prebuild
- * configuration object.
- *
- * Note that this function is speicifc to the `prebuild` and `prebuild-install`
- * packages.
- *
- * @param {Object} prebuild A config object created by the `prebuild` package.
- * @param {string} napiVersion The N-APi version to be checked.
- * @return {boolean}
- * @private
- */
-var prebuildExists = function (prebuild, napiVersion) {
- if (prebuild) {
- for (var i = 0; i < prebuild.length; i++) {
- if (prebuild[i].target === napiVersion) return true
- }
- }
- return false
-}
-
-/**
- * Returns the best N-API version to build given the highest N-API
- * version supported by the current Node instance and the N-API versions
- * supported by the package, or undefined if a suitable N-API version
- * cannot be determined.
- *
- * The best build version is the greatest N-API version supported by
- * the package that is less than or equal to the highest N-API version
- * supported by the current Node instance.
- *
- * @returns {number|undefined}
- */
-exports.getBestNapiBuildVersion = function () {
- var bestNapiBuildVersion = 0
- var napiBuildVersions = exports.getNapiBuildVersions(pkg)
- if (napiBuildVersions) {
- var ourNapiVersion = exports.getNapiVersion()
- napiBuildVersions.forEach(function (napiBuildVersion) {
- if (napiBuildVersion > bestNapiBuildVersion &&
- napiBuildVersion <= ourNapiVersion) {
- bestNapiBuildVersion = napiBuildVersion
- }
- })
- }
- return bestNapiBuildVersion === 0 ? undefined : bestNapiBuildVersion
-}
-
-/**
- * Returns an array of N-API versions supported by the package.
- *
- * @returns {Array<string>}
- */
-exports.getNapiBuildVersions = function () {
- var napiBuildVersions = []
- // remove duplicates, convert to text
- if (pkg.binary && pkg.binary.napi_versions) {
- pkg.binary.napi_versions.forEach(function (napiVersion) {
- var duplicated = napiBuildVersions.indexOf('' + napiVersion) !== -1
- if (!duplicated) {
- napiBuildVersions.push('' + napiVersion)
- }
- })
- }
- return napiBuildVersions.length ? napiBuildVersions : undefined
-}
-
-/**
- * Returns the highest N-API version supported by the current node instance
- * or undefined if N-API is not supported.
- *
- * @returns {string|undefined}
- */
-exports.getNapiVersion = function () {
- var version = process.versions.napi // string, can be undefined
- if (!version) { // this code should never need to be updated
- if (versionArray[0] === 9 && versionArray[1] >= 3) version = '2' // 9.3.0+
- else if (versionArray[0] === 8) version = '1' // 8.0.0+
- }
- return version
-}
diff --git a/includes/search/node_modules/napi-build-utils/index.md b/includes/search/node_modules/napi-build-utils/index.md
deleted file mode 100644
index ce8d3e8..0000000
--- a/includes/search/node_modules/napi-build-utils/index.md
+++ /dev/null
@@ -1,81 +0,0 @@
-<a name="module_napi-build-utils"></a>
-
-## napi-build-utils
-A set of utilities to assist developers of tools that build
-[N-API](https://nodejs.org/api/n-api.html#n_api_n_api) native add-ons.
-
-The main repository can be found
-[here](https://github.com/inspiredware/napi-build-utils#napi-build-utils).
-
-
-* [napi-build-utils](#module_napi-build-utils)
- * [.isNapiRuntime(runtime)](#module_napi-build-utils.isNapiRuntime) ⇒ <code>boolean</code>
- * [.isSupportedVersion(napiVersion)](#module_napi-build-utils.isSupportedVersion) ⇒ <code>boolean</code>
- * [.logUnsupportedVersion(napiVersion, log)](#module_napi-build-utils.logUnsupportedVersion)
- * [.getBestNapiBuildVersion()](#module_napi-build-utils.getBestNapiBuildVersion) ⇒ <code>number</code> \| <code>undefined</code>
- * [.getNapiBuildVersions()](#module_napi-build-utils.getNapiBuildVersions) ⇒ <code>Array.&lt;string&gt;</code>
- * [.getNapiVersion()](#module_napi-build-utils.getNapiVersion) ⇒ <code>string</code> \| <code>undefined</code>
-
-<a name="module_napi-build-utils.isNapiRuntime"></a>
-
-### napi-build-utils.isNapiRuntime(runtime) ⇒ <code>boolean</code>
-Implements a consistent name of `napi` for N-API runtimes.
-
-**Kind**: static method of [<code>napi-build-utils</code>](#module_napi-build-utils)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| runtime | <code>string</code> | The runtime string. |
-
-<a name="module_napi-build-utils.isSupportedVersion"></a>
-
-### napi-build-utils.isSupportedVersion(napiVersion) ⇒ <code>boolean</code>
-Determines whether the specified N-API version is supported
-by both the currently running Node instance and the package.
-
-**Kind**: static method of [<code>napi-build-utils</code>](#module_napi-build-utils)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| napiVersion | <code>string</code> | The N-API version to check. |
-
-<a name="module_napi-build-utils.logUnsupportedVersion"></a>
-
-### napi-build-utils.logUnsupportedVersion(napiVersion, log)
-Issues a warning to the supplied log if the N-API version is not supported
-by the current Node instance or if the N-API version is not supported
-by the package.
-
-**Kind**: static method of [<code>napi-build-utils</code>](#module_napi-build-utils)
-
-| Param | Type | Description |
-| --- | --- | --- |
-| napiVersion | <code>string</code> | The N-API version to check. |
-| log | <code>Object</code> | The log object to which the warnings are to be issued. Must implement the `warn` method. |
-
-<a name="module_napi-build-utils.getBestNapiBuildVersion"></a>
-
-### napi-build-utils.getBestNapiBuildVersion() ⇒ <code>number</code> \| <code>undefined</code>
-Returns the best N-API version to build given the highest N-API
-version supported by the current Node instance and the N-API versions
-supported by the package, or undefined if a suitable N-API version
-cannot be determined.
-
-The best build version is the greatest N-API version supported by
-the package that is less than or equal to the highest N-API version
-supported by the current Node instance.
-
-**Kind**: static method of [<code>napi-build-utils</code>](#module_napi-build-utils)
-<a name="module_napi-build-utils.getNapiBuildVersions"></a>
-
-### napi-build-utils.getNapiBuildVersions() ⇒ <code>Array.&lt;string&gt;</code>
-Returns an array of N-API versions supported by the package.
-
-**Kind**: static method of [<code>napi-build-utils</code>](#module_napi-build-utils)
-<a name="module_napi-build-utils.getNapiVersion"></a>
-
-### napi-build-utils.getNapiVersion() ⇒ <code>string</code> \| <code>undefined</code>
-Returns the highest N-API version supported by the current node instance
-or undefined if N-API is not supported.
-
-**Kind**: static method of [<code>napi-build-utils</code>](#module_napi-build-utils)
diff --git a/includes/search/node_modules/napi-build-utils/package.json b/includes/search/node_modules/napi-build-utils/package.json
deleted file mode 100644
index 76cc948..0000000
--- a/includes/search/node_modules/napi-build-utils/package.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "napi-build-utils",
- "version": "1.0.2",
- "description": "A set of utilities to assist developers of tools that build N-API native add-ons",
- "main": "index.js",
- "scripts": {
- "doc": "jsdoc2md index.js >index.md",
- "test": "mocha test/ && npm run lint",
- "lint": "standard",
- "prepublishOnly": "npm run test && npm run doc"
- },
- "keywords": [
- "n-api",
- "prebuild",
- "prebuild-install"
- ],
- "author": "Jim Schlight",
- "license": "MIT",
- "homepage": "https://github.com/inspiredware/napi-build-utils#readme",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/inspiredware/napi-build-utils.git"
- },
- "bugs": {
- "url": "https://github.com/inspiredware/napi-build-utils/issues"
- },
- "devDependencies": {
- "chai": "^4.1.2",
- "jsdoc-to-markdown": "^4.0.1",
- "mocha": "^5.2.0",
- "standard": "^12.0.1"
- },
- "binary": {
- "note": "napi-build-tools is not an N-API module. This entry is for unit testing.",
- "napi_versions": [
- 2,
- 2,
- 3
- ]
- }
-}
diff --git a/includes/search/node_modules/node-abi/.circleci/config.yml b/includes/search/node_modules/node-abi/.circleci/config.yml
deleted file mode 100644
index 05479e2..0000000
--- a/includes/search/node_modules/node-abi/.circleci/config.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-step-restore-cache: &step-restore-cache
- restore_cache:
- keys:
- - v1-dependencies-{{ arch }}-{{ checksum "yarn.lock" }}
- - v1-dependencies-{{ arch }}
-
-steps-test: &steps-test
- steps:
- - checkout
- - *step-restore-cache
- - run: yarn --frozen-lockfile
- - save_cache:
- paths:
- - node_modules
- key: v1-dependencies-{{ arch }}-{{ checksum "yarn.lock" }}
- - run: yarn test
-
-version: 2.1
-orbs:
- cfa: continuousauth/npm@1.0.2
-jobs:
- test-linux-14:
- docker:
- - image: cimg/node:14.21
- <<: *steps-test
- test-linux-16:
- docker:
- - image: cimg/node:16.19
- <<: *steps-test
-
-workflows:
- test_and_release:
- # Run test jobs first, release only when all the test jobs are successful
- jobs:
- - test-linux-14
- - test-linux-16
- - cfa/release:
- requires:
- - test-linux-14
- - test-linux-16
- filters:
- branches:
- only:
- - main
- context: cfa-release
diff --git a/includes/search/node_modules/node-abi/.github/CODEOWNERS b/includes/search/node_modules/node-abi/.github/CODEOWNERS
deleted file mode 100644
index e0a96c2..0000000
--- a/includes/search/node_modules/node-abi/.github/CODEOWNERS
+++ /dev/null
@@ -1 +0,0 @@
-* @electron/wg-ecosystem @electron/wg-releases @electron/wg-upgrades
diff --git a/includes/search/node_modules/node-abi/.github/workflows/update-abi.yml b/includes/search/node_modules/node-abi/.github/workflows/update-abi.yml
deleted file mode 100644
index 36a4b56..0000000
--- a/includes/search/node_modules/node-abi/.github/workflows/update-abi.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-name: Auto-update ABI JSON file
-on:
- workflow_dispatch:
- schedule:
- - cron: '0 * * * *'
-jobs:
- autoupdate:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # tag: v3.3.0
- - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag: v3.6.0
- with:
- node-version: '12.x'
- - name: Get npm cache directory
- id: npm-cache
- run: |
- echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
- - uses: actions/cache@627f0f41f6904a5b1efbaed9f96d9eb58e92e920 # tag: v3.2.4
- with:
- path: ${{ steps.npm-cache.outputs.dir }}
- key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }}
- restore-keys: |
- ${{ runner.os }}-node-
- - run: npm install --no-package-lock
- - name: Update ABI registry
- run: npm run update-abi-registry
- - name: Commit Changes to ABI registry
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- echo "machine github.com login $GITHUB_ACTOR password $GITHUB_TOKEN" > ~/.netrc
- chmod 600 ~/.netrc
- git add abi_registry.json
- if test -n "$(git status -s)"; then
- git config user.name "GitHub Actions"
- git config user.email "github-actions@users.noreply.github.com"
- git diff --cached
- git commit -m "feat: update ABI registry"
- git push origin HEAD:$GITHUB_REF
- else
- echo No update needed
- fi
diff --git a/includes/search/node_modules/node-abi/.releaserc.json b/includes/search/node_modules/node-abi/.releaserc.json
deleted file mode 100644
index 693aa6e..0000000
--- a/includes/search/node_modules/node-abi/.releaserc.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "plugins": [
- "@semantic-release/commit-analyzer",
- "@semantic-release/release-notes-generator",
- "@continuous-auth/semantic-release-npm",
- "@semantic-release/github"
- ],
- "branches": [ "main" ]
- } \ No newline at end of file
diff --git a/includes/search/node_modules/node-abi/CODE_OF_CONDUCT.md b/includes/search/node_modules/node-abi/CODE_OF_CONDUCT.md
deleted file mode 100644
index a28ec15..0000000
--- a/includes/search/node_modules/node-abi/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, body
-size, disability, ethnicity, gender identity and expression, level of experience,
-nationality, personal appearance, race, religion, or sexual identity and
-orientation.
-
-## Our Standards
-
-Examples of behavior that contributes to creating a positive environment
-include:
-
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
-
-Examples of unacceptable behavior by participants include:
-
-* The use of sexualized language or imagery and unwelcome sexual attention or
- advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
- address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Our Responsibilities
-
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
-
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
-
-## Scope
-
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an appointed
-representative at an online or offline event. Representation of a project may be
-further defined and clarified by project maintainers.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at lukas.geiger94@gmail.com. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an incident.
-Further details of specific enforcement policies may be posted separately.
-
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at https://www.contributor-covenant.org/version/1/4/code-of-conduct/
-
-[homepage]: https://www.contributor-covenant.org
diff --git a/includes/search/node_modules/node-abi/CONTRIBUTING.md b/includes/search/node_modules/node-abi/CONTRIBUTING.md
deleted file mode 100644
index 1998136..0000000
--- a/includes/search/node_modules/node-abi/CONTRIBUTING.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# Contributing to `node-abi`
-
-:+1::tada: First off, thanks for taking the time to contribute to `node-abi`! :tada::+1:
-
-## Commit Message Guidelines
-
-This module uses [`semantic-release`](https://github.com/semantic-release/semantic-release) to automatically release new versions via [Continuous Auth](https://continuousauth.dev/).
-Therefor we have very precise rules over how our git commit messages can be formatted.
-
-Each commit message consists of a **header**, a **body** and a **footer**. The header has a special
-format that includes a **type**, a **scope** and a **subject** ([full explanation](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md)):
-
-```
-<type>(<scope>): <subject>
-<BLANK LINE>
-<body>
-<BLANK LINE>
-<footer>
-```
-
-### Type
-
-Must be one of the following:
-
-- **feat**: A new feature. **Will trigger a new release**
-- **fix**: A bug fix or a addition to one of the target arrays. **Will trigger a new release**
-- **docs**: Documentation only changes
-- **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
-- **refactor**: A code change that neither fixes a bug nor adds a feature
-- **perf**: A code change that improves performance
-- **test**: Adding missing or correcting existing tests
-- **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
-
-
-### Patch Release
-
-```
-fix(electron): Support Electron 1.8.0
-```
-
-### ~~Minor~~ Feature Release
-
-```
-feat: add .getTarget(abi, runtime)
-```
-
-### ~~Major~~ Breaking Release
-
-```
-feat: Add amazing new feature
-
-BREAKING CHANGE: This removes support for Node 0.10 and 0.12.
-```
-
-## Pull request guidelines
-
-Here are some things to keep in mind as you file pull requests to fix bugs, add new features, etc.:
-
-- CircleCI is used to make sure that the project builds packages as expected on the supported platforms, using supported Node.js versions.
-- Unless it's impractical, please write tests for your changes. This will help us so that we can spot regressions much easier.
-- Squashing commits during discussion of the pull request is almost always unnecessary, and makes it more difficult for both the submitters and reviewers to understand what changed in between comments. However, rebasing is encouraged when practical, particularly when there's a merge conflict.
-- If you are continuing the work of another person's PR and need to rebase/squash, please retain the attribution of the original author(s) and continue the work in subsequent commits.
diff --git a/includes/search/node_modules/node-abi/LICENSE b/includes/search/node_modules/node-abi/LICENSE
deleted file mode 100644
index 5513de0..0000000
--- a/includes/search/node_modules/node-abi/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2016 Lukas Geiger
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/node-abi/README.md b/includes/search/node_modules/node-abi/README.md
deleted file mode 100644
index c08a389..0000000
--- a/includes/search/node_modules/node-abi/README.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# Node.js ABI
-
-[![Build Status](https://circleci.com/gh/electron/node-abi/tree/main.svg?style=shield)](https://circleci.com/gh/electron/node-abi/tree/main)
-[![Auto-update ABI JSON file](https://github.com/electron/node-abi/actions/workflows/update-abi.yml/badge.svg)](https://github.com/electron/node-abi/actions/workflows/update-abi.yml)
-[![Snyk badge](https://snyk.io/test/github/electron/node-abi/badge.svg)](https://snyk.io/test/github/electron/node-abi)
-[![npm version](http://img.shields.io/npm/v/node-abi.svg)](https://npmjs.org/package/node-abi)
-
-Get the Node ABI (application binary interface) for a given target and runtime, and vice versa.
-
-## Installation
-```
-npm install node-abi
-```
-
-## Usage
-```javascript
-const nodeAbi = require('node-abi')
-
-nodeAbi.getAbi('7.2.0', 'node')
-// '51'
-nodeAbi.getAbi('1.4.10', 'electron')
-// '50'
-nodeAbi.getTarget('51', 'node')
-// '7.2.0'
-nodeAbi.getTarget('50', 'electron')
-// '1.4.15'
-
-nodeAbi.allTargets
-// [
-// { runtime: 'node', target: '0.10.48', abi: '11', lts: false },
-// { runtime: 'node', target: '0.12.17', abi: '14', lts: false },
-// { runtime: 'node', target: '4.6.1', abi: '46', lts: true },
-// { runtime: 'node', target: '5.12.0', abi: '47', lts: false },
-// { runtime: 'node', target: '6.9.4', abi: '48', lts: true },
-// { runtime: 'node', target: '7.4.0', abi: '51', lts: false },
-// { runtime: 'electron', target: '1.0.2', abi: '47', lts: false },
-// { runtime: 'electron', target: '1.2.8', abi: '48', lts: false },
-// { runtime: 'electron', target: '1.3.13', abi: '49', lts: false },
-// { runtime: 'electron', target: '1.4.15', abi: '50', lts: false }
-// ]
-nodeAbi.deprecatedTargets
-nodeAbi.supportedTargets
-nodeAbi.additionalTargets
-nodeAbi.futureTargets
-// ...
-```
-
-## References
-
-- https://github.com/lgeiger/electron-abi
-- https://nodejs.org/en/download/releases/
-- https://github.com/nodejs/Release
diff --git a/includes/search/node_modules/node-abi/abi_registry.json b/includes/search/node_modules/node-abi/abi_registry.json
deleted file mode 100644
index 4c46a85..0000000
--- a/includes/search/node_modules/node-abi/abi_registry.json
+++ /dev/null
@@ -1,262 +0,0 @@
-[
- {
- "runtime": "node",
- "target": "11.0.0",
- "lts": false,
- "future": false,
- "abi": "67"
- },
- {
- "runtime": "node",
- "target": "12.0.0",
- "lts": [
- "2019-10-21",
- "2020-11-30"
- ],
- "future": false,
- "abi": "72"
- },
- {
- "runtime": "node",
- "target": "13.0.0",
- "lts": false,
- "future": false,
- "abi": "79"
- },
- {
- "runtime": "node",
- "target": "14.0.0",
- "lts": [
- "2020-10-27",
- "2021-10-19"
- ],
- "future": false,
- "abi": "83"
- },
- {
- "runtime": "node",
- "target": "15.0.0",
- "lts": false,
- "future": false,
- "abi": "88"
- },
- {
- "runtime": "node",
- "target": "16.0.0",
- "lts": [
- "2021-10-26",
- "2022-10-18"
- ],
- "future": false,
- "abi": "93"
- },
- {
- "runtime": "node",
- "target": "17.0.0",
- "lts": false,
- "future": false,
- "abi": "102"
- },
- {
- "runtime": "node",
- "target": "18.0.0",
- "lts": [
- "2022-10-25",
- "2023-10-18"
- ],
- "future": false,
- "abi": "108"
- },
- {
- "runtime": "node",
- "target": "19.0.0",
- "lts": false,
- "future": false,
- "abi": "111"
- },
- {
- "runtime": "node",
- "target": "20.0.0",
- "lts": [
- "2023-10-24",
- "2024-10-22"
- ],
- "future": false,
- "abi": "115"
- },
- {
- "abi": "70",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "5.0.0-beta.9"
- },
- {
- "abi": "73",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "6.0.0-beta.1"
- },
- {
- "abi": "75",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "7.0.0-beta.1"
- },
- {
- "abi": "76",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "8.0.0-beta.1"
- },
- {
- "abi": "76",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "9.0.0-beta.1"
- },
- {
- "abi": "80",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "9.0.0-beta.2"
- },
- {
- "abi": "82",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "10.0.0-beta.1"
- },
- {
- "abi": "82",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "11.0.0-beta.1"
- },
- {
- "abi": "85",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "11.0.0-beta.11"
- },
- {
- "abi": "87",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "12.0.0-beta.1"
- },
- {
- "abi": "89",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "13.0.0-beta.2"
- },
- {
- "abi": "89",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "15.0.0-alpha.1"
- },
- {
- "abi": "89",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "14.0.0-beta.1"
- },
- {
- "abi": "97",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "14.0.2"
- },
- {
- "abi": "98",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "15.0.0-beta.7"
- },
- {
- "abi": "99",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "16.0.0-alpha.1"
- },
- {
- "abi": "101",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "17.0.0-alpha.1"
- },
- {
- "abi": "103",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "18.0.0-alpha.1"
- },
- {
- "abi": "106",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "19.0.0-alpha.1"
- },
- {
- "abi": "107",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "20.0.0-alpha.1"
- },
- {
- "abi": "109",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "21.0.0-alpha.1"
- },
- {
- "abi": "110",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "22.0.0-alpha.1"
- },
- {
- "abi": "113",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "23.0.0-alpha.1"
- },
- {
- "abi": "114",
- "future": false,
- "lts": false,
- "runtime": "electron",
- "target": "24.0.0-alpha.1"
- },
- {
- "abi": "116",
- "future": true,
- "lts": false,
- "runtime": "electron",
- "target": "25.0.0-alpha.1"
- }
-] \ No newline at end of file
diff --git a/includes/search/node_modules/node-abi/index.js b/includes/search/node_modules/node-abi/index.js
deleted file mode 100644
index f656135..0000000
--- a/includes/search/node_modules/node-abi/index.js
+++ /dev/null
@@ -1,179 +0,0 @@
-var semver = require('semver')
-
-function getNextTarget (runtime, targets) {
- if (targets == null) targets = allTargets
- var latest = targets.filter(function (t) { return t.runtime === runtime }).slice(-1)[0]
- var increment = runtime === 'electron' ? 'minor' : 'major'
- var next = semver.inc(latest.target, increment)
- // Electron releases appear in the registry in their beta form, sometimes there is
- // no active beta line. During this time we need to double bump
- if (runtime === 'electron' && semver.parse(latest.target).prerelease.length) {
- next = semver.inc(next, 'major')
- }
- return next
-}
-
-function getAbi (target, runtime) {
- if (target === String(Number(target))) return target
- if (target) target = target.replace(/^v/, '')
- if (!runtime) runtime = 'node'
-
- if (runtime === 'node') {
- if (!target) return process.versions.modules
- if (target === process.versions.node) return process.versions.modules
- }
-
- var abi
- var lastTarget
-
- for (var i = 0; i < allTargets.length; i++) {
- var t = allTargets[i]
- if (t.runtime !== runtime) continue
- if (semver.lte(t.target, target) && (!lastTarget || semver.gte(t.target, lastTarget))) {
- abi = t.abi
- lastTarget = t.target
- }
- }
-
- if (abi && semver.lt(target, getNextTarget(runtime))) return abi
- throw new Error('Could not detect abi for version ' + target + ' and runtime ' + runtime + '. Updating "node-abi" might help solve this issue if it is a new release of ' + runtime)
-}
-
-function getTarget (abi, runtime) {
- if (abi && abi !== String(Number(abi))) return abi
- if (!runtime) runtime = 'node'
-
- if (runtime === 'node' && !abi) return process.versions.node
-
- var match = allTargets
- .filter(function (t) {
- return t.abi === abi && t.runtime === runtime
- })
- .map(function (t) {
- return t.target
- })
- if (match.length) {
- var betaSeparatorIndex = match[0].indexOf("-")
- return betaSeparatorIndex > -1
- ? match[0].substring(0, betaSeparatorIndex)
- : match[0]
- }
-
- throw new Error('Could not detect target for abi ' + abi + ' and runtime ' + runtime)
-}
-
-function sortByTargetFn (a, b) {
- var abiComp = Number(a.abi) - Number(b.abi)
- if (abiComp !== 0) return abiComp
- if (a.target < b.target) return -1
- if (a.target > b.target) return 1
- return 0
-}
-
-function loadGeneratedTargets () {
- var registry = require('./abi_registry.json')
- var targets = {
- supported: [],
- additional: [],
- future: []
- }
-
- registry.forEach(function (item) {
- var target = {
- runtime: item.runtime,
- target: item.target,
- abi: item.abi
- }
- if (item.lts) {
- var startDate = new Date(Date.parse(item.lts[0]))
- var endDate = new Date(Date.parse(item.lts[1]))
- var currentDate = new Date()
- target.lts = startDate < currentDate && currentDate < endDate
- } else {
- target.lts = false
- }
-
- if (target.runtime === 'node-webkit') {
- targets.additional.push(target)
- } else if (item.future) {
- targets.future.push(target)
- } else {
- targets.supported.push(target)
- }
- })
-
- targets.supported.sort(sortByTargetFn)
- targets.additional.sort(sortByTargetFn)
- targets.future.sort(sortByTargetFn)
-
- return targets
-}
-
-var generatedTargets = loadGeneratedTargets()
-
-var supportedTargets = [
- {runtime: 'node', target: '5.0.0', abi: '47', lts: false},
- {runtime: 'node', target: '6.0.0', abi: '48', lts: false},
- {runtime: 'node', target: '7.0.0', abi: '51', lts: false},
- {runtime: 'node', target: '8.0.0', abi: '57', lts: false},
- {runtime: 'node', target: '9.0.0', abi: '59', lts: false},
- {runtime: 'node', target: '10.0.0', abi: '64', lts: new Date(2018, 10, 1) < new Date() && new Date() < new Date(2020, 4, 31)},
- {runtime: 'electron', target: '0.36.0', abi: '47', lts: false},
- {runtime: 'electron', target: '1.1.0', abi: '48', lts: false},
- {runtime: 'electron', target: '1.3.0', abi: '49', lts: false},
- {runtime: 'electron', target: '1.4.0', abi: '50', lts: false},
- {runtime: 'electron', target: '1.5.0', abi: '51', lts: false},
- {runtime: 'electron', target: '1.6.0', abi: '53', lts: false},
- {runtime: 'electron', target: '1.7.0', abi: '54', lts: false},
- {runtime: 'electron', target: '1.8.0', abi: '57', lts: false},
- {runtime: 'electron', target: '2.0.0', abi: '57', lts: false},
- {runtime: 'electron', target: '3.0.0', abi: '64', lts: false},
- {runtime: 'electron', target: '4.0.0', abi: '64', lts: false},
- {runtime: 'electron', target: '4.0.4', abi: '69', lts: false}
-]
-
-supportedTargets.push.apply(supportedTargets, generatedTargets.supported)
-
-var additionalTargets = [
- {runtime: 'node-webkit', target: '0.13.0', abi: '47', lts: false},
- {runtime: 'node-webkit', target: '0.15.0', abi: '48', lts: false},
- {runtime: 'node-webkit', target: '0.18.3', abi: '51', lts: false},
- {runtime: 'node-webkit', target: '0.23.0', abi: '57', lts: false},
- {runtime: 'node-webkit', target: '0.26.5', abi: '59', lts: false}
-]
-
-additionalTargets.push.apply(additionalTargets, generatedTargets.additional)
-
-var deprecatedTargets = [
- {runtime: 'node', target: '0.2.0', abi: '1', lts: false},
- {runtime: 'node', target: '0.9.1', abi: '0x000A', lts: false},
- {runtime: 'node', target: '0.9.9', abi: '0x000B', lts: false},
- {runtime: 'node', target: '0.10.4', abi: '11', lts: false},
- {runtime: 'node', target: '0.11.0', abi: '0x000C', lts: false},
- {runtime: 'node', target: '0.11.8', abi: '13', lts: false},
- {runtime: 'node', target: '0.11.11', abi: '14', lts: false},
- {runtime: 'node', target: '1.0.0', abi: '42', lts: false},
- {runtime: 'node', target: '1.1.0', abi: '43', lts: false},
- {runtime: 'node', target: '2.0.0', abi: '44', lts: false},
- {runtime: 'node', target: '3.0.0', abi: '45', lts: false},
- {runtime: 'node', target: '4.0.0', abi: '46', lts: false},
- {runtime: 'electron', target: '0.30.0', abi: '44', lts: false},
- {runtime: 'electron', target: '0.31.0', abi: '45', lts: false},
- {runtime: 'electron', target: '0.33.0', abi: '46', lts: false}
-]
-
-var futureTargets = generatedTargets.future
-
-var allTargets = deprecatedTargets
- .concat(supportedTargets)
- .concat(additionalTargets)
- .concat(futureTargets)
-
-exports.getAbi = getAbi
-exports.getTarget = getTarget
-exports.deprecatedTargets = deprecatedTargets
-exports.supportedTargets = supportedTargets
-exports.additionalTargets = additionalTargets
-exports.futureTargets = futureTargets
-exports.allTargets = allTargets
-exports._getNextTarget = getNextTarget
diff --git a/includes/search/node_modules/node-abi/package.json b/includes/search/node_modules/node-abi/package.json
deleted file mode 100644
index 4c44b76..0000000
--- a/includes/search/node_modules/node-abi/package.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "node-abi",
- "version": "3.40.0",
- "description": "Get the Node ABI for a given target and runtime, and vice versa.",
- "main": "index.js",
- "scripts": {
- "test": "tape test/index.js",
- "update-abi-registry": "node --unhandled-rejections=strict scripts/update-abi-registry.js"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/electron/node-abi.git"
- },
- "keywords": [
- "node",
- "electron",
- "node_module_version",
- "abi",
- "v8"
- ],
- "author": "Lukas Geiger",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/electron/node-abi/issues"
- },
- "homepage": "https://github.com/electron/node-abi#readme",
- "devDependencies": {
- "@continuous-auth/semantic-release-npm": "^3.0.0",
- "got": "^11.8.2",
- "tape": "^5.3.1"
- },
- "dependencies": {
- "semver": "^7.3.5"
- },
- "engines": {
- "node": ">=10"
- }
-}
diff --git a/includes/search/node_modules/node-abi/scripts/update-abi-registry.js b/includes/search/node_modules/node-abi/scripts/update-abi-registry.js
deleted file mode 100644
index 2772f4c..0000000
--- a/includes/search/node_modules/node-abi/scripts/update-abi-registry.js
+++ /dev/null
@@ -1,119 +0,0 @@
-const got = require('got')
-const path = require('path')
-const semver = require('semver')
-const { writeFile } = require('fs').promises
-
-async function getJSONFromCDN (urlPath) {
- const response = await got(`https://cdn.jsdelivr.net/gh/${urlPath}`)
- return JSON.parse(response.body)
-}
-
-async function fetchElectronReleases () {
- const response = await got(`https://electronjs.org/headers/index.json`)
- return JSON.parse(response.body)
-}
-
-async function fetchNodeVersions () {
- const schedule = await getJSONFromCDN('nodejs/Release/schedule.json')
- const versions = {}
-
- for (const [majorVersion, metadata] of Object.entries(schedule)) {
- if (majorVersion.startsWith('v0')) {
- continue
- }
- const version = `${majorVersion.slice(1)}.0.0`
- const lts = metadata.hasOwnProperty('lts') ? [metadata.lts, metadata.maintenance] : false
- versions[version] = {
- runtime: 'node',
- target: version,
- lts: lts,
- future: new Date(Date.parse(metadata.start)) > new Date()
- }
- }
-
- return versions
-}
-
-async function fetchAbiVersions () {
- return (await getJSONFromCDN('nodejs/node/doc/abi_version_registry.json'))
- .NODE_MODULE_VERSION
- .filter(({ modules }) => modules > 66)
-}
-
-function electronReleasesToTargets (releases) {
- const versions = releases.map(({ version }) => version)
- const versionsByModules = releases
- .filter(release => Number(release.modules) >= 70)
- .map(({ version, modules }) => ({
- version,
- modules,
- }))
- .filter(({ version }) => !version.includes('nightly'))
- .sort((a, b) => Number(a.modules) - Number(b.modules))
- .reduce(
- (acc, { modules, version }) => ({
- ...acc,
- [`${version.split('.')[0]}-${modules}`]: {
- version,
- modules,
- }
- }),
- {}
- )
-
- return Object.entries(versionsByModules)
- .map(
- ([major, {version, modules}]) => ({
- abi: modules,
- future: !versions.find(
- v => {
- const major = version.split(".")[0]
- return semver.satisfies(
- v,
- /^[0-9]/.test(major) ? `>= ${major}` : major
- )
- }
- ),
- lts: false,
- runtime: 'electron',
- target: version
- })
- )
-}
-
-function nodeVersionsToTargets (abiVersions, nodeVersions) {
- return Object.values(
- abiVersions
- .filter(({ runtime }) => runtime === 'node')
- .reduce(
- (acc, abiVersion) => {
- const { version: nodeVersion } = semver.coerce(abiVersion.versions)
-
- return {
- [nodeVersion]: {
- ...nodeVersions[nodeVersion],
- abi: abiVersion.modules.toString(),
- },
- ...acc,
- };
- },
- {}
- )
- )
-}
-
-async function main () {
- const nodeVersions = await fetchNodeVersions()
- const abiVersions = await fetchAbiVersions()
- const electronReleases = await fetchElectronReleases()
- const electronTargets = electronReleasesToTargets(electronReleases)
- const nodeTargets = nodeVersionsToTargets(abiVersions, nodeVersions)
- const supportedTargets = [
- ...nodeTargets,
- ...electronTargets,
- ]
-
- await writeFile(path.resolve(__dirname, '..', 'abi_registry.json'), JSON.stringify(supportedTargets, null, 2))
-}
-
-main()
diff --git a/includes/search/node_modules/node-abi/test/index.js b/includes/search/node_modules/node-abi/test/index.js
deleted file mode 100644
index e33790c..0000000
--- a/includes/search/node_modules/node-abi/test/index.js
+++ /dev/null
@@ -1,166 +0,0 @@
-var test = require('tape')
-var semver = require('semver')
-var getAbi = require('../index').getAbi
-var getTarget = require('../index').getTarget
-var getNextTarget = require('../index')._getNextTarget
-var allTargets = require('../index').allTargets
-
-test('getNextTarget gets the next unsupported target', function (t) {
- var mockTargets = [
- {runtime: 'node', target: '7.0.0', abi: '51', lts: false},
- {runtime: 'node', target: '8.0.0', abi: '57', lts: false},
- {runtime: 'electron', target: '0.36.0', abi: '47', lts: false},
- {runtime: 'electron', target: '1.1.0', abi: '48', lts: false}
- ]
- t.equal(getNextTarget('node', mockTargets), '9.0.0')
- t.equal(getNextTarget('electron', mockTargets), '1.2.0')
- t.end()
-})
-
-test('getTarget calculates correct Node target', function (t) {
- t.equal(getTarget(undefined), process.versions.node)
- t.equal(getTarget(null), process.versions.node)
- t.equal(getTarget('11'), '0.10.4')
- t.equal(getTarget('14'), '0.11.11')
- t.equal(getTarget('46'), '4.0.0')
- t.equal(getTarget('47'), '5.0.0')
- t.equal(getTarget('48'), '6.0.0')
- t.equal(getTarget('51'), '7.0.0')
- t.equal(getTarget('67'), '11.0.0')
- t.equal(getTarget('72'), '12.0.0')
- t.equal(getTarget('83'), '14.0.0')
- t.equal(getTarget('88'), '15.0.0')
- t.end()
-})
-
-test('getTarget calculates correct Electron target', function (t) {
- t.throws(getTarget.bind(null, '14', 'electron'))
- t.equal(getTarget('47', 'electron'), '0.36.0')
- t.equal(getTarget('48', 'electron'), '1.1.0')
- t.equal(getTarget('49', 'electron'), '1.3.0')
- t.equal(getTarget('50', 'electron'), '1.4.0')
- t.equal(getTarget('76', 'electron'), '8.0.0')
- t.equal(getTarget('82', 'electron'), '10.0.0')
- t.equal(getTarget('89', 'electron'), '13.0.0')
- t.end()
-})
-
-test('getTarget calculates correct Node-Webkit target', function (t) {
- t.throws(getTarget.bind(null, '14', 'ode-webkit'))
- t.equal(getTarget('47', 'node-webkit'), '0.13.0')
- t.equal(getTarget('48', 'node-webkit'), '0.15.0')
- t.equal(getTarget('51', 'node-webkit'), '0.18.3')
- t.equal(getTarget('57', 'node-webkit'), '0.23.0')
- t.equal(getTarget('59', 'node-webkit'), '0.26.5')
- t.end()
-})
-
-test('getAbi calculates correct Node ABI', function (t) {
- t.equal(getAbi(undefined), process.versions.modules)
- t.equal(getAbi(null), process.versions.modules)
- t.throws(function () { getAbi('a.b.c') })
- t.throws(function () { getAbi(getNextTarget('node')) })
- t.equal(getAbi('15.0.0'), '88')
- t.equal(getAbi('14.0.0'), '83')
- t.equal(getAbi('13.0.0'), '79')
- t.equal(getAbi('12.0.0'), '72')
- t.equal(getAbi('11.0.0'), '67')
- t.equal(getAbi('7.2.0'), '51')
- t.equal(getAbi('7.0.0'), '51')
- t.equal(getAbi('6.9.9'), '48')
- t.equal(getAbi('6.0.0'), '48')
- t.equal(getAbi('5.9.9'), '47')
- t.equal(getAbi('5.0.0'), '47')
- t.equal(getAbi('4.9.9'), '46')
- t.equal(getAbi('4.0.0'), '46')
- t.equal(getAbi('0.12.17'), '14')
- t.equal(getAbi('0.12.0'), '14')
- t.equal(getAbi('0.11.16'), '14')
- t.equal(getAbi('0.11.11'), '14')
- t.equal(getAbi('0.11.10'), '13')
- t.equal(getAbi('0.11.8'), '13')
- t.equal(getAbi('0.11.7'), '0x000C')
- t.equal(getAbi('0.11.0'), '0x000C')
- t.equal(getAbi('0.10.48'), '11')
- t.equal(getAbi('0.10.30'), '11')
- t.equal(getAbi('0.10.4'), '11')
- t.equal(getAbi('0.10.3'), '0x000B')
- t.equal(getAbi('0.10.1'), '0x000B')
- t.equal(getAbi('0.10.0'), '0x000B')
- t.equal(getAbi('0.9.12'), '0x000B')
- t.equal(getAbi('0.9.9'), '0x000B')
- t.equal(getAbi('0.9.8'), '0x000A')
- t.equal(getAbi('0.9.1'), '0x000A')
- t.equal(getAbi('0.9.0'), '1')
- t.equal(getAbi('0.8.0'), '1')
- t.equal(getAbi('0.2.0'), '1')
- t.end()
-})
-
-test('getAbi calculates correct Electron ABI', function (t) {
- t.throws(function () { getAbi(undefined, 'electron') })
- t.throws(function () { getAbi(getNextTarget('electron'), 'electron') })
- t.equal(getAbi('15.0.0-beta.1', 'electron'), '89')
- t.equal(getAbi('14.1.1', 'electron'), '97')
- t.equal(getAbi('14.0.0', 'electron'), '89')
- t.equal(getAbi('13.0.0', 'electron'), '89')
- t.equal(getAbi('12.0.0', 'electron'), '87')
- t.equal(getAbi('11.0.0', 'electron'), '85')
- t.equal(getAbi('10.0.0', 'electron'), '82')
- t.equal(getAbi('9.0.0', 'electron'), '80')
- t.equal(getAbi('8.0.0', 'electron'), '76')
- t.equal(getAbi('7.0.0', 'electron'), '75')
- t.equal(getAbi('6.0.0', 'electron'), '73')
- t.equal(getAbi('5.0.0', 'electron'), '70')
- t.equal(getAbi('4.1.4', 'electron'), '69')
- t.equal(getAbi('4.0.4', 'electron'), '69')
- t.equal(getAbi('4.0.3', 'electron'), '64')
- t.equal(getAbi('3.1.8', 'electron'), '64')
- t.equal(getAbi('2.0.18', 'electron'), '57')
- t.equal(getAbi('1.4.0', 'electron'), '50')
- t.equal(getAbi('1.3.0', 'electron'), '49')
- t.equal(getAbi('1.2.0', 'electron'), '48')
- t.equal(getAbi('1.1.0', 'electron'), '48')
- t.equal(getAbi('1.0.0', 'electron'), '47')
- t.equal(getAbi('0.37.0', 'electron'), '47')
- t.equal(getAbi('0.36.0', 'electron'), '47')
- t.equal(getAbi('0.35.0', 'electron'), '46')
- t.equal(getAbi('0.34.0', 'electron'), '46')
- t.equal(getAbi('0.33.0', 'electron'), '46')
- t.equal(getAbi('0.32.0', 'electron'), '45')
- t.equal(getAbi('0.31.0', 'electron'), '45')
- t.equal(getAbi('0.30.0', 'electron'), '44')
- t.end()
-})
-
-test('getAbi calculates correct Node-Webkit ABI', function (t) {
- t.throws(function () { getAbi(undefined, 'node-webkit') })
- t.throws(function () { getAbi(getNextTarget('node-webkit'), 'node-webkit') })
- t.equal(getAbi('0.13.0', 'node-webkit'), '47')
- t.equal(getAbi('0.14.0', 'node-webkit'), '47')
- t.equal(getAbi('0.15.0', 'node-webkit'), '48')
- t.equal(getAbi('0.16.0', 'node-webkit'), '48')
- t.equal(getAbi('0.17.0', 'node-webkit'), '48')
- t.equal(getAbi('0.18.2', 'node-webkit'), '48')
- t.equal(getAbi('0.18.3', 'node-webkit'), '51')
- t.equal(getAbi('0.19.0', 'node-webkit'), '51')
- t.equal(getAbi('0.20.0', 'node-webkit'), '51')
- t.equal(getAbi('0.21.0', 'node-webkit'), '51')
- t.equal(getAbi('0.22.0', 'node-webkit'), '51')
- t.equal(getAbi('0.23.0', 'node-webkit'), '57')
- t.equal(getAbi('0.24.0', 'node-webkit'), '57')
- t.equal(getAbi('0.25.0', 'node-webkit'), '57')
- t.equal(getAbi('0.26.4', 'node-webkit'), '57')
- t.equal(getAbi('0.26.5', 'node-webkit'), '59')
- t.end()
-})
-
-test('getAbi supports leading v', function (t) {
- t.equal(getAbi('v7.2.0'), '51')
- t.end()
-})
-
-test('getAbi returns abi if passed as target', function (t) {
- t.equal(getAbi('57'), '57')
- t.end()
-})
diff --git a/includes/search/node_modules/node-fetch/LICENSE.md b/includes/search/node_modules/node-fetch/LICENSE.md
deleted file mode 100644
index 660ffec..0000000
--- a/includes/search/node_modules/node-fetch/LICENSE.md
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2016 David Frank
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
diff --git a/includes/search/node_modules/node-fetch/README.md b/includes/search/node_modules/node-fetch/README.md
deleted file mode 100644
index 4f87a59..0000000
--- a/includes/search/node_modules/node-fetch/README.md
+++ /dev/null
@@ -1,633 +0,0 @@
-node-fetch
-==========
-
-[![npm version][npm-image]][npm-url]
-[![build status][travis-image]][travis-url]
-[![coverage status][codecov-image]][codecov-url]
-[![install size][install-size-image]][install-size-url]
-[![Discord][discord-image]][discord-url]
-
-A light-weight module that brings `window.fetch` to Node.js
-
-(We are looking for [v2 maintainers and collaborators](https://github.com/bitinn/node-fetch/issues/567))
-
-[![Backers][opencollective-image]][opencollective-url]
-
-<!-- TOC -->
-
-- [Motivation](#motivation)
-- [Features](#features)
-- [Difference from client-side fetch](#difference-from-client-side-fetch)
-- [Installation](#installation)
-- [Loading and configuring the module](#loading-and-configuring-the-module)
-- [Common Usage](#common-usage)
- - [Plain text or HTML](#plain-text-or-html)
- - [JSON](#json)
- - [Simple Post](#simple-post)
- - [Post with JSON](#post-with-json)
- - [Post with form parameters](#post-with-form-parameters)
- - [Handling exceptions](#handling-exceptions)
- - [Handling client and server errors](#handling-client-and-server-errors)
-- [Advanced Usage](#advanced-usage)
- - [Streams](#streams)
- - [Buffer](#buffer)
- - [Accessing Headers and other Meta data](#accessing-headers-and-other-meta-data)
- - [Extract Set-Cookie Header](#extract-set-cookie-header)
- - [Post data using a file stream](#post-data-using-a-file-stream)
- - [Post with form-data (detect multipart)](#post-with-form-data-detect-multipart)
- - [Request cancellation with AbortSignal](#request-cancellation-with-abortsignal)
-- [API](#api)
- - [fetch(url[, options])](#fetchurl-options)
- - [Options](#options)
- - [Class: Request](#class-request)
- - [Class: Response](#class-response)
- - [Class: Headers](#class-headers)
- - [Interface: Body](#interface-body)
- - [Class: FetchError](#class-fetcherror)
-- [License](#license)
-- [Acknowledgement](#acknowledgement)
-
-<!-- /TOC -->
-
-## Motivation
-
-Instead of implementing `XMLHttpRequest` in Node.js to run browser-specific [Fetch polyfill](https://github.com/github/fetch), why not go from native `http` to `fetch` API directly? Hence, `node-fetch`, minimal code for a `window.fetch` compatible API on Node.js runtime.
-
-See Matt Andrews' [isomorphic-fetch](https://github.com/matthew-andrews/isomorphic-fetch) or Leonardo Quixada's [cross-fetch](https://github.com/lquixada/cross-fetch) for isomorphic usage (exports `node-fetch` for server-side, `whatwg-fetch` for client-side).
-
-## Features
-
-- Stay consistent with `window.fetch` API.
-- Make conscious trade-off when following [WHATWG fetch spec][whatwg-fetch] and [stream spec](https://streams.spec.whatwg.org/) implementation details, document known differences.
-- Use native promise but allow substituting it with [insert your favorite promise library].
-- Use native Node streams for body on both request and response.
-- Decode content encoding (gzip/deflate) properly and convert string output (such as `res.text()` and `res.json()`) to UTF-8 automatically.
-- Useful extensions such as timeout, redirect limit, response size limit, [explicit errors](ERROR-HANDLING.md) for troubleshooting.
-
-## Difference from client-side fetch
-
-- See [Known Differences](LIMITS.md) for details.
-- If you happen to use a missing feature that `window.fetch` offers, feel free to open an issue.
-- Pull requests are welcomed too!
-
-## Installation
-
-Current stable release (`2.x`)
-
-```sh
-$ npm install node-fetch
-```
-
-## Loading and configuring the module
-We suggest you load the module via `require` until the stabilization of ES modules in node:
-```js
-const fetch = require('node-fetch');
-```
-
-If you are using a Promise library other than native, set it through `fetch.Promise`:
-```js
-const Bluebird = require('bluebird');
-
-fetch.Promise = Bluebird;
-```
-
-## Common Usage
-
-NOTE: The documentation below is up-to-date with `2.x` releases; see the [`1.x` readme](https://github.com/bitinn/node-fetch/blob/1.x/README.md), [changelog](https://github.com/bitinn/node-fetch/blob/1.x/CHANGELOG.md) and [2.x upgrade guide](UPGRADE-GUIDE.md) for the differences.
-
-#### Plain text or HTML
-```js
-fetch('https://github.com/')
- .then(res => res.text())
- .then(body => console.log(body));
-```
-
-#### JSON
-
-```js
-
-fetch('https://api.github.com/users/github')
- .then(res => res.json())
- .then(json => console.log(json));
-```
-
-#### Simple Post
-```js
-fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' })
- .then(res => res.json()) // expecting a json response
- .then(json => console.log(json));
-```
-
-#### Post with JSON
-
-```js
-const body = { a: 1 };
-
-fetch('https://httpbin.org/post', {
- method: 'post',
- body: JSON.stringify(body),
- headers: { 'Content-Type': 'application/json' },
- })
- .then(res => res.json())
- .then(json => console.log(json));
-```
-
-#### Post with form parameters
-`URLSearchParams` is available in Node.js as of v7.5.0. See [official documentation](https://nodejs.org/api/url.html#url_class_urlsearchparams) for more usage methods.
-
-NOTE: The `Content-Type` header is only set automatically to `x-www-form-urlencoded` when an instance of `URLSearchParams` is given as such:
-
-```js
-const { URLSearchParams } = require('url');
-
-const params = new URLSearchParams();
-params.append('a', 1);
-
-fetch('https://httpbin.org/post', { method: 'POST', body: params })
- .then(res => res.json())
- .then(json => console.log(json));
-```
-
-#### Handling exceptions
-NOTE: 3xx-5xx responses are *NOT* exceptions and should be handled in `then()`; see the next section for more information.
-
-Adding a catch to the fetch promise chain will catch *all* exceptions, such as errors originating from node core libraries, network errors and operational errors, which are instances of FetchError. See the [error handling document](ERROR-HANDLING.md) for more details.
-
-```js
-fetch('https://domain.invalid/')
- .catch(err => console.error(err));
-```
-
-#### Handling client and server errors
-It is common to create a helper function to check that the response contains no client (4xx) or server (5xx) error responses:
-
-```js
-function checkStatus(res) {
- if (res.ok) { // res.status >= 200 && res.status < 300
- return res;
- } else {
- throw MyCustomError(res.statusText);
- }
-}
-
-fetch('https://httpbin.org/status/400')
- .then(checkStatus)
- .then(res => console.log('will not get here...'))
-```
-
-## Advanced Usage
-
-#### Streams
-The "Node.js way" is to use streams when possible:
-
-```js
-fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png')
- .then(res => {
- const dest = fs.createWriteStream('./octocat.png');
- res.body.pipe(dest);
- });
-```
-
-In Node.js 14 you can also use async iterators to read `body`; however, be careful to catch
-errors -- the longer a response runs, the more likely it is to encounter an error.
-
-```js
-const fetch = require('node-fetch');
-const response = await fetch('https://httpbin.org/stream/3');
-try {
- for await (const chunk of response.body) {
- console.dir(JSON.parse(chunk.toString()));
- }
-} catch (err) {
- console.error(err.stack);
-}
-```
-
-In Node.js 12 you can also use async iterators to read `body`; however, async iterators with streams
-did not mature until Node.js 14, so you need to do some extra work to ensure you handle errors
-directly from the stream and wait on it response to fully close.
-
-```js
-const fetch = require('node-fetch');
-const read = async body => {
- let error;
- body.on('error', err => {
- error = err;
- });
- for await (const chunk of body) {
- console.dir(JSON.parse(chunk.toString()));
- }
- return new Promise((resolve, reject) => {
- body.on('close', () => {
- error ? reject(error) : resolve();
- });
- });
-};
-try {
- const response = await fetch('https://httpbin.org/stream/3');
- await read(response.body);
-} catch (err) {
- console.error(err.stack);
-}
-```
-
-#### Buffer
-If you prefer to cache binary data in full, use buffer(). (NOTE: `buffer()` is a `node-fetch`-only API)
-
-```js
-const fileType = require('file-type');
-
-fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png')
- .then(res => res.buffer())
- .then(buffer => fileType(buffer))
- .then(type => { /* ... */ });
-```
-
-#### Accessing Headers and other Meta data
-```js
-fetch('https://github.com/')
- .then(res => {
- console.log(res.ok);
- console.log(res.status);
- console.log(res.statusText);
- console.log(res.headers.raw());
- console.log(res.headers.get('content-type'));
- });
-```
-
-#### Extract Set-Cookie Header
-
-Unlike browsers, you can access raw `Set-Cookie` headers manually using `Headers.raw()`. This is a `node-fetch` only API.
-
-```js
-fetch(url).then(res => {
- // returns an array of values, instead of a string of comma-separated values
- console.log(res.headers.raw()['set-cookie']);
-});
-```
-
-#### Post data using a file stream
-
-```js
-const { createReadStream } = require('fs');
-
-const stream = createReadStream('input.txt');
-
-fetch('https://httpbin.org/post', { method: 'POST', body: stream })
- .then(res => res.json())
- .then(json => console.log(json));
-```
-
-#### Post with form-data (detect multipart)
-
-```js
-const FormData = require('form-data');
-
-const form = new FormData();
-form.append('a', 1);
-
-fetch('https://httpbin.org/post', { method: 'POST', body: form })
- .then(res => res.json())
- .then(json => console.log(json));
-
-// OR, using custom headers
-// NOTE: getHeaders() is non-standard API
-
-const form = new FormData();
-form.append('a', 1);
-
-const options = {
- method: 'POST',
- body: form,
- headers: form.getHeaders()
-}
-
-fetch('https://httpbin.org/post', options)
- .then(res => res.json())
- .then(json => console.log(json));
-```
-
-#### Request cancellation with AbortSignal
-
-> NOTE: You may cancel streamed requests only on Node >= v8.0.0
-
-You may cancel requests with `AbortController`. A suggested implementation is [`abort-controller`](https://www.npmjs.com/package/abort-controller).
-
-An example of timing out a request after 150ms could be achieved as the following:
-
-```js
-import AbortController from 'abort-controller';
-
-const controller = new AbortController();
-const timeout = setTimeout(
- () => { controller.abort(); },
- 150,
-);
-
-fetch(url, { signal: controller.signal })
- .then(res => res.json())
- .then(
- data => {
- useData(data)
- },
- err => {
- if (err.name === 'AbortError') {
- // request was aborted
- }
- },
- )
- .finally(() => {
- clearTimeout(timeout);
- });
-```
-
-See [test cases](https://github.com/bitinn/node-fetch/blob/master/test/test.js) for more examples.
-
-
-## API
-
-### fetch(url[, options])
-
-- `url` A string representing the URL for fetching
-- `options` [Options](#fetch-options) for the HTTP(S) request
-- Returns: <code>Promise&lt;[Response](#class-response)&gt;</code>
-
-Perform an HTTP(S) fetch.
-
-`url` should be an absolute url, such as `https://example.com/`. A path-relative URL (`/file/under/root`) or protocol-relative URL (`//can-be-http-or-https.com/`) will result in a rejected `Promise`.
-
-<a id="fetch-options"></a>
-### Options
-
-The default values are shown after each option key.
-
-```js
-{
- // These properties are part of the Fetch Standard
- method: 'GET',
- headers: {}, // request headers. format is the identical to that accepted by the Headers constructor (see below)
- body: null, // request body. can be null, a string, a Buffer, a Blob, or a Node.js Readable stream
- redirect: 'follow', // set to `manual` to extract redirect headers, `error` to reject redirect
- signal: null, // pass an instance of AbortSignal to optionally abort requests
-
- // The following properties are node-fetch extensions
- follow: 20, // maximum redirect count. 0 to not follow redirect
- timeout: 0, // req/res timeout in ms, it resets on redirect. 0 to disable (OS limit applies). Signal is recommended instead.
- compress: true, // support gzip/deflate content encoding. false to disable
- size: 0, // maximum response body size in bytes. 0 to disable
- agent: null // http(s).Agent instance or function that returns an instance (see below)
-}
-```
-
-##### Default Headers
-
-If no values are set, the following request headers will be sent automatically:
-
-Header | Value
-------------------- | --------------------------------------------------------
-`Accept-Encoding` | `gzip,deflate` _(when `options.compress === true`)_
-`Accept` | `*/*`
-`Connection` | `close` _(when no `options.agent` is present)_
-`Content-Length` | _(automatically calculated, if possible)_
-`Transfer-Encoding` | `chunked` _(when `req.body` is a stream)_
-`User-Agent` | `node-fetch/1.0 (+https://github.com/bitinn/node-fetch)`
-
-Note: when `body` is a `Stream`, `Content-Length` is not set automatically.
-
-##### Custom Agent
-
-The `agent` option allows you to specify networking related options which are out of the scope of Fetch, including and not limited to the following:
-
-- Support self-signed certificate
-- Use only IPv4 or IPv6
-- Custom DNS Lookup
-
-See [`http.Agent`](https://nodejs.org/api/http.html#http_new_agent_options) for more information.
-
-In addition, the `agent` option accepts a function that returns `http`(s)`.Agent` instance given current [URL](https://nodejs.org/api/url.html), this is useful during a redirection chain across HTTP and HTTPS protocol.
-
-```js
-const httpAgent = new http.Agent({
- keepAlive: true
-});
-const httpsAgent = new https.Agent({
- keepAlive: true
-});
-
-const options = {
- agent: function (_parsedURL) {
- if (_parsedURL.protocol == 'http:') {
- return httpAgent;
- } else {
- return httpsAgent;
- }
- }
-}
-```
-
-<a id="class-request"></a>
-### Class: Request
-
-An HTTP(S) request containing information about URL, method, headers, and the body. This class implements the [Body](#iface-body) interface.
-
-Due to the nature of Node.js, the following properties are not implemented at this moment:
-
-- `type`
-- `destination`
-- `referrer`
-- `referrerPolicy`
-- `mode`
-- `credentials`
-- `cache`
-- `integrity`
-- `keepalive`
-
-The following node-fetch extension properties are provided:
-
-- `follow`
-- `compress`
-- `counter`
-- `agent`
-
-See [options](#fetch-options) for exact meaning of these extensions.
-
-#### new Request(input[, options])
-
-<small>*(spec-compliant)*</small>
-
-- `input` A string representing a URL, or another `Request` (which will be cloned)
-- `options` [Options][#fetch-options] for the HTTP(S) request
-
-Constructs a new `Request` object. The constructor is identical to that in the [browser](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request).
-
-In most cases, directly `fetch(url, options)` is simpler than creating a `Request` object.
-
-<a id="class-response"></a>
-### Class: Response
-
-An HTTP(S) response. This class implements the [Body](#iface-body) interface.
-
-The following properties are not implemented in node-fetch at this moment:
-
-- `Response.error()`
-- `Response.redirect()`
-- `type`
-- `trailer`
-
-#### new Response([body[, options]])
-
-<small>*(spec-compliant)*</small>
-
-- `body` A `String` or [`Readable` stream][node-readable]
-- `options` A [`ResponseInit`][response-init] options dictionary
-
-Constructs a new `Response` object. The constructor is identical to that in the [browser](https://developer.mozilla.org/en-US/docs/Web/API/Response/Response).
-
-Because Node.js does not implement service workers (for which this class was designed), one rarely has to construct a `Response` directly.
-
-#### response.ok
-
-<small>*(spec-compliant)*</small>
-
-Convenience property representing if the request ended normally. Will evaluate to true if the response status was greater than or equal to 200 but smaller than 300.
-
-#### response.redirected
-
-<small>*(spec-compliant)*</small>
-
-Convenience property representing if the request has been redirected at least once. Will evaluate to true if the internal redirect counter is greater than 0.
-
-<a id="class-headers"></a>
-### Class: Headers
-
-This class allows manipulating and iterating over a set of HTTP headers. All methods specified in the [Fetch Standard][whatwg-fetch] are implemented.
-
-#### new Headers([init])
-
-<small>*(spec-compliant)*</small>
-
-- `init` Optional argument to pre-fill the `Headers` object
-
-Construct a new `Headers` object. `init` can be either `null`, a `Headers` object, an key-value map object or any iterable object.
-
-```js
-// Example adapted from https://fetch.spec.whatwg.org/#example-headers-class
-
-const meta = {
- 'Content-Type': 'text/xml',
- 'Breaking-Bad': '<3'
-};
-const headers = new Headers(meta);
-
-// The above is equivalent to
-const meta = [
- [ 'Content-Type', 'text/xml' ],
- [ 'Breaking-Bad', '<3' ]
-];
-const headers = new Headers(meta);
-
-// You can in fact use any iterable objects, like a Map or even another Headers
-const meta = new Map();
-meta.set('Content-Type', 'text/xml');
-meta.set('Breaking-Bad', '<3');
-const headers = new Headers(meta);
-const copyOfHeaders = new Headers(headers);
-```
-
-<a id="iface-body"></a>
-### Interface: Body
-
-`Body` is an abstract interface with methods that are applicable to both `Request` and `Response` classes.
-
-The following methods are not yet implemented in node-fetch at this moment:
-
-- `formData()`
-
-#### body.body
-
-<small>*(deviation from spec)*</small>
-
-* Node.js [`Readable` stream][node-readable]
-
-Data are encapsulated in the `Body` object. Note that while the [Fetch Standard][whatwg-fetch] requires the property to always be a WHATWG `ReadableStream`, in node-fetch it is a Node.js [`Readable` stream][node-readable].
-
-#### body.bodyUsed
-
-<small>*(spec-compliant)*</small>
-
-* `Boolean`
-
-A boolean property for if this body has been consumed. Per the specs, a consumed body cannot be used again.
-
-#### body.arrayBuffer()
-#### body.blob()
-#### body.json()
-#### body.text()
-
-<small>*(spec-compliant)*</small>
-
-* Returns: <code>Promise</code>
-
-Consume the body and return a promise that will resolve to one of these formats.
-
-#### body.buffer()
-
-<small>*(node-fetch extension)*</small>
-
-* Returns: <code>Promise&lt;Buffer&gt;</code>
-
-Consume the body and return a promise that will resolve to a Buffer.
-
-#### body.textConverted()
-
-<small>*(node-fetch extension)*</small>
-
-* Returns: <code>Promise&lt;String&gt;</code>
-
-Identical to `body.text()`, except instead of always converting to UTF-8, encoding sniffing will be performed and text converted to UTF-8 if possible.
-
-(This API requires an optional dependency of the npm package [encoding](https://www.npmjs.com/package/encoding), which you need to install manually. `webpack` users may see [a warning message](https://github.com/bitinn/node-fetch/issues/412#issuecomment-379007792) due to this optional dependency.)
-
-<a id="class-fetcherror"></a>
-### Class: FetchError
-
-<small>*(node-fetch extension)*</small>
-
-An operational error in the fetching process. See [ERROR-HANDLING.md][] for more info.
-
-<a id="class-aborterror"></a>
-### Class: AbortError
-
-<small>*(node-fetch extension)*</small>
-
-An Error thrown when the request is aborted in response to an `AbortSignal`'s `abort` event. It has a `name` property of `AbortError`. See [ERROR-HANDLING.MD][] for more info.
-
-## Acknowledgement
-
-Thanks to [github/fetch](https://github.com/github/fetch) for providing a solid implementation reference.
-
-`node-fetch` v1 was maintained by [@bitinn](https://github.com/bitinn); v2 was maintained by [@TimothyGu](https://github.com/timothygu), [@bitinn](https://github.com/bitinn) and [@jimmywarting](https://github.com/jimmywarting); v2 readme is written by [@jkantr](https://github.com/jkantr).
-
-## License
-
-MIT
-
-[npm-image]: https://flat.badgen.net/npm/v/node-fetch
-[npm-url]: https://www.npmjs.com/package/node-fetch
-[travis-image]: https://flat.badgen.net/travis/bitinn/node-fetch
-[travis-url]: https://travis-ci.org/bitinn/node-fetch
-[codecov-image]: https://flat.badgen.net/codecov/c/github/bitinn/node-fetch/master
-[codecov-url]: https://codecov.io/gh/bitinn/node-fetch
-[install-size-image]: https://flat.badgen.net/packagephobia/install/node-fetch
-[install-size-url]: https://packagephobia.now.sh/result?p=node-fetch
-[discord-image]: https://img.shields.io/discord/619915844268326952?color=%237289DA&label=Discord&style=flat-square
-[discord-url]: https://discord.gg/Zxbndcm
-[opencollective-image]: https://opencollective.com/node-fetch/backers.svg
-[opencollective-url]: https://opencollective.com/node-fetch
-[whatwg-fetch]: https://fetch.spec.whatwg.org/
-[response-init]: https://fetch.spec.whatwg.org/#responseinit
-[node-readable]: https://nodejs.org/api/stream.html#stream_readable_streams
-[mdn-headers]: https://developer.mozilla.org/en-US/docs/Web/API/Headers
-[LIMITS.md]: https://github.com/bitinn/node-fetch/blob/master/LIMITS.md
-[ERROR-HANDLING.md]: https://github.com/bitinn/node-fetch/blob/master/ERROR-HANDLING.md
-[UPGRADE-GUIDE.md]: https://github.com/bitinn/node-fetch/blob/master/UPGRADE-GUIDE.md
diff --git a/includes/search/node_modules/node-fetch/browser.js b/includes/search/node_modules/node-fetch/browser.js
deleted file mode 100644
index ee86265..0000000
--- a/includes/search/node_modules/node-fetch/browser.js
+++ /dev/null
@@ -1,25 +0,0 @@
-"use strict";
-
-// ref: https://github.com/tc39/proposal-global
-var getGlobal = function () {
- // the only reliable means to get the global object is
- // `Function('return this')()`
- // However, this causes CSP violations in Chrome apps.
- if (typeof self !== 'undefined') { return self; }
- if (typeof window !== 'undefined') { return window; }
- if (typeof global !== 'undefined') { return global; }
- throw new Error('unable to locate global object');
-}
-
-var globalObject = getGlobal();
-
-module.exports = exports = globalObject.fetch;
-
-// Needed for TypeScript and Webpack.
-if (globalObject.fetch) {
- exports.default = globalObject.fetch.bind(globalObject);
-}
-
-exports.Headers = globalObject.Headers;
-exports.Request = globalObject.Request;
-exports.Response = globalObject.Response;
diff --git a/includes/search/node_modules/node-fetch/lib/index.es.js b/includes/search/node_modules/node-fetch/lib/index.es.js
deleted file mode 100644
index 79d717b..0000000
--- a/includes/search/node_modules/node-fetch/lib/index.es.js
+++ /dev/null
@@ -1,1778 +0,0 @@
-process.emitWarning("The .es.js file is deprecated. Use .mjs instead.");
-
-import Stream from 'stream';
-import http from 'http';
-import Url from 'url';
-import whatwgUrl from 'whatwg-url';
-import https from 'https';
-import zlib from 'zlib';
-
-// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js
-
-// fix for "Readable" isn't a named export issue
-const Readable = Stream.Readable;
-
-const BUFFER = Symbol('buffer');
-const TYPE = Symbol('type');
-
-class Blob {
- constructor() {
- this[TYPE] = '';
-
- const blobParts = arguments[0];
- const options = arguments[1];
-
- const buffers = [];
- let size = 0;
-
- if (blobParts) {
- const a = blobParts;
- const length = Number(a.length);
- for (let i = 0; i < length; i++) {
- const element = a[i];
- let buffer;
- if (element instanceof Buffer) {
- buffer = element;
- } else if (ArrayBuffer.isView(element)) {
- buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);
- } else if (element instanceof ArrayBuffer) {
- buffer = Buffer.from(element);
- } else if (element instanceof Blob) {
- buffer = element[BUFFER];
- } else {
- buffer = Buffer.from(typeof element === 'string' ? element : String(element));
- }
- size += buffer.length;
- buffers.push(buffer);
- }
- }
-
- this[BUFFER] = Buffer.concat(buffers);
-
- let type = options && options.type !== undefined && String(options.type).toLowerCase();
- if (type && !/[^\u0020-\u007E]/.test(type)) {
- this[TYPE] = type;
- }
- }
- get size() {
- return this[BUFFER].length;
- }
- get type() {
- return this[TYPE];
- }
- text() {
- return Promise.resolve(this[BUFFER].toString());
- }
- arrayBuffer() {
- const buf = this[BUFFER];
- const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
- return Promise.resolve(ab);
- }
- stream() {
- const readable = new Readable();
- readable._read = function () {};
- readable.push(this[BUFFER]);
- readable.push(null);
- return readable;
- }
- toString() {
- return '[object Blob]';
- }
- slice() {
- const size = this.size;
-
- const start = arguments[0];
- const end = arguments[1];
- let relativeStart, relativeEnd;
- if (start === undefined) {
- relativeStart = 0;
- } else if (start < 0) {
- relativeStart = Math.max(size + start, 0);
- } else {
- relativeStart = Math.min(start, size);
- }
- if (end === undefined) {
- relativeEnd = size;
- } else if (end < 0) {
- relativeEnd = Math.max(size + end, 0);
- } else {
- relativeEnd = Math.min(end, size);
- }
- const span = Math.max(relativeEnd - relativeStart, 0);
-
- const buffer = this[BUFFER];
- const slicedBuffer = buffer.slice(relativeStart, relativeStart + span);
- const blob = new Blob([], { type: arguments[2] });
- blob[BUFFER] = slicedBuffer;
- return blob;
- }
-}
-
-Object.defineProperties(Blob.prototype, {
- size: { enumerable: true },
- type: { enumerable: true },
- slice: { enumerable: true }
-});
-
-Object.defineProperty(Blob.prototype, Symbol.toStringTag, {
- value: 'Blob',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-/**
- * fetch-error.js
- *
- * FetchError interface for operational errors
- */
-
-/**
- * Create FetchError instance
- *
- * @param String message Error message for human
- * @param String type Error type for machine
- * @param String systemError For Node.js system error
- * @return FetchError
- */
-function FetchError(message, type, systemError) {
- Error.call(this, message);
-
- this.message = message;
- this.type = type;
-
- // when err.type is `system`, err.code contains system error code
- if (systemError) {
- this.code = this.errno = systemError.code;
- }
-
- // hide custom error implementation details from end-users
- Error.captureStackTrace(this, this.constructor);
-}
-
-FetchError.prototype = Object.create(Error.prototype);
-FetchError.prototype.constructor = FetchError;
-FetchError.prototype.name = 'FetchError';
-
-let convert;
-try {
- convert = require('encoding').convert;
-} catch (e) {}
-
-const INTERNALS = Symbol('Body internals');
-
-// fix an issue where "PassThrough" isn't a named export for node <10
-const PassThrough = Stream.PassThrough;
-
-/**
- * Body mixin
- *
- * Ref: https://fetch.spec.whatwg.org/#body
- *
- * @param Stream body Readable stream
- * @param Object opts Response options
- * @return Void
- */
-function Body(body) {
- var _this = this;
-
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$size = _ref.size;
-
- let size = _ref$size === undefined ? 0 : _ref$size;
- var _ref$timeout = _ref.timeout;
- let timeout = _ref$timeout === undefined ? 0 : _ref$timeout;
-
- if (body == null) {
- // body is undefined or null
- body = null;
- } else if (isURLSearchParams(body)) {
- // body is a URLSearchParams
- body = Buffer.from(body.toString());
- } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {
- // body is ArrayBuffer
- body = Buffer.from(body);
- } else if (ArrayBuffer.isView(body)) {
- // body is ArrayBufferView
- body = Buffer.from(body.buffer, body.byteOffset, body.byteLength);
- } else if (body instanceof Stream) ; else {
- // none of the above
- // coerce to string then buffer
- body = Buffer.from(String(body));
- }
- this[INTERNALS] = {
- body,
- disturbed: false,
- error: null
- };
- this.size = size;
- this.timeout = timeout;
-
- if (body instanceof Stream) {
- body.on('error', function (err) {
- const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);
- _this[INTERNALS].error = error;
- });
- }
-}
-
-Body.prototype = {
- get body() {
- return this[INTERNALS].body;
- },
-
- get bodyUsed() {
- return this[INTERNALS].disturbed;
- },
-
- /**
- * Decode response as ArrayBuffer
- *
- * @return Promise
- */
- arrayBuffer() {
- return consumeBody.call(this).then(function (buf) {
- return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
- });
- },
-
- /**
- * Return raw response as Blob
- *
- * @return Promise
- */
- blob() {
- let ct = this.headers && this.headers.get('content-type') || '';
- return consumeBody.call(this).then(function (buf) {
- return Object.assign(
- // Prevent copying
- new Blob([], {
- type: ct.toLowerCase()
- }), {
- [BUFFER]: buf
- });
- });
- },
-
- /**
- * Decode response as json
- *
- * @return Promise
- */
- json() {
- var _this2 = this;
-
- return consumeBody.call(this).then(function (buffer) {
- try {
- return JSON.parse(buffer.toString());
- } catch (err) {
- return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));
- }
- });
- },
-
- /**
- * Decode response as text
- *
- * @return Promise
- */
- text() {
- return consumeBody.call(this).then(function (buffer) {
- return buffer.toString();
- });
- },
-
- /**
- * Decode response as buffer (non-spec api)
- *
- * @return Promise
- */
- buffer() {
- return consumeBody.call(this);
- },
-
- /**
- * Decode response as text, while automatically detecting the encoding and
- * trying to decode to UTF-8 (non-spec api)
- *
- * @return Promise
- */
- textConverted() {
- var _this3 = this;
-
- return consumeBody.call(this).then(function (buffer) {
- return convertBody(buffer, _this3.headers);
- });
- }
-};
-
-// In browsers, all properties are enumerable.
-Object.defineProperties(Body.prototype, {
- body: { enumerable: true },
- bodyUsed: { enumerable: true },
- arrayBuffer: { enumerable: true },
- blob: { enumerable: true },
- json: { enumerable: true },
- text: { enumerable: true }
-});
-
-Body.mixIn = function (proto) {
- for (const name of Object.getOwnPropertyNames(Body.prototype)) {
- // istanbul ignore else: future proof
- if (!(name in proto)) {
- const desc = Object.getOwnPropertyDescriptor(Body.prototype, name);
- Object.defineProperty(proto, name, desc);
- }
- }
-};
-
-/**
- * Consume and convert an entire Body to a Buffer.
- *
- * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body
- *
- * @return Promise
- */
-function consumeBody() {
- var _this4 = this;
-
- if (this[INTERNALS].disturbed) {
- return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));
- }
-
- this[INTERNALS].disturbed = true;
-
- if (this[INTERNALS].error) {
- return Body.Promise.reject(this[INTERNALS].error);
- }
-
- let body = this.body;
-
- // body is null
- if (body === null) {
- return Body.Promise.resolve(Buffer.alloc(0));
- }
-
- // body is blob
- if (isBlob(body)) {
- body = body.stream();
- }
-
- // body is buffer
- if (Buffer.isBuffer(body)) {
- return Body.Promise.resolve(body);
- }
-
- // istanbul ignore if: should never happen
- if (!(body instanceof Stream)) {
- return Body.Promise.resolve(Buffer.alloc(0));
- }
-
- // body is stream
- // get ready to actually consume the body
- let accum = [];
- let accumBytes = 0;
- let abort = false;
-
- return new Body.Promise(function (resolve, reject) {
- let resTimeout;
-
- // allow timeout on slow response body
- if (_this4.timeout) {
- resTimeout = setTimeout(function () {
- abort = true;
- reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));
- }, _this4.timeout);
- }
-
- // handle stream errors
- body.on('error', function (err) {
- if (err.name === 'AbortError') {
- // if the request was aborted, reject with this Error
- abort = true;
- reject(err);
- } else {
- // other errors, such as incorrect content-encoding
- reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));
- }
- });
-
- body.on('data', function (chunk) {
- if (abort || chunk === null) {
- return;
- }
-
- if (_this4.size && accumBytes + chunk.length > _this4.size) {
- abort = true;
- reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));
- return;
- }
-
- accumBytes += chunk.length;
- accum.push(chunk);
- });
-
- body.on('end', function () {
- if (abort) {
- return;
- }
-
- clearTimeout(resTimeout);
-
- try {
- resolve(Buffer.concat(accum, accumBytes));
- } catch (err) {
- // handle streams that have accumulated too much data (issue #414)
- reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));
- }
- });
- });
-}
-
-/**
- * Detect buffer encoding and convert to target encoding
- * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding
- *
- * @param Buffer buffer Incoming buffer
- * @param String encoding Target encoding
- * @return String
- */
-function convertBody(buffer, headers) {
- if (typeof convert !== 'function') {
- throw new Error('The package `encoding` must be installed to use the textConverted() function');
- }
-
- const ct = headers.get('content-type');
- let charset = 'utf-8';
- let res, str;
-
- // header
- if (ct) {
- res = /charset=([^;]*)/i.exec(ct);
- }
-
- // no charset in content type, peek at response body for at most 1024 bytes
- str = buffer.slice(0, 1024).toString();
-
- // html5
- if (!res && str) {
- res = /<meta.+?charset=(['"])(.+?)\1/i.exec(str);
- }
-
- // html4
- if (!res && str) {
- res = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(str);
- if (!res) {
- res = /<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(str);
- if (res) {
- res.pop(); // drop last quote
- }
- }
-
- if (res) {
- res = /charset=(.*)/i.exec(res.pop());
- }
- }
-
- // xml
- if (!res && str) {
- res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str);
- }
-
- // found charset
- if (res) {
- charset = res.pop();
-
- // prevent decode issues when sites use incorrect encoding
- // ref: https://hsivonen.fi/encoding-menu/
- if (charset === 'gb2312' || charset === 'gbk') {
- charset = 'gb18030';
- }
- }
-
- // turn raw buffers into a single utf-8 buffer
- return convert(buffer, 'UTF-8', charset).toString();
-}
-
-/**
- * Detect a URLSearchParams object
- * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143
- *
- * @param Object obj Object to detect by type or brand
- * @return String
- */
-function isURLSearchParams(obj) {
- // Duck-typing as a necessary condition.
- if (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {
- return false;
- }
-
- // Brand-checking and more duck-typing as optional condition.
- return obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';
-}
-
-/**
- * Check if `obj` is a W3C `Blob` object (which `File` inherits from)
- * @param {*} obj
- * @return {boolean}
- */
-function isBlob(obj) {
- return typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);
-}
-
-/**
- * Clone body given Res/Req instance
- *
- * @param Mixed instance Response or Request instance
- * @return Mixed
- */
-function clone(instance) {
- let p1, p2;
- let body = instance.body;
-
- // don't allow cloning a used body
- if (instance.bodyUsed) {
- throw new Error('cannot clone body after it is used');
- }
-
- // check that body is a stream and not form-data object
- // note: we can't clone the form-data object without having it as a dependency
- if (body instanceof Stream && typeof body.getBoundary !== 'function') {
- // tee instance body
- p1 = new PassThrough();
- p2 = new PassThrough();
- body.pipe(p1);
- body.pipe(p2);
- // set instance body to teed body and return the other teed body
- instance[INTERNALS].body = p1;
- body = p2;
- }
-
- return body;
-}
-
-/**
- * Performs the operation "extract a `Content-Type` value from |object|" as
- * specified in the specification:
- * https://fetch.spec.whatwg.org/#concept-bodyinit-extract
- *
- * This function assumes that instance.body is present.
- *
- * @param Mixed instance Any options.body input
- */
-function extractContentType(body) {
- if (body === null) {
- // body is null
- return null;
- } else if (typeof body === 'string') {
- // body is string
- return 'text/plain;charset=UTF-8';
- } else if (isURLSearchParams(body)) {
- // body is a URLSearchParams
- return 'application/x-www-form-urlencoded;charset=UTF-8';
- } else if (isBlob(body)) {
- // body is blob
- return body.type || null;
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- return null;
- } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {
- // body is ArrayBuffer
- return null;
- } else if (ArrayBuffer.isView(body)) {
- // body is ArrayBufferView
- return null;
- } else if (typeof body.getBoundary === 'function') {
- // detect form data input from form-data module
- return `multipart/form-data;boundary=${body.getBoundary()}`;
- } else if (body instanceof Stream) {
- // body is stream
- // can't really do much about this
- return null;
- } else {
- // Body constructor defaults other things to string
- return 'text/plain;charset=UTF-8';
- }
-}
-
-/**
- * The Fetch Standard treats this as if "total bytes" is a property on the body.
- * For us, we have to explicitly get it with a function.
- *
- * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes
- *
- * @param Body instance Instance of Body
- * @return Number? Number of bytes, or null if not possible
- */
-function getTotalBytes(instance) {
- const body = instance.body;
-
-
- if (body === null) {
- // body is null
- return 0;
- } else if (isBlob(body)) {
- return body.size;
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- return body.length;
- } else if (body && typeof body.getLengthSync === 'function') {
- // detect form data input from form-data module
- if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x
- body.hasKnownLength && body.hasKnownLength()) {
- // 2.x
- return body.getLengthSync();
- }
- return null;
- } else {
- // body is stream
- return null;
- }
-}
-
-/**
- * Write a Body to a Node.js WritableStream (e.g. http.Request) object.
- *
- * @param Body instance Instance of Body
- * @return Void
- */
-function writeToStream(dest, instance) {
- const body = instance.body;
-
-
- if (body === null) {
- // body is null
- dest.end();
- } else if (isBlob(body)) {
- body.stream().pipe(dest);
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- dest.write(body);
- dest.end();
- } else {
- // body is stream
- body.pipe(dest);
- }
-}
-
-// expose Promise
-Body.Promise = global.Promise;
-
-/**
- * headers.js
- *
- * Headers class offers convenient helpers
- */
-
-const invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/;
-const invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-
-function validateName(name) {
- name = `${name}`;
- if (invalidTokenRegex.test(name) || name === '') {
- throw new TypeError(`${name} is not a legal HTTP header name`);
- }
-}
-
-function validateValue(value) {
- value = `${value}`;
- if (invalidHeaderCharRegex.test(value)) {
- throw new TypeError(`${value} is not a legal HTTP header value`);
- }
-}
-
-/**
- * Find the key in the map object given a header name.
- *
- * Returns undefined if not found.
- *
- * @param String name Header name
- * @return String|Undefined
- */
-function find(map, name) {
- name = name.toLowerCase();
- for (const key in map) {
- if (key.toLowerCase() === name) {
- return key;
- }
- }
- return undefined;
-}
-
-const MAP = Symbol('map');
-class Headers {
- /**
- * Headers class
- *
- * @param Object headers Response headers
- * @return Void
- */
- constructor() {
- let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
-
- this[MAP] = Object.create(null);
-
- if (init instanceof Headers) {
- const rawHeaders = init.raw();
- const headerNames = Object.keys(rawHeaders);
-
- for (const headerName of headerNames) {
- for (const value of rawHeaders[headerName]) {
- this.append(headerName, value);
- }
- }
-
- return;
- }
-
- // We don't worry about converting prop to ByteString here as append()
- // will handle it.
- if (init == null) ; else if (typeof init === 'object') {
- const method = init[Symbol.iterator];
- if (method != null) {
- if (typeof method !== 'function') {
- throw new TypeError('Header pairs must be iterable');
- }
-
- // sequence<sequence<ByteString>>
- // Note: per spec we have to first exhaust the lists then process them
- const pairs = [];
- for (const pair of init) {
- if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {
- throw new TypeError('Each header pair must be iterable');
- }
- pairs.push(Array.from(pair));
- }
-
- for (const pair of pairs) {
- if (pair.length !== 2) {
- throw new TypeError('Each header pair must be a name/value tuple');
- }
- this.append(pair[0], pair[1]);
- }
- } else {
- // record<ByteString, ByteString>
- for (const key of Object.keys(init)) {
- const value = init[key];
- this.append(key, value);
- }
- }
- } else {
- throw new TypeError('Provided initializer must be an object');
- }
- }
-
- /**
- * Return combined header value given name
- *
- * @param String name Header name
- * @return Mixed
- */
- get(name) {
- name = `${name}`;
- validateName(name);
- const key = find(this[MAP], name);
- if (key === undefined) {
- return null;
- }
-
- return this[MAP][key].join(', ');
- }
-
- /**
- * Iterate over all headers
- *
- * @param Function callback Executed for each item with parameters (value, name, thisArg)
- * @param Boolean thisArg `this` context for callback function
- * @return Void
- */
- forEach(callback) {
- let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
-
- let pairs = getHeaders(this);
- let i = 0;
- while (i < pairs.length) {
- var _pairs$i = pairs[i];
- const name = _pairs$i[0],
- value = _pairs$i[1];
-
- callback.call(thisArg, value, name, this);
- pairs = getHeaders(this);
- i++;
- }
- }
-
- /**
- * Overwrite header values given name
- *
- * @param String name Header name
- * @param String value Header value
- * @return Void
- */
- set(name, value) {
- name = `${name}`;
- value = `${value}`;
- validateName(name);
- validateValue(value);
- const key = find(this[MAP], name);
- this[MAP][key !== undefined ? key : name] = [value];
- }
-
- /**
- * Append a value onto existing header
- *
- * @param String name Header name
- * @param String value Header value
- * @return Void
- */
- append(name, value) {
- name = `${name}`;
- value = `${value}`;
- validateName(name);
- validateValue(value);
- const key = find(this[MAP], name);
- if (key !== undefined) {
- this[MAP][key].push(value);
- } else {
- this[MAP][name] = [value];
- }
- }
-
- /**
- * Check for header name existence
- *
- * @param String name Header name
- * @return Boolean
- */
- has(name) {
- name = `${name}`;
- validateName(name);
- return find(this[MAP], name) !== undefined;
- }
-
- /**
- * Delete all header values given name
- *
- * @param String name Header name
- * @return Void
- */
- delete(name) {
- name = `${name}`;
- validateName(name);
- const key = find(this[MAP], name);
- if (key !== undefined) {
- delete this[MAP][key];
- }
- }
-
- /**
- * Return raw headers (non-spec api)
- *
- * @return Object
- */
- raw() {
- return this[MAP];
- }
-
- /**
- * Get an iterator on keys.
- *
- * @return Iterator
- */
- keys() {
- return createHeadersIterator(this, 'key');
- }
-
- /**
- * Get an iterator on values.
- *
- * @return Iterator
- */
- values() {
- return createHeadersIterator(this, 'value');
- }
-
- /**
- * Get an iterator on entries.
- *
- * This is the default iterator of the Headers object.
- *
- * @return Iterator
- */
- [Symbol.iterator]() {
- return createHeadersIterator(this, 'key+value');
- }
-}
-Headers.prototype.entries = Headers.prototype[Symbol.iterator];
-
-Object.defineProperty(Headers.prototype, Symbol.toStringTag, {
- value: 'Headers',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-Object.defineProperties(Headers.prototype, {
- get: { enumerable: true },
- forEach: { enumerable: true },
- set: { enumerable: true },
- append: { enumerable: true },
- has: { enumerable: true },
- delete: { enumerable: true },
- keys: { enumerable: true },
- values: { enumerable: true },
- entries: { enumerable: true }
-});
-
-function getHeaders(headers) {
- let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';
-
- const keys = Object.keys(headers[MAP]).sort();
- return keys.map(kind === 'key' ? function (k) {
- return k.toLowerCase();
- } : kind === 'value' ? function (k) {
- return headers[MAP][k].join(', ');
- } : function (k) {
- return [k.toLowerCase(), headers[MAP][k].join(', ')];
- });
-}
-
-const INTERNAL = Symbol('internal');
-
-function createHeadersIterator(target, kind) {
- const iterator = Object.create(HeadersIteratorPrototype);
- iterator[INTERNAL] = {
- target,
- kind,
- index: 0
- };
- return iterator;
-}
-
-const HeadersIteratorPrototype = Object.setPrototypeOf({
- next() {
- // istanbul ignore if
- if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {
- throw new TypeError('Value of `this` is not a HeadersIterator');
- }
-
- var _INTERNAL = this[INTERNAL];
- const target = _INTERNAL.target,
- kind = _INTERNAL.kind,
- index = _INTERNAL.index;
-
- const values = getHeaders(target, kind);
- const len = values.length;
- if (index >= len) {
- return {
- value: undefined,
- done: true
- };
- }
-
- this[INTERNAL].index = index + 1;
-
- return {
- value: values[index],
- done: false
- };
- }
-}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));
-
-Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {
- value: 'HeadersIterator',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-/**
- * Export the Headers object in a form that Node.js can consume.
- *
- * @param Headers headers
- * @return Object
- */
-function exportNodeCompatibleHeaders(headers) {
- const obj = Object.assign({ __proto__: null }, headers[MAP]);
-
- // http.request() only supports string as Host header. This hack makes
- // specifying custom Host header possible.
- const hostHeaderKey = find(headers[MAP], 'Host');
- if (hostHeaderKey !== undefined) {
- obj[hostHeaderKey] = obj[hostHeaderKey][0];
- }
-
- return obj;
-}
-
-/**
- * Create a Headers object from an object of headers, ignoring those that do
- * not conform to HTTP grammar productions.
- *
- * @param Object obj Object of headers
- * @return Headers
- */
-function createHeadersLenient(obj) {
- const headers = new Headers();
- for (const name of Object.keys(obj)) {
- if (invalidTokenRegex.test(name)) {
- continue;
- }
- if (Array.isArray(obj[name])) {
- for (const val of obj[name]) {
- if (invalidHeaderCharRegex.test(val)) {
- continue;
- }
- if (headers[MAP][name] === undefined) {
- headers[MAP][name] = [val];
- } else {
- headers[MAP][name].push(val);
- }
- }
- } else if (!invalidHeaderCharRegex.test(obj[name])) {
- headers[MAP][name] = [obj[name]];
- }
- }
- return headers;
-}
-
-const INTERNALS$1 = Symbol('Response internals');
-
-// fix an issue where "STATUS_CODES" aren't a named export for node <10
-const STATUS_CODES = http.STATUS_CODES;
-
-/**
- * Response class
- *
- * @param Stream body Readable stream
- * @param Object opts Response options
- * @return Void
- */
-class Response {
- constructor() {
- let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
- let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
- Body.call(this, body, opts);
-
- const status = opts.status || 200;
- const headers = new Headers(opts.headers);
-
- if (body != null && !headers.has('Content-Type')) {
- const contentType = extractContentType(body);
- if (contentType) {
- headers.append('Content-Type', contentType);
- }
- }
-
- this[INTERNALS$1] = {
- url: opts.url,
- status,
- statusText: opts.statusText || STATUS_CODES[status],
- headers,
- counter: opts.counter
- };
- }
-
- get url() {
- return this[INTERNALS$1].url || '';
- }
-
- get status() {
- return this[INTERNALS$1].status;
- }
-
- /**
- * Convenience property representing if the request ended normally
- */
- get ok() {
- return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;
- }
-
- get redirected() {
- return this[INTERNALS$1].counter > 0;
- }
-
- get statusText() {
- return this[INTERNALS$1].statusText;
- }
-
- get headers() {
- return this[INTERNALS$1].headers;
- }
-
- /**
- * Clone this response
- *
- * @return Response
- */
- clone() {
- return new Response(clone(this), {
- url: this.url,
- status: this.status,
- statusText: this.statusText,
- headers: this.headers,
- ok: this.ok,
- redirected: this.redirected
- });
- }
-}
-
-Body.mixIn(Response.prototype);
-
-Object.defineProperties(Response.prototype, {
- url: { enumerable: true },
- status: { enumerable: true },
- ok: { enumerable: true },
- redirected: { enumerable: true },
- statusText: { enumerable: true },
- headers: { enumerable: true },
- clone: { enumerable: true }
-});
-
-Object.defineProperty(Response.prototype, Symbol.toStringTag, {
- value: 'Response',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-const INTERNALS$2 = Symbol('Request internals');
-const URL = Url.URL || whatwgUrl.URL;
-
-// fix an issue where "format", "parse" aren't a named export for node <10
-const parse_url = Url.parse;
-const format_url = Url.format;
-
-/**
- * Wrapper around `new URL` to handle arbitrary URLs
- *
- * @param {string} urlStr
- * @return {void}
- */
-function parseURL(urlStr) {
- /*
- Check whether the URL is absolute or not
- Scheme: https://tools.ietf.org/html/rfc3986#section-3.1
- Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3
- */
- if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) {
- urlStr = new URL(urlStr).toString();
- }
-
- // Fallback to old implementation for arbitrary URLs
- return parse_url(urlStr);
-}
-
-const streamDestructionSupported = 'destroy' in Stream.Readable.prototype;
-
-/**
- * Check if a value is an instance of Request.
- *
- * @param Mixed input
- * @return Boolean
- */
-function isRequest(input) {
- return typeof input === 'object' && typeof input[INTERNALS$2] === 'object';
-}
-
-function isAbortSignal(signal) {
- const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);
- return !!(proto && proto.constructor.name === 'AbortSignal');
-}
-
-/**
- * Request class
- *
- * @param Mixed input Url or Request instance
- * @param Object init Custom options
- * @return Void
- */
-class Request {
- constructor(input) {
- let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
- let parsedURL;
-
- // normalize input
- if (!isRequest(input)) {
- if (input && input.href) {
- // in order to support Node.js' Url objects; though WHATWG's URL objects
- // will fall into this branch also (since their `toString()` will return
- // `href` property anyway)
- parsedURL = parseURL(input.href);
- } else {
- // coerce input to a string before attempting to parse
- parsedURL = parseURL(`${input}`);
- }
- input = {};
- } else {
- parsedURL = parseURL(input.url);
- }
-
- let method = init.method || input.method || 'GET';
- method = method.toUpperCase();
-
- if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {
- throw new TypeError('Request with GET/HEAD method cannot have body');
- }
-
- let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;
-
- Body.call(this, inputBody, {
- timeout: init.timeout || input.timeout || 0,
- size: init.size || input.size || 0
- });
-
- const headers = new Headers(init.headers || input.headers || {});
-
- if (inputBody != null && !headers.has('Content-Type')) {
- const contentType = extractContentType(inputBody);
- if (contentType) {
- headers.append('Content-Type', contentType);
- }
- }
-
- let signal = isRequest(input) ? input.signal : null;
- if ('signal' in init) signal = init.signal;
-
- if (signal != null && !isAbortSignal(signal)) {
- throw new TypeError('Expected signal to be an instanceof AbortSignal');
- }
-
- this[INTERNALS$2] = {
- method,
- redirect: init.redirect || input.redirect || 'follow',
- headers,
- parsedURL,
- signal
- };
-
- // node-fetch-only options
- this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;
- this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;
- this.counter = init.counter || input.counter || 0;
- this.agent = init.agent || input.agent;
- }
-
- get method() {
- return this[INTERNALS$2].method;
- }
-
- get url() {
- return format_url(this[INTERNALS$2].parsedURL);
- }
-
- get headers() {
- return this[INTERNALS$2].headers;
- }
-
- get redirect() {
- return this[INTERNALS$2].redirect;
- }
-
- get signal() {
- return this[INTERNALS$2].signal;
- }
-
- /**
- * Clone this request
- *
- * @return Request
- */
- clone() {
- return new Request(this);
- }
-}
-
-Body.mixIn(Request.prototype);
-
-Object.defineProperty(Request.prototype, Symbol.toStringTag, {
- value: 'Request',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-Object.defineProperties(Request.prototype, {
- method: { enumerable: true },
- url: { enumerable: true },
- headers: { enumerable: true },
- redirect: { enumerable: true },
- clone: { enumerable: true },
- signal: { enumerable: true }
-});
-
-/**
- * Convert a Request to Node.js http request options.
- *
- * @param Request A Request instance
- * @return Object The options object to be passed to http.request
- */
-function getNodeRequestOptions(request) {
- const parsedURL = request[INTERNALS$2].parsedURL;
- const headers = new Headers(request[INTERNALS$2].headers);
-
- // fetch step 1.3
- if (!headers.has('Accept')) {
- headers.set('Accept', '*/*');
- }
-
- // Basic fetch
- if (!parsedURL.protocol || !parsedURL.hostname) {
- throw new TypeError('Only absolute URLs are supported');
- }
-
- if (!/^https?:$/.test(parsedURL.protocol)) {
- throw new TypeError('Only HTTP(S) protocols are supported');
- }
-
- if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {
- throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');
- }
-
- // HTTP-network-or-cache fetch steps 2.4-2.7
- let contentLengthValue = null;
- if (request.body == null && /^(POST|PUT)$/i.test(request.method)) {
- contentLengthValue = '0';
- }
- if (request.body != null) {
- const totalBytes = getTotalBytes(request);
- if (typeof totalBytes === 'number') {
- contentLengthValue = String(totalBytes);
- }
- }
- if (contentLengthValue) {
- headers.set('Content-Length', contentLengthValue);
- }
-
- // HTTP-network-or-cache fetch step 2.11
- if (!headers.has('User-Agent')) {
- headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');
- }
-
- // HTTP-network-or-cache fetch step 2.15
- if (request.compress && !headers.has('Accept-Encoding')) {
- headers.set('Accept-Encoding', 'gzip,deflate');
- }
-
- let agent = request.agent;
- if (typeof agent === 'function') {
- agent = agent(parsedURL);
- }
-
- if (!headers.has('Connection') && !agent) {
- headers.set('Connection', 'close');
- }
-
- // HTTP-network fetch step 4.2
- // chunked encoding is handled by Node.js
-
- return Object.assign({}, parsedURL, {
- method: request.method,
- headers: exportNodeCompatibleHeaders(headers),
- agent
- });
-}
-
-/**
- * abort-error.js
- *
- * AbortError interface for cancelled requests
- */
-
-/**
- * Create AbortError instance
- *
- * @param String message Error message for human
- * @return AbortError
- */
-function AbortError(message) {
- Error.call(this, message);
-
- this.type = 'aborted';
- this.message = message;
-
- // hide custom error implementation details from end-users
- Error.captureStackTrace(this, this.constructor);
-}
-
-AbortError.prototype = Object.create(Error.prototype);
-AbortError.prototype.constructor = AbortError;
-AbortError.prototype.name = 'AbortError';
-
-const URL$1 = Url.URL || whatwgUrl.URL;
-
-// fix an issue where "PassThrough", "resolve" aren't a named export for node <10
-const PassThrough$1 = Stream.PassThrough;
-
-const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {
- const orig = new URL$1(original).hostname;
- const dest = new URL$1(destination).hostname;
-
- return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);
-};
-
-/**
- * isSameProtocol reports whether the two provided URLs use the same protocol.
- *
- * Both domains must already be in canonical form.
- * @param {string|URL} original
- * @param {string|URL} destination
- */
-const isSameProtocol = function isSameProtocol(destination, original) {
- const orig = new URL$1(original).protocol;
- const dest = new URL$1(destination).protocol;
-
- return orig === dest;
-};
-
-/**
- * Fetch function
- *
- * @param Mixed url Absolute url or Request instance
- * @param Object opts Fetch options
- * @return Promise
- */
-function fetch(url, opts) {
-
- // allow custom promise
- if (!fetch.Promise) {
- throw new Error('native promise missing, set fetch.Promise to your favorite alternative');
- }
-
- Body.Promise = fetch.Promise;
-
- // wrap http.request into fetch
- return new fetch.Promise(function (resolve, reject) {
- // build request object
- const request = new Request(url, opts);
- const options = getNodeRequestOptions(request);
-
- const send = (options.protocol === 'https:' ? https : http).request;
- const signal = request.signal;
-
- let response = null;
-
- const abort = function abort() {
- let error = new AbortError('The user aborted a request.');
- reject(error);
- if (request.body && request.body instanceof Stream.Readable) {
- destroyStream(request.body, error);
- }
- if (!response || !response.body) return;
- response.body.emit('error', error);
- };
-
- if (signal && signal.aborted) {
- abort();
- return;
- }
-
- const abortAndFinalize = function abortAndFinalize() {
- abort();
- finalize();
- };
-
- // send request
- const req = send(options);
- let reqTimeout;
-
- if (signal) {
- signal.addEventListener('abort', abortAndFinalize);
- }
-
- function finalize() {
- req.abort();
- if (signal) signal.removeEventListener('abort', abortAndFinalize);
- clearTimeout(reqTimeout);
- }
-
- if (request.timeout) {
- req.once('socket', function (socket) {
- reqTimeout = setTimeout(function () {
- reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));
- finalize();
- }, request.timeout);
- });
- }
-
- req.on('error', function (err) {
- reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));
-
- if (response && response.body) {
- destroyStream(response.body, err);
- }
-
- finalize();
- });
-
- fixResponseChunkedTransferBadEnding(req, function (err) {
- if (signal && signal.aborted) {
- return;
- }
-
- if (response && response.body) {
- destroyStream(response.body, err);
- }
- });
-
- /* c8 ignore next 18 */
- if (parseInt(process.version.substring(1)) < 14) {
- // Before Node.js 14, pipeline() does not fully support async iterators and does not always
- // properly handle when the socket close/end events are out of order.
- req.on('socket', function (s) {
- s.addListener('close', function (hadError) {
- // if a data listener is still present we didn't end cleanly
- const hasDataListener = s.listenerCount('data') > 0;
-
- // if end happened before close but the socket didn't emit an error, do it now
- if (response && hasDataListener && !hadError && !(signal && signal.aborted)) {
- const err = new Error('Premature close');
- err.code = 'ERR_STREAM_PREMATURE_CLOSE';
- response.body.emit('error', err);
- }
- });
- });
- }
-
- req.on('response', function (res) {
- clearTimeout(reqTimeout);
-
- const headers = createHeadersLenient(res.headers);
-
- // HTTP fetch step 5
- if (fetch.isRedirect(res.statusCode)) {
- // HTTP fetch step 5.2
- const location = headers.get('Location');
-
- // HTTP fetch step 5.3
- let locationURL = null;
- try {
- locationURL = location === null ? null : new URL$1(location, request.url).toString();
- } catch (err) {
- // error here can only be invalid URL in Location: header
- // do not throw when options.redirect == manual
- // let the user extract the errorneous redirect URL
- if (request.redirect !== 'manual') {
- reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));
- finalize();
- return;
- }
- }
-
- // HTTP fetch step 5.5
- switch (request.redirect) {
- case 'error':
- reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));
- finalize();
- return;
- case 'manual':
- // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.
- if (locationURL !== null) {
- // handle corrupted header
- try {
- headers.set('Location', locationURL);
- } catch (err) {
- // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request
- reject(err);
- }
- }
- break;
- case 'follow':
- // HTTP-redirect fetch step 2
- if (locationURL === null) {
- break;
- }
-
- // HTTP-redirect fetch step 5
- if (request.counter >= request.follow) {
- reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));
- finalize();
- return;
- }
-
- // HTTP-redirect fetch step 6 (counter increment)
- // Create a new Request object.
- const requestOpts = {
- headers: new Headers(request.headers),
- follow: request.follow,
- counter: request.counter + 1,
- agent: request.agent,
- compress: request.compress,
- method: request.method,
- body: request.body,
- signal: request.signal,
- timeout: request.timeout,
- size: request.size
- };
-
- if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {
- for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {
- requestOpts.headers.delete(name);
- }
- }
-
- // HTTP-redirect fetch step 9
- if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {
- reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));
- finalize();
- return;
- }
-
- // HTTP-redirect fetch step 11
- if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {
- requestOpts.method = 'GET';
- requestOpts.body = undefined;
- requestOpts.headers.delete('content-length');
- }
-
- // HTTP-redirect fetch step 15
- resolve(fetch(new Request(locationURL, requestOpts)));
- finalize();
- return;
- }
- }
-
- // prepare response
- res.once('end', function () {
- if (signal) signal.removeEventListener('abort', abortAndFinalize);
- });
- let body = res.pipe(new PassThrough$1());
-
- const response_options = {
- url: request.url,
- status: res.statusCode,
- statusText: res.statusMessage,
- headers: headers,
- size: request.size,
- timeout: request.timeout,
- counter: request.counter
- };
-
- // HTTP-network fetch step 12.1.1.3
- const codings = headers.get('Content-Encoding');
-
- // HTTP-network fetch step 12.1.1.4: handle content codings
-
- // in following scenarios we ignore compression support
- // 1. compression support is disabled
- // 2. HEAD request
- // 3. no Content-Encoding header
- // 4. no content response (204)
- // 5. content not modified response (304)
- if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
-
- // For Node v6+
- // Be less strict when decoding compressed responses, since sometimes
- // servers send slightly invalid responses that are still accepted
- // by common browsers.
- // Always using Z_SYNC_FLUSH is what cURL does.
- const zlibOptions = {
- flush: zlib.Z_SYNC_FLUSH,
- finishFlush: zlib.Z_SYNC_FLUSH
- };
-
- // for gzip
- if (codings == 'gzip' || codings == 'x-gzip') {
- body = body.pipe(zlib.createGunzip(zlibOptions));
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
-
- // for deflate
- if (codings == 'deflate' || codings == 'x-deflate') {
- // handle the infamous raw deflate response from old servers
- // a hack for old IIS and Apache servers
- const raw = res.pipe(new PassThrough$1());
- raw.once('data', function (chunk) {
- // see http://stackoverflow.com/questions/37519828
- if ((chunk[0] & 0x0F) === 0x08) {
- body = body.pipe(zlib.createInflate());
- } else {
- body = body.pipe(zlib.createInflateRaw());
- }
- response = new Response(body, response_options);
- resolve(response);
- });
- raw.on('end', function () {
- // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.
- if (!response) {
- response = new Response(body, response_options);
- resolve(response);
- }
- });
- return;
- }
-
- // for br
- if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {
- body = body.pipe(zlib.createBrotliDecompress());
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
-
- // otherwise, use response as-is
- response = new Response(body, response_options);
- resolve(response);
- });
-
- writeToStream(req, request);
- });
-}
-function fixResponseChunkedTransferBadEnding(request, errorCallback) {
- let socket;
-
- request.on('socket', function (s) {
- socket = s;
- });
-
- request.on('response', function (response) {
- const headers = response.headers;
-
- if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {
- response.once('close', function (hadError) {
- // if a data listener is still present we didn't end cleanly
- const hasDataListener = socket.listenerCount('data') > 0;
-
- if (hasDataListener && !hadError) {
- const err = new Error('Premature close');
- err.code = 'ERR_STREAM_PREMATURE_CLOSE';
- errorCallback(err);
- }
- });
- }
- });
-}
-
-function destroyStream(stream, err) {
- if (stream.destroy) {
- stream.destroy(err);
- } else {
- // node < 8
- stream.emit('error', err);
- stream.end();
- }
-}
-
-/**
- * Redirect code matching
- *
- * @param Number code Status code
- * @return Boolean
- */
-fetch.isRedirect = function (code) {
- return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;
-};
-
-// expose Promise
-fetch.Promise = global.Promise;
-
-export default fetch;
-export { Headers, Request, Response, FetchError };
diff --git a/includes/search/node_modules/node-fetch/lib/index.js b/includes/search/node_modules/node-fetch/lib/index.js
deleted file mode 100644
index 337d6e5..0000000
--- a/includes/search/node_modules/node-fetch/lib/index.js
+++ /dev/null
@@ -1,1787 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, '__esModule', { value: true });
-
-function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
-
-var Stream = _interopDefault(require('stream'));
-var http = _interopDefault(require('http'));
-var Url = _interopDefault(require('url'));
-var whatwgUrl = _interopDefault(require('whatwg-url'));
-var https = _interopDefault(require('https'));
-var zlib = _interopDefault(require('zlib'));
-
-// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js
-
-// fix for "Readable" isn't a named export issue
-const Readable = Stream.Readable;
-
-const BUFFER = Symbol('buffer');
-const TYPE = Symbol('type');
-
-class Blob {
- constructor() {
- this[TYPE] = '';
-
- const blobParts = arguments[0];
- const options = arguments[1];
-
- const buffers = [];
- let size = 0;
-
- if (blobParts) {
- const a = blobParts;
- const length = Number(a.length);
- for (let i = 0; i < length; i++) {
- const element = a[i];
- let buffer;
- if (element instanceof Buffer) {
- buffer = element;
- } else if (ArrayBuffer.isView(element)) {
- buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);
- } else if (element instanceof ArrayBuffer) {
- buffer = Buffer.from(element);
- } else if (element instanceof Blob) {
- buffer = element[BUFFER];
- } else {
- buffer = Buffer.from(typeof element === 'string' ? element : String(element));
- }
- size += buffer.length;
- buffers.push(buffer);
- }
- }
-
- this[BUFFER] = Buffer.concat(buffers);
-
- let type = options && options.type !== undefined && String(options.type).toLowerCase();
- if (type && !/[^\u0020-\u007E]/.test(type)) {
- this[TYPE] = type;
- }
- }
- get size() {
- return this[BUFFER].length;
- }
- get type() {
- return this[TYPE];
- }
- text() {
- return Promise.resolve(this[BUFFER].toString());
- }
- arrayBuffer() {
- const buf = this[BUFFER];
- const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
- return Promise.resolve(ab);
- }
- stream() {
- const readable = new Readable();
- readable._read = function () {};
- readable.push(this[BUFFER]);
- readable.push(null);
- return readable;
- }
- toString() {
- return '[object Blob]';
- }
- slice() {
- const size = this.size;
-
- const start = arguments[0];
- const end = arguments[1];
- let relativeStart, relativeEnd;
- if (start === undefined) {
- relativeStart = 0;
- } else if (start < 0) {
- relativeStart = Math.max(size + start, 0);
- } else {
- relativeStart = Math.min(start, size);
- }
- if (end === undefined) {
- relativeEnd = size;
- } else if (end < 0) {
- relativeEnd = Math.max(size + end, 0);
- } else {
- relativeEnd = Math.min(end, size);
- }
- const span = Math.max(relativeEnd - relativeStart, 0);
-
- const buffer = this[BUFFER];
- const slicedBuffer = buffer.slice(relativeStart, relativeStart + span);
- const blob = new Blob([], { type: arguments[2] });
- blob[BUFFER] = slicedBuffer;
- return blob;
- }
-}
-
-Object.defineProperties(Blob.prototype, {
- size: { enumerable: true },
- type: { enumerable: true },
- slice: { enumerable: true }
-});
-
-Object.defineProperty(Blob.prototype, Symbol.toStringTag, {
- value: 'Blob',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-/**
- * fetch-error.js
- *
- * FetchError interface for operational errors
- */
-
-/**
- * Create FetchError instance
- *
- * @param String message Error message for human
- * @param String type Error type for machine
- * @param String systemError For Node.js system error
- * @return FetchError
- */
-function FetchError(message, type, systemError) {
- Error.call(this, message);
-
- this.message = message;
- this.type = type;
-
- // when err.type is `system`, err.code contains system error code
- if (systemError) {
- this.code = this.errno = systemError.code;
- }
-
- // hide custom error implementation details from end-users
- Error.captureStackTrace(this, this.constructor);
-}
-
-FetchError.prototype = Object.create(Error.prototype);
-FetchError.prototype.constructor = FetchError;
-FetchError.prototype.name = 'FetchError';
-
-let convert;
-try {
- convert = require('encoding').convert;
-} catch (e) {}
-
-const INTERNALS = Symbol('Body internals');
-
-// fix an issue where "PassThrough" isn't a named export for node <10
-const PassThrough = Stream.PassThrough;
-
-/**
- * Body mixin
- *
- * Ref: https://fetch.spec.whatwg.org/#body
- *
- * @param Stream body Readable stream
- * @param Object opts Response options
- * @return Void
- */
-function Body(body) {
- var _this = this;
-
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$size = _ref.size;
-
- let size = _ref$size === undefined ? 0 : _ref$size;
- var _ref$timeout = _ref.timeout;
- let timeout = _ref$timeout === undefined ? 0 : _ref$timeout;
-
- if (body == null) {
- // body is undefined or null
- body = null;
- } else if (isURLSearchParams(body)) {
- // body is a URLSearchParams
- body = Buffer.from(body.toString());
- } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {
- // body is ArrayBuffer
- body = Buffer.from(body);
- } else if (ArrayBuffer.isView(body)) {
- // body is ArrayBufferView
- body = Buffer.from(body.buffer, body.byteOffset, body.byteLength);
- } else if (body instanceof Stream) ; else {
- // none of the above
- // coerce to string then buffer
- body = Buffer.from(String(body));
- }
- this[INTERNALS] = {
- body,
- disturbed: false,
- error: null
- };
- this.size = size;
- this.timeout = timeout;
-
- if (body instanceof Stream) {
- body.on('error', function (err) {
- const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);
- _this[INTERNALS].error = error;
- });
- }
-}
-
-Body.prototype = {
- get body() {
- return this[INTERNALS].body;
- },
-
- get bodyUsed() {
- return this[INTERNALS].disturbed;
- },
-
- /**
- * Decode response as ArrayBuffer
- *
- * @return Promise
- */
- arrayBuffer() {
- return consumeBody.call(this).then(function (buf) {
- return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
- });
- },
-
- /**
- * Return raw response as Blob
- *
- * @return Promise
- */
- blob() {
- let ct = this.headers && this.headers.get('content-type') || '';
- return consumeBody.call(this).then(function (buf) {
- return Object.assign(
- // Prevent copying
- new Blob([], {
- type: ct.toLowerCase()
- }), {
- [BUFFER]: buf
- });
- });
- },
-
- /**
- * Decode response as json
- *
- * @return Promise
- */
- json() {
- var _this2 = this;
-
- return consumeBody.call(this).then(function (buffer) {
- try {
- return JSON.parse(buffer.toString());
- } catch (err) {
- return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));
- }
- });
- },
-
- /**
- * Decode response as text
- *
- * @return Promise
- */
- text() {
- return consumeBody.call(this).then(function (buffer) {
- return buffer.toString();
- });
- },
-
- /**
- * Decode response as buffer (non-spec api)
- *
- * @return Promise
- */
- buffer() {
- return consumeBody.call(this);
- },
-
- /**
- * Decode response as text, while automatically detecting the encoding and
- * trying to decode to UTF-8 (non-spec api)
- *
- * @return Promise
- */
- textConverted() {
- var _this3 = this;
-
- return consumeBody.call(this).then(function (buffer) {
- return convertBody(buffer, _this3.headers);
- });
- }
-};
-
-// In browsers, all properties are enumerable.
-Object.defineProperties(Body.prototype, {
- body: { enumerable: true },
- bodyUsed: { enumerable: true },
- arrayBuffer: { enumerable: true },
- blob: { enumerable: true },
- json: { enumerable: true },
- text: { enumerable: true }
-});
-
-Body.mixIn = function (proto) {
- for (const name of Object.getOwnPropertyNames(Body.prototype)) {
- // istanbul ignore else: future proof
- if (!(name in proto)) {
- const desc = Object.getOwnPropertyDescriptor(Body.prototype, name);
- Object.defineProperty(proto, name, desc);
- }
- }
-};
-
-/**
- * Consume and convert an entire Body to a Buffer.
- *
- * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body
- *
- * @return Promise
- */
-function consumeBody() {
- var _this4 = this;
-
- if (this[INTERNALS].disturbed) {
- return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));
- }
-
- this[INTERNALS].disturbed = true;
-
- if (this[INTERNALS].error) {
- return Body.Promise.reject(this[INTERNALS].error);
- }
-
- let body = this.body;
-
- // body is null
- if (body === null) {
- return Body.Promise.resolve(Buffer.alloc(0));
- }
-
- // body is blob
- if (isBlob(body)) {
- body = body.stream();
- }
-
- // body is buffer
- if (Buffer.isBuffer(body)) {
- return Body.Promise.resolve(body);
- }
-
- // istanbul ignore if: should never happen
- if (!(body instanceof Stream)) {
- return Body.Promise.resolve(Buffer.alloc(0));
- }
-
- // body is stream
- // get ready to actually consume the body
- let accum = [];
- let accumBytes = 0;
- let abort = false;
-
- return new Body.Promise(function (resolve, reject) {
- let resTimeout;
-
- // allow timeout on slow response body
- if (_this4.timeout) {
- resTimeout = setTimeout(function () {
- abort = true;
- reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));
- }, _this4.timeout);
- }
-
- // handle stream errors
- body.on('error', function (err) {
- if (err.name === 'AbortError') {
- // if the request was aborted, reject with this Error
- abort = true;
- reject(err);
- } else {
- // other errors, such as incorrect content-encoding
- reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));
- }
- });
-
- body.on('data', function (chunk) {
- if (abort || chunk === null) {
- return;
- }
-
- if (_this4.size && accumBytes + chunk.length > _this4.size) {
- abort = true;
- reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));
- return;
- }
-
- accumBytes += chunk.length;
- accum.push(chunk);
- });
-
- body.on('end', function () {
- if (abort) {
- return;
- }
-
- clearTimeout(resTimeout);
-
- try {
- resolve(Buffer.concat(accum, accumBytes));
- } catch (err) {
- // handle streams that have accumulated too much data (issue #414)
- reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));
- }
- });
- });
-}
-
-/**
- * Detect buffer encoding and convert to target encoding
- * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding
- *
- * @param Buffer buffer Incoming buffer
- * @param String encoding Target encoding
- * @return String
- */
-function convertBody(buffer, headers) {
- if (typeof convert !== 'function') {
- throw new Error('The package `encoding` must be installed to use the textConverted() function');
- }
-
- const ct = headers.get('content-type');
- let charset = 'utf-8';
- let res, str;
-
- // header
- if (ct) {
- res = /charset=([^;]*)/i.exec(ct);
- }
-
- // no charset in content type, peek at response body for at most 1024 bytes
- str = buffer.slice(0, 1024).toString();
-
- // html5
- if (!res && str) {
- res = /<meta.+?charset=(['"])(.+?)\1/i.exec(str);
- }
-
- // html4
- if (!res && str) {
- res = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(str);
- if (!res) {
- res = /<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(str);
- if (res) {
- res.pop(); // drop last quote
- }
- }
-
- if (res) {
- res = /charset=(.*)/i.exec(res.pop());
- }
- }
-
- // xml
- if (!res && str) {
- res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str);
- }
-
- // found charset
- if (res) {
- charset = res.pop();
-
- // prevent decode issues when sites use incorrect encoding
- // ref: https://hsivonen.fi/encoding-menu/
- if (charset === 'gb2312' || charset === 'gbk') {
- charset = 'gb18030';
- }
- }
-
- // turn raw buffers into a single utf-8 buffer
- return convert(buffer, 'UTF-8', charset).toString();
-}
-
-/**
- * Detect a URLSearchParams object
- * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143
- *
- * @param Object obj Object to detect by type or brand
- * @return String
- */
-function isURLSearchParams(obj) {
- // Duck-typing as a necessary condition.
- if (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {
- return false;
- }
-
- // Brand-checking and more duck-typing as optional condition.
- return obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';
-}
-
-/**
- * Check if `obj` is a W3C `Blob` object (which `File` inherits from)
- * @param {*} obj
- * @return {boolean}
- */
-function isBlob(obj) {
- return typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);
-}
-
-/**
- * Clone body given Res/Req instance
- *
- * @param Mixed instance Response or Request instance
- * @return Mixed
- */
-function clone(instance) {
- let p1, p2;
- let body = instance.body;
-
- // don't allow cloning a used body
- if (instance.bodyUsed) {
- throw new Error('cannot clone body after it is used');
- }
-
- // check that body is a stream and not form-data object
- // note: we can't clone the form-data object without having it as a dependency
- if (body instanceof Stream && typeof body.getBoundary !== 'function') {
- // tee instance body
- p1 = new PassThrough();
- p2 = new PassThrough();
- body.pipe(p1);
- body.pipe(p2);
- // set instance body to teed body and return the other teed body
- instance[INTERNALS].body = p1;
- body = p2;
- }
-
- return body;
-}
-
-/**
- * Performs the operation "extract a `Content-Type` value from |object|" as
- * specified in the specification:
- * https://fetch.spec.whatwg.org/#concept-bodyinit-extract
- *
- * This function assumes that instance.body is present.
- *
- * @param Mixed instance Any options.body input
- */
-function extractContentType(body) {
- if (body === null) {
- // body is null
- return null;
- } else if (typeof body === 'string') {
- // body is string
- return 'text/plain;charset=UTF-8';
- } else if (isURLSearchParams(body)) {
- // body is a URLSearchParams
- return 'application/x-www-form-urlencoded;charset=UTF-8';
- } else if (isBlob(body)) {
- // body is blob
- return body.type || null;
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- return null;
- } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {
- // body is ArrayBuffer
- return null;
- } else if (ArrayBuffer.isView(body)) {
- // body is ArrayBufferView
- return null;
- } else if (typeof body.getBoundary === 'function') {
- // detect form data input from form-data module
- return `multipart/form-data;boundary=${body.getBoundary()}`;
- } else if (body instanceof Stream) {
- // body is stream
- // can't really do much about this
- return null;
- } else {
- // Body constructor defaults other things to string
- return 'text/plain;charset=UTF-8';
- }
-}
-
-/**
- * The Fetch Standard treats this as if "total bytes" is a property on the body.
- * For us, we have to explicitly get it with a function.
- *
- * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes
- *
- * @param Body instance Instance of Body
- * @return Number? Number of bytes, or null if not possible
- */
-function getTotalBytes(instance) {
- const body = instance.body;
-
-
- if (body === null) {
- // body is null
- return 0;
- } else if (isBlob(body)) {
- return body.size;
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- return body.length;
- } else if (body && typeof body.getLengthSync === 'function') {
- // detect form data input from form-data module
- if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x
- body.hasKnownLength && body.hasKnownLength()) {
- // 2.x
- return body.getLengthSync();
- }
- return null;
- } else {
- // body is stream
- return null;
- }
-}
-
-/**
- * Write a Body to a Node.js WritableStream (e.g. http.Request) object.
- *
- * @param Body instance Instance of Body
- * @return Void
- */
-function writeToStream(dest, instance) {
- const body = instance.body;
-
-
- if (body === null) {
- // body is null
- dest.end();
- } else if (isBlob(body)) {
- body.stream().pipe(dest);
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- dest.write(body);
- dest.end();
- } else {
- // body is stream
- body.pipe(dest);
- }
-}
-
-// expose Promise
-Body.Promise = global.Promise;
-
-/**
- * headers.js
- *
- * Headers class offers convenient helpers
- */
-
-const invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/;
-const invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-
-function validateName(name) {
- name = `${name}`;
- if (invalidTokenRegex.test(name) || name === '') {
- throw new TypeError(`${name} is not a legal HTTP header name`);
- }
-}
-
-function validateValue(value) {
- value = `${value}`;
- if (invalidHeaderCharRegex.test(value)) {
- throw new TypeError(`${value} is not a legal HTTP header value`);
- }
-}
-
-/**
- * Find the key in the map object given a header name.
- *
- * Returns undefined if not found.
- *
- * @param String name Header name
- * @return String|Undefined
- */
-function find(map, name) {
- name = name.toLowerCase();
- for (const key in map) {
- if (key.toLowerCase() === name) {
- return key;
- }
- }
- return undefined;
-}
-
-const MAP = Symbol('map');
-class Headers {
- /**
- * Headers class
- *
- * @param Object headers Response headers
- * @return Void
- */
- constructor() {
- let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
-
- this[MAP] = Object.create(null);
-
- if (init instanceof Headers) {
- const rawHeaders = init.raw();
- const headerNames = Object.keys(rawHeaders);
-
- for (const headerName of headerNames) {
- for (const value of rawHeaders[headerName]) {
- this.append(headerName, value);
- }
- }
-
- return;
- }
-
- // We don't worry about converting prop to ByteString here as append()
- // will handle it.
- if (init == null) ; else if (typeof init === 'object') {
- const method = init[Symbol.iterator];
- if (method != null) {
- if (typeof method !== 'function') {
- throw new TypeError('Header pairs must be iterable');
- }
-
- // sequence<sequence<ByteString>>
- // Note: per spec we have to first exhaust the lists then process them
- const pairs = [];
- for (const pair of init) {
- if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {
- throw new TypeError('Each header pair must be iterable');
- }
- pairs.push(Array.from(pair));
- }
-
- for (const pair of pairs) {
- if (pair.length !== 2) {
- throw new TypeError('Each header pair must be a name/value tuple');
- }
- this.append(pair[0], pair[1]);
- }
- } else {
- // record<ByteString, ByteString>
- for (const key of Object.keys(init)) {
- const value = init[key];
- this.append(key, value);
- }
- }
- } else {
- throw new TypeError('Provided initializer must be an object');
- }
- }
-
- /**
- * Return combined header value given name
- *
- * @param String name Header name
- * @return Mixed
- */
- get(name) {
- name = `${name}`;
- validateName(name);
- const key = find(this[MAP], name);
- if (key === undefined) {
- return null;
- }
-
- return this[MAP][key].join(', ');
- }
-
- /**
- * Iterate over all headers
- *
- * @param Function callback Executed for each item with parameters (value, name, thisArg)
- * @param Boolean thisArg `this` context for callback function
- * @return Void
- */
- forEach(callback) {
- let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
-
- let pairs = getHeaders(this);
- let i = 0;
- while (i < pairs.length) {
- var _pairs$i = pairs[i];
- const name = _pairs$i[0],
- value = _pairs$i[1];
-
- callback.call(thisArg, value, name, this);
- pairs = getHeaders(this);
- i++;
- }
- }
-
- /**
- * Overwrite header values given name
- *
- * @param String name Header name
- * @param String value Header value
- * @return Void
- */
- set(name, value) {
- name = `${name}`;
- value = `${value}`;
- validateName(name);
- validateValue(value);
- const key = find(this[MAP], name);
- this[MAP][key !== undefined ? key : name] = [value];
- }
-
- /**
- * Append a value onto existing header
- *
- * @param String name Header name
- * @param String value Header value
- * @return Void
- */
- append(name, value) {
- name = `${name}`;
- value = `${value}`;
- validateName(name);
- validateValue(value);
- const key = find(this[MAP], name);
- if (key !== undefined) {
- this[MAP][key].push(value);
- } else {
- this[MAP][name] = [value];
- }
- }
-
- /**
- * Check for header name existence
- *
- * @param String name Header name
- * @return Boolean
- */
- has(name) {
- name = `${name}`;
- validateName(name);
- return find(this[MAP], name) !== undefined;
- }
-
- /**
- * Delete all header values given name
- *
- * @param String name Header name
- * @return Void
- */
- delete(name) {
- name = `${name}`;
- validateName(name);
- const key = find(this[MAP], name);
- if (key !== undefined) {
- delete this[MAP][key];
- }
- }
-
- /**
- * Return raw headers (non-spec api)
- *
- * @return Object
- */
- raw() {
- return this[MAP];
- }
-
- /**
- * Get an iterator on keys.
- *
- * @return Iterator
- */
- keys() {
- return createHeadersIterator(this, 'key');
- }
-
- /**
- * Get an iterator on values.
- *
- * @return Iterator
- */
- values() {
- return createHeadersIterator(this, 'value');
- }
-
- /**
- * Get an iterator on entries.
- *
- * This is the default iterator of the Headers object.
- *
- * @return Iterator
- */
- [Symbol.iterator]() {
- return createHeadersIterator(this, 'key+value');
- }
-}
-Headers.prototype.entries = Headers.prototype[Symbol.iterator];
-
-Object.defineProperty(Headers.prototype, Symbol.toStringTag, {
- value: 'Headers',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-Object.defineProperties(Headers.prototype, {
- get: { enumerable: true },
- forEach: { enumerable: true },
- set: { enumerable: true },
- append: { enumerable: true },
- has: { enumerable: true },
- delete: { enumerable: true },
- keys: { enumerable: true },
- values: { enumerable: true },
- entries: { enumerable: true }
-});
-
-function getHeaders(headers) {
- let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';
-
- const keys = Object.keys(headers[MAP]).sort();
- return keys.map(kind === 'key' ? function (k) {
- return k.toLowerCase();
- } : kind === 'value' ? function (k) {
- return headers[MAP][k].join(', ');
- } : function (k) {
- return [k.toLowerCase(), headers[MAP][k].join(', ')];
- });
-}
-
-const INTERNAL = Symbol('internal');
-
-function createHeadersIterator(target, kind) {
- const iterator = Object.create(HeadersIteratorPrototype);
- iterator[INTERNAL] = {
- target,
- kind,
- index: 0
- };
- return iterator;
-}
-
-const HeadersIteratorPrototype = Object.setPrototypeOf({
- next() {
- // istanbul ignore if
- if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {
- throw new TypeError('Value of `this` is not a HeadersIterator');
- }
-
- var _INTERNAL = this[INTERNAL];
- const target = _INTERNAL.target,
- kind = _INTERNAL.kind,
- index = _INTERNAL.index;
-
- const values = getHeaders(target, kind);
- const len = values.length;
- if (index >= len) {
- return {
- value: undefined,
- done: true
- };
- }
-
- this[INTERNAL].index = index + 1;
-
- return {
- value: values[index],
- done: false
- };
- }
-}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));
-
-Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {
- value: 'HeadersIterator',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-/**
- * Export the Headers object in a form that Node.js can consume.
- *
- * @param Headers headers
- * @return Object
- */
-function exportNodeCompatibleHeaders(headers) {
- const obj = Object.assign({ __proto__: null }, headers[MAP]);
-
- // http.request() only supports string as Host header. This hack makes
- // specifying custom Host header possible.
- const hostHeaderKey = find(headers[MAP], 'Host');
- if (hostHeaderKey !== undefined) {
- obj[hostHeaderKey] = obj[hostHeaderKey][0];
- }
-
- return obj;
-}
-
-/**
- * Create a Headers object from an object of headers, ignoring those that do
- * not conform to HTTP grammar productions.
- *
- * @param Object obj Object of headers
- * @return Headers
- */
-function createHeadersLenient(obj) {
- const headers = new Headers();
- for (const name of Object.keys(obj)) {
- if (invalidTokenRegex.test(name)) {
- continue;
- }
- if (Array.isArray(obj[name])) {
- for (const val of obj[name]) {
- if (invalidHeaderCharRegex.test(val)) {
- continue;
- }
- if (headers[MAP][name] === undefined) {
- headers[MAP][name] = [val];
- } else {
- headers[MAP][name].push(val);
- }
- }
- } else if (!invalidHeaderCharRegex.test(obj[name])) {
- headers[MAP][name] = [obj[name]];
- }
- }
- return headers;
-}
-
-const INTERNALS$1 = Symbol('Response internals');
-
-// fix an issue where "STATUS_CODES" aren't a named export for node <10
-const STATUS_CODES = http.STATUS_CODES;
-
-/**
- * Response class
- *
- * @param Stream body Readable stream
- * @param Object opts Response options
- * @return Void
- */
-class Response {
- constructor() {
- let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
- let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
- Body.call(this, body, opts);
-
- const status = opts.status || 200;
- const headers = new Headers(opts.headers);
-
- if (body != null && !headers.has('Content-Type')) {
- const contentType = extractContentType(body);
- if (contentType) {
- headers.append('Content-Type', contentType);
- }
- }
-
- this[INTERNALS$1] = {
- url: opts.url,
- status,
- statusText: opts.statusText || STATUS_CODES[status],
- headers,
- counter: opts.counter
- };
- }
-
- get url() {
- return this[INTERNALS$1].url || '';
- }
-
- get status() {
- return this[INTERNALS$1].status;
- }
-
- /**
- * Convenience property representing if the request ended normally
- */
- get ok() {
- return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;
- }
-
- get redirected() {
- return this[INTERNALS$1].counter > 0;
- }
-
- get statusText() {
- return this[INTERNALS$1].statusText;
- }
-
- get headers() {
- return this[INTERNALS$1].headers;
- }
-
- /**
- * Clone this response
- *
- * @return Response
- */
- clone() {
- return new Response(clone(this), {
- url: this.url,
- status: this.status,
- statusText: this.statusText,
- headers: this.headers,
- ok: this.ok,
- redirected: this.redirected
- });
- }
-}
-
-Body.mixIn(Response.prototype);
-
-Object.defineProperties(Response.prototype, {
- url: { enumerable: true },
- status: { enumerable: true },
- ok: { enumerable: true },
- redirected: { enumerable: true },
- statusText: { enumerable: true },
- headers: { enumerable: true },
- clone: { enumerable: true }
-});
-
-Object.defineProperty(Response.prototype, Symbol.toStringTag, {
- value: 'Response',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-const INTERNALS$2 = Symbol('Request internals');
-const URL = Url.URL || whatwgUrl.URL;
-
-// fix an issue where "format", "parse" aren't a named export for node <10
-const parse_url = Url.parse;
-const format_url = Url.format;
-
-/**
- * Wrapper around `new URL` to handle arbitrary URLs
- *
- * @param {string} urlStr
- * @return {void}
- */
-function parseURL(urlStr) {
- /*
- Check whether the URL is absolute or not
- Scheme: https://tools.ietf.org/html/rfc3986#section-3.1
- Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3
- */
- if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) {
- urlStr = new URL(urlStr).toString();
- }
-
- // Fallback to old implementation for arbitrary URLs
- return parse_url(urlStr);
-}
-
-const streamDestructionSupported = 'destroy' in Stream.Readable.prototype;
-
-/**
- * Check if a value is an instance of Request.
- *
- * @param Mixed input
- * @return Boolean
- */
-function isRequest(input) {
- return typeof input === 'object' && typeof input[INTERNALS$2] === 'object';
-}
-
-function isAbortSignal(signal) {
- const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);
- return !!(proto && proto.constructor.name === 'AbortSignal');
-}
-
-/**
- * Request class
- *
- * @param Mixed input Url or Request instance
- * @param Object init Custom options
- * @return Void
- */
-class Request {
- constructor(input) {
- let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
- let parsedURL;
-
- // normalize input
- if (!isRequest(input)) {
- if (input && input.href) {
- // in order to support Node.js' Url objects; though WHATWG's URL objects
- // will fall into this branch also (since their `toString()` will return
- // `href` property anyway)
- parsedURL = parseURL(input.href);
- } else {
- // coerce input to a string before attempting to parse
- parsedURL = parseURL(`${input}`);
- }
- input = {};
- } else {
- parsedURL = parseURL(input.url);
- }
-
- let method = init.method || input.method || 'GET';
- method = method.toUpperCase();
-
- if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {
- throw new TypeError('Request with GET/HEAD method cannot have body');
- }
-
- let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;
-
- Body.call(this, inputBody, {
- timeout: init.timeout || input.timeout || 0,
- size: init.size || input.size || 0
- });
-
- const headers = new Headers(init.headers || input.headers || {});
-
- if (inputBody != null && !headers.has('Content-Type')) {
- const contentType = extractContentType(inputBody);
- if (contentType) {
- headers.append('Content-Type', contentType);
- }
- }
-
- let signal = isRequest(input) ? input.signal : null;
- if ('signal' in init) signal = init.signal;
-
- if (signal != null && !isAbortSignal(signal)) {
- throw new TypeError('Expected signal to be an instanceof AbortSignal');
- }
-
- this[INTERNALS$2] = {
- method,
- redirect: init.redirect || input.redirect || 'follow',
- headers,
- parsedURL,
- signal
- };
-
- // node-fetch-only options
- this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;
- this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;
- this.counter = init.counter || input.counter || 0;
- this.agent = init.agent || input.agent;
- }
-
- get method() {
- return this[INTERNALS$2].method;
- }
-
- get url() {
- return format_url(this[INTERNALS$2].parsedURL);
- }
-
- get headers() {
- return this[INTERNALS$2].headers;
- }
-
- get redirect() {
- return this[INTERNALS$2].redirect;
- }
-
- get signal() {
- return this[INTERNALS$2].signal;
- }
-
- /**
- * Clone this request
- *
- * @return Request
- */
- clone() {
- return new Request(this);
- }
-}
-
-Body.mixIn(Request.prototype);
-
-Object.defineProperty(Request.prototype, Symbol.toStringTag, {
- value: 'Request',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-Object.defineProperties(Request.prototype, {
- method: { enumerable: true },
- url: { enumerable: true },
- headers: { enumerable: true },
- redirect: { enumerable: true },
- clone: { enumerable: true },
- signal: { enumerable: true }
-});
-
-/**
- * Convert a Request to Node.js http request options.
- *
- * @param Request A Request instance
- * @return Object The options object to be passed to http.request
- */
-function getNodeRequestOptions(request) {
- const parsedURL = request[INTERNALS$2].parsedURL;
- const headers = new Headers(request[INTERNALS$2].headers);
-
- // fetch step 1.3
- if (!headers.has('Accept')) {
- headers.set('Accept', '*/*');
- }
-
- // Basic fetch
- if (!parsedURL.protocol || !parsedURL.hostname) {
- throw new TypeError('Only absolute URLs are supported');
- }
-
- if (!/^https?:$/.test(parsedURL.protocol)) {
- throw new TypeError('Only HTTP(S) protocols are supported');
- }
-
- if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {
- throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');
- }
-
- // HTTP-network-or-cache fetch steps 2.4-2.7
- let contentLengthValue = null;
- if (request.body == null && /^(POST|PUT)$/i.test(request.method)) {
- contentLengthValue = '0';
- }
- if (request.body != null) {
- const totalBytes = getTotalBytes(request);
- if (typeof totalBytes === 'number') {
- contentLengthValue = String(totalBytes);
- }
- }
- if (contentLengthValue) {
- headers.set('Content-Length', contentLengthValue);
- }
-
- // HTTP-network-or-cache fetch step 2.11
- if (!headers.has('User-Agent')) {
- headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');
- }
-
- // HTTP-network-or-cache fetch step 2.15
- if (request.compress && !headers.has('Accept-Encoding')) {
- headers.set('Accept-Encoding', 'gzip,deflate');
- }
-
- let agent = request.agent;
- if (typeof agent === 'function') {
- agent = agent(parsedURL);
- }
-
- if (!headers.has('Connection') && !agent) {
- headers.set('Connection', 'close');
- }
-
- // HTTP-network fetch step 4.2
- // chunked encoding is handled by Node.js
-
- return Object.assign({}, parsedURL, {
- method: request.method,
- headers: exportNodeCompatibleHeaders(headers),
- agent
- });
-}
-
-/**
- * abort-error.js
- *
- * AbortError interface for cancelled requests
- */
-
-/**
- * Create AbortError instance
- *
- * @param String message Error message for human
- * @return AbortError
- */
-function AbortError(message) {
- Error.call(this, message);
-
- this.type = 'aborted';
- this.message = message;
-
- // hide custom error implementation details from end-users
- Error.captureStackTrace(this, this.constructor);
-}
-
-AbortError.prototype = Object.create(Error.prototype);
-AbortError.prototype.constructor = AbortError;
-AbortError.prototype.name = 'AbortError';
-
-const URL$1 = Url.URL || whatwgUrl.URL;
-
-// fix an issue where "PassThrough", "resolve" aren't a named export for node <10
-const PassThrough$1 = Stream.PassThrough;
-
-const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {
- const orig = new URL$1(original).hostname;
- const dest = new URL$1(destination).hostname;
-
- return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);
-};
-
-/**
- * isSameProtocol reports whether the two provided URLs use the same protocol.
- *
- * Both domains must already be in canonical form.
- * @param {string|URL} original
- * @param {string|URL} destination
- */
-const isSameProtocol = function isSameProtocol(destination, original) {
- const orig = new URL$1(original).protocol;
- const dest = new URL$1(destination).protocol;
-
- return orig === dest;
-};
-
-/**
- * Fetch function
- *
- * @param Mixed url Absolute url or Request instance
- * @param Object opts Fetch options
- * @return Promise
- */
-function fetch(url, opts) {
-
- // allow custom promise
- if (!fetch.Promise) {
- throw new Error('native promise missing, set fetch.Promise to your favorite alternative');
- }
-
- Body.Promise = fetch.Promise;
-
- // wrap http.request into fetch
- return new fetch.Promise(function (resolve, reject) {
- // build request object
- const request = new Request(url, opts);
- const options = getNodeRequestOptions(request);
-
- const send = (options.protocol === 'https:' ? https : http).request;
- const signal = request.signal;
-
- let response = null;
-
- const abort = function abort() {
- let error = new AbortError('The user aborted a request.');
- reject(error);
- if (request.body && request.body instanceof Stream.Readable) {
- destroyStream(request.body, error);
- }
- if (!response || !response.body) return;
- response.body.emit('error', error);
- };
-
- if (signal && signal.aborted) {
- abort();
- return;
- }
-
- const abortAndFinalize = function abortAndFinalize() {
- abort();
- finalize();
- };
-
- // send request
- const req = send(options);
- let reqTimeout;
-
- if (signal) {
- signal.addEventListener('abort', abortAndFinalize);
- }
-
- function finalize() {
- req.abort();
- if (signal) signal.removeEventListener('abort', abortAndFinalize);
- clearTimeout(reqTimeout);
- }
-
- if (request.timeout) {
- req.once('socket', function (socket) {
- reqTimeout = setTimeout(function () {
- reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));
- finalize();
- }, request.timeout);
- });
- }
-
- req.on('error', function (err) {
- reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));
-
- if (response && response.body) {
- destroyStream(response.body, err);
- }
-
- finalize();
- });
-
- fixResponseChunkedTransferBadEnding(req, function (err) {
- if (signal && signal.aborted) {
- return;
- }
-
- if (response && response.body) {
- destroyStream(response.body, err);
- }
- });
-
- /* c8 ignore next 18 */
- if (parseInt(process.version.substring(1)) < 14) {
- // Before Node.js 14, pipeline() does not fully support async iterators and does not always
- // properly handle when the socket close/end events are out of order.
- req.on('socket', function (s) {
- s.addListener('close', function (hadError) {
- // if a data listener is still present we didn't end cleanly
- const hasDataListener = s.listenerCount('data') > 0;
-
- // if end happened before close but the socket didn't emit an error, do it now
- if (response && hasDataListener && !hadError && !(signal && signal.aborted)) {
- const err = new Error('Premature close');
- err.code = 'ERR_STREAM_PREMATURE_CLOSE';
- response.body.emit('error', err);
- }
- });
- });
- }
-
- req.on('response', function (res) {
- clearTimeout(reqTimeout);
-
- const headers = createHeadersLenient(res.headers);
-
- // HTTP fetch step 5
- if (fetch.isRedirect(res.statusCode)) {
- // HTTP fetch step 5.2
- const location = headers.get('Location');
-
- // HTTP fetch step 5.3
- let locationURL = null;
- try {
- locationURL = location === null ? null : new URL$1(location, request.url).toString();
- } catch (err) {
- // error here can only be invalid URL in Location: header
- // do not throw when options.redirect == manual
- // let the user extract the errorneous redirect URL
- if (request.redirect !== 'manual') {
- reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));
- finalize();
- return;
- }
- }
-
- // HTTP fetch step 5.5
- switch (request.redirect) {
- case 'error':
- reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));
- finalize();
- return;
- case 'manual':
- // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.
- if (locationURL !== null) {
- // handle corrupted header
- try {
- headers.set('Location', locationURL);
- } catch (err) {
- // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request
- reject(err);
- }
- }
- break;
- case 'follow':
- // HTTP-redirect fetch step 2
- if (locationURL === null) {
- break;
- }
-
- // HTTP-redirect fetch step 5
- if (request.counter >= request.follow) {
- reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));
- finalize();
- return;
- }
-
- // HTTP-redirect fetch step 6 (counter increment)
- // Create a new Request object.
- const requestOpts = {
- headers: new Headers(request.headers),
- follow: request.follow,
- counter: request.counter + 1,
- agent: request.agent,
- compress: request.compress,
- method: request.method,
- body: request.body,
- signal: request.signal,
- timeout: request.timeout,
- size: request.size
- };
-
- if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {
- for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {
- requestOpts.headers.delete(name);
- }
- }
-
- // HTTP-redirect fetch step 9
- if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {
- reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));
- finalize();
- return;
- }
-
- // HTTP-redirect fetch step 11
- if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {
- requestOpts.method = 'GET';
- requestOpts.body = undefined;
- requestOpts.headers.delete('content-length');
- }
-
- // HTTP-redirect fetch step 15
- resolve(fetch(new Request(locationURL, requestOpts)));
- finalize();
- return;
- }
- }
-
- // prepare response
- res.once('end', function () {
- if (signal) signal.removeEventListener('abort', abortAndFinalize);
- });
- let body = res.pipe(new PassThrough$1());
-
- const response_options = {
- url: request.url,
- status: res.statusCode,
- statusText: res.statusMessage,
- headers: headers,
- size: request.size,
- timeout: request.timeout,
- counter: request.counter
- };
-
- // HTTP-network fetch step 12.1.1.3
- const codings = headers.get('Content-Encoding');
-
- // HTTP-network fetch step 12.1.1.4: handle content codings
-
- // in following scenarios we ignore compression support
- // 1. compression support is disabled
- // 2. HEAD request
- // 3. no Content-Encoding header
- // 4. no content response (204)
- // 5. content not modified response (304)
- if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
-
- // For Node v6+
- // Be less strict when decoding compressed responses, since sometimes
- // servers send slightly invalid responses that are still accepted
- // by common browsers.
- // Always using Z_SYNC_FLUSH is what cURL does.
- const zlibOptions = {
- flush: zlib.Z_SYNC_FLUSH,
- finishFlush: zlib.Z_SYNC_FLUSH
- };
-
- // for gzip
- if (codings == 'gzip' || codings == 'x-gzip') {
- body = body.pipe(zlib.createGunzip(zlibOptions));
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
-
- // for deflate
- if (codings == 'deflate' || codings == 'x-deflate') {
- // handle the infamous raw deflate response from old servers
- // a hack for old IIS and Apache servers
- const raw = res.pipe(new PassThrough$1());
- raw.once('data', function (chunk) {
- // see http://stackoverflow.com/questions/37519828
- if ((chunk[0] & 0x0F) === 0x08) {
- body = body.pipe(zlib.createInflate());
- } else {
- body = body.pipe(zlib.createInflateRaw());
- }
- response = new Response(body, response_options);
- resolve(response);
- });
- raw.on('end', function () {
- // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.
- if (!response) {
- response = new Response(body, response_options);
- resolve(response);
- }
- });
- return;
- }
-
- // for br
- if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {
- body = body.pipe(zlib.createBrotliDecompress());
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
-
- // otherwise, use response as-is
- response = new Response(body, response_options);
- resolve(response);
- });
-
- writeToStream(req, request);
- });
-}
-function fixResponseChunkedTransferBadEnding(request, errorCallback) {
- let socket;
-
- request.on('socket', function (s) {
- socket = s;
- });
-
- request.on('response', function (response) {
- const headers = response.headers;
-
- if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {
- response.once('close', function (hadError) {
- // if a data listener is still present we didn't end cleanly
- const hasDataListener = socket.listenerCount('data') > 0;
-
- if (hasDataListener && !hadError) {
- const err = new Error('Premature close');
- err.code = 'ERR_STREAM_PREMATURE_CLOSE';
- errorCallback(err);
- }
- });
- }
- });
-}
-
-function destroyStream(stream, err) {
- if (stream.destroy) {
- stream.destroy(err);
- } else {
- // node < 8
- stream.emit('error', err);
- stream.end();
- }
-}
-
-/**
- * Redirect code matching
- *
- * @param Number code Status code
- * @return Boolean
- */
-fetch.isRedirect = function (code) {
- return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;
-};
-
-// expose Promise
-fetch.Promise = global.Promise;
-
-module.exports = exports = fetch;
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.default = exports;
-exports.Headers = Headers;
-exports.Request = Request;
-exports.Response = Response;
-exports.FetchError = FetchError;
diff --git a/includes/search/node_modules/node-fetch/lib/index.mjs b/includes/search/node_modules/node-fetch/lib/index.mjs
deleted file mode 100644
index ace669f..0000000
--- a/includes/search/node_modules/node-fetch/lib/index.mjs
+++ /dev/null
@@ -1,1776 +0,0 @@
-import Stream from 'stream';
-import http from 'http';
-import Url from 'url';
-import whatwgUrl from 'whatwg-url';
-import https from 'https';
-import zlib from 'zlib';
-
-// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js
-
-// fix for "Readable" isn't a named export issue
-const Readable = Stream.Readable;
-
-const BUFFER = Symbol('buffer');
-const TYPE = Symbol('type');
-
-class Blob {
- constructor() {
- this[TYPE] = '';
-
- const blobParts = arguments[0];
- const options = arguments[1];
-
- const buffers = [];
- let size = 0;
-
- if (blobParts) {
- const a = blobParts;
- const length = Number(a.length);
- for (let i = 0; i < length; i++) {
- const element = a[i];
- let buffer;
- if (element instanceof Buffer) {
- buffer = element;
- } else if (ArrayBuffer.isView(element)) {
- buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);
- } else if (element instanceof ArrayBuffer) {
- buffer = Buffer.from(element);
- } else if (element instanceof Blob) {
- buffer = element[BUFFER];
- } else {
- buffer = Buffer.from(typeof element === 'string' ? element : String(element));
- }
- size += buffer.length;
- buffers.push(buffer);
- }
- }
-
- this[BUFFER] = Buffer.concat(buffers);
-
- let type = options && options.type !== undefined && String(options.type).toLowerCase();
- if (type && !/[^\u0020-\u007E]/.test(type)) {
- this[TYPE] = type;
- }
- }
- get size() {
- return this[BUFFER].length;
- }
- get type() {
- return this[TYPE];
- }
- text() {
- return Promise.resolve(this[BUFFER].toString());
- }
- arrayBuffer() {
- const buf = this[BUFFER];
- const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
- return Promise.resolve(ab);
- }
- stream() {
- const readable = new Readable();
- readable._read = function () {};
- readable.push(this[BUFFER]);
- readable.push(null);
- return readable;
- }
- toString() {
- return '[object Blob]';
- }
- slice() {
- const size = this.size;
-
- const start = arguments[0];
- const end = arguments[1];
- let relativeStart, relativeEnd;
- if (start === undefined) {
- relativeStart = 0;
- } else if (start < 0) {
- relativeStart = Math.max(size + start, 0);
- } else {
- relativeStart = Math.min(start, size);
- }
- if (end === undefined) {
- relativeEnd = size;
- } else if (end < 0) {
- relativeEnd = Math.max(size + end, 0);
- } else {
- relativeEnd = Math.min(end, size);
- }
- const span = Math.max(relativeEnd - relativeStart, 0);
-
- const buffer = this[BUFFER];
- const slicedBuffer = buffer.slice(relativeStart, relativeStart + span);
- const blob = new Blob([], { type: arguments[2] });
- blob[BUFFER] = slicedBuffer;
- return blob;
- }
-}
-
-Object.defineProperties(Blob.prototype, {
- size: { enumerable: true },
- type: { enumerable: true },
- slice: { enumerable: true }
-});
-
-Object.defineProperty(Blob.prototype, Symbol.toStringTag, {
- value: 'Blob',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-/**
- * fetch-error.js
- *
- * FetchError interface for operational errors
- */
-
-/**
- * Create FetchError instance
- *
- * @param String message Error message for human
- * @param String type Error type for machine
- * @param String systemError For Node.js system error
- * @return FetchError
- */
-function FetchError(message, type, systemError) {
- Error.call(this, message);
-
- this.message = message;
- this.type = type;
-
- // when err.type is `system`, err.code contains system error code
- if (systemError) {
- this.code = this.errno = systemError.code;
- }
-
- // hide custom error implementation details from end-users
- Error.captureStackTrace(this, this.constructor);
-}
-
-FetchError.prototype = Object.create(Error.prototype);
-FetchError.prototype.constructor = FetchError;
-FetchError.prototype.name = 'FetchError';
-
-let convert;
-try {
- convert = require('encoding').convert;
-} catch (e) {}
-
-const INTERNALS = Symbol('Body internals');
-
-// fix an issue where "PassThrough" isn't a named export for node <10
-const PassThrough = Stream.PassThrough;
-
-/**
- * Body mixin
- *
- * Ref: https://fetch.spec.whatwg.org/#body
- *
- * @param Stream body Readable stream
- * @param Object opts Response options
- * @return Void
- */
-function Body(body) {
- var _this = this;
-
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- _ref$size = _ref.size;
-
- let size = _ref$size === undefined ? 0 : _ref$size;
- var _ref$timeout = _ref.timeout;
- let timeout = _ref$timeout === undefined ? 0 : _ref$timeout;
-
- if (body == null) {
- // body is undefined or null
- body = null;
- } else if (isURLSearchParams(body)) {
- // body is a URLSearchParams
- body = Buffer.from(body.toString());
- } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {
- // body is ArrayBuffer
- body = Buffer.from(body);
- } else if (ArrayBuffer.isView(body)) {
- // body is ArrayBufferView
- body = Buffer.from(body.buffer, body.byteOffset, body.byteLength);
- } else if (body instanceof Stream) ; else {
- // none of the above
- // coerce to string then buffer
- body = Buffer.from(String(body));
- }
- this[INTERNALS] = {
- body,
- disturbed: false,
- error: null
- };
- this.size = size;
- this.timeout = timeout;
-
- if (body instanceof Stream) {
- body.on('error', function (err) {
- const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);
- _this[INTERNALS].error = error;
- });
- }
-}
-
-Body.prototype = {
- get body() {
- return this[INTERNALS].body;
- },
-
- get bodyUsed() {
- return this[INTERNALS].disturbed;
- },
-
- /**
- * Decode response as ArrayBuffer
- *
- * @return Promise
- */
- arrayBuffer() {
- return consumeBody.call(this).then(function (buf) {
- return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
- });
- },
-
- /**
- * Return raw response as Blob
- *
- * @return Promise
- */
- blob() {
- let ct = this.headers && this.headers.get('content-type') || '';
- return consumeBody.call(this).then(function (buf) {
- return Object.assign(
- // Prevent copying
- new Blob([], {
- type: ct.toLowerCase()
- }), {
- [BUFFER]: buf
- });
- });
- },
-
- /**
- * Decode response as json
- *
- * @return Promise
- */
- json() {
- var _this2 = this;
-
- return consumeBody.call(this).then(function (buffer) {
- try {
- return JSON.parse(buffer.toString());
- } catch (err) {
- return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));
- }
- });
- },
-
- /**
- * Decode response as text
- *
- * @return Promise
- */
- text() {
- return consumeBody.call(this).then(function (buffer) {
- return buffer.toString();
- });
- },
-
- /**
- * Decode response as buffer (non-spec api)
- *
- * @return Promise
- */
- buffer() {
- return consumeBody.call(this);
- },
-
- /**
- * Decode response as text, while automatically detecting the encoding and
- * trying to decode to UTF-8 (non-spec api)
- *
- * @return Promise
- */
- textConverted() {
- var _this3 = this;
-
- return consumeBody.call(this).then(function (buffer) {
- return convertBody(buffer, _this3.headers);
- });
- }
-};
-
-// In browsers, all properties are enumerable.
-Object.defineProperties(Body.prototype, {
- body: { enumerable: true },
- bodyUsed: { enumerable: true },
- arrayBuffer: { enumerable: true },
- blob: { enumerable: true },
- json: { enumerable: true },
- text: { enumerable: true }
-});
-
-Body.mixIn = function (proto) {
- for (const name of Object.getOwnPropertyNames(Body.prototype)) {
- // istanbul ignore else: future proof
- if (!(name in proto)) {
- const desc = Object.getOwnPropertyDescriptor(Body.prototype, name);
- Object.defineProperty(proto, name, desc);
- }
- }
-};
-
-/**
- * Consume and convert an entire Body to a Buffer.
- *
- * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body
- *
- * @return Promise
- */
-function consumeBody() {
- var _this4 = this;
-
- if (this[INTERNALS].disturbed) {
- return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));
- }
-
- this[INTERNALS].disturbed = true;
-
- if (this[INTERNALS].error) {
- return Body.Promise.reject(this[INTERNALS].error);
- }
-
- let body = this.body;
-
- // body is null
- if (body === null) {
- return Body.Promise.resolve(Buffer.alloc(0));
- }
-
- // body is blob
- if (isBlob(body)) {
- body = body.stream();
- }
-
- // body is buffer
- if (Buffer.isBuffer(body)) {
- return Body.Promise.resolve(body);
- }
-
- // istanbul ignore if: should never happen
- if (!(body instanceof Stream)) {
- return Body.Promise.resolve(Buffer.alloc(0));
- }
-
- // body is stream
- // get ready to actually consume the body
- let accum = [];
- let accumBytes = 0;
- let abort = false;
-
- return new Body.Promise(function (resolve, reject) {
- let resTimeout;
-
- // allow timeout on slow response body
- if (_this4.timeout) {
- resTimeout = setTimeout(function () {
- abort = true;
- reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));
- }, _this4.timeout);
- }
-
- // handle stream errors
- body.on('error', function (err) {
- if (err.name === 'AbortError') {
- // if the request was aborted, reject with this Error
- abort = true;
- reject(err);
- } else {
- // other errors, such as incorrect content-encoding
- reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));
- }
- });
-
- body.on('data', function (chunk) {
- if (abort || chunk === null) {
- return;
- }
-
- if (_this4.size && accumBytes + chunk.length > _this4.size) {
- abort = true;
- reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));
- return;
- }
-
- accumBytes += chunk.length;
- accum.push(chunk);
- });
-
- body.on('end', function () {
- if (abort) {
- return;
- }
-
- clearTimeout(resTimeout);
-
- try {
- resolve(Buffer.concat(accum, accumBytes));
- } catch (err) {
- // handle streams that have accumulated too much data (issue #414)
- reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));
- }
- });
- });
-}
-
-/**
- * Detect buffer encoding and convert to target encoding
- * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding
- *
- * @param Buffer buffer Incoming buffer
- * @param String encoding Target encoding
- * @return String
- */
-function convertBody(buffer, headers) {
- if (typeof convert !== 'function') {
- throw new Error('The package `encoding` must be installed to use the textConverted() function');
- }
-
- const ct = headers.get('content-type');
- let charset = 'utf-8';
- let res, str;
-
- // header
- if (ct) {
- res = /charset=([^;]*)/i.exec(ct);
- }
-
- // no charset in content type, peek at response body for at most 1024 bytes
- str = buffer.slice(0, 1024).toString();
-
- // html5
- if (!res && str) {
- res = /<meta.+?charset=(['"])(.+?)\1/i.exec(str);
- }
-
- // html4
- if (!res && str) {
- res = /<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(str);
- if (!res) {
- res = /<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(str);
- if (res) {
- res.pop(); // drop last quote
- }
- }
-
- if (res) {
- res = /charset=(.*)/i.exec(res.pop());
- }
- }
-
- // xml
- if (!res && str) {
- res = /<\?xml.+?encoding=(['"])(.+?)\1/i.exec(str);
- }
-
- // found charset
- if (res) {
- charset = res.pop();
-
- // prevent decode issues when sites use incorrect encoding
- // ref: https://hsivonen.fi/encoding-menu/
- if (charset === 'gb2312' || charset === 'gbk') {
- charset = 'gb18030';
- }
- }
-
- // turn raw buffers into a single utf-8 buffer
- return convert(buffer, 'UTF-8', charset).toString();
-}
-
-/**
- * Detect a URLSearchParams object
- * ref: https://github.com/bitinn/node-fetch/issues/296#issuecomment-307598143
- *
- * @param Object obj Object to detect by type or brand
- * @return String
- */
-function isURLSearchParams(obj) {
- // Duck-typing as a necessary condition.
- if (typeof obj !== 'object' || typeof obj.append !== 'function' || typeof obj.delete !== 'function' || typeof obj.get !== 'function' || typeof obj.getAll !== 'function' || typeof obj.has !== 'function' || typeof obj.set !== 'function') {
- return false;
- }
-
- // Brand-checking and more duck-typing as optional condition.
- return obj.constructor.name === 'URLSearchParams' || Object.prototype.toString.call(obj) === '[object URLSearchParams]' || typeof obj.sort === 'function';
-}
-
-/**
- * Check if `obj` is a W3C `Blob` object (which `File` inherits from)
- * @param {*} obj
- * @return {boolean}
- */
-function isBlob(obj) {
- return typeof obj === 'object' && typeof obj.arrayBuffer === 'function' && typeof obj.type === 'string' && typeof obj.stream === 'function' && typeof obj.constructor === 'function' && typeof obj.constructor.name === 'string' && /^(Blob|File)$/.test(obj.constructor.name) && /^(Blob|File)$/.test(obj[Symbol.toStringTag]);
-}
-
-/**
- * Clone body given Res/Req instance
- *
- * @param Mixed instance Response or Request instance
- * @return Mixed
- */
-function clone(instance) {
- let p1, p2;
- let body = instance.body;
-
- // don't allow cloning a used body
- if (instance.bodyUsed) {
- throw new Error('cannot clone body after it is used');
- }
-
- // check that body is a stream and not form-data object
- // note: we can't clone the form-data object without having it as a dependency
- if (body instanceof Stream && typeof body.getBoundary !== 'function') {
- // tee instance body
- p1 = new PassThrough();
- p2 = new PassThrough();
- body.pipe(p1);
- body.pipe(p2);
- // set instance body to teed body and return the other teed body
- instance[INTERNALS].body = p1;
- body = p2;
- }
-
- return body;
-}
-
-/**
- * Performs the operation "extract a `Content-Type` value from |object|" as
- * specified in the specification:
- * https://fetch.spec.whatwg.org/#concept-bodyinit-extract
- *
- * This function assumes that instance.body is present.
- *
- * @param Mixed instance Any options.body input
- */
-function extractContentType(body) {
- if (body === null) {
- // body is null
- return null;
- } else if (typeof body === 'string') {
- // body is string
- return 'text/plain;charset=UTF-8';
- } else if (isURLSearchParams(body)) {
- // body is a URLSearchParams
- return 'application/x-www-form-urlencoded;charset=UTF-8';
- } else if (isBlob(body)) {
- // body is blob
- return body.type || null;
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- return null;
- } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {
- // body is ArrayBuffer
- return null;
- } else if (ArrayBuffer.isView(body)) {
- // body is ArrayBufferView
- return null;
- } else if (typeof body.getBoundary === 'function') {
- // detect form data input from form-data module
- return `multipart/form-data;boundary=${body.getBoundary()}`;
- } else if (body instanceof Stream) {
- // body is stream
- // can't really do much about this
- return null;
- } else {
- // Body constructor defaults other things to string
- return 'text/plain;charset=UTF-8';
- }
-}
-
-/**
- * The Fetch Standard treats this as if "total bytes" is a property on the body.
- * For us, we have to explicitly get it with a function.
- *
- * ref: https://fetch.spec.whatwg.org/#concept-body-total-bytes
- *
- * @param Body instance Instance of Body
- * @return Number? Number of bytes, or null if not possible
- */
-function getTotalBytes(instance) {
- const body = instance.body;
-
-
- if (body === null) {
- // body is null
- return 0;
- } else if (isBlob(body)) {
- return body.size;
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- return body.length;
- } else if (body && typeof body.getLengthSync === 'function') {
- // detect form data input from form-data module
- if (body._lengthRetrievers && body._lengthRetrievers.length == 0 || // 1.x
- body.hasKnownLength && body.hasKnownLength()) {
- // 2.x
- return body.getLengthSync();
- }
- return null;
- } else {
- // body is stream
- return null;
- }
-}
-
-/**
- * Write a Body to a Node.js WritableStream (e.g. http.Request) object.
- *
- * @param Body instance Instance of Body
- * @return Void
- */
-function writeToStream(dest, instance) {
- const body = instance.body;
-
-
- if (body === null) {
- // body is null
- dest.end();
- } else if (isBlob(body)) {
- body.stream().pipe(dest);
- } else if (Buffer.isBuffer(body)) {
- // body is buffer
- dest.write(body);
- dest.end();
- } else {
- // body is stream
- body.pipe(dest);
- }
-}
-
-// expose Promise
-Body.Promise = global.Promise;
-
-/**
- * headers.js
- *
- * Headers class offers convenient helpers
- */
-
-const invalidTokenRegex = /[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/;
-const invalidHeaderCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
-
-function validateName(name) {
- name = `${name}`;
- if (invalidTokenRegex.test(name) || name === '') {
- throw new TypeError(`${name} is not a legal HTTP header name`);
- }
-}
-
-function validateValue(value) {
- value = `${value}`;
- if (invalidHeaderCharRegex.test(value)) {
- throw new TypeError(`${value} is not a legal HTTP header value`);
- }
-}
-
-/**
- * Find the key in the map object given a header name.
- *
- * Returns undefined if not found.
- *
- * @param String name Header name
- * @return String|Undefined
- */
-function find(map, name) {
- name = name.toLowerCase();
- for (const key in map) {
- if (key.toLowerCase() === name) {
- return key;
- }
- }
- return undefined;
-}
-
-const MAP = Symbol('map');
-class Headers {
- /**
- * Headers class
- *
- * @param Object headers Response headers
- * @return Void
- */
- constructor() {
- let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
-
- this[MAP] = Object.create(null);
-
- if (init instanceof Headers) {
- const rawHeaders = init.raw();
- const headerNames = Object.keys(rawHeaders);
-
- for (const headerName of headerNames) {
- for (const value of rawHeaders[headerName]) {
- this.append(headerName, value);
- }
- }
-
- return;
- }
-
- // We don't worry about converting prop to ByteString here as append()
- // will handle it.
- if (init == null) ; else if (typeof init === 'object') {
- const method = init[Symbol.iterator];
- if (method != null) {
- if (typeof method !== 'function') {
- throw new TypeError('Header pairs must be iterable');
- }
-
- // sequence<sequence<ByteString>>
- // Note: per spec we have to first exhaust the lists then process them
- const pairs = [];
- for (const pair of init) {
- if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {
- throw new TypeError('Each header pair must be iterable');
- }
- pairs.push(Array.from(pair));
- }
-
- for (const pair of pairs) {
- if (pair.length !== 2) {
- throw new TypeError('Each header pair must be a name/value tuple');
- }
- this.append(pair[0], pair[1]);
- }
- } else {
- // record<ByteString, ByteString>
- for (const key of Object.keys(init)) {
- const value = init[key];
- this.append(key, value);
- }
- }
- } else {
- throw new TypeError('Provided initializer must be an object');
- }
- }
-
- /**
- * Return combined header value given name
- *
- * @param String name Header name
- * @return Mixed
- */
- get(name) {
- name = `${name}`;
- validateName(name);
- const key = find(this[MAP], name);
- if (key === undefined) {
- return null;
- }
-
- return this[MAP][key].join(', ');
- }
-
- /**
- * Iterate over all headers
- *
- * @param Function callback Executed for each item with parameters (value, name, thisArg)
- * @param Boolean thisArg `this` context for callback function
- * @return Void
- */
- forEach(callback) {
- let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
-
- let pairs = getHeaders(this);
- let i = 0;
- while (i < pairs.length) {
- var _pairs$i = pairs[i];
- const name = _pairs$i[0],
- value = _pairs$i[1];
-
- callback.call(thisArg, value, name, this);
- pairs = getHeaders(this);
- i++;
- }
- }
-
- /**
- * Overwrite header values given name
- *
- * @param String name Header name
- * @param String value Header value
- * @return Void
- */
- set(name, value) {
- name = `${name}`;
- value = `${value}`;
- validateName(name);
- validateValue(value);
- const key = find(this[MAP], name);
- this[MAP][key !== undefined ? key : name] = [value];
- }
-
- /**
- * Append a value onto existing header
- *
- * @param String name Header name
- * @param String value Header value
- * @return Void
- */
- append(name, value) {
- name = `${name}`;
- value = `${value}`;
- validateName(name);
- validateValue(value);
- const key = find(this[MAP], name);
- if (key !== undefined) {
- this[MAP][key].push(value);
- } else {
- this[MAP][name] = [value];
- }
- }
-
- /**
- * Check for header name existence
- *
- * @param String name Header name
- * @return Boolean
- */
- has(name) {
- name = `${name}`;
- validateName(name);
- return find(this[MAP], name) !== undefined;
- }
-
- /**
- * Delete all header values given name
- *
- * @param String name Header name
- * @return Void
- */
- delete(name) {
- name = `${name}`;
- validateName(name);
- const key = find(this[MAP], name);
- if (key !== undefined) {
- delete this[MAP][key];
- }
- }
-
- /**
- * Return raw headers (non-spec api)
- *
- * @return Object
- */
- raw() {
- return this[MAP];
- }
-
- /**
- * Get an iterator on keys.
- *
- * @return Iterator
- */
- keys() {
- return createHeadersIterator(this, 'key');
- }
-
- /**
- * Get an iterator on values.
- *
- * @return Iterator
- */
- values() {
- return createHeadersIterator(this, 'value');
- }
-
- /**
- * Get an iterator on entries.
- *
- * This is the default iterator of the Headers object.
- *
- * @return Iterator
- */
- [Symbol.iterator]() {
- return createHeadersIterator(this, 'key+value');
- }
-}
-Headers.prototype.entries = Headers.prototype[Symbol.iterator];
-
-Object.defineProperty(Headers.prototype, Symbol.toStringTag, {
- value: 'Headers',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-Object.defineProperties(Headers.prototype, {
- get: { enumerable: true },
- forEach: { enumerable: true },
- set: { enumerable: true },
- append: { enumerable: true },
- has: { enumerable: true },
- delete: { enumerable: true },
- keys: { enumerable: true },
- values: { enumerable: true },
- entries: { enumerable: true }
-});
-
-function getHeaders(headers) {
- let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';
-
- const keys = Object.keys(headers[MAP]).sort();
- return keys.map(kind === 'key' ? function (k) {
- return k.toLowerCase();
- } : kind === 'value' ? function (k) {
- return headers[MAP][k].join(', ');
- } : function (k) {
- return [k.toLowerCase(), headers[MAP][k].join(', ')];
- });
-}
-
-const INTERNAL = Symbol('internal');
-
-function createHeadersIterator(target, kind) {
- const iterator = Object.create(HeadersIteratorPrototype);
- iterator[INTERNAL] = {
- target,
- kind,
- index: 0
- };
- return iterator;
-}
-
-const HeadersIteratorPrototype = Object.setPrototypeOf({
- next() {
- // istanbul ignore if
- if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {
- throw new TypeError('Value of `this` is not a HeadersIterator');
- }
-
- var _INTERNAL = this[INTERNAL];
- const target = _INTERNAL.target,
- kind = _INTERNAL.kind,
- index = _INTERNAL.index;
-
- const values = getHeaders(target, kind);
- const len = values.length;
- if (index >= len) {
- return {
- value: undefined,
- done: true
- };
- }
-
- this[INTERNAL].index = index + 1;
-
- return {
- value: values[index],
- done: false
- };
- }
-}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));
-
-Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {
- value: 'HeadersIterator',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-/**
- * Export the Headers object in a form that Node.js can consume.
- *
- * @param Headers headers
- * @return Object
- */
-function exportNodeCompatibleHeaders(headers) {
- const obj = Object.assign({ __proto__: null }, headers[MAP]);
-
- // http.request() only supports string as Host header. This hack makes
- // specifying custom Host header possible.
- const hostHeaderKey = find(headers[MAP], 'Host');
- if (hostHeaderKey !== undefined) {
- obj[hostHeaderKey] = obj[hostHeaderKey][0];
- }
-
- return obj;
-}
-
-/**
- * Create a Headers object from an object of headers, ignoring those that do
- * not conform to HTTP grammar productions.
- *
- * @param Object obj Object of headers
- * @return Headers
- */
-function createHeadersLenient(obj) {
- const headers = new Headers();
- for (const name of Object.keys(obj)) {
- if (invalidTokenRegex.test(name)) {
- continue;
- }
- if (Array.isArray(obj[name])) {
- for (const val of obj[name]) {
- if (invalidHeaderCharRegex.test(val)) {
- continue;
- }
- if (headers[MAP][name] === undefined) {
- headers[MAP][name] = [val];
- } else {
- headers[MAP][name].push(val);
- }
- }
- } else if (!invalidHeaderCharRegex.test(obj[name])) {
- headers[MAP][name] = [obj[name]];
- }
- }
- return headers;
-}
-
-const INTERNALS$1 = Symbol('Response internals');
-
-// fix an issue where "STATUS_CODES" aren't a named export for node <10
-const STATUS_CODES = http.STATUS_CODES;
-
-/**
- * Response class
- *
- * @param Stream body Readable stream
- * @param Object opts Response options
- * @return Void
- */
-class Response {
- constructor() {
- let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
- let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
- Body.call(this, body, opts);
-
- const status = opts.status || 200;
- const headers = new Headers(opts.headers);
-
- if (body != null && !headers.has('Content-Type')) {
- const contentType = extractContentType(body);
- if (contentType) {
- headers.append('Content-Type', contentType);
- }
- }
-
- this[INTERNALS$1] = {
- url: opts.url,
- status,
- statusText: opts.statusText || STATUS_CODES[status],
- headers,
- counter: opts.counter
- };
- }
-
- get url() {
- return this[INTERNALS$1].url || '';
- }
-
- get status() {
- return this[INTERNALS$1].status;
- }
-
- /**
- * Convenience property representing if the request ended normally
- */
- get ok() {
- return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;
- }
-
- get redirected() {
- return this[INTERNALS$1].counter > 0;
- }
-
- get statusText() {
- return this[INTERNALS$1].statusText;
- }
-
- get headers() {
- return this[INTERNALS$1].headers;
- }
-
- /**
- * Clone this response
- *
- * @return Response
- */
- clone() {
- return new Response(clone(this), {
- url: this.url,
- status: this.status,
- statusText: this.statusText,
- headers: this.headers,
- ok: this.ok,
- redirected: this.redirected
- });
- }
-}
-
-Body.mixIn(Response.prototype);
-
-Object.defineProperties(Response.prototype, {
- url: { enumerable: true },
- status: { enumerable: true },
- ok: { enumerable: true },
- redirected: { enumerable: true },
- statusText: { enumerable: true },
- headers: { enumerable: true },
- clone: { enumerable: true }
-});
-
-Object.defineProperty(Response.prototype, Symbol.toStringTag, {
- value: 'Response',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-const INTERNALS$2 = Symbol('Request internals');
-const URL = Url.URL || whatwgUrl.URL;
-
-// fix an issue where "format", "parse" aren't a named export for node <10
-const parse_url = Url.parse;
-const format_url = Url.format;
-
-/**
- * Wrapper around `new URL` to handle arbitrary URLs
- *
- * @param {string} urlStr
- * @return {void}
- */
-function parseURL(urlStr) {
- /*
- Check whether the URL is absolute or not
- Scheme: https://tools.ietf.org/html/rfc3986#section-3.1
- Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3
- */
- if (/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(urlStr)) {
- urlStr = new URL(urlStr).toString();
- }
-
- // Fallback to old implementation for arbitrary URLs
- return parse_url(urlStr);
-}
-
-const streamDestructionSupported = 'destroy' in Stream.Readable.prototype;
-
-/**
- * Check if a value is an instance of Request.
- *
- * @param Mixed input
- * @return Boolean
- */
-function isRequest(input) {
- return typeof input === 'object' && typeof input[INTERNALS$2] === 'object';
-}
-
-function isAbortSignal(signal) {
- const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal);
- return !!(proto && proto.constructor.name === 'AbortSignal');
-}
-
-/**
- * Request class
- *
- * @param Mixed input Url or Request instance
- * @param Object init Custom options
- * @return Void
- */
-class Request {
- constructor(input) {
- let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
- let parsedURL;
-
- // normalize input
- if (!isRequest(input)) {
- if (input && input.href) {
- // in order to support Node.js' Url objects; though WHATWG's URL objects
- // will fall into this branch also (since their `toString()` will return
- // `href` property anyway)
- parsedURL = parseURL(input.href);
- } else {
- // coerce input to a string before attempting to parse
- parsedURL = parseURL(`${input}`);
- }
- input = {};
- } else {
- parsedURL = parseURL(input.url);
- }
-
- let method = init.method || input.method || 'GET';
- method = method.toUpperCase();
-
- if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {
- throw new TypeError('Request with GET/HEAD method cannot have body');
- }
-
- let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;
-
- Body.call(this, inputBody, {
- timeout: init.timeout || input.timeout || 0,
- size: init.size || input.size || 0
- });
-
- const headers = new Headers(init.headers || input.headers || {});
-
- if (inputBody != null && !headers.has('Content-Type')) {
- const contentType = extractContentType(inputBody);
- if (contentType) {
- headers.append('Content-Type', contentType);
- }
- }
-
- let signal = isRequest(input) ? input.signal : null;
- if ('signal' in init) signal = init.signal;
-
- if (signal != null && !isAbortSignal(signal)) {
- throw new TypeError('Expected signal to be an instanceof AbortSignal');
- }
-
- this[INTERNALS$2] = {
- method,
- redirect: init.redirect || input.redirect || 'follow',
- headers,
- parsedURL,
- signal
- };
-
- // node-fetch-only options
- this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;
- this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;
- this.counter = init.counter || input.counter || 0;
- this.agent = init.agent || input.agent;
- }
-
- get method() {
- return this[INTERNALS$2].method;
- }
-
- get url() {
- return format_url(this[INTERNALS$2].parsedURL);
- }
-
- get headers() {
- return this[INTERNALS$2].headers;
- }
-
- get redirect() {
- return this[INTERNALS$2].redirect;
- }
-
- get signal() {
- return this[INTERNALS$2].signal;
- }
-
- /**
- * Clone this request
- *
- * @return Request
- */
- clone() {
- return new Request(this);
- }
-}
-
-Body.mixIn(Request.prototype);
-
-Object.defineProperty(Request.prototype, Symbol.toStringTag, {
- value: 'Request',
- writable: false,
- enumerable: false,
- configurable: true
-});
-
-Object.defineProperties(Request.prototype, {
- method: { enumerable: true },
- url: { enumerable: true },
- headers: { enumerable: true },
- redirect: { enumerable: true },
- clone: { enumerable: true },
- signal: { enumerable: true }
-});
-
-/**
- * Convert a Request to Node.js http request options.
- *
- * @param Request A Request instance
- * @return Object The options object to be passed to http.request
- */
-function getNodeRequestOptions(request) {
- const parsedURL = request[INTERNALS$2].parsedURL;
- const headers = new Headers(request[INTERNALS$2].headers);
-
- // fetch step 1.3
- if (!headers.has('Accept')) {
- headers.set('Accept', '*/*');
- }
-
- // Basic fetch
- if (!parsedURL.protocol || !parsedURL.hostname) {
- throw new TypeError('Only absolute URLs are supported');
- }
-
- if (!/^https?:$/.test(parsedURL.protocol)) {
- throw new TypeError('Only HTTP(S) protocols are supported');
- }
-
- if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) {
- throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8');
- }
-
- // HTTP-network-or-cache fetch steps 2.4-2.7
- let contentLengthValue = null;
- if (request.body == null && /^(POST|PUT)$/i.test(request.method)) {
- contentLengthValue = '0';
- }
- if (request.body != null) {
- const totalBytes = getTotalBytes(request);
- if (typeof totalBytes === 'number') {
- contentLengthValue = String(totalBytes);
- }
- }
- if (contentLengthValue) {
- headers.set('Content-Length', contentLengthValue);
- }
-
- // HTTP-network-or-cache fetch step 2.11
- if (!headers.has('User-Agent')) {
- headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');
- }
-
- // HTTP-network-or-cache fetch step 2.15
- if (request.compress && !headers.has('Accept-Encoding')) {
- headers.set('Accept-Encoding', 'gzip,deflate');
- }
-
- let agent = request.agent;
- if (typeof agent === 'function') {
- agent = agent(parsedURL);
- }
-
- if (!headers.has('Connection') && !agent) {
- headers.set('Connection', 'close');
- }
-
- // HTTP-network fetch step 4.2
- // chunked encoding is handled by Node.js
-
- return Object.assign({}, parsedURL, {
- method: request.method,
- headers: exportNodeCompatibleHeaders(headers),
- agent
- });
-}
-
-/**
- * abort-error.js
- *
- * AbortError interface for cancelled requests
- */
-
-/**
- * Create AbortError instance
- *
- * @param String message Error message for human
- * @return AbortError
- */
-function AbortError(message) {
- Error.call(this, message);
-
- this.type = 'aborted';
- this.message = message;
-
- // hide custom error implementation details from end-users
- Error.captureStackTrace(this, this.constructor);
-}
-
-AbortError.prototype = Object.create(Error.prototype);
-AbortError.prototype.constructor = AbortError;
-AbortError.prototype.name = 'AbortError';
-
-const URL$1 = Url.URL || whatwgUrl.URL;
-
-// fix an issue where "PassThrough", "resolve" aren't a named export for node <10
-const PassThrough$1 = Stream.PassThrough;
-
-const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {
- const orig = new URL$1(original).hostname;
- const dest = new URL$1(destination).hostname;
-
- return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);
-};
-
-/**
- * isSameProtocol reports whether the two provided URLs use the same protocol.
- *
- * Both domains must already be in canonical form.
- * @param {string|URL} original
- * @param {string|URL} destination
- */
-const isSameProtocol = function isSameProtocol(destination, original) {
- const orig = new URL$1(original).protocol;
- const dest = new URL$1(destination).protocol;
-
- return orig === dest;
-};
-
-/**
- * Fetch function
- *
- * @param Mixed url Absolute url or Request instance
- * @param Object opts Fetch options
- * @return Promise
- */
-function fetch(url, opts) {
-
- // allow custom promise
- if (!fetch.Promise) {
- throw new Error('native promise missing, set fetch.Promise to your favorite alternative');
- }
-
- Body.Promise = fetch.Promise;
-
- // wrap http.request into fetch
- return new fetch.Promise(function (resolve, reject) {
- // build request object
- const request = new Request(url, opts);
- const options = getNodeRequestOptions(request);
-
- const send = (options.protocol === 'https:' ? https : http).request;
- const signal = request.signal;
-
- let response = null;
-
- const abort = function abort() {
- let error = new AbortError('The user aborted a request.');
- reject(error);
- if (request.body && request.body instanceof Stream.Readable) {
- destroyStream(request.body, error);
- }
- if (!response || !response.body) return;
- response.body.emit('error', error);
- };
-
- if (signal && signal.aborted) {
- abort();
- return;
- }
-
- const abortAndFinalize = function abortAndFinalize() {
- abort();
- finalize();
- };
-
- // send request
- const req = send(options);
- let reqTimeout;
-
- if (signal) {
- signal.addEventListener('abort', abortAndFinalize);
- }
-
- function finalize() {
- req.abort();
- if (signal) signal.removeEventListener('abort', abortAndFinalize);
- clearTimeout(reqTimeout);
- }
-
- if (request.timeout) {
- req.once('socket', function (socket) {
- reqTimeout = setTimeout(function () {
- reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));
- finalize();
- }, request.timeout);
- });
- }
-
- req.on('error', function (err) {
- reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));
-
- if (response && response.body) {
- destroyStream(response.body, err);
- }
-
- finalize();
- });
-
- fixResponseChunkedTransferBadEnding(req, function (err) {
- if (signal && signal.aborted) {
- return;
- }
-
- if (response && response.body) {
- destroyStream(response.body, err);
- }
- });
-
- /* c8 ignore next 18 */
- if (parseInt(process.version.substring(1)) < 14) {
- // Before Node.js 14, pipeline() does not fully support async iterators and does not always
- // properly handle when the socket close/end events are out of order.
- req.on('socket', function (s) {
- s.addListener('close', function (hadError) {
- // if a data listener is still present we didn't end cleanly
- const hasDataListener = s.listenerCount('data') > 0;
-
- // if end happened before close but the socket didn't emit an error, do it now
- if (response && hasDataListener && !hadError && !(signal && signal.aborted)) {
- const err = new Error('Premature close');
- err.code = 'ERR_STREAM_PREMATURE_CLOSE';
- response.body.emit('error', err);
- }
- });
- });
- }
-
- req.on('response', function (res) {
- clearTimeout(reqTimeout);
-
- const headers = createHeadersLenient(res.headers);
-
- // HTTP fetch step 5
- if (fetch.isRedirect(res.statusCode)) {
- // HTTP fetch step 5.2
- const location = headers.get('Location');
-
- // HTTP fetch step 5.3
- let locationURL = null;
- try {
- locationURL = location === null ? null : new URL$1(location, request.url).toString();
- } catch (err) {
- // error here can only be invalid URL in Location: header
- // do not throw when options.redirect == manual
- // let the user extract the errorneous redirect URL
- if (request.redirect !== 'manual') {
- reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));
- finalize();
- return;
- }
- }
-
- // HTTP fetch step 5.5
- switch (request.redirect) {
- case 'error':
- reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, 'no-redirect'));
- finalize();
- return;
- case 'manual':
- // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.
- if (locationURL !== null) {
- // handle corrupted header
- try {
- headers.set('Location', locationURL);
- } catch (err) {
- // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request
- reject(err);
- }
- }
- break;
- case 'follow':
- // HTTP-redirect fetch step 2
- if (locationURL === null) {
- break;
- }
-
- // HTTP-redirect fetch step 5
- if (request.counter >= request.follow) {
- reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));
- finalize();
- return;
- }
-
- // HTTP-redirect fetch step 6 (counter increment)
- // Create a new Request object.
- const requestOpts = {
- headers: new Headers(request.headers),
- follow: request.follow,
- counter: request.counter + 1,
- agent: request.agent,
- compress: request.compress,
- method: request.method,
- body: request.body,
- signal: request.signal,
- timeout: request.timeout,
- size: request.size
- };
-
- if (!isDomainOrSubdomain(request.url, locationURL) || !isSameProtocol(request.url, locationURL)) {
- for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {
- requestOpts.headers.delete(name);
- }
- }
-
- // HTTP-redirect fetch step 9
- if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {
- reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));
- finalize();
- return;
- }
-
- // HTTP-redirect fetch step 11
- if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {
- requestOpts.method = 'GET';
- requestOpts.body = undefined;
- requestOpts.headers.delete('content-length');
- }
-
- // HTTP-redirect fetch step 15
- resolve(fetch(new Request(locationURL, requestOpts)));
- finalize();
- return;
- }
- }
-
- // prepare response
- res.once('end', function () {
- if (signal) signal.removeEventListener('abort', abortAndFinalize);
- });
- let body = res.pipe(new PassThrough$1());
-
- const response_options = {
- url: request.url,
- status: res.statusCode,
- statusText: res.statusMessage,
- headers: headers,
- size: request.size,
- timeout: request.timeout,
- counter: request.counter
- };
-
- // HTTP-network fetch step 12.1.1.3
- const codings = headers.get('Content-Encoding');
-
- // HTTP-network fetch step 12.1.1.4: handle content codings
-
- // in following scenarios we ignore compression support
- // 1. compression support is disabled
- // 2. HEAD request
- // 3. no Content-Encoding header
- // 4. no content response (204)
- // 5. content not modified response (304)
- if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
-
- // For Node v6+
- // Be less strict when decoding compressed responses, since sometimes
- // servers send slightly invalid responses that are still accepted
- // by common browsers.
- // Always using Z_SYNC_FLUSH is what cURL does.
- const zlibOptions = {
- flush: zlib.Z_SYNC_FLUSH,
- finishFlush: zlib.Z_SYNC_FLUSH
- };
-
- // for gzip
- if (codings == 'gzip' || codings == 'x-gzip') {
- body = body.pipe(zlib.createGunzip(zlibOptions));
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
-
- // for deflate
- if (codings == 'deflate' || codings == 'x-deflate') {
- // handle the infamous raw deflate response from old servers
- // a hack for old IIS and Apache servers
- const raw = res.pipe(new PassThrough$1());
- raw.once('data', function (chunk) {
- // see http://stackoverflow.com/questions/37519828
- if ((chunk[0] & 0x0F) === 0x08) {
- body = body.pipe(zlib.createInflate());
- } else {
- body = body.pipe(zlib.createInflateRaw());
- }
- response = new Response(body, response_options);
- resolve(response);
- });
- raw.on('end', function () {
- // some old IIS servers return zero-length OK deflate responses, so 'data' is never emitted.
- if (!response) {
- response = new Response(body, response_options);
- resolve(response);
- }
- });
- return;
- }
-
- // for br
- if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') {
- body = body.pipe(zlib.createBrotliDecompress());
- response = new Response(body, response_options);
- resolve(response);
- return;
- }
-
- // otherwise, use response as-is
- response = new Response(body, response_options);
- resolve(response);
- });
-
- writeToStream(req, request);
- });
-}
-function fixResponseChunkedTransferBadEnding(request, errorCallback) {
- let socket;
-
- request.on('socket', function (s) {
- socket = s;
- });
-
- request.on('response', function (response) {
- const headers = response.headers;
-
- if (headers['transfer-encoding'] === 'chunked' && !headers['content-length']) {
- response.once('close', function (hadError) {
- // if a data listener is still present we didn't end cleanly
- const hasDataListener = socket.listenerCount('data') > 0;
-
- if (hasDataListener && !hadError) {
- const err = new Error('Premature close');
- err.code = 'ERR_STREAM_PREMATURE_CLOSE';
- errorCallback(err);
- }
- });
- }
- });
-}
-
-function destroyStream(stream, err) {
- if (stream.destroy) {
- stream.destroy(err);
- } else {
- // node < 8
- stream.emit('error', err);
- stream.end();
- }
-}
-
-/**
- * Redirect code matching
- *
- * @param Number code Status code
- * @return Boolean
- */
-fetch.isRedirect = function (code) {
- return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;
-};
-
-// expose Promise
-fetch.Promise = global.Promise;
-
-export default fetch;
-export { Headers, Request, Response, FetchError };
diff --git a/includes/search/node_modules/node-fetch/package.json b/includes/search/node_modules/node-fetch/package.json
deleted file mode 100644
index 177e847..0000000
--- a/includes/search/node_modules/node-fetch/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "name": "node-fetch",
- "version": "2.6.9",
- "description": "A light-weight module that brings window.fetch to node.js",
- "main": "lib/index.js",
- "browser": "./browser.js",
- "module": "lib/index.mjs",
- "files": [
- "lib/index.js",
- "lib/index.mjs",
- "lib/index.es.js",
- "browser.js"
- ],
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "scripts": {
- "build": "cross-env BABEL_ENV=rollup rollup -c",
- "prepare": "npm run build",
- "test": "cross-env BABEL_ENV=test mocha --require babel-register --throw-deprecation test/test.js",
- "report": "cross-env BABEL_ENV=coverage nyc --reporter lcov --reporter text mocha -R spec test/test.js",
- "coverage": "cross-env BABEL_ENV=coverage nyc --reporter json --reporter text mocha -R spec test/test.js && codecov -f coverage/coverage-final.json"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/bitinn/node-fetch.git"
- },
- "keywords": [
- "fetch",
- "http",
- "promise"
- ],
- "author": "David Frank",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/bitinn/node-fetch/issues"
- },
- "homepage": "https://github.com/bitinn/node-fetch",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- },
- "devDependencies": {
- "@ungap/url-search-params": "^0.1.2",
- "abort-controller": "^1.1.0",
- "abortcontroller-polyfill": "^1.3.0",
- "babel-core": "^6.26.3",
- "babel-plugin-istanbul": "^4.1.6",
- "babel-plugin-transform-async-generator-functions": "^6.24.1",
- "babel-polyfill": "^6.26.0",
- "babel-preset-env": "1.4.0",
- "babel-register": "^6.16.3",
- "chai": "^3.5.0",
- "chai-as-promised": "^7.1.1",
- "chai-iterator": "^1.1.1",
- "chai-string": "~1.3.0",
- "codecov": "3.3.0",
- "cross-env": "^5.2.0",
- "form-data": "^2.3.3",
- "is-builtin-module": "^1.0.0",
- "mocha": "^5.0.0",
- "nyc": "11.9.0",
- "parted": "^0.1.1",
- "promise": "^8.0.3",
- "resumer": "0.0.0",
- "rollup": "^0.63.4",
- "rollup-plugin-babel": "^3.0.7",
- "string-to-arraybuffer": "^1.0.2",
- "teeny-request": "3.7.0"
- },
- "release": {
- "branches": [
- "+([0-9]).x",
- "main",
- "next",
- {
- "name": "beta",
- "prerelease": true
- }
- ]
- }
-}
diff --git a/includes/search/node_modules/once/LICENSE b/includes/search/node_modules/once/LICENSE
deleted file mode 100644
index 19129e3..0000000
--- a/includes/search/node_modules/once/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/once/README.md b/includes/search/node_modules/once/README.md
deleted file mode 100644
index 1f1ffca..0000000
--- a/includes/search/node_modules/once/README.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# once
-
-Only call a function once.
-
-## usage
-
-```javascript
-var once = require('once')
-
-function load (file, cb) {
- cb = once(cb)
- loader.load('file')
- loader.once('load', cb)
- loader.once('error', cb)
-}
-```
-
-Or add to the Function.prototype in a responsible way:
-
-```javascript
-// only has to be done once
-require('once').proto()
-
-function load (file, cb) {
- cb = cb.once()
- loader.load('file')
- loader.once('load', cb)
- loader.once('error', cb)
-}
-```
-
-Ironically, the prototype feature makes this module twice as
-complicated as necessary.
-
-To check whether you function has been called, use `fn.called`. Once the
-function is called for the first time the return value of the original
-function is saved in `fn.value` and subsequent calls will continue to
-return this value.
-
-```javascript
-var once = require('once')
-
-function load (cb) {
- cb = once(cb)
- var stream = createStream()
- stream.once('data', cb)
- stream.once('end', function () {
- if (!cb.called) cb(new Error('not found'))
- })
-}
-```
-
-## `once.strict(func)`
-
-Throw an error if the function is called twice.
-
-Some functions are expected to be called only once. Using `once` for them would
-potentially hide logical errors.
-
-In the example below, the `greet` function has to call the callback only once:
-
-```javascript
-function greet (name, cb) {
- // return is missing from the if statement
- // when no name is passed, the callback is called twice
- if (!name) cb('Hello anonymous')
- cb('Hello ' + name)
-}
-
-function log (msg) {
- console.log(msg)
-}
-
-// this will print 'Hello anonymous' but the logical error will be missed
-greet(null, once(msg))
-
-// once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time
-greet(null, once.strict(msg))
-```
diff --git a/includes/search/node_modules/once/once.js b/includes/search/node_modules/once/once.js
deleted file mode 100644
index 2354067..0000000
--- a/includes/search/node_modules/once/once.js
+++ /dev/null
@@ -1,42 +0,0 @@
-var wrappy = require('wrappy')
-module.exports = wrappy(once)
-module.exports.strict = wrappy(onceStrict)
-
-once.proto = once(function () {
- Object.defineProperty(Function.prototype, 'once', {
- value: function () {
- return once(this)
- },
- configurable: true
- })
-
- Object.defineProperty(Function.prototype, 'onceStrict', {
- value: function () {
- return onceStrict(this)
- },
- configurable: true
- })
-})
-
-function once (fn) {
- var f = function () {
- if (f.called) return f.value
- f.called = true
- return f.value = fn.apply(this, arguments)
- }
- f.called = false
- return f
-}
-
-function onceStrict (fn) {
- var f = function () {
- if (f.called)
- throw new Error(f.onceError)
- f.called = true
- return f.value = fn.apply(this, arguments)
- }
- var name = fn.name || 'Function wrapped with `once`'
- f.onceError = name + " shouldn't be called more than once"
- f.called = false
- return f
-}
diff --git a/includes/search/node_modules/once/package.json b/includes/search/node_modules/once/package.json
deleted file mode 100644
index 16815b2..0000000
--- a/includes/search/node_modules/once/package.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "once",
- "version": "1.4.0",
- "description": "Run a function exactly one time",
- "main": "once.js",
- "directories": {
- "test": "test"
- },
- "dependencies": {
- "wrappy": "1"
- },
- "devDependencies": {
- "tap": "^7.0.1"
- },
- "scripts": {
- "test": "tap test/*.js"
- },
- "files": [
- "once.js"
- ],
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/once"
- },
- "keywords": [
- "once",
- "function",
- "one",
- "single"
- ],
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
- "license": "ISC"
-}
diff --git a/includes/search/node_modules/p-is-promise/index.d.ts b/includes/search/node_modules/p-is-promise/index.d.ts
deleted file mode 100644
index 6e08323..0000000
--- a/includes/search/node_modules/p-is-promise/index.d.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
-Check if `value` is a ES2015 promise.
-
-@param value - Value to be checked.
-
-@example
-```
-import isPromise = require('p-is-promise');
-
-isPromise(Promise.resolve('🦄'));
-//=> true
-```
-*/
-declare function pIsPromise(value: unknown): value is Promise<unknown>;
-
-export = pIsPromise;
diff --git a/includes/search/node_modules/p-is-promise/index.js b/includes/search/node_modules/p-is-promise/index.js
deleted file mode 100644
index bbd045f..0000000
--- a/includes/search/node_modules/p-is-promise/index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-const isObject = value => value !== null &&
- (typeof value === 'object' || typeof value === 'function');
-
-module.exports = value => (
- value instanceof Promise ||
- (
- isObject(value) &&
- typeof value.then === 'function' &&
- typeof value.catch === 'function'
- )
-);
diff --git a/includes/search/node_modules/p-is-promise/license b/includes/search/node_modules/p-is-promise/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/p-is-promise/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/p-is-promise/package.json b/includes/search/node_modules/p-is-promise/package.json
deleted file mode 100644
index 1b8d54f..0000000
--- a/includes/search/node_modules/p-is-promise/package.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "name": "p-is-promise",
- "version": "3.0.0",
- "description": "Check if something is a promise",
- "license": "MIT",
- "repository": "sindresorhus/p-is-promise",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "promise",
- "is",
- "detect",
- "check",
- "kind",
- "type",
- "thenable",
- "es2015",
- "async",
- "await",
- "promises",
- "bluebird"
- ],
- "devDependencies": {
- "ava": "^2.1.0",
- "bluebird": "^3.5.4",
- "tsd": "^0.7.2",
- "xo": "^0.24.0"
- },
- "xo": {
- "rules": {
- "promise/prefer-await-to-then": "off"
- }
- }
-}
diff --git a/includes/search/node_modules/p-is-promise/readme.md b/includes/search/node_modules/p-is-promise/readme.md
deleted file mode 100644
index bd110a8..0000000
--- a/includes/search/node_modules/p-is-promise/readme.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# p-is-promise [![Build Status](https://travis-ci.org/sindresorhus/p-is-promise.svg?branch=master)](https://travis-ci.org/sindresorhus/p-is-promise)
-
-> Check if something is a promise
-
-Why not [`is-promise`](https://github.com/then/is-promise)? That module [checks for a thenable](https://github.com/then/is-promise/issues/6), not an ES2015 promise. This one is stricter.
-
-You most likely don't need this. Just pass your value to `Promise.resolve()` and let it handle it.
-
-Can be useful if you need to create a fast path for a synchronous operation.
-
-
-## Install
-
-```
-$ npm install p-is-promise
-```
-
-
-## Usage
-
-```js
-const pIsPromise = require('p-is-promise');
-const Bluebird = require('bluebird');
-
-pIsPromise(Promise.resolve('🦄'));
-//=> true
-
-pIsPromise(Bluebird.resolve('🦄'));
-//=> true
-
-pIsPromise('🦄');
-//=> false
-```
-
-
-## Related
-
-- [More…](https://github.com/sindresorhus/promise-fun)
diff --git a/includes/search/node_modules/path-parse/LICENSE b/includes/search/node_modules/path-parse/LICENSE
deleted file mode 100644
index 810f3db..0000000
--- a/includes/search/node_modules/path-parse/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Javier Blanco
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/path-parse/README.md b/includes/search/node_modules/path-parse/README.md
deleted file mode 100644
index 05097f8..0000000
--- a/includes/search/node_modules/path-parse/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# path-parse [![Build Status](https://travis-ci.org/jbgutierrez/path-parse.svg?branch=master)](https://travis-ci.org/jbgutierrez/path-parse)
-
-> Node.js [`path.parse(pathString)`](https://nodejs.org/api/path.html#path_path_parse_pathstring) [ponyfill](https://ponyfill.com).
-
-## Install
-
-```
-$ npm install --save path-parse
-```
-
-## Usage
-
-```js
-var pathParse = require('path-parse');
-
-pathParse('/home/user/dir/file.txt');
-//=> {
-// root : "/",
-// dir : "/home/user/dir",
-// base : "file.txt",
-// ext : ".txt",
-// name : "file"
-// }
-```
-
-## API
-
-See [`path.parse(pathString)`](https://nodejs.org/api/path.html#path_path_parse_pathstring) docs.
-
-### pathParse(path)
-
-### pathParse.posix(path)
-
-The Posix specific version.
-
-### pathParse.win32(path)
-
-The Windows specific version.
-
-## License
-
-MIT © [Javier Blanco](http://jbgutierrez.info)
diff --git a/includes/search/node_modules/path-parse/index.js b/includes/search/node_modules/path-parse/index.js
deleted file mode 100644
index f062d0a..0000000
--- a/includes/search/node_modules/path-parse/index.js
+++ /dev/null
@@ -1,75 +0,0 @@
-'use strict';
-
-var isWindows = process.platform === 'win32';
-
-// Regex to split a windows path into into [dir, root, basename, name, ext]
-var splitWindowsRe =
- /^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/;
-
-var win32 = {};
-
-function win32SplitPath(filename) {
- return splitWindowsRe.exec(filename).slice(1);
-}
-
-win32.parse = function(pathString) {
- if (typeof pathString !== 'string') {
- throw new TypeError(
- "Parameter 'pathString' must be a string, not " + typeof pathString
- );
- }
- var allParts = win32SplitPath(pathString);
- if (!allParts || allParts.length !== 5) {
- throw new TypeError("Invalid path '" + pathString + "'");
- }
- return {
- root: allParts[1],
- dir: allParts[0] === allParts[1] ? allParts[0] : allParts[0].slice(0, -1),
- base: allParts[2],
- ext: allParts[4],
- name: allParts[3]
- };
-};
-
-
-
-// Split a filename into [dir, root, basename, name, ext], unix version
-// 'root' is just a slash, or nothing.
-var splitPathRe =
- /^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/;
-var posix = {};
-
-
-function posixSplitPath(filename) {
- return splitPathRe.exec(filename).slice(1);
-}
-
-
-posix.parse = function(pathString) {
- if (typeof pathString !== 'string') {
- throw new TypeError(
- "Parameter 'pathString' must be a string, not " + typeof pathString
- );
- }
- var allParts = posixSplitPath(pathString);
- if (!allParts || allParts.length !== 5) {
- throw new TypeError("Invalid path '" + pathString + "'");
- }
-
- return {
- root: allParts[1],
- dir: allParts[0].slice(0, -1),
- base: allParts[2],
- ext: allParts[4],
- name: allParts[3],
- };
-};
-
-
-if (isWindows)
- module.exports = win32.parse;
-else /* posix */
- module.exports = posix.parse;
-
-module.exports.posix = posix.parse;
-module.exports.win32 = win32.parse;
diff --git a/includes/search/node_modules/path-parse/package.json b/includes/search/node_modules/path-parse/package.json
deleted file mode 100644
index 36c23f8..0000000
--- a/includes/search/node_modules/path-parse/package.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "path-parse",
- "version": "1.0.7",
- "description": "Node.js path.parse() ponyfill",
- "main": "index.js",
- "scripts": {
- "test": "node test.js"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/jbgutierrez/path-parse.git"
- },
- "keywords": [
- "path",
- "paths",
- "file",
- "dir",
- "parse",
- "built-in",
- "util",
- "utils",
- "core",
- "ponyfill",
- "polyfill",
- "shim"
- ],
- "author": "Javier Blanco <http://jbgutierrez.info>",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/jbgutierrez/path-parse/issues"
- },
- "homepage": "https://github.com/jbgutierrez/path-parse#readme"
-}
diff --git a/includes/search/node_modules/path-type/index.d.ts b/includes/search/node_modules/path-type/index.d.ts
deleted file mode 100644
index 910a50a..0000000
--- a/includes/search/node_modules/path-type/index.d.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-export type PathTypeFunction = (path: string) => Promise<boolean>;
-
-/**
- * Check whether the passed `path` is a file.
- *
- * @param path - The path to check.
- * @returns Whether the `path` is a file.
- */
-export const isFile: PathTypeFunction;
-
-/**
- * Check whether the passed `path` is a directory.
- *
- * @param path - The path to check.
- * @returns Whether the `path` is a directory.
- */
-export const isDirectory: PathTypeFunction;
-
-/**
- * Check whether the passed `path` is a symlink.
- *
- * @param path - The path to check.
- * @returns Whether the `path` is a symlink.
- */
-export const isSymlink: PathTypeFunction;
-
-export type PathTypeSyncFunction = (path: string) => boolean;
-
-/**
- * Synchronously check whether the passed `path` is a file.
- *
- * @param path - The path to check.
- * @returns Whether the `path` is a file.
- */
-export const isFileSync: PathTypeSyncFunction;
-
-/**
- * Synchronously check whether the passed `path` is a directory.
- *
- * @param path - The path to check.
- * @returns Whether the `path` is a directory.
- */
-export const isDirectorySync: PathTypeSyncFunction;
-
-/**
- * Synchronously check whether the passed `path` is a symlink.
- *
- * @param path - The path to check.
- * @returns Whether the `path` is a directory.
- */
-export const isSymlinkSync: PathTypeSyncFunction;
diff --git a/includes/search/node_modules/path-type/index.js b/includes/search/node_modules/path-type/index.js
deleted file mode 100644
index b8f34b2..0000000
--- a/includes/search/node_modules/path-type/index.js
+++ /dev/null
@@ -1,43 +0,0 @@
-'use strict';
-const {promisify} = require('util');
-const fs = require('fs');
-
-async function isType(fsStatType, statsMethodName, filePath) {
- if (typeof filePath !== 'string') {
- throw new TypeError(`Expected a string, got ${typeof filePath}`);
- }
-
- try {
- const stats = await promisify(fs[fsStatType])(filePath);
- return stats[statsMethodName]();
- } catch (error) {
- if (error.code === 'ENOENT') {
- return false;
- }
-
- throw error;
- }
-}
-
-function isTypeSync(fsStatType, statsMethodName, filePath) {
- if (typeof filePath !== 'string') {
- throw new TypeError(`Expected a string, got ${typeof filePath}`);
- }
-
- try {
- return fs[fsStatType](filePath)[statsMethodName]();
- } catch (error) {
- if (error.code === 'ENOENT') {
- return false;
- }
-
- throw error;
- }
-}
-
-exports.isFile = isType.bind(null, 'stat', 'isFile');
-exports.isDirectory = isType.bind(null, 'stat', 'isDirectory');
-exports.isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink');
-exports.isFileSync = isTypeSync.bind(null, 'statSync', 'isFile');
-exports.isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory');
-exports.isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink');
diff --git a/includes/search/node_modules/path-type/license b/includes/search/node_modules/path-type/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/path-type/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/path-type/package.json b/includes/search/node_modules/path-type/package.json
deleted file mode 100644
index 635b711..0000000
--- a/includes/search/node_modules/path-type/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "path-type",
- "version": "4.0.0",
- "description": "Check if a path is a file, directory, or symlink",
- "license": "MIT",
- "repository": "sindresorhus/path-type",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && nyc ava && tsd-check"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "path",
- "fs",
- "type",
- "is",
- "check",
- "directory",
- "dir",
- "file",
- "filepath",
- "symlink",
- "symbolic",
- "link",
- "stat",
- "stats",
- "filesystem"
- ],
- "devDependencies": {
- "ava": "^1.3.1",
- "nyc": "^13.3.0",
- "tsd-check": "^0.3.0",
- "xo": "^0.24.0"
- }
-}
diff --git a/includes/search/node_modules/path-type/readme.md b/includes/search/node_modules/path-type/readme.md
deleted file mode 100644
index 4c972fa..0000000
--- a/includes/search/node_modules/path-type/readme.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# path-type [![Build Status](https://travis-ci.org/sindresorhus/path-type.svg?branch=master)](https://travis-ci.org/sindresorhus/path-type)
-
-> Check if a path is a file, directory, or symlink
-
-
-## Install
-
-```
-$ npm install path-type
-```
-
-
-## Usage
-
-```js
-const {isFile} = require('path-type');
-
-(async () => {
- console.log(await isFile('package.json'));
- //=> true
-})();
-```
-
-
-## API
-
-### isFile(path)
-
-Check whether the passed `path` is a file.
-
-Returns a `Promise<boolean>`.
-
-#### path
-
-Type: `string`
-
-The path to check.
-
-### isDirectory(path)
-
-Check whether the passed `path` is a directory.
-
-Returns a `Promise<boolean>`.
-
-### isSymlink(path)
-
-Check whether the passed `path` is a symlink.
-
-Returns a `Promise<boolean>`.
-
-### isFileSync(path)
-
-Synchronously check whether the passed `path` is a file.
-
-Returns a `boolean`.
-
-### isDirectorySync(path)
-
-Synchronously check whether the passed `path` is a directory.
-
-Returns a `boolean`.
-
-### isSymlinkSync(path)
-
-Synchronously check whether the passed `path` is a symlink.
-
-Returns a `boolean`.
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/includes/search/node_modules/picomatch/CHANGELOG.md b/includes/search/node_modules/picomatch/CHANGELOG.md
deleted file mode 100644
index 8ccc6c1..0000000
--- a/includes/search/node_modules/picomatch/CHANGELOG.md
+++ /dev/null
@@ -1,136 +0,0 @@
-# Release history
-
-**All notable changes to this project will be documented in this file.**
-
-The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
-and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
-
-<details>
- <summary><strong>Guiding Principles</strong></summary>
-
-- Changelogs are for humans, not machines.
-- There should be an entry for every single version.
-- The same types of changes should be grouped.
-- Versions and sections should be linkable.
-- The latest version comes first.
-- The release date of each versions is displayed.
-- Mention whether you follow Semantic Versioning.
-
-</details>
-
-<details>
- <summary><strong>Types of changes</strong></summary>
-
-Changelog entries are classified using the following labels _(from [keep-a-changelog](http://keepachangelog.com/)_):
-
-- `Added` for new features.
-- `Changed` for changes in existing functionality.
-- `Deprecated` for soon-to-be removed features.
-- `Removed` for now removed features.
-- `Fixed` for any bug fixes.
-- `Security` in case of vulnerabilities.
-
-</details>
-
-## 2.3.1 (2022-01-02)
-
-### Fixed
-
-* Fixes bug when a pattern containing an expression after the closing parenthesis (`/!(*.d).{ts,tsx}`) was incorrectly converted to regexp ([9f241ef](https://github.com/micromatch/picomatch/commit/9f241ef)).
-
-### Changed
-
-* Some documentation improvements ([f81d236](https://github.com/micromatch/picomatch/commit/f81d236), [421e0e7](https://github.com/micromatch/picomatch/commit/421e0e7)).
-
-## 2.3.0 (2021-05-21)
-
-### Fixed
-
-* Fixes bug where file names with two dots were not being matched consistently with negation extglobs containing a star ([56083ef](https://github.com/micromatch/picomatch/commit/56083ef))
-
-## 2.2.3 (2021-04-10)
-
-### Fixed
-
-* Do not skip pattern seperator for square brackets ([fb08a30](https://github.com/micromatch/picomatch/commit/fb08a30)).
-* Set negatedExtGlob also if it does not span the whole pattern ([032e3f5](https://github.com/micromatch/picomatch/commit/032e3f5)).
-
-## 2.2.2 (2020-03-21)
-
-### Fixed
-
-* Correctly handle parts of the pattern after parentheses in the `scan` method ([e15b920](https://github.com/micromatch/picomatch/commit/e15b920)).
-
-## 2.2.1 (2020-01-04)
-
-* Fixes [#49](https://github.com/micromatch/picomatch/issues/49), so that braces with no sets or ranges are now propertly treated as literals.
-
-## 2.2.0 (2020-01-04)
-
-* Disable fastpaths mode for the parse method ([5b8d33f](https://github.com/micromatch/picomatch/commit/5b8d33f))
-* Add `tokens`, `slashes`, and `parts` to the object returned by `picomatch.scan()`.
-
-## 2.1.0 (2019-10-31)
-
-* add benchmarks for scan ([4793b92](https://github.com/micromatch/picomatch/commit/4793b92))
-* Add eslint object-curly-spacing rule ([707c650](https://github.com/micromatch/picomatch/commit/707c650))
-* Add prefer-const eslint rule ([5c7501c](https://github.com/micromatch/picomatch/commit/5c7501c))
-* Add support for nonegate in scan API ([275c9b9](https://github.com/micromatch/picomatch/commit/275c9b9))
-* Change lets to consts. Move root import up. ([4840625](https://github.com/micromatch/picomatch/commit/4840625))
-* closes https://github.com/micromatch/picomatch/issues/21 ([766bcb0](https://github.com/micromatch/picomatch/commit/766bcb0))
-* Fix "Extglobs" table in readme ([eb19da8](https://github.com/micromatch/picomatch/commit/eb19da8))
-* fixes https://github.com/micromatch/picomatch/issues/20 ([9caca07](https://github.com/micromatch/picomatch/commit/9caca07))
-* fixes https://github.com/micromatch/picomatch/issues/26 ([fa58f45](https://github.com/micromatch/picomatch/commit/fa58f45))
-* Lint test ([d433a34](https://github.com/micromatch/picomatch/commit/d433a34))
-* lint unit tests ([0159b55](https://github.com/micromatch/picomatch/commit/0159b55))
-* Make scan work with noext ([6c02e03](https://github.com/micromatch/picomatch/commit/6c02e03))
-* minor linting ([c2a2b87](https://github.com/micromatch/picomatch/commit/c2a2b87))
-* minor parser improvements ([197671d](https://github.com/micromatch/picomatch/commit/197671d))
-* remove eslint since it... ([07876fa](https://github.com/micromatch/picomatch/commit/07876fa))
-* remove funding file ([8ebe96d](https://github.com/micromatch/picomatch/commit/8ebe96d))
-* Remove unused funks ([cbc6d54](https://github.com/micromatch/picomatch/commit/cbc6d54))
-* Run eslint during pretest, fix existing eslint findings ([0682367](https://github.com/micromatch/picomatch/commit/0682367))
-* support `noparen` in scan ([3d37569](https://github.com/micromatch/picomatch/commit/3d37569))
-* update changelog ([7b34e77](https://github.com/micromatch/picomatch/commit/7b34e77))
-* update travis ([777f038](https://github.com/micromatch/picomatch/commit/777f038))
-* Use eslint-disable-next-line instead of eslint-disable ([4e7c1fd](https://github.com/micromatch/picomatch/commit/4e7c1fd))
-
-## 2.0.7 (2019-05-14)
-
-* 2.0.7 ([9eb9a71](https://github.com/micromatch/picomatch/commit/9eb9a71))
-* supports lookbehinds ([1f63f7e](https://github.com/micromatch/picomatch/commit/1f63f7e))
-* update .verb.md file with typo change ([2741279](https://github.com/micromatch/picomatch/commit/2741279))
-* fix: typo in README ([0753e44](https://github.com/micromatch/picomatch/commit/0753e44))
-
-## 2.0.4 (2019-04-10)
-
-### Fixed
-
-- Readme link [fixed](https://github.com/micromatch/picomatch/pull/13/commits/a96ab3aa2b11b6861c23289964613d85563b05df) by @danez.
-- `options.capture` now works as expected when fastpaths are enabled. See https://github.com/micromatch/picomatch/pull/12/commits/26aefd71f1cfaf95c37f1c1fcab68a693b037304. Thanks to @DrPizza.
-
-## 2.0.0 (2019-04-10)
-
-### Added
-
-- Adds support for `options.onIgnore`. See the readme for details
-- Adds support for `options.onResult`. See the readme for details
-
-### Breaking changes
-
-- The unixify option was renamed to `windows`
-- caching and all related options and methods have been removed
-
-## 1.0.0 (2018-11-05)
-
-- adds `.onMatch` option
-- improvements to `.scan` method
-- numerous improvements and optimizations for matching and parsing
-- better windows path handling
-
-## 0.1.0 - 2017-04-13
-
-First release.
-
-
-[keep-a-changelog]: https://github.com/olivierlacan/keep-a-changelog
diff --git a/includes/search/node_modules/picomatch/LICENSE b/includes/search/node_modules/picomatch/LICENSE
deleted file mode 100644
index 3608dca..0000000
--- a/includes/search/node_modules/picomatch/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2017-present, Jon Schlinkert.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/picomatch/README.md b/includes/search/node_modules/picomatch/README.md
deleted file mode 100644
index b0526e2..0000000
--- a/includes/search/node_modules/picomatch/README.md
+++ /dev/null
@@ -1,708 +0,0 @@
-<h1 align="center">Picomatch</h1>
-
-<p align="center">
-<a href="https://npmjs.org/package/picomatch">
-<img src="https://img.shields.io/npm/v/picomatch.svg" alt="version">
-</a>
-<a href="https://github.com/micromatch/picomatch/actions?workflow=Tests">
-<img src="https://github.com/micromatch/picomatch/workflows/Tests/badge.svg" alt="test status">
-</a>
-<a href="https://coveralls.io/github/micromatch/picomatch">
-<img src="https://img.shields.io/coveralls/github/micromatch/picomatch/master.svg" alt="coverage status">
-</a>
-<a href="https://npmjs.org/package/picomatch">
-<img src="https://img.shields.io/npm/dm/picomatch.svg" alt="downloads">
-</a>
-</p>
-
-<br>
-<br>
-
-<p align="center">
-<strong>Blazing fast and accurate glob matcher written in JavaScript.</strong></br>
-<em>No dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.</em>
-</p>
-
-<br>
-<br>
-
-## Why picomatch?
-
-* **Lightweight** - No dependencies
-* **Minimal** - Tiny API surface. Main export is a function that takes a glob pattern and returns a matcher function.
-* **Fast** - Loads in about 2ms (that's several times faster than a [single frame of a HD movie](http://www.endmemo.com/sconvert/framespersecondframespermillisecond.php) at 60fps)
-* **Performant** - Use the returned matcher function to speed up repeat matching (like when watching files)
-* **Accurate matching** - Using wildcards (`*` and `?`), globstars (`**`) for nested directories, [advanced globbing](#advanced-globbing) with extglobs, braces, and POSIX brackets, and support for escaping special characters with `\` or quotes.
-* **Well tested** - Thousands of unit tests
-
-See the [library comparison](#library-comparisons) to other libraries.
-
-<br>
-<br>
-
-## Table of Contents
-
-<details><summary> Click to expand </summary>
-
-- [Install](#install)
-- [Usage](#usage)
-- [API](#api)
- * [picomatch](#picomatch)
- * [.test](#test)
- * [.matchBase](#matchbase)
- * [.isMatch](#ismatch)
- * [.parse](#parse)
- * [.scan](#scan)
- * [.compileRe](#compilere)
- * [.makeRe](#makere)
- * [.toRegex](#toregex)
-- [Options](#options)
- * [Picomatch options](#picomatch-options)
- * [Scan Options](#scan-options)
- * [Options Examples](#options-examples)
-- [Globbing features](#globbing-features)
- * [Basic globbing](#basic-globbing)
- * [Advanced globbing](#advanced-globbing)
- * [Braces](#braces)
- * [Matching special characters as literals](#matching-special-characters-as-literals)
-- [Library Comparisons](#library-comparisons)
-- [Benchmarks](#benchmarks)
-- [Philosophies](#philosophies)
-- [About](#about)
- * [Author](#author)
- * [License](#license)
-
-_(TOC generated by [verb](https://github.com/verbose/verb) using [markdown-toc](https://github.com/jonschlinkert/markdown-toc))_
-
-</details>
-
-<br>
-<br>
-
-## Install
-
-Install with [npm](https://www.npmjs.com/):
-
-```sh
-npm install --save picomatch
-```
-
-<br>
-
-## Usage
-
-The main export is a function that takes a glob pattern and an options object and returns a function for matching strings.
-
-```js
-const pm = require('picomatch');
-const isMatch = pm('*.js');
-
-console.log(isMatch('abcd')); //=> false
-console.log(isMatch('a.js')); //=> true
-console.log(isMatch('a.md')); //=> false
-console.log(isMatch('a/b.js')); //=> false
-```
-
-<br>
-
-## API
-
-### [picomatch](lib/picomatch.js#L32)
-
-Creates a matcher function from one or more glob patterns. The returned function takes a string to match as its first argument, and returns true if the string is a match. The returned matcher function also takes a boolean as the second argument that, when true, returns an object with additional information.
-
-**Params**
-
-* `globs` **{String|Array}**: One or more glob patterns.
-* `options` **{Object=}**
-* `returns` **{Function=}**: Returns a matcher function.
-
-**Example**
-
-```js
-const picomatch = require('picomatch');
-// picomatch(glob[, options]);
-
-const isMatch = picomatch('*.!(*a)');
-console.log(isMatch('a.a')); //=> false
-console.log(isMatch('a.b')); //=> true
-```
-
-### [.test](lib/picomatch.js#L117)
-
-Test `input` with the given `regex`. This is used by the main `picomatch()` function to test the input string.
-
-**Params**
-
-* `input` **{String}**: String to test.
-* `regex` **{RegExp}**
-* `returns` **{Object}**: Returns an object with matching info.
-
-**Example**
-
-```js
-const picomatch = require('picomatch');
-// picomatch.test(input, regex[, options]);
-
-console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/));
-// { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' }
-```
-
-### [.matchBase](lib/picomatch.js#L161)
-
-Match the basename of a filepath.
-
-**Params**
-
-* `input` **{String}**: String to test.
-* `glob` **{RegExp|String}**: Glob pattern or regex created by [.makeRe](#makeRe).
-* `returns` **{Boolean}**
-
-**Example**
-
-```js
-const picomatch = require('picomatch');
-// picomatch.matchBase(input, glob[, options]);
-console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true
-```
-
-### [.isMatch](lib/picomatch.js#L183)
-
-Returns true if **any** of the given glob `patterns` match the specified `string`.
-
-**Params**
-
-* **{String|Array}**: str The string to test.
-* **{String|Array}**: patterns One or more glob patterns to use for matching.
-* **{Object}**: See available [options](#options).
-* `returns` **{Boolean}**: Returns true if any patterns match `str`
-
-**Example**
-
-```js
-const picomatch = require('picomatch');
-// picomatch.isMatch(string, patterns[, options]);
-
-console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true
-console.log(picomatch.isMatch('a.a', 'b.*')); //=> false
-```
-
-### [.parse](lib/picomatch.js#L199)
-
-Parse a glob pattern to create the source string for a regular expression.
-
-**Params**
-
-* `pattern` **{String}**
-* `options` **{Object}**
-* `returns` **{Object}**: Returns an object with useful properties and output to be used as a regex source string.
-
-**Example**
-
-```js
-const picomatch = require('picomatch');
-const result = picomatch.parse(pattern[, options]);
-```
-
-### [.scan](lib/picomatch.js#L231)
-
-Scan a glob pattern to separate the pattern into segments.
-
-**Params**
-
-* `input` **{String}**: Glob pattern to scan.
-* `options` **{Object}**
-* `returns` **{Object}**: Returns an object with
-
-**Example**
-
-```js
-const picomatch = require('picomatch');
-// picomatch.scan(input[, options]);
-
-const result = picomatch.scan('!./foo/*.js');
-console.log(result);
-{ prefix: '!./',
- input: '!./foo/*.js',
- start: 3,
- base: 'foo',
- glob: '*.js',
- isBrace: false,
- isBracket: false,
- isGlob: true,
- isExtglob: false,
- isGlobstar: false,
- negated: true }
-```
-
-### [.compileRe](lib/picomatch.js#L245)
-
-Compile a regular expression from the `state` object returned by the
-[parse()](#parse) method.
-
-**Params**
-
-* `state` **{Object}**
-* `options` **{Object}**
-* `returnOutput` **{Boolean}**: Intended for implementors, this argument allows you to return the raw output from the parser.
-* `returnState` **{Boolean}**: Adds the state to a `state` property on the returned regex. Useful for implementors and debugging.
-* `returns` **{RegExp}**
-
-### [.makeRe](lib/picomatch.js#L286)
-
-Create a regular expression from a parsed glob pattern.
-
-**Params**
-
-* `state` **{String}**: The object returned from the `.parse` method.
-* `options` **{Object}**
-* `returnOutput` **{Boolean}**: Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result.
-* `returnState` **{Boolean}**: Implementors may use this argument to return the state from the parsed glob with the returned regular expression.
-* `returns` **{RegExp}**: Returns a regex created from the given pattern.
-
-**Example**
-
-```js
-const picomatch = require('picomatch');
-const state = picomatch.parse('*.js');
-// picomatch.compileRe(state[, options]);
-
-console.log(picomatch.compileRe(state));
-//=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
-```
-
-### [.toRegex](lib/picomatch.js#L321)
-
-Create a regular expression from the given regex source string.
-
-**Params**
-
-* `source` **{String}**: Regular expression source string.
-* `options` **{Object}**
-* `returns` **{RegExp}**
-
-**Example**
-
-```js
-const picomatch = require('picomatch');
-// picomatch.toRegex(source[, options]);
-
-const { output } = picomatch.parse('*.js');
-console.log(picomatch.toRegex(output));
-//=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
-```
-
-<br>
-
-## Options
-
-### Picomatch options
-
-The following options may be used with the main `picomatch()` function or any of the methods on the picomatch API.
-
-| **Option** | **Type** | **Default value** | **Description** |
-| --- | --- | --- | --- |
-| `basename` | `boolean` | `false` | If set, then patterns without slashes will be matched against the basename of the path if it contains slashes. For example, `a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`. |
-| `bash` | `boolean` | `false` | Follow bash matching rules more strictly - disallows backslashes as escape characters, and treats single stars as globstars (`**`). |
-| `capture` | `boolean` | `undefined` | Return regex matches in supporting methods. |
-| `contains` | `boolean` | `undefined` | Allows glob to match any part of the given string(s). |
-| `cwd` | `string` | `process.cwd()` | Current working directory. Used by `picomatch.split()` |
-| `debug` | `boolean` | `undefined` | Debug regular expressions when an error is thrown. |
-| `dot` | `boolean` | `false` | Enable dotfile matching. By default, dotfiles are ignored unless a `.` is explicitly defined in the pattern, or `options.dot` is true |
-| `expandRange` | `function` | `undefined` | Custom function for expanding ranges in brace patterns, such as `{a..z}`. The function receives the range values as two arguments, and it must return a string to be used in the generated regex. It's recommended that returned strings be wrapped in parentheses. |
-| `failglob` | `boolean` | `false` | Throws an error if no matches are found. Based on the bash option of the same name. |
-| `fastpaths` | `boolean` | `true` | To speed up processing, full parsing is skipped for a handful common glob patterns. Disable this behavior by setting this option to `false`. |
-| `flags` | `string` | `undefined` | Regex flags to use in the generated regex. If defined, the `nocase` option will be overridden. |
-| [format](#optionsformat) | `function` | `undefined` | Custom function for formatting the returned string. This is useful for removing leading slashes, converting Windows paths to Posix paths, etc. |
-| `ignore` | `array\|string` | `undefined` | One or more glob patterns for excluding strings that should not be matched from the result. |
-| `keepQuotes` | `boolean` | `false` | Retain quotes in the generated regex, since quotes may also be used as an alternative to backslashes. |
-| `literalBrackets` | `boolean` | `undefined` | When `true`, brackets in the glob pattern will be escaped so that only literal brackets will be matched. |
-| `matchBase` | `boolean` | `false` | Alias for `basename` |
-| `maxLength` | `boolean` | `65536` | Limit the max length of the input string. An error is thrown if the input string is longer than this value. |
-| `nobrace` | `boolean` | `false` | Disable brace matching, so that `{a,b}` and `{1..3}` would be treated as literal characters. |
-| `nobracket` | `boolean` | `undefined` | Disable matching with regex brackets. |
-| `nocase` | `boolean` | `false` | Make matching case-insensitive. Equivalent to the regex `i` flag. Note that this option is overridden by the `flags` option. |
-| `nodupes` | `boolean` | `true` | Deprecated, use `nounique` instead. This option will be removed in a future major release. By default duplicates are removed. Disable uniquification by setting this option to false. |
-| `noext` | `boolean` | `false` | Alias for `noextglob` |
-| `noextglob` | `boolean` | `false` | Disable support for matching with extglobs (like `+(a\|b)`) |
-| `noglobstar` | `boolean` | `false` | Disable support for matching nested directories with globstars (`**`) |
-| `nonegate` | `boolean` | `false` | Disable support for negating with leading `!` |
-| `noquantifiers` | `boolean` | `false` | Disable support for regex quantifiers (like `a{1,2}`) and treat them as brace patterns to be expanded. |
-| [onIgnore](#optionsonIgnore) | `function` | `undefined` | Function to be called on ignored items. |
-| [onMatch](#optionsonMatch) | `function` | `undefined` | Function to be called on matched items. |
-| [onResult](#optionsonResult) | `function` | `undefined` | Function to be called on all items, regardless of whether or not they are matched or ignored. |
-| `posix` | `boolean` | `false` | Support POSIX character classes ("posix brackets"). |
-| `posixSlashes` | `boolean` | `undefined` | Convert all slashes in file paths to forward slashes. This does not convert slashes in the glob pattern itself |
-| `prepend` | `boolean` | `undefined` | String to prepend to the generated regex used for matching. |
-| `regex` | `boolean` | `false` | Use regular expression rules for `+` (instead of matching literal `+`), and for stars that follow closing parentheses or brackets (as in `)*` and `]*`). |
-| `strictBrackets` | `boolean` | `undefined` | Throw an error if brackets, braces, or parens are imbalanced. |
-| `strictSlashes` | `boolean` | `undefined` | When true, picomatch won't match trailing slashes with single stars. |
-| `unescape` | `boolean` | `undefined` | Remove backslashes preceding escaped characters in the glob pattern. By default, backslashes are retained. |
-| `unixify` | `boolean` | `undefined` | Alias for `posixSlashes`, for backwards compatibility. |
-
-picomatch has automatic detection for regex positive and negative lookbehinds. If the pattern contains a negative lookbehind, you must be using Node.js >= 8.10 or else picomatch will throw an error.
-
-### Scan Options
-
-In addition to the main [picomatch options](#picomatch-options), the following options may also be used with the [.scan](#scan) method.
-
-| **Option** | **Type** | **Default value** | **Description** |
-| --- | --- | --- | --- |
-| `tokens` | `boolean` | `false` | When `true`, the returned object will include an array of tokens (objects), representing each path "segment" in the scanned glob pattern |
-| `parts` | `boolean` | `false` | When `true`, the returned object will include an array of strings representing each path "segment" in the scanned glob pattern. This is automatically enabled when `options.tokens` is true |
-
-**Example**
-
-```js
-const picomatch = require('picomatch');
-const result = picomatch.scan('!./foo/*.js', { tokens: true });
-console.log(result);
-// {
-// prefix: '!./',
-// input: '!./foo/*.js',
-// start: 3,
-// base: 'foo',
-// glob: '*.js',
-// isBrace: false,
-// isBracket: false,
-// isGlob: true,
-// isExtglob: false,
-// isGlobstar: false,
-// negated: true,
-// maxDepth: 2,
-// tokens: [
-// { value: '!./', depth: 0, isGlob: false, negated: true, isPrefix: true },
-// { value: 'foo', depth: 1, isGlob: false },
-// { value: '*.js', depth: 1, isGlob: true }
-// ],
-// slashes: [ 2, 6 ],
-// parts: [ 'foo', '*.js' ]
-// }
-```
-
-<br>
-
-### Options Examples
-
-#### options.expandRange
-
-**Type**: `function`
-
-**Default**: `undefined`
-
-Custom function for expanding ranges in brace patterns. The [fill-range](https://github.com/jonschlinkert/fill-range) library is ideal for this purpose, or you can use custom code to do whatever you need.
-
-**Example**
-
-The following example shows how to create a glob that matches a folder
-
-```js
-const fill = require('fill-range');
-const regex = pm.makeRe('foo/{01..25}/bar', {
- expandRange(a, b) {
- return `(${fill(a, b, { toRegex: true })})`;
- }
-});
-
-console.log(regex);
-//=> /^(?:foo\/((?:0[1-9]|1[0-9]|2[0-5]))\/bar)$/
-
-console.log(regex.test('foo/00/bar')) // false
-console.log(regex.test('foo/01/bar')) // true
-console.log(regex.test('foo/10/bar')) // true
-console.log(regex.test('foo/22/bar')) // true
-console.log(regex.test('foo/25/bar')) // true
-console.log(regex.test('foo/26/bar')) // false
-```
-
-#### options.format
-
-**Type**: `function`
-
-**Default**: `undefined`
-
-Custom function for formatting strings before they're matched.
-
-**Example**
-
-```js
-// strip leading './' from strings
-const format = str => str.replace(/^\.\//, '');
-const isMatch = picomatch('foo/*.js', { format });
-console.log(isMatch('./foo/bar.js')); //=> true
-```
-
-#### options.onMatch
-
-```js
-const onMatch = ({ glob, regex, input, output }) => {
- console.log({ glob, regex, input, output });
-};
-
-const isMatch = picomatch('*', { onMatch });
-isMatch('foo');
-isMatch('bar');
-isMatch('baz');
-```
-
-#### options.onIgnore
-
-```js
-const onIgnore = ({ glob, regex, input, output }) => {
- console.log({ glob, regex, input, output });
-};
-
-const isMatch = picomatch('*', { onIgnore, ignore: 'f*' });
-isMatch('foo');
-isMatch('bar');
-isMatch('baz');
-```
-
-#### options.onResult
-
-```js
-const onResult = ({ glob, regex, input, output }) => {
- console.log({ glob, regex, input, output });
-};
-
-const isMatch = picomatch('*', { onResult, ignore: 'f*' });
-isMatch('foo');
-isMatch('bar');
-isMatch('baz');
-```
-
-<br>
-<br>
-
-## Globbing features
-
-* [Basic globbing](#basic-globbing) (Wildcard matching)
-* [Advanced globbing](#advanced-globbing) (extglobs, posix brackets, brace matching)
-
-### Basic globbing
-
-| **Character** | **Description** |
-| --- | --- |
-| `*` | Matches any character zero or more times, excluding path separators. Does _not match_ path separators or hidden files or directories ("dotfiles"), unless explicitly enabled by setting the `dot` option to `true`. |
-| `**` | Matches any character zero or more times, including path separators. Note that `**` will only match path separators (`/`, and `\\` on Windows) when they are the only characters in a path segment. Thus, `foo**/bar` is equivalent to `foo*/bar`, and `foo/a**b/bar` is equivalent to `foo/a*b/bar`, and _more than two_ consecutive stars in a glob path segment are regarded as _a single star_. Thus, `foo/***/bar` is equivalent to `foo/*/bar`. |
-| `?` | Matches any character excluding path separators one time. Does _not match_ path separators or leading dots. |
-| `[abc]` | Matches any characters inside the brackets. For example, `[abc]` would match the characters `a`, `b` or `c`, and nothing else. |
-
-#### Matching behavior vs. Bash
-
-Picomatch's matching features and expected results in unit tests are based on Bash's unit tests and the Bash 4.3 specification, with the following exceptions:
-
-* Bash will match `foo/bar/baz` with `*`. Picomatch only matches nested directories with `**`.
-* Bash greedily matches with negated extglobs. For example, Bash 4.3 says that `!(foo)*` should match `foo` and `foobar`, since the trailing `*` bracktracks to match the preceding pattern. This is very memory-inefficient, and IMHO, also incorrect. Picomatch would return `false` for both `foo` and `foobar`.
-
-<br>
-
-### Advanced globbing
-
-* [extglobs](#extglobs)
-* [POSIX brackets](#posix-brackets)
-* [Braces](#brace-expansion)
-
-#### Extglobs
-
-| **Pattern** | **Description** |
-| --- | --- |
-| `@(pattern)` | Match _only one_ consecutive occurrence of `pattern` |
-| `*(pattern)` | Match _zero or more_ consecutive occurrences of `pattern` |
-| `+(pattern)` | Match _one or more_ consecutive occurrences of `pattern` |
-| `?(pattern)` | Match _zero or **one**_ consecutive occurrences of `pattern` |
-| `!(pattern)` | Match _anything but_ `pattern` |
-
-**Examples**
-
-```js
-const pm = require('picomatch');
-
-// *(pattern) matches ZERO or more of "pattern"
-console.log(pm.isMatch('a', 'a*(z)')); // true
-console.log(pm.isMatch('az', 'a*(z)')); // true
-console.log(pm.isMatch('azzz', 'a*(z)')); // true
-
-// +(pattern) matches ONE or more of "pattern"
-console.log(pm.isMatch('a', 'a*(z)')); // true
-console.log(pm.isMatch('az', 'a*(z)')); // true
-console.log(pm.isMatch('azzz', 'a*(z)')); // true
-
-// supports multiple extglobs
-console.log(pm.isMatch('foo.bar', '!(foo).!(bar)')); // false
-
-// supports nested extglobs
-console.log(pm.isMatch('foo.bar', '!(!(foo)).!(!(bar))')); // true
-```
-
-#### POSIX brackets
-
-POSIX classes are disabled by default. Enable this feature by setting the `posix` option to true.
-
-**Enable POSIX bracket support**
-
-```js
-console.log(pm.makeRe('[[:word:]]+', { posix: true }));
-//=> /^(?:(?=.)[A-Za-z0-9_]+\/?)$/
-```
-
-**Supported POSIX classes**
-
-The following named POSIX bracket expressions are supported:
-
-* `[:alnum:]` - Alphanumeric characters, equ `[a-zA-Z0-9]`
-* `[:alpha:]` - Alphabetical characters, equivalent to `[a-zA-Z]`.
-* `[:ascii:]` - ASCII characters, equivalent to `[\\x00-\\x7F]`.
-* `[:blank:]` - Space and tab characters, equivalent to `[ \\t]`.
-* `[:cntrl:]` - Control characters, equivalent to `[\\x00-\\x1F\\x7F]`.
-* `[:digit:]` - Numerical digits, equivalent to `[0-9]`.
-* `[:graph:]` - Graph characters, equivalent to `[\\x21-\\x7E]`.
-* `[:lower:]` - Lowercase letters, equivalent to `[a-z]`.
-* `[:print:]` - Print characters, equivalent to `[\\x20-\\x7E ]`.
-* `[:punct:]` - Punctuation and symbols, equivalent to `[\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~]`.
-* `[:space:]` - Extended space characters, equivalent to `[ \\t\\r\\n\\v\\f]`.
-* `[:upper:]` - Uppercase letters, equivalent to `[A-Z]`.
-* `[:word:]` - Word characters (letters, numbers and underscores), equivalent to `[A-Za-z0-9_]`.
-* `[:xdigit:]` - Hexadecimal digits, equivalent to `[A-Fa-f0-9]`.
-
-See the [Bash Reference Manual](https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html) for more information.
-
-### Braces
-
-Picomatch does not do brace expansion. For [brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html) and advanced matching with braces, use [micromatch](https://github.com/micromatch/micromatch) instead. Picomatch has very basic support for braces.
-
-### Matching special characters as literals
-
-If you wish to match the following special characters in a filepath, and you want to use these characters in your glob pattern, they must be escaped with backslashes or quotes:
-
-**Special Characters**
-
-Some characters that are used for matching in regular expressions are also regarded as valid file path characters on some platforms.
-
-To match any of the following characters as literals: `$^*+?()[]
-
-Examples:
-
-```js
-console.log(pm.makeRe('foo/bar \\(1\\)'));
-console.log(pm.makeRe('foo/bar \\(1\\)'));
-```
-
-<br>
-<br>
-
-## Library Comparisons
-
-The following table shows which features are supported by [minimatch](https://github.com/isaacs/minimatch), [micromatch](https://github.com/micromatch/micromatch), [picomatch](https://github.com/micromatch/picomatch), [nanomatch](https://github.com/micromatch/nanomatch), [extglob](https://github.com/micromatch/extglob), [braces](https://github.com/micromatch/braces), and [expand-brackets](https://github.com/micromatch/expand-brackets).
-
-| **Feature** | `minimatch` | `micromatch` | `picomatch` | `nanomatch` | `extglob` | `braces` | `expand-brackets` |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| Wildcard matching (`*?+`) | ✔ | ✔ | ✔ | ✔ | - | - | - |
-| Advancing globbing | ✔ | ✔ | ✔ | - | - | - | - |
-| Brace _matching_ | ✔ | ✔ | ✔ | - | - | ✔ | - |
-| Brace _expansion_ | ✔ | ✔ | - | - | - | ✔ | - |
-| Extglobs | partial | ✔ | ✔ | - | ✔ | - | - |
-| Posix brackets | - | ✔ | ✔ | - | - | - | ✔ |
-| Regular expression syntax | - | ✔ | ✔ | ✔ | ✔ | - | ✔ |
-| File system operations | - | - | - | - | - | - | - |
-
-<br>
-<br>
-
-## Benchmarks
-
-Performance comparison of picomatch and minimatch.
-
-```
-# .makeRe star
- picomatch x 1,993,050 ops/sec ±0.51% (91 runs sampled)
- minimatch x 627,206 ops/sec ±1.96% (87 runs sampled))
-
-# .makeRe star; dot=true
- picomatch x 1,436,640 ops/sec ±0.62% (91 runs sampled)
- minimatch x 525,876 ops/sec ±0.60% (88 runs sampled)
-
-# .makeRe globstar
- picomatch x 1,592,742 ops/sec ±0.42% (90 runs sampled)
- minimatch x 962,043 ops/sec ±1.76% (91 runs sampled)d)
-
-# .makeRe globstars
- picomatch x 1,615,199 ops/sec ±0.35% (94 runs sampled)
- minimatch x 477,179 ops/sec ±1.33% (91 runs sampled)
-
-# .makeRe with leading star
- picomatch x 1,220,856 ops/sec ±0.40% (92 runs sampled)
- minimatch x 453,564 ops/sec ±1.43% (94 runs sampled)
-
-# .makeRe - basic braces
- picomatch x 392,067 ops/sec ±0.70% (90 runs sampled)
- minimatch x 99,532 ops/sec ±2.03% (87 runs sampled))
-```
-
-<br>
-<br>
-
-## Philosophies
-
-The goal of this library is to be blazing fast, without compromising on accuracy.
-
-**Accuracy**
-
-The number one of goal of this library is accuracy. However, it's not unusual for different glob implementations to have different rules for matching behavior, even with simple wildcard matching. It gets increasingly more complicated when combinations of different features are combined, like when extglobs are combined with globstars, braces, slashes, and so on: `!(**/{a,b,*/c})`.
-
-Thus, given that there is no canonical glob specification to use as a single source of truth when differences of opinion arise regarding behavior, sometimes we have to implement our best judgement and rely on feedback from users to make improvements.
-
-**Performance**
-
-Although this library performs well in benchmarks, and in most cases it's faster than other popular libraries we benchmarked against, we will always choose accuracy over performance. It's not helpful to anyone if our library is faster at returning the wrong answer.
-
-<br>
-<br>
-
-## About
-
-<details>
-<summary><strong>Contributing</strong></summary>
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
-
-Please read the [contributing guide](.github/contributing.md) for advice on opening issues, pull requests, and coding standards.
-
-</details>
-
-<details>
-<summary><strong>Running Tests</strong></summary>
-
-Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
-
-```sh
-npm install && npm test
-```
-
-</details>
-
-<details>
-<summary><strong>Building docs</strong></summary>
-
-_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
-
-To generate the readme, run the following command:
-
-```sh
-npm install -g verbose/verb#dev verb-generate-readme && verb
-```
-
-</details>
-
-### Author
-
-**Jon Schlinkert**
-
-* [GitHub Profile](https://github.com/jonschlinkert)
-* [Twitter Profile](https://twitter.com/jonschlinkert)
-* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
-
-### License
-
-Copyright © 2017-present, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT License](LICENSE).
diff --git a/includes/search/node_modules/picomatch/index.js b/includes/search/node_modules/picomatch/index.js
deleted file mode 100644
index d2f2bc5..0000000
--- a/includes/search/node_modules/picomatch/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = require('./lib/picomatch');
diff --git a/includes/search/node_modules/picomatch/lib/constants.js b/includes/search/node_modules/picomatch/lib/constants.js
deleted file mode 100644
index a62ef38..0000000
--- a/includes/search/node_modules/picomatch/lib/constants.js
+++ /dev/null
@@ -1,179 +0,0 @@
-'use strict';
-
-const path = require('path');
-const WIN_SLASH = '\\\\/';
-const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
-
-/**
- * Posix glob regex
- */
-
-const DOT_LITERAL = '\\.';
-const PLUS_LITERAL = '\\+';
-const QMARK_LITERAL = '\\?';
-const SLASH_LITERAL = '\\/';
-const ONE_CHAR = '(?=.)';
-const QMARK = '[^/]';
-const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
-const START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
-const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
-const NO_DOT = `(?!${DOT_LITERAL})`;
-const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
-const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
-const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
-const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
-const STAR = `${QMARK}*?`;
-
-const POSIX_CHARS = {
- DOT_LITERAL,
- PLUS_LITERAL,
- QMARK_LITERAL,
- SLASH_LITERAL,
- ONE_CHAR,
- QMARK,
- END_ANCHOR,
- DOTS_SLASH,
- NO_DOT,
- NO_DOTS,
- NO_DOT_SLASH,
- NO_DOTS_SLASH,
- QMARK_NO_DOT,
- STAR,
- START_ANCHOR
-};
-
-/**
- * Windows glob regex
- */
-
-const WINDOWS_CHARS = {
- ...POSIX_CHARS,
-
- SLASH_LITERAL: `[${WIN_SLASH}]`,
- QMARK: WIN_NO_SLASH,
- STAR: `${WIN_NO_SLASH}*?`,
- DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
- NO_DOT: `(?!${DOT_LITERAL})`,
- NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
- NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
- NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
- QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
- START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
- END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
-};
-
-/**
- * POSIX Bracket Regex
- */
-
-const POSIX_REGEX_SOURCE = {
- alnum: 'a-zA-Z0-9',
- alpha: 'a-zA-Z',
- ascii: '\\x00-\\x7F',
- blank: ' \\t',
- cntrl: '\\x00-\\x1F\\x7F',
- digit: '0-9',
- graph: '\\x21-\\x7E',
- lower: 'a-z',
- print: '\\x20-\\x7E ',
- punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~',
- space: ' \\t\\r\\n\\v\\f',
- upper: 'A-Z',
- word: 'A-Za-z0-9_',
- xdigit: 'A-Fa-f0-9'
-};
-
-module.exports = {
- MAX_LENGTH: 1024 * 64,
- POSIX_REGEX_SOURCE,
-
- // regular expressions
- REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
- REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
- REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
- REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
- REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
- REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
-
- // Replace globs with equivalent patterns to reduce parsing time.
- REPLACEMENTS: {
- '***': '*',
- '**/**': '**',
- '**/**/**': '**'
- },
-
- // Digits
- CHAR_0: 48, /* 0 */
- CHAR_9: 57, /* 9 */
-
- // Alphabet chars.
- CHAR_UPPERCASE_A: 65, /* A */
- CHAR_LOWERCASE_A: 97, /* a */
- CHAR_UPPERCASE_Z: 90, /* Z */
- CHAR_LOWERCASE_Z: 122, /* z */
-
- CHAR_LEFT_PARENTHESES: 40, /* ( */
- CHAR_RIGHT_PARENTHESES: 41, /* ) */
-
- CHAR_ASTERISK: 42, /* * */
-
- // Non-alphabetic chars.
- CHAR_AMPERSAND: 38, /* & */
- CHAR_AT: 64, /* @ */
- CHAR_BACKWARD_SLASH: 92, /* \ */
- CHAR_CARRIAGE_RETURN: 13, /* \r */
- CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */
- CHAR_COLON: 58, /* : */
- CHAR_COMMA: 44, /* , */
- CHAR_DOT: 46, /* . */
- CHAR_DOUBLE_QUOTE: 34, /* " */
- CHAR_EQUAL: 61, /* = */
- CHAR_EXCLAMATION_MARK: 33, /* ! */
- CHAR_FORM_FEED: 12, /* \f */
- CHAR_FORWARD_SLASH: 47, /* / */
- CHAR_GRAVE_ACCENT: 96, /* ` */
- CHAR_HASH: 35, /* # */
- CHAR_HYPHEN_MINUS: 45, /* - */
- CHAR_LEFT_ANGLE_BRACKET: 60, /* < */
- CHAR_LEFT_CURLY_BRACE: 123, /* { */
- CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */
- CHAR_LINE_FEED: 10, /* \n */
- CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */
- CHAR_PERCENT: 37, /* % */
- CHAR_PLUS: 43, /* + */
- CHAR_QUESTION_MARK: 63, /* ? */
- CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */
- CHAR_RIGHT_CURLY_BRACE: 125, /* } */
- CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */
- CHAR_SEMICOLON: 59, /* ; */
- CHAR_SINGLE_QUOTE: 39, /* ' */
- CHAR_SPACE: 32, /* */
- CHAR_TAB: 9, /* \t */
- CHAR_UNDERSCORE: 95, /* _ */
- CHAR_VERTICAL_LINE: 124, /* | */
- CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */
-
- SEP: path.sep,
-
- /**
- * Create EXTGLOB_CHARS
- */
-
- extglobChars(chars) {
- return {
- '!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` },
- '?': { type: 'qmark', open: '(?:', close: ')?' },
- '+': { type: 'plus', open: '(?:', close: ')+' },
- '*': { type: 'star', open: '(?:', close: ')*' },
- '@': { type: 'at', open: '(?:', close: ')' }
- };
- },
-
- /**
- * Create GLOB_CHARS
- */
-
- globChars(win32) {
- return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
- }
-};
diff --git a/includes/search/node_modules/picomatch/lib/parse.js b/includes/search/node_modules/picomatch/lib/parse.js
deleted file mode 100644
index 58269d0..0000000
--- a/includes/search/node_modules/picomatch/lib/parse.js
+++ /dev/null
@@ -1,1091 +0,0 @@
-'use strict';
-
-const constants = require('./constants');
-const utils = require('./utils');
-
-/**
- * Constants
- */
-
-const {
- MAX_LENGTH,
- POSIX_REGEX_SOURCE,
- REGEX_NON_SPECIAL_CHARS,
- REGEX_SPECIAL_CHARS_BACKREF,
- REPLACEMENTS
-} = constants;
-
-/**
- * Helpers
- */
-
-const expandRange = (args, options) => {
- if (typeof options.expandRange === 'function') {
- return options.expandRange(...args, options);
- }
-
- args.sort();
- const value = `[${args.join('-')}]`;
-
- try {
- /* eslint-disable-next-line no-new */
- new RegExp(value);
- } catch (ex) {
- return args.map(v => utils.escapeRegex(v)).join('..');
- }
-
- return value;
-};
-
-/**
- * Create the message for a syntax error
- */
-
-const syntaxError = (type, char) => {
- return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
-};
-
-/**
- * Parse the given input string.
- * @param {String} input
- * @param {Object} options
- * @return {Object}
- */
-
-const parse = (input, options) => {
- if (typeof input !== 'string') {
- throw new TypeError('Expected a string');
- }
-
- input = REPLACEMENTS[input] || input;
-
- const opts = { ...options };
- const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
-
- let len = input.length;
- if (len > max) {
- throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
- }
-
- const bos = { type: 'bos', value: '', output: opts.prepend || '' };
- const tokens = [bos];
-
- const capture = opts.capture ? '' : '?:';
- const win32 = utils.isWindows(options);
-
- // create constants based on platform, for windows or posix
- const PLATFORM_CHARS = constants.globChars(win32);
- const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
-
- const {
- DOT_LITERAL,
- PLUS_LITERAL,
- SLASH_LITERAL,
- ONE_CHAR,
- DOTS_SLASH,
- NO_DOT,
- NO_DOT_SLASH,
- NO_DOTS_SLASH,
- QMARK,
- QMARK_NO_DOT,
- STAR,
- START_ANCHOR
- } = PLATFORM_CHARS;
-
- const globstar = opts => {
- return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
- };
-
- const nodot = opts.dot ? '' : NO_DOT;
- const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
- let star = opts.bash === true ? globstar(opts) : STAR;
-
- if (opts.capture) {
- star = `(${star})`;
- }
-
- // minimatch options support
- if (typeof opts.noext === 'boolean') {
- opts.noextglob = opts.noext;
- }
-
- const state = {
- input,
- index: -1,
- start: 0,
- dot: opts.dot === true,
- consumed: '',
- output: '',
- prefix: '',
- backtrack: false,
- negated: false,
- brackets: 0,
- braces: 0,
- parens: 0,
- quotes: 0,
- globstar: false,
- tokens
- };
-
- input = utils.removePrefix(input, state);
- len = input.length;
-
- const extglobs = [];
- const braces = [];
- const stack = [];
- let prev = bos;
- let value;
-
- /**
- * Tokenizing helpers
- */
-
- const eos = () => state.index === len - 1;
- const peek = state.peek = (n = 1) => input[state.index + n];
- const advance = state.advance = () => input[++state.index] || '';
- const remaining = () => input.slice(state.index + 1);
- const consume = (value = '', num = 0) => {
- state.consumed += value;
- state.index += num;
- };
-
- const append = token => {
- state.output += token.output != null ? token.output : token.value;
- consume(token.value);
- };
-
- const negate = () => {
- let count = 1;
-
- while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) {
- advance();
- state.start++;
- count++;
- }
-
- if (count % 2 === 0) {
- return false;
- }
-
- state.negated = true;
- state.start++;
- return true;
- };
-
- const increment = type => {
- state[type]++;
- stack.push(type);
- };
-
- const decrement = type => {
- state[type]--;
- stack.pop();
- };
-
- /**
- * Push tokens onto the tokens array. This helper speeds up
- * tokenizing by 1) helping us avoid backtracking as much as possible,
- * and 2) helping us avoid creating extra tokens when consecutive
- * characters are plain text. This improves performance and simplifies
- * lookbehinds.
- */
-
- const push = tok => {
- if (prev.type === 'globstar') {
- const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace');
- const isExtglob = tok.extglob === true || (extglobs.length && (tok.type === 'pipe' || tok.type === 'paren'));
-
- if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) {
- state.output = state.output.slice(0, -prev.output.length);
- prev.type = 'star';
- prev.value = '*';
- prev.output = star;
- state.output += prev.output;
- }
- }
-
- if (extglobs.length && tok.type !== 'paren') {
- extglobs[extglobs.length - 1].inner += tok.value;
- }
-
- if (tok.value || tok.output) append(tok);
- if (prev && prev.type === 'text' && tok.type === 'text') {
- prev.value += tok.value;
- prev.output = (prev.output || '') + tok.value;
- return;
- }
-
- tok.prev = prev;
- tokens.push(tok);
- prev = tok;
- };
-
- const extglobOpen = (type, value) => {
- const token = { ...EXTGLOB_CHARS[value], conditions: 1, inner: '' };
-
- token.prev = prev;
- token.parens = state.parens;
- token.output = state.output;
- const output = (opts.capture ? '(' : '') + token.open;
-
- increment('parens');
- push({ type, value, output: state.output ? '' : ONE_CHAR });
- push({ type: 'paren', extglob: true, value: advance(), output });
- extglobs.push(token);
- };
-
- const extglobClose = token => {
- let output = token.close + (opts.capture ? ')' : '');
- let rest;
-
- if (token.type === 'negate') {
- let extglobStar = star;
-
- if (token.inner && token.inner.length > 1 && token.inner.includes('/')) {
- extglobStar = globstar(opts);
- }
-
- if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
- output = token.close = `)$))${extglobStar}`;
- }
-
- if (token.inner.includes('*') && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
- // Any non-magical string (`.ts`) or even nested expression (`.{ts,tsx}`) can follow after the closing parenthesis.
- // In this case, we need to parse the string and use it in the output of the original pattern.
- // Suitable patterns: `/!(*.d).ts`, `/!(*.d).{ts,tsx}`, `**/!(*-dbg).@(js)`.
- //
- // Disabling the `fastpaths` option due to a problem with parsing strings as `.ts` in the pattern like `**/!(*.d).ts`.
- const expression = parse(rest, { ...options, fastpaths: false }).output;
-
- output = token.close = `)${expression})${extglobStar})`;
- }
-
- if (token.prev.type === 'bos') {
- state.negatedExtglob = true;
- }
- }
-
- push({ type: 'paren', extglob: true, value, output });
- decrement('parens');
- };
-
- /**
- * Fast paths
- */
-
- if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
- let backslashes = false;
-
- let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {
- if (first === '\\') {
- backslashes = true;
- return m;
- }
-
- if (first === '?') {
- if (esc) {
- return esc + first + (rest ? QMARK.repeat(rest.length) : '');
- }
- if (index === 0) {
- return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : '');
- }
- return QMARK.repeat(chars.length);
- }
-
- if (first === '.') {
- return DOT_LITERAL.repeat(chars.length);
- }
-
- if (first === '*') {
- if (esc) {
- return esc + first + (rest ? star : '');
- }
- return star;
- }
- return esc ? m : `\\${m}`;
- });
-
- if (backslashes === true) {
- if (opts.unescape === true) {
- output = output.replace(/\\/g, '');
- } else {
- output = output.replace(/\\+/g, m => {
- return m.length % 2 === 0 ? '\\\\' : (m ? '\\' : '');
- });
- }
- }
-
- if (output === input && opts.contains === true) {
- state.output = input;
- return state;
- }
-
- state.output = utils.wrapOutput(output, state, options);
- return state;
- }
-
- /**
- * Tokenize input until we reach end-of-string
- */
-
- while (!eos()) {
- value = advance();
-
- if (value === '\u0000') {
- continue;
- }
-
- /**
- * Escaped characters
- */
-
- if (value === '\\') {
- const next = peek();
-
- if (next === '/' && opts.bash !== true) {
- continue;
- }
-
- if (next === '.' || next === ';') {
- continue;
- }
-
- if (!next) {
- value += '\\';
- push({ type: 'text', value });
- continue;
- }
-
- // collapse slashes to reduce potential for exploits
- const match = /^\\+/.exec(remaining());
- let slashes = 0;
-
- if (match && match[0].length > 2) {
- slashes = match[0].length;
- state.index += slashes;
- if (slashes % 2 !== 0) {
- value += '\\';
- }
- }
-
- if (opts.unescape === true) {
- value = advance();
- } else {
- value += advance();
- }
-
- if (state.brackets === 0) {
- push({ type: 'text', value });
- continue;
- }
- }
-
- /**
- * If we're inside a regex character class, continue
- * until we reach the closing bracket.
- */
-
- if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) {
- if (opts.posix !== false && value === ':') {
- const inner = prev.value.slice(1);
- if (inner.includes('[')) {
- prev.posix = true;
-
- if (inner.includes(':')) {
- const idx = prev.value.lastIndexOf('[');
- const pre = prev.value.slice(0, idx);
- const rest = prev.value.slice(idx + 2);
- const posix = POSIX_REGEX_SOURCE[rest];
- if (posix) {
- prev.value = pre + posix;
- state.backtrack = true;
- advance();
-
- if (!bos.output && tokens.indexOf(prev) === 1) {
- bos.output = ONE_CHAR;
- }
- continue;
- }
- }
- }
- }
-
- if ((value === '[' && peek() !== ':') || (value === '-' && peek() === ']')) {
- value = `\\${value}`;
- }
-
- if (value === ']' && (prev.value === '[' || prev.value === '[^')) {
- value = `\\${value}`;
- }
-
- if (opts.posix === true && value === '!' && prev.value === '[') {
- value = '^';
- }
-
- prev.value += value;
- append({ value });
- continue;
- }
-
- /**
- * If we're inside a quoted string, continue
- * until we reach the closing double quote.
- */
-
- if (state.quotes === 1 && value !== '"') {
- value = utils.escapeRegex(value);
- prev.value += value;
- append({ value });
- continue;
- }
-
- /**
- * Double quotes
- */
-
- if (value === '"') {
- state.quotes = state.quotes === 1 ? 0 : 1;
- if (opts.keepQuotes === true) {
- push({ type: 'text', value });
- }
- continue;
- }
-
- /**
- * Parentheses
- */
-
- if (value === '(') {
- increment('parens');
- push({ type: 'paren', value });
- continue;
- }
-
- if (value === ')') {
- if (state.parens === 0 && opts.strictBrackets === true) {
- throw new SyntaxError(syntaxError('opening', '('));
- }
-
- const extglob = extglobs[extglobs.length - 1];
- if (extglob && state.parens === extglob.parens + 1) {
- extglobClose(extglobs.pop());
- continue;
- }
-
- push({ type: 'paren', value, output: state.parens ? ')' : '\\)' });
- decrement('parens');
- continue;
- }
-
- /**
- * Square brackets
- */
-
- if (value === '[') {
- if (opts.nobracket === true || !remaining().includes(']')) {
- if (opts.nobracket !== true && opts.strictBrackets === true) {
- throw new SyntaxError(syntaxError('closing', ']'));
- }
-
- value = `\\${value}`;
- } else {
- increment('brackets');
- }
-
- push({ type: 'bracket', value });
- continue;
- }
-
- if (value === ']') {
- if (opts.nobracket === true || (prev && prev.type === 'bracket' && prev.value.length === 1)) {
- push({ type: 'text', value, output: `\\${value}` });
- continue;
- }
-
- if (state.brackets === 0) {
- if (opts.strictBrackets === true) {
- throw new SyntaxError(syntaxError('opening', '['));
- }
-
- push({ type: 'text', value, output: `\\${value}` });
- continue;
- }
-
- decrement('brackets');
-
- const prevValue = prev.value.slice(1);
- if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) {
- value = `/${value}`;
- }
-
- prev.value += value;
- append({ value });
-
- // when literal brackets are explicitly disabled
- // assume we should match with a regex character class
- if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {
- continue;
- }
-
- const escaped = utils.escapeRegex(prev.value);
- state.output = state.output.slice(0, -prev.value.length);
-
- // when literal brackets are explicitly enabled
- // assume we should escape the brackets to match literal characters
- if (opts.literalBrackets === true) {
- state.output += escaped;
- prev.value = escaped;
- continue;
- }
-
- // when the user specifies nothing, try to match both
- prev.value = `(${capture}${escaped}|${prev.value})`;
- state.output += prev.value;
- continue;
- }
-
- /**
- * Braces
- */
-
- if (value === '{' && opts.nobrace !== true) {
- increment('braces');
-
- const open = {
- type: 'brace',
- value,
- output: '(',
- outputIndex: state.output.length,
- tokensIndex: state.tokens.length
- };
-
- braces.push(open);
- push(open);
- continue;
- }
-
- if (value === '}') {
- const brace = braces[braces.length - 1];
-
- if (opts.nobrace === true || !brace) {
- push({ type: 'text', value, output: value });
- continue;
- }
-
- let output = ')';
-
- if (brace.dots === true) {
- const arr = tokens.slice();
- const range = [];
-
- for (let i = arr.length - 1; i >= 0; i--) {
- tokens.pop();
- if (arr[i].type === 'brace') {
- break;
- }
- if (arr[i].type !== 'dots') {
- range.unshift(arr[i].value);
- }
- }
-
- output = expandRange(range, opts);
- state.backtrack = true;
- }
-
- if (brace.comma !== true && brace.dots !== true) {
- const out = state.output.slice(0, brace.outputIndex);
- const toks = state.tokens.slice(brace.tokensIndex);
- brace.value = brace.output = '\\{';
- value = output = '\\}';
- state.output = out;
- for (const t of toks) {
- state.output += (t.output || t.value);
- }
- }
-
- push({ type: 'brace', value, output });
- decrement('braces');
- braces.pop();
- continue;
- }
-
- /**
- * Pipes
- */
-
- if (value === '|') {
- if (extglobs.length > 0) {
- extglobs[extglobs.length - 1].conditions++;
- }
- push({ type: 'text', value });
- continue;
- }
-
- /**
- * Commas
- */
-
- if (value === ',') {
- let output = value;
-
- const brace = braces[braces.length - 1];
- if (brace && stack[stack.length - 1] === 'braces') {
- brace.comma = true;
- output = '|';
- }
-
- push({ type: 'comma', value, output });
- continue;
- }
-
- /**
- * Slashes
- */
-
- if (value === '/') {
- // if the beginning of the glob is "./", advance the start
- // to the current index, and don't add the "./" characters
- // to the state. This greatly simplifies lookbehinds when
- // checking for BOS characters like "!" and "." (not "./")
- if (prev.type === 'dot' && state.index === state.start + 1) {
- state.start = state.index + 1;
- state.consumed = '';
- state.output = '';
- tokens.pop();
- prev = bos; // reset "prev" to the first token
- continue;
- }
-
- push({ type: 'slash', value, output: SLASH_LITERAL });
- continue;
- }
-
- /**
- * Dots
- */
-
- if (value === '.') {
- if (state.braces > 0 && prev.type === 'dot') {
- if (prev.value === '.') prev.output = DOT_LITERAL;
- const brace = braces[braces.length - 1];
- prev.type = 'dots';
- prev.output += value;
- prev.value += value;
- brace.dots = true;
- continue;
- }
-
- if ((state.braces + state.parens) === 0 && prev.type !== 'bos' && prev.type !== 'slash') {
- push({ type: 'text', value, output: DOT_LITERAL });
- continue;
- }
-
- push({ type: 'dot', value, output: DOT_LITERAL });
- continue;
- }
-
- /**
- * Question marks
- */
-
- if (value === '?') {
- const isGroup = prev && prev.value === '(';
- if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {
- extglobOpen('qmark', value);
- continue;
- }
-
- if (prev && prev.type === 'paren') {
- const next = peek();
- let output = value;
-
- if (next === '<' && !utils.supportsLookbehinds()) {
- throw new Error('Node.js v10 or higher is required for regex lookbehinds');
- }
-
- if ((prev.value === '(' && !/[!=<:]/.test(next)) || (next === '<' && !/<([!=]|\w+>)/.test(remaining()))) {
- output = `\\${value}`;
- }
-
- push({ type: 'text', value, output });
- continue;
- }
-
- if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) {
- push({ type: 'qmark', value, output: QMARK_NO_DOT });
- continue;
- }
-
- push({ type: 'qmark', value, output: QMARK });
- continue;
- }
-
- /**
- * Exclamation
- */
-
- if (value === '!') {
- if (opts.noextglob !== true && peek() === '(') {
- if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) {
- extglobOpen('negate', value);
- continue;
- }
- }
-
- if (opts.nonegate !== true && state.index === 0) {
- negate();
- continue;
- }
- }
-
- /**
- * Plus
- */
-
- if (value === '+') {
- if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {
- extglobOpen('plus', value);
- continue;
- }
-
- if ((prev && prev.value === '(') || opts.regex === false) {
- push({ type: 'plus', value, output: PLUS_LITERAL });
- continue;
- }
-
- if ((prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace')) || state.parens > 0) {
- push({ type: 'plus', value });
- continue;
- }
-
- push({ type: 'plus', value: PLUS_LITERAL });
- continue;
- }
-
- /**
- * Plain text
- */
-
- if (value === '@') {
- if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') {
- push({ type: 'at', extglob: true, value, output: '' });
- continue;
- }
-
- push({ type: 'text', value });
- continue;
- }
-
- /**
- * Plain text
- */
-
- if (value !== '*') {
- if (value === '$' || value === '^') {
- value = `\\${value}`;
- }
-
- const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
- if (match) {
- value += match[0];
- state.index += match[0].length;
- }
-
- push({ type: 'text', value });
- continue;
- }
-
- /**
- * Stars
- */
-
- if (prev && (prev.type === 'globstar' || prev.star === true)) {
- prev.type = 'star';
- prev.star = true;
- prev.value += value;
- prev.output = star;
- state.backtrack = true;
- state.globstar = true;
- consume(value);
- continue;
- }
-
- let rest = remaining();
- if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
- extglobOpen('star', value);
- continue;
- }
-
- if (prev.type === 'star') {
- if (opts.noglobstar === true) {
- consume(value);
- continue;
- }
-
- const prior = prev.prev;
- const before = prior.prev;
- const isStart = prior.type === 'slash' || prior.type === 'bos';
- const afterStar = before && (before.type === 'star' || before.type === 'globstar');
-
- if (opts.bash === true && (!isStart || (rest[0] && rest[0] !== '/'))) {
- push({ type: 'star', value, output: '' });
- continue;
- }
-
- const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace');
- const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren');
- if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) {
- push({ type: 'star', value, output: '' });
- continue;
- }
-
- // strip consecutive `/**/`
- while (rest.slice(0, 3) === '/**') {
- const after = input[state.index + 4];
- if (after && after !== '/') {
- break;
- }
- rest = rest.slice(3);
- consume('/**', 3);
- }
-
- if (prior.type === 'bos' && eos()) {
- prev.type = 'globstar';
- prev.value += value;
- prev.output = globstar(opts);
- state.output = prev.output;
- state.globstar = true;
- consume(value);
- continue;
- }
-
- if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) {
- state.output = state.output.slice(0, -(prior.output + prev.output).length);
- prior.output = `(?:${prior.output}`;
-
- prev.type = 'globstar';
- prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)');
- prev.value += value;
- state.globstar = true;
- state.output += prior.output + prev.output;
- consume(value);
- continue;
- }
-
- if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') {
- const end = rest[1] !== void 0 ? '|$' : '';
-
- state.output = state.output.slice(0, -(prior.output + prev.output).length);
- prior.output = `(?:${prior.output}`;
-
- prev.type = 'globstar';
- prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
- prev.value += value;
-
- state.output += prior.output + prev.output;
- state.globstar = true;
-
- consume(value + advance());
-
- push({ type: 'slash', value: '/', output: '' });
- continue;
- }
-
- if (prior.type === 'bos' && rest[0] === '/') {
- prev.type = 'globstar';
- prev.value += value;
- prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
- state.output = prev.output;
- state.globstar = true;
- consume(value + advance());
- push({ type: 'slash', value: '/', output: '' });
- continue;
- }
-
- // remove single star from output
- state.output = state.output.slice(0, -prev.output.length);
-
- // reset previous token to globstar
- prev.type = 'globstar';
- prev.output = globstar(opts);
- prev.value += value;
-
- // reset output with globstar
- state.output += prev.output;
- state.globstar = true;
- consume(value);
- continue;
- }
-
- const token = { type: 'star', value, output: star };
-
- if (opts.bash === true) {
- token.output = '.*?';
- if (prev.type === 'bos' || prev.type === 'slash') {
- token.output = nodot + token.output;
- }
- push(token);
- continue;
- }
-
- if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) {
- token.output = value;
- push(token);
- continue;
- }
-
- if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') {
- if (prev.type === 'dot') {
- state.output += NO_DOT_SLASH;
- prev.output += NO_DOT_SLASH;
-
- } else if (opts.dot === true) {
- state.output += NO_DOTS_SLASH;
- prev.output += NO_DOTS_SLASH;
-
- } else {
- state.output += nodot;
- prev.output += nodot;
- }
-
- if (peek() !== '*') {
- state.output += ONE_CHAR;
- prev.output += ONE_CHAR;
- }
- }
-
- push(token);
- }
-
- while (state.brackets > 0) {
- if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']'));
- state.output = utils.escapeLast(state.output, '[');
- decrement('brackets');
- }
-
- while (state.parens > 0) {
- if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')'));
- state.output = utils.escapeLast(state.output, '(');
- decrement('parens');
- }
-
- while (state.braces > 0) {
- if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}'));
- state.output = utils.escapeLast(state.output, '{');
- decrement('braces');
- }
-
- if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) {
- push({ type: 'maybe_slash', value: '', output: `${SLASH_LITERAL}?` });
- }
-
- // rebuild the output if we had to backtrack at any point
- if (state.backtrack === true) {
- state.output = '';
-
- for (const token of state.tokens) {
- state.output += token.output != null ? token.output : token.value;
-
- if (token.suffix) {
- state.output += token.suffix;
- }
- }
- }
-
- return state;
-};
-
-/**
- * Fast paths for creating regular expressions for common glob patterns.
- * This can significantly speed up processing and has very little downside
- * impact when none of the fast paths match.
- */
-
-parse.fastpaths = (input, options) => {
- const opts = { ...options };
- const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
- const len = input.length;
- if (len > max) {
- throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
- }
-
- input = REPLACEMENTS[input] || input;
- const win32 = utils.isWindows(options);
-
- // create constants based on platform, for windows or posix
- const {
- DOT_LITERAL,
- SLASH_LITERAL,
- ONE_CHAR,
- DOTS_SLASH,
- NO_DOT,
- NO_DOTS,
- NO_DOTS_SLASH,
- STAR,
- START_ANCHOR
- } = constants.globChars(win32);
-
- const nodot = opts.dot ? NO_DOTS : NO_DOT;
- const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
- const capture = opts.capture ? '' : '?:';
- const state = { negated: false, prefix: '' };
- let star = opts.bash === true ? '.*?' : STAR;
-
- if (opts.capture) {
- star = `(${star})`;
- }
-
- const globstar = opts => {
- if (opts.noglobstar === true) return star;
- return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
- };
-
- const create = str => {
- switch (str) {
- case '*':
- return `${nodot}${ONE_CHAR}${star}`;
-
- case '.*':
- return `${DOT_LITERAL}${ONE_CHAR}${star}`;
-
- case '*.*':
- return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
-
- case '*/*':
- return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
-
- case '**':
- return nodot + globstar(opts);
-
- case '**/*':
- return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
-
- case '**/*.*':
- return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
-
- case '**/.*':
- return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
-
- default: {
- const match = /^(.*?)\.(\w+)$/.exec(str);
- if (!match) return;
-
- const source = create(match[1]);
- if (!source) return;
-
- return source + DOT_LITERAL + match[2];
- }
- }
- };
-
- const output = utils.removePrefix(input, state);
- let source = create(output);
-
- if (source && opts.strictSlashes !== true) {
- source += `${SLASH_LITERAL}?`;
- }
-
- return source;
-};
-
-module.exports = parse;
diff --git a/includes/search/node_modules/picomatch/lib/picomatch.js b/includes/search/node_modules/picomatch/lib/picomatch.js
deleted file mode 100644
index 782d809..0000000
--- a/includes/search/node_modules/picomatch/lib/picomatch.js
+++ /dev/null
@@ -1,342 +0,0 @@
-'use strict';
-
-const path = require('path');
-const scan = require('./scan');
-const parse = require('./parse');
-const utils = require('./utils');
-const constants = require('./constants');
-const isObject = val => val && typeof val === 'object' && !Array.isArray(val);
-
-/**
- * Creates a matcher function from one or more glob patterns. The
- * returned function takes a string to match as its first argument,
- * and returns true if the string is a match. The returned matcher
- * function also takes a boolean as the second argument that, when true,
- * returns an object with additional information.
- *
- * ```js
- * const picomatch = require('picomatch');
- * // picomatch(glob[, options]);
- *
- * const isMatch = picomatch('*.!(*a)');
- * console.log(isMatch('a.a')); //=> false
- * console.log(isMatch('a.b')); //=> true
- * ```
- * @name picomatch
- * @param {String|Array} `globs` One or more glob patterns.
- * @param {Object=} `options`
- * @return {Function=} Returns a matcher function.
- * @api public
- */
-
-const picomatch = (glob, options, returnState = false) => {
- if (Array.isArray(glob)) {
- const fns = glob.map(input => picomatch(input, options, returnState));
- const arrayMatcher = str => {
- for (const isMatch of fns) {
- const state = isMatch(str);
- if (state) return state;
- }
- return false;
- };
- return arrayMatcher;
- }
-
- const isState = isObject(glob) && glob.tokens && glob.input;
-
- if (glob === '' || (typeof glob !== 'string' && !isState)) {
- throw new TypeError('Expected pattern to be a non-empty string');
- }
-
- const opts = options || {};
- const posix = utils.isWindows(options);
- const regex = isState
- ? picomatch.compileRe(glob, options)
- : picomatch.makeRe(glob, options, false, true);
-
- const state = regex.state;
- delete regex.state;
-
- let isIgnored = () => false;
- if (opts.ignore) {
- const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
- isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
- }
-
- const matcher = (input, returnObject = false) => {
- const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix });
- const result = { glob, state, regex, posix, input, output, match, isMatch };
-
- if (typeof opts.onResult === 'function') {
- opts.onResult(result);
- }
-
- if (isMatch === false) {
- result.isMatch = false;
- return returnObject ? result : false;
- }
-
- if (isIgnored(input)) {
- if (typeof opts.onIgnore === 'function') {
- opts.onIgnore(result);
- }
- result.isMatch = false;
- return returnObject ? result : false;
- }
-
- if (typeof opts.onMatch === 'function') {
- opts.onMatch(result);
- }
- return returnObject ? result : true;
- };
-
- if (returnState) {
- matcher.state = state;
- }
-
- return matcher;
-};
-
-/**
- * Test `input` with the given `regex`. This is used by the main
- * `picomatch()` function to test the input string.
- *
- * ```js
- * const picomatch = require('picomatch');
- * // picomatch.test(input, regex[, options]);
- *
- * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/));
- * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' }
- * ```
- * @param {String} `input` String to test.
- * @param {RegExp} `regex`
- * @return {Object} Returns an object with matching info.
- * @api public
- */
-
-picomatch.test = (input, regex, options, { glob, posix } = {}) => {
- if (typeof input !== 'string') {
- throw new TypeError('Expected input to be a string');
- }
-
- if (input === '') {
- return { isMatch: false, output: '' };
- }
-
- const opts = options || {};
- const format = opts.format || (posix ? utils.toPosixSlashes : null);
- let match = input === glob;
- let output = (match && format) ? format(input) : input;
-
- if (match === false) {
- output = format ? format(input) : input;
- match = output === glob;
- }
-
- if (match === false || opts.capture === true) {
- if (opts.matchBase === true || opts.basename === true) {
- match = picomatch.matchBase(input, regex, options, posix);
- } else {
- match = regex.exec(output);
- }
- }
-
- return { isMatch: Boolean(match), match, output };
-};
-
-/**
- * Match the basename of a filepath.
- *
- * ```js
- * const picomatch = require('picomatch');
- * // picomatch.matchBase(input, glob[, options]);
- * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true
- * ```
- * @param {String} `input` String to test.
- * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe).
- * @return {Boolean}
- * @api public
- */
-
-picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
- const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
- return regex.test(path.basename(input));
-};
-
-/**
- * Returns true if **any** of the given glob `patterns` match the specified `string`.
- *
- * ```js
- * const picomatch = require('picomatch');
- * // picomatch.isMatch(string, patterns[, options]);
- *
- * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true
- * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false
- * ```
- * @param {String|Array} str The string to test.
- * @param {String|Array} patterns One or more glob patterns to use for matching.
- * @param {Object} [options] See available [options](#options).
- * @return {Boolean} Returns true if any patterns match `str`
- * @api public
- */
-
-picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
-
-/**
- * Parse a glob pattern to create the source string for a regular
- * expression.
- *
- * ```js
- * const picomatch = require('picomatch');
- * const result = picomatch.parse(pattern[, options]);
- * ```
- * @param {String} `pattern`
- * @param {Object} `options`
- * @return {Object} Returns an object with useful properties and output to be used as a regex source string.
- * @api public
- */
-
-picomatch.parse = (pattern, options) => {
- if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options));
- return parse(pattern, { ...options, fastpaths: false });
-};
-
-/**
- * Scan a glob pattern to separate the pattern into segments.
- *
- * ```js
- * const picomatch = require('picomatch');
- * // picomatch.scan(input[, options]);
- *
- * const result = picomatch.scan('!./foo/*.js');
- * console.log(result);
- * { prefix: '!./',
- * input: '!./foo/*.js',
- * start: 3,
- * base: 'foo',
- * glob: '*.js',
- * isBrace: false,
- * isBracket: false,
- * isGlob: true,
- * isExtglob: false,
- * isGlobstar: false,
- * negated: true }
- * ```
- * @param {String} `input` Glob pattern to scan.
- * @param {Object} `options`
- * @return {Object} Returns an object with
- * @api public
- */
-
-picomatch.scan = (input, options) => scan(input, options);
-
-/**
- * Compile a regular expression from the `state` object returned by the
- * [parse()](#parse) method.
- *
- * @param {Object} `state`
- * @param {Object} `options`
- * @param {Boolean} `returnOutput` Intended for implementors, this argument allows you to return the raw output from the parser.
- * @param {Boolean} `returnState` Adds the state to a `state` property on the returned regex. Useful for implementors and debugging.
- * @return {RegExp}
- * @api public
- */
-
-picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {
- if (returnOutput === true) {
- return state.output;
- }
-
- const opts = options || {};
- const prepend = opts.contains ? '' : '^';
- const append = opts.contains ? '' : '$';
-
- let source = `${prepend}(?:${state.output})${append}`;
- if (state && state.negated === true) {
- source = `^(?!${source}).*$`;
- }
-
- const regex = picomatch.toRegex(source, options);
- if (returnState === true) {
- regex.state = state;
- }
-
- return regex;
-};
-
-/**
- * Create a regular expression from a parsed glob pattern.
- *
- * ```js
- * const picomatch = require('picomatch');
- * const state = picomatch.parse('*.js');
- * // picomatch.compileRe(state[, options]);
- *
- * console.log(picomatch.compileRe(state));
- * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
- * ```
- * @param {String} `state` The object returned from the `.parse` method.
- * @param {Object} `options`
- * @param {Boolean} `returnOutput` Implementors may use this argument to return the compiled output, instead of a regular expression. This is not exposed on the options to prevent end-users from mutating the result.
- * @param {Boolean} `returnState` Implementors may use this argument to return the state from the parsed glob with the returned regular expression.
- * @return {RegExp} Returns a regex created from the given pattern.
- * @api public
- */
-
-picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
- if (!input || typeof input !== 'string') {
- throw new TypeError('Expected a non-empty string');
- }
-
- let parsed = { negated: false, fastpaths: true };
-
- if (options.fastpaths !== false && (input[0] === '.' || input[0] === '*')) {
- parsed.output = parse.fastpaths(input, options);
- }
-
- if (!parsed.output) {
- parsed = parse(input, options);
- }
-
- return picomatch.compileRe(parsed, options, returnOutput, returnState);
-};
-
-/**
- * Create a regular expression from the given regex source string.
- *
- * ```js
- * const picomatch = require('picomatch');
- * // picomatch.toRegex(source[, options]);
- *
- * const { output } = picomatch.parse('*.js');
- * console.log(picomatch.toRegex(output));
- * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/
- * ```
- * @param {String} `source` Regular expression source string.
- * @param {Object} `options`
- * @return {RegExp}
- * @api public
- */
-
-picomatch.toRegex = (source, options) => {
- try {
- const opts = options || {};
- return new RegExp(source, opts.flags || (opts.nocase ? 'i' : ''));
- } catch (err) {
- if (options && options.debug === true) throw err;
- return /$^/;
- }
-};
-
-/**
- * Picomatch constants.
- * @return {Object}
- */
-
-picomatch.constants = constants;
-
-/**
- * Expose "picomatch"
- */
-
-module.exports = picomatch;
diff --git a/includes/search/node_modules/picomatch/lib/scan.js b/includes/search/node_modules/picomatch/lib/scan.js
deleted file mode 100644
index e59cd7a..0000000
--- a/includes/search/node_modules/picomatch/lib/scan.js
+++ /dev/null
@@ -1,391 +0,0 @@
-'use strict';
-
-const utils = require('./utils');
-const {
- CHAR_ASTERISK, /* * */
- CHAR_AT, /* @ */
- CHAR_BACKWARD_SLASH, /* \ */
- CHAR_COMMA, /* , */
- CHAR_DOT, /* . */
- CHAR_EXCLAMATION_MARK, /* ! */
- CHAR_FORWARD_SLASH, /* / */
- CHAR_LEFT_CURLY_BRACE, /* { */
- CHAR_LEFT_PARENTHESES, /* ( */
- CHAR_LEFT_SQUARE_BRACKET, /* [ */
- CHAR_PLUS, /* + */
- CHAR_QUESTION_MARK, /* ? */
- CHAR_RIGHT_CURLY_BRACE, /* } */
- CHAR_RIGHT_PARENTHESES, /* ) */
- CHAR_RIGHT_SQUARE_BRACKET /* ] */
-} = require('./constants');
-
-const isPathSeparator = code => {
- return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
-};
-
-const depth = token => {
- if (token.isPrefix !== true) {
- token.depth = token.isGlobstar ? Infinity : 1;
- }
-};
-
-/**
- * Quickly scans a glob pattern and returns an object with a handful of
- * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists),
- * `glob` (the actual pattern), `negated` (true if the path starts with `!` but not
- * with `!(`) and `negatedExtglob` (true if the path starts with `!(`).
- *
- * ```js
- * const pm = require('picomatch');
- * console.log(pm.scan('foo/bar/*.js'));
- * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' }
- * ```
- * @param {String} `str`
- * @param {Object} `options`
- * @return {Object} Returns an object with tokens and regex source string.
- * @api public
- */
-
-const scan = (input, options) => {
- const opts = options || {};
-
- const length = input.length - 1;
- const scanToEnd = opts.parts === true || opts.scanToEnd === true;
- const slashes = [];
- const tokens = [];
- const parts = [];
-
- let str = input;
- let index = -1;
- let start = 0;
- let lastIndex = 0;
- let isBrace = false;
- let isBracket = false;
- let isGlob = false;
- let isExtglob = false;
- let isGlobstar = false;
- let braceEscaped = false;
- let backslashes = false;
- let negated = false;
- let negatedExtglob = false;
- let finished = false;
- let braces = 0;
- let prev;
- let code;
- let token = { value: '', depth: 0, isGlob: false };
-
- const eos = () => index >= length;
- const peek = () => str.charCodeAt(index + 1);
- const advance = () => {
- prev = code;
- return str.charCodeAt(++index);
- };
-
- while (index < length) {
- code = advance();
- let next;
-
- if (code === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- code = advance();
-
- if (code === CHAR_LEFT_CURLY_BRACE) {
- braceEscaped = true;
- }
- continue;
- }
-
- if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
- braces++;
-
- while (eos() !== true && (code = advance())) {
- if (code === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- advance();
- continue;
- }
-
- if (code === CHAR_LEFT_CURLY_BRACE) {
- braces++;
- continue;
- }
-
- if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
- isBrace = token.isBrace = true;
- isGlob = token.isGlob = true;
- finished = true;
-
- if (scanToEnd === true) {
- continue;
- }
-
- break;
- }
-
- if (braceEscaped !== true && code === CHAR_COMMA) {
- isBrace = token.isBrace = true;
- isGlob = token.isGlob = true;
- finished = true;
-
- if (scanToEnd === true) {
- continue;
- }
-
- break;
- }
-
- if (code === CHAR_RIGHT_CURLY_BRACE) {
- braces--;
-
- if (braces === 0) {
- braceEscaped = false;
- isBrace = token.isBrace = true;
- finished = true;
- break;
- }
- }
- }
-
- if (scanToEnd === true) {
- continue;
- }
-
- break;
- }
-
- if (code === CHAR_FORWARD_SLASH) {
- slashes.push(index);
- tokens.push(token);
- token = { value: '', depth: 0, isGlob: false };
-
- if (finished === true) continue;
- if (prev === CHAR_DOT && index === (start + 1)) {
- start += 2;
- continue;
- }
-
- lastIndex = index + 1;
- continue;
- }
-
- if (opts.noext !== true) {
- const isExtglobChar = code === CHAR_PLUS
- || code === CHAR_AT
- || code === CHAR_ASTERISK
- || code === CHAR_QUESTION_MARK
- || code === CHAR_EXCLAMATION_MARK;
-
- if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
- isGlob = token.isGlob = true;
- isExtglob = token.isExtglob = true;
- finished = true;
- if (code === CHAR_EXCLAMATION_MARK && index === start) {
- negatedExtglob = true;
- }
-
- if (scanToEnd === true) {
- while (eos() !== true && (code = advance())) {
- if (code === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- code = advance();
- continue;
- }
-
- if (code === CHAR_RIGHT_PARENTHESES) {
- isGlob = token.isGlob = true;
- finished = true;
- break;
- }
- }
- continue;
- }
- break;
- }
- }
-
- if (code === CHAR_ASTERISK) {
- if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;
- isGlob = token.isGlob = true;
- finished = true;
-
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
-
- if (code === CHAR_QUESTION_MARK) {
- isGlob = token.isGlob = true;
- finished = true;
-
- if (scanToEnd === true) {
- continue;
- }
- break;
- }
-
- if (code === CHAR_LEFT_SQUARE_BRACKET) {
- while (eos() !== true && (next = advance())) {
- if (next === CHAR_BACKWARD_SLASH) {
- backslashes = token.backslashes = true;
- advance();
- continue;
- }
-
- if (next === CHAR_RIGHT_SQUARE_BRACKET) {
- isBracket = token.isBracket = true;
- isGlob = token.isGlob = true;
- finished = true;
- break;
- }
- }
-
- if (scanToEnd === true) {
- continue;
- }
-
- break;
- }
-
- if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
- negated = token.negated = true;
- start++;
- continue;
- }
-
- if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
- isGlob = token.isGlob = true;
-
- if (scanToEnd === true) {
- while (eos() !== true && (code = advance())) {
- if (code === CHAR_LEFT_PARENTHESES) {
- backslashes = token.backslashes = true;
- code = advance();
- continue;
- }
-
- if (code === CHAR_RIGHT_PARENTHESES) {
- finished = true;
- break;
- }
- }
- continue;
- }
- break;
- }
-
- if (isGlob === true) {
- finished = true;
-
- if (scanToEnd === true) {
- continue;
- }
-
- break;
- }
- }
-
- if (opts.noext === true) {
- isExtglob = false;
- isGlob = false;
- }
-
- let base = str;
- let prefix = '';
- let glob = '';
-
- if (start > 0) {
- prefix = str.slice(0, start);
- str = str.slice(start);
- lastIndex -= start;
- }
-
- if (base && isGlob === true && lastIndex > 0) {
- base = str.slice(0, lastIndex);
- glob = str.slice(lastIndex);
- } else if (isGlob === true) {
- base = '';
- glob = str;
- } else {
- base = str;
- }
-
- if (base && base !== '' && base !== '/' && base !== str) {
- if (isPathSeparator(base.charCodeAt(base.length - 1))) {
- base = base.slice(0, -1);
- }
- }
-
- if (opts.unescape === true) {
- if (glob) glob = utils.removeBackslashes(glob);
-
- if (base && backslashes === true) {
- base = utils.removeBackslashes(base);
- }
- }
-
- const state = {
- prefix,
- input,
- start,
- base,
- glob,
- isBrace,
- isBracket,
- isGlob,
- isExtglob,
- isGlobstar,
- negated,
- negatedExtglob
- };
-
- if (opts.tokens === true) {
- state.maxDepth = 0;
- if (!isPathSeparator(code)) {
- tokens.push(token);
- }
- state.tokens = tokens;
- }
-
- if (opts.parts === true || opts.tokens === true) {
- let prevIndex;
-
- for (let idx = 0; idx < slashes.length; idx++) {
- const n = prevIndex ? prevIndex + 1 : start;
- const i = slashes[idx];
- const value = input.slice(n, i);
- if (opts.tokens) {
- if (idx === 0 && start !== 0) {
- tokens[idx].isPrefix = true;
- tokens[idx].value = prefix;
- } else {
- tokens[idx].value = value;
- }
- depth(tokens[idx]);
- state.maxDepth += tokens[idx].depth;
- }
- if (idx !== 0 || value !== '') {
- parts.push(value);
- }
- prevIndex = i;
- }
-
- if (prevIndex && prevIndex + 1 < input.length) {
- const value = input.slice(prevIndex + 1);
- parts.push(value);
-
- if (opts.tokens) {
- tokens[tokens.length - 1].value = value;
- depth(tokens[tokens.length - 1]);
- state.maxDepth += tokens[tokens.length - 1].depth;
- }
- }
-
- state.slashes = slashes;
- state.parts = parts;
- }
-
- return state;
-};
-
-module.exports = scan;
diff --git a/includes/search/node_modules/picomatch/lib/utils.js b/includes/search/node_modules/picomatch/lib/utils.js
deleted file mode 100644
index c3ca766..0000000
--- a/includes/search/node_modules/picomatch/lib/utils.js
+++ /dev/null
@@ -1,64 +0,0 @@
-'use strict';
-
-const path = require('path');
-const win32 = process.platform === 'win32';
-const {
- REGEX_BACKSLASH,
- REGEX_REMOVE_BACKSLASH,
- REGEX_SPECIAL_CHARS,
- REGEX_SPECIAL_CHARS_GLOBAL
-} = require('./constants');
-
-exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
-exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);
-exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str);
-exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1');
-exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');
-
-exports.removeBackslashes = str => {
- return str.replace(REGEX_REMOVE_BACKSLASH, match => {
- return match === '\\' ? '' : match;
- });
-};
-
-exports.supportsLookbehinds = () => {
- const segs = process.version.slice(1).split('.').map(Number);
- if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) {
- return true;
- }
- return false;
-};
-
-exports.isWindows = options => {
- if (options && typeof options.windows === 'boolean') {
- return options.windows;
- }
- return win32 === true || path.sep === '\\';
-};
-
-exports.escapeLast = (input, char, lastIdx) => {
- const idx = input.lastIndexOf(char, lastIdx);
- if (idx === -1) return input;
- if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1);
- return `${input.slice(0, idx)}\\${input.slice(idx)}`;
-};
-
-exports.removePrefix = (input, state = {}) => {
- let output = input;
- if (output.startsWith('./')) {
- output = output.slice(2);
- state.prefix = './';
- }
- return output;
-};
-
-exports.wrapOutput = (input, state = {}, options = {}) => {
- const prepend = options.contains ? '' : '^';
- const append = options.contains ? '' : '$';
-
- let output = `${prepend}(?:${input})${append}`;
- if (state.negated === true) {
- output = `(?:^(?!${output}).*$)`;
- }
- return output;
-};
diff --git a/includes/search/node_modules/picomatch/package.json b/includes/search/node_modules/picomatch/package.json
deleted file mode 100644
index 3db22d4..0000000
--- a/includes/search/node_modules/picomatch/package.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
- "name": "picomatch",
- "description": "Blazing fast and accurate glob matcher written in JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.",
- "version": "2.3.1",
- "homepage": "https://github.com/micromatch/picomatch",
- "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
- "funding": "https://github.com/sponsors/jonschlinkert",
- "repository": "micromatch/picomatch",
- "bugs": {
- "url": "https://github.com/micromatch/picomatch/issues"
- },
- "license": "MIT",
- "files": [
- "index.js",
- "lib"
- ],
- "main": "index.js",
- "engines": {
- "node": ">=8.6"
- },
- "scripts": {
- "lint": "eslint --cache --cache-location node_modules/.cache/.eslintcache --report-unused-disable-directives --ignore-path .gitignore .",
- "mocha": "mocha --reporter dot",
- "test": "npm run lint && npm run mocha",
- "test:ci": "npm run test:cover",
- "test:cover": "nyc npm run mocha"
- },
- "devDependencies": {
- "eslint": "^6.8.0",
- "fill-range": "^7.0.1",
- "gulp-format-md": "^2.0.0",
- "mocha": "^6.2.2",
- "nyc": "^15.0.0",
- "time-require": "github:jonschlinkert/time-require"
- },
- "keywords": [
- "glob",
- "match",
- "picomatch"
- ],
- "nyc": {
- "reporter": [
- "html",
- "lcov",
- "text-summary"
- ]
- },
- "verb": {
- "toc": {
- "render": true,
- "method": "preWrite",
- "maxdepth": 3
- },
- "layout": "empty",
- "tasks": [
- "readme"
- ],
- "plugins": [
- "gulp-format-md"
- ],
- "lint": {
- "reflinks": true
- },
- "related": {
- "list": [
- "braces",
- "micromatch"
- ]
- },
- "reflinks": [
- "braces",
- "expand-brackets",
- "extglob",
- "fill-range",
- "micromatch",
- "minimatch",
- "nanomatch",
- "picomatch"
- ]
- }
-}
diff --git a/includes/search/node_modules/pkg-fetch/README.md b/includes/search/node_modules/pkg-fetch/README.md
deleted file mode 100644
index 4f41f9b..0000000
--- a/includes/search/node_modules/pkg-fetch/README.md
+++ /dev/null
@@ -1,49 +0,0 @@
-A utility to fetch or build patched Node binaries used by [pkg](https://github.com/vercel/pkg) to generate executables. This repo hosts prebuilt binaries in [Releases](https://github.com/vercel/pkg-fetch/releases).
-
-## Binary Compatibility
-
-| Node | Platform | Architectures | Minimum OS version |
-| --------------------------------------------------------------------------------- | ----------- | ------------------------- | --------------------------------------------------------------------------------- |
-| 8<sup>[1](#fn1)</sup>, 10<sup>[1](#fn1)</sup>, 12<sup>[1](#fn1)</sup>, 14, 16, 18 | alpine | x64, arm64 | 3.7.3, other distros with musl libc >= 1.1.18 |
-| 8<sup>[1](#fn1)</sup>, 10<sup>[1](#fn1)</sup>, 12<sup>[1](#fn1)</sup>, 14, 16, 18 | linux | x64 | Enterprise Linux 7, Ubuntu 14.04, Debian jessie, other distros with glibc >= 2.17 |
-| 8<sup>[1](#fn1)</sup>, 10<sup>[1](#fn1)</sup>, 12<sup>[1](#fn1)</sup>, 14, 16, 18 | linux | arm64 | Enterprise Linux 8, Ubuntu 18.04, Debian buster, other distros with glibc >= 2.27 |
-| 8<sup>[1](#fn1)</sup>, 10<sup>[1](#fn1)</sup>, 12<sup>[1](#fn1)</sup>, 14, 16, 18 | linuxstatic | x64, arm64 | Any distro with Linux Kernel >= 2.6.32 (>= 3.10 strongly recommended) |
-| 16, 18 | linuxstatic | armv7<sup>[2](#fn2)</sup> | Any distro with Linux Kernel >= 2.6.32 (>= 3.10 strongly recommended) |
-| 8<sup>[1](#fn1)</sup>, 10<sup>[1](#fn1)</sup>, 12<sup>[1](#fn1)</sup>, 14, 16, 18 | macos | x64 | 10.13 |
-| 14, 16, 18 | macos | arm64<sup>[3](#fn3)</sup> | 11.0 |
-| 8<sup>[1](#fn1)</sup>, 10<sup>[1](#fn1)</sup>, 12<sup>[1](#fn1)</sup>, 14, 16, 18 | win | x64 | 8.1 |
-| 14, 16, 18 | win | arm64 | 10 |
-
-<em id="fn1">[1]</em>: end-of-life, may be removed in the next major release.
-
-<em id="fn2">[2]</em>: best-effort basis, not semver-protected.
-
-<em id="fn3">[3]</em>: [mandatory code signing](https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes) is enforced by Apple.
-
-## Security
-
-We do not expect this project to have vulnerabilities of its own. Nonetheless, as this project distributes prebuilt Node.js binaries,
-
-**Node.js security vulnerabilities affect binaries distributed by this project, as well.**
-
-Like most of you, this project does not have access to advance/private disclosures of Node.js security vulnerabilities. We can only closely monitor the **public** security advisories from the Node.js team. It takes time to build and release a new set of binaries, once a new Node.js version has been released.
-
-We aim to complete the full cycle within a day, when there is a security update. Please [open an issue](https://github.com/vercel/pkg-fetch/issues/new) if there is no action for a while.
-
-**It is possible for this project to fall victim to a supply chain attack.**
-
-This project deploys multiple defense measures to ensure that the safe binaries are delivered to users:
-
-- Binaries are compiled by [Github Actions](https://github.com/vercel/pkg-fetch/actions)
- - Workflows and build logs are transparent and auditable.
- - Artifacts are the source of truth. Even repository/organization administrators can't tamper them.
-- Hashes of binaries are hardcoded in [source](https://github.com/vercel/pkg-fetch/blob/HEAD/lib/expected.ts)
- - Origins of the binaries are documented.
- - Changes to the binaries are logged by VCS (Git) and are publicly visible.
- - `pkg-fetch` rejects the binary if it does not match the hardcoded hash.
-- GPG-signed hashes are available in [Releases](https://github.com/vercel/pkg-fetch/releases)
- - Easy to spot a compromise.
-- `pkg-fetch` package on npm is strictly permission-controlled
- - Only authorized Vercel employees can push new revisions to npm.
-
-Report to [security@vercel.com](mailto:security@vercel.com), if you noticed a disparity between (hashes of) binaries.
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/bin.d.ts b/includes/search/node_modules/pkg-fetch/lib-es5/bin.d.ts
deleted file mode 100644
index 34e0052..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/bin.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env node
-export {};
-//# sourceMappingURL=bin.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/bin.js b/includes/search/node_modules/pkg-fetch/lib-es5/bin.js
deleted file mode 100755
index e239b77..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/bin.js
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/usr/bin/env node
-"use strict";
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var yargs_1 = __importDefault(require("yargs"));
-var system_1 = require("./system");
-var log_1 = require("./log");
-var index_1 = require("./index");
-var verify_1 = require("./verify");
-var package_json_1 = require("../package.json");
-function main() {
- return __awaiter(this, void 0, void 0, function () {
- var argv, nodeRange, platform, arch, test, forceFetch, forceBuild, output, local;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- argv = yargs_1.default
- .env('PKG_FETCH_OPTION_')
- .option('node-range', { alias: 'n', default: 'latest', type: 'string' })
- .option('platform', { alias: 'p', default: system_1.hostPlatform, type: 'string' })
- .option('arch', { alias: 'a', default: system_1.hostArch, type: 'string' })
- .option('test', { alias: 't', type: 'boolean' })
- .option('force-fetch', {
- alias: 'f',
- type: 'boolean',
- })
- .option('force-build', {
- alias: 'b',
- type: 'boolean',
- })
- .conflicts('force-fetch', 'force-build')
- .option('output', { alias: 'o', type: 'string' })
- .version(package_json_1.version)
- .alias('v', 'version')
- .help()
- .alias('h', 'help').argv;
- nodeRange = argv["node-range"], platform = argv.platform, arch = argv.arch, test = argv.test, forceFetch = argv["force-fetch"], forceBuild = argv["force-build"], output = argv.output;
- return [4 /*yield*/, (0, index_1.need)({
- nodeRange: nodeRange,
- platform: platform,
- arch: arch,
- forceFetch: forceFetch,
- forceBuild: forceBuild,
- output: output,
- })];
- case 1:
- local = _a.sent();
- log_1.log.info(local);
- if (!test) return [3 /*break*/, 3];
- return [4 /*yield*/, (0, verify_1.verify)(local)];
- case 2:
- _a.sent();
- _a.label = 3;
- case 3: return [2 /*return*/];
- }
- });
- });
-}
-main().catch(function (error) {
- if (!error.wasReported)
- log_1.log.error(error);
- process.exit(2);
-});
-//# sourceMappingURL=bin.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/build.d.ts b/includes/search/node_modules/pkg-fetch/lib-es5/build.d.ts
deleted file mode 100644
index ffe7fe1..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/build.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export default function build(nodeVersion: string, targetArch: string, targetPlatform: string, local: string): Promise<void>;
-//# sourceMappingURL=build.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/build.js b/includes/search/node_modules/pkg-fetch/lib-es5/build.js
deleted file mode 100644
index 277d293..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/build.js
+++ /dev/null
@@ -1,394 +0,0 @@
-"use strict";
-var __assign = (this && this.__assign) || function () {
- __assign = Object.assign || function(t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
- t[p] = s[p];
- }
- return t;
- };
- return __assign.apply(this, arguments);
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
-};
-var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
- if (ar || !(i in from)) {
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
- ar[i] = from[i];
- }
- }
- return to.concat(ar || Array.prototype.slice.call(from));
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-var zlib_1 = require("zlib");
-var crypto_1 = __importDefault(require("crypto"));
-var fs_extra_1 = __importDefault(require("fs-extra"));
-var os_1 = __importDefault(require("os"));
-var path_1 = __importDefault(require("path"));
-var stream_1 = require("stream");
-var util_1 = require("util");
-var tar_fs_1 = __importDefault(require("tar-fs"));
-var places_1 = require("./places");
-var utils_1 = require("./utils");
-var system_1 = require("./system");
-var log_1 = require("./log");
-var patches_json_1 = __importDefault(require("../patches/patches.json"));
-var buildPath = path_1.default.resolve(process.env.PKG_BUILD_PATH ||
- path_1.default.join(os_1.default.tmpdir(), "pkg." + crypto_1.default.randomBytes(12).toString('hex')));
-var nodePath = path_1.default.join(buildPath, 'node');
-var patchesPath = path_1.default.resolve(__dirname, '../patches');
-var nodeRepo = 'https://nodejs.org/dist';
-var nodeArchivePath = path_1.default.join(places_1.cachePath, 'node');
-function getMajor(nodeVersion) {
- var _a = nodeVersion.match(/^v?(\d+)/) || ['', 0], version = _a[1];
- return Number(version) | 0;
-}
-function getConfigureArgs(major, targetPlatform) {
- var args = [];
- // first of all v8_inspector introduces the use
- // of `prime_rehash_policy` symbol that requires
- // GLIBCXX_3.4.18 on some systems
- // also we don't support any kind of debugging
- // against packaged apps, hence v8_inspector is useless
- args.push('--without-inspector');
- if (system_1.hostPlatform === 'alpine') {
- // Statically Link against libgcc and libstdc++ libraries. See vercel/pkg#555.
- // libgcc and libstdc++ grant GCC Runtime Library Exception of GPL
- args.push('--partly-static');
- }
- if (targetPlatform === 'linuxstatic') {
- args.push('--fully-static');
- }
- // Link Time Optimization
- if (major >= 12) {
- if (system_1.hostPlatform !== 'win') {
- args.push('--enable-lto');
- }
- }
- // production binaries do NOT take NODE_OPTIONS from end-users
- args.push('--without-node-options');
- // DTrace
- args.push('--without-dtrace');
- // bundled npm package manager
- args.push('--without-npm');
- // Small ICU
- args.push('--with-intl=small-icu');
- // Workaround for nodejs/node#39313
- // All supported macOS versions have zlib as a system library
- if (targetPlatform === 'macos') {
- args.push('--shared-zlib');
- }
- return args;
-}
-function tarFetch(nodeVersion) {
- return __awaiter(this, void 0, void 0, function () {
- var distUrl, tarName, archivePath, hashPath, _a, _b, _c;
- return __generator(this, function (_d) {
- switch (_d.label) {
- case 0:
- log_1.log.info('Fetching Node.js source archive from nodejs.org...');
- distUrl = nodeRepo + "/" + nodeVersion;
- tarName = "node-" + nodeVersion + ".tar.gz";
- archivePath = path_1.default.join(nodeArchivePath, tarName);
- hashPath = path_1.default.join(nodeArchivePath, tarName + ".sha256sum");
- if (fs_extra_1.default.existsSync(hashPath) && fs_extra_1.default.existsSync(archivePath)) {
- return [2 /*return*/];
- }
- return [4 /*yield*/, fs_extra_1.default.remove(hashPath).catch(function () { return undefined; })];
- case 1:
- _d.sent();
- return [4 /*yield*/, fs_extra_1.default.remove(archivePath).catch(function () { return undefined; })];
- case 2:
- _d.sent();
- return [4 /*yield*/, (0, utils_1.downloadUrl)(distUrl + "/SHASUMS256.txt", hashPath)];
- case 3:
- _d.sent();
- _b = (_a = fs_extra_1.default).writeFile;
- _c = [hashPath];
- return [4 /*yield*/, fs_extra_1.default.readFile(hashPath, 'utf8')];
- case 4: return [4 /*yield*/, _b.apply(_a, _c.concat([(_d.sent())
- .split('\n')
- .filter(function (l) { return l.includes(tarName); })[0]]))];
- case 5:
- _d.sent();
- return [4 /*yield*/, (0, utils_1.downloadUrl)(distUrl + "/" + tarName, archivePath)];
- case 6:
- _d.sent();
- return [2 /*return*/];
- }
- });
- });
-}
-function tarExtract(nodeVersion) {
- return __awaiter(this, void 0, void 0, function () {
- var tarName, expectedHash, actualHash, pipe, source, gunzip, extract;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- log_1.log.info('Extracting Node.js source archive...');
- tarName = "node-" + nodeVersion + ".tar.gz";
- return [4 /*yield*/, fs_extra_1.default.readFile(path_1.default.join(nodeArchivePath, tarName + ".sha256sum"), 'utf8')];
- case 1:
- expectedHash = (_a.sent()).split(' ')[0];
- return [4 /*yield*/, (0, utils_1.hash)(path_1.default.join(nodeArchivePath, tarName))];
- case 2:
- actualHash = _a.sent();
- if (!(expectedHash !== actualHash)) return [3 /*break*/, 5];
- return [4 /*yield*/, fs_extra_1.default.remove(path_1.default.join(nodeArchivePath, tarName))];
- case 3:
- _a.sent();
- return [4 /*yield*/, fs_extra_1.default.remove(path_1.default.join(nodeArchivePath, tarName + ".sha256sum"))];
- case 4:
- _a.sent();
- throw (0, log_1.wasReported)("Hash mismatch for " + tarName);
- case 5:
- pipe = (0, util_1.promisify)(stream_1.pipeline);
- source = fs_extra_1.default.createReadStream(path_1.default.join(nodeArchivePath, tarName));
- gunzip = (0, zlib_1.createGunzip)();
- extract = tar_fs_1.default.extract(nodePath, {
- strip: 1,
- map: function (header) {
- log_1.log.info(header.name);
- return header;
- },
- });
- return [4 /*yield*/, pipe(source, gunzip, extract)];
- case 6:
- _a.sent();
- return [2 /*return*/];
- }
- });
- });
-}
-function applyPatches(nodeVersion) {
- return __awaiter(this, void 0, void 0, function () {
- var storedPatches, storedPatch, patches, _i, patches_1, patch, patchPath, args;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- log_1.log.info('Applying patches');
- storedPatches = patches_json_1.default[nodeVersion];
- storedPatch = 'patches' in storedPatches ? storedPatches.patches : storedPatches;
- patches = 'sameAs' in storedPatch
- ? patches_json_1.default[storedPatch.sameAs]
- : storedPatch;
- _i = 0, patches_1 = patches;
- _a.label = 1;
- case 1:
- if (!(_i < patches_1.length)) return [3 /*break*/, 4];
- patch = patches_1[_i];
- patchPath = path_1.default.join(patchesPath, patch);
- args = ['-p1', '-i', patchPath];
- return [4 /*yield*/, (0, utils_1.spawn)('patch', args, { cwd: nodePath, stdio: 'inherit' })];
- case 2:
- _a.sent();
- _a.label = 3;
- case 3:
- _i++;
- return [3 /*break*/, 1];
- case 4: return [2 /*return*/];
- }
- });
- });
-}
-function compileOnWindows(nodeVersion, targetArch, targetPlatform) {
- return __awaiter(this, void 0, void 0, function () {
- var args, major, config_flags;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- args = ['/c', 'vcbuild.bat', targetArch];
- major = getMajor(nodeVersion);
- config_flags = getConfigureArgs(major, targetPlatform);
- // Event Tracing for Windows
- args.push('noetw');
- // Performance counters on Windows
- if (major <= 10) {
- args.push('noperfctr');
- }
- // Link Time Code Generation
- if (major >= 12) {
- args.push('ltcg');
- }
- // Can't cross compile for arm64 with small-icu
- if (system_1.hostArch !== targetArch &&
- !config_flags.includes('--with-intl=full-icu')) {
- config_flags.push('--without-intl');
- }
- return [4 /*yield*/, (0, utils_1.spawn)('cmd', args, {
- cwd: nodePath,
- env: __assign(__assign({}, process.env), { config_flags: config_flags.join(' ') }),
- stdio: 'inherit',
- })];
- case 1:
- _a.sent();
- if (major <= 10) {
- return [2 /*return*/, path_1.default.join(nodePath, 'Release/node.exe')];
- }
- return [2 /*return*/, path_1.default.join(nodePath, 'out/Release/node.exe')];
- }
- });
- });
-}
-var _a = process.env.MAKE_JOB_COUNT, MAKE_JOB_COUNT = _a === void 0 ? os_1.default.cpus().length : _a;
-function compileOnUnix(nodeVersion, targetArch, targetPlatform) {
- return __awaiter(this, void 0, void 0, function () {
- var args, cpu, output;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- args = [];
- cpu = {
- x86: 'ia32',
- x64: 'x64',
- armv6: 'arm',
- armv7: 'arm',
- arm64: 'arm64',
- ppc64: 'ppc64',
- s390x: 's390x',
- }[targetArch];
- if (cpu) {
- args.push('--dest-cpu', cpu);
- }
- if (system_1.hostArch !== targetArch) {
- log_1.log.warn('Cross compiling!');
- log_1.log.warn('You are responsible for appropriate env like CC, CC_host, etc.');
- args.push('--cross-compiling');
- }
- args.push.apply(args, getConfigureArgs(getMajor(nodeVersion), targetPlatform));
- // TODO same for windows?
- return [4 /*yield*/, (0, utils_1.spawn)('/bin/sh', __spreadArray(['./configure'], args, true), {
- cwd: nodePath,
- stdio: 'inherit',
- })];
- case 1:
- // TODO same for windows?
- _a.sent();
- return [4 /*yield*/, (0, utils_1.spawn)(system_1.hostPlatform === 'freebsd' ? 'gmake' : 'make', ['-j', String(MAKE_JOB_COUNT)], {
- cwd: nodePath,
- stdio: 'inherit',
- })];
- case 2:
- _a.sent();
- output = path_1.default.join(nodePath, 'out/Release/node');
- return [4 /*yield*/, (0, utils_1.spawn)(process.env.STRIP || 'strip', __spreadArray(__spreadArray([], (targetPlatform === 'macos' ? ['-x'] : []), true), [output], false), {
- stdio: 'inherit',
- })];
- case 3:
- _a.sent();
- if (!(targetPlatform === 'macos')) return [3 /*break*/, 5];
- // Newer versions of Apple Clang automatically ad-hoc sign the compiled executable.
- // However, for final executable to be signable, base binary MUST NOT have an existing signature.
- return [4 /*yield*/, (0, utils_1.spawn)('codesign', ['--remove-signature', output], {
- stdio: 'inherit',
- })];
- case 4:
- // Newer versions of Apple Clang automatically ad-hoc sign the compiled executable.
- // However, for final executable to be signable, base binary MUST NOT have an existing signature.
- _a.sent();
- _a.label = 5;
- case 5: return [2 /*return*/, output];
- }
- });
- });
-}
-function compile(nodeVersion, targetArch, targetPlatform) {
- return __awaiter(this, void 0, void 0, function () {
- var win;
- return __generator(this, function (_a) {
- log_1.log.info('Compiling Node.js from sources...');
- win = system_1.hostPlatform === 'win';
- if (win) {
- return [2 /*return*/, compileOnWindows(nodeVersion, targetArch, targetPlatform)];
- }
- return [2 /*return*/, compileOnUnix(nodeVersion, targetArch, targetPlatform)];
- });
- });
-}
-function build(nodeVersion, targetArch, targetPlatform, local) {
- return __awaiter(this, void 0, void 0, function () {
- var output, outputHash;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, fs_extra_1.default.remove(buildPath)];
- case 1:
- _a.sent();
- return [4 /*yield*/, fs_extra_1.default.mkdirp(nodePath)];
- case 2:
- _a.sent();
- return [4 /*yield*/, fs_extra_1.default.mkdirp(nodeArchivePath)];
- case 3:
- _a.sent();
- return [4 /*yield*/, tarFetch(nodeVersion)];
- case 4:
- _a.sent();
- return [4 /*yield*/, tarExtract(nodeVersion)];
- case 5:
- _a.sent();
- return [4 /*yield*/, applyPatches(nodeVersion)];
- case 6:
- _a.sent();
- return [4 /*yield*/, compile(nodeVersion, targetArch, targetPlatform)];
- case 7:
- output = _a.sent();
- return [4 /*yield*/, (0, utils_1.hash)(output)];
- case 8:
- outputHash = _a.sent();
- return [4 /*yield*/, fs_extra_1.default.mkdirp(path_1.default.dirname(local))];
- case 9:
- _a.sent();
- return [4 /*yield*/, fs_extra_1.default.copy(output, local)];
- case 10:
- _a.sent();
- return [4 /*yield*/, fs_extra_1.default.promises.writeFile(local + ".sha256sum", outputHash + " " + path_1.default.basename(local) + "\n")];
- case 11:
- _a.sent();
- return [4 /*yield*/, fs_extra_1.default.remove(buildPath)];
- case 12:
- _a.sent();
- return [2 /*return*/];
- }
- });
- });
-}
-exports.default = build;
-//# sourceMappingURL=build.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/expected.d.ts b/includes/search/node_modules/pkg-fetch/lib-es5/expected.d.ts
deleted file mode 100644
index c13bd9e..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/expected.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export declare const EXPECTED_HASHES: Record<string, string>;
-//# sourceMappingURL=expected.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/expected.js b/includes/search/node_modules/pkg-fetch/lib-es5/expected.js
deleted file mode 100644
index 8652472..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/expected.js
+++ /dev/null
@@ -1,97 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.EXPECTED_HASHES = void 0;
-exports.EXPECTED_HASHES = {
- // 2a68741776e74f626c83254941a639ab7dcf6332
- // alpine: https://github.com/vercel/pkg-fetch/actions/runs/752615021
- // linux: https://github.com/vercel/pkg-fetch/actions/runs/752615173
- // linuxstatic: https://github.com/vercel/pkg-fetch/actions/runs/752615423
- // macos: https://github.com/vercel/pkg-fetch/actions/runs/752615807
- // win: https://github.com/vercel/pkg-fetch/actions/runs/752615557
- 'node-v10.24.1-alpine-arm64': 'f6a59f1ace2ef1f4bf976ff85d9a74bdc71bda098e8aa018e2a089c590aeedea',
- 'node-v10.24.1-alpine-x64': '24f862b22a59ac0adb746d5bd3f2226c8eb2f6e1565a1cb4d2418c9cb0f3769e',
- 'node-v10.24.1-linux-x64': 'c59574f4ea7b1423bd7ef586887ea41c43cfb2a63431126af0de20291a3a94db',
- 'node-v10.24.1-linuxstatic-arm64': '01bc2cfbf7a7dd1a74201ae34a6cfafc1ad1c6d77039f587111738a81637bc5b',
- 'node-v10.24.1-linuxstatic-x64': 'a7bbd62b712b3a7ac54953b646f0802e84bc7ecadb0b8a0756323fcffe3310a5',
- 'node-v10.24.1-win-x64': '958647af177a9089bb4f3495e352d5348a1b42858d0111004ca26c3a2ece3f73',
- 'node-v8.17.0-alpine-arm64': '807df81524ec8e1e266ac7fbed434c6b2281ae20b9fa7eaa524de90f3330c4d7',
- 'node-v8.17.0-alpine-x64': '83a3914de57ee6be7d68ebaac8a10c1a2972d554800f1bee218cc4a23650e0fb',
- 'node-v8.17.0-linux-arm64': 'f06855896bfa10bead1f08fac080305fb6fbfb2cc691168a3f0f0e834e12bfba',
- 'node-v8.17.0-linux-x64': '14d75d43de1ff86469d354bf42a83b9494e09502fa7bc23a975e2cb82b1608b0',
- 'node-v8.17.0-linuxstatic-arm64': '84de8fe30b2bd1dcb3615cf1d1b538aa48e1fcf66620ef97dce6b7ae85b45025',
- 'node-v8.17.0-linuxstatic-x64': '5206878079f160e75a02ad33b7559b4a869e8181ee03d51d7211b52995f9ca7b',
- 'node-v8.17.0-macos-x64': 'dffa71e39100f4daa57de73fda7b4debecd09f552b15cf11854c8475380d3817',
- 'node-v8.17.0-win-x64': '4556a06dc59a0196453ba5962ea077ea71fe566e4de1c92f73f057446d422251',
- // 27e00d1d72ab4afda203edcd7a4f9601bc1d641c
- // linux: https://github.com/vercel/pkg-fetch/actions/runs/888438143
- // linuxstatic: https://github.com/vercel/pkg-fetch/actions/runs/888438190
- // macos: https://github.com/vercel/pkg-fetch/actions/runs/888438236
- 'node-v10.24.1-linux-arm64': 'e3a3e5197e3f3d1063e3178786890b29493b8dfc31362f3417cce90ca7eb3e98',
- 'node-v10.24.1-linuxstatic-armv7': '4933be03e394a82f5aa5fc4600b29392b2ce7eac24bd2ef8759f9a8e8c841990',
- // 55a34ad0afe75749a14260c45d39cc9b265995ed
- // macos: https://github.com/vercel/pkg-fetch/actions/runs/918633749
- 'node-v10.24.1-macos-x64': 'f2e4679262a1cc6f3213cc4f0453d662e48c021975b651534fcbf26d6fdab474',
- // e34c57f612d4cf56646450f75fe38e029ff2b0d6
- // alpine: https://github.com/vercel/pkg-fetch/actions/runs/2068735040
- // linux: https://github.com/vercel/pkg-fetch/actions/runs/2068735307
- // linuxstatic: https://github.com/vercel/pkg-fetch/actions/runs/2068735697
- // macos: https://github.com/vercel/pkg-fetch/actions/runs/2068736404
- // win: https://github.com/vercel/pkg-fetch/actions/runs/2068736093
- 'node-v12.22.11-alpine-x64': '2ec8d7b761f03b2172bcf3b1b56c648e844116ab08a5484d7932138c374cf18c',
- 'node-v12.22.11-linux-x64': '617d58e81711d3a1d34a737db39e751caa05040a1a586e6dd688241cfb3f3eed',
- 'node-v12.22.11-linuxstatic-x64': '37714fc3ae8b1d0c92b124f8ab353c77e40494075646e43ce8e20bd4038b5b83',
- 'node-v12.22.11-macos-x64': '5394093f0fd2bb5ea38ee2a5eaec9e00d3d1da9e3f7c3c99c68eecfe17354286',
- 'node-v12.22.11-win-x64': '24bedd07eb0cad64d505ec731c438765370bbed32d8e1f47129fe3612fadfcdb',
- // e34c57f612d4cf56646450f75fe38e029ff2b0d6
- // alpine: https://github.com/jesec/pkg-fetch/actions/runs/2068737927
- // linux: https://github.com/jesec/pkg-fetch/actions/runs/2068738228
- // linuxstatic: https://github.com/jesec/pkg-fetch/actions/runs/2068738548
- // macos: https://github.com/jesec/pkg-fetch/actions/runs/2068742592
- 'node-v12.22.11-alpine-arm64': '0933ab559bb34c720f0a7e0066f32608960a4d6290977c3af15529f7abfe7265',
- 'node-v12.22.11-linux-arm64': '3a50d85ebd5ba7e1e62165b9df237925789ef9ed0ed92fd9d0f3a9df7503f751',
- 'node-v12.22.11-linuxstatic-arm64': '0c5b03cbe32ce50f16dbb35769a2a897b30e8fdb2137c4799edb55898b475622',
- // 6ffa969bc037f33cd5c926b8706324740c8818af
- // alpine: https://github.com/vercel/pkg-fetch/actions/runs/2638965835
- // linux: https://github.com/vercel/pkg-fetch/actions/runs/2638965968
- // linuxstatic: https://github.com/vercel/pkg-fetch/actions/runs/2638966056
- // macos: https://github.com/vercel/pkg-fetch/actions/runs/2638966552
- // win: https://github.com/vercel/pkg-fetch/actions/runs/2638966247
- 'node-v14.20.0-alpine-x64': 'bd48f87a845825d7321ff436ab0ecf59c71ac53356fed3b6ba2a841e06a75945',
- 'node-v14.20.0-linux-x64': 'f3149f4772c6bc41180017d325e27b1465213acd684164e26fbc64e1f2f97dcf',
- 'node-v14.20.0-linuxstatic-x64': 'a23a2fe6f1d75bb6d1faed1221e47fb3ff4789a23018709d919c5d24a3b17ce2',
- 'node-v14.20.0-macos-x64': 'afda9c14e5f3fc18d40b7cd05c6a8ba42284c28928b29e47b9b99125d41ebce6',
- 'node-v14.20.0-win-arm64': 'd9911fcdcedd1f5b227bd7d0ac3ef819a411976f6eb9550e2275a3c4fe93b97b',
- 'node-v14.20.0-win-x64': 'f71330035700705ae39bfaac80b9270c8f75631b06b25f21b06d7359d9cd6c24',
- 'node-v16.16.0-alpine-x64': '2c4caf90c620f4839277edf8dfb4fd1d259294a2bfbed2b90bb6063a6e0c9d23',
- 'node-v16.16.0-linux-x64': 'f1a561aadf78e438e73b043a3c5d7b9fe075d7abcaaec6f29d9e2a0ba00d3a69',
- 'node-v16.16.0-linuxstatic-x64': '8a888553a4855f3b01ea91a398eb3112b0d5f58f5f0112e9fecf6621615201ce',
- 'node-v16.16.0-macos-x64': '321fcef798383c6e19d7ae242bc73dd1f1c7471499b00ee6b105c764645d9263',
- 'node-v16.16.0-win-x64': 'b6c5f9a5bce3b451b6d59153eae6db1a87016edc3775ef9eae39f86485735672',
- 'node-v18.5.0-alpine-x64': '8cdc988b31d52b5c5e8112f82f798aa9c815b7d861e689f40ba2e33b782e0e35',
- 'node-v18.5.0-linux-x64': '25ea58e212ecac6c36df03281676aca934f4fec6a05fe9f0da8d3e01778df12c',
- 'node-v18.5.0-linuxstatic-x64': '18f09486dae0ca6ebc48c7bf3f68fa85baeac8279c2b407bb25e8b5941c46556',
- 'node-v18.5.0-macos-x64': '63c5a7f59ea2d4c04c4d033be8844be894ce018c43b2ea61ed5ccc38b833e435',
- 'node-v18.5.0-win-arm64': '02e317e399fecc4a21facc365ff51268555b1a347c4f2720956a12e843b99783',
- 'node-v18.5.0-win-x64': 'e0e9a647d81011612f8cb19c6a41760643eedd27222af548e9ffdff7d8ebb94b',
- // 6ffa969bc037f33cd5c926b8706324740c8818af
- // alpine: https://github.com/jesec/pkg-fetch/actions/runs/2639071916
- // linux: https://github.com/jesec/pkg-fetch/actions/runs/2639072106
- // linuxstatic: https://github.com/jesec/pkg-fetch/actions/runs/2639072371
- // macos: https://github.com/jesec/pkg-fetch/actions/runs/2639072571
- 'node-v14.20.0-alpine-arm64': 'b0be3a7904f2c79bdb8e2b61018d9aa7f55e0778c4c768c4d65017931369a762',
- 'node-v14.20.0-linux-arm64': 'fa26fed989a0710e82eaf09bd727f3501ab80d487da4baa076ab50267e47bbde',
- 'node-v14.20.0-linuxstatic-arm64': 'b645ee721e1f12d9a45e1a529e28038c0eb757de4bb74ba3b585999e3160a767',
- 'node-v14.20.0-macos-arm64': 'c101f9378cf40d62400612f57efea3e4b0e9951b110aea6a50dbf3aff84ea45f',
- 'node-v16.16.0-alpine-arm64': 'c38f270d190fd1f5d8e74800b62408d06f4492720fec1fd46414a7f504114847',
- 'node-v16.16.0-linux-arm64': 'e3913ecef725f83ccbd2181d7d33043f8b3e72466d09897c338ee328cffc3bfe',
- 'node-v16.16.0-linuxstatic-arm64': 'aac0039a2b380057085a4b927637c6e5550eabfd55d1ca2f98e022abccfd7390',
- 'node-v16.16.0-linuxstatic-armv7': 'cbe14ff111fd3d1ecb82cf6aaec5a53588537008fdcfab4bc2c880d651f5580a',
- 'node-v16.16.0-macos-arm64': 'd9140eebaa88620b9692d6e11cc2d92b2b56f791a6bbeddd771f5e07d042e1bc',
- 'node-v16.16.0-win-arm64': 'e078fd200f6f0cd2e84ba668711a5cc9c7f0d20d36fae1bfe4bc361f40f5923f',
- 'node-v18.5.0-alpine-arm64': 'e227164d7a0683b42a1a5659a997d7b8a843ffe293b291f0063a8afb08b657ca',
- 'node-v18.5.0-linux-arm64': 'e562c0d81643de3b06b9900936ebde263373ca7bdaf42a8eacca8d020b2ce21e',
- 'node-v18.5.0-linuxstatic-arm64': '073f9252693bd35a4184a24bdc503aa6dc1300def7a96564c83221e4d3272c5a',
- 'node-v18.5.0-linuxstatic-armv7': 'eb32af2e74028d303933b4fd4d13e1fc3c6854cfa65e962dfe31903cff69ef74',
- 'node-v18.5.0-macos-arm64': '242917bdb26a1b53726f82483bc68ce0609cc8772df401b2eb163dc6b3d6ddfe',
-};
-//# sourceMappingURL=expected.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/index.d.ts b/includes/search/node_modules/pkg-fetch/lib-es5/index.d.ts
deleted file mode 100644
index e38852c..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/index.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import * as system from './system';
-interface NeedOptions {
- forceFetch?: boolean;
- forceBuild?: boolean;
- dryRun?: boolean;
- output?: string;
- nodeRange: string;
- platform: string;
- arch: string;
-}
-export declare function need(opts: NeedOptions): Promise<string>;
-export { system };
-//# sourceMappingURL=index.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/index.js b/includes/search/node_modules/pkg-fetch/lib-es5/index.js
deleted file mode 100644
index 4b1339e..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/index.js
+++ /dev/null
@@ -1,244 +0,0 @@
-"use strict";
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.system = exports.need = void 0;
-var fs_extra_1 = __importDefault(require("fs-extra"));
-var path_1 = __importDefault(require("path"));
-var semver_1 = __importDefault(require("semver"));
-var expected_1 = require("./expected");
-var system_1 = require("./system");
-var system = __importStar(require("./system"));
-exports.system = system;
-var places_1 = require("./places");
-var log_1 = require("./log");
-var build_1 = __importDefault(require("./build"));
-var utils_1 = require("./utils");
-var patches_json_1 = __importDefault(require("../patches/patches.json"));
-var package_json_1 = require("../package.json");
-function download(_a, local) {
- var tag = _a.tag, name = _a.name;
- return __awaiter(this, void 0, void 0, function () {
- var url, _b;
- return __generator(this, function (_c) {
- switch (_c.label) {
- case 0:
- url = "https://github.com/vercel/pkg-fetch/releases/download/" + tag + "/" + name;
- _c.label = 1;
- case 1:
- _c.trys.push([1, 4, , 5]);
- return [4 /*yield*/, (0, utils_1.downloadUrl)(url, local)];
- case 2:
- _c.sent();
- return [4 /*yield*/, (0, utils_1.plusx)(local)];
- case 3:
- _c.sent();
- return [3 /*break*/, 5];
- case 4:
- _b = _c.sent();
- return [2 /*return*/, false];
- case 5: return [2 /*return*/, true];
- }
- });
- });
-}
-function exists(file) {
- return __awaiter(this, void 0, void 0, function () {
- var error_1;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0:
- _a.trys.push([0, 2, , 3]);
- return [4 /*yield*/, fs_extra_1.default.stat(file)];
- case 1:
- _a.sent();
- return [2 /*return*/, true];
- case 2:
- error_1 = _a.sent();
- return [2 /*return*/, false];
- case 3: return [2 /*return*/];
- }
- });
- });
-}
-function need(opts) {
- return __awaiter(this, void 0, void 0, function () {
- function satisfyingNodeVersion() {
- var versions = Object.keys(patches_json_1.default)
- .filter(function (nv) { return semver_1.default.satisfies(nv, nodeRange) || nodeRange === 'latest'; })
- .sort(function (nv1, nv2) { return (semver_1.default.gt(nv1, nv2) ? 1 : -1); });
- return versions.pop();
- }
- var _a, forceFetch, forceBuild, dryRun, output, _b, nodeRange, platform, arch, nodeVersion, fetched, built, remote, fetchFailed;
- return __generator(this, function (_c) {
- switch (_c.label) {
- case 0:
- _a = opts || {}, forceFetch = _a.forceFetch, forceBuild = _a.forceBuild, dryRun = _a.dryRun, output = _a.output;
- _b = opts || {}, nodeRange = _b.nodeRange, platform = _b.platform, arch = _b.arch;
- if (!nodeRange)
- throw (0, log_1.wasReported)('nodeRange not specified');
- if (!platform)
- throw (0, log_1.wasReported)('platform not specified');
- if (!arch)
- throw (0, log_1.wasReported)('arch not specified');
- nodeRange = (0, system_1.abiToNodeRange)(nodeRange); // 'm48' -> 'node6'
- if (!(0, system_1.isValidNodeRange)(nodeRange)) {
- throw (0, log_1.wasReported)("nodeRange must start with 'node'");
- }
- if (nodeRange !== 'latest') {
- nodeRange = "v" + nodeRange.slice(4); // 'node6' -> 'v6' for semver
- }
- platform = (0, system_1.toFancyPlatform)(platform); // win32 -> win
- arch = (0, system_1.toFancyArch)(arch); // ia32 -> x86
- nodeVersion = satisfyingNodeVersion();
- if (!nodeVersion) {
- throw (0, log_1.wasReported)("No available node version satisfies '" + opts.nodeRange + "'");
- }
- fetched = (0, places_1.localPlace)({
- from: 'fetched',
- arch: arch,
- nodeVersion: nodeVersion,
- platform: platform,
- version: package_json_1.version,
- output: output,
- });
- built = (0, places_1.localPlace)({
- from: 'built',
- arch: arch,
- nodeVersion: nodeVersion,
- platform: platform,
- version: package_json_1.version,
- output: output,
- });
- remote = (0, places_1.remotePlace)({ arch: arch, nodeVersion: nodeVersion, platform: platform, version: package_json_1.version });
- if (!!forceBuild) return [3 /*break*/, 3];
- return [4 /*yield*/, exists(fetched)];
- case 1:
- if (!_c.sent()) return [3 /*break*/, 3];
- if (dryRun) {
- return [2 /*return*/, 'exists'];
- }
- return [4 /*yield*/, (0, utils_1.hash)(fetched)];
- case 2:
- if ((_c.sent()) === expected_1.EXPECTED_HASHES[remote.name]) {
- return [2 /*return*/, fetched];
- }
- log_1.log.info('Binary hash does NOT match. Re-fetching...');
- fs_extra_1.default.unlinkSync(fetched);
- _c.label = 3;
- case 3:
- if (!!forceFetch) return [3 /*break*/, 5];
- return [4 /*yield*/, exists(built)];
- case 4:
- if (_c.sent()) {
- if (dryRun)
- return [2 /*return*/, 'exists'];
- if (forceBuild)
- log_1.log.info('Reusing base binaries built locally:', built);
- return [2 /*return*/, built];
- }
- _c.label = 5;
- case 5:
- if (!!forceBuild) return [3 /*break*/, 9];
- if (dryRun)
- return [2 /*return*/, 'fetched'];
- return [4 /*yield*/, download(remote, fetched)];
- case 6:
- if (!_c.sent()) return [3 /*break*/, 8];
- return [4 /*yield*/, (0, utils_1.hash)(fetched)];
- case 7:
- if ((_c.sent()) === expected_1.EXPECTED_HASHES[remote.name]) {
- return [2 /*return*/, fetched];
- }
- fs_extra_1.default.unlinkSync(fetched);
- throw (0, log_1.wasReported)('Binary hash does NOT match.');
- case 8:
- fetchFailed = true;
- _c.label = 9;
- case 9:
- if (!dryRun && fetchFailed) {
- log_1.log.info('Not found in remote cache:', JSON.stringify(remote));
- if (forceFetch) {
- throw (0, log_1.wasReported)("Failed to fetch.");
- }
- }
- if (!dryRun) {
- log_1.log.info('Building base binary from source:', path_1.default.basename(built));
- }
- if (system_1.hostPlatform !== platform) {
- if (system_1.hostPlatform !== 'alpine' || platform !== 'linuxstatic') {
- throw (0, log_1.wasReported)("Not able to build for '" + opts.platform + "' here, only for '" + system_1.hostPlatform + "'");
- }
- }
- if (system_1.knownArchs.indexOf(arch) < 0) {
- throw (0, log_1.wasReported)("Unknown arch '" + opts.arch + "'. Specify " + system_1.knownArchs.join(', '));
- }
- if (dryRun) {
- return [2 /*return*/, 'built'];
- }
- return [4 /*yield*/, (0, build_1.default)(nodeVersion, arch, platform, built)];
- case 10:
- _c.sent();
- return [2 /*return*/, built];
- }
- });
- });
-}
-exports.need = need;
-//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/log.d.ts b/includes/search/node_modules/pkg-fetch/lib-es5/log.d.ts
deleted file mode 100644
index c586fcf..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/log.d.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-declare class Log {
- debugMode: boolean;
- private bar?;
- private lines;
- debug(text: string, lines?: string[] | string): void;
- info(text: string, lines?: string[] | string): void;
- warn(text: string, lines?: string[] | string): void;
- error(text: Error | string, lines?: string[] | string): void;
- enableProgress(text: string): void;
- showProgress(percentage: number): void;
- disableProgress(): void;
-}
-export declare const log: Log;
-declare class ReportedError extends Error {
- name: string;
- wasReported: boolean;
-}
-export declare function wasReported(error?: string, lines?: string[] | string | string): ReportedError;
-export {};
-//# sourceMappingURL=log.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/log.js b/includes/search/node_modules/pkg-fetch/lib-es5/log.js
deleted file mode 100644
index 786a5ea..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/log.js
+++ /dev/null
@@ -1,112 +0,0 @@
-"use strict";
-/* eslint-disable no-underscore-dangle, no-console */
-var __extends = (this && this.__extends) || (function () {
- var extendStatics = function (d, b) {
- extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
- return extendStatics(d, b);
- };
- return function (d, b) {
- if (typeof b !== "function" && b !== null)
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
-})();
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.wasReported = exports.log = void 0;
-var progress_1 = __importDefault(require("progress"));
-var assert_1 = __importDefault(require("assert"));
-var chalk_1 = __importDefault(require("chalk"));
-var Log = /** @class */ (function () {
- function Log() {
- this.debugMode = false;
- }
- Log.prototype.lines = function (lines) {
- if (lines === undefined) {
- return;
- }
- if (!Array.isArray(lines)) {
- console.log(" " + lines);
- return;
- }
- for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) {
- var line = lines_1[_i];
- console.log(" " + line);
- }
- };
- Log.prototype.debug = function (text, lines) {
- if (!this.debugMode) {
- return;
- }
- console.log("> " + chalk_1.default.green('[debug]') + " " + text);
- this.lines(lines);
- };
- Log.prototype.info = function (text, lines) {
- console.log("> " + text);
- this.lines(lines);
- };
- Log.prototype.warn = function (text, lines) {
- console.log("> " + chalk_1.default.blue('Warning') + " " + text);
- this.lines(lines);
- };
- Log.prototype.error = function (text, lines) {
- var message = text instanceof Error ? text.stack : text;
- console.log("> " + chalk_1.default.red('Error!') + " " + message);
- this.lines(lines);
- };
- Log.prototype.enableProgress = function (text) {
- (0, assert_1.default)(!this.bar);
- text += ' '.repeat(35 - text.length);
- this.bar = new progress_1.default(" " + text + " [:bar] :percent", {
- stream: process.stdout,
- width: 20,
- complete: '=',
- incomplete: ' ',
- total: 100,
- });
- };
- Log.prototype.showProgress = function (percentage) {
- if (!this.bar) {
- return;
- }
- this.bar.update(percentage / 100);
- };
- Log.prototype.disableProgress = function () {
- if (!this.bar) {
- return;
- }
- // avoid empty line
- if (!this.bar.complete) {
- this.bar.terminate();
- }
- delete this.bar;
- };
- return Log;
-}());
-exports.log = new Log();
-var ReportedError = /** @class */ (function (_super) {
- __extends(ReportedError, _super);
- function ReportedError() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this.name = 'ReportedError';
- _this.wasReported = true;
- return _this;
- }
- return ReportedError;
-}(Error));
-function wasReported(error, lines) {
- var reportedError = new ReportedError('No message');
- if (typeof error === 'string') {
- exports.log.error(error, lines);
- reportedError = new ReportedError(error);
- }
- return reportedError;
-}
-exports.wasReported = wasReported;
-//# sourceMappingURL=log.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/places.d.ts b/includes/search/node_modules/pkg-fetch/lib-es5/places.d.ts
deleted file mode 100644
index e932298..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/places.d.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-export declare const cachePath: string;
-interface PlaceOptions {
- version: string;
- nodeVersion: string;
- platform: string;
- arch: string;
-}
-interface LocalPlaceOptions extends PlaceOptions {
- from: string;
- output?: string;
-}
-export declare function localPlace({ from, output, version, nodeVersion, platform, arch, }: LocalPlaceOptions): string;
-export interface Remote {
- tag: string;
- name: string;
-}
-export declare function remotePlace({ version, nodeVersion, platform, arch, }: PlaceOptions): Remote;
-export {};
-//# sourceMappingURL=places.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/places.js b/includes/search/node_modules/pkg-fetch/lib-es5/places.js
deleted file mode 100644
index da15bd9..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/places.js
+++ /dev/null
@@ -1,40 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.remotePlace = exports.localPlace = exports.cachePath = void 0;
-var semver_1 = require("semver");
-var os_1 = __importDefault(require("os"));
-var path_1 = __importDefault(require("path"));
-var PKG_CACHE_PATH = process.env.PKG_CACHE_PATH;
-var IGNORE_TAG = Boolean(process.env.PKG_IGNORE_TAG);
-exports.cachePath = PKG_CACHE_PATH || path_1.default.join(os_1.default.homedir(), '.pkg-cache');
-function tagFromVersion(version) {
- var mj = (0, semver_1.major)(version);
- var mn = (0, semver_1.minor)(version);
- return "v" + mj + "." + mn;
-}
-function localPlace(_a) {
- var from = _a.from, output = _a.output, version = _a.version, nodeVersion = _a.nodeVersion, platform = _a.platform, arch = _a.arch;
- var binDir;
- if (output) {
- binDir = path_1.default.resolve(output);
- }
- else {
- binDir = IGNORE_TAG
- ? path_1.default.join(exports.cachePath)
- : path_1.default.join(exports.cachePath, tagFromVersion(version));
- }
- return path_1.default.resolve(binDir, (output ? 'node' : from) + "-" + nodeVersion + "-" + platform + "-" + arch);
-}
-exports.localPlace = localPlace;
-function remotePlace(_a) {
- var version = _a.version, nodeVersion = _a.nodeVersion, platform = _a.platform, arch = _a.arch;
- return {
- tag: tagFromVersion(version),
- name: "node-" + nodeVersion + "-" + platform + "-" + arch,
- };
-}
-exports.remotePlace = remotePlace;
-//# sourceMappingURL=places.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/system.d.ts b/includes/search/node_modules/pkg-fetch/lib-es5/system.d.ts
deleted file mode 100644
index 6173aa7..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/system.d.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-export declare function abiToNodeRange(abi: string): string;
-export declare function isValidNodeRange(nodeRange: string): boolean;
-export declare function toFancyPlatform(platform: string): string;
-export declare function toFancyArch(arch: string): string;
-export declare const hostAbi: string;
-export declare const hostPlatform: string;
-export declare const knownPlatforms: string[];
-export declare const hostArch: string;
-export declare const targetArchs: string[];
-export declare const knownArchs: string[];
-//# sourceMappingURL=system.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/system.js b/includes/search/node_modules/pkg-fetch/lib-es5/system.js
deleted file mode 100644
index 98077d5..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/system.js
+++ /dev/null
@@ -1,121 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.knownArchs = exports.targetArchs = exports.hostArch = exports.knownPlatforms = exports.hostPlatform = exports.hostAbi = exports.toFancyArch = exports.toFancyPlatform = exports.isValidNodeRange = exports.abiToNodeRange = void 0;
-var fs_1 = __importDefault(require("fs"));
-var child_process_1 = require("child_process");
-function getHostAbi() {
- return "m" + process.versions.modules;
-}
-function abiToNodeRange(abi) {
- if (/^m?14/.test(abi))
- return 'node0.12';
- if (/^m?46/.test(abi))
- return 'node4';
- if (/^m?47/.test(abi))
- return 'node5';
- if (/^m?48/.test(abi))
- return 'node6';
- if (/^m?51/.test(abi))
- return 'node7';
- if (/^m?57/.test(abi))
- return 'node8';
- if (/^m?59/.test(abi))
- return 'node9';
- if (/^m?64/.test(abi))
- return 'node10';
- if (/^m?67/.test(abi))
- return 'node11';
- if (/^m?72/.test(abi))
- return 'node12';
- if (/^m?79/.test(abi))
- return 'node13';
- if (/^m?83/.test(abi))
- return 'node14';
- return abi;
-}
-exports.abiToNodeRange = abiToNodeRange;
-function isValidNodeRange(nodeRange) {
- if (nodeRange === 'latest')
- return true;
- if (!/^node/.test(nodeRange))
- return false;
- return true;
-}
-exports.isValidNodeRange = isValidNodeRange;
-function toFancyPlatform(platform) {
- if (platform === 'darwin')
- return 'macos';
- if (platform === 'lin')
- return 'linux';
- if (platform === 'mac')
- return 'macos';
- if (platform === 'osx')
- return 'macos';
- if (platform === 'win32')
- return 'win';
- if (platform === 'windows')
- return 'win';
- return platform;
-}
-exports.toFancyPlatform = toFancyPlatform;
-function detectAlpine() {
- var _a;
- var platform = process.platform;
- if (platform !== 'linux') {
- return false;
- }
- // https://github.com/sass/node-sass/issues/1589#issuecomment-265292579
- var ldd = (_a = (0, child_process_1.spawnSync)('ldd').stderr) === null || _a === void 0 ? void 0 : _a.toString();
- if (ldd == null) {
- return fs_1.default.readdirSync('/lib').some(function (file) { return file.startsWith('libc.musl'); });
- }
- if (/\bmusl\b/.test(ldd)) {
- return true;
- }
- var lddNode = (0, child_process_1.spawnSync)('ldd', [process.execPath]).stdout.toString();
- return /\bmusl\b/.test(lddNode);
-}
-var isAlpine = detectAlpine();
-function getHostPlatform() {
- var platform = process.platform;
- if (isAlpine) {
- return 'alpine';
- }
- return toFancyPlatform(platform);
-}
-function getKnownPlatforms() {
- return ['alpine', 'freebsd', 'linux', 'linuxstatic', 'macos', 'win'];
-}
-function toFancyArch(arch) {
- if (arch === 'arm')
- return 'armv7';
- if (arch === 'ia32')
- return 'x86';
- if (arch === 'x86_64')
- return 'x64';
- return arch;
-}
-exports.toFancyArch = toFancyArch;
-function getHostArch() {
- return toFancyArch(process.arch);
-}
-function getTargetArchs() {
- var arch = getHostArch();
- if (arch === 'x64') {
- return ['x64', 'x86'];
- }
- return [arch];
-}
-function getKnownArchs() {
- return ['x64', 'x86', 'armv7', 'arm64', 'ppc64', 's390x'];
-}
-exports.hostAbi = getHostAbi();
-exports.hostPlatform = getHostPlatform();
-exports.knownPlatforms = getKnownPlatforms();
-exports.hostArch = getHostArch();
-exports.targetArchs = getTargetArchs();
-exports.knownArchs = getKnownArchs();
-//# sourceMappingURL=system.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/utils.d.ts b/includes/search/node_modules/pkg-fetch/lib-es5/utils.d.ts
deleted file mode 100644
index 5c30459..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/utils.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-/// <reference types="node" />
-import { SpawnSyncOptions } from 'child_process';
-export declare function downloadUrl(url: string, file: string): Promise<void>;
-export declare function hash(filePath: string): Promise<string>;
-export declare function plusx(file: string): Promise<void>;
-export declare function spawn(command: string, args?: ReadonlyArray<string>, options?: SpawnSyncOptions): Promise<void>;
-//# sourceMappingURL=utils.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/utils.js b/includes/search/node_modules/pkg-fetch/lib-es5/utils.js
deleted file mode 100644
index c0b6168..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/utils.js
+++ /dev/null
@@ -1,157 +0,0 @@
-"use strict";
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.spawn = exports.plusx = exports.hash = exports.downloadUrl = void 0;
-var node_fetch_1 = __importDefault(require("node-fetch"));
-var crypto_1 = __importDefault(require("crypto"));
-var fs_extra_1 = __importDefault(require("fs-extra"));
-var https_proxy_agent_1 = __importDefault(require("https-proxy-agent"));
-var path_1 = __importDefault(require("path"));
-var child_process_1 = require("child_process");
-var stream_1 = __importDefault(require("stream"));
-var log_1 = require("./log");
-function downloadUrl(url, file) {
- var _a, _b, _c;
- return __awaiter(this, void 0, void 0, function () {
- var proxy, res, tempFile, ws, totalSize, currentSize;
- return __generator(this, function (_d) {
- switch (_d.label) {
- case 0:
- log_1.log.enableProgress(path_1.default.basename(file));
- log_1.log.showProgress(0);
- proxy = (_c = (_b = (_a = process.env.HTTPS_PROXY) !== null && _a !== void 0 ? _a : process.env.https_proxy) !== null && _b !== void 0 ? _b : process.env.HTTP_PROXY) !== null && _c !== void 0 ? _c : process.env.http_proxy;
- return [4 /*yield*/, (0, node_fetch_1.default)(url, proxy ? { agent: (0, https_proxy_agent_1.default)(proxy) } : undefined)];
- case 1:
- res = _d.sent();
- if (!res.ok) {
- log_1.log.disableProgress();
- throw (0, log_1.wasReported)(res.status + ": " + res.statusText);
- }
- tempFile = file + ".downloading";
- fs_extra_1.default.mkdirpSync(path_1.default.dirname(tempFile));
- ws = fs_extra_1.default.createWriteStream(tempFile);
- totalSize = Number(res.headers.get('content-length'));
- currentSize = 0;
- res.body.on('data', function (chunk) {
- if (totalSize != null && totalSize !== 0) {
- currentSize += chunk.length;
- log_1.log.showProgress((currentSize / totalSize) * 100);
- }
- });
- res.body.pipe(ws);
- return [2 /*return*/, new Promise(function (resolve, reject) {
- stream_1.default.finished(ws, function (err) {
- if (err) {
- log_1.log.disableProgress();
- fs_extra_1.default.rmSync(tempFile);
- reject((0, log_1.wasReported)(err.name + ": " + err.message));
- }
- else {
- log_1.log.showProgress(100);
- log_1.log.disableProgress();
- fs_extra_1.default.moveSync(tempFile, file);
- resolve();
- }
- });
- })];
- }
- });
- });
-}
-exports.downloadUrl = downloadUrl;
-function hash(filePath) {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- return [2 /*return*/, new Promise(function (resolve, reject) {
- var resultHash = crypto_1.default.createHash('sha256');
- var input = fs_extra_1.default.createReadStream(filePath);
- input.on('error', function (e) {
- reject(e);
- });
- input.on('readable', function () {
- var data = input.read();
- if (data) {
- resultHash.update(data);
- }
- else {
- resolve(resultHash.digest('hex'));
- }
- });
- })];
- });
- });
-}
-exports.hash = hash;
-function plusx(file) {
- return __awaiter(this, void 0, void 0, function () {
- var s, newMode, base8;
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, fs_extra_1.default.stat(file)];
- case 1:
- s = _a.sent();
- newMode = s.mode | 64 | 8 | 1;
- if (s.mode === newMode)
- return [2 /*return*/];
- base8 = newMode.toString(8).slice(-3);
- return [4 /*yield*/, fs_extra_1.default.chmod(file, base8)];
- case 2:
- _a.sent();
- return [2 /*return*/];
- }
- });
- });
-}
-exports.plusx = plusx;
-function spawn(command, args, options) {
- return __awaiter(this, void 0, void 0, function () {
- var error;
- return __generator(this, function (_a) {
- error = (0, child_process_1.spawnSync)(command, args, options).error;
- if (error) {
- throw error;
- }
- return [2 /*return*/];
- });
- });
-}
-exports.spawn = spawn;
-//# sourceMappingURL=utils.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/verify.d.ts b/includes/search/node_modules/pkg-fetch/lib-es5/verify.d.ts
deleted file mode 100644
index fa609db..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/verify.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export declare function verify(local: string): Promise<void>;
-//# sourceMappingURL=verify.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/lib-es5/verify.js b/includes/search/node_modules/pkg-fetch/lib-es5/verify.js
deleted file mode 100644
index 2c74141..0000000
--- a/includes/search/node_modules/pkg-fetch/lib-es5/verify.js
+++ /dev/null
@@ -1,60 +0,0 @@
-"use strict";
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __generator = (this && this.__generator) || function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.verify = void 0;
-var child_process_1 = require("child_process");
-var utils_1 = require("./utils");
-var script = "\n var vm = require('vm');\n var assert = require('assert');\n var text = '(function () { return 42; })';\n var cd, fn, result;\n var modules = process.versions.modules | 0;\n var v8 = process.versions.v8.split('.').slice(0, 2).join('.');\n\n var s1 = new vm.Script(text, { filename: 's1', produceCachedData: true, sourceless: true });\n assert(s1.cachedDataProduced);\n cd = s1.cachedData;\n\n var kCpuFeaturesOffset, cpuFeatures;\n\n if (modules === 14) {\n } else\n if (modules === 46 || modules === 48 || modules === 51) {\n kCpuFeaturesOffset = 0x0c;\n } else\n if (modules === 57) {\n if (v8 === '6.2') {\n kCpuFeaturesOffset = 0x0c;\n } else\n if (v8 === '5.8') {\n kCpuFeaturesOffset = 0x0c;\n } else {\n kCpuFeaturesOffset = 0x10;\n }\n } else\n if (modules === 59) {\n kCpuFeaturesOffset = 0x0c;\n } else\n if (modules === 64) {\n kCpuFeaturesOffset = 0x0c;\n } else\n if (modules === 72) {\n // no cpu features anymore\n } else\n if (modules === 79) {\n // no cpu features anymore\n } else\n if (modules === 83) {\n // no cpu features anymore\n } else {\n assert(false, modules);\n }\n\n if (modules >= 46 && // no cpu_features field in 0.12\n process.arch !== 'arm' && // non-zero features even in sourceless mode in arm\n modules < 72) { // no cpu_features field in 12+\n cpuFeatures = cd.readUInt32LE(kCpuFeaturesOffset);\n assert(cpuFeatures === 0, 'CPU_FEATURES must be zero');\n }\n\n var s2 = new vm.Script(undefined, { filename: 's2', cachedData: cd, sourceless: true });\n fn = s2.runInThisContext();\n result = fn();\n assert.equal(result, 42);\n\n if (modules === 14) {\n } else\n if (modules === 46 || modules === 48 ||\n modules === 51 || modules === 57 || modules === 59 || modules === 64) {\n var paddedPayloadOffset = 0x48; // see SerializedCodeData::Payload()\n var index = paddedPayloadOffset + 10;\n cd[index] ^= 0xf0;\n var s3 = new vm.Script(undefined, { filename: 's3', cachedData: cd, sourceless: true });\n assert(s3.cachedDataRejected, 's3.cachedDataRejected must be true');\n } else\n if (modules === 72) {\n } else\n if (modules === 79) {\n } else\n if (modules === 83) {\n } else {\n assert(false, modules);\n }\n\n var s4 = new vm.Script(text, { filename: 's4', produceCachedData: true });\n assert(s4.cachedDataProduced, 's4.cachedDataProduced must be true');\n cd = s4.cachedData;\n\n if (modules >= 46 && // no cpu_features field in 0.12\n process.arch !== 'arm' && // zero features even in non-sourceless mode in arm\n modules < 72) { // no cpu_features field in 12+\n cpuFeatures = cd.readUInt32LE(kCpuFeaturesOffset);\n assert(cpuFeatures !== 0, 'CPU_FEATURES must be non-zero');\n }\n\n console.log('ok');\n";
-function verify(local) {
- return __awaiter(this, void 0, void 0, function () {
- return __generator(this, function (_a) {
- switch (_a.label) {
- case 0: return [4 /*yield*/, (0, utils_1.plusx)(local)];
- case 1:
- _a.sent();
- (0, child_process_1.spawnSync)(local, ['-e', script], {
- env: { PKG_EXECPATH: 'PKG_INVOKE_NODEJS' },
- stdio: 'inherit',
- });
- return [2 /*return*/];
- }
- });
- });
-}
-exports.verify = verify;
-//# sourceMappingURL=verify.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg-fetch/license.md b/includes/search/node_modules/pkg-fetch/license.md
deleted file mode 100644
index a0872d2..0000000
--- a/includes/search/node_modules/pkg-fetch/license.md
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2017 Zeit, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/pkg-fetch/package.json b/includes/search/node_modules/pkg-fetch/package.json
deleted file mode 100644
index 9240a4f..0000000
--- a/includes/search/node_modules/pkg-fetch/package.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "name": "pkg-fetch",
- "version": "3.4.2",
- "description": "Compiles and stores base binaries for pkg",
- "main": "lib-es5/index.js",
- "license": "MIT",
- "repository": "vercel/pkg-fetch",
- "bin": {
- "pkg-fetch": "lib-es5/bin.js"
- },
- "files": [
- "lib-es5/*.js",
- "lib-es5/*.ts",
- "patches/*"
- ],
- "dependencies": {
- "chalk": "^4.1.2",
- "fs-extra": "^9.1.0",
- "https-proxy-agent": "^5.0.0",
- "node-fetch": "^2.6.6",
- "progress": "^2.0.3",
- "semver": "^7.3.5",
- "tar-fs": "^2.1.1",
- "yargs": "^16.2.0"
- },
- "devDependencies": {
- "@types/fs-extra": "^9.0.13",
- "@types/node": "^14.17.32",
- "@types/node-fetch": "^2.5.12",
- "@types/progress": "^2.0.5",
- "@types/semver": "^7.3.9",
- "@types/tar-fs": "^2.0.1",
- "@types/yargs": "^16.0.4",
- "@typescript-eslint/eslint-plugin": "^4.33.0",
- "@typescript-eslint/parser": "^4.33.0",
- "eslint": "^7.32.0",
- "eslint-config-airbnb-base": "^14.2.1",
- "eslint-config-prettier": "^8.3.0",
- "eslint-import-resolver-typescript": "^2.5.0",
- "eslint-plugin-import": "^2.25.2",
- "lint-staged": "^10.5.4",
- "prettier": "^2.4.1",
- "rimraf": "^3.0.2",
- "simple-git-hooks": ">=2.7.0",
- "typescript": "^4.4.4"
- },
- "scripts": {
- "build": "rimraf lib-es5 && tsc --build lib",
- "bin": "node lib-es5/bin.js",
- "lint": "eslint lib",
- "prepare": "npm run build",
- "prepublishOnly": "npm run lint",
- "start": "node lib-es5/bin.js"
- },
- "prettier": {
- "singleQuote": true
- },
- "simple-git-hooks": {
- "pre-commit": "npx lint-staged"
- },
- "lint-staged": {
- "*.{js,css,md}": "prettier --write"
- }
-}
diff --git a/includes/search/node_modules/pkg-fetch/patches/node.v10.24.1.cpp.patch b/includes/search/node_modules/pkg-fetch/patches/node.v10.24.1.cpp.patch
deleted file mode 100644
index 8533d45..0000000
--- a/includes/search/node_modules/pkg-fetch/patches/node.v10.24.1.cpp.patch
+++ /dev/null
@@ -1,568 +0,0 @@
---- node/deps/v8/include/v8.h
-+++ node/deps/v8/include/v8.h
-@@ -8137,10 +8137,14 @@
- */
- static void SetFlagsFromCommandLine(int* argc,
- char** argv,
- bool remove_flags);
-
-+ static void EnableCompilationForSourcelessUse();
-+ static void DisableCompilationForSourcelessUse();
-+ static void FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script);
-+
- /** Get the version string. */
- static const char* GetVersion();
-
- /**
- * Initializes V8. This function needs to be called before the first Isolate
---- node/deps/v8/src/api.cc
-+++ node/deps/v8/src/api.cc
-@@ -914,10 +914,42 @@
-
- void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) {
- i::FlagList::SetFlagsFromCommandLine(argc, argv, remove_flags);
- }
-
-+bool save_lazy;
-+bool save_predictable;
-+
-+
-+void V8::EnableCompilationForSourcelessUse() {
-+ save_lazy = i::FLAG_lazy;
-+ i::FLAG_lazy = false;
-+ save_predictable = i::FLAG_predictable;
-+ i::FLAG_predictable = true;
-+ i::CpuFeatures::Reinitialize();
-+ i::CpuFeatures::Probe(true);
-+}
-+
-+
-+void V8::DisableCompilationForSourcelessUse() {
-+ i::FLAG_lazy = save_lazy;
-+ i::FLAG_predictable = save_predictable;
-+ i::CpuFeatures::Reinitialize();
-+ i::CpuFeatures::Probe(false);
-+}
-+
-+
-+void V8::FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script) {
-+ auto isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
-+ auto object = i::Handle<i::HeapObject>::cast(Utils::OpenHandle(*script));
-+ i::Handle<i::SharedFunctionInfo> function_info(
-+ i::SharedFunctionInfo::cast(*object), object->GetIsolate());
-+ auto s = reinterpret_cast<i::Script*>(function_info->script());
-+ s->set_source(isolate->heap()->undefined_value());
-+}
-+
-+
- RegisteredExtension* RegisteredExtension::first_extension_ = nullptr;
-
- RegisteredExtension::RegisteredExtension(Extension* extension)
- : extension_(extension) { }
-
---- node/deps/v8/src/assembler.h
-+++ node/deps/v8/src/assembler.h
-@@ -302,10 +302,15 @@
- }
-
- static void PrintTarget();
- static void PrintFeatures();
-
-+ static void Reinitialize() {
-+ supported_ = 0;
-+ initialized_ = false;
-+ }
-+
- private:
- friend class ExternalReference;
- friend class AssemblerBase;
- // Flush instruction cache.
- static void FlushICache(void* start, size_t size);
---- node/deps/v8/src/objects.cc
-+++ node/deps/v8/src/objects.cc
-@@ -13179,10 +13179,13 @@
-
- // Check if we should print {function} as a class.
- Handle<Object> maybe_class_positions = JSReceiver::GetDataProperty(
- function, isolate->factory()->class_positions_symbol());
- if (maybe_class_positions->IsTuple2()) {
-+ if (Script::cast(shared_info->script())->source()->IsUndefined(isolate)) {
-+ return isolate->factory()->NewStringFromAsciiChecked("class {}");
-+ }
- Tuple2* class_positions = Tuple2::cast(*maybe_class_positions);
- int start_position = Smi::ToInt(class_positions->value1());
- int end_position = Smi::ToInt(class_positions->value2());
- Handle<String> script_source(
- String::cast(Script::cast(shared_info->script())->source()), isolate);
---- node/deps/v8/src/parsing/parsing.cc
-+++ node/deps/v8/src/parsing/parsing.cc
-@@ -18,10 +18,11 @@
- namespace parsing {
-
- bool ParseProgram(ParseInfo* info, Isolate* isolate) {
- DCHECK(info->is_toplevel());
- DCHECK_NULL(info->literal());
-+ if (info->script()->source()->IsUndefined(isolate)) return false;
-
- VMState<PARSER> state(isolate);
-
- // Create a character stream for the parser.
- Handle<String> source(String::cast(info->script()->source()), isolate);
-@@ -55,10 +56,11 @@
- bool ParseFunction(ParseInfo* info, Handle<SharedFunctionInfo> shared_info,
- Isolate* isolate) {
- DCHECK(!info->is_toplevel());
- DCHECK(!shared_info.is_null());
- DCHECK_NULL(info->literal());
-+ if (info->script()->source()->IsUndefined(isolate)) return false;
-
- // Create a character stream for the parser.
- Handle<String> source(String::cast(info->script()->source()), isolate);
- source = String::Flatten(source);
- isolate->counters()->total_parse_size()->Increment(source->length());
---- node/deps/v8/src/snapshot/code-serializer.cc
-+++ node/deps/v8/src/snapshot/code-serializer.cc
-@@ -401,31 +401,46 @@
-
- SerializedCodeData::SanityCheckResult SerializedCodeData::SanityCheck(
- Isolate* isolate, uint32_t expected_source_hash) const {
- if (this->size_ < kHeaderSize) return INVALID_HEADER;
- uint32_t magic_number = GetMagicNumber();
-- if (magic_number != ComputeMagicNumber(isolate)) return MAGIC_NUMBER_MISMATCH;
-+ if (magic_number != ComputeMagicNumber(isolate)) {
-+ // base::OS::PrintError("Pkg: MAGIC_NUMBER_MISMATCH\n"); // TODO enable after solving v8-cache/ncc issue
-+ return MAGIC_NUMBER_MISMATCH;
-+ }
- uint32_t version_hash = GetHeaderValue(kVersionHashOffset);
-- uint32_t source_hash = GetHeaderValue(kSourceHashOffset);
- uint32_t cpu_features = GetHeaderValue(kCpuFeaturesOffset);
- uint32_t flags_hash = GetHeaderValue(kFlagHashOffset);
- uint32_t payload_length = GetHeaderValue(kPayloadLengthOffset);
- uint32_t c1 = GetHeaderValue(kChecksum1Offset);
- uint32_t c2 = GetHeaderValue(kChecksum2Offset);
-- if (version_hash != Version::Hash()) return VERSION_MISMATCH;
-- if (source_hash != expected_source_hash) return SOURCE_MISMATCH;
-- if (cpu_features != static_cast<uint32_t>(CpuFeatures::SupportedFeatures())) {
-+ if (version_hash != Version::Hash()) {
-+ base::OS::PrintError("Pkg: VERSION_MISMATCH\n");
-+ return VERSION_MISMATCH;
-+ }
-+ uint32_t host_features = static_cast<uint32_t>(CpuFeatures::SupportedFeatures());
-+ if (cpu_features & (~host_features)) {
-+ base::OS::PrintError("Pkg: CPU_FEATURES_MISMATCH\n");
- return CPU_FEATURES_MISMATCH;
- }
-- if (flags_hash != FlagList::Hash()) return FLAGS_MISMATCH;
-+ if (flags_hash != FlagList::Hash()) {
-+ base::OS::PrintError("Pkg: FLAGS_MISMATCH\n");
-+ return FLAGS_MISMATCH;
-+ }
- uint32_t max_payload_length =
- this->size_ -
- POINTER_SIZE_ALIGN(kHeaderSize +
- GetHeaderValue(kNumReservationsOffset) * kInt32Size +
- GetHeaderValue(kNumCodeStubKeysOffset) * kInt32Size);
-- if (payload_length > max_payload_length) return LENGTH_MISMATCH;
-- if (!Checksum(DataWithoutHeader()).Check(c1, c2)) return CHECKSUM_MISMATCH;
-+ if (payload_length > max_payload_length) {
-+ base::OS::PrintError("Pkg: LENGTH_MISMATCH\n");
-+ return LENGTH_MISMATCH;
-+ }
-+ if (!Checksum(DataWithoutHeader()).Check(c1, c2)) {
-+ base::OS::PrintError("Pkg: CHECKSUM_MISMATCH\n");
-+ return CHECKSUM_MISMATCH;
-+ }
- return CHECK_SUCCESS;
- }
-
- uint32_t SerializedCodeData::SourceHash(Handle<String> source) {
- return source->length();
---- node/lib/child_process.js
-+++ node/lib/child_process.js
-@@ -108,11 +108,11 @@
- }
-
- options.execPath = options.execPath || process.execPath;
- options.shell = false;
-
-- return spawn(options.execPath, args, options);
-+ return exports.spawn(options.execPath, args, options);
- };
-
-
- exports._forkChild = function _forkChild(fd) {
- // set process.send()
---- node/lib/internal/bootstrap/loaders.js
-+++ node/lib/internal/bootstrap/loaders.js
-@@ -337,11 +337,11 @@
-
- // (code, filename, lineOffset, columnOffset
- // cachedData, produceCachedData, parsingContext)
- const script = new ContextifyScript(
- source, this.filename, 0, 0,
-- cache, false, undefined
-+ cache, false, undefined, false
- );
-
- // This will be used to create code cache in tools/generate_code_cache.js
- this.script = script;
-
---- node/lib/internal/bootstrap/node.js
-+++ node/lib/internal/bootstrap/node.js
-@@ -213,10 +213,47 @@
-
- // There are various modes that Node can run in. The most common two
- // are running from a script and running the REPL - but there are a few
- // others like the debugger or running --eval arguments. Here we decide
- // which mode we run in.
-+
-+ (function () {
-+ var fs = NativeModule.require('fs');
-+ var vm = NativeModule.require('vm');
-+ function readPrelude (fd) {
-+ var PAYLOAD_POSITION = '// PAYLOAD_POSITION //' | 0;
-+ var PAYLOAD_SIZE = '// PAYLOAD_SIZE //' | 0;
-+ var PRELUDE_POSITION = '// PRELUDE_POSITION //' | 0;
-+ var PRELUDE_SIZE = '// PRELUDE_SIZE //' | 0;
-+ if (!PRELUDE_POSITION) {
-+ // no prelude - remove entrypoint from argv[1]
-+ process.argv.splice(1, 1);
-+ return { undoPatch: true };
-+ }
-+ var prelude = Buffer.alloc(PRELUDE_SIZE);
-+ var read = fs.readSync(fd, prelude, 0, PRELUDE_SIZE, PRELUDE_POSITION);
-+ if (read !== PRELUDE_SIZE) {
-+ console.error('Pkg: Error reading from file.');
-+ process.exit(1);
-+ }
-+ var s = new vm.Script(prelude, { filename: 'pkg/prelude/bootstrap.js' });
-+ var fn = s.runInThisContext();
-+ return fn(process, NativeModule.require,
-+ console, fd, PAYLOAD_POSITION, PAYLOAD_SIZE);
-+ }
-+ (function () {
-+ var fd = fs.openSync(process.execPath, 'r');
-+ var result = readPrelude(fd);
-+ if (result && result.undoPatch) {
-+ var bindingFs = process.binding('fs');
-+ fs.internalModuleStat = bindingFs.internalModuleStat;
-+ fs.internalModuleReadJSON = bindingFs.internalModuleReadJSON;
-+ fs.closeSync(fd);
-+ }
-+ }());
-+ }());
-+
- if (internalBinding('worker').getEnvMessagePort() !== undefined) {
- // This means we are in a Worker context, and any script execution
- // will be directed by the worker module.
- NativeModule.require('internal/worker').setupChild(evalScript);
- } else if (NativeModule.exists('_third_party_main')) {
---- node/lib/internal/modules/cjs/loader.js
-+++ node/lib/internal/modules/cjs/loader.js
-@@ -27,14 +27,12 @@
- const vm = require('vm');
- const assert = require('assert').ok;
- const fs = require('fs');
- const internalFS = require('internal/fs/utils');
- const path = require('path');
--const {
-- internalModuleReadJSON,
-- internalModuleStat
--} = process.binding('fs');
-+const internalModuleReadJSON = function (f) { return require('fs').internalModuleReadJSON(f); };
-+const internalModuleStat = function (f) { return require('fs').internalModuleStat(f); };
- const { safeGetenv } = process.binding('util');
- const {
- makeRequireFunction,
- normalizeReferrerURL,
- requireDepth,
---- node/lib/vm.js
-+++ node/lib/vm.js
-@@ -55,10 +55,11 @@
- columnOffset = 0,
- cachedData,
- produceCachedData = false,
- importModuleDynamically,
- [kParsingContext]: parsingContext,
-+ sourceless = false,
- } = options;
-
- if (typeof filename !== 'string') {
- throw new ERR_INVALID_ARG_TYPE('options.filename', 'string', filename);
- }
-@@ -84,11 +85,12 @@
- filename,
- lineOffset,
- columnOffset,
- cachedData,
- produceCachedData,
-- parsingContext);
-+ parsingContext,
-+ sourceless);
- } catch (e) {
- throw e; /* node-do-not-add-exception-line */
- }
-
- if (importModuleDynamically !== undefined) {
---- node/src/inspector_agent.cc
-+++ node/src/inspector_agent.cc
-@@ -705,12 +705,10 @@
- CHECK_EQ(0, uv_async_init(parent_env_->event_loop(),
- &start_io_thread_async,
- StartIoThreadAsyncCallback));
- uv_unref(reinterpret_cast<uv_handle_t*>(&start_io_thread_async));
- start_io_thread_async.data = this;
-- // Ignore failure, SIGUSR1 won't work, but that should not block node start.
-- StartDebugSignalHandler();
- }
-
- bool wait_for_connect = options->wait_for_connect();
- if (parent_handle_) {
- wait_for_connect = parent_handle_->WaitForConnect();
---- node/src/node.cc
-+++ node/src/node.cc
-@@ -2369,17 +2369,10 @@
- }
-
-
- inline void PlatformInit() {
- #ifdef __POSIX__
--#if HAVE_INSPECTOR
-- sigset_t sigmask;
-- sigemptyset(&sigmask);
-- sigaddset(&sigmask, SIGUSR1);
-- const int err = pthread_sigmask(SIG_SETMASK, &sigmask, nullptr);
--#endif // HAVE_INSPECTOR
--
- // Make sure file descriptors 0-2 are valid before we start logging anything.
- for (int fd = STDIN_FILENO; fd <= STDERR_FILENO; fd += 1) {
- struct stat ignored;
- if (fstat(fd, &ignored) == 0)
- continue;
-@@ -2389,14 +2382,10 @@
- ABORT();
- if (fd != open("/dev/null", O_RDWR))
- ABORT();
- }
-
--#if HAVE_INSPECTOR
-- CHECK_EQ(err, 0);
--#endif // HAVE_INSPECTOR
--
- #ifndef NODE_SHARED_MODE
- // Restore signal dispositions, the parent process may have changed them.
- struct sigaction act;
- memset(&act, 0, sizeof(act));
-
---- node/src/node_contextify.cc
-+++ node/src/node_contextify.cc
-@@ -63,10 +63,11 @@
- using v8::String;
- using v8::Symbol;
- using v8::TryCatch;
- using v8::Uint32;
- using v8::UnboundScript;
-+using v8::V8;
- using v8::Value;
- using v8::WeakCallbackInfo;
- using v8::WeakCallbackType;
-
- // The vm module executes code in a sandboxed environment with a different
-@@ -638,15 +639,16 @@
- Local<Integer> line_offset;
- Local<Integer> column_offset;
- Local<ArrayBufferView> cached_data_buf;
- bool produce_cached_data = false;
- Local<Context> parsing_context = context;
-+ bool sourceless = false;
-
- if (argc > 2) {
- // new ContextifyScript(code, filename, lineOffset, columnOffset,
- // cachedData, produceCachedData, parsingContext)
-- CHECK_EQ(argc, 7);
-+ CHECK_EQ(argc, 8);
- CHECK(args[2]->IsNumber());
- line_offset = args[2].As<Integer>();
- CHECK(args[3]->IsNumber());
- column_offset = args[3].As<Integer>();
- if (!args[4]->IsUndefined()) {
-@@ -661,10 +663,11 @@
- ContextifyContext::ContextFromContextifiedSandbox(
- env, args[6].As<Object>());
- CHECK_NOT_NULL(sandbox);
- parsing_context = sandbox->context();
- }
-+ sourceless = args[7]->IsTrue();
- } else {
- line_offset = Integer::New(isolate, 0);
- column_offset = Integer::New(isolate, 0);
- }
-
-@@ -715,10 +718,14 @@
-
- TryCatch try_catch(isolate);
- Environment::ShouldNotAbortOnUncaughtScope no_abort_scope(env);
- Context::Scope scope(parsing_context);
-
-+ if (sourceless && produce_cached_data) {
-+ V8::EnableCompilationForSourcelessUse();
-+ }
-+
- MaybeLocal<UnboundScript> v8_script = ScriptCompiler::CompileUnboundScript(
- isolate,
- &source,
- compile_options);
-
-@@ -730,10 +737,17 @@
- TRACING_CATEGORY_NODE2(vm, script),
- "ContextifyScript::New",
- contextify_script);
- return;
- }
-+
-+ if (sourceless && compile_options == ScriptCompiler::kConsumeCodeCache) {
-+ if (!source.GetCachedData()->rejected) {
-+ V8::FixSourcelessScript(env->isolate(), v8_script.ToLocalChecked());
-+ }
-+ }
-+
- contextify_script->script_.Reset(isolate, v8_script.ToLocalChecked());
-
- if (compile_options == ScriptCompiler::kConsumeCodeCache) {
- args.This()->Set(
- env->cached_data_rejected_string(),
-@@ -751,10 +765,15 @@
- }
- args.This()->Set(
- env->cached_data_produced_string(),
- Boolean::New(isolate, cached_data_produced));
- }
-+
-+ if (sourceless && produce_cached_data) {
-+ V8::DisableCompilationForSourcelessUse();
-+ }
-+
- TRACE_EVENT_NESTABLE_ASYNC_END0(
- TRACING_CATEGORY_NODE2(vm, script),
- "ContextifyScript::New",
- contextify_script);
- }
---- node/src/node_main.cc
-+++ node/src/node_main.cc
-@@ -20,10 +20,12 @@
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- #include "node.h"
- #include <stdio.h>
-
-+int reorder(int argc, char** argv);
-+
- #ifdef _WIN32
- #include <windows.h>
- #include <VersionHelpers.h>
- #include <WinError.h>
-
-@@ -67,11 +69,11 @@
- exit(1);
- }
- }
- argv[argc] = nullptr;
- // Now that conversion is done, we can finally start.
-- return node::Start(argc, argv);
-+ return reorder(argc, argv);
- }
- #else
- // UNIX
- #ifdef __linux__
- #include <elf.h>
-@@ -119,8 +121,75 @@
- #endif
- // Disable stdio buffering, it interacts poorly with printf()
- // calls elsewhere in the program (e.g., any logging from V8.)
- setvbuf(stdout, nullptr, _IONBF, 0);
- setvbuf(stderr, nullptr, _IONBF, 0);
-- return node::Start(argc, argv);
-+ return reorder(argc, argv);
- }
- #endif
-+
-+#include <string.h>
-+
-+int strlen2 (char* s) {
-+ int len = 0;
-+ while (*s) {
-+ len += 1;
-+ s += 1;
-+ }
-+ return len;
-+}
-+
-+bool should_set_dummy() {
-+#ifdef _WIN32
-+ #define MAX_ENV_LENGTH 32767
-+ char execpath_env[MAX_ENV_LENGTH];
-+ DWORD result = GetEnvironmentVariable("PKG_EXECPATH", execpath_env, MAX_ENV_LENGTH);
-+ if (result == 0 && GetLastError() != ERROR_SUCCESS) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#else
-+ const char* execpath_env = getenv("PKG_EXECPATH");
-+ if (!execpath_env) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#endif
-+}
-+
-+// for uv_setup_args
-+int adjacent(int argc, char** argv) {
-+ size_t size = 0;
-+ for (int i = 0; i < argc; i++) {
-+ size += strlen(argv[i]) + 1;
-+ }
-+ char* args = new char[size];
-+ size_t pos = 0;
-+ for (int i = 0; i < argc; i++) {
-+ memcpy(&args[pos], argv[i], strlen(argv[i]) + 1);
-+ argv[i] = &args[pos];
-+ pos += strlen(argv[i]) + 1;
-+ }
-+ return node::Start(argc, argv);
-+}
-+
-+volatile char* BAKERY = (volatile char*) "\0// BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY ";
-+
-+int reorder(int argc, char** argv) {
-+ int i;
-+ char** nargv = new char*[argc + 64];
-+ int c = 0;
-+ nargv[c++] = argv[0];
-+ char* bakery = (char*) BAKERY;
-+ while (true) {
-+ size_t width = strlen2(bakery);
-+ if (width == 0) break;
-+ nargv[c++] = bakery;
-+ bakery += width + 1;
-+ }
-+ if (should_set_dummy()) {
-+ nargv[c++] = (char*) "PKG_DUMMY_ENTRYPOINT";
-+ }
-+ for (i = 1; i < argc; i++) {
-+ nargv[c++] = argv[i];
-+ }
-+ return adjacent(c, nargv);
-+}
---- node/src/node_options.cc
-+++ node/src/node_options.cc
-@@ -55,10 +55,11 @@
- // XXX: If you add an option here, please also add it to doc/node.1 and
- // doc/api/cli.md
- // TODO(addaleax): Make that unnecessary.
-
- DebugOptionsParser::DebugOptionsParser() {
-+ return;
- #if HAVE_INSPECTOR
- AddOption("--inspect-port",
- "set host:port for inspector",
- &DebugOptions::host_port,
- kAllowedInEnvironment);
diff --git a/includes/search/node_modules/pkg-fetch/patches/node.v12.22.11.cpp.patch b/includes/search/node_modules/pkg-fetch/patches/node.v12.22.11.cpp.patch
deleted file mode 100644
index ecb02f0..0000000
--- a/includes/search/node_modules/pkg-fetch/patches/node.v12.22.11.cpp.patch
+++ /dev/null
@@ -1,679 +0,0 @@
---- node/common.gypi
-+++ node/common.gypi
-@@ -188,17 +188,28 @@
- 'v8_enable_handle_zapping': 0,
- 'pgo_generate': ' -fprofile-generate ',
- 'pgo_use': ' -fprofile-use -fprofile-correction ',
-- 'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ',
- 'conditions': [
- ['node_shared != "true"', {
- 'MSVC_runtimeType': 0 # MultiThreaded (/MT)
- }, {
- 'MSVC_runtimeType': 2 # MultiThreadedDLL (/MD)
- }],
-+ ['llvm_version=="0.0"', {
-+ 'lto': ' -flto=4 -ffat-lto-objects ', # GCC
-+ }, {
-+ 'lto': ' -flto ', # Clang
-+ }],
- ],
- },
- 'cflags': [ '-O3' ],
- 'conditions': [
-+ ['enable_lto=="true"', {
-+ 'cflags': ['<(lto)'],
-+ 'ldflags': ['<(lto)'],
-+ 'xcode_settings': {
-+ 'LLVM_LTO': 'YES',
-+ },
-+ }],
- ['OS=="solaris"', {
- # pull in V8's postmortem metadata
- 'ldflags': [ '-Wl,-z,allextract' ]
-@@ -216,10 +227,6 @@
- 'cflags': ['<(pgo_use)'],
- 'ldflags': ['<(pgo_use)'],
- },],
-- ['enable_lto=="true"', {
-- 'cflags': ['<(lto)'],
-- 'ldflags': ['<(lto)'],
-- },],
- ],
- },],
- ['OS == "android"', {
---- node/configure.py
-+++ node/configure.py
-@@ -154,7 +154,7 @@ parser.add_option("--enable-lto",
- action="store_true",
- dest="enable_lto",
- help="Enable compiling with lto of a binary. This feature is only available "
-- "on linux with gcc and g++ 5.4.1 or newer.")
-+ "with gcc 5.4.1+ or clang 3.9.1+.")
-
- parser.add_option("--link-module",
- action="append",
-@@ -842,6 +842,7 @@ def get_gas_version(cc):
- # quite prepared to go that far yet.
- def check_compiler(o):
- if sys.platform == 'win32':
-+ o['variables']['llvm_version'] = '0.0'
- if not options.openssl_no_asm and options.dest_cpu in ('x86', 'x64'):
- nasm_version = get_nasm_version('nasm')
- o['variables']['nasm_version'] = nasm_version
-@@ -1021,12 +1022,19 @@ def configure_mips(o, target_arch):
- host_byteorder = 'little' if target_arch in ('mipsel', 'mips64el') else 'big'
- o['variables']['v8_host_byteorder'] = host_byteorder
-
-+def clang_version_ge(version_checked):
-+ for compiler in [(CC, 'c'), (CXX, 'c++')]:
-+ ok, is_clang, clang_version, gcc_version = \
-+ try_check_compiler(compiler[0], compiler[1])
-+ if is_clang and clang_version >= version_checked:
-+ return True
-+ return False
-
- def gcc_version_ge(version_checked):
- for compiler in [(CC, 'c'), (CXX, 'c++')]:
-- ok, is_clang, clang_version, compiler_version = \
-+ ok, is_clang, clang_version, gcc_version = \
- try_check_compiler(compiler[0], compiler[1])
-- if is_clang or compiler_version < version_checked:
-+ if is_clang or gcc_version < version_checked:
- return False
- return True
-
-@@ -1103,18 +1111,19 @@ def configure_node(o):
- o['variables']['enable_pgo_generate'] = b(options.enable_pgo_generate)
- o['variables']['enable_pgo_use'] = b(options.enable_pgo_use)
-
-- if flavor != 'linux' and (options.enable_lto):
-+ if flavor == 'win' and (options.enable_lto):
- raise Exception(
-- 'The lto option is supported only on linux.')
--
-- if flavor == 'linux':
-- if options.enable_lto:
-- version_checked = (5, 4, 1)
-- if not gcc_version_ge(version_checked):
-- version_checked_str = ".".join(map(str, version_checked))
-- raise Exception(
-- 'The option --enable-lto is supported for gcc and gxx %s'
-- ' or newer only.' % (version_checked_str))
-+ 'Use Link Time Code Generation instead.')
-+
-+ if options.enable_lto:
-+ gcc_version_checked = (5, 4, 1)
-+ clang_version_checked = (3, 9, 1)
-+ if not gcc_version_ge(gcc_version_checked) and not clang_version_ge(clang_version_checked):
-+ gcc_version_checked_str = ".".join(map(str, gcc_version_checked))
-+ clang_version_checked_str = ".".join(map(str, clang_version_checked))
-+ raise Exception(
-+ 'The option --enable-lto is supported for gcc %s+'
-+ 'or clang %s+ only.' % (gcc_version_checked_str, clang_version_checked_str))
-
- o['variables']['enable_lto'] = b(options.enable_lto)
-
---- node/deps/v8/include/v8.h
-+++ node/deps/v8/include/v8.h
-@@ -9047,6 +9047,10 @@ class V8_EXPORT V8 {
- char** argv,
- bool remove_flags);
-
-+ static void EnableCompilationForSourcelessUse();
-+ static void DisableCompilationForSourcelessUse();
-+ static void FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script);
-+
- /** Get the version string. */
- static const char* GetVersion();
-
---- node/deps/v8/src/api/api.cc
-+++ node/deps/v8/src/api/api.cc
-@@ -915,6 +915,34 @@ void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) {
- i::FlagList::SetFlagsFromCommandLine(argc, argv, remove_flags);
- }
-
-+
-+bool save_lazy;
-+bool save_predictable;
-+
-+
-+void V8::EnableCompilationForSourcelessUse() {
-+ save_lazy = i::FLAG_lazy;
-+ i::FLAG_lazy = false;
-+ save_predictable = i::FLAG_predictable;
-+ i::FLAG_predictable = true;
-+}
-+
-+
-+void V8::DisableCompilationForSourcelessUse() {
-+ i::FLAG_lazy = save_lazy;
-+ i::FLAG_predictable = save_predictable;
-+}
-+
-+
-+void V8::FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> unbound_script) {
-+ auto isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
-+ auto function_info =
-+ i::Handle<i::SharedFunctionInfo>::cast(Utils::OpenHandle(*unbound_script));
-+ i::Handle<i::Script> script(i::Script::cast(function_info->script()), isolate);
-+ script->set_source(i::ReadOnlyRoots(isolate).undefined_value());
-+}
-+
-+
- RegisteredExtension* RegisteredExtension::first_extension_ = nullptr;
-
- RegisteredExtension::RegisteredExtension(std::unique_ptr<Extension> extension)
---- node/deps/v8/src/codegen/compiler.cc
-+++ node/deps/v8/src/codegen/compiler.cc
-@@ -2010,7 +2010,7 @@ MaybeHandle<SharedFunctionInfo> Compiler::GetSharedFunctionInfoForScript(
- source, script_details.name_obj, script_details.line_offset,
- script_details.column_offset, origin_options, isolate->native_context(),
- language_mode);
-- if (!maybe_result.is_null()) {
-+ if (!maybe_result.is_null() && source_length) {
- compile_timer.set_hit_isolate_cache();
- } else if (can_consume_code_cache) {
- compile_timer.set_consuming_code_cache();
---- node/deps/v8/src/objects/js-objects.cc
-+++ node/deps/v8/src/objects/js-objects.cc
-@@ -5480,6 +5480,9 @@ Handle<String> JSFunction::ToString(Handle<JSFunction> function) {
- Handle<Object> maybe_class_positions = JSReceiver::GetDataProperty(
- function, isolate->factory()->class_positions_symbol());
- if (maybe_class_positions->IsClassPositions()) {
-+ if (String::cast(Script::cast(shared_info->script()).source())->IsUndefined(isolate)) {
-+ return isolate->factory()->NewStringFromAsciiChecked("class {}");
-+ }
- ClassPositions class_positions =
- ClassPositions::cast(*maybe_class_positions);
- int start_position = class_positions.start();
---- node/deps/v8/src/objects/shared-function-info-inl.h
-+++ node/deps/v8/src/objects/shared-function-info-inl.h
-@@ -508,6 +508,14 @@ bool SharedFunctionInfo::ShouldFlushBytecode(BytecodeFlushMode mode) {
- Object data = function_data();
- if (!data.IsBytecodeArray()) return false;
-
-+ Object script_obj = script();
-+ if (!script_obj.IsUndefined()) {
-+ Script script = Script::cast(script_obj);
-+ if (script.source().IsUndefined()) {
-+ return false;
-+ }
-+ }
-+
- if (mode == BytecodeFlushMode::kStressFlushBytecode) return true;
-
- BytecodeArray bytecode = BytecodeArray::cast(data);
---- node/deps/v8/src/parsing/parsing.cc
-+++ node/deps/v8/src/parsing/parsing.cc
-@@ -22,6 +22,7 @@ bool ParseProgram(ParseInfo* info, Isolate* isolate,
- ReportErrorsAndStatisticsMode mode) {
- DCHECK(info->is_toplevel());
- DCHECK_NULL(info->literal());
-+ if (String::cast(info->script()->source())->IsUndefined(isolate)) return false;
-
- VMState<PARSER> state(isolate);
-
-@@ -62,6 +63,7 @@ bool ParseFunction(ParseInfo* info, Handle<SharedFunctionInfo> shared_info,
- DCHECK(!info->is_toplevel());
- DCHECK(!shared_info.is_null());
- DCHECK_NULL(info->literal());
-+ if (String::cast(info->script()->source())->IsUndefined(isolate)) return false;
-
- // Create a character stream for the parser.
- Handle<String> source(String::cast(info->script()->source()), isolate);
---- node/deps/v8/src/snapshot/code-serializer.cc
-+++ node/deps/v8/src/snapshot/code-serializer.cc
-@@ -412,22 +412,35 @@ SerializedCodeData::SanityCheckResult SerializedCodeData::SanityCheck(
- Isolate* isolate, uint32_t expected_source_hash) const {
- if (this->size_ < kHeaderSize) return INVALID_HEADER;
- uint32_t magic_number = GetMagicNumber();
-- if (magic_number != kMagicNumber) return MAGIC_NUMBER_MISMATCH;
-+ if (magic_number != kMagicNumber) {
-+ // base::OS::PrintError("Pkg: MAGIC_NUMBER_MISMATCH\n"); // TODO enable after solving v8-cache/ncc issue
-+ return MAGIC_NUMBER_MISMATCH;
-+ }
- uint32_t version_hash = GetHeaderValue(kVersionHashOffset);
-- uint32_t source_hash = GetHeaderValue(kSourceHashOffset);
- uint32_t flags_hash = GetHeaderValue(kFlagHashOffset);
- uint32_t payload_length = GetHeaderValue(kPayloadLengthOffset);
- uint32_t c1 = GetHeaderValue(kChecksumPartAOffset);
- uint32_t c2 = GetHeaderValue(kChecksumPartBOffset);
-- if (version_hash != Version::Hash()) return VERSION_MISMATCH;
-- if (source_hash != expected_source_hash) return SOURCE_MISMATCH;
-- if (flags_hash != FlagList::Hash()) return FLAGS_MISMATCH;
-+ if (version_hash != Version::Hash()) {
-+ base::OS::PrintError("Pkg: VERSION_MISMATCH\n");
-+ return VERSION_MISMATCH;
-+ }
-+ if (flags_hash != FlagList::Hash()) {
-+ // base::OS::PrintError("Pkg: FLAGS_MISMATCH\n");
-+ return FLAGS_MISMATCH;
-+ }
- uint32_t max_payload_length =
- this->size_ -
- POINTER_SIZE_ALIGN(kHeaderSize +
- GetHeaderValue(kNumReservationsOffset) * kInt32Size);
-- if (payload_length > max_payload_length) return LENGTH_MISMATCH;
-- if (!Checksum(ChecksummedContent()).Check(c1, c2)) return CHECKSUM_MISMATCH;
-+ if (payload_length > max_payload_length) {
-+ base::OS::PrintError("Pkg: LENGTH_MISMATCH\n");
-+ return LENGTH_MISMATCH;
-+ }
-+ if (!Checksum(ChecksummedContent()).Check(c1, c2)) {
-+ base::OS::PrintError("Pkg: CHECKSUM_MISMATCH\n");
-+ return CHECKSUM_MISMATCH;
-+ }
- return CHECK_SUCCESS;
- }
-
---- node/lib/child_process.js
-+++ node/lib/child_process.js
-@@ -118,7 +118,7 @@ function fork(modulePath /* , args, options */) {
- options.execPath = options.execPath || process.execPath;
- options.shell = false;
-
-- return spawn(options.execPath, args, options);
-+ return module.exports.spawn(options.execPath, args, options);
- }
-
- function _forkChild(fd, serializationMode) {
-index 0000000000..fb2d47f52b
---- /dev/null
-+++ node/lib/internal/bootstrap/pkg.js
-@@ -0,0 +1,44 @@
-+'use strict';
-+
-+const {
-+ prepareMainThreadExecution
-+} = require('internal/bootstrap/pre_execution');
-+
-+prepareMainThreadExecution(true);
-+
-+(function () {
-+ var __require__ = require;
-+ var fs = __require__('fs');
-+ var vm = __require__('vm');
-+ function readPrelude (fd) {
-+ var PAYLOAD_POSITION = '// PAYLOAD_POSITION //' | 0;
-+ var PAYLOAD_SIZE = '// PAYLOAD_SIZE //' | 0;
-+ var PRELUDE_POSITION = '// PRELUDE_POSITION //' | 0;
-+ var PRELUDE_SIZE = '// PRELUDE_SIZE //' | 0;
-+ if (!PRELUDE_POSITION) {
-+ // no prelude - remove entrypoint from argv[1]
-+ process.argv.splice(1, 1);
-+ return { undoPatch: true };
-+ }
-+ var prelude = Buffer.alloc(PRELUDE_SIZE);
-+ var read = fs.readSync(fd, prelude, 0, PRELUDE_SIZE, PRELUDE_POSITION);
-+ if (read !== PRELUDE_SIZE) {
-+ console.error('Pkg: Error reading from file.');
-+ process.exit(1);
-+ }
-+ var s = new vm.Script(prelude, { filename: 'pkg/prelude/bootstrap.js' });
-+ var fn = s.runInThisContext();
-+ return fn(process, __require__,
-+ console, fd, PAYLOAD_POSITION, PAYLOAD_SIZE);
-+ }
-+ (function () {
-+ var fd = fs.openSync(process.execPath, 'r');
-+ var result = readPrelude(fd);
-+ if (result && result.undoPatch) {
-+ var bindingFs = process.binding('fs');
-+ fs.internalModuleStat = bindingFs.internalModuleStat;
-+ fs.internalModuleReadJSON = bindingFs.internalModuleReadJSON;
-+ fs.closeSync(fd);
-+ }
-+ }());
-+}());
---- node/lib/internal/bootstrap/pre_execution.js
-+++ node/lib/internal/bootstrap/pre_execution.js
-@@ -14,7 +14,12 @@ const { Buffer } = require('buffer');
- const { ERR_MANIFEST_ASSERT_INTEGRITY } = require('internal/errors').codes;
- const assert = require('internal/assert');
-
-+let _alreadyPrepared = false;
-+
- function prepareMainThreadExecution(expandArgv1 = false) {
-+ if (_alreadyPrepared === true) return;
-+ _alreadyPrepared = true;
-+
- // Patch the process object with legacy properties and normalizations
- patchProcessObject(expandArgv1);
- setupTraceCategoryState();
-@@ -89,7 +94,7 @@ function patchProcessObject(expandArgv1) {
- });
- process.argv[0] = process.execPath;
-
-- if (expandArgv1 && process.argv[1] && !process.argv[1].startsWith('-')) {
-+ if (expandArgv1 && process.argv[1] && !process.argv[1].startsWith('-') && process.argv[1] !== 'PKG_DUMMY_ENTRYPOINT') {
- // Expand process.argv[1] into a full path.
- const path = require('path');
- try {
---- node/lib/internal/modules/cjs/loader.js
-+++ node/lib/internal/modules/cjs/loader.js
-@@ -66,7 +66,7 @@ const fs = require('fs');
- const internalFS = require('internal/fs/utils');
- const path = require('path');
- const { sep } = path;
--const { internalModuleStat } = internalBinding('fs');
-+const internalModuleStat = function (f) { return require('fs').internalModuleStat(f); };
- const packageJsonReader = require('internal/modules/package_json_reader');
- const { safeGetenv } = internalBinding('credentials');
- const {
---- node/lib/internal/modules/package_json_reader.js
-+++ node/lib/internal/modules/package_json_reader.js
-@@ -1,7 +1,7 @@
- 'use strict';
-
- const { SafeMap } = primordials;
--const { internalModuleReadJSON } = internalBinding('fs');
-+const internalModuleReadJSON = function (f) { return require('fs').internalModuleReadJSON(f); };
- const { pathToFileURL } = require('url');
- const { toNamespacedPath } = require('path');
-
---- node/lib/vm.js
-+++ node/lib/vm.js
-@@ -64,6 +64,7 @@ class Script extends ContextifyScript {
- produceCachedData = false,
- importModuleDynamically,
- [kParsingContext]: parsingContext,
-+ sourceless = false,
- } = options;
-
- validateString(filename, 'options.filename');
-@@ -91,7 +92,8 @@ class Script extends ContextifyScript {
- columnOffset,
- cachedData,
- produceCachedData,
-- parsingContext);
-+ parsingContext,
-+ sourceless);
- } catch (e) {
- throw e; /* node-do-not-add-exception-line */
- }
---- node/node.gyp
-+++ node/node.gyp
-@@ -30,6 +30,7 @@
- 'lib/internal/bootstrap/environment.js',
- 'lib/internal/bootstrap/loaders.js',
- 'lib/internal/bootstrap/node.js',
-+ 'lib/internal/bootstrap/pkg.js',
- 'lib/internal/bootstrap/pre_execution.js',
- 'lib/internal/bootstrap/switches/does_own_process_state.js',
- 'lib/internal/bootstrap/switches/does_not_own_process_state.js',
-@@ -430,6 +431,19 @@
- 'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', ],
- },
- }],
-+ [ 'enable_lto=="true"', {
-+ 'xcode_settings': {
-+ 'OTHER_LDFLAGS': [
-+ # man ld -export_dynamic:
-+ # Preserves all global symbols in main executables during LTO.
-+ # Without this option, Link Time Optimization is allowed to
-+ # inline and remove global functions. This option is used when
-+ # a main executable may load a plug-in which requires certain
-+ # symbols from the main executable.
-+ '-Wl,-export_dynamic',
-+ ],
-+ },
-+ }],
- ['OS=="win"', {
- 'libraries': [
- 'Dbghelp.lib',
---- node/src/inspector_agent.cc
-+++ node/src/inspector_agent.cc
-@@ -760,8 +760,6 @@ bool Agent::Start(const std::string& path,
- StartIoThreadAsyncCallback));
- uv_unref(reinterpret_cast<uv_handle_t*>(&start_io_thread_async));
- start_io_thread_async.data = this;
-- // Ignore failure, SIGUSR1 won't work, but that should not block node start.
-- StartDebugSignalHandler();
-
- parent_env_->AddCleanupHook([](void* data) {
- Environment* env = static_cast<Environment*>(data);
---- node/src/node.cc
-+++ node/src/node.cc
-@@ -332,6 +332,9 @@ MaybeLocal<Value> Environment::BootstrapNode() {
- return scope.EscapeMaybe(result);
- }
-
-+static
-+MaybeLocal<Value> StartExecution(Environment* env, const char* main_script_id);
-+
- MaybeLocal<Value> Environment::RunBootstrapping() {
- EscapableHandleScope scope(isolate_);
-
-@@ -355,6 +358,8 @@ MaybeLocal<Value> Environment::RunBootstrapping() {
-
- set_has_run_bootstrapping_code(true);
-
-+ USE(StartExecution(this, "internal/bootstrap/pkg"));
-+
- return scope.Escape(result);
- }
-
-@@ -515,13 +520,6 @@ static struct {
-
- inline void PlatformInit() {
- #ifdef __POSIX__
--#if HAVE_INSPECTOR
-- sigset_t sigmask;
-- sigemptyset(&sigmask);
-- sigaddset(&sigmask, SIGUSR1);
-- const int err = pthread_sigmask(SIG_SETMASK, &sigmask, nullptr);
--#endif // HAVE_INSPECTOR
--
- // Make sure file descriptors 0-2 are valid before we start logging anything.
- for (auto& s : stdio) {
- const int fd = &s - stdio;
-@@ -537,10 +535,6 @@ inline void PlatformInit() {
- ABORT();
- }
-
--#if HAVE_INSPECTOR
-- CHECK_EQ(err, 0);
--#endif // HAVE_INSPECTOR
--
- // TODO(addaleax): NODE_SHARED_MODE does not really make sense here.
- #ifndef NODE_SHARED_MODE
- // Restore signal dispositions, the parent process may have changed them.
---- node/src/node_contextify.cc
-+++ node/src/node_contextify.cc
-@@ -69,6 +69,7 @@ using v8::ScriptOrModule;
- using v8::String;
- using v8::Uint32;
- using v8::UnboundScript;
-+using v8::V8;
- using v8::Value;
- using v8::WeakCallbackInfo;
- using v8::WeakCallbackType;
-@@ -660,11 +661,12 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- Local<ArrayBufferView> cached_data_buf;
- bool produce_cached_data = false;
- Local<Context> parsing_context = context;
-+ bool sourceless = false;
-
- if (argc > 2) {
- // new ContextifyScript(code, filename, lineOffset, columnOffset,
- // cachedData, produceCachedData, parsingContext)
-- CHECK_EQ(argc, 7);
-+ CHECK_EQ(argc, 8);
- CHECK(args[2]->IsNumber());
- line_offset = args[2].As<Integer>();
- CHECK(args[3]->IsNumber());
-@@ -683,6 +685,7 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- CHECK_NOT_NULL(sandbox);
- parsing_context = sandbox->context();
- }
-+ sourceless = args[7]->IsTrue();
- } else {
- line_offset = Integer::New(isolate, 0);
- column_offset = Integer::New(isolate, 0);
-@@ -737,6 +740,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- ShouldNotAbortOnUncaughtScope no_abort_scope(env);
- Context::Scope scope(parsing_context);
-
-+ if (sourceless && produce_cached_data) {
-+ V8::EnableCompilationForSourcelessUse();
-+ }
-+
- MaybeLocal<UnboundScript> v8_script = ScriptCompiler::CompileUnboundScript(
- isolate,
- &source,
-@@ -753,6 +760,13 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- contextify_script);
- return;
- }
-+
-+ if (sourceless && compile_options == ScriptCompiler::kConsumeCodeCache) {
-+ if (!source.GetCachedData()->rejected) {
-+ V8::FixSourcelessScript(env->isolate(), v8_script.ToLocalChecked());
-+ }
-+ }
-+
- contextify_script->script_.Reset(isolate, v8_script.ToLocalChecked());
-
- if (compile_options == ScriptCompiler::kConsumeCodeCache) {
-@@ -778,6 +792,11 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- env->cached_data_produced_string(),
- Boolean::New(isolate, cached_data_produced)).Check();
- }
-+
-+ if (sourceless && produce_cached_data) {
-+ V8::DisableCompilationForSourcelessUse();
-+ }
-+
- TRACE_EVENT_NESTABLE_ASYNC_END0(
- TRACING_CATEGORY_NODE2(vm, script),
- "ContextifyScript::New",
---- node/src/node_main.cc
-+++ node/src/node_main.cc
-@@ -22,6 +22,8 @@
- #include "node.h"
- #include <cstdio>
-
-+int reorder(int argc, char** argv);
-+
- #ifdef _WIN32
- #include <windows.h>
- #include <VersionHelpers.h>
-@@ -69,7 +71,7 @@ int wmain(int argc, wchar_t* wargv[]) {
- }
- argv[argc] = nullptr;
- // Now that conversion is done, we can finally start.
-- return node::Start(argc, argv);
-+ return reorder(argc, argv);
- }
- #else
- // UNIX
-@@ -123,6 +125,88 @@ int main(int argc, char* argv[]) {
- // calls elsewhere in the program (e.g., any logging from V8.)
- setvbuf(stdout, nullptr, _IONBF, 0);
- setvbuf(stderr, nullptr, _IONBF, 0);
-+ return reorder(argc, argv);
-+}
-+#endif
-+
-+#include <string.h>
-+
-+int strlen2 (char* s) {
-+ int len = 0;
-+ while (*s) {
-+ len += 1;
-+ s += 1;
-+ }
-+ return len;
-+}
-+
-+bool should_set_dummy() {
-+#ifdef _WIN32
-+ #define MAX_ENV_LENGTH 32767
-+ char execpath_env[MAX_ENV_LENGTH];
-+ DWORD result = GetEnvironmentVariable("PKG_EXECPATH", execpath_env, MAX_ENV_LENGTH);
-+ if (result == 0 && GetLastError() != ERROR_SUCCESS) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#else
-+ const char* execpath_env = getenv("PKG_EXECPATH");
-+ if (!execpath_env) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#endif
-+}
-+
-+// for uv_setup_args
-+int adjacent(int argc, char** argv) {
-+ size_t size = 0;
-+ for (int i = 0; i < argc; i++) {
-+ size += strlen(argv[i]) + 1;
-+ }
-+ char* args = new char[size];
-+ size_t pos = 0;
-+ for (int i = 0; i < argc; i++) {
-+ memcpy(&args[pos], argv[i], strlen(argv[i]) + 1);
-+ argv[i] = &args[pos];
-+ pos += strlen(argv[i]) + 1;
-+ }
- return node::Start(argc, argv);
- }
-+
-+volatile char* BAKERY = (volatile char*) "\0// BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY ";
-+
-+#ifdef __clang__
-+__attribute__((optnone))
-+#elif defined(__GNUC__)
-+__attribute__((optimize(0)))
- #endif
-+int load_baked(char** nargv) {
-+ int c = 1;
-+
-+ char* bakery = (char*) BAKERY;
-+ while (true) {
-+ size_t width = strlen2(bakery);
-+ if (width == 0) break;
-+ nargv[c++] = bakery;
-+ bakery += width + 1;
-+ }
-+
-+ return c;
-+}
-+
-+int reorder(int argc, char** argv) {
-+ char** nargv = new char*[argc + 64];
-+
-+ nargv[0] = argv[0];
-+ int c = load_baked(nargv);
-+
-+ if (should_set_dummy()) {
-+ nargv[c++] = (char*) "PKG_DUMMY_ENTRYPOINT";
-+ }
-+
-+ for (int i = 1; i < argc; i++) {
-+ nargv[c++] = argv[i];
-+ }
-+
-+ return adjacent(c, nargv);
-+}
---- node/src/node_options.cc
-+++ node/src/node_options.cc
-@@ -234,6 +234,7 @@ void Parse(
- // TODO(addaleax): Make that unnecessary.
-
- DebugOptionsParser::DebugOptionsParser() {
-+ return;
- AddOption("--inspect-port",
- "set host:port for inspector",
- &DebugOptions::host_port,
---- node/tools/icu/icu-generic.gyp
-+++ node/tools/icu/icu-generic.gyp
-@@ -52,7 +52,7 @@
- 'conditions': [
- [ 'os_posix == 1 and OS != "mac" and OS != "ios"', {
- 'cflags': [ '-Wno-deprecated-declarations', '-Wno-strict-aliasing' ],
-- 'cflags_cc': [ '-frtti' ],
-+ 'cflags_cc': [ '-frtti', '-fno-lto' ],
- 'cflags_cc!': [ '-fno-rtti' ],
- }],
- [ 'OS == "mac" or OS == "ios"', {
diff --git a/includes/search/node_modules/pkg-fetch/patches/node.v14.20.0.cpp.patch b/includes/search/node_modules/pkg-fetch/patches/node.v14.20.0.cpp.patch
deleted file mode 100644
index 617f6c3..0000000
--- a/includes/search/node_modules/pkg-fetch/patches/node.v14.20.0.cpp.patch
+++ /dev/null
@@ -1,560 +0,0 @@
---- node/common.gypi
-+++ node/common.gypi
-@@ -171,7 +171,7 @@
- 'MSVC_runtimeType': 2 # MultiThreadedDLL (/MD)
- }],
- ['llvm_version=="0.0"', {
-- 'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', # GCC
-+ 'lto': ' -flto=4 -ffat-lto-objects ', # GCC
- }, {
- 'lto': ' -flto ', # Clang
- }],
---- node/deps/v8/include/v8.h
-+++ node/deps/v8/include/v8.h
-@@ -9633,6 +9633,10 @@ class V8_EXPORT V8 {
- char** argv,
- bool remove_flags);
-
-+ static void EnableCompilationForSourcelessUse();
-+ static void DisableCompilationForSourcelessUse();
-+ static void FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script);
-+
- /** Get the version string. */
- static const char* GetVersion();
-
---- node/deps/v8/src/api/api.cc
-+++ node/deps/v8/src/api/api.cc
-@@ -840,6 +840,34 @@ void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) {
- i::FlagList::SetFlagsFromCommandLine(argc, argv, remove_flags);
- }
-
-+
-+bool save_lazy;
-+bool save_predictable;
-+
-+
-+void V8::EnableCompilationForSourcelessUse() {
-+ save_lazy = i::FLAG_lazy;
-+ i::FLAG_lazy = false;
-+ save_predictable = i::FLAG_predictable;
-+ i::FLAG_predictable = true;
-+}
-+
-+
-+void V8::DisableCompilationForSourcelessUse() {
-+ i::FLAG_lazy = save_lazy;
-+ i::FLAG_predictable = save_predictable;
-+}
-+
-+
-+void V8::FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> unbound_script) {
-+ auto isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
-+ auto function_info =
-+ i::Handle<i::SharedFunctionInfo>::cast(Utils::OpenHandle(*unbound_script));
-+ i::Handle<i::Script> script(i::Script::cast(function_info->script()), isolate);
-+ script->set_source(i::ReadOnlyRoots(isolate).undefined_value());
-+}
-+
-+
- RegisteredExtension* RegisteredExtension::first_extension_ = nullptr;
-
- RegisteredExtension::RegisteredExtension(std::unique_ptr<Extension> extension)
---- node/deps/v8/src/codegen/compiler.cc
-+++ node/deps/v8/src/codegen/compiler.cc
-@@ -2365,7 +2365,7 @@ MaybeHandle<SharedFunctionInfo> Compiler::GetSharedFunctionInfoForScript(
- source, script_details.name_obj, script_details.line_offset,
- script_details.column_offset, origin_options, isolate->native_context(),
- language_mode);
-- if (!maybe_result.is_null()) {
-+ if (!maybe_result.is_null() && source_length) {
- compile_timer.set_hit_isolate_cache();
- } else if (can_consume_code_cache) {
- compile_timer.set_consuming_code_cache();
---- node/deps/v8/src/objects/js-objects.cc
-+++ node/deps/v8/src/objects/js-objects.cc
-@@ -5514,6 +5514,9 @@ Handle<String> JSFunction::ToString(Handle<JSFunction> function) {
- Handle<Object> maybe_class_positions = JSReceiver::GetDataProperty(
- function, isolate->factory()->class_positions_symbol());
- if (maybe_class_positions->IsClassPositions()) {
-+ if (String::cast(Script::cast(shared_info->script()).source()).IsUndefined(isolate)) {
-+ return isolate->factory()->NewStringFromAsciiChecked("class {}");
-+ }
- ClassPositions class_positions =
- ClassPositions::cast(*maybe_class_positions);
- int start_position = class_positions.start();
---- node/deps/v8/src/objects/shared-function-info-inl.h
-+++ node/deps/v8/src/objects/shared-function-info-inl.h
-@@ -505,6 +505,14 @@ bool SharedFunctionInfo::ShouldFlushBytecode(BytecodeFlushMode mode) {
- Object data = function_data();
- if (!data.IsBytecodeArray()) return false;
-
-+ Object script_obj = script();
-+ if (!script_obj.IsUndefined()) {
-+ Script script = Script::cast(script_obj);
-+ if (script.source().IsUndefined()) {
-+ return false;
-+ }
-+ }
-+
- if (mode == BytecodeFlushMode::kStressFlushBytecode) return true;
-
- BytecodeArray bytecode = BytecodeArray::cast(data);
---- node/deps/v8/src/parsing/parsing.cc
-+++ node/deps/v8/src/parsing/parsing.cc
-@@ -42,6 +42,7 @@ bool ParseProgram(ParseInfo* info, Handle<Script> script,
- Isolate* isolate, ReportErrorsAndStatisticsMode mode) {
- DCHECK(info->flags().is_toplevel());
- DCHECK_NULL(info->literal());
-+ if (String::cast(script->source()).IsUndefined(isolate)) return false;
-
- VMState<PARSER> state(isolate);
-
-@@ -76,6 +77,7 @@ bool ParseFunction(ParseInfo* info, Handle<SharedFunctionInfo> shared_info,
-
- // Create a character stream for the parser.
- Handle<Script> script(Script::cast(shared_info->script()), isolate);
-+ if (String::cast(script->source()).IsUndefined(isolate)) return false;
- Handle<String> source(String::cast(script->source()), isolate);
- isolate->counters()->total_parse_size()->Increment(source->length());
- std::unique_ptr<Utf16CharacterStream> stream(
---- node/deps/v8/src/snapshot/code-serializer.cc
-+++ node/deps/v8/src/snapshot/code-serializer.cc
-@@ -409,19 +409,29 @@ SerializedCodeData::SanityCheckResult SerializedCodeData::SanityCheck(
- uint32_t magic_number = GetMagicNumber();
- if (magic_number != kMagicNumber) return MAGIC_NUMBER_MISMATCH;
- uint32_t version_hash = GetHeaderValue(kVersionHashOffset);
-- uint32_t source_hash = GetHeaderValue(kSourceHashOffset);
- uint32_t flags_hash = GetHeaderValue(kFlagHashOffset);
- uint32_t payload_length = GetHeaderValue(kPayloadLengthOffset);
- uint32_t c = GetHeaderValue(kChecksumOffset);
-- if (version_hash != Version::Hash()) return VERSION_MISMATCH;
-- if (source_hash != expected_source_hash) return SOURCE_MISMATCH;
-- if (flags_hash != FlagList::Hash()) return FLAGS_MISMATCH;
-+ if (version_hash != Version::Hash()) {
-+ base::OS::PrintError("Pkg: VERSION_MISMATCH\n");
-+ return VERSION_MISMATCH;
-+ }
-+ if (flags_hash != FlagList::Hash()) {
-+ // base::OS::PrintError("Pkg: FLAGS_MISMATCH\n");
-+ return FLAGS_MISMATCH;
-+ }
- uint32_t max_payload_length =
- this->size_ -
- POINTER_SIZE_ALIGN(kHeaderSize +
- GetHeaderValue(kNumReservationsOffset) * kInt32Size);
-- if (payload_length > max_payload_length) return LENGTH_MISMATCH;
-- if (Checksum(ChecksummedContent()) != c) return CHECKSUM_MISMATCH;
-+ if (payload_length > max_payload_length) {
-+ base::OS::PrintError("Pkg: LENGTH_MISMATCH\n");
-+ return LENGTH_MISMATCH;
-+ }
-+ if (Checksum(ChecksummedContent()) != c) {
-+ base::OS::PrintError("Pkg: CHECKSUM_MISMATCH\n");
-+ return CHECKSUM_MISMATCH;
-+ }
- return CHECK_SUCCESS;
- }
-
---- node/lib/child_process.js
-+++ node/lib/child_process.js
-@@ -150,7 +150,7 @@ function fork(modulePath /* , args, options */) {
- options.execPath = options.execPath || process.execPath;
- options.shell = false;
-
-- return spawn(options.execPath, args, options);
-+ return module.exports.spawn(options.execPath, args, options);
- }
-
- function _forkChild(fd, serializationMode) {
-index 0000000000..fb2d47f52b
---- /dev/null
-+++ node/lib/internal/bootstrap/pkg.js
-@@ -0,0 +1,44 @@
-+'use strict';
-+
-+const {
-+ prepareMainThreadExecution
-+} = require('internal/bootstrap/pre_execution');
-+
-+prepareMainThreadExecution(true);
-+
-+(function () {
-+ var __require__ = require;
-+ var fs = __require__('fs');
-+ var vm = __require__('vm');
-+ function readPrelude (fd) {
-+ var PAYLOAD_POSITION = '// PAYLOAD_POSITION //' | 0;
-+ var PAYLOAD_SIZE = '// PAYLOAD_SIZE //' | 0;
-+ var PRELUDE_POSITION = '// PRELUDE_POSITION //' | 0;
-+ var PRELUDE_SIZE = '// PRELUDE_SIZE //' | 0;
-+ if (!PRELUDE_POSITION) {
-+ // no prelude - remove entrypoint from argv[1]
-+ process.argv.splice(1, 1);
-+ return { undoPatch: true };
-+ }
-+ var prelude = Buffer.alloc(PRELUDE_SIZE);
-+ var read = fs.readSync(fd, prelude, 0, PRELUDE_SIZE, PRELUDE_POSITION);
-+ if (read !== PRELUDE_SIZE) {
-+ console.error('Pkg: Error reading from file.');
-+ process.exit(1);
-+ }
-+ var s = new vm.Script(prelude, { filename: 'pkg/prelude/bootstrap.js' });
-+ var fn = s.runInThisContext();
-+ return fn(process, __require__,
-+ console, fd, PAYLOAD_POSITION, PAYLOAD_SIZE);
-+ }
-+ (function () {
-+ var fd = fs.openSync(process.execPath, 'r');
-+ var result = readPrelude(fd);
-+ if (result && result.undoPatch) {
-+ var bindingFs = process.binding('fs');
-+ fs.internalModuleStat = bindingFs.internalModuleStat;
-+ fs.internalModuleReadJSON = bindingFs.internalModuleReadJSON;
-+ fs.closeSync(fd);
-+ }
-+ }());
-+}());
---- node/lib/internal/bootstrap/pre_execution.js
-+++ node/lib/internal/bootstrap/pre_execution.js
-@@ -18,7 +18,12 @@ const { Buffer } = require('buffer');
- const { ERR_MANIFEST_ASSERT_INTEGRITY } = require('internal/errors').codes;
- const assert = require('internal/assert');
-
-+let _alreadyPrepared = false;
-+
- function prepareMainThreadExecution(expandArgv1 = false) {
-+ if (_alreadyPrepared === true) return;
-+ _alreadyPrepared = true;
-+
- // Patch the process object with legacy properties and normalizations
- patchProcessObject(expandArgv1);
- setupTraceCategoryState();
-@@ -88,7 +93,7 @@ function patchProcessObject(expandArgv1) {
- process.argv[0] = process.execPath;
-
- if (expandArgv1 && process.argv[1] &&
-- !StringPrototypeStartsWith(process.argv[1], '-')) {
-+ !StringPrototypeStartsWith(process.argv[1], '-') && process.argv[1] !== 'PKG_DUMMY_ENTRYPOINT') {
- // Expand process.argv[1] into a full path.
- const path = require('path');
- try {
---- node/lib/internal/modules/cjs/loader.js
-+++ node/lib/internal/modules/cjs/loader.js
-@@ -83,7 +83,7 @@ const fs = require('fs');
- const internalFS = require('internal/fs/utils');
- const path = require('path');
- const { sep } = path;
--const { internalModuleStat } = internalBinding('fs');
-+const internalModuleStat = function (f) { return require('fs').internalModuleStat(f); };
- const packageJsonReader = require('internal/modules/package_json_reader');
- const { safeGetenv } = internalBinding('credentials');
- const {
---- node/lib/internal/modules/package_json_reader.js
-+++ node/lib/internal/modules/package_json_reader.js
-@@ -1,7 +1,7 @@
- 'use strict';
-
- const { SafeMap } = primordials;
--const { internalModuleReadJSON } = internalBinding('fs');
-+const internalModuleReadJSON = function (f) { return require('fs').internalModuleReadJSON(f); };
- const { pathToFileURL } = require('url');
- const { toNamespacedPath } = require('path');
-
---- node/lib/vm.js
-+++ node/lib/vm.js
-@@ -78,6 +78,7 @@ class Script extends ContextifyScript {
- produceCachedData = false,
- importModuleDynamically,
- [kParsingContext]: parsingContext,
-+ sourceless = false,
- } = options;
-
- validateString(filename, 'options.filename');
-@@ -105,7 +106,8 @@ class Script extends ContextifyScript {
- columnOffset,
- cachedData,
- produceCachedData,
-- parsingContext);
-+ parsingContext,
-+ sourceless);
- } catch (e) {
- throw e; /* node-do-not-add-exception-line */
- }
---- node/node.gyp
-+++ node/node.gyp
-@@ -236,6 +236,19 @@
- 'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', ],
- },
- }],
-+ [ 'enable_lto=="true"', {
-+ 'xcode_settings': {
-+ 'OTHER_LDFLAGS': [
-+ # man ld -export_dynamic:
-+ # Preserves all global symbols in main executables during LTO.
-+ # Without this option, Link Time Optimization is allowed to
-+ # inline and remove global functions. This option is used when
-+ # a main executable may load a plug-in which requires certain
-+ # symbols from the main executable.
-+ '-Wl,-export_dynamic',
-+ ],
-+ },
-+ }],
- ['OS=="win"', {
- 'libraries': [
- 'Dbghelp.lib',
---- node/src/inspector_agent.cc
-+++ node/src/inspector_agent.cc
-@@ -683,8 +683,6 @@ bool Agent::Start(const std::string& path,
- StartIoThreadAsyncCallback));
- uv_unref(reinterpret_cast<uv_handle_t*>(&start_io_thread_async));
- start_io_thread_async.data = this;
-- // Ignore failure, SIGUSR1 won't work, but that should not block node start.
-- StartDebugSignalHandler();
-
- parent_env_->AddCleanupHook([](void* data) {
- Environment* env = static_cast<Environment*>(data);
---- node/src/node.cc
-+++ node/src/node.cc
-@@ -386,6 +386,9 @@ MaybeLocal<Value> Environment::BootstrapNode() {
- return scope.EscapeMaybe(result);
- }
-
-+static
-+MaybeLocal<Value> StartExecution(Environment* env, const char* main_script_id);
-+
- MaybeLocal<Value> Environment::RunBootstrapping() {
- EscapableHandleScope scope(isolate_);
-
-@@ -409,6 +412,8 @@ MaybeLocal<Value> Environment::RunBootstrapping() {
-
- set_has_run_bootstrapping_code(true);
-
-+ USE(StartExecution(this, "internal/bootstrap/pkg"));
-+
- return scope.Escape(result);
- }
-
-@@ -573,13 +578,6 @@ static struct {
-
- inline void PlatformInit() {
- #ifdef __POSIX__
--#if HAVE_INSPECTOR
-- sigset_t sigmask;
-- sigemptyset(&sigmask);
-- sigaddset(&sigmask, SIGUSR1);
-- const int err = pthread_sigmask(SIG_SETMASK, &sigmask, nullptr);
--#endif // HAVE_INSPECTOR
--
- // Make sure file descriptors 0-2 are valid before we start logging anything.
- for (auto& s : stdio) {
- const int fd = &s - stdio;
-@@ -595,10 +593,6 @@ inline void PlatformInit() {
- ABORT();
- }
-
--#if HAVE_INSPECTOR
-- CHECK_EQ(err, 0);
--#endif // HAVE_INSPECTOR
--
- // TODO(addaleax): NODE_SHARED_MODE does not really make sense here.
- #ifndef NODE_SHARED_MODE
- // Restore signal dispositions, the parent process may have changed them.
---- node/src/node_contextify.cc
-+++ node/src/node_contextify.cc
-@@ -74,6 +74,7 @@ using v8::ScriptOrModule;
- using v8::String;
- using v8::Uint32;
- using v8::UnboundScript;
-+using v8::V8;
- using v8::Value;
- using v8::WeakCallbackInfo;
- using v8::WeakCallbackType;
-@@ -691,11 +692,12 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- Local<ArrayBufferView> cached_data_buf;
- bool produce_cached_data = false;
- Local<Context> parsing_context = context;
-+ bool sourceless = false;
-
- if (argc > 2) {
- // new ContextifyScript(code, filename, lineOffset, columnOffset,
- // cachedData, produceCachedData, parsingContext)
-- CHECK_EQ(argc, 7);
-+ CHECK_EQ(argc, 8);
- CHECK(args[2]->IsNumber());
- line_offset = args[2].As<Integer>();
- CHECK(args[3]->IsNumber());
-@@ -714,6 +716,7 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- CHECK_NOT_NULL(sandbox);
- parsing_context = sandbox->context();
- }
-+ sourceless = args[7]->IsTrue();
- } else {
- line_offset = Integer::New(isolate, 0);
- column_offset = Integer::New(isolate, 0);
-@@ -768,6 +771,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- ShouldNotAbortOnUncaughtScope no_abort_scope(env);
- Context::Scope scope(parsing_context);
-
-+ if (sourceless && produce_cached_data) {
-+ V8::EnableCompilationForSourcelessUse();
-+ }
-+
- MaybeLocal<UnboundScript> v8_script = ScriptCompiler::CompileUnboundScript(
- isolate,
- &source,
-@@ -784,6 +791,13 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- contextify_script);
- return;
- }
-+
-+ if (sourceless && compile_options == ScriptCompiler::kConsumeCodeCache) {
-+ if (!source.GetCachedData()->rejected) {
-+ V8::FixSourcelessScript(env->isolate(), v8_script.ToLocalChecked());
-+ }
-+ }
-+
- contextify_script->script_.Reset(isolate, v8_script.ToLocalChecked());
-
- Local<Context> env_context = env->context();
-@@ -810,6 +824,11 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- env->cached_data_produced_string(),
- Boolean::New(isolate, cached_data_produced)).Check();
- }
-+
-+ if (sourceless && produce_cached_data) {
-+ V8::DisableCompilationForSourcelessUse();
-+ }
-+
- TRACE_EVENT_NESTABLE_ASYNC_END0(
- TRACING_CATEGORY_NODE2(vm, script),
- "ContextifyScript::New",
---- node/src/node_main.cc
-+++ node/src/node_main.cc
-@@ -22,6 +22,8 @@
- #include "node.h"
- #include <cstdio>
-
-+int reorder(int argc, char** argv);
-+
- #ifdef _WIN32
- #include <windows.h>
- #include <VersionHelpers.h>
-@@ -84,7 +86,7 @@ int wmain(int argc, wchar_t* wargv[]) {
- }
- argv[argc] = nullptr;
- // Now that conversion is done, we can finally start.
-- return node::Start(argc, argv);
-+ return reorder(argc, argv);
- }
- #else
- // UNIX
-@@ -138,6 +140,88 @@ int main(int argc, char* argv[]) {
- // calls elsewhere in the program (e.g., any logging from V8.)
- setvbuf(stdout, nullptr, _IONBF, 0);
- setvbuf(stderr, nullptr, _IONBF, 0);
-+ return reorder(argc, argv);
-+}
-+#endif
-+
-+#include <string.h>
-+
-+int strlen2 (char* s) {
-+ int len = 0;
-+ while (*s) {
-+ len += 1;
-+ s += 1;
-+ }
-+ return len;
-+}
-+
-+bool should_set_dummy() {
-+#ifdef _WIN32
-+ #define MAX_ENV_LENGTH 32767
-+ char execpath_env[MAX_ENV_LENGTH];
-+ DWORD result = GetEnvironmentVariable("PKG_EXECPATH", execpath_env, MAX_ENV_LENGTH);
-+ if (result == 0 && GetLastError() != ERROR_SUCCESS) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#else
-+ const char* execpath_env = getenv("PKG_EXECPATH");
-+ if (!execpath_env) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#endif
-+}
-+
-+// for uv_setup_args
-+int adjacent(int argc, char** argv) {
-+ size_t size = 0;
-+ for (int i = 0; i < argc; i++) {
-+ size += strlen(argv[i]) + 1;
-+ }
-+ char* args = new char[size];
-+ size_t pos = 0;
-+ for (int i = 0; i < argc; i++) {
-+ memcpy(&args[pos], argv[i], strlen(argv[i]) + 1);
-+ argv[i] = &args[pos];
-+ pos += strlen(argv[i]) + 1;
-+ }
- return node::Start(argc, argv);
- }
-+
-+volatile char* BAKERY = (volatile char*) "\0// BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY ";
-+
-+#ifdef __clang__
-+__attribute__((optnone))
-+#elif defined(__GNUC__)
-+__attribute__((optimize(0)))
- #endif
-+int load_baked(char** nargv) {
-+ int c = 1;
-+
-+ char* bakery = (char*) BAKERY;
-+ while (true) {
-+ size_t width = strlen2(bakery);
-+ if (width == 0) break;
-+ nargv[c++] = bakery;
-+ bakery += width + 1;
-+ }
-+
-+ return c;
-+}
-+
-+int reorder(int argc, char** argv) {
-+ char** nargv = new char*[argc + 64];
-+
-+ nargv[0] = argv[0];
-+ int c = load_baked(nargv);
-+
-+ if (should_set_dummy()) {
-+ nargv[c++] = (char*) "PKG_DUMMY_ENTRYPOINT";
-+ }
-+
-+ for (int i = 1; i < argc; i++) {
-+ nargv[c++] = argv[i];
-+ }
-+
-+ return adjacent(c, nargv);
-+}
---- node/src/node_options.cc
-+++ node/src/node_options.cc
-@@ -236,6 +236,7 @@ void Parse(
- // TODO(addaleax): Make that unnecessary.
-
- DebugOptionsParser::DebugOptionsParser() {
-+ return;
- AddOption("--inspect-port",
- "set host:port for inspector",
- &DebugOptions::host_port,
---- node/tools/icu/icu-generic.gyp
-+++ node/tools/icu/icu-generic.gyp
-@@ -52,7 +52,7 @@
- 'conditions': [
- [ 'os_posix == 1 and OS != "mac" and OS != "ios"', {
- 'cflags': [ '-Wno-deprecated-declarations', '-Wno-strict-aliasing' ],
-- 'cflags_cc': [ '-frtti' ],
-+ 'cflags_cc': [ '-frtti', '-fno-lto' ],
- 'cflags_cc!': [ '-fno-rtti' ],
- }],
- [ 'OS == "mac" or OS == "ios"', {
diff --git a/includes/search/node_modules/pkg-fetch/patches/node.v16.16.0.cpp.patch b/includes/search/node_modules/pkg-fetch/patches/node.v16.16.0.cpp.patch
deleted file mode 100644
index 35b3488..0000000
--- a/includes/search/node_modules/pkg-fetch/patches/node.v16.16.0.cpp.patch
+++ /dev/null
@@ -1,502 +0,0 @@
---- node/common.gypi
-+++ node/common.gypi
-@@ -183,7 +183,7 @@
- 'MSVC_runtimeType': 2 # MultiThreadedDLL (/MD)
- }],
- ['llvm_version=="0.0"', {
-- 'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', # GCC
-+ 'lto': ' -flto=4 -ffat-lto-objects ', # GCC
- }, {
- 'lto': ' -flto ', # Clang
- }],
---- node/deps/v8/include/v8.h
-+++ node/deps/v8/include/v8.h
-@@ -10092,6 +10092,10 @@ class V8_EXPORT V8 {
- char** argv,
- bool remove_flags);
-
-+ static void EnableCompilationForSourcelessUse();
-+ static void DisableCompilationForSourcelessUse();
-+ static void FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script);
-+
- /** Get the version string. */
- static const char* GetVersion();
-
---- node/deps/v8/src/api/api.cc
-+++ node/deps/v8/src/api/api.cc
-@@ -647,6 +647,29 @@ void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) {
- HelpOptions(HelpOptions::kDontExit));
- }
-
-+bool save_lazy;
-+bool save_predictable;
-+
-+void V8::EnableCompilationForSourcelessUse() {
-+ save_lazy = i::FLAG_lazy;
-+ i::FLAG_lazy = false;
-+ save_predictable = i::FLAG_predictable;
-+ i::FLAG_predictable = true;
-+}
-+
-+void V8::DisableCompilationForSourcelessUse() {
-+ i::FLAG_lazy = save_lazy;
-+ i::FLAG_predictable = save_predictable;
-+}
-+
-+void V8::FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> unbound_script) {
-+ auto isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
-+ auto function_info =
-+ i::Handle<i::SharedFunctionInfo>::cast(Utils::OpenHandle(*unbound_script));
-+ i::Handle<i::Script> script(i::Script::cast(function_info->script()), isolate);
-+ script->set_source(i::ReadOnlyRoots(isolate).undefined_value());
-+}
-+
- RegisteredExtension* RegisteredExtension::first_extension_ = nullptr;
-
- RegisteredExtension::RegisteredExtension(std::unique_ptr<Extension> extension)
---- node/deps/v8/src/codegen/compiler.cc
-+++ node/deps/v8/src/codegen/compiler.cc
-@@ -2840,7 +2840,7 @@ MaybeHandle<SharedFunctionInfo> Compiler::GetSharedFunctionInfoForScript(
- // First check per-isolate compilation cache.
- maybe_result =
- compilation_cache->LookupScript(source, script_details, language_mode);
-- if (!maybe_result.is_null()) {
-+ if (!maybe_result.is_null() && source_length) {
- compile_timer.set_hit_isolate_cache();
- } else if (can_consume_code_cache) {
- compile_timer.set_consuming_code_cache();
---- node/deps/v8/src/objects/js-function.cc
-+++ node/deps/v8/src/objects/js-function.cc
-@@ -953,6 +953,9 @@ Handle<String> JSFunction::ToString(Handle<JSFunction> function) {
- Handle<Object> maybe_class_positions = JSReceiver::GetDataProperty(
- function, isolate->factory()->class_positions_symbol());
- if (maybe_class_positions->IsClassPositions()) {
-+ if (String::cast(Script::cast(shared_info->script()).source()).IsUndefined(isolate)) {
-+ return isolate->factory()->NewStringFromAsciiChecked("class {}");
-+ }
- ClassPositions class_positions =
- ClassPositions::cast(*maybe_class_positions);
- int start_position = class_positions.start();
---- node/deps/v8/src/objects/shared-function-info-inl.h
-+++ node/deps/v8/src/objects/shared-function-info-inl.h
-@@ -631,6 +631,14 @@ bool SharedFunctionInfo::ShouldFlushCode(
- }
- if (!data.IsBytecodeArray()) return false;
-
-+ Object script_obj = script();
-+ if (!script_obj.IsUndefined()) {
-+ Script script = Script::cast(script_obj);
-+ if (script.source().IsUndefined()) {
-+ return false;
-+ }
-+ }
-+
- if (IsStressFlushingEnabled(code_flush_mode)) return true;
-
- BytecodeArray bytecode = BytecodeArray::cast(data);
---- node/deps/v8/src/parsing/parsing.cc
-+++ node/deps/v8/src/parsing/parsing.cc
-@@ -42,6 +42,7 @@ bool ParseProgram(ParseInfo* info, Handle<Script> script,
- Isolate* isolate, ReportStatisticsMode mode) {
- DCHECK(info->flags().is_toplevel());
- DCHECK_NULL(info->literal());
-+ if (String::cast(script->source()).IsUndefined(isolate)) return false;
-
- VMState<PARSER> state(isolate);
-
-@@ -76,6 +77,7 @@ bool ParseFunction(ParseInfo* info, Handle<SharedFunctionInfo> shared_info,
-
- // Create a character stream for the parser.
- Handle<Script> script(Script::cast(shared_info->script()), isolate);
-+ if (String::cast(script->source()).IsUndefined(isolate)) return false;
- Handle<String> source(String::cast(script->source()), isolate);
- isolate->counters()->total_parse_size()->Increment(source->length());
- std::unique_ptr<Utf16CharacterStream> stream(
---- node/deps/v8/src/snapshot/code-serializer.cc
-+++ node/deps/v8/src/snapshot/code-serializer.cc
-@@ -471,13 +471,9 @@ SerializedCodeData::SanityCheckResult SerializedCodeData::SanityCheck(
- uint32_t magic_number = GetMagicNumber();
- if (magic_number != kMagicNumber) return MAGIC_NUMBER_MISMATCH;
- uint32_t version_hash = GetHeaderValue(kVersionHashOffset);
-- uint32_t source_hash = GetHeaderValue(kSourceHashOffset);
-- uint32_t flags_hash = GetHeaderValue(kFlagHashOffset);
- uint32_t payload_length = GetHeaderValue(kPayloadLengthOffset);
- uint32_t c = GetHeaderValue(kChecksumOffset);
- if (version_hash != Version::Hash()) return VERSION_MISMATCH;
-- if (source_hash != expected_source_hash) return SOURCE_MISMATCH;
-- if (flags_hash != FlagList::Hash()) return FLAGS_MISMATCH;
- uint32_t max_payload_length = this->size_ - kHeaderSize;
- if (payload_length > max_payload_length) return LENGTH_MISMATCH;
- if (Checksum(ChecksummedContent()) != c) return CHECKSUM_MISMATCH;
---- node/lib/child_process.js
-+++ node/lib/child_process.js
-@@ -163,7 +163,7 @@ function fork(modulePath, args = [], options) {
- options.execPath = options.execPath || process.execPath;
- options.shell = false;
-
-- return spawn(options.execPath, args, options);
-+ return module.exports.spawn(options.execPath, args, options);
- }
-
- function _forkChild(fd, serializationMode) {
-index 0000000000..fb2d47f52b
---- /dev/null
-+++ node/lib/internal/bootstrap/pkg.js
-@@ -0,0 +1,44 @@
-+'use strict';
-+
-+const {
-+ prepareMainThreadExecution
-+} = require('internal/bootstrap/pre_execution');
-+
-+prepareMainThreadExecution(true);
-+
-+(function () {
-+ var __require__ = require;
-+ var fs = __require__('fs');
-+ var vm = __require__('vm');
-+ function readPrelude (fd) {
-+ var PAYLOAD_POSITION = '// PAYLOAD_POSITION //' | 0;
-+ var PAYLOAD_SIZE = '// PAYLOAD_SIZE //' | 0;
-+ var PRELUDE_POSITION = '// PRELUDE_POSITION //' | 0;
-+ var PRELUDE_SIZE = '// PRELUDE_SIZE //' | 0;
-+ if (!PRELUDE_POSITION) {
-+ // no prelude - remove entrypoint from argv[1]
-+ process.argv.splice(1, 1);
-+ return { undoPatch: true };
-+ }
-+ var prelude = Buffer.alloc(PRELUDE_SIZE);
-+ var read = fs.readSync(fd, prelude, 0, PRELUDE_SIZE, PRELUDE_POSITION);
-+ if (read !== PRELUDE_SIZE) {
-+ console.error('Pkg: Error reading from file.');
-+ process.exit(1);
-+ }
-+ var s = new vm.Script(prelude, { filename: 'pkg/prelude/bootstrap.js' });
-+ var fn = s.runInThisContext();
-+ return fn(process, __require__,
-+ console, fd, PAYLOAD_POSITION, PAYLOAD_SIZE);
-+ }
-+ (function () {
-+ var fd = fs.openSync(process.execPath, 'r');
-+ var result = readPrelude(fd);
-+ if (result && result.undoPatch) {
-+ var bindingFs = process.binding('fs');
-+ fs.internalModuleStat = bindingFs.internalModuleStat;
-+ fs.internalModuleReadJSON = bindingFs.internalModuleReadJSON;
-+ fs.closeSync(fd);
-+ }
-+ }());
-+}());
---- node/lib/internal/bootstrap/pre_execution.js
-+++ node/lib/internal/bootstrap/pre_execution.js
-@@ -25,7 +25,12 @@ const { Buffer } = require('buffer');
- const { ERR_MANIFEST_ASSERT_INTEGRITY } = require('internal/errors').codes;
- const assert = require('internal/assert');
-
-+let _alreadyPrepared = false;
-+
- function prepareMainThreadExecution(expandArgv1 = false) {
-+ if (_alreadyPrepared === true) return;
-+ _alreadyPrepared = true;
-+
- // TODO(joyeecheung): this is also necessary for workers when they deserialize
- // this toggle from the snapshot.
- reconnectZeroFillToggle();
-@@ -100,7 +105,8 @@ function patchProcessObject(expandArgv1) {
- process.argv[0] = process.execPath;
-
- if (expandArgv1 && process.argv[1] &&
-- !StringPrototypeStartsWith(process.argv[1], '-')) {
-+ !StringPrototypeStartsWith(process.argv[1], '-') &&
-+ process.argv[1] !== 'PKG_DUMMY_ENTRYPOINT') {
- // Expand process.argv[1] into a full path.
- const path = require('path');
- try {
---- node/lib/internal/modules/cjs/loader.js
-+++ node/lib/internal/modules/cjs/loader.js
-@@ -86,7 +86,7 @@ const fs = require('fs');
- const internalFS = require('internal/fs/utils');
- const path = require('path');
- const { sep } = path;
--const { internalModuleStat } = internalBinding('fs');
-+const internalModuleStat = function (f) { return require('fs').internalModuleStat(f); };
- const packageJsonReader = require('internal/modules/package_json_reader');
- const { safeGetenv } = internalBinding('credentials');
- const {
---- node/lib/internal/modules/package_json_reader.js
-+++ node/lib/internal/modules/package_json_reader.js
-@@ -1,7 +1,7 @@
- 'use strict';
-
- const { SafeMap } = primordials;
--const { internalModuleReadJSON } = internalBinding('fs');
-+const internalModuleReadJSON = function (f) { return require('fs').internalModuleReadJSON(f); };
- const { pathToFileURL } = require('url');
- const { toNamespacedPath } = require('path');
-
---- node/lib/vm.js
-+++ node/lib/vm.js
-@@ -79,6 +79,7 @@ class Script extends ContextifyScript {
- produceCachedData = false,
- importModuleDynamically,
- [kParsingContext]: parsingContext,
-+ sourceless = false,
- } = options;
-
- validateString(filename, 'options.filename');
-@@ -103,7 +104,8 @@ class Script extends ContextifyScript {
- columnOffset,
- cachedData,
- produceCachedData,
-- parsingContext);
-+ parsingContext,
-+ sourceless);
- } catch (e) {
- throw e; /* node-do-not-add-exception-line */
- }
---- node/src/inspector_agent.cc
-+++ node/src/inspector_agent.cc
-@@ -690,8 +690,6 @@ bool Agent::Start(const std::string& path,
- StartIoThreadAsyncCallback));
- uv_unref(reinterpret_cast<uv_handle_t*>(&start_io_thread_async));
- start_io_thread_async.data = this;
-- // Ignore failure, SIGUSR1 won't work, but that should not block node start.
-- StartDebugSignalHandler();
-
- parent_env_->AddCleanupHook([](void* data) {
- Environment* env = static_cast<Environment*>(data);
---- node/src/node.cc
-+++ node/src/node.cc
-@@ -473,6 +473,8 @@ MaybeLocal<Value> StartExecution(Environment* env, StartExecutionCallback cb) {
- return scope.EscapeMaybe(cb(info));
- }
-
-+ StartExecution(env, "internal/bootstrap/pkg");
-+
- if (env->worker_context() != nullptr) {
- return StartExecution(env, "internal/main/worker_thread");
- }
-@@ -583,13 +585,6 @@ static struct {
-
- inline void PlatformInit() {
- #ifdef __POSIX__
--#if HAVE_INSPECTOR
-- sigset_t sigmask;
-- sigemptyset(&sigmask);
-- sigaddset(&sigmask, SIGUSR1);
-- const int err = pthread_sigmask(SIG_SETMASK, &sigmask, nullptr);
--#endif // HAVE_INSPECTOR
--
- // Make sure file descriptors 0-2 are valid before we start logging anything.
- for (auto& s : stdio) {
- const int fd = &s - stdio;
-@@ -605,10 +600,6 @@ inline void PlatformInit() {
- ABORT();
- }
-
--#if HAVE_INSPECTOR
-- CHECK_EQ(err, 0);
--#endif // HAVE_INSPECTOR
--
- // TODO(addaleax): NODE_SHARED_MODE does not really make sense here.
- #ifndef NODE_SHARED_MODE
- // Restore signal dispositions, the parent process may have changed them.
---- node/src/node_contextify.cc
-+++ node/src/node_contextify.cc
-@@ -74,6 +74,7 @@ using v8::ScriptOrModule;
- using v8::String;
- using v8::Uint32;
- using v8::UnboundScript;
-+using v8::V8;
- using v8::Value;
- using v8::WeakCallbackInfo;
- using v8::WeakCallbackType;
-@@ -709,11 +710,12 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- Local<ArrayBufferView> cached_data_buf;
- bool produce_cached_data = false;
- Local<Context> parsing_context = context;
-+ bool sourceless = false;
-
- if (argc > 2) {
- // new ContextifyScript(code, filename, lineOffset, columnOffset,
- // cachedData, produceCachedData, parsingContext)
-- CHECK_EQ(argc, 7);
-+ CHECK_EQ(argc, 8);
- CHECK(args[2]->IsNumber());
- line_offset = args[2].As<Int32>()->Value();
- CHECK(args[3]->IsNumber());
-@@ -732,6 +734,7 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- CHECK_NOT_NULL(sandbox);
- parsing_context = sandbox->context();
- }
-+ sourceless = args[7]->IsTrue();
- }
-
- ContextifyScript* contextify_script =
-@@ -784,6 +787,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- ShouldNotAbortOnUncaughtScope no_abort_scope(env);
- Context::Scope scope(parsing_context);
-
-+ if (sourceless && produce_cached_data) {
-+ V8::EnableCompilationForSourcelessUse();
-+ }
-+
- MaybeLocal<UnboundScript> v8_script = ScriptCompiler::CompileUnboundScript(
- isolate,
- &source,
-@@ -800,6 +807,13 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- contextify_script);
- return;
- }
-+
-+ if (sourceless && compile_options == ScriptCompiler::kConsumeCodeCache) {
-+ if (!source.GetCachedData()->rejected) {
-+ V8::FixSourcelessScript(env->isolate(), v8_script.ToLocalChecked());
-+ }
-+ }
-+
- contextify_script->script_.Reset(isolate, v8_script.ToLocalChecked());
-
- Local<Context> env_context = env->context();
-@@ -826,6 +840,11 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- env->cached_data_produced_string(),
- Boolean::New(isolate, cached_data_produced)).Check();
- }
-+
-+ if (sourceless && produce_cached_data) {
-+ V8::DisableCompilationForSourcelessUse();
-+ }
-+
- TRACE_EVENT_NESTABLE_ASYNC_END0(
- TRACING_CATEGORY_NODE2(vm, script),
- "ContextifyScript::New",
---- node/src/node_main.cc
-+++ node/src/node_main.cc
-@@ -22,6 +22,8 @@
- #include "node.h"
- #include <cstdio>
-
-+int reorder(int argc, char** argv);
-+
- #ifdef _WIN32
- #include <windows.h>
- #include <VersionHelpers.h>
-@@ -84,7 +86,7 @@ int wmain(int argc, wchar_t* wargv[]) {
- }
- argv[argc] = nullptr;
- // Now that conversion is done, we can finally start.
-- return node::Start(argc, argv);
-+ return reorder(argc, argv);
- }
- #else
- // UNIX
-@@ -124,6 +126,88 @@ int main(int argc, char* argv[]) {
- // calls elsewhere in the program (e.g., any logging from V8.)
- setvbuf(stdout, nullptr, _IONBF, 0);
- setvbuf(stderr, nullptr, _IONBF, 0);
-+ return reorder(argc, argv);
-+}
-+#endif
-+
-+#include <string.h>
-+
-+int strlen2 (char* s) {
-+ int len = 0;
-+ while (*s) {
-+ len += 1;
-+ s += 1;
-+ }
-+ return len;
-+}
-+
-+bool should_set_dummy() {
-+#ifdef _WIN32
-+ #define MAX_ENV_LENGTH 32767
-+ char execpath_env[MAX_ENV_LENGTH];
-+ DWORD result = GetEnvironmentVariable("PKG_EXECPATH", execpath_env, MAX_ENV_LENGTH);
-+ if (result == 0 && GetLastError() != ERROR_SUCCESS) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#else
-+ const char* execpath_env = getenv("PKG_EXECPATH");
-+ if (!execpath_env) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#endif
-+}
-+
-+// for uv_setup_args
-+int adjacent(int argc, char** argv) {
-+ size_t size = 0;
-+ for (int i = 0; i < argc; i++) {
-+ size += strlen(argv[i]) + 1;
-+ }
-+ char* args = new char[size];
-+ size_t pos = 0;
-+ for (int i = 0; i < argc; i++) {
-+ memcpy(&args[pos], argv[i], strlen(argv[i]) + 1);
-+ argv[i] = &args[pos];
-+ pos += strlen(argv[i]) + 1;
-+ }
- return node::Start(argc, argv);
- }
-+
-+volatile char* BAKERY = (volatile char*) "\0// BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY ";
-+
-+#ifdef __clang__
-+__attribute__((optnone))
-+#elif defined(__GNUC__)
-+__attribute__((optimize(0)))
- #endif
-+int load_baked(char** nargv) {
-+ int c = 1;
-+
-+ char* bakery = (char*) BAKERY;
-+ while (true) {
-+ size_t width = strlen2(bakery);
-+ if (width == 0) break;
-+ nargv[c++] = bakery;
-+ bakery += width + 1;
-+ }
-+
-+ return c;
-+}
-+
-+int reorder(int argc, char** argv) {
-+ char** nargv = new char*[argc + 64];
-+
-+ nargv[0] = argv[0];
-+ int c = load_baked(nargv);
-+
-+ if (should_set_dummy()) {
-+ nargv[c++] = (char*) "PKG_DUMMY_ENTRYPOINT";
-+ }
-+
-+ for (int i = 1; i < argc; i++) {
-+ nargv[c++] = argv[i];
-+ }
-+
-+ return adjacent(c, nargv);
-+}
---- node/src/node_options.cc
-+++ node/src/node_options.cc
-@@ -254,6 +254,7 @@ void Parse(
- // TODO(addaleax): Make that unnecessary.
-
- DebugOptionsParser::DebugOptionsParser() {
-+ return;
- AddOption("--inspect-port",
- "set host:port for inspector",
- &DebugOptions::host_port,
---- node/tools/icu/icu-generic.gyp
-+++ node/tools/icu/icu-generic.gyp
-@@ -52,7 +52,7 @@
- 'conditions': [
- [ 'os_posix == 1 and OS != "mac" and OS != "ios"', {
- 'cflags': [ '-Wno-deprecated-declarations', '-Wno-strict-aliasing' ],
-- 'cflags_cc': [ '-frtti' ],
-+ 'cflags_cc': [ '-frtti', '-fno-lto' ],
- 'cflags_cc!': [ '-fno-rtti' ],
- }],
- [ 'OS == "mac" or OS == "ios"', {
diff --git a/includes/search/node_modules/pkg-fetch/patches/node.v18.5.0.cpp.patch b/includes/search/node_modules/pkg-fetch/patches/node.v18.5.0.cpp.patch
deleted file mode 100644
index b33c73c..0000000
--- a/includes/search/node_modules/pkg-fetch/patches/node.v18.5.0.cpp.patch
+++ /dev/null
@@ -1,521 +0,0 @@
---- node/common.gypi
-+++ node/common.gypi
-@@ -174,7 +174,7 @@
- 'MSVC_runtimeType': 2 # MultiThreadedDLL (/MD)
- }],
- ['llvm_version=="0.0"', {
-- 'lto': ' -flto=4 -fuse-linker-plugin -ffat-lto-objects ', # GCC
-+ 'lto': ' -flto=4 -ffat-lto-objects ', # GCC
- }, {
- 'lto': ' -flto ', # Clang
- }],
---- node/deps/v8/include/v8-initialization.h
-+++ node/deps/v8/include/v8-initialization.h
-@@ -89,6 +89,10 @@ class V8_EXPORT V8 {
- static void SetFlagsFromCommandLine(int* argc, char** argv,
- bool remove_flags);
-
-+ static void EnableCompilationForSourcelessUse();
-+ static void DisableCompilationForSourcelessUse();
-+ static void FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script);
-+
- /** Get the version string. */
- static const char* GetVersion();
-
---- node/deps/v8/src/api/api.cc
-+++ node/deps/v8/src/api/api.cc
-@@ -706,6 +706,29 @@ void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) {
- HelpOptions(HelpOptions::kDontExit));
- }
-
-+bool save_lazy;
-+bool save_predictable;
-+
-+void V8::EnableCompilationForSourcelessUse() {
-+ save_lazy = i::FLAG_lazy;
-+ i::FLAG_lazy = false;
-+ save_predictable = i::FLAG_predictable;
-+ i::FLAG_predictable = true;
-+}
-+
-+void V8::DisableCompilationForSourcelessUse() {
-+ i::FLAG_lazy = save_lazy;
-+ i::FLAG_predictable = save_predictable;
-+}
-+
-+void V8::FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> unbound_script) {
-+ auto isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
-+ auto function_info =
-+ i::Handle<i::SharedFunctionInfo>::cast(Utils::OpenHandle(*unbound_script));
-+ i::Handle<i::Script> script(i::Script::cast(function_info->script()), isolate);
-+ script->set_source(i::ReadOnlyRoots(isolate).undefined_value());
-+}
-+
- RegisteredExtension* RegisteredExtension::first_extension_ = nullptr;
-
- RegisteredExtension::RegisteredExtension(std::unique_ptr<Extension> extension)
---- node/deps/v8/src/codegen/compiler.cc
-+++ node/deps/v8/src/codegen/compiler.cc
-@@ -3026,7 +3026,7 @@ MaybeHandle<SharedFunctionInfo> GetSharedFunctionInfoForScriptImpl(
- // First check per-isolate compilation cache.
- maybe_result =
- compilation_cache->LookupScript(source, script_details, language_mode);
-- if (!maybe_result.is_null()) {
-+ if (!maybe_result.is_null() && source_length) {
- compile_timer.set_hit_isolate_cache();
- } else if (can_consume_code_cache) {
- compile_timer.set_consuming_code_cache();
---- node/deps/v8/src/objects/js-function.cc
-+++ node/deps/v8/src/objects/js-function.cc
-@@ -1207,6 +1207,9 @@ Handle<String> JSFunction::ToString(Handle<JSFunction> function) {
- Handle<Object> maybe_class_positions = JSReceiver::GetDataProperty(
- isolate, function, isolate->factory()->class_positions_symbol());
- if (maybe_class_positions->IsClassPositions()) {
-+ if (String::cast(Script::cast(shared_info->script()).source()).IsUndefined(isolate)) {
-+ return isolate->factory()->NewStringFromAsciiChecked("class {}");
-+ }
- ClassPositions class_positions =
- ClassPositions::cast(*maybe_class_positions);
- int start_position = class_positions.start();
---- node/deps/v8/src/objects/shared-function-info-inl.h
-+++ node/deps/v8/src/objects/shared-function-info-inl.h
-@@ -636,6 +636,14 @@ bool SharedFunctionInfo::ShouldFlushCode(
- }
- if (!data.IsBytecodeArray()) return false;
-
-+ Object script_obj = script();
-+ if (!script_obj.IsUndefined()) {
-+ Script script = Script::cast(script_obj);
-+ if (script.source().IsUndefined()) {
-+ return false;
-+ }
-+ }
-+
- if (IsStressFlushingEnabled(code_flush_mode)) return true;
-
- BytecodeArray bytecode = BytecodeArray::cast(data);
---- node/deps/v8/src/parsing/parsing.cc
-+++ node/deps/v8/src/parsing/parsing.cc
-@@ -42,6 +42,7 @@ bool ParseProgram(ParseInfo* info, Handle<Script> script,
- Isolate* isolate, ReportStatisticsMode mode) {
- DCHECK(info->flags().is_toplevel());
- DCHECK_NULL(info->literal());
-+ if (String::cast(script->source()).IsUndefined(isolate)) return false;
-
- VMState<PARSER> state(isolate);
-
-@@ -76,6 +77,7 @@ bool ParseFunction(ParseInfo* info, Handle<SharedFunctionInfo> shared_info,
-
- // Create a character stream for the parser.
- Handle<Script> script(Script::cast(shared_info->script()), isolate);
-+ if (String::cast(script->source()).IsUndefined(isolate)) return false;
- Handle<String> source(String::cast(script->source()), isolate);
- isolate->counters()->total_parse_size()->Increment(source->length());
- std::unique_ptr<Utf16CharacterStream> stream(
---- node/deps/v8/src/snapshot/code-serializer.cc
-+++ node/deps/v8/src/snapshot/code-serializer.cc
-@@ -615,11 +615,7 @@ SerializedCodeSanityCheckResult SerializedCodeData::SanityCheck(
- }
-
- SerializedCodeSanityCheckResult SerializedCodeData::SanityCheckJustSource(
-- uint32_t expected_source_hash) const {
-- uint32_t source_hash = GetHeaderValue(kSourceHashOffset);
-- if (source_hash != expected_source_hash) {
-- return SerializedCodeSanityCheckResult::kSourceMismatch;
-- }
-+ uint32_t) const {
- return SerializedCodeSanityCheckResult::kSuccess;
- }
-
-@@ -636,10 +632,6 @@ SerializedCodeSanityCheckResult SerializedCodeData::SanityCheckWithoutSource()
- if (version_hash != Version::Hash()) {
- return SerializedCodeSanityCheckResult::kVersionMismatch;
- }
-- uint32_t flags_hash = GetHeaderValue(kFlagHashOffset);
-- if (flags_hash != FlagList::Hash()) {
-- return SerializedCodeSanityCheckResult::kFlagsMismatch;
-- }
- uint32_t payload_length = GetHeaderValue(kPayloadLengthOffset);
- uint32_t max_payload_length = this->size_ - kHeaderSize;
- if (payload_length > max_payload_length) {
---- node/lib/child_process.js
-+++ node/lib/child_process.js
-@@ -160,7 +160,7 @@ function fork(modulePath, args = [], options) {
- throw new ERR_CHILD_PROCESS_IPC_REQUIRED('options.stdio');
- }
-
-- return spawn(options.execPath, args, options);
-+ return module.exports.spawn(options.execPath, args, options);
- }
-
- function _forkChild(fd, serializationMode) {
-index 00000000000..fb2d47f52b6
---- /dev/null
-+++ node/lib/internal/bootstrap/pkg.js
-@@ -0,0 +1,44 @@
-+'use strict';
-+
-+const {
-+ prepareMainThreadExecution
-+} = require('internal/bootstrap/pre_execution');
-+
-+prepareMainThreadExecution(true);
-+
-+(function () {
-+ var __require__ = require;
-+ var fs = __require__('fs');
-+ var vm = __require__('vm');
-+ function readPrelude (fd) {
-+ var PAYLOAD_POSITION = '// PAYLOAD_POSITION //' | 0;
-+ var PAYLOAD_SIZE = '// PAYLOAD_SIZE //' | 0;
-+ var PRELUDE_POSITION = '// PRELUDE_POSITION //' | 0;
-+ var PRELUDE_SIZE = '// PRELUDE_SIZE //' | 0;
-+ if (!PRELUDE_POSITION) {
-+ // no prelude - remove entrypoint from argv[1]
-+ process.argv.splice(1, 1);
-+ return { undoPatch: true };
-+ }
-+ var prelude = Buffer.alloc(PRELUDE_SIZE);
-+ var read = fs.readSync(fd, prelude, 0, PRELUDE_SIZE, PRELUDE_POSITION);
-+ if (read !== PRELUDE_SIZE) {
-+ console.error('Pkg: Error reading from file.');
-+ process.exit(1);
-+ }
-+ var s = new vm.Script(prelude, { filename: 'pkg/prelude/bootstrap.js' });
-+ var fn = s.runInThisContext();
-+ return fn(process, __require__,
-+ console, fd, PAYLOAD_POSITION, PAYLOAD_SIZE);
-+ }
-+ (function () {
-+ var fd = fs.openSync(process.execPath, 'r');
-+ var result = readPrelude(fd);
-+ if (result && result.undoPatch) {
-+ var bindingFs = process.binding('fs');
-+ fs.internalModuleStat = bindingFs.internalModuleStat;
-+ fs.internalModuleReadJSON = bindingFs.internalModuleReadJSON;
-+ fs.closeSync(fd);
-+ }
-+ }());
-+}());
---- node/lib/internal/bootstrap/pre_execution.js
-+++ node/lib/internal/bootstrap/pre_execution.js
-@@ -29,8 +29,13 @@ const {
- } = require('internal/errors').codes;
- const assert = require('internal/assert');
-
-+let _alreadyPrepared = false;
-+
- function prepareMainThreadExecution(expandArgv1 = false,
- initialzeModules = true) {
-+ if (_alreadyPrepared === true) return;
-+ _alreadyPrepared = true;
-+
- refreshRuntimeOptions();
-
- // TODO(joyeecheung): this is also necessary for workers when they deserialize
-@@ -119,7 +124,8 @@ function patchProcessObject(expandArgv1) {
- process.argv[0] = process.execPath;
-
- if (expandArgv1 && process.argv[1] &&
-- !StringPrototypeStartsWith(process.argv[1], '-')) {
-+ !StringPrototypeStartsWith(process.argv[1], '-') &&
-+ process.argv[1] !== 'PKG_DUMMY_ENTRYPOINT') {
- // Expand process.argv[1] into a full path.
- const path = require('path');
- try {
-@@ -574,6 +580,7 @@ function loadPreloadModules() {
- // For user code, we preload modules if `-r` is passed
- const preloadModules = getOptionValue('--require');
- if (preloadModules && preloadModules.length > 0) {
-+ assert(false, '--require is not supported');
- const {
- Module: {
- _preloadModules
---- node/lib/internal/modules/cjs/loader.js
-+++ node/lib/internal/modules/cjs/loader.js
-@@ -86,7 +86,7 @@ const fs = require('fs');
- const internalFS = require('internal/fs/utils');
- const path = require('path');
- const { sep } = path;
--const { internalModuleStat } = internalBinding('fs');
-+const internalModuleStat = function (f) { return require('fs').internalModuleStat(f); };
- const packageJsonReader = require('internal/modules/package_json_reader');
- const { safeGetenv } = internalBinding('credentials');
- const {
---- node/lib/internal/modules/package_json_reader.js
-+++ node/lib/internal/modules/package_json_reader.js
-@@ -1,7 +1,7 @@
- 'use strict';
-
- const { SafeMap } = primordials;
--const { internalModuleReadJSON } = internalBinding('fs');
-+const internalModuleReadJSON = function (f) { return require('fs').internalModuleReadJSON(f); };
- const { pathToFileURL } = require('url');
- const { toNamespacedPath } = require('path');
-
---- node/lib/vm.js
-+++ node/lib/vm.js
-@@ -79,6 +79,7 @@ class Script extends ContextifyScript {
- produceCachedData = false,
- importModuleDynamically,
- [kParsingContext]: parsingContext,
-+ sourceless = false,
- } = options;
-
- validateString(filename, 'options.filename');
-@@ -103,7 +104,8 @@ class Script extends ContextifyScript {
- columnOffset,
- cachedData,
- produceCachedData,
-- parsingContext);
-+ parsingContext,
-+ sourceless);
- } catch (e) {
- throw e; /* node-do-not-add-exception-line */
- }
---- node/src/inspector_agent.cc
-+++ node/src/inspector_agent.cc
-@@ -690,8 +690,6 @@ bool Agent::Start(const std::string& path,
- StartIoThreadAsyncCallback));
- uv_unref(reinterpret_cast<uv_handle_t*>(&start_io_thread_async));
- start_io_thread_async.data = this;
-- // Ignore failure, SIGUSR1 won't work, but that should not block node start.
-- StartDebugSignalHandler();
-
- parent_env_->AddCleanupHook([](void* data) {
- Environment* env = static_cast<Environment*>(data);
---- node/src/node.cc
-+++ node/src/node.cc
-@@ -482,6 +482,8 @@ MaybeLocal<Value> StartExecution(Environment* env, StartExecutionCallback cb) {
- return scope.EscapeMaybe(cb(info));
- }
-
-+ StartExecution(env, "internal/bootstrap/pkg");
-+
- if (env->worker_context() != nullptr) {
- return StartExecution(env, "internal/main/worker_thread");
- }
-@@ -600,13 +602,6 @@ static struct {
-
- inline void PlatformInit() {
- #ifdef __POSIX__
--#if HAVE_INSPECTOR
-- sigset_t sigmask;
-- sigemptyset(&sigmask);
-- sigaddset(&sigmask, SIGUSR1);
-- const int err = pthread_sigmask(SIG_SETMASK, &sigmask, nullptr);
--#endif // HAVE_INSPECTOR
--
- // Make sure file descriptors 0-2 are valid before we start logging anything.
- for (auto& s : stdio) {
- const int fd = &s - stdio;
-@@ -622,10 +617,6 @@ inline void PlatformInit() {
- ABORT();
- }
-
--#if HAVE_INSPECTOR
-- CHECK_EQ(err, 0);
--#endif // HAVE_INSPECTOR
--
- // TODO(addaleax): NODE_SHARED_MODE does not really make sense here.
- #ifndef NODE_SHARED_MODE
- // Restore signal dispositions, the parent process may have changed them.
---- node/src/node_contextify.cc
-+++ node/src/node_contextify.cc
-@@ -74,6 +74,7 @@ using v8::ScriptOrModule;
- using v8::String;
- using v8::Uint32;
- using v8::UnboundScript;
-+using v8::V8;
- using v8::Value;
- using v8::WeakCallbackInfo;
- using v8::WeakCallbackType;
-@@ -701,11 +702,12 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- Local<ArrayBufferView> cached_data_buf;
- bool produce_cached_data = false;
- Local<Context> parsing_context = context;
-+ bool sourceless = false;
-
- if (argc > 2) {
- // new ContextifyScript(code, filename, lineOffset, columnOffset,
- // cachedData, produceCachedData, parsingContext)
-- CHECK_EQ(argc, 7);
-+ CHECK_EQ(argc, 8);
- CHECK(args[2]->IsNumber());
- line_offset = args[2].As<Int32>()->Value();
- CHECK(args[3]->IsNumber());
-@@ -724,6 +726,7 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- CHECK_NOT_NULL(sandbox);
- parsing_context = sandbox->context();
- }
-+ sourceless = args[7]->IsTrue();
- }
-
- ContextifyScript* contextify_script =
-@@ -775,6 +778,10 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- ShouldNotAbortOnUncaughtScope no_abort_scope(env);
- Context::Scope scope(parsing_context);
-
-+ if (sourceless && produce_cached_data) {
-+ V8::EnableCompilationForSourcelessUse();
-+ }
-+
- MaybeLocal<UnboundScript> v8_script = ScriptCompiler::CompileUnboundScript(
- isolate,
- &source,
-@@ -789,6 +796,13 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- "ContextifyScript::New");
- return;
- }
-+
-+ if (sourceless && compile_options == ScriptCompiler::kConsumeCodeCache) {
-+ if (!source.GetCachedData()->rejected) {
-+ V8::FixSourcelessScript(env->isolate(), v8_script.ToLocalChecked());
-+ }
-+ }
-+
- contextify_script->script_.Reset(isolate, v8_script.ToLocalChecked());
-
- Local<Context> env_context = env->context();
-@@ -815,6 +829,11 @@ void ContextifyScript::New(const FunctionCallbackInfo<Value>& args) {
- env->cached_data_produced_string(),
- Boolean::New(isolate, cached_data_produced)).Check();
- }
-+
-+ if (sourceless && produce_cached_data) {
-+ V8::DisableCompilationForSourcelessUse();
-+ }
-+
- TRACE_EVENT_END0(TRACING_CATEGORY_NODE2(vm, script), "ContextifyScript::New");
- }
-
---- node/src/node_main.cc
-+++ node/src/node_main.cc
-@@ -22,6 +22,8 @@
- #include "node.h"
- #include <cstdio>
-
-+int reorder(int argc, char** argv);
-+
- #ifdef _WIN32
- #include <windows.h>
- #include <VersionHelpers.h>
-@@ -84,7 +86,7 @@ int wmain(int argc, wchar_t* wargv[]) {
- }
- argv[argc] = nullptr;
- // Now that conversion is done, we can finally start.
-- return node::Start(argc, argv);
-+ return reorder(argc, argv);
- }
- #else
- // UNIX
-@@ -124,6 +126,88 @@ int main(int argc, char* argv[]) {
- // calls elsewhere in the program (e.g., any logging from V8.)
- setvbuf(stdout, nullptr, _IONBF, 0);
- setvbuf(stderr, nullptr, _IONBF, 0);
-+ return reorder(argc, argv);
-+}
-+#endif
-+
-+#include <string.h>
-+
-+int strlen2 (char* s) {
-+ int len = 0;
-+ while (*s) {
-+ len += 1;
-+ s += 1;
-+ }
-+ return len;
-+}
-+
-+bool should_set_dummy() {
-+#ifdef _WIN32
-+ #define MAX_ENV_LENGTH 32767
-+ wchar_t execpath_env[MAX_ENV_LENGTH];
-+ DWORD result = GetEnvironmentVariableW(L"PKG_EXECPATH", execpath_env, MAX_ENV_LENGTH);
-+ if (result == 0 && GetLastError() != ERROR_SUCCESS) return true;
-+ return wcscmp(execpath_env, L"PKG_INVOKE_NODEJS") != 0;
-+#else
-+ const char* execpath_env = getenv("PKG_EXECPATH");
-+ if (!execpath_env) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#endif
-+}
-+
-+// for uv_setup_args
-+int adjacent(int argc, char** argv) {
-+ size_t size = 0;
-+ for (int i = 0; i < argc; i++) {
-+ size += strlen(argv[i]) + 1;
-+ }
-+ char* args = new char[size];
-+ size_t pos = 0;
-+ for (int i = 0; i < argc; i++) {
-+ memcpy(&args[pos], argv[i], strlen(argv[i]) + 1);
-+ argv[i] = &args[pos];
-+ pos += strlen(argv[i]) + 1;
-+ }
- return node::Start(argc, argv);
- }
-+
-+volatile char* BAKERY = (volatile char*) "\0// BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY ";
-+
-+#ifdef __clang__
-+__attribute__((optnone))
-+#elif defined(__GNUC__)
-+__attribute__((optimize(0)))
- #endif
-+int load_baked(char** nargv) {
-+ int c = 1;
-+
-+ char* bakery = (char*) BAKERY;
-+ while (true) {
-+ size_t width = strlen2(bakery);
-+ if (width == 0) break;
-+ nargv[c++] = bakery;
-+ bakery += width + 1;
-+ }
-+
-+ return c;
-+}
-+
-+int reorder(int argc, char** argv) {
-+ char** nargv = new char*[argc + 64];
-+
-+ nargv[0] = argv[0];
-+ int c = load_baked(nargv);
-+
-+ if (should_set_dummy()) {
-+ nargv[c++] = (char*) "PKG_DUMMY_ENTRYPOINT";
-+ }
-+
-+ for (int i = 1; i < argc; i++) {
-+ nargv[c++] = argv[i];
-+ }
-+
-+ return adjacent(c, nargv);
-+}
---- node/src/node_options.cc
-+++ node/src/node_options.cc
-@@ -275,6 +275,7 @@ void Parse(
- // TODO(addaleax): Make that unnecessary.
-
- DebugOptionsParser::DebugOptionsParser() {
-+ return;
- AddOption("--inspect-port",
- "set host:port for inspector",
- &DebugOptions::host_port,
---- node/tools/icu/icu-generic.gyp
-+++ node/tools/icu/icu-generic.gyp
-@@ -52,7 +52,7 @@
- 'conditions': [
- [ 'os_posix == 1 and OS != "mac" and OS != "ios"', {
- 'cflags': [ '-Wno-deprecated-declarations', '-Wno-strict-aliasing' ],
-- 'cflags_cc': [ '-frtti' ],
-+ 'cflags_cc': [ '-frtti', '-fno-lto' ],
- 'cflags_cc!': [ '-fno-rtti' ],
- }],
- [ 'OS == "mac" or OS == "ios"', {
diff --git a/includes/search/node_modules/pkg-fetch/patches/node.v8.17.0.cpp.patch b/includes/search/node_modules/pkg-fetch/patches/node.v8.17.0.cpp.patch
deleted file mode 100644
index e61b7a9..0000000
--- a/includes/search/node_modules/pkg-fetch/patches/node.v8.17.0.cpp.patch
+++ /dev/null
@@ -1,549 +0,0 @@
---- node/deps/v8/include/v8.h
-+++ node/deps/v8/include/v8.h
-@@ -7911,10 +7911,14 @@
- */
- static void SetFlagsFromCommandLine(int* argc,
- char** argv,
- bool remove_flags);
-
-+ static void EnableCompilationForSourcelessUse();
-+ static void DisableCompilationForSourcelessUse();
-+ static void FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script);
-+
- /** Get the version string. */
- static const char* GetVersion();
-
- /** Callback function for reporting failed access checks.*/
- V8_INLINE static V8_DEPRECATED(
---- node/deps/v8/src/api.cc
-+++ node/deps/v8/src/api.cc
-@@ -830,10 +830,46 @@
- void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) {
- i::FlagList::SetFlagsFromCommandLine(argc, argv, remove_flags);
- }
-
-
-+bool save_lazy;
-+bool save_predictable;
-+bool save_serialize_toplevel;
-+
-+
-+void V8::EnableCompilationForSourcelessUse() {
-+ save_lazy = i::FLAG_lazy;
-+ i::FLAG_lazy = false;
-+ save_predictable = i::FLAG_predictable;
-+ i::FLAG_predictable = true;
-+ save_serialize_toplevel = i::FLAG_serialize_toplevel;
-+ i::FLAG_serialize_toplevel = true;
-+ i::CpuFeatures::Reinitialize();
-+ i::CpuFeatures::Probe(true);
-+}
-+
-+
-+void V8::DisableCompilationForSourcelessUse() {
-+ i::FLAG_lazy = save_lazy;
-+ i::FLAG_predictable = save_predictable;
-+ i::FLAG_serialize_toplevel = save_serialize_toplevel;
-+ i::CpuFeatures::Reinitialize();
-+ i::CpuFeatures::Probe(false);
-+}
-+
-+
-+void V8::FixSourcelessScript(Isolate* v8_isolate, Local<UnboundScript> script) {
-+ auto isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
-+ auto object = i::Handle<i::HeapObject>::cast(Utils::OpenHandle(*script));
-+ i::Handle<i::SharedFunctionInfo> function_info(
-+ i::SharedFunctionInfo::cast(*object), object->GetIsolate());
-+ auto s = reinterpret_cast<i::Script*>(function_info->script());
-+ s->set_source(isolate->heap()->undefined_value());
-+}
-+
-+
- RegisteredExtension* RegisteredExtension::first_extension_ = NULL;
-
-
- RegisteredExtension::RegisteredExtension(Extension* extension)
- : extension_(extension) { }
---- node/deps/v8/src/assembler.h
-+++ node/deps/v8/src/assembler.h
-@@ -297,10 +297,15 @@
- }
-
- static void PrintTarget();
- static void PrintFeatures();
-
-+ static void Reinitialize() {
-+ supported_ = 0;
-+ initialized_ = false;
-+ }
-+
- private:
- friend class ExternalReference;
- friend class AssemblerBase;
- // Flush instruction cache.
- static void FlushICache(void* start, size_t size);
---- node/deps/v8/src/objects.cc
-+++ node/deps/v8/src/objects.cc
-@@ -13206,10 +13206,13 @@
-
- // Check if we should print {function} as a class.
- Handle<Object> class_start_position = JSReceiver::GetDataProperty(
- function, isolate->factory()->class_start_position_symbol());
- if (class_start_position->IsSmi()) {
-+ if (Script::cast(shared_info->script())->source()->IsUndefined(isolate)) {
-+ return isolate->factory()->NewStringFromAsciiChecked("class {}");
-+ }
- Handle<Object> class_end_position = JSReceiver::GetDataProperty(
- function, isolate->factory()->class_end_position_symbol());
- Handle<String> script_source(
- String::cast(Script::cast(shared_info->script())->source()), isolate);
- return isolate->factory()->NewSubString(
---- node/deps/v8/src/parsing/parsing.cc
-+++ node/deps/v8/src/parsing/parsing.cc
-@@ -18,10 +18,11 @@
- namespace parsing {
-
- bool ParseProgram(ParseInfo* info, Isolate* isolate) {
- DCHECK(info->is_toplevel());
- DCHECK_NULL(info->literal());
-+ if (info->script()->source()->IsUndefined(isolate)) return false;
-
- VMState<PARSER> state(isolate);
-
- // Create a character stream for the parser.
- Handle<String> source(String::cast(info->script()->source()));
-@@ -52,10 +53,11 @@
- bool ParseFunction(ParseInfo* info, Handle<SharedFunctionInfo> shared_info,
- Isolate* isolate) {
- DCHECK(!info->is_toplevel());
- DCHECK(!shared_info.is_null());
- DCHECK_NULL(info->literal());
-+ if (info->script()->source()->IsUndefined(isolate)) return false;
-
- // Create a character stream for the parser.
- Handle<String> source(String::cast(info->script()->source()));
- source = String::Flatten(source);
- isolate->counters()->total_parse_size()->Increment(source->length());
---- node/deps/v8/src/snapshot/code-serializer.cc
-+++ node/deps/v8/src/snapshot/code-serializer.cc
-@@ -392,31 +392,46 @@
-
- SerializedCodeData::SanityCheckResult SerializedCodeData::SanityCheck(
- Isolate* isolate, uint32_t expected_source_hash) const {
- if (this->size_ < kHeaderSize) return INVALID_HEADER;
- uint32_t magic_number = GetMagicNumber();
-- if (magic_number != ComputeMagicNumber(isolate)) return MAGIC_NUMBER_MISMATCH;
-+ if (magic_number != ComputeMagicNumber(isolate)) {
-+ // base::OS::PrintError("Pkg: MAGIC_NUMBER_MISMATCH\n"); // TODO enable after solving v8-cache/ncc issue
-+ return MAGIC_NUMBER_MISMATCH;
-+ }
- uint32_t version_hash = GetHeaderValue(kVersionHashOffset);
-- uint32_t source_hash = GetHeaderValue(kSourceHashOffset);
- uint32_t cpu_features = GetHeaderValue(kCpuFeaturesOffset);
- uint32_t flags_hash = GetHeaderValue(kFlagHashOffset);
- uint32_t payload_length = GetHeaderValue(kPayloadLengthOffset);
- uint32_t c1 = GetHeaderValue(kChecksum1Offset);
- uint32_t c2 = GetHeaderValue(kChecksum2Offset);
-- if (version_hash != Version::Hash()) return VERSION_MISMATCH;
-- if (source_hash != expected_source_hash) return SOURCE_MISMATCH;
-- if (cpu_features != static_cast<uint32_t>(CpuFeatures::SupportedFeatures())) {
-+ if (version_hash != Version::Hash()) {
-+ base::OS::PrintError("Pkg: VERSION_MISMATCH\n");
-+ return VERSION_MISMATCH;
-+ }
-+ uint32_t host_features = static_cast<uint32_t>(CpuFeatures::SupportedFeatures());
-+ if (cpu_features & (~host_features)) {
-+ base::OS::PrintError("Pkg: CPU_FEATURES_MISMATCH\n");
- return CPU_FEATURES_MISMATCH;
- }
-- if (flags_hash != FlagList::Hash()) return FLAGS_MISMATCH;
-+ if (flags_hash != FlagList::Hash()) {
-+ base::OS::PrintError("Pkg: FLAGS_MISMATCH\n");
-+ return FLAGS_MISMATCH;
-+ }
- uint32_t max_payload_length =
- this->size_ -
- POINTER_SIZE_ALIGN(kHeaderSize +
- GetHeaderValue(kNumReservationsOffset) * kInt32Size +
- GetHeaderValue(kNumCodeStubKeysOffset) * kInt32Size);
-- if (payload_length > max_payload_length) return LENGTH_MISMATCH;
-- if (!Checksum(DataWithoutHeader()).Check(c1, c2)) return CHECKSUM_MISMATCH;
-+ if (payload_length > max_payload_length) {
-+ base::OS::PrintError("Pkg: LENGTH_MISMATCH\n");
-+ return LENGTH_MISMATCH;
-+ }
-+ if (!Checksum(DataWithoutHeader()).Check(c1, c2)) {
-+ base::OS::PrintError("Pkg: CHECKSUM_MISMATCH\n");
-+ return CHECKSUM_MISMATCH;
-+ }
- return CHECK_SUCCESS;
- }
-
- uint32_t SerializedCodeData::SourceHash(Handle<String> source) {
- return source->length();
---- node/lib/child_process.js
-+++ node/lib/child_process.js
-@@ -104,11 +104,11 @@
- }
-
- options.execPath = options.execPath || process.execPath;
- options.shell = false;
-
-- return spawn(options.execPath, args, options);
-+ return exports.spawn(options.execPath, args, options);
- };
-
-
- exports._forkChild = function(fd) {
- // set process.send()
---- node/lib/internal/bootstrap_node.js
-+++ node/lib/internal/bootstrap_node.js
-@@ -122,10 +122,46 @@
- // There are various modes that Node can run in. The most common two
- // are running from a script and running the REPL - but there are a few
- // others like the debugger or running --eval arguments. Here we decide
- // which mode we run in.
-
-+ (function () {
-+ var fs = NativeModule.require('fs');
-+ var vm = NativeModule.require('vm');
-+ function readPrelude (fd) {
-+ var PAYLOAD_POSITION = '// PAYLOAD_POSITION //' | 0;
-+ var PAYLOAD_SIZE = '// PAYLOAD_SIZE //' | 0;
-+ var PRELUDE_POSITION = '// PRELUDE_POSITION //' | 0;
-+ var PRELUDE_SIZE = '// PRELUDE_SIZE //' | 0;
-+ if (!PRELUDE_POSITION) {
-+ // no prelude - remove entrypoint from argv[1]
-+ process.argv.splice(1, 1);
-+ return { undoPatch: true };
-+ }
-+ var prelude = new Buffer(PRELUDE_SIZE);
-+ var read = fs.readSync(fd, prelude, 0, PRELUDE_SIZE, PRELUDE_POSITION);
-+ if (read !== PRELUDE_SIZE) {
-+ console.error('Pkg: Error reading from file.');
-+ process.exit(1);
-+ }
-+ var s = new vm.Script(prelude, { filename: 'pkg/prelude/bootstrap.js' });
-+ var fn = s.runInThisContext();
-+ return fn(process, NativeModule.require,
-+ console, fd, PAYLOAD_POSITION, PAYLOAD_SIZE);
-+ }
-+ (function () {
-+ var fd = fs.openSync(process.execPath, 'r');
-+ var result = readPrelude(fd);
-+ if (result && result.undoPatch) {
-+ var bindingFs = process.binding('fs');
-+ fs.internalModuleStat = bindingFs.internalModuleStat;
-+ fs.internalModuleReadFile = bindingFs.internalModuleReadFile;
-+ fs.closeSync(fd);
-+ }
-+ }());
-+ }());
-+
- if (NativeModule.exists('_third_party_main')) {
- // To allow people to extend Node in different ways, this hook allows
- // one to drop a file lib/_third_party_main.js into the build
- // directory which will be executed instead of Node's normal loading.
- process.nextTick(function() {
---- node/lib/module.js
-+++ node/lib/module.js
-@@ -28,14 +28,12 @@
- const vm = require('vm');
- const assert = require('assert').ok;
- const fs = require('fs');
- const internalFS = require('internal/fs');
- const path = require('path');
--const {
-- internalModuleReadFile,
-- internalModuleStat
--} = process.binding('fs');
-+const internalModuleReadFile = function (f) { return require('fs').internalModuleReadFile(f); };
-+const internalModuleStat = function (f) { return require('fs').internalModuleStat(f); };
- const preserveSymlinks = !!process.binding('config').preserveSymlinks;
- const experimentalModules = !!process.binding('config').experimentalModules;
-
- const errors = require('internal/errors');
-
---- node/src/env.h
-+++ node/src/env.h
-@@ -266,10 +266,11 @@
- V(shell_string, "shell") \
- V(signal_string, "signal") \
- V(size_string, "size") \
- V(sni_context_err_string, "Invalid SNI context") \
- V(sni_context_string, "sni_context") \
-+ V(sourceless_string, "sourceless") \
- V(speed_string, "speed") \
- V(stack_string, "stack") \
- V(status_string, "status") \
- V(stdio_string, "stdio") \
- V(stream_string, "stream") \
---- node/src/inspector_agent.cc
-+++ node/src/inspector_agent.cc
-@@ -485,12 +485,10 @@
- &start_io_thread_async,
- StartIoThreadAsyncCallback));
- start_io_thread_async.data = this;
- uv_unref(reinterpret_cast<uv_handle_t*>(&start_io_thread_async));
-
-- // Ignore failure, SIGUSR1 won't work, but that should not block node start.
-- StartDebugSignalHandler();
- if (options.inspector_enabled()) {
- // This will return false if listen failed on the inspector port.
- return StartIoThread(options.wait_for_connect());
- }
- return true;
---- node/src/node.cc
-+++ node/src/node.cc
-@@ -3726,17 +3726,10 @@
- }
-
-
- inline void PlatformInit() {
- #ifdef __POSIX__
--#if HAVE_INSPECTOR
-- sigset_t sigmask;
-- sigemptyset(&sigmask);
-- sigaddset(&sigmask, SIGUSR1);
-- const int err = pthread_sigmask(SIG_SETMASK, &sigmask, nullptr);
--#endif // HAVE_INSPECTOR
--
- // Make sure file descriptors 0-2 are valid before we start logging anything.
- for (int fd = STDIN_FILENO; fd <= STDERR_FILENO; fd += 1) {
- struct stat ignored;
- if (fstat(fd, &ignored) == 0)
- continue;
-@@ -3746,14 +3739,10 @@
- ABORT();
- if (fd != open("/dev/null", O_RDWR))
- ABORT();
- }
-
--#if HAVE_INSPECTOR
-- CHECK_EQ(err, 0);
--#endif // HAVE_INSPECTOR
--
- #ifndef NODE_SHARED_MODE
- // Restore signal dispositions, the parent process may have changed them.
- struct sigaction act;
- memset(&act, 0, sizeof(act));
-
---- node/src/node_contextify.cc
-+++ node/src/node_contextify.cc
-@@ -57,10 +57,11 @@
- using v8::String;
- using v8::Symbol;
- using v8::TryCatch;
- using v8::Uint8Array;
- using v8::UnboundScript;
-+using v8::V8;
- using v8::Value;
- using v8::WeakCallbackInfo;
-
- namespace {
-
-@@ -573,18 +574,20 @@
- MaybeLocal<Integer> lineOffset = GetLineOffsetArg(env, options);
- MaybeLocal<Integer> columnOffset = GetColumnOffsetArg(env, options);
- Maybe<bool> maybe_display_errors = GetDisplayErrorsArg(env, options);
- MaybeLocal<Uint8Array> cached_data_buf = GetCachedData(env, options);
- Maybe<bool> maybe_produce_cached_data = GetProduceCachedData(env, options);
-+ Maybe<bool> maybe_sourceless = GetSourceless(env, options);
- MaybeLocal<Context> maybe_context = GetContext(env, options);
- if (try_catch.HasCaught()) {
- try_catch.ReThrow();
- return;
- }
-
- bool display_errors = maybe_display_errors.ToChecked();
- bool produce_cached_data = maybe_produce_cached_data.ToChecked();
-+ bool sourceless = maybe_sourceless.ToChecked();
-
- ScriptCompiler::CachedData* cached_data = nullptr;
- Local<Uint8Array> ui8;
- if (cached_data_buf.ToLocal(&ui8)) {
- ArrayBuffer::Contents contents = ui8->Buffer()->GetContents();
-@@ -604,22 +607,37 @@
- else if (produce_cached_data)
- compile_options = ScriptCompiler::kProduceCodeCache;
-
- Context::Scope scope(maybe_context.FromMaybe(env->context()));
-
-+ if (sourceless && compile_options == ScriptCompiler::kProduceCodeCache) {
-+ V8::EnableCompilationForSourcelessUse();
-+ }
-+
- MaybeLocal<UnboundScript> v8_script = ScriptCompiler::CompileUnboundScript(
- env->isolate(),
- &source,
- compile_options);
-
-+ if (sourceless && compile_options == ScriptCompiler::kProduceCodeCache) {
-+ V8::DisableCompilationForSourcelessUse();
-+ }
-+
- if (v8_script.IsEmpty()) {
- if (display_errors) {
- DecorateErrorStack(env, try_catch);
- }
- try_catch.ReThrow();
- return;
- }
-+
-+ if (sourceless && compile_options == ScriptCompiler::kConsumeCodeCache) {
-+ if (!source.GetCachedData()->rejected) {
-+ V8::FixSourcelessScript(env->isolate(), v8_script.ToLocalChecked());
-+ }
-+ }
-+
- contextify_script->script_.Reset(env->isolate(),
- v8_script.ToLocalChecked());
-
- if (compile_options == ScriptCompiler::kConsumeCodeCache) {
- args.This()->Set(
-@@ -913,10 +931,26 @@
- Local<Value> value = maybe_value.ToLocalChecked();
- return Just(value->IsTrue());
- }
-
-
-+ static Maybe<bool> GetSourceless(Environment* env, Local<Value> options) {
-+ if (!options->IsObject()) {
-+ return Just(false);
-+ }
-+
-+ MaybeLocal<Value> maybe_value =
-+ options.As<Object>()->Get(env->context(),
-+ env->sourceless_string());
-+ if (maybe_value.IsEmpty())
-+ return Nothing<bool>();
-+
-+ Local<Value> value = maybe_value.ToLocalChecked();
-+ return Just(value->IsTrue());
-+ }
-+
-+
- static MaybeLocal<Integer> GetLineOffsetArg(Environment* env,
- Local<Value> options) {
- Local<Integer> defaultLineOffset = Integer::New(env->isolate(), 0);
-
- if (!options->IsObject()) {
---- node/src/node_debug_options.cc
-+++ node/src/node_debug_options.cc
-@@ -59,10 +59,11 @@
- deprecated_debug_(false),
- break_first_line_(false),
- host_name_("127.0.0.1"), port_(-1) { }
-
- bool DebugOptions::ParseOption(const char* argv0, const std::string& option) {
-+ return false;
- bool has_argument = false;
- std::string option_name;
- std::string argument;
-
- auto pos = option.find("=");
---- node/src/node_main.cc
-+++ node/src/node_main.cc
-@@ -20,10 +20,12 @@
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- #include "node.h"
- #include <stdio.h>
-
-+int reorder(int argc, char** argv);
-+
- #ifdef _WIN32
- #include <windows.h>
- #include <VersionHelpers.h>
- #include <WinError.h>
-
-@@ -67,11 +69,11 @@
- exit(1);
- }
- }
- argv[argc] = nullptr;
- // Now that conversion is done, we can finally start.
-- return node::Start(argc, argv);
-+ return reorder(argc, argv);
- }
- #else
- // UNIX
- #ifdef __linux__
- #include <elf.h>
-@@ -119,8 +121,75 @@
- #endif
- // Disable stdio buffering, it interacts poorly with printf()
- // calls elsewhere in the program (e.g., any logging from V8.)
- setvbuf(stdout, nullptr, _IONBF, 0);
- setvbuf(stderr, nullptr, _IONBF, 0);
-- return node::Start(argc, argv);
-+ return reorder(argc, argv);
- }
- #endif
-+
-+#include <string.h>
-+
-+int strlen2 (char* s) {
-+ int len = 0;
-+ while (*s) {
-+ len += 1;
-+ s += 1;
-+ }
-+ return len;
-+}
-+
-+bool should_set_dummy() {
-+#ifdef _WIN32
-+ #define MAX_ENV_LENGTH 32767
-+ char execpath_env[MAX_ENV_LENGTH];
-+ DWORD result = GetEnvironmentVariable("PKG_EXECPATH", execpath_env, MAX_ENV_LENGTH);
-+ if (result == 0 && GetLastError() != ERROR_SUCCESS) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#else
-+ const char* execpath_env = getenv("PKG_EXECPATH");
-+ if (!execpath_env) return true;
-+ return strcmp(execpath_env, "PKG_INVOKE_NODEJS") != 0;
-+#endif
-+}
-+
-+// for uv_setup_args
-+int adjacent(int argc, char** argv) {
-+ size_t size = 0;
-+ for (int i = 0; i < argc; i++) {
-+ size += strlen(argv[i]) + 1;
-+ }
-+ char* args = new char[size];
-+ size_t pos = 0;
-+ for (int i = 0; i < argc; i++) {
-+ memcpy(&args[pos], argv[i], strlen(argv[i]) + 1);
-+ argv[i] = &args[pos];
-+ pos += strlen(argv[i]) + 1;
-+ }
-+ return node::Start(argc, argv);
-+}
-+
-+volatile char* BAKERY = (volatile char*) "\0// BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY " \
-+ "// BAKERY // BAKERY // BAKERY // BAKERY // BAKERY // BAKERY ";
-+
-+int reorder(int argc, char** argv) {
-+ int i;
-+ char** nargv = new char*[argc + 64];
-+ int c = 0;
-+ nargv[c++] = argv[0];
-+ char* bakery = (char*) BAKERY;
-+ while (true) {
-+ size_t width = strlen2(bakery);
-+ if (width == 0) break;
-+ nargv[c++] = bakery;
-+ bakery += width + 1;
-+ }
-+ if (should_set_dummy()) {
-+ nargv[c++] = (char*) "PKG_DUMMY_ENTRYPOINT";
-+ }
-+ for (i = 1; i < argc; i++) {
-+ nargv[c++] = argv[i];
-+ }
-+ return adjacent(c, nargv);
-+}
diff --git a/includes/search/node_modules/pkg-fetch/patches/patches.json b/includes/search/node_modules/pkg-fetch/patches/patches.json
deleted file mode 100644
index c3bb657..0000000
--- a/includes/search/node_modules/pkg-fetch/patches/patches.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "v18.5.0": ["node.v18.5.0.cpp.patch"],
- "v16.16.0": ["node.v16.16.0.cpp.patch"],
- "v14.20.0": ["node.v14.20.0.cpp.patch"],
- "v12.22.11": ["node.v12.22.11.cpp.patch"],
- "v10.24.1": ["node.v10.24.1.cpp.patch"],
- "v8.17.0": ["node.v8.17.0.cpp.patch"]
-}
diff --git a/includes/search/node_modules/pkg/LICENSE b/includes/search/node_modules/pkg/LICENSE
deleted file mode 100644
index b708f87..0000000
--- a/includes/search/node_modules/pkg/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2021 Vercel, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/pkg/README.md b/includes/search/node_modules/pkg/README.md
deleted file mode 100644
index 15e7230..0000000
--- a/includes/search/node_modules/pkg/README.md
+++ /dev/null
@@ -1,426 +0,0 @@
-**Disclaimer: `pkg` was created for use within containers and is not intended for use in serverless environments. For those using Vercel, this means that there is no requirement to use `pkg` in your projects as the benefits it provides are not applicable to the platform.**
-
-![](https://res.cloudinary.com/zeit-inc/image/upload/v1509936789/repositories/pkg/pkg-repo-banner-new.png)
-
-[![Build Status](https://github.com/vercel/pkg/actions/workflows/ci.yml/badge.svg)](https://github.com/vercel/pkg/actions/workflows/ci.yml)
-
-This command line interface enables you to package your Node.js project into an executable that can be run even on devices without Node.js installed.
-
-## Use Cases
-
-- Make a commercial version of your application without sources
-- Make a demo/evaluation/trial version of your app without sources
-- Instantly make executables for other platforms (cross-compilation)
-- Make some kind of self-extracting archive or installer
-- No need to install Node.js and npm to run the packaged application
-- No need to download hundreds of files via `npm install` to deploy
- your application. Deploy it as a single file
-- Put your assets inside the executable to make it even more portable
-- Test your app against new Node.js version without installing it
-
-## Usage
-
-```sh
-npm install -g pkg
-```
-
-After installing it, run `pkg --help` without arguments to see list of options:
-
-```console
-pkg [options] <input>
-
- Options:
-
- -h, --help output usage information
- -v, --version output pkg version
- -t, --targets comma-separated list of targets (see examples)
- -c, --config package.json or any json file with top-level config
- --options bake v8 options into executable to run with them on
- -o, --output output file name or template for several files
- --out-path path to save output one or more executables
- -d, --debug show more information during packaging process [off]
- -b, --build don't download prebuilt base binaries, build them
- --public speed up and disclose the sources of top-level project
- --public-packages force specified packages to be considered public
- --no-bytecode skip bytecode generation and include source files as plain js
- --no-native-build skip native addons build
- --no-dict comma-separated list of packages names to ignore dictionaries. Use --no-dict * to disable all dictionaries
- -C, --compress [default=None] compression algorithm = Brotli or GZip
-
- Examples:
-
- – Makes executables for Linux, macOS and Windows
- $ pkg index.js
- – Takes package.json from cwd and follows 'bin' entry
- $ pkg .
- – Makes executable for particular target machine
- $ pkg -t node14-win-arm64 index.js
- – Makes executables for target machines of your choice
- $ pkg -t node12-linux,node14-linux,node14-win index.js
- – Bakes '--expose-gc' and '--max-heap-size=34' into executable
- $ pkg --options "expose-gc,max-heap-size=34" index.js
- – Consider packageA and packageB to be public
- $ pkg --public-packages "packageA,packageB" index.js
- – Consider all packages to be public
- $ pkg --public-packages "*" index.js
- – Bakes '--expose-gc' into executable
- $ pkg --options expose-gc index.js
- – reduce size of the data packed inside the executable with GZip
- $ pkg --compress GZip index.js
-```
-
-The entrypoint of your project is a mandatory CLI argument. It may be:
-
-- Path to entry file. Suppose it is `/path/app.js`, then
- packaged app will work the same way as `node /path/app.js`
-- Path to `package.json`. `Pkg` will follow `bin` property of
- the specified `package.json` and use it as entry file.
-- Path to directory. `Pkg` will look for `package.json` in
- the specified directory. See above.
-
-### Targets
-
-`pkg` can generate executables for several target machines at a
-time. You can specify a comma-separated list of targets via `--targets`
-option. A canonical target consists of 3 elements, separated by
-dashes, for example `node12-macos-x64` or `node14-linux-arm64`:
-
-- **nodeRange** (node8), node10, node12, node14, node16 or latest
-- **platform** alpine, linux, linuxstatic, win, macos, (freebsd)
-- **arch** x64, arm64, (armv6, armv7)
-
-(element) is unsupported, but you may try to compile yourself.
-
-You may omit any element (and specify just `node14` for example).
-The omitted elements will be taken from current platform or
-system-wide Node.js installation (its version and arch).
-There is also an alias `host`, that means that all 3 elements
-are taken from current platform/Node.js. By default targets are
-`linux,macos,win` for current Node.js version and arch.
-
-If you want to generate executable for different architectures,
-note that by default `pkg` has to run the executable of the
-**target** arch to generate bytecodes:
-
-- Linux: configure binfmt with [QEMU](https://wiki.debian.org/QemuUserEmulation).
-- macOS: possible to build `x64` on `arm64` with `Rosetta 2` but not opposite.
-- Windows: possible to build `x64` on `arm64` with `x64 emulation` but not opposite.
-- or, disable bytecode generation with `--no-bytecode --public-packages "*" --public`.
-
-`macos-arm64` is experimental. Be careful about the [mandatory code signing requirement](https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes).
-The final executable has to be signed (ad-hoc signature is sufficient) with `codesign`
-utility of macOS (or `ldid` utility on Linux). Otherwise, the executable will be killed
-by kernel and the end-user has no way to permit it to run at all. `pkg` tries to ad-hoc
-sign the final executable. If necessary, you can replace this signature with your own
-trusted Apple Developer ID.
-
-To be able to generate executables for all supported architectures and platforms, run
-`pkg` on a Linux host with binfmt (`QEMU` emulation) configured and `ldid` installed.
-
-### Config
-
-During packaging process `pkg` parses your sources, detects
-calls to `require`, traverses the dependencies of your project
-and includes them into executable. In most cases you
-don't need to specify anything manually.
-
-However your code may have `require(variable)` calls (so called non-literal
-argument to `require`) or use non-javascript files (for
-example views, css, images etc).
-
-```js
-require('./build/' + cmd + '.js');
-path.join(__dirname, 'views/' + viewName);
-```
-
-Such cases are not handled by `pkg`. So you must specify the
-files - scripts and assets - manually in `pkg` property of
-your `package.json` file.
-
-```json
- "pkg": {
- "scripts": "build/**/*.js",
- "assets": "views/**/*",
- "targets": [ "node14-linux-arm64" ],
- "outputPath": "dist"
- }
-```
-
-The above example will include everything in `assets/` and
-every .js file in `build/`, build only for `node14-linux-arm64`,
-and place the executable inside `dist/`.
-
-You may also specify arrays of globs:
-
-```
- "assets": [ "assets/**/*", "images/**/*" ]
-```
-
-Just be sure to call `pkg package.json` or `pkg .` to make
-use of `package.json` configuration.
-
-### Scripts
-
-`scripts` is a [glob](https://github.com/sindresorhus/globby)
-or list of globs. Files specified as `scripts` will be compiled
-using `v8::ScriptCompiler` and placed into executable without
-sources. They must conform to the JS standards of those Node.js versions
-you target (see [Targets](#targets)), i.e. be already transpiled.
-
-### Assets
-
-`assets` is a [glob](https://github.com/sindresorhus/globby)
-or list of globs. Files specified as `assets` will be packaged
-into executable as raw content without modifications. Javascript
-files may also be specified as `assets`. Their sources will
-not be stripped as it improves execution performance of the
-files and simplifies debugging.
-
-See also
-[Detecting assets in source code](#detecting-assets-in-source-code) and
-[Snapshot filesystem](#snapshot-filesystem).
-
-### Options
-
-Node.js application can be called with runtime options
-(belonging to Node.js or V8). To list them type `node --help` or `node --v8-options`.
-
-You can "bake" these runtime options into packaged application. The app will always run with the options
-turned on. Just remove `--` from option name.
-
-You can specify multiple options by joining them in a single string, comma (`,`) separated:
-
-```sh
-pkg app.js --options expose-gc
-pkg app.js --options max_old_space_size=4096
-pkg app.js --options max-old-space-size=1024,tls-min-v1.0,expose-gc
-```
-
-### Output
-
-You may specify `--output` if you create only one executable
-or `--out-path` to place executables for multiple targets.
-
-### Debug
-
-Pass `--debug` to `pkg` to get a log of packaging process.
-If you have issues with some particular file (seems not packaged
-into executable), it may be useful to look through the log.
-
-### Bytecode (reproducibility)
-
-By default, your source code is precompiled to v8 bytecode before being written
-to the output file. To disable this feature, pass `--no-bytecode` to `pkg`.
-
-#### Why would you want to do this?
-
-If you need a reproducible build
-process where your executable hashes (e.g. md5, sha1, sha256, etc.) are the
-same value between builds. Because compiling bytecode is not deterministic
-(see [here](https://ui.adsabs.harvard.edu/abs/2019arXiv191003478C/abstract) or
-[here](https://medium.com/dailyjs/understanding-v8s-bytecode-317d46c94775)) it
-results in executables with differing hashed values. Disabling bytecode
-compilation allows a given input to always have the same output.
-
-#### Why would you NOT want to do this?
-
-While compiling to bytecode does not make your source code 100% secure, it does
-add a small layer of security/privacy/obscurity to your source code. Turning
-off bytecode compilation causes the raw source code to be written directly to
-the executable file. If you're on \*nix machine and would like an example, run
-`pkg` with the `--no-bytecode` flag, and use the GNU strings tool on the
-output. You then should be able to grep your source code.
-
-#### Other considerations
-
-Specifying `--no-bytecode` will fail if there are any packages in your project that aren't explicitly marked
-as public by the `license` in their `package.json`.
-By default, `pkg` will check the license of each package and make sure that stuff that isn't meant for the public will
-only be included as bytecode.
-
-If you do require building pkg binaries for other architectures and/or depend on a package with a broken
-`license` in its `package.json`, you can override this behaviour by either explicitly whitelisting packages to be public
-using `--public-packages "packageA,packageB"` or setting all packages to public using `--public-packages "*"`
-
-### Build
-
-`pkg` has so called "base binaries" - they are actually same
-`node` executables but with some patches applied. They are
-used as a base for every executable `pkg` creates. `pkg`
-downloads precompiled base binaries before packaging your
-application. If you prefer to compile base binaries from
-source instead of downloading them, you may pass `--build`
-option to `pkg`. First ensure your computer meets the
-requirements to compile original Node.js:
-[BUILDING.md](https://github.com/nodejs/node/blob/HEAD/BUILDING.md)
-
-See [pkg-fetch](https://github.com/vercel/pkg-fetch) for more info.
-
-### Compression
-
-Pass `--compress Brotli` or `--compress GZip` to `pkg` to compress further the content of the files store in the exectable.
-
-This option can reduce the size of the embedded file system by up to 60%.
-
-The startup time of the application might be reduced slightly.
-
-`-C` can be used as a shortcut for `--compress `.
-
-### Environment
-
-| Var | Description |
-| -------------- | ----------------------------------------------------------------------------------------- |
-| PKG_CACHE_PATH | Used to specify a custom path for node binaries cache folder. Default is `~/.pkg-cache` |
-| PKG_IGNORE_TAG | Allows to ignore additional folder created on `PKG_CACHE_PATH` matching pkg-fetch version |
-| MAKE_JOB_COUNT | Allow configuring number of processes used for compiling |
-
-Examples
-
-```bash
-# 1 - Using export
-export PKG_CACHE_PATH=/my/cache
-pkg app.js
-
-# 2 - Passing it before the script
-PKG_CACHE_PATH=/my/cache pkg app.js
-```
-
-## Usage of packaged app
-
-Command line call to packaged app `./app a b` is equivalent
-to `node app.js a b`
-
-## Snapshot filesystem
-
-During packaging process `pkg` collects project files and places
-them into executable. It is called a snapshot. At run time the
-packaged application has access to snapshot filesystem where all
-that files reside.
-
-Packaged files have `/snapshot/` prefix in their paths (or
-`C:\snapshot\` in Windows). If you used `pkg /path/app.js` command line,
-then `__filename` value will be likely `/snapshot/path/app.js`
-at run time. `__dirname` will be `/snapshot/path` as well. Here is
-the comparison table of path-related values:
-
-| value | with `node` | packaged | comments |
-| ----------------------------- | --------------- | ------------------------ | ------------------------------ |
-| \_\_filename | /project/app.js | /snapshot/project/app.js |
-| \_\_dirname | /project | /snapshot/project |
-| process.cwd() | /project | /deploy | suppose the app is called ... |
-| process.execPath | /usr/bin/nodejs | /deploy/app-x64 | `app-x64` and run in `/deploy` |
-| process.argv[0] | /usr/bin/nodejs | /deploy/app-x64 |
-| process.argv[1] | /project/app.js | /snapshot/project/app.js |
-| process.pkg.entrypoint | undefined | /snapshot/project/app.js |
-| process.pkg.defaultEntrypoint | undefined | /snapshot/project/app.js |
-| require.main.filename | /project/app.js | /snapshot/project/app.js |
-
-Hence, in order to make use of a file collected at packaging
-time (`require` a javascript file or serve an asset) you should
-take `__filename`, `__dirname`, `process.pkg.defaultEntrypoint`
-or `require.main.filename` as a base for your path calculations.
-For javascript files you can just `require` or `require.resolve`
-because they use current `__dirname` by default. For assets use
-`path.join(__dirname, '../path/to/asset')`. Learn more about
-`path.join` in
-[Detecting assets in source code](#detecting-assets-in-source-code).
-
-On the other hand, in order to access real file system at run time
-(pick up a user's external javascript plugin, json configuration or
-even get a list of user's directory) you should take `process.cwd()`
-or `path.dirname(process.execPath)`.
-
-## Detecting assets in source code
-
-When `pkg` encounters `path.join(__dirname, '../path/to/asset')`,
-it automatically packages the file specified as an asset. See
-[Assets](#assets). Pay attention that `path.join` must have two
-arguments and the last one must be a string literal.
-
-This way you may even avoid creating `pkg` config for your project.
-
-## Native addons
-
-Native addons (`.node` files) use is supported. When `pkg` encounters
-a `.node` file in a `require` call, it will package this like an asset.
-In some cases (like with the `bindings` package), the module path is generated
-dynamicaly and `pkg` won't be able to detect it. In this case, you should
-add the `.node` file directly in the `assets` field in `package.json`.
-
-The way Node.js requires native addon is different from a classic JS
-file. It needs to have a file on disk to load it, but `pkg` only generates
-one file. To circumvent this, `pkg` will create a temporary file on the
-disk. These files will stay on the disk after the process has exited
-and will be used again on the next process launch.
-
-When a package, that contains a native module, is being installed,
-the native module is compiled against current system-wide Node.js
-version. Then, when you compile your project with `pkg`, pay attention
-to `--target` option. You should specify the same Node.js version
-as your system-wide Node.js to make compiled executable compatible
-with `.node` files.
-
-Note that fully static Node binaries are not capable of loading native
-bindings, so you may not use Node bindings with `linuxstatic`.
-
-## API
-
-`const { exec } = require('pkg')`
-
-`exec(args)` takes an array of command line arguments and returns
-a promise. For example:
-
-```js
-await exec(['app.js', '--target', 'host', '--output', 'app.exe']);
-// do something with app.exe, run, test, upload, deploy, etc
-```
-
-## Troubleshooting
-
-### Error: ENOENT: no such file or directory, uv_chdir
-
-This error can be caused by deleting the directory the application is
-run from. Or, generally, deleting `process.cwd()` directory when the
-application is running.
-
-### Error: ERR_INSPECTOR_NOT_AVAILABLE
-
-This error can be caused by using `NODE_OPTIONS` variable to force to
-run `node` with the debug mode enabled. Debugging options are disallowed
-, as **pkg** executables are usually used for production environments.
-If you do need to use inspector, you can [build a debuggable Node.js](https://github.com/vercel/pkg/issues/93#issuecomment-301210543) yourself.
-
-### Error: require(...).internalModuleStat is not a function
-
-This error can be caused by using `NODE_OPTIONS` variable with some
-bootstrap or `node` options causing conflicts with **pkg**. Some
-IDEs, such as **VS Code**, may add this env variable automatically.
-
-You could check on **Unix systems** (Linux/macOS) in `bash`:
-
-```bash
-$ printenv | grep NODE
-```
-
-## Advanced
-
-### exploring virtual file system embedded in debug mode
-
-When you are using the `--debug` flag when building your executable,
-`pkg` add the ability to display the content of the virtual file system
-and the symlink table on the console, when the application starts,
-providing that the environement variable DEBUG_PKG is set.
-This feature can be useful to inspect if symlinks are correctly handled,
-and check that all the required files for your application are properly
-incorporated to the final executable.
-
- $ pkg --debug app.js -o output
- $ DEBUG_PKG=1 output
-
-or
-
- C:\> pkg --debug app.js -o output.exe
- C:\> set DEBUG_PKG=1
- C:\> output.exe
-
-Note: make sure not to use --debug flag in production.
diff --git a/includes/search/node_modules/pkg/dictionary/angular-bridge.js b/includes/search/node_modules/pkg/dictionary/angular-bridge.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/angular-bridge.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/any-promise.js b/includes/search/node_modules/pkg/dictionary/any-promise.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/any-promise.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/async.js b/includes/search/node_modules/pkg/dictionary/async.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/async.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/aws-sdk.js b/includes/search/node_modules/pkg/dictionary/aws-sdk.js
deleted file mode 100644
index 5e0d3b1..0000000
--- a/includes/search/node_modules/pkg/dictionary/aws-sdk.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['apis/*.json', 'lib/services/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/babel-core.js b/includes/search/node_modules/pkg/dictionary/babel-core.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/babel-core.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/batch.js b/includes/search/node_modules/pkg/dictionary/batch.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/batch.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/bcrypt.js b/includes/search/node_modules/pkg/dictionary/bcrypt.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/bcrypt.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/better-sqlite3.js b/includes/search/node_modules/pkg/dictionary/better-sqlite3.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/better-sqlite3.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/bignum.js b/includes/search/node_modules/pkg/dictionary/bignum.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/bignum.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/bindings.js b/includes/search/node_modules/pkg/dictionary/bindings.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/bindings.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/blessed.js b/includes/search/node_modules/pkg/dictionary/blessed.js
deleted file mode 100644
index 45d6d18..0000000
--- a/includes/search/node_modules/pkg/dictionary/blessed.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-
-// https://github.com/chjj/blessed/issues/298
-module.exports = {
- pkg: {
- scripts: ['lib/widgets/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/body-parser.js b/includes/search/node_modules/pkg/dictionary/body-parser.js
deleted file mode 100644
index 5e6efaa..0000000
--- a/includes/search/node_modules/pkg/dictionary/body-parser.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: [
- 'lib/types/*.js', // for 1.4-1.13
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/browserify.js b/includes/search/node_modules/pkg/dictionary/browserify.js
deleted file mode 100644
index c01e78c..0000000
--- a/includes/search/node_modules/pkg/dictionary/browserify.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['bin/*.txt'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/bson.js b/includes/search/node_modules/pkg/dictionary/bson.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/bson.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/buffermaker.js b/includes/search/node_modules/pkg/dictionary/buffermaker.js
deleted file mode 100644
index a0dac16..0000000
--- a/includes/search/node_modules/pkg/dictionary/buffermaker.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/bunyan.js b/includes/search/node_modules/pkg/dictionary/bunyan.js
deleted file mode 100644
index 622ecff..0000000
--- a/includes/search/node_modules/pkg/dictionary/bunyan.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/bunyan.js': ["mv = require('mv' + '');", "mv = require('mv');"],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/busboy.js b/includes/search/node_modules/pkg/dictionary/busboy.js
deleted file mode 100644
index 376a865..0000000
--- a/includes/search/node_modules/pkg/dictionary/busboy.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/types/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/bytes.js b/includes/search/node_modules/pkg/dictionary/bytes.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/bytes.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/callsites.js b/includes/search/node_modules/pkg/dictionary/callsites.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/callsites.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/chokidar.js b/includes/search/node_modules/pkg/dictionary/chokidar.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/chokidar.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/coffee-script.js b/includes/search/node_modules/pkg/dictionary/coffee-script.js
deleted file mode 100644
index 5e9f5d8..0000000
--- a/includes/search/node_modules/pkg/dictionary/coffee-script.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/coffee-script/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/colors.js b/includes/search/node_modules/pkg/dictionary/colors.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/colors.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/compression.js b/includes/search/node_modules/pkg/dictionary/compression.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/compression.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/compressjs.js b/includes/search/node_modules/pkg/dictionary/compressjs.js
deleted file mode 100644
index a0dac16..0000000
--- a/includes/search/node_modules/pkg/dictionary/compressjs.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/connect-mongo.js b/includes/search/node_modules/pkg/dictionary/connect-mongo.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/connect-mongo.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/connect-mongodb.js b/includes/search/node_modules/pkg/dictionary/connect-mongodb.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/connect-mongodb.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/connect-redis.js b/includes/search/node_modules/pkg/dictionary/connect-redis.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/connect-redis.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/connect.js b/includes/search/node_modules/pkg/dictionary/connect.js
deleted file mode 100644
index 3098749..0000000
--- a/includes/search/node_modules/pkg/dictionary/connect.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/middleware/*.js'],
- assets: [
- 'lib/public/**/*', // for connect@2.3
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/consolidate.js b/includes/search/node_modules/pkg/dictionary/consolidate.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/consolidate.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/cookie-parser.js b/includes/search/node_modules/pkg/dictionary/cookie-parser.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/cookie-parser.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/cookie.js b/includes/search/node_modules/pkg/dictionary/cookie.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/cookie.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/cors.js b/includes/search/node_modules/pkg/dictionary/cors.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/cors.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/cron.js b/includes/search/node_modules/pkg/dictionary/cron.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/cron.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/cross-env.js b/includes/search/node_modules/pkg/dictionary/cross-env.js
deleted file mode 100644
index dcf35ee..0000000
--- a/includes/search/node_modules/pkg/dictionary/cross-env.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- // author is mistaken to point package.json.main to
- // src/index.js (that is es6) instead of dist/index.js (es5)
- 'src/index.js': [{ do: 'erase' }, ''],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/cross-spawn-async.js b/includes/search/node_modules/pkg/dictionary/cross-spawn-async.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/cross-spawn-async.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/curve25519.js b/includes/search/node_modules/pkg/dictionary/curve25519.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/curve25519.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/data-preflight.js b/includes/search/node_modules/pkg/dictionary/data-preflight.js
deleted file mode 100644
index 26d3b20..0000000
--- a/includes/search/node_modules/pkg/dictionary/data-preflight.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['src/view/**/*', 'src/js/view/**/*'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/debug.js b/includes/search/node_modules/pkg/dictionary/debug.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/debug.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/denymount.js b/includes/search/node_modules/pkg/dictionary/denymount.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/denymount.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/diff.js b/includes/search/node_modules/pkg/dictionary/diff.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/diff.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/drivelist.js b/includes/search/node_modules/pkg/dictionary/drivelist.js
deleted file mode 100644
index 404d9c6..0000000
--- a/includes/search/node_modules/pkg/dictionary/drivelist.js
+++ /dev/null
@@ -1,22 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'build/scripts.js': [
- "path.join(__dirname, '..', 'scripts')",
- "path.join(path.dirname(process.execPath), 'drivelist')",
- ],
- 'lib/scripts.js': [
- "path.join(__dirname, '..', 'scripts')",
- "path.join(path.dirname(process.execPath), 'drivelist')", // for 4.0.0
- ],
- },
- deployFiles: [
- ['build/Release/drivelist.node', 'drivelist.node'],
- ['scripts/darwin.sh', 'drivelist/darwin.sh'],
- ['scripts/linux.sh', 'drivelist/linux.sh'],
- ['scripts/win32.bat', 'drivelist/win32.bat'],
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/ed25519.js b/includes/search/node_modules/pkg/dictionary/ed25519.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/ed25519.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/ejs.js b/includes/search/node_modules/pkg/dictionary/ejs.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/ejs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/elasticsearch.js b/includes/search/node_modules/pkg/dictionary/elasticsearch.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/elasticsearch.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/electron.js b/includes/search/node_modules/pkg/dictionary/electron.js
deleted file mode 100644
index a57387f..0000000
--- a/includes/search/node_modules/pkg/dictionary/electron.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'index.js': [
- 'path.join(__dirname, fs',
- "path.join(path.dirname(process.execPath), 'electron', fs",
- ],
- },
- deployFiles: [
- ['dist', 'electron/dist', 'directory'],
- ['../sliced/index.js', 'node_modules/sliced/index.js'],
- ['../deep-defaults/lib/index.js', 'node_modules/deep-defaults/index.js'],
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/emailjs.js b/includes/search/node_modules/pkg/dictionary/emailjs.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/emailjs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/engine.io.js b/includes/search/node_modules/pkg/dictionary/engine.io.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/engine.io.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/epoll.js b/includes/search/node_modules/pkg/dictionary/epoll.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/epoll.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/errorhandler.js b/includes/search/node_modules/pkg/dictionary/errorhandler.js
deleted file mode 100644
index 023b0a0..0000000
--- a/includes/search/node_modules/pkg/dictionary/errorhandler.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['public/**/*'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/errors.js b/includes/search/node_modules/pkg/dictionary/errors.js
deleted file mode 100644
index d716f48..0000000
--- a/includes/search/node_modules/pkg/dictionary/errors.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['lib/static/*'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/eslint.js b/includes/search/node_modules/pkg/dictionary/eslint.js
deleted file mode 100644
index a19b95f..0000000
--- a/includes/search/node_modules/pkg/dictionary/eslint.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/rules/*.js', 'lib/formatters/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/etcher-image-write.js b/includes/search/node_modules/pkg/dictionary/etcher-image-write.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/etcher-image-write.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/exceljs.js b/includes/search/node_modules/pkg/dictionary/exceljs.js
deleted file mode 100644
index 47c6604..0000000
--- a/includes/search/node_modules/pkg/dictionary/exceljs.js
+++ /dev/null
@@ -1,21 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: [
- // TODO look at exceljs and implement as
- // many __dirname use cases as possible
- 'lib/**/*.xml',
- ],
- patches: {
- 'lib/stream/xlsx/workbook-writer.js': [
- "require.resolve('../../xlsx/xml/theme1.xml')",
- "require('path').join(__dirname, '../../xlsx/xml/theme1.xml')",
- ],
- 'lib/xlsx/xlsx.js': [
- "require.resolve('./xml/theme1.xml')",
- "require('path').join(__dirname, './xml/theme1.xml')",
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/exiftool.exe.js b/includes/search/node_modules/pkg/dictionary/exiftool.exe.js
deleted file mode 100644
index 43c39a4..0000000
--- a/includes/search/node_modules/pkg/dictionary/exiftool.exe.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'index.js': [
- "path.join(__dirname, 'vendor', 'exiftool.exe')",
- "path.join(path.dirname(process.execPath), 'exiftool.exe')",
- ],
- },
- deployFiles: [['vendor/exiftool.exe', 'exiftool.exe']],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/exiftool.pl.js b/includes/search/node_modules/pkg/dictionary/exiftool.pl.js
deleted file mode 100644
index 8aabfc3..0000000
--- a/includes/search/node_modules/pkg/dictionary/exiftool.pl.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'index.js': [
- "path.join(__dirname, 'vendor', 'exiftool')",
- "path.join(path.dirname(process.execPath), 'exiftool')",
- ],
- },
- deployFiles: [['vendor/exiftool', 'exiftool']],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/express-load.js b/includes/search/node_modules/pkg/dictionary/express-load.js
deleted file mode 100644
index b49d9f7..0000000
--- a/includes/search/node_modules/pkg/dictionary/express-load.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/express-load.js': [
- 'entity = path.resolve(',
- 'entity = process.pkg.path.resolve(',
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/express-session.js b/includes/search/node_modules/pkg/dictionary/express-session.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/express-session.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/express.js b/includes/search/node_modules/pkg/dictionary/express.js
deleted file mode 100644
index 45a3ae2..0000000
--- a/includes/search/node_modules/pkg/dictionary/express.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/view.js': [
- 'path = join(this.root, path)',
- 'path = process.pkg.path.resolve(this.root, path)', // for 3.x
- 'loc = resolve(root, name)',
- 'loc = process.pkg.path.resolve(root, name)', // for 4.x
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/extender.js b/includes/search/node_modules/pkg/dictionary/extender.js
deleted file mode 100644
index a5d4fe8..0000000
--- a/includes/search/node_modules/pkg/dictionary/extender.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-
-module.exports = {
- // в declare.js грязный хак.
- // если в тексте(!) функции есть подстрока "super"
- // (см SUPER_REGEXP), то её надо оборачивать особым
- // способом (см functionWrapper). поэтому все пакеты,
- // которые зависят от declare.js - надо проработать.
- // хотя бы те файлы, функции в которых попадают в
- // functionWrapper
-};
diff --git a/includes/search/node_modules/pkg/dictionary/extsprintf.js b/includes/search/node_modules/pkg/dictionary/extsprintf.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/extsprintf.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/faye-websocket.js b/includes/search/node_modules/pkg/dictionary/faye-websocket.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/faye-websocket.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/feathers.js b/includes/search/node_modules/pkg/dictionary/feathers.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/feathers.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/findup-sync.js b/includes/search/node_modules/pkg/dictionary/findup-sync.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/findup-sync.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/floordate.js b/includes/search/node_modules/pkg/dictionary/floordate.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/floordate.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/fmt.js b/includes/search/node_modules/pkg/dictionary/fmt.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/fmt.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/formidable.js b/includes/search/node_modules/pkg/dictionary/formidable.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/formidable.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/fs-extra.js b/includes/search/node_modules/pkg/dictionary/fs-extra.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/fs-extra.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/fsevents.js b/includes/search/node_modules/pkg/dictionary/fsevents.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/fsevents.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/geoip-lite.js b/includes/search/node_modules/pkg/dictionary/geoip-lite.js
deleted file mode 100644
index 903bf96..0000000
--- a/includes/search/node_modules/pkg/dictionary/geoip-lite.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['data/*'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/github.js b/includes/search/node_modules/pkg/dictionary/github.js
deleted file mode 100644
index 6852d20..0000000
--- a/includes/search/node_modules/pkg/dictionary/github.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['lib/routes.json'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/gm.js b/includes/search/node_modules/pkg/dictionary/gm.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/gm.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/google-closure-compiler-java.js b/includes/search/node_modules/pkg/dictionary/google-closure-compiler-java.js
deleted file mode 100644
index 95c4737..0000000
--- a/includes/search/node_modules/pkg/dictionary/google-closure-compiler-java.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'index.js': [
- "require.resolve('./compiler.jar')",
- "require('path').join(require('path').dirname(process.execPath), 'compiler/compiler.jar')",
- ],
- },
- deployFiles: [['compiler.jar', 'compiler/compiler.jar']],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/google-closure-compiler.js b/includes/search/node_modules/pkg/dictionary/google-closure-compiler.js
deleted file mode 100644
index 4af1038..0000000
--- a/includes/search/node_modules/pkg/dictionary/google-closure-compiler.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/node/closure-compiler.js': [
- "require.resolve('../../compiler.jar')",
- "require('path').join(require('path').dirname(process.execPath), 'compiler/compiler.jar')",
- ],
- },
- deployFiles: [['compiler.jar', 'compiler/compiler.jar']],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/googleapis.js b/includes/search/node_modules/pkg/dictionary/googleapis.js
deleted file mode 100644
index 2270ac0..0000000
--- a/includes/search/node_modules/pkg/dictionary/googleapis.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['apis/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/got.js b/includes/search/node_modules/pkg/dictionary/got.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/got.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/graceful-fs.js b/includes/search/node_modules/pkg/dictionary/graceful-fs.js
deleted file mode 100644
index c34e9ba..0000000
--- a/includes/search/node_modules/pkg/dictionary/graceful-fs.js
+++ /dev/null
@@ -1,19 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'graceful-fs.js': [
- { do: 'prepend' },
- 'if ((function() {\n' +
- " var version = require('./package.json').version;\n" +
- " var major = parseInt(version.split('.')[0]);\n" +
- ' if (major < 4) {\n' +
- " module.exports = require('fs');\n" +
- ' return true;\n' +
- ' }\n' +
- '})()) return;\n',
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/grpc.js b/includes/search/node_modules/pkg/dictionary/grpc.js
deleted file mode 100644
index c1930d0..0000000
--- a/includes/search/node_modules/pkg/dictionary/grpc.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- files: [
- // suppress because hundreds of
- // C++ files go inside executable
- ],
- assets: ['etc/*.pem', 'deps/grpc/etc/*.pem'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/gulp.js b/includes/search/node_modules/pkg/dictionary/gulp.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/gulp.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/hap-nodejs.js b/includes/search/node_modules/pkg/dictionary/hap-nodejs.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/hap-nodejs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/heapdump.js b/includes/search/node_modules/pkg/dictionary/heapdump.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/heapdump.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/hoek.js b/includes/search/node_modules/pkg/dictionary/hoek.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/hoek.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/homebridge.js b/includes/search/node_modules/pkg/dictionary/homebridge.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/homebridge.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/http-proxy.js b/includes/search/node_modules/pkg/dictionary/http-proxy.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/http-proxy.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/http-server.js b/includes/search/node_modules/pkg/dictionary/http-server.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/http-server.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/image-size.js b/includes/search/node_modules/pkg/dictionary/image-size.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/image-size.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/indexof.js b/includes/search/node_modules/pkg/dictionary/indexof.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/indexof.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/inquirer.js b/includes/search/node_modules/pkg/dictionary/inquirer.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/inquirer.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/j.js b/includes/search/node_modules/pkg/dictionary/j.js
deleted file mode 100644
index afb7f81..0000000
--- a/includes/search/node_modules/pkg/dictionary/j.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'j.js': [
- "require('xl'+'sx')",
- "require('xlsx')",
- "require('xl'+'sjs')",
- "require('xlsjs')",
- "require('ha'+'rb')",
- "require('harb')",
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/jade.js b/includes/search/node_modules/pkg/dictionary/jade.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/jade.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/jsdom.js b/includes/search/node_modules/pkg/dictionary/jsdom.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/jsdom.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/json-stringify-date.js b/includes/search/node_modules/pkg/dictionary/json-stringify-date.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/json-stringify-date.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/json-stringify-safe.js b/includes/search/node_modules/pkg/dictionary/json-stringify-safe.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/json-stringify-safe.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/jsonwebtoken.js b/includes/search/node_modules/pkg/dictionary/jsonwebtoken.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/jsonwebtoken.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/kerberos.js b/includes/search/node_modules/pkg/dictionary/kerberos.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/kerberos.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/knex.js b/includes/search/node_modules/pkg/dictionary/knex.js
deleted file mode 100644
index 9050d33..0000000
--- a/includes/search/node_modules/pkg/dictionary/knex.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/later.js b/includes/search/node_modules/pkg/dictionary/later.js
deleted file mode 100644
index b31f732..0000000
--- a/includes/search/node_modules/pkg/dictionary/later.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['later.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/level.js b/includes/search/node_modules/pkg/dictionary/level.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/level.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/leveldown.js b/includes/search/node_modules/pkg/dictionary/leveldown.js
deleted file mode 100644
index 43ba113..0000000
--- a/includes/search/node_modules/pkg/dictionary/leveldown.js
+++ /dev/null
@@ -1,10 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'binding.js': ['__dirname', "require('path').dirname(process.execPath)"],
- },
- deployFiles: [['prebuilds', 'prebuilds', 'directory']],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/levelup.js b/includes/search/node_modules/pkg/dictionary/levelup.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/levelup.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/liftoff.js b/includes/search/node_modules/pkg/dictionary/liftoff.js
deleted file mode 100644
index d9df696..0000000
--- a/includes/search/node_modules/pkg/dictionary/liftoff.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'index.js': [
- 'resolve.sync(this.moduleName, {basedir: configBase || cwd, paths: paths})',
- 'resolve.sync(this.moduleName, {basedir: configBase || require.main.filename, paths: paths})',
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/lodash.js b/includes/search/node_modules/pkg/dictionary/lodash.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/lodash.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/log4js.js b/includes/search/node_modules/pkg/dictionary/log4js.js
deleted file mode 100644
index de846ed..0000000
--- a/includes/search/node_modules/pkg/dictionary/log4js.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/appenders/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/logform.js b/includes/search/node_modules/pkg/dictionary/logform.js
deleted file mode 100644
index c0f4180..0000000
--- a/includes/search/node_modules/pkg/dictionary/logform.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/machinepack-urls.js b/includes/search/node_modules/pkg/dictionary/machinepack-urls.js
deleted file mode 100644
index d50312c..0000000
--- a/includes/search/node_modules/pkg/dictionary/machinepack-urls.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['machines/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/markdown.js b/includes/search/node_modules/pkg/dictionary/markdown.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/markdown.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/mdns.js b/includes/search/node_modules/pkg/dictionary/mdns.js
deleted file mode 100644
index 0e80213..0000000
--- a/includes/search/node_modules/pkg/dictionary/mdns.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict';
-
-module.exports = {
- // хоть bindings и объявлен в
- // dependencies, но не используется
-};
diff --git a/includes/search/node_modules/pkg/dictionary/method-override.js b/includes/search/node_modules/pkg/dictionary/method-override.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/method-override.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/microjob.js b/includes/search/node_modules/pkg/dictionary/microjob.js
deleted file mode 100644
index 258fd8c..0000000
--- a/includes/search/node_modules/pkg/dictionary/microjob.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'dist/worker-pool.js': [
- 'error.stack = message.error.stack;',
- 'error.stack = message.error.stack;\n' +
- 'if (error.stack.indexOf("SyntaxError") >= 0) {' +
- 'error.stack = "Pkg: Try to specify your ' +
- "javascript file in 'assets' in config.\\n\" + error.stack;" +
- '};',
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/mime-types.js b/includes/search/node_modules/pkg/dictionary/mime-types.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/mime-types.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/mime.js b/includes/search/node_modules/pkg/dictionary/mime.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/mime.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/minimatch.js b/includes/search/node_modules/pkg/dictionary/minimatch.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/minimatch.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/minstache.js b/includes/search/node_modules/pkg/dictionary/minstache.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/minstache.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/module-deps.js b/includes/search/node_modules/pkg/dictionary/module-deps.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/module-deps.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/moment-timezone.js b/includes/search/node_modules/pkg/dictionary/moment-timezone.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/moment-timezone.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/moment.js b/includes/search/node_modules/pkg/dictionary/moment.js
deleted file mode 100644
index 81f984f..0000000
--- a/includes/search/node_modules/pkg/dictionary/moment.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['locale/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/mongodb-core.js b/includes/search/node_modules/pkg/dictionary/mongodb-core.js
deleted file mode 100644
index 3067314..0000000
--- a/includes/search/node_modules/pkg/dictionary/mongodb-core.js
+++ /dev/null
@@ -1,22 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/error.js': [
- 'return err;',
- 'if (err.message.indexOf("SyntaxError") >= 0) {' +
- 'err.message = "Pkg: Try to specify your ' +
- "javascript file in 'assets' in config. \" + err.message;" +
- '};\n' +
- 'return err;',
- 'if (Error.captureStackTrace) {',
- 'if (this.message.indexOf("SyntaxError") >= 0) {' +
- 'this.message = "Pkg: Try to specify your ' +
- "javascript file in 'assets' in config. \" + this.message;" +
- '};\n' +
- 'if (Error.captureStackTrace) {',
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/mongodb.js b/includes/search/node_modules/pkg/dictionary/mongodb.js
deleted file mode 100644
index 1df6434..0000000
--- a/includes/search/node_modules/pkg/dictionary/mongodb.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/mongodb/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/mongoose.js b/includes/search/node_modules/pkg/dictionary/mongoose.js
deleted file mode 100644
index 9a3939d..0000000
--- a/includes/search/node_modules/pkg/dictionary/mongoose.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/drivers/node-mongodb-native/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/mongoskin.js b/includes/search/node_modules/pkg/dictionary/mongoskin.js
deleted file mode 100644
index 9050d33..0000000
--- a/includes/search/node_modules/pkg/dictionary/mongoskin.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/ms.js b/includes/search/node_modules/pkg/dictionary/ms.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/ms.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/msgpack.js b/includes/search/node_modules/pkg/dictionary/msgpack.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/msgpack.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/multer.js b/includes/search/node_modules/pkg/dictionary/multer.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/multer.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/muri.js b/includes/search/node_modules/pkg/dictionary/muri.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/muri.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/native-or-bluebird.js b/includes/search/node_modules/pkg/dictionary/native-or-bluebird.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/native-or-bluebird.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/natives.js b/includes/search/node_modules/pkg/dictionary/natives.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/natives.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/nconf.js b/includes/search/node_modules/pkg/dictionary/nconf.js
deleted file mode 100644
index 43957d0..0000000
--- a/includes/search/node_modules/pkg/dictionary/nconf.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/nconf/stores/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/nedb.js b/includes/search/node_modules/pkg/dictionary/nedb.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/nedb.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/negotiator.js b/includes/search/node_modules/pkg/dictionary/negotiator.js
deleted file mode 100644
index a0dac16..0000000
--- a/includes/search/node_modules/pkg/dictionary/negotiator.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/newrelic.js b/includes/search/node_modules/pkg/dictionary/newrelic.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/newrelic.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/nib.js b/includes/search/node_modules/pkg/dictionary/nib.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/nib.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/nightmare.js b/includes/search/node_modules/pkg/dictionary/nightmare.js
deleted file mode 100644
index e40b442..0000000
--- a/includes/search/node_modules/pkg/dictionary/nightmare.js
+++ /dev/null
@@ -1,18 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/nightmare.js': [
- "path.join(__dirname, 'runner.js')",
- "path.join(path.dirname(process.execPath), 'nightmare/runner.js')",
- ],
- },
- deployFiles: [
- ['lib/runner.js', 'nightmare/runner.js'],
- ['lib/frame-manager.js', 'nightmare/frame-manager.js'],
- ['lib/ipc.js', 'nightmare/ipc.js'],
- ['lib/preload.js', 'nightmare/preload.js'],
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/node-forge.js b/includes/search/node_modules/pkg/dictionary/node-forge.js
deleted file mode 100644
index e82e675..0000000
--- a/includes/search/node_modules/pkg/dictionary/node-forge.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['js/*.js', 'lib/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/node-libcurl.js b/includes/search/node_modules/pkg/dictionary/node-libcurl.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/node-libcurl.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/node-notifier.js b/includes/search/node_modules/pkg/dictionary/node-notifier.js
deleted file mode 100644
index 90cdd6f..0000000
--- a/includes/search/node_modules/pkg/dictionary/node-notifier.js
+++ /dev/null
@@ -1,30 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'notifiers/balloon.js': [
- "__dirname, '../vendor/notifu/notifu'",
- "path.dirname(process.execPath), 'notifier/notifu'",
- ],
- 'notifiers/notificationcenter.js': [
- "__dirname,\n '../vendor/terminal-notifier.app/Contents/MacOS/terminal-notifier'",
- "path.dirname(process.execPath), 'notifier/terminal-notifier'",
- ],
- 'notifiers/toaster.js': [
- "__dirname, '../vendor/snoreToast/snoretoast'",
- "path.dirname(process.execPath), 'notifier/snoretoast'",
- ],
- },
- deployFiles: [
- ['vendor/notifu/notifu.exe', 'notifier/notifu.exe'],
- ['vendor/notifu/notifu64.exe', 'notifier/notifu64.exe'],
- [
- 'vendor/terminal-notifier.app/Contents/MacOS/terminal-notifier',
- 'notifier/terminal-notifier',
- ],
- ['vendor/snoreToast/snoretoast-x64.exe', 'notifier/snoretoast-x64.exe'],
- ['vendor/snoreToast/snoretoast-x86.exe', 'notifier/snoretoast-x86.exe'],
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/node-pre-gyp.js b/includes/search/node_modules/pkg/dictionary/node-pre-gyp.js
deleted file mode 100644
index a0dac16..0000000
--- a/includes/search/node_modules/pkg/dictionary/node-pre-gyp.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/node-redis-pubsub.js b/includes/search/node_modules/pkg/dictionary/node-redis-pubsub.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/node-redis-pubsub.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/node-sass.js b/includes/search/node_modules/pkg/dictionary/node-sass.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/node-sass.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/node-uuid.js b/includes/search/node_modules/pkg/dictionary/node-uuid.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/node-uuid.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/node-xlsx.js b/includes/search/node_modules/pkg/dictionary/node-xlsx.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/node-xlsx.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/node-zookeeper-client.js b/includes/search/node_modules/pkg/dictionary/node-zookeeper-client.js
deleted file mode 100644
index ab3101d..0000000
--- a/includes/search/node_modules/pkg/dictionary/node-zookeeper-client.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['lib/jute/specification.json'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/nodegit.js b/includes/search/node_modules/pkg/dictionary/nodegit.js
deleted file mode 100644
index 53398a3..0000000
--- a/includes/search/node_modules/pkg/dictionary/nodegit.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['dist/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/nodemailer-sendmail-transport.js b/includes/search/node_modules/pkg/dictionary/nodemailer-sendmail-transport.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/nodemailer-sendmail-transport.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/nodemailer.js b/includes/search/node_modules/pkg/dictionary/nodemailer.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/nodemailer.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/npm-registry-client.js b/includes/search/node_modules/pkg/dictionary/npm-registry-client.js
deleted file mode 100644
index 9050d33..0000000
--- a/includes/search/node_modules/pkg/dictionary/npm-registry-client.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/npm.js b/includes/search/node_modules/pkg/dictionary/npm.js
deleted file mode 100644
index a0dac16..0000000
--- a/includes/search/node_modules/pkg/dictionary/npm.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/nssocket.js b/includes/search/node_modules/pkg/dictionary/nssocket.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/nssocket.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/oauth2orize.js b/includes/search/node_modules/pkg/dictionary/oauth2orize.js
deleted file mode 100644
index 9050d33..0000000
--- a/includes/search/node_modules/pkg/dictionary/oauth2orize.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/octobat.js b/includes/search/node_modules/pkg/dictionary/octobat.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/octobat.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/open.js b/includes/search/node_modules/pkg/dictionary/open.js
deleted file mode 100644
index ce81d4e..0000000
--- a/includes/search/node_modules/pkg/dictionary/open.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'index.js': [
- "path.join(__dirname, 'xdg-open')",
- "path.join(path.dirname(process.execPath), 'xdg-open')",
- ],
- },
- deployFiles: [['xdg-open', 'xdg-open']],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/opn.js b/includes/search/node_modules/pkg/dictionary/opn.js
deleted file mode 100644
index 0f221bd..0000000
--- a/includes/search/node_modules/pkg/dictionary/opn.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-
-// compatibility with 'open'
-module.exports = require('./open.js');
diff --git a/includes/search/node_modules/pkg/dictionary/optimist.js b/includes/search/node_modules/pkg/dictionary/optimist.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/optimist.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/passport-local.js b/includes/search/node_modules/pkg/dictionary/passport-local.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/passport-local.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/passport.js b/includes/search/node_modules/pkg/dictionary/passport.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/passport.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/pg-cursor.js b/includes/search/node_modules/pkg/dictionary/pg-cursor.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/pg-cursor.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/pg-query-stream.js b/includes/search/node_modules/pkg/dictionary/pg-query-stream.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/pg-query-stream.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/pg-types.js b/includes/search/node_modules/pkg/dictionary/pg-types.js
deleted file mode 100644
index 4d8eb8f..0000000
--- a/includes/search/node_modules/pkg/dictionary/pg-types.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/arrayParser.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/pg.js b/includes/search/node_modules/pkg/dictionary/pg.js
deleted file mode 100644
index 9050d33..0000000
--- a/includes/search/node_modules/pkg/dictionary/pg.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/pg.js.js b/includes/search/node_modules/pkg/dictionary/pg.js.js
deleted file mode 100644
index 9050d33..0000000
--- a/includes/search/node_modules/pkg/dictionary/pg.js.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/pgpass.js b/includes/search/node_modules/pkg/dictionary/pgpass.js
deleted file mode 100644
index 26da735..0000000
--- a/includes/search/node_modules/pkg/dictionary/pgpass.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/helper.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/phantom.js b/includes/search/node_modules/pkg/dictionary/phantom.js
deleted file mode 100644
index 4c832c1..0000000
--- a/includes/search/node_modules/pkg/dictionary/phantom.js
+++ /dev/null
@@ -1,19 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/phantom.js': [
- "__dirname + '/shim/index.js'",
- "_path2.default.join(_path2.default.dirname(process.execPath), 'phantom/index.js')",
- ],
- },
- deployFiles: [
- ['lib/shim/index.js', 'phantom/index.js'],
- [
- 'lib/shim/function_bind_polyfill.js',
- 'phantom/function_bind_polyfill.js',
- ],
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/phantomjs-prebuilt.js b/includes/search/node_modules/pkg/dictionary/phantomjs-prebuilt.js
deleted file mode 100644
index 0289b5a..0000000
--- a/includes/search/node_modules/pkg/dictionary/phantomjs-prebuilt.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/phantomjs.js': [
- '__dirname, location.location',
- "path.dirname(process.execPath), 'phantom', path.basename(location.location)",
- ],
- },
- deployFiles: [
- ['lib/phantom/bin/phantomjs', 'phantom/phantomjs'],
- ['lib/phantom/bin/phantomjs.exe', 'phantom/phantomjs.exe'],
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/pkginfo.js b/includes/search/node_modules/pkg/dictionary/pkginfo.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/pkginfo.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/pm2.js b/includes/search/node_modules/pkg/dictionary/pm2.js
deleted file mode 100644
index f229315..0000000
--- a/includes/search/node_modules/pkg/dictionary/pm2.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/ProcessContainerFork.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/pmx.js b/includes/search/node_modules/pkg/dictionary/pmx.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/pmx.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/pouchdb.js b/includes/search/node_modules/pkg/dictionary/pouchdb.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/pouchdb.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/primus-emitter.js b/includes/search/node_modules/pkg/dictionary/primus-emitter.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/primus-emitter.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/primus-spark-latency.js b/includes/search/node_modules/pkg/dictionary/primus-spark-latency.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/primus-spark-latency.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/primus.js b/includes/search/node_modules/pkg/dictionary/primus.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/primus.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/publicsuffixlist.js b/includes/search/node_modules/pkg/dictionary/publicsuffixlist.js
deleted file mode 100644
index 5b02316..0000000
--- a/includes/search/node_modules/pkg/dictionary/publicsuffixlist.js
+++ /dev/null
@@ -1,15 +0,0 @@
-'use strict';
-
-module.exports = {
- dependencies: {
- gulp: undefined,
- 'gulp-di': undefined,
- 'gulp-istanbul': undefined,
- 'gulp-jshint': undefined,
- 'gulp-mocha': undefined,
- mocha: undefined,
- },
- pkg: {
- assets: ['effective_tld_names.dat'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/pug.js b/includes/search/node_modules/pkg/dictionary/pug.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/pug.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/punt.js b/includes/search/node_modules/pkg/dictionary/punt.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/punt.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/puppeteer.js b/includes/search/node_modules/pkg/dictionary/puppeteer.js
deleted file mode 100644
index 72c5037..0000000
--- a/includes/search/node_modules/pkg/dictionary/puppeteer.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'utils/ChromiumDownloader.js': [
- "path.join(__dirname, '..', '.local-chromium')",
- "path.join(path.dirname(process.execPath), 'puppeteer')",
- ],
- },
- deployFiles: [['.local-chromium', 'puppeteer', 'directory']],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/pwd.js b/includes/search/node_modules/pkg/dictionary/pwd.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/pwd.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/q.js b/includes/search/node_modules/pkg/dictionary/q.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/q.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/raven.js b/includes/search/node_modules/pkg/dictionary/raven.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/raven.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/rc.js b/includes/search/node_modules/pkg/dictionary/rc.js
deleted file mode 100644
index 09da6e7..0000000
--- a/includes/search/node_modules/pkg/dictionary/rc.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/utils.js': [
- 'process.cwd()',
- "require('path').dirname(require.main.filename)",
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/readable-stream.js b/includes/search/node_modules/pkg/dictionary/readable-stream.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/readable-stream.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/rechoir.js b/includes/search/node_modules/pkg/dictionary/rechoir.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/rechoir.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/redis-parser.js b/includes/search/node_modules/pkg/dictionary/redis-parser.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/redis-parser.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/redis.js b/includes/search/node_modules/pkg/dictionary/redis.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/redis.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/regression.js b/includes/search/node_modules/pkg/dictionary/regression.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/regression.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/reload.js b/includes/search/node_modules/pkg/dictionary/reload.js
deleted file mode 100644
index 69e5cd5..0000000
--- a/includes/search/node_modules/pkg/dictionary/reload.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/reload-server.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/request.js b/includes/search/node_modules/pkg/dictionary/request.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/request.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/require-uncached.js b/includes/search/node_modules/pkg/dictionary/require-uncached.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/require-uncached.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/require_optional.js b/includes/search/node_modules/pkg/dictionary/require_optional.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/require_optional.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/s3.js b/includes/search/node_modules/pkg/dictionary/s3.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/s3.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/safe_datejs.js b/includes/search/node_modules/pkg/dictionary/safe_datejs.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/safe_datejs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/sails.js b/includes/search/node_modules/pkg/dictionary/sails.js
deleted file mode 100644
index e7fd859..0000000
--- a/includes/search/node_modules/pkg/dictionary/sails.js
+++ /dev/null
@@ -1,33 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/**/*.js'],
- patches: {
- 'lib/hooks/moduleloader/index.js': [
- "require('coffee-script/register')",
- '',
- ],
- 'lib/app/configuration/index.js': [
- 'hook = require(hookBundled);',
- 'hook = require(hookBundled);' +
- // force to take the whole package
- "require('sails-hook-sockets');",
- ],
- 'lib/hooks/grunt/index.js': [
- 'var child = ChildProcess.fork(',
- '\n' +
- "sails.log.warn('*******************************************************************');\n" +
- "sails.log.warn('** Pkg: Grunt hook is temporarily disabled in pkg-ed app **');\n" +
- "sails.log.warn('** Instead it should be run before compilation to prepare files **');\n" +
- "sails.log.warn('*******************************************************************');\n" +
- "sails.emit('hook:grunt:done');\n" +
- 'return cb_afterTaskStarted();(',
- ],
- 'lib/hooks/orm/backwards-compatibility/upgrade-datastore.js': [
- 'if (!fs.existsSync(modulePath)) {',
- 'try { require(modulePath); } catch (e) {',
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/sax.js b/includes/search/node_modules/pkg/dictionary/sax.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/sax.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/scrypt.js b/includes/search/node_modules/pkg/dictionary/scrypt.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/scrypt.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/semver.js b/includes/search/node_modules/pkg/dictionary/semver.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/semver.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/sequelize.js b/includes/search/node_modules/pkg/dictionary/sequelize.js
deleted file mode 100644
index 9050d33..0000000
--- a/includes/search/node_modules/pkg/dictionary/sequelize.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/serialport.js b/includes/search/node_modules/pkg/dictionary/serialport.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/serialport.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/sha3.js b/includes/search/node_modules/pkg/dictionary/sha3.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/sha3.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/sharp.js b/includes/search/node_modules/pkg/dictionary/sharp.js
deleted file mode 100644
index 494f706..0000000
--- a/includes/search/node_modules/pkg/dictionary/sharp.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/*.js'],
- deployFiles: [
- ['build/Release', 'sharp/build/Release', 'directory'],
- ['vendor/lib', 'sharp/vendor/lib', 'directory'],
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/shelljs.js b/includes/search/node_modules/pkg/dictionary/shelljs.js
deleted file mode 100644
index 7d7ad52..0000000
--- a/includes/search/node_modules/pkg/dictionary/shelljs.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['src/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/sinon.js b/includes/search/node_modules/pkg/dictionary/sinon.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/sinon.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/socket.io-client.js b/includes/search/node_modules/pkg/dictionary/socket.io-client.js
deleted file mode 100644
index 1b28949..0000000
--- a/includes/search/node_modules/pkg/dictionary/socket.io-client.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: [
- 'lib/**/*.js', // for 0.9.17
- ],
- assets: [
- 'socket.io.js',
- 'dist/**/*', // for 0.9.17
- ],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/socket.io.js b/includes/search/node_modules/pkg/dictionary/socket.io.js
deleted file mode 100644
index 0db5b69..0000000
--- a/includes/search/node_modules/pkg/dictionary/socket.io.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/index.js': [
- "require.resolve('socket.io-client/dist/socket.io.js.map')",
- "require.resolve('socket.io-client/dist/socket.io.js.map', 'must-exclude')",
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/sqip.js b/includes/search/node_modules/pkg/dictionary/sqip.js
deleted file mode 100644
index 0fea9ee..0000000
--- a/includes/search/node_modules/pkg/dictionary/sqip.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-/**
- * primitive Binaries must be installed on the system.
- * e.g. go get -u github.com/fogleman/primitive
- */
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/sqlite3.js b/includes/search/node_modules/pkg/dictionary/sqlite3.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/sqlite3.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/steam-crypto.js b/includes/search/node_modules/pkg/dictionary/steam-crypto.js
deleted file mode 100644
index 289d4e9..0000000
--- a/includes/search/node_modules/pkg/dictionary/steam-crypto.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['public.pub'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/steam-resources.js b/includes/search/node_modules/pkg/dictionary/steam-resources.js
deleted file mode 100644
index 05f71eb..0000000
--- a/includes/search/node_modules/pkg/dictionary/steam-resources.js
+++ /dev/null
@@ -1,19 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['steam_language/**/*'],
- patches: {
- 'steam_language_parser/index.js': [
- 'process.chdir',
- '// process.chdir',
- "'steammsg.steamd'",
- "require('path').join(__dirname, '../steam_language', 'steammsg.steamd')",
- ],
- 'steam_language_parser/parser/token_analyzer.js': [
- 'text.value',
- "require('path').join(__dirname, '../../steam_language', text.value)",
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/steam.js b/includes/search/node_modules/pkg/dictionary/steam.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/steam.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/stripe-webhook-middleware.js b/includes/search/node_modules/pkg/dictionary/stripe-webhook-middleware.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/stripe-webhook-middleware.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/stripe.js b/includes/search/node_modules/pkg/dictionary/stripe.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/stripe.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/strong-globalize.js b/includes/search/node_modules/pkg/dictionary/strong-globalize.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/strong-globalize.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/stylus.js b/includes/search/node_modules/pkg/dictionary/stylus.js
deleted file mode 100644
index 850dae9..0000000
--- a/includes/search/node_modules/pkg/dictionary/stylus.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['lib/**/*.styl'],
- log: function (log, opts) {
- log.warn(
- 'Add { paths: [ __dirname ] } to ' +
- 'stylus options to resolve imports',
- [opts.packagePath]
- );
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/supervisor.js b/includes/search/node_modules/pkg/dictionary/supervisor.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/supervisor.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/svgo.js b/includes/search/node_modules/pkg/dictionary/svgo.js
deleted file mode 100644
index 3f1f9a4..0000000
--- a/includes/search/node_modules/pkg/dictionary/svgo.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/**/*.js', 'plugins/*.js'],
- assets: ['.svgo.yml'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/tabtab.js b/includes/search/node_modules/pkg/dictionary/tabtab.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/tabtab.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/tesseract.js.js b/includes/search/node_modules/pkg/dictionary/tesseract.js.js
deleted file mode 100644
index 63575a7..0000000
--- a/includes/search/node_modules/pkg/dictionary/tesseract.js.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['src/node/worker.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/throng.js b/includes/search/node_modules/pkg/dictionary/throng.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/throng.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/time.js b/includes/search/node_modules/pkg/dictionary/time.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/time.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/tinify.js b/includes/search/node_modules/pkg/dictionary/tinify.js
deleted file mode 100644
index 767a0fb..0000000
--- a/includes/search/node_modules/pkg/dictionary/tinify.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['lib/data/cacert.pem'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/tiny-worker.js b/includes/search/node_modules/pkg/dictionary/tiny-worker.js
deleted file mode 100644
index a9989ab..0000000
--- a/includes/search/node_modules/pkg/dictionary/tiny-worker.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: ['lib/noop.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/tmp.js b/includes/search/node_modules/pkg/dictionary/tmp.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/tmp.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/transformers.js b/includes/search/node_modules/pkg/dictionary/transformers.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/transformers.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/uglify-js.js b/includes/search/node_modules/pkg/dictionary/uglify-js.js
deleted file mode 100644
index 9dc0421..0000000
--- a/includes/search/node_modules/pkg/dictionary/uglify-js.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- // assets, not scripts because of custom
- // load_global (readFileSync + runInContext)
- assets: ['lib/**/*.js', 'tools/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/umd.js b/includes/search/node_modules/pkg/dictionary/umd.js
deleted file mode 100644
index 9347e46..0000000
--- a/includes/search/node_modules/pkg/dictionary/umd.js
+++ /dev/null
@@ -1,19 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- assets: [
- 'template.js', // for 2.1.0
- ],
- patches: {
- 'index.js': [
- "var rfile = require('rfile');",
- 'var rfile = function(f) { ' +
- "require('fs').readFileSync(" + // for 2.1.0
- 'require.resolve(f)' +
- '); ' +
- '};',
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/underscore.js b/includes/search/node_modules/pkg/dictionary/underscore.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/underscore.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/union.js b/includes/search/node_modules/pkg/dictionary/union.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/union.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/update-notifier.js b/includes/search/node_modules/pkg/dictionary/update-notifier.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/update-notifier.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/usage.js b/includes/search/node_modules/pkg/dictionary/usage.js
deleted file mode 100644
index 716c2df..0000000
--- a/includes/search/node_modules/pkg/dictionary/usage.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/providers/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/v8flags.js b/includes/search/node_modules/pkg/dictionary/v8flags.js
deleted file mode 100644
index 4b1f12b..0000000
--- a/includes/search/node_modules/pkg/dictionary/v8flags.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'index.js': [
- "execFile(process.execPath, ['--v8-options'],",
- "execFile(process.execPath, ['--v8-options'], " +
- "{ env: { PKG_EXECPATH: 'PKG_INVOKE_NODEJS' } },",
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/verror.js b/includes/search/node_modules/pkg/dictionary/verror.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/verror.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/voc.js b/includes/search/node_modules/pkg/dictionary/voc.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/voc.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/webdriverio.js b/includes/search/node_modules/pkg/dictionary/webdriverio.js
deleted file mode 100644
index 739a876..0000000
--- a/includes/search/node_modules/pkg/dictionary/webdriverio.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['build/**/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/winston-uber.js b/includes/search/node_modules/pkg/dictionary/winston-uber.js
deleted file mode 100644
index d81cf73..0000000
--- a/includes/search/node_modules/pkg/dictionary/winston-uber.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/winston/transports/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/winston.js b/includes/search/node_modules/pkg/dictionary/winston.js
deleted file mode 100644
index d81cf73..0000000
--- a/includes/search/node_modules/pkg/dictionary/winston.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- scripts: ['lib/winston/transports/*.js'],
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/ws.js b/includes/search/node_modules/pkg/dictionary/ws.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/ws.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/xlsx.js b/includes/search/node_modules/pkg/dictionary/xlsx.js
deleted file mode 100644
index 2e5174b..0000000
--- a/includes/search/node_modules/pkg/dictionary/xlsx.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'xlsx.js': [
- "require('js'+'zip')",
- "require('jszip')",
- "require('./js'+'zip')",
- "require('./jszip')",
- "require('./od' + 's')",
- "require('./ods')",
- ],
- },
- },
-};
diff --git a/includes/search/node_modules/pkg/dictionary/xml2js.js b/includes/search/node_modules/pkg/dictionary/xml2js.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/xml2js.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/yargs.js b/includes/search/node_modules/pkg/dictionary/yargs.js
deleted file mode 100644
index 8b46fbb..0000000
--- a/includes/search/node_modules/pkg/dictionary/yargs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = {};
diff --git a/includes/search/node_modules/pkg/dictionary/zeromq.js b/includes/search/node_modules/pkg/dictionary/zeromq.js
deleted file mode 100644
index 6bfdc6b..0000000
--- a/includes/search/node_modules/pkg/dictionary/zeromq.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-module.exports = {
- pkg: {
- patches: {
- 'lib/native.js': [
- 'path.join(__dirname, "..")',
- 'path.dirname(process.execPath)',
- ],
- },
- deployFiles: [['prebuilds', 'prebuilds', 'directory']],
- },
-};
diff --git a/includes/search/node_modules/pkg/lib-es5/bin.js b/includes/search/node_modules/pkg/lib-es5/bin.js
deleted file mode 100755
index fe1a421..0000000
--- a/includes/search/node_modules/pkg/lib-es5/bin.js
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env node
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const index_1 = require("./index");
-const log_1 = require("./log");
-async function main() {
- if (process.env.CHDIR && process.env.CHDIR !== process.cwd()) {
- // allow to override cwd by CHDIR env var
- // https://github.com/resin-io/etcher/pull/1713
- process.chdir(process.env.CHDIR);
- }
- await (0, index_1.exec)(process.argv.slice(2));
-}
-main().catch((error) => {
- if (!error.wasReported)
- log_1.log.error(error);
- process.exit(2);
-});
-//# sourceMappingURL=bin.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/chmod.js b/includes/search/node_modules/pkg/lib-es5/chmod.js
deleted file mode 100644
index 20d38b5..0000000
--- a/includes/search/node_modules/pkg/lib-es5/chmod.js
+++ /dev/null
@@ -1,15 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.plusx = void 0;
-const fs_extra_1 = require("fs-extra");
-async function plusx(file) {
- const s = await (0, fs_extra_1.stat)(file);
- const newMode = s.mode | 64 | 8 | 1;
- if (s.mode === newMode) {
- return;
- }
- const base8 = newMode.toString(8).slice(-3);
- await (0, fs_extra_1.chmod)(file, base8);
-}
-exports.plusx = plusx;
-//# sourceMappingURL=chmod.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/common.js b/includes/search/node_modules/pkg/lib-es5/common.js
deleted file mode 100644
index 4ff28b3..0000000
--- a/includes/search/node_modules/pkg/lib-es5/common.js
+++ /dev/null
@@ -1,235 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.toNormalizedRealPath = exports.removeUplevels = exports.stripSnapshot = exports.insideSnapshot = exports.snapshotify = exports.substituteDenominator = exports.retrieveDenominator = exports.isDotNODE = exports.isDotJSON = exports.isDotJS = exports.isPackageJson = exports.normalizePath = exports.isRootPath = exports.ALIAS_AS_RESOLVABLE = exports.ALIAS_AS_RELATIVE = exports.STORE_STAT = exports.STORE_LINKS = exports.STORE_CONTENT = exports.STORE_BLOB = void 0;
-const assert_1 = __importDefault(require("assert"));
-const fs_1 = __importDefault(require("fs"));
-const path_1 = __importDefault(require("path"));
-exports.STORE_BLOB = 0;
-exports.STORE_CONTENT = 1;
-exports.STORE_LINKS = 2;
-exports.STORE_STAT = 3;
-exports.ALIAS_AS_RELATIVE = 0; // require("./file.js") // file or directory
-exports.ALIAS_AS_RESOLVABLE = 1; // require("package")
-const win32 = process.platform === 'win32';
-const hasURL = typeof URL !== 'undefined';
-function uppercaseDriveLetter(f) {
- if (f.slice(1, 3) !== ':\\')
- return f;
- return f[0].toUpperCase() + f.slice(1);
-}
-function removeTrailingSlashes(f) {
- if (f === '/') {
- return f; // dont remove from "/"
- }
- if (f.slice(1) === ':\\') {
- return f; // dont remove from "D:\"
- }
- let last = f.length - 1;
- while (true) {
- const char = f.charAt(last);
- if (char === '\\') {
- f = f.slice(0, -1);
- last -= 1;
- }
- else if (char === '/') {
- f = f.slice(0, -1);
- last -= 1;
- }
- else {
- break;
- }
- }
- return f;
-}
-const isUrl = (p) => hasURL && p instanceof URL;
-function pathToString(p, win) {
- let result;
- if (Buffer.isBuffer(p)) {
- result = p.toString();
- }
- else if (isUrl(p)) {
- result = win ? p.pathname.replace(/^\//, '') : p.pathname;
- }
- else {
- result = p;
- }
- return result;
-}
-function isRootPath(p) {
- let file = pathToString(p, false);
- if (file === '.') {
- file = path_1.default.resolve(file);
- }
- return path_1.default.dirname(file) === p;
-}
-exports.isRootPath = isRootPath;
-function normalizePath(f) {
- let file = pathToString(f, win32);
- if (!/^.:$/.test(file)) {
- file = path_1.default.normalize(file);
- } // 'c:' -> 'c:.'
- if (win32) {
- file = uppercaseDriveLetter(file);
- }
- return removeTrailingSlashes(file);
-}
-exports.normalizePath = normalizePath;
-function isPackageJson(file) {
- return path_1.default.basename(file) === 'package.json';
-}
-exports.isPackageJson = isPackageJson;
-function isDotJS(file) {
- return path_1.default.extname(file) === '.js';
-}
-exports.isDotJS = isDotJS;
-function isDotJSON(file) {
- return path_1.default.extname(file) === '.json';
-}
-exports.isDotJSON = isDotJSON;
-function isDotNODE(file) {
- return path_1.default.extname(file) === '.node';
-}
-exports.isDotNODE = isDotNODE;
-function replaceSlashes(file, slash) {
- if (/^.:\\/.test(file)) {
- if (slash === '/') {
- return file.slice(2).replace(/\\/g, '/');
- }
- }
- else if (/^\//.test(file)) {
- if (slash === '\\') {
- return `C:${file.replace(/\//g, '\\')}`;
- }
- }
- return file;
-}
-function injectSnapshot(file) {
- if (/^.:\\/.test(file)) {
- // C:\path\to
- if (file.length === 3) {
- // C:\
- file = file.slice(0, -1);
- }
- // by convention, on windows we use C:\\snapshot
- return `C:\\snapshot${file.slice(2)}`;
- }
- if (/^\//.test(file)) {
- // /home/user/project
- if (file.length === 1) {
- // /
- file = file.slice(0, -1);
- }
- return `/snapshot${file}`;
- }
- return file;
-}
-function longestCommonLength(s1, s2) {
- const length = Math.min(s1.length, s2.length);
- for (let i = 0; i < length; i += 1) {
- if (s1.charCodeAt(i) !== s2.charCodeAt(i)) {
- return i;
- }
- }
- return length;
-}
-function withoutNodeModules(file) {
- return file.split(`${path_1.default.sep}node_modules${path_1.default.sep}`)[0];
-}
-function retrieveDenominator(files) {
- (0, assert_1.default)(files.length > 0);
- let s1 = withoutNodeModules(files[0]) + path_1.default.sep;
- for (let i = 1; i < files.length; i += 1) {
- const s2 = withoutNodeModules(files[i]) + path_1.default.sep;
- s1 = s1.slice(0, longestCommonLength(s1, s2));
- }
- if (s1 === '') {
- return win32 ? 2 : 0;
- }
- return s1.lastIndexOf(path_1.default.sep);
-}
-exports.retrieveDenominator = retrieveDenominator;
-function substituteDenominator(f, denominator) {
- const rootLength = win32 ? 2 : 0;
- return f.slice(0, rootLength) + f.slice(denominator);
-}
-exports.substituteDenominator = substituteDenominator;
-function snapshotify(file, slash) {
- return injectSnapshot(replaceSlashes(file, slash));
-}
-exports.snapshotify = snapshotify;
-function insideSnapshot(f) {
- f = pathToString(f, win32);
- if (typeof f !== 'string') {
- return false;
- }
- if (win32) {
- const slice112 = f.slice(1, 12);
- return (slice112 === ':\\snapshot\\' ||
- slice112 === ':/snapshot\\' ||
- slice112 === ':\\snapshot/' ||
- slice112 === ':/snapshot/' ||
- slice112 === ':\\snapshot' ||
- slice112 === ':/snapshot');
- }
- const slice010 = f.slice(0, 10);
- return slice010 === '/snapshot/' || slice010 === '/snapshot';
-}
-exports.insideSnapshot = insideSnapshot;
-function stripSnapshot(f) {
- const file = normalizePath(f);
- if (/^.:\\snapshot$/.test(file)) {
- return `${file[0]}:\\**\\`;
- }
- if (/^.:\\snapshot\\/.test(file)) {
- return `${file[0]}:\\**${file.slice(11)}`;
- }
- if (/^\/snapshot$/.test(file)) {
- return '/**/';
- }
- if (/^\/snapshot\//.test(file)) {
- return `/**${file.slice(9)}`;
- }
- return f; // not inside
-}
-exports.stripSnapshot = stripSnapshot;
-function removeUplevels(f) {
- if (win32) {
- while (true) {
- if (f.slice(0, 3) === '..\\') {
- f = f.slice(3);
- }
- else if (f === '..') {
- f = '.';
- }
- else {
- break;
- }
- }
- return f;
- }
- while (true) {
- if (f.slice(0, 3) === '../') {
- f = f.slice(3);
- }
- else if (f === '..') {
- f = '.';
- }
- else {
- break;
- }
- }
- return f;
-}
-exports.removeUplevels = removeUplevels;
-function toNormalizedRealPath(requestPath) {
- const file = normalizePath(requestPath);
- if (fs_1.default.existsSync(file)) {
- return fs_1.default.realpathSync(file);
- }
- return file;
-}
-exports.toNormalizedRealPath = toNormalizedRealPath;
-//# sourceMappingURL=common.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/compress_type.js b/includes/search/node_modules/pkg/lib-es5/compress_type.js
deleted file mode 100644
index dcf21c4..0000000
--- a/includes/search/node_modules/pkg/lib-es5/compress_type.js
+++ /dev/null
@@ -1,10 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.CompressType = void 0;
-var CompressType;
-(function (CompressType) {
- CompressType[CompressType["None"] = 0] = "None";
- CompressType[CompressType["GZip"] = 1] = "GZip";
- CompressType[CompressType["Brotli"] = 2] = "Brotli";
-})(CompressType = exports.CompressType || (exports.CompressType = {}));
-//# sourceMappingURL=compress_type.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/detector.js b/includes/search/node_modules/pkg/lib-es5/detector.js
deleted file mode 100644
index 99852f5..0000000
--- a/includes/search/node_modules/pkg/lib-es5/detector.js
+++ /dev/null
@@ -1,420 +0,0 @@
-"use strict";
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- var desc = Object.getOwnPropertyDescriptor(m, k);
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
- desc = { enumerable: true, get: function() { return m[k]; } };
- }
- Object.defineProperty(o, k2, desc);
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.detect = exports.parse = exports.visitorUseSCWD = exports.visitorMalformed = exports.visitorNonLiteral = exports.visitorSuccessful = void 0;
-const babelTypes = __importStar(require("@babel/types"));
-const babel = __importStar(require("@babel/parser"));
-const generator_1 = __importDefault(require("@babel/generator"));
-const log_1 = require("./log");
-const common_1 = require("./common");
-function isLiteral(node) {
- if (node == null) {
- return false;
- }
- if (!node.type.endsWith('Literal')) {
- return false;
- }
- if (node.type === 'TemplateLiteral' && node.expressions.length !== 0) {
- return false;
- }
- return true;
-}
-function getLiteralValue(node) {
- if (node.type === 'TemplateLiteral') {
- return node.quasis[0].value.raw;
- }
- if (node.type === 'NullLiteral') {
- throw new Error('Unexpected null in require expression');
- }
- if (node.type === 'RegExpLiteral') {
- throw new Error('Unexpected regexp in require expression');
- }
- return node.value;
-}
-function reconstructSpecifiers(specs) {
- if (!specs || !specs.length) {
- return '';
- }
- const defaults = [];
- for (const spec of specs) {
- if (babelTypes.isImportDefaultSpecifier(spec)) {
- defaults.push(spec.local.name);
- }
- }
- const nonDefaults = [];
- for (const spec of specs) {
- if (babelTypes.isImportSpecifier(spec)) {
- const importedName = babelTypes.isIdentifier(spec.imported)
- ? spec.imported.name
- : spec.imported.value;
- if (spec.local.name === importedName) {
- nonDefaults.push(spec.local.name);
- }
- else {
- nonDefaults.push(`${importedName} as ${spec.local.name}`);
- }
- }
- }
- if (nonDefaults.length) {
- defaults.push(`{ ${nonDefaults.join(', ')} }`);
- }
- return defaults.join(', ');
-}
-function reconstruct(node) {
- let v = (0, generator_1.default)(node, { comments: false }).code.replace(/\n/g, '');
- let v2;
- while (true) {
- v2 = v.replace(/\[ /g, '[').replace(/ \]/g, ']').replace(/ {2}/g, ' ');
- if (v2 === v) {
- break;
- }
- v = v2;
- }
- return v2;
-}
-function forge(pattern, was) {
- return pattern
- .replace('{c1}', ', ')
- .replace('{v1}', `"${was.v1}"`)
- .replace('{c2}', was.v2 ? ', ' : '')
- .replace('{v2}', was.v2 ? `"${was.v2}"` : '')
- .replace('{c3}', was.v3 ? ' from ' : '')
- .replace('{v3}', was.v3 ? was.v3 : '');
-}
-function valid2(v2) {
- return (v2 === undefined ||
- v2 === null ||
- v2 === 'must-exclude' ||
- v2 === 'may-exclude');
-}
-function visitorRequireResolve(n) {
- if (!babelTypes.isCallExpression(n)) {
- return null;
- }
- if (!babelTypes.isMemberExpression(n.callee)) {
- return null;
- }
- const ci = n.callee.object.type === 'Identifier' &&
- n.callee.object.name === 'require' &&
- n.callee.property.type === 'Identifier' &&
- n.callee.property.name === 'resolve';
- if (!ci) {
- return null;
- }
- if (!n.arguments || !isLiteral(n.arguments[0])) {
- return null;
- }
- return {
- v1: getLiteralValue(n.arguments[0]),
- v2: isLiteral(n.arguments[1]) ? getLiteralValue(n.arguments[1]) : null,
- };
-}
-function visitorRequire(n) {
- if (!babelTypes.isCallExpression(n)) {
- return null;
- }
- if (!babelTypes.isIdentifier(n.callee)) {
- return null;
- }
- if (n.callee.name !== 'require') {
- return null;
- }
- if (!n.arguments || !isLiteral(n.arguments[0])) {
- return null;
- }
- return {
- v1: getLiteralValue(n.arguments[0]),
- v2: isLiteral(n.arguments[1]) ? getLiteralValue(n.arguments[1]) : null,
- };
-}
-function visitorImport(n) {
- if (!babelTypes.isImportDeclaration(n)) {
- return null;
- }
- return { v1: n.source.value, v3: reconstructSpecifiers(n.specifiers) };
-}
-function visitorPathJoin(n) {
- if (!babelTypes.isCallExpression(n)) {
- return null;
- }
- if (!babelTypes.isMemberExpression(n.callee)) {
- return null;
- }
- const ci = n.callee.object &&
- n.callee.object.type === 'Identifier' &&
- n.callee.object.name === 'path' &&
- n.callee.property &&
- n.callee.property.type === 'Identifier' &&
- n.callee.property.name === 'join';
- if (!ci) {
- return null;
- }
- const dn = n.arguments[0] &&
- n.arguments[0].type === 'Identifier' &&
- n.arguments[0].name === '__dirname';
- if (!dn) {
- return null;
- }
- const f = n.arguments && isLiteral(n.arguments[1]) && n.arguments.length === 2; // TODO concat them
- if (!f) {
- return null;
- }
- return { v1: getLiteralValue(n.arguments[1]) };
-}
-function visitorSuccessful(node, test = false) {
- let was = visitorRequireResolve(node);
- if (was) {
- if (test) {
- return forge('require.resolve({v1}{c2}{v2})', was);
- }
- if (!valid2(was.v2)) {
- return null;
- }
- return {
- alias: was.v1,
- aliasType: common_1.ALIAS_AS_RESOLVABLE,
- mustExclude: was.v2 === 'must-exclude',
- mayExclude: was.v2 === 'may-exclude',
- };
- }
- was = visitorRequire(node);
- if (was) {
- if (test) {
- return forge('require({v1}{c2}{v2})', was);
- }
- if (!valid2(was.v2)) {
- return null;
- }
- return {
- alias: was.v1,
- aliasType: common_1.ALIAS_AS_RESOLVABLE,
- mustExclude: was.v2 === 'must-exclude',
- mayExclude: was.v2 === 'may-exclude',
- };
- }
- was = visitorImport(node);
- if (was) {
- if (test) {
- return forge('import {v3}{c3}{v1}', was);
- }
- return { alias: was.v1, aliasType: common_1.ALIAS_AS_RESOLVABLE };
- }
- was = visitorPathJoin(node);
- if (was) {
- if (test) {
- return forge('path.join(__dirname{c1}{v1})', was);
- }
- return { alias: was.v1, aliasType: common_1.ALIAS_AS_RELATIVE, mayExclude: false };
- }
- return null;
-}
-exports.visitorSuccessful = visitorSuccessful;
-function nonLiteralRequireResolve(n) {
- if (!babelTypes.isCallExpression(n)) {
- return null;
- }
- if (!babelTypes.isMemberExpression(n.callee)) {
- return null;
- }
- const ci = n.callee.object.type === 'Identifier' &&
- n.callee.object.name === 'require' &&
- n.callee.property.type === 'Identifier' &&
- n.callee.property.name === 'resolve';
- if (!ci) {
- return null;
- }
- if (isLiteral(n.arguments[0])) {
- return null;
- }
- const m = n.arguments[1];
- if (!m) {
- return { v1: reconstruct(n.arguments[0]) };
- }
- if (!isLiteral(n.arguments[1])) {
- return null;
- }
- return {
- v1: reconstruct(n.arguments[0]),
- v2: getLiteralValue(n.arguments[1]),
- };
-}
-function nonLiteralRequire(n) {
- if (!babelTypes.isCallExpression(n)) {
- return null;
- }
- if (!babelTypes.isIdentifier(n.callee)) {
- return null;
- }
- if (n.callee.name !== 'require') {
- return null;
- }
- if (isLiteral(n.arguments[0])) {
- return null;
- }
- const m = n.arguments[1];
- if (!m) {
- return { v1: reconstruct(n.arguments[0]) };
- }
- if (!isLiteral(n.arguments[1])) {
- return null;
- }
- return {
- v1: reconstruct(n.arguments[0]),
- v2: getLiteralValue(n.arguments[1]),
- };
-}
-function visitorNonLiteral(n) {
- const was = nonLiteralRequireResolve(n) || nonLiteralRequire(n);
- if (was) {
- if (!valid2(was.v2)) {
- return null;
- }
- return {
- alias: was.v1,
- mustExclude: was.v2 === 'must-exclude',
- mayExclude: was.v2 === 'may-exclude',
- };
- }
- return null;
-}
-exports.visitorNonLiteral = visitorNonLiteral;
-function isRequire(n) {
- if (!babelTypes.isCallExpression(n)) {
- return null;
- }
- if (!babelTypes.isIdentifier(n.callee)) {
- return null;
- }
- if (n.callee.name !== 'require') {
- return null;
- }
- const f = n.arguments && n.arguments[0];
- if (!f) {
- return null;
- }
- return { v1: reconstruct(n.arguments[0]) };
-}
-function isRequireResolve(n) {
- if (!babelTypes.isCallExpression(n)) {
- return null;
- }
- if (!babelTypes.isMemberExpression(n.callee)) {
- return null;
- }
- const ci = n.callee.object.type === 'Identifier' &&
- n.callee.object.name === 'require' &&
- n.callee.property.type === 'Identifier' &&
- n.callee.property.name === 'resolve';
- if (!ci) {
- return null;
- }
- const f = n.type === 'CallExpression' && n.arguments && n.arguments[0];
- if (!f) {
- return null;
- }
- return { v1: reconstruct(n.arguments[0]) };
-}
-function visitorMalformed(n) {
- const was = isRequireResolve(n) || isRequire(n);
- if (was) {
- return { alias: was.v1 };
- }
- return null;
-}
-exports.visitorMalformed = visitorMalformed;
-function visitorUseSCWD(n) {
- if (!babelTypes.isCallExpression(n)) {
- return null;
- }
- if (!babelTypes.isMemberExpression(n.callee)) {
- return null;
- }
- const ci = n.callee.object.type === 'Identifier' &&
- n.callee.object.name === 'path' &&
- n.callee.property.type === 'Identifier' &&
- n.callee.property.name === 'resolve';
- if (!ci) {
- return null;
- }
- const was = { v1: n.arguments.map(reconstruct).join(', ') };
- if (was) {
- return { alias: was.v1 };
- }
- return null;
-}
-exports.visitorUseSCWD = visitorUseSCWD;
-function traverse(ast, visitor) {
- // modified esprima-walk to support
- // visitor return value and "trying" flag
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- const stack = [[ast, false]];
- for (let i = 0; i < stack.length; i += 1) {
- const item = stack[i];
- const [node] = item;
- if (node) {
- const trying = item[1] || babelTypes.isTryStatement(node);
- if (visitor(node, trying)) {
- for (const key in node) {
- if (node[key]) {
- const child = node[key];
- if (child instanceof Array) {
- for (let j = 0; j < child.length; j += 1) {
- stack.push([child[j], trying]);
- }
- }
- else if (child && typeof child.type === 'string') {
- stack.push([child, trying]);
- }
- }
- }
- }
- }
- }
-}
-function parse(body) {
- return babel.parse(body, {
- allowImportExportEverywhere: true,
- allowReturnOutsideFunction: true,
- });
-}
-exports.parse = parse;
-function detect(body, visitor) {
- let json;
- try {
- json = parse(body);
- }
- catch (error) {
- log_1.log.warn(`Babel parse has failed: ${error.message}`);
- }
- if (!json) {
- return;
- }
- traverse(json, visitor);
-}
-exports.detect = detect;
-//# sourceMappingURL=detector.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/fabricator.js b/includes/search/node_modules/pkg/lib-es5/fabricator.js
deleted file mode 100644
index 2730f98..0000000
--- a/includes/search/node_modules/pkg/lib-es5/fabricator.js
+++ /dev/null
@@ -1,141 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.shutdown = exports.fabricateTwice = exports.fabricate = void 0;
-const child_process_1 = require("child_process");
-const log_1 = require("./log");
-const script = `
- var vm = require('vm');
- var module = require('module');
- var stdin = Buffer.alloc(0);
- process.stdin.on('data', function (data) {
- stdin = Buffer.concat([ stdin, data ]);
- if (stdin.length >= 4) {
- var sizeOfSnap = stdin.readInt32LE(0);
- if (stdin.length >= 4 + sizeOfSnap + 4) {
- var sizeOfBody = stdin.readInt32LE(4 + sizeOfSnap);
- if (stdin.length >= 4 + sizeOfSnap + 4 + sizeOfBody) {
- var snap = stdin.toString('utf8', 4, 4 + sizeOfSnap);
- var body = Buffer.alloc(sizeOfBody);
- var startOfBody = 4 + sizeOfSnap + 4;
- stdin.copy(body, 0, startOfBody, startOfBody + sizeOfBody);
- stdin = Buffer.alloc(0);
- var code = module.wrap(body);
- var s = new vm.Script(code, {
- filename: snap,
- produceCachedData: true,
- sourceless: true
- });
- if (!s.cachedDataProduced) {
- console.error('Pkg: Cached data not produced.');
- process.exit(2);
- }
- var h = Buffer.alloc(4);
- var b = s.cachedData;
- h.writeInt32LE(b.length, 0);
- process.stdout.write(h);
- process.stdout.write(b);
- }
- }
- }
- });
- process.stdin.resume();
-`;
-const children = {};
-function fabricate(bakes, fabricator, snap, body, cb) {
- const activeBakes = bakes.filter((bake) => {
- // list of bakes that don't influence the bytecode
- const bake2 = bake.replace(/_/g, '-');
- return !['--prof', '--v8-options', '--trace-opt', '--trace-deopt'].includes(bake2);
- });
- const cmd = fabricator.binaryPath;
- const key = JSON.stringify([cmd, activeBakes]);
- let child = children[key];
- if (!child) {
- const stderr = log_1.log.debugMode ? process.stdout : 'ignore';
- children[key] = (0, child_process_1.spawn)(cmd, activeBakes.concat('-e', script), {
- stdio: ['pipe', 'pipe', stderr],
- env: { PKG_EXECPATH: 'PKG_INVOKE_NODEJS' },
- });
- child = children[key];
- }
- function kill() {
- delete children[key];
- child.kill();
- }
- let stdout = Buffer.alloc(0);
- function onError(error) {
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
- removeListeners();
- kill();
- cb(new Error(`Failed to make bytecode ${fabricator.nodeRange}-${fabricator.arch} for file ${snap} error (${error.message})`));
- }
- function onClose(code) {
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
- removeListeners();
- kill();
- if (code !== 0) {
- return cb(new Error(`Failed to make bytecode ${fabricator.nodeRange}-${fabricator.arch} for file ${snap}`));
- }
- // eslint-disable-next-line no-console
- console.log(stdout.toString());
- return cb(new Error(`${cmd} closed unexpectedly`));
- }
- function onData(data) {
- stdout = Buffer.concat([stdout, data]);
- if (stdout.length >= 4) {
- const sizeOfBlob = stdout.readInt32LE(0);
- if (stdout.length >= 4 + sizeOfBlob) {
- const blob = Buffer.alloc(sizeOfBlob);
- stdout.copy(blob, 0, 4, 4 + sizeOfBlob);
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
- removeListeners();
- return cb(undefined, blob);
- }
- }
- }
- function removeListeners() {
- child.removeListener('error', onError);
- child.removeListener('close', onClose);
- child.stdin.removeListener('error', onError);
- child.stdout.removeListener('error', onError);
- child.stdout.removeListener('data', onData);
- }
- child.on('error', onError);
- child.on('close', onClose);
- child.stdin.on('error', onError);
- child.stdout.on('error', onError);
- child.stdout.on('data', onData);
- const h = Buffer.alloc(4);
- let b = Buffer.from(snap);
- h.writeInt32LE(b.length, 0);
- child.stdin.write(h);
- child.stdin.write(b);
- b = body;
- h.writeInt32LE(b.length, 0);
- child.stdin.write(h);
- child.stdin.write(b);
-}
-exports.fabricate = fabricate;
-function fabricateTwice(bakes, fabricator, snap, body, cb) {
- fabricate(bakes, fabricator, snap, body, (error, buffer) => {
- // node0 can not produce second time, even if first time produced fine,
- // probably because of 'filename' cache. also, there are weird cases
- // when node4 can not compile as well, for example file 'lib/js-yaml/dumper.js'
- // of package js-yaml@3.9.0 does not get bytecode second time on node4-win-x64
- if (error)
- return fabricate(bakes, fabricator, snap, body, cb);
- cb(undefined, buffer);
- });
-}
-exports.fabricateTwice = fabricateTwice;
-function shutdown() {
- for (const key in children) {
- if (children[key]) {
- const child = children[key];
- delete children[key];
- child.kill();
- }
- }
-}
-exports.shutdown = shutdown;
-//# sourceMappingURL=fabricator.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/follow.js b/includes/search/node_modules/pkg/lib-es5/follow.js
deleted file mode 100644
index 9500f3b..0000000
--- a/includes/search/node_modules/pkg/lib-es5/follow.js
+++ /dev/null
@@ -1,91 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.follow = void 0;
-const resolve_1 = require("resolve");
-const fs_1 = __importDefault(require("fs"));
-const path_1 = __importDefault(require("path"));
-const common_1 = require("./common");
-const PROOF = 'a-proof-that-main-is-captured.js';
-function parentDirectoriesContain(parent, directory) {
- let currentParent = parent;
- while (true) {
- if (currentParent === directory) {
- return true;
- }
- const newParent = path_1.default.dirname(currentParent);
- if (newParent === currentParent) {
- return false;
- }
- currentParent = newParent;
- }
-}
-function follow(x, opts) {
- // TODO async version
- return new Promise((resolve) => {
- resolve((0, resolve_1.sync)(x, {
- basedir: opts.basedir,
- extensions: opts.extensions,
- isFile: (file) => {
- if (opts.ignoreFile &&
- path_1.default.join(path_1.default.dirname(opts.ignoreFile), PROOF) === file) {
- return true;
- }
- let stat;
- try {
- stat = fs_1.default.statSync(file);
- }
- catch (e) {
- const ex = e;
- if (ex && (ex.code === 'ENOENT' || ex.code === 'ENOTDIR'))
- return false;
- throw ex;
- }
- return stat.isFile() || stat.isFIFO();
- },
- isDirectory: (directory) => {
- if (opts.ignoreFile &&
- parentDirectoriesContain(opts.ignoreFile, directory)) {
- return false;
- }
- let stat;
- try {
- stat = fs_1.default.statSync(directory);
- }
- catch (e) {
- const ex = e;
- if (ex && (ex.code === 'ENOENT' || ex.code === 'ENOTDIR')) {
- return false;
- }
- throw ex;
- }
- return stat.isDirectory();
- },
- readFileSync: (file) => {
- if (opts.ignoreFile && opts.ignoreFile === file) {
- return Buffer.from(`{"main":"${PROOF}"}`);
- }
- if (opts.catchReadFile) {
- opts.catchReadFile(file);
- }
- return fs_1.default.readFileSync(file);
- },
- packageFilter: (config, base, dir) => {
- if (opts.catchPackageFilter) {
- opts.catchPackageFilter(config, base, dir);
- }
- return config;
- },
- /** function to synchronously resolve a potential symlink to its real path */
- // realpathSync?: (file: string) => string;
- realpathSync: (file) => {
- const file2 = (0, common_1.toNormalizedRealPath)(file);
- return file2;
- },
- }));
- });
-}
-exports.follow = follow;
-//# sourceMappingURL=follow.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/help.js b/includes/search/node_modules/pkg/lib-es5/help.js
deleted file mode 100644
index 24dc398..0000000
--- a/includes/search/node_modules/pkg/lib-es5/help.js
+++ /dev/null
@@ -1,53 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const chalk_1 = __importDefault(require("chalk"));
-function help() {
- // eslint-disable-next-line no-console
- console.log(`
- ${chalk_1.default.bold('pkg')} [options] <input>
-
- ${chalk_1.default.dim('Options:')}
-
- -h, --help output usage information
- -v, --version output pkg version
- -t, --targets comma-separated list of targets (see examples)
- -c, --config package.json or any json file with top-level config
- --options bake v8 options into executable to run with them on
- -o, --output output file name or template for several files
- --out-path path to save output one or more executables
- -d, --debug show more information during packaging process [off]
- -b, --build don't download prebuilt base binaries, build them
- --public speed up and disclose the sources of top-level project
- --public-packages force specified packages to be considered public
- --no-bytecode skip bytecode generation and include source files as plain js
- --no-native-build skip native addons build
- --no-dict comma-separated list of packages names to ignore dictionaries. Use --no-dict * to disable all dictionaries
- -C, --compress [default=None] compression algorithm = Brotli or GZip
-
- ${chalk_1.default.dim('Examples:')}
-
- ${chalk_1.default.gray('–')} Makes executables for Linux, macOS and Windows
- ${chalk_1.default.cyan('$ pkg index.js')}
- ${chalk_1.default.gray('–')} Takes package.json from cwd and follows 'bin' entry
- ${chalk_1.default.cyan('$ pkg .')}
- ${chalk_1.default.gray('–')} Makes executable for particular target machine
- ${chalk_1.default.cyan('$ pkg -t node14-win-arm64 index.js')}
- ${chalk_1.default.gray('–')} Makes executables for target machines of your choice
- ${chalk_1.default.cyan('$ pkg -t node12-linux,node14-linux,node14-win index.js')}
- ${chalk_1.default.gray('–')} Bakes '--expose-gc' and '--max-heap-size=34' into executable
- ${chalk_1.default.cyan('$ pkg --options "expose-gc,max-heap-size=34" index.js')}
- ${chalk_1.default.gray('–')} Consider packageA and packageB to be public
- ${chalk_1.default.cyan('$ pkg --public-packages "packageA,packageB" index.js')}
- ${chalk_1.default.gray('–')} Consider all packages to be public
- ${chalk_1.default.cyan('$ pkg --public-packages "*" index.js')}
- ${chalk_1.default.gray('–')} Bakes '--expose-gc' into executable
- ${chalk_1.default.cyan('$ pkg --options expose-gc index.js')}
- ${chalk_1.default.gray('–')} reduce size of the data packed inside the executable with GZip
- ${chalk_1.default.cyan('$ pkg --compress GZip index.js')}
-`);
-}
-exports.default = help;
-//# sourceMappingURL=help.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/index.d.ts b/includes/search/node_modules/pkg/lib-es5/index.d.ts
deleted file mode 100644
index d7b9ae2..0000000
--- a/includes/search/node_modules/pkg/lib-es5/index.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export declare function exec(argv2: string[]): Promise<void>;
-//# sourceMappingURL=index.d.ts.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/index.js b/includes/search/node_modules/pkg/lib-es5/index.js
deleted file mode 100644
index 6c90cf6..0000000
--- a/includes/search/node_modules/pkg/lib-es5/index.js
+++ /dev/null
@@ -1,540 +0,0 @@
-"use strict";
-/* eslint-disable require-atomic-updates */
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.exec = void 0;
-const assert_1 = __importDefault(require("assert"));
-const fs_extra_1 = require("fs-extra");
-const minimist_1 = __importDefault(require("minimist"));
-const pkg_fetch_1 = require("pkg-fetch");
-const path_1 = __importDefault(require("path"));
-const log_1 = require("./log");
-const help_1 = __importDefault(require("./help"));
-const common_1 = require("./common");
-const packer_1 = __importDefault(require("./packer"));
-const chmod_1 = require("./chmod");
-const producer_1 = __importDefault(require("./producer"));
-const refiner_1 = __importDefault(require("./refiner"));
-const fabricator_1 = require("./fabricator");
-const walker_1 = __importDefault(require("./walker"));
-const compress_type_1 = require("./compress_type");
-const mach_o_1 = require("./mach-o");
-const { version } = JSON.parse((0, fs_extra_1.readFileSync)(path_1.default.join(__dirname, '../package.json'), 'utf-8'));
-function isConfiguration(file) {
- return (0, common_1.isPackageJson)(file) || file.endsWith('.config.json');
-}
-// http://www.openwall.com/lists/musl/2012/12/08/4
-const { hostArch, hostPlatform, isValidNodeRange, knownArchs, knownPlatforms, toFancyArch, toFancyPlatform, } = pkg_fetch_1.system;
-// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-const hostNodeRange = `node${process.version.match(/^v(\d+)/)[1]}`;
-function parseTargets(items) {
- // [ 'node6-macos-x64', 'node6-linux-x64' ]
- const targets = [];
- for (const item of items) {
- const target = {
- nodeRange: hostNodeRange,
- platform: hostPlatform,
- arch: hostArch,
- };
- if (item !== 'host') {
- for (const token of item.split('-')) {
- if (!token) {
- continue;
- }
- if (isValidNodeRange(token)) {
- target.nodeRange = token;
- continue;
- }
- const p = toFancyPlatform(token);
- if (knownPlatforms.indexOf(p) >= 0) {
- target.platform = p;
- continue;
- }
- const a = toFancyArch(token);
- if (knownArchs.indexOf(a) >= 0) {
- target.arch = a;
- continue;
- }
- throw (0, log_1.wasReported)(`Unknown token '${token}' in '${item}'`);
- }
- }
- targets.push(target);
- }
- return targets;
-}
-function stringifyTarget(target) {
- const { nodeRange, platform, arch } = target;
- return `${nodeRange}-${platform}-${arch}`;
-}
-function differentParts(targets) {
- const nodeRanges = {};
- const platforms = {};
- const archs = {};
- for (const target of targets) {
- nodeRanges[target.nodeRange] = true;
- platforms[target.platform] = true;
- archs[target.arch] = true;
- }
- const result = {};
- if (Object.keys(nodeRanges).length > 1) {
- result.nodeRange = true;
- }
- if (Object.keys(platforms).length > 1) {
- result.platform = true;
- }
- if (Object.keys(archs).length > 1) {
- result.arch = true;
- }
- return result;
-}
-function stringifyTargetForOutput(output, target, different) {
- const a = [output];
- if (different.nodeRange) {
- a.push(target.nodeRange);
- }
- if (different.platform) {
- a.push(target.platform);
- }
- if (different.arch) {
- a.push(target.arch);
- }
- return a.join('-');
-}
-function fabricatorForTarget({ nodeRange, arch }) {
- let fabPlatform = hostPlatform;
- if (hostArch !== arch &&
- (hostPlatform === 'linux' || hostPlatform === 'alpine')) {
- // With linuxstatic, it is possible to generate bytecode for different
- // arch with simple QEMU configuration instead of the entire sysroot.
- fabPlatform = 'linuxstatic';
- }
- return {
- nodeRange,
- platform: fabPlatform,
- arch,
- };
-}
-const dryRunResults = {};
-async function needWithDryRun({ forceBuild, nodeRange, platform, arch, }) {
- const result = await (0, pkg_fetch_1.need)({
- dryRun: true,
- forceBuild,
- nodeRange,
- platform,
- arch,
- });
- (0, assert_1.default)(['exists', 'fetched', 'built'].indexOf(result) >= 0);
- dryRunResults[result] = true;
-}
-const targetsCache = {};
-async function needViaCache(target) {
- const s = stringifyTarget(target);
- let c = targetsCache[s];
- if (c) {
- return c;
- }
- const { forceBuild, nodeRange, platform, arch } = target;
- c = await (0, pkg_fetch_1.need)({
- forceBuild,
- nodeRange,
- platform,
- arch,
- });
- targetsCache[s] = c;
- return c;
-}
-async function exec(argv2) {
- var _a, _b;
- const argv = (0, minimist_1.default)(argv2, {
- boolean: [
- 'b',
- 'build',
- 'bytecode',
- 'native-build',
- 'd',
- 'debug',
- 'h',
- 'help',
- 'public',
- 'v',
- 'version',
- ],
- string: [
- '_',
- 'c',
- 'config',
- 'o',
- 'options',
- 'output',
- 'outdir',
- 'out-dir',
- 'out-path',
- 'public-packages',
- 'no-dict',
- 't',
- 'target',
- 'targets',
- 'C',
- 'compress',
- ],
- default: { bytecode: true, 'native-build': true },
- });
- if (argv.h || argv.help) {
- (0, help_1.default)();
- return;
- }
- // version
- if (argv.v || argv.version) {
- // eslint-disable-next-line no-console
- console.log(version);
- return;
- }
- log_1.log.info(`pkg@${version}`);
- // debug
- log_1.log.debugMode = argv.d || argv.debug;
- // forceBuild
- const forceBuild = argv.b || argv.build;
- // doCompress
- const algo = argv.C || argv.compress || 'None';
- let doCompress = compress_type_1.CompressType.None;
- switch (algo.toLowerCase()) {
- case 'brotli':
- case 'br':
- doCompress = compress_type_1.CompressType.Brotli;
- break;
- case 'gzip':
- case 'gz':
- doCompress = compress_type_1.CompressType.GZip;
- break;
- case 'none':
- break;
- default:
- throw (0, log_1.wasReported)(`Invalid compression algorithm ${algo} ( should be None, Brotli or Gzip)`);
- }
- if (doCompress !== compress_type_1.CompressType.None) {
- // eslint-disable-next-line no-console
- console.log('compression: ', compress_type_1.CompressType[doCompress]);
- }
- // _
- if (!argv._.length) {
- throw (0, log_1.wasReported)('Entry file/directory is expected', [
- 'Pass --help to see usage information',
- ]);
- }
- if (argv._.length > 1) {
- throw (0, log_1.wasReported)('Not more than one entry file/directory is expected');
- }
- // input
- let input = path_1.default.resolve(argv._[0]);
- if (!(0, fs_extra_1.existsSync)(input)) {
- throw (0, log_1.wasReported)('Input file does not exist', [input]);
- }
- if ((await (0, fs_extra_1.stat)(input)).isDirectory()) {
- input = path_1.default.join(input, 'package.json');
- if (!(0, fs_extra_1.existsSync)(input)) {
- throw (0, log_1.wasReported)('Input file does not exist', [input]);
- }
- }
- // inputJson
- let inputJson;
- let inputJsonName;
- if (isConfiguration(input)) {
- inputJson = JSON.parse(await (0, fs_extra_1.readFile)(input, 'utf-8'));
- inputJsonName = inputJson.name;
- if (inputJsonName) {
- inputJsonName = inputJsonName.split('/').pop(); // @org/foo
- }
- }
- // inputBin
- let inputBin;
- if (inputJson) {
- let { bin } = inputJson;
- if (bin) {
- if (typeof bin === 'object') {
- if (bin[inputJsonName]) {
- bin = bin[inputJsonName];
- }
- else {
- bin = bin[Object.keys(bin)[0]]; // TODO multiple inputs to pkg them all?
- }
- }
- inputBin = path_1.default.resolve(path_1.default.dirname(input), bin);
- if (!(0, fs_extra_1.existsSync)(inputBin)) {
- throw (0, log_1.wasReported)('Bin file does not exist (taken from package.json ' +
- "'bin' property)", [inputBin]);
- }
- }
- }
- if (inputJson && !inputBin) {
- throw (0, log_1.wasReported)("Property 'bin' does not exist in", [input]);
- }
- // inputFin
- const inputFin = inputBin || input;
- // config
- let config = argv.c || argv.config;
- if (inputJson && config) {
- throw (0, log_1.wasReported)("Specify either 'package.json' or config. Not both");
- }
- // configJson
- let configJson;
- if (config) {
- config = path_1.default.resolve(config);
- if (!(0, fs_extra_1.existsSync)(config)) {
- throw (0, log_1.wasReported)('Config file does not exist', [config]);
- }
- // eslint-disable-next-line import/no-dynamic-require, global-require
- configJson = require(config); // may be either json or js
- if (!configJson.name &&
- !configJson.files &&
- !configJson.dependencies &&
- !configJson.pkg) {
- // package.json not detected
- configJson = { pkg: configJson };
- }
- }
- // output, outputPath
- let output = argv.o || argv.output;
- let outputPath = argv['out-path'] || argv.outdir || argv['out-dir'];
- let autoOutput = false;
- if (output && outputPath) {
- throw (0, log_1.wasReported)("Specify either 'output' or 'out-path'. Not both");
- }
- if (!output) {
- let name;
- if (inputJson) {
- name = inputJsonName;
- if (!name) {
- throw (0, log_1.wasReported)("Property 'name' does not exist in", [argv._[0]]);
- }
- }
- else if (configJson) {
- name = configJson.name;
- }
- if (!name) {
- name = path_1.default.basename(inputFin);
- }
- if (!outputPath) {
- if (inputJson && inputJson.pkg) {
- outputPath = inputJson.pkg.outputPath;
- }
- else if (configJson && configJson.pkg) {
- outputPath = configJson.pkg.outputPath;
- }
- outputPath = outputPath || '';
- }
- autoOutput = true;
- const ext = path_1.default.extname(name);
- output = name.slice(0, -ext.length || undefined);
- output = path_1.default.resolve(outputPath || '', output);
- }
- else {
- output = path_1.default.resolve(output);
- }
- // targets
- const sTargets = argv.t || argv.target || argv.targets || '';
- if (typeof sTargets !== 'string') {
- throw (0, log_1.wasReported)(`Something is wrong near ${JSON.stringify(sTargets)}`);
- }
- let targets = parseTargets(sTargets.split(',').filter((t) => t));
- if (!targets.length) {
- let jsonTargets;
- if (inputJson && inputJson.pkg) {
- jsonTargets = inputJson.pkg.targets;
- }
- else if (configJson && configJson.pkg) {
- jsonTargets = configJson.pkg.targets;
- }
- if (jsonTargets) {
- targets = parseTargets(jsonTargets);
- }
- }
- if (!targets.length) {
- if (!autoOutput) {
- targets = parseTargets(['host']);
- (0, assert_1.default)(targets.length === 1);
- }
- else {
- targets = parseTargets(['linux', 'macos', 'win']);
- }
- log_1.log.info('Targets not specified. Assuming:', `${targets.map((t) => stringifyTarget(t)).join(', ')}`);
- }
- // differentParts
- const different = differentParts(targets);
- // targets[].output
- for (const target of targets) {
- let file;
- if (targets.length === 1) {
- file = output;
- }
- else {
- file = stringifyTargetForOutput(output, target, different);
- }
- if (target.platform === 'win' && path_1.default.extname(file) !== '.exe') {
- file += '.exe';
- }
- target.output = file;
- }
- // bakes
- const bakes = (argv.options || '')
- .split(',')
- .filter((bake) => bake)
- .map((bake) => `--${bake}`);
- // check if input is going
- // to be overwritten by output
- for (const target of targets) {
- if (target.output === inputFin) {
- if (autoOutput) {
- target.output += `-${target.platform}`;
- }
- else {
- throw (0, log_1.wasReported)('Refusing to overwrite input file', [inputFin]);
- }
- }
- }
- // fetch targets
- const { bytecode } = argv;
- const nativeBuild = argv['native-build'];
- for (const target of targets) {
- target.forceBuild = forceBuild;
- await needWithDryRun(target);
- target.fabricator = fabricatorForTarget(target);
- if (bytecode) {
- await needWithDryRun(Object.assign(Object.assign({}, target.fabricator), { forceBuild }));
- }
- }
- if (dryRunResults.fetched && !dryRunResults.built) {
- log_1.log.info('Fetching base Node.js binaries to PKG_CACHE_PATH');
- }
- for (const target of targets) {
- target.binaryPath = await needViaCache(target);
- const f = target.fabricator;
- if (f && bytecode) {
- f.binaryPath = await needViaCache(f);
- if (f.platform === 'macos') {
- // ad-hoc sign the base binary temporarily to generate bytecode
- // due to the new mandatory signing requirement
- const signedBinaryPath = `${f.binaryPath}-signed`;
- await (0, fs_extra_1.remove)(signedBinaryPath);
- (0, fs_extra_1.copyFileSync)(f.binaryPath, signedBinaryPath);
- try {
- (0, mach_o_1.signMachOExecutable)(signedBinaryPath);
- }
- catch (_c) {
- throw (0, log_1.wasReported)('Cannot generate bytecode', [
- 'pkg fails to run "codesign" utility. Due to the mandatory signing',
- 'requirement of macOS, executables must be signed. Please ensure the',
- 'utility is installed and properly configured.',
- ]);
- }
- f.binaryPath = signedBinaryPath;
- }
- if (f.platform !== 'win') {
- await (0, chmod_1.plusx)(f.binaryPath);
- }
- }
- }
- // marker
- let marker;
- if (configJson) {
- marker = {
- config: configJson,
- base: path_1.default.dirname(config),
- configPath: config,
- };
- }
- else {
- marker = {
- config: inputJson || {},
- base: path_1.default.dirname(input),
- configPath: input,
- };
- }
- marker.toplevel = true;
- // public
- const params = {};
- if (argv.public) {
- params.publicToplevel = true;
- }
- if (argv['public-packages']) {
- params.publicPackages = argv['public-packages'].split(',');
- if (((_a = params.publicPackages) === null || _a === void 0 ? void 0 : _a.indexOf('*')) !== -1) {
- params.publicPackages = ['*'];
- }
- }
- if (argv['no-dict']) {
- params.noDictionary = argv['no-dict'].split(',');
- if (((_b = params.noDictionary) === null || _b === void 0 ? void 0 : _b.indexOf('*')) !== -1) {
- params.noDictionary = ['*'];
- }
- }
- // records
- let records;
- let entrypoint = inputFin;
- let symLinks;
- const addition = isConfiguration(input) ? input : undefined;
- const walkResult = await (0, walker_1.default)(marker, entrypoint, addition, params);
- entrypoint = walkResult.entrypoint;
- records = walkResult.records;
- symLinks = walkResult.symLinks;
- const refineResult = (0, refiner_1.default)(records, entrypoint, symLinks);
- entrypoint = refineResult.entrypoint;
- records = refineResult.records;
- symLinks = refineResult.symLinks;
- const backpack = (0, packer_1.default)({ records, entrypoint, bytecode, symLinks });
- log_1.log.debug('Targets:', JSON.stringify(targets, null, 2));
- for (const target of targets) {
- if (target.output && (0, fs_extra_1.existsSync)(target.output)) {
- if ((await (0, fs_extra_1.stat)(target.output)).isFile()) {
- await (0, fs_extra_1.remove)(target.output);
- }
- else {
- throw (0, log_1.wasReported)('Refusing to overwrite non-file output', [
- target.output,
- ]);
- }
- }
- else if (target.output) {
- await (0, fs_extra_1.mkdirp)(path_1.default.dirname(target.output));
- }
- await (0, producer_1.default)({
- backpack,
- bakes,
- slash: target.platform === 'win' ? '\\' : '/',
- target: target,
- symLinks,
- doCompress,
- nativeBuild,
- });
- if (target.platform !== 'win' && target.output) {
- if (target.platform === 'macos') {
- // patch executable to allow code signing
- const buf = (0, mach_o_1.patchMachOExecutable)((0, fs_extra_1.readFileSync)(target.output));
- (0, fs_extra_1.writeFileSync)(target.output, buf);
- try {
- // sign executable ad-hoc to workaround the new mandatory signing requirement
- // users can always replace the signature if necessary
- (0, mach_o_1.signMachOExecutable)(target.output);
- }
- catch (_d) {
- if (target.arch === 'arm64') {
- log_1.log.warn('Unable to sign the macOS executable', [
- 'Due to the mandatory code signing requirement, before the',
- 'executable is distributed to end users, it must be signed.',
- 'Otherwise, it will be immediately killed by kernel on launch.',
- 'An ad-hoc signature is sufficient.',
- 'To do that, run pkg on a Mac, or transfer the executable to a Mac',
- 'and run "codesign --sign - <executable>", or (if you use Linux)',
- 'install "ldid" utility to PATH and then run pkg again',
- ]);
- }
- }
- }
- await (0, chmod_1.plusx)(target.output);
- }
- }
- (0, fabricator_1.shutdown)();
-}
-exports.exec = exec;
-//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/log.js b/includes/search/node_modules/pkg/lib-es5/log.js
deleted file mode 100644
index 7c7de14..0000000
--- a/includes/search/node_modules/pkg/lib-es5/log.js
+++ /dev/null
@@ -1,7 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.wasReported = exports.log = void 0;
-var log_1 = require("pkg-fetch/lib-es5/log");
-Object.defineProperty(exports, "log", { enumerable: true, get: function () { return log_1.log; } });
-Object.defineProperty(exports, "wasReported", { enumerable: true, get: function () { return log_1.wasReported; } });
-//# sourceMappingURL=log.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/mach-o.js b/includes/search/node_modules/pkg/lib-es5/mach-o.js
deleted file mode 100644
index 00c5e9e..0000000
--- a/includes/search/node_modules/pkg/lib-es5/mach-o.js
+++ /dev/null
@@ -1,61 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.signMachOExecutable = exports.patchMachOExecutable = void 0;
-const child_process_1 = require("child_process");
-function parseCStr(buf) {
- for (let i = 0; i < buf.length; i += 1) {
- if (buf[i] === 0) {
- return buf.slice(0, i).toString();
- }
- }
-}
-function patchCommand(type, buf, file) {
- // segment_64
- if (type === 0x19) {
- const name = parseCStr(buf.slice(0, 16));
- if (name === '__LINKEDIT') {
- const fileoff = buf.readBigUInt64LE(32);
- const vmsizePatched = BigInt(file.length) - fileoff;
- const filesizePatched = vmsizePatched;
- buf.writeBigUInt64LE(vmsizePatched, 24);
- buf.writeBigUInt64LE(filesizePatched, 40);
- }
- }
- // symtab
- if (type === 0x2) {
- const stroff = buf.readUInt32LE(8);
- const strsizePatched = file.length - stroff;
- buf.writeUInt32LE(strsizePatched, 12);
- }
-}
-function patchMachOExecutable(file) {
- const align = 8;
- const hsize = 32;
- const ncmds = file.readUInt32LE(16);
- const buf = file.slice(hsize);
- for (let offset = 0, i = 0; i < ncmds; i += 1) {
- const type = buf.readUInt32LE(offset);
- offset += 4;
- const size = buf.readUInt32LE(offset) - 8;
- offset += 4;
- patchCommand(type, buf.slice(offset, offset + size), file);
- offset += size;
- if (offset & align) {
- offset += align - (offset & align);
- }
- }
- return file;
-}
-exports.patchMachOExecutable = patchMachOExecutable;
-function signMachOExecutable(executable) {
- try {
- (0, child_process_1.execFileSync)('codesign', ['-f', '--sign', '-', executable], {
- stdio: 'inherit',
- });
- }
- catch (_a) {
- (0, child_process_1.execFileSync)('ldid', ['-Cadhoc', '-S', executable], { stdio: 'inherit' });
- }
-}
-exports.signMachOExecutable = signMachOExecutable;
-//# sourceMappingURL=mach-o.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/packer.js b/includes/search/node_modules/pkg/lib-es5/packer.js
deleted file mode 100644
index 7bc7341..0000000
--- a/includes/search/node_modules/pkg/lib-es5/packer.js
+++ /dev/null
@@ -1,131 +0,0 @@
-"use strict";
-/* eslint-disable complexity */
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const assert_1 = __importDefault(require("assert"));
-const fs_extra_1 = __importDefault(require("fs-extra"));
-const path_1 = __importDefault(require("path"));
-const common_1 = require("./common");
-const log_1 = require("./log");
-const { version } = JSON.parse(fs_extra_1.default.readFileSync(path_1.default.join(__dirname, '../package.json'), 'utf-8'));
-const bootstrapText = fs_extra_1.default
- .readFileSync(require.resolve('../prelude/bootstrap.js'), 'utf8')
- .replace('%VERSION%', version);
-const commonText = fs_extra_1.default.readFileSync(require.resolve('./common'), 'utf8');
-const diagnosticText = fs_extra_1.default.readFileSync(require.resolve('../prelude/diagnostic.js'), 'utf8');
-function itemsToText(items) {
- const len = items.length;
- return len.toString() + (len % 10 === 1 ? ' item' : ' items');
-}
-function hasAnyStore(record) {
- // discarded records like native addons
- for (const store of [common_1.STORE_BLOB, common_1.STORE_CONTENT, common_1.STORE_LINKS, common_1.STORE_STAT]) {
- if (record[store])
- return true;
- }
- return false;
-}
-function packer({ records, entrypoint, bytecode, }) {
- const stripes = [];
- for (const snap in records) {
- if (records[snap]) {
- const record = records[snap];
- const { file } = record;
- if (!hasAnyStore(record)) {
- continue;
- }
- (0, assert_1.default)(record[common_1.STORE_STAT], 'packer: no STORE_STAT');
- (0, assert_1.default)(record[common_1.STORE_BLOB] ||
- record[common_1.STORE_CONTENT] ||
- record[common_1.STORE_LINKS] ||
- record[common_1.STORE_STAT]);
- if (record[common_1.STORE_BLOB] && !bytecode) {
- delete record[common_1.STORE_BLOB];
- if (!record[common_1.STORE_CONTENT]) {
- // TODO make a test for it?
- throw (0, log_1.wasReported)('--no-bytecode and no source breaks final executable', [
- file,
- 'Please run with "-d" and without "--no-bytecode" first, and make',
- 'sure that debug log does not contain "was included as bytecode".',
- ]);
- }
- }
- for (const store of [
- common_1.STORE_BLOB,
- common_1.STORE_CONTENT,
- common_1.STORE_LINKS,
- common_1.STORE_STAT,
- ]) {
- const value = record[store];
- if (!value) {
- continue;
- }
- if (store === common_1.STORE_BLOB || store === common_1.STORE_CONTENT) {
- if (record.body === undefined) {
- stripes.push({ snap, store, file });
- }
- else if (Buffer.isBuffer(record.body)) {
- stripes.push({ snap, store, buffer: record.body });
- }
- else if (typeof record.body === 'string') {
- stripes.push({ snap, store, buffer: Buffer.from(record.body) });
- }
- else {
- (0, assert_1.default)(false, 'packer: bad STORE_BLOB/STORE_CONTENT');
- }
- }
- else if (store === common_1.STORE_LINKS) {
- if (Array.isArray(value)) {
- const dedupedValue = [...new Set(value)];
- log_1.log.debug('files & folders deduped = ', dedupedValue);
- const buffer = Buffer.from(JSON.stringify(dedupedValue));
- stripes.push({ snap, store, buffer });
- }
- else {
- (0, assert_1.default)(false, 'packer: bad STORE_LINKS');
- }
- }
- else if (store === common_1.STORE_STAT) {
- if (typeof value === 'object') {
- const newStat = Object.assign({}, value);
- const buffer = Buffer.from(JSON.stringify(newStat));
- stripes.push({ snap, store, buffer });
- }
- else {
- (0, assert_1.default)(false, 'packer: unknown store');
- }
- }
- if (record[common_1.STORE_CONTENT]) {
- const disclosed = (0, common_1.isDotJS)(file) || (0, common_1.isDotJSON)(file);
- log_1.log.debug(disclosed
- ? 'The file was included as DISCLOSED code (with sources)'
- : 'The file was included as asset content', file);
- }
- else if (record[common_1.STORE_BLOB]) {
- log_1.log.debug('The file was included as bytecode (no sources)', file);
- }
- else if (record[common_1.STORE_LINKS]) {
- const link = record[common_1.STORE_LINKS];
- log_1.log.debug(`The directory files list was included (${itemsToText(link)})`, file);
- }
- }
- }
- }
- const prelude = `return (function (REQUIRE_COMMON, VIRTUAL_FILESYSTEM, DEFAULT_ENTRYPOINT, SYMLINKS, DICT, DOCOMPRESS) {
- ${bootstrapText}${log_1.log.debugMode ? diagnosticText : ''}\n})(function (exports) {\n${commonText}\n},\n` +
- `%VIRTUAL_FILESYSTEM%` +
- `\n,\n` +
- `%DEFAULT_ENTRYPOINT%` +
- `\n,\n` +
- `%SYMLINKS%` +
- '\n,\n' +
- '%DICT%' +
- '\n,\n' +
- '%DOCOMPRESS%' +
- `\n);`;
- return { prelude, entrypoint, stripes };
-}
-exports.default = packer;
-//# sourceMappingURL=packer.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/producer.js b/includes/search/node_modules/pkg/lib-es5/producer.js
deleted file mode 100644
index 1fc8a71..0000000
--- a/includes/search/node_modules/pkg/lib-es5/producer.js
+++ /dev/null
@@ -1,344 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const zlib_1 = require("zlib");
-const multistream_1 = __importDefault(require("multistream"));
-const assert_1 = __importDefault(require("assert"));
-const child_process_1 = require("child_process");
-const fs_extra_1 = __importDefault(require("fs-extra"));
-const into_stream_1 = __importDefault(require("into-stream"));
-const path_1 = __importDefault(require("path"));
-const stream_meter_1 = __importDefault(require("stream-meter"));
-const common_1 = require("./common");
-const log_1 = require("./log");
-const fabricator_1 = require("./fabricator");
-const types_1 = require("./types");
-const compress_type_1 = require("./compress_type");
-function discoverPlaceholder(binaryBuffer, searchString, padder) {
- const placeholder = Buffer.from(searchString);
- const position = binaryBuffer.indexOf(placeholder);
- if (position === -1) {
- return { notFound: true };
- }
- return { position, size: placeholder.length, padder };
-}
-function injectPlaceholder(fd, placeholder, value, cb) {
- if ('notFound' in placeholder) {
- (0, assert_1.default)(false, 'Placeholder for not found');
- }
- const { position, size, padder } = placeholder;
- let stringValue = Buffer.from('');
- if (typeof value === 'number') {
- stringValue = Buffer.from(value.toString());
- }
- else if (typeof value === 'string') {
- stringValue = Buffer.from(value);
- }
- else {
- stringValue = value;
- }
- const padding = Buffer.from(padder.repeat(size - stringValue.length));
- stringValue = Buffer.concat([stringValue, padding]);
- fs_extra_1.default.write(fd, stringValue, 0, stringValue.length, position, cb);
-}
-function discoverPlaceholders(binaryBuffer) {
- return {
- BAKERY: discoverPlaceholder(binaryBuffer, `\0${'// BAKERY '.repeat(20)}`, '\0'),
- PAYLOAD_POSITION: discoverPlaceholder(binaryBuffer, '// PAYLOAD_POSITION //', ' '),
- PAYLOAD_SIZE: discoverPlaceholder(binaryBuffer, '// PAYLOAD_SIZE //', ' '),
- PRELUDE_POSITION: discoverPlaceholder(binaryBuffer, '// PRELUDE_POSITION //', ' '),
- PRELUDE_SIZE: discoverPlaceholder(binaryBuffer, '// PRELUDE_SIZE //', ' '),
- };
-}
-function injectPlaceholders(fd, placeholders, values, cb) {
- injectPlaceholder(fd, placeholders.BAKERY, values.BAKERY, (error) => {
- if (error) {
- return cb(error);
- }
- injectPlaceholder(fd, placeholders.PAYLOAD_POSITION, values.PAYLOAD_POSITION, (error2) => {
- if (error2) {
- return cb(error2);
- }
- injectPlaceholder(fd, placeholders.PAYLOAD_SIZE, values.PAYLOAD_SIZE, (error3) => {
- if (error3) {
- return cb(error3);
- }
- injectPlaceholder(fd, placeholders.PRELUDE_POSITION, values.PRELUDE_POSITION, (error4) => {
- if (error4) {
- return cb(error4);
- }
- injectPlaceholder(fd, placeholders.PRELUDE_SIZE, values.PRELUDE_SIZE, cb);
- });
- });
- });
- });
-}
-function makeBakeryValueFromBakes(bakes) {
- const parts = [];
- if (bakes.length) {
- for (let i = 0; i < bakes.length; i += 1) {
- parts.push(Buffer.from(bakes[i]));
- parts.push(Buffer.alloc(1));
- }
- parts.push(Buffer.alloc(1));
- }
- return Buffer.concat(parts);
-}
-function replaceDollarWise(s, sf, st) {
- return s.replace(sf, () => st);
-}
-function makePreludeBufferFromPrelude(prelude) {
- return Buffer.from(`(function(process, require, console, EXECPATH_FD, PAYLOAD_POSITION, PAYLOAD_SIZE) { ${prelude}\n})` // dont remove \n
- );
-}
-function findPackageJson(nodeFile) {
- let dir = nodeFile;
- while (dir !== '/') {
- dir = path_1.default.dirname(dir);
- if (fs_extra_1.default.existsSync(path_1.default.join(dir, 'package.json'))) {
- break;
- }
- }
- if (dir === '/') {
- throw new Error(`package.json not found for "${nodeFile}"`);
- }
- return dir;
-}
-function nativePrebuildInstall(target, nodeFile) {
- var _a, _b;
- const prebuildInstall = path_1.default.join(__dirname, '../node_modules/.bin/prebuild-install');
- const dir = findPackageJson(nodeFile);
- // parse the target node version from the binaryPath
- const nodeVersion = path_1.default.basename(target.binaryPath).split('-')[1];
- if (!/^v[0-9]+\.[0-9]+\.[0-9]+$/.test(nodeVersion)) {
- throw new Error(`Couldn't find node version, instead got: ${nodeVersion}`);
- }
- const nativeFile = `${nodeFile}.${target.platform}.${nodeVersion}`;
- if (fs_extra_1.default.existsSync(nativeFile)) {
- return nativeFile;
- }
- // prebuild-install will overwrite the target .node file, so take a backup
- if (!fs_extra_1.default.existsSync(`${nodeFile}.bak`)) {
- fs_extra_1.default.copyFileSync(nodeFile, `${nodeFile}.bak`);
- }
- const napiVersions = (_b = (_a = JSON.parse(fs_extra_1.default.readFileSync(path_1.default.join(dir, 'package.json'), { encoding: 'utf-8' }))) === null || _a === void 0 ? void 0 : _a.binary) === null || _b === void 0 ? void 0 : _b.napi_versions;
- const options = [
- '--platform',
- types_1.platform[target.platform],
- '--arch',
- target.arch,
- ];
- if (napiVersions == null) {
- // TODO: consider target node version and supported n-api version
- options.push('--target', nodeVersion);
- }
- // run prebuild
- (0, child_process_1.execFileSync)(prebuildInstall, options, { cwd: dir });
- // move the prebuild to a new name with a platform/version extension
- fs_extra_1.default.copyFileSync(nodeFile, nativeFile);
- // put the backed up file back
- fs_extra_1.default.moveSync(`${nodeFile}.bak`, nodeFile, { overwrite: true });
- return nativeFile;
-}
-/**
- * instead of creating a vfs dicionnary with actual path as key
- * we use a compression mechanism that can reduce significantly
- * the memory footprint of the vfs in the code.
- *
- * without vfs compression:
- *
- * vfs = {
- * "/folder1/folder2/file1.js": {};
- * "/folder1/folder2/folder3/file2.js": {};
- * "/folder1/folder2/folder3/file3.js": {};
- * }
- *
- * with compression :
- *
- * fileDictionary = {
- * "folder1": "1",
- * "folder2": "2",
- * "file1": "3",
- * "folder3": "4",
- * "file2": "5",
- * "file3": "6",
- * }
- * vfs = {
- * "/1/2/3": {};
- * "/1/2/4/5": {};
- * "/1/2/4/6": {};
- * }
- *
- * note: the key is computed in base36 for further compression.
- */
-const fileDictionary = {};
-let counter = 0;
-function getOrCreateHash(fileOrFolderName) {
- let existingKey = fileDictionary[fileOrFolderName];
- if (!existingKey) {
- const newkey = counter;
- counter += 1;
- existingKey = newkey.toString(36);
- fileDictionary[fileOrFolderName] = existingKey;
- }
- return existingKey;
-}
-const separator = '/';
-function makeKey(doCompression, fullpath, slash) {
- if (doCompression === compress_type_1.CompressType.None)
- return fullpath;
- return fullpath.split(slash).map(getOrCreateHash).join(separator);
-}
-function producer({ backpack, bakes, slash, target, symLinks, doCompress, nativeBuild, }) {
- return new Promise((resolve, reject) => {
- if (!Buffer.alloc) {
- throw (0, log_1.wasReported)('Your node.js does not have Buffer.alloc. Please upgrade!');
- }
- const { prelude } = backpack;
- let { entrypoint, stripes } = backpack;
- entrypoint = (0, common_1.snapshotify)(entrypoint, slash);
- stripes = stripes.slice();
- const vfs = {};
- for (const stripe of stripes) {
- let { snap } = stripe;
- snap = (0, common_1.snapshotify)(snap, slash);
- const vfsKey = makeKey(doCompress, snap, slash);
- if (!vfs[vfsKey])
- vfs[vfsKey] = {};
- }
- const snapshotSymLinks = {};
- for (const [key, value] of Object.entries(symLinks)) {
- const k = (0, common_1.snapshotify)(key, slash);
- const v = (0, common_1.snapshotify)(value, slash);
- const vfsKey = makeKey(doCompress, k, slash);
- snapshotSymLinks[vfsKey] = makeKey(doCompress, v, slash);
- }
- let meter;
- let count = 0;
- function pipeToNewMeter(s) {
- meter = (0, stream_meter_1.default)();
- return s.pipe(meter);
- }
- function pipeMayCompressToNewMeter(s) {
- if (doCompress === compress_type_1.CompressType.GZip) {
- return pipeToNewMeter(s.pipe((0, zlib_1.createGzip)()));
- }
- if (doCompress === compress_type_1.CompressType.Brotli) {
- return pipeToNewMeter(s.pipe((0, zlib_1.createBrotliCompress)()));
- }
- return pipeToNewMeter(s);
- }
- function next(s) {
- count += 1;
- return pipeToNewMeter(s);
- }
- const binaryBuffer = fs_extra_1.default.readFileSync(target.binaryPath);
- const placeholders = discoverPlaceholders(binaryBuffer);
- let track = 0;
- let prevStripe;
- let payloadPosition;
- let payloadSize;
- let preludePosition;
- let preludeSize;
- new multistream_1.default((cb) => {
- if (count === 0) {
- return cb(null, next((0, into_stream_1.default)(binaryBuffer)));
- }
- if (count === 1) {
- payloadPosition = meter.bytes;
- return cb(null, next((0, into_stream_1.default)(Buffer.alloc(0))));
- }
- if (count === 2) {
- if (prevStripe && !prevStripe.skip) {
- const { store } = prevStripe;
- let { snap } = prevStripe;
- snap = (0, common_1.snapshotify)(snap, slash);
- const vfsKey = makeKey(doCompress, snap, slash);
- vfs[vfsKey][store] = [track, meter.bytes];
- track += meter.bytes;
- }
- if (stripes.length) {
- // clone to prevent 'skip' propagate
- // to other targets, since same stripe
- // is used for several targets
- const stripe = Object.assign({}, stripes.shift());
- prevStripe = stripe;
- if (stripe.buffer) {
- if (stripe.store === common_1.STORE_BLOB) {
- const snap = (0, common_1.snapshotify)(stripe.snap, slash);
- return (0, fabricator_1.fabricateTwice)(bakes, target.fabricator, snap, stripe.buffer, (error, buffer) => {
- if (error) {
- log_1.log.warn(error.message);
- stripe.skip = true;
- return cb(null, (0, into_stream_1.default)(Buffer.alloc(0)));
- }
- cb(null, pipeMayCompressToNewMeter((0, into_stream_1.default)(buffer || Buffer.from(''))));
- });
- }
- return cb(null, pipeMayCompressToNewMeter((0, into_stream_1.default)(stripe.buffer)));
- }
- if (stripe.file) {
- if (stripe.file === target.output) {
- return cb((0, log_1.wasReported)('Trying to take executable into executable', stripe.file), null);
- }
- assert_1.default.strictEqual(stripe.store, common_1.STORE_CONTENT); // others must be buffers from walker
- if ((0, common_1.isDotNODE)(stripe.file) && nativeBuild) {
- try {
- const platformFile = nativePrebuildInstall(target, stripe.file);
- if (fs_extra_1.default.existsSync(platformFile)) {
- return cb(null, pipeMayCompressToNewMeter(fs_extra_1.default.createReadStream(platformFile)));
- }
- }
- catch (err) {
- log_1.log.debug(`prebuild-install failed[${stripe.file}]:`, err.message);
- }
- }
- return cb(null, pipeMayCompressToNewMeter(fs_extra_1.default.createReadStream(stripe.file)));
- }
- (0, assert_1.default)(false, 'producer: bad stripe');
- }
- else {
- payloadSize = track;
- preludePosition = payloadPosition + payloadSize;
- return cb(null, next((0, into_stream_1.default)(makePreludeBufferFromPrelude(replaceDollarWise(replaceDollarWise(replaceDollarWise(replaceDollarWise(replaceDollarWise(prelude, '%VIRTUAL_FILESYSTEM%', JSON.stringify(vfs)), '%DEFAULT_ENTRYPOINT%', JSON.stringify(entrypoint)), '%SYMLINKS%', JSON.stringify(snapshotSymLinks)), '%DICT%', JSON.stringify(fileDictionary)), '%DOCOMPRESS%', JSON.stringify(doCompress))))));
- }
- }
- else {
- return cb(null, null);
- }
- })
- .on('error', (error) => {
- reject(error);
- })
- .pipe(fs_extra_1.default.createWriteStream(target.output))
- .on('error', (error) => {
- reject(error);
- })
- .on('close', () => {
- preludeSize = meter.bytes;
- fs_extra_1.default.open(target.output, 'r+', (error, fd) => {
- if (error)
- return reject(error);
- injectPlaceholders(fd, placeholders, {
- BAKERY: makeBakeryValueFromBakes(bakes),
- PAYLOAD_POSITION: payloadPosition,
- PAYLOAD_SIZE: payloadSize,
- PRELUDE_POSITION: preludePosition,
- PRELUDE_SIZE: preludeSize,
- }, (error2) => {
- if (error2)
- return reject(error2);
- fs_extra_1.default.close(fd, (error3) => {
- if (error3)
- return reject(error3);
- resolve();
- });
- });
- });
- });
- });
-}
-exports.default = producer;
-//# sourceMappingURL=producer.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/refiner.js b/includes/search/node_modules/pkg/lib-es5/refiner.js
deleted file mode 100644
index cfe3479..0000000
--- a/includes/search/node_modules/pkg/lib-es5/refiner.js
+++ /dev/null
@@ -1,87 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const path_1 = __importDefault(require("path"));
-const chalk_1 = __importDefault(require("chalk"));
-const common_1 = require("./common");
-const log_1 = require("./log");
-const win32 = process.platform === 'win32';
-function hasParent(file, records) {
- const dirname = path_1.default.dirname(file);
- // root directory
- if (dirname === file) {
- return false;
- }
- return Boolean(records[dirname]);
-}
-function purgeTopDirectories(records) {
- while (true) {
- let found = false;
- for (const file in records) {
- if (records[file]) {
- const record = records[file];
- const links = record[common_1.STORE_LINKS];
- if (links && links.length === 1) {
- if (!hasParent(file, records)) {
- const file2 = path_1.default.join(file, links[0]);
- const record2 = records[file2];
- const links2 = record2[common_1.STORE_LINKS];
- if (links2 && links2.length === 1) {
- const file3 = path_1.default.join(file2, links2[0]);
- const record3 = records[file3];
- const links3 = record3[common_1.STORE_LINKS];
- if (links3) {
- delete records[file];
- log_1.log.debug(chalk_1.default.cyan('Deleting record file :', file));
- found = true;
- }
- }
- }
- }
- }
- }
- if (!found)
- break;
- }
-}
-function denominate(records, entrypoint, denominator, symLinks) {
- const newRecords = {};
- const makeSnap = (file) => {
- let snap = (0, common_1.substituteDenominator)(file, denominator);
- if (win32) {
- if (snap.slice(1) === ':')
- snap += '\\';
- }
- else if (snap === '') {
- snap = '/';
- }
- return snap;
- };
- for (const file in records) {
- if (records[file]) {
- const snap = makeSnap(file);
- newRecords[snap] = records[file];
- }
- }
- const tmpSymLinks = symLinks;
- symLinks = {};
- for (const [key, value] of Object.entries(tmpSymLinks)) {
- const key1 = makeSnap(key);
- const value1 = makeSnap(value);
- symLinks[key1] = value1;
- }
- return {
- records: newRecords,
- entrypoint: (0, common_1.substituteDenominator)(entrypoint, denominator),
- symLinks,
- };
-}
-function refiner(records, entrypoint, symLinks) {
- purgeTopDirectories(records);
- const denominator = (0, common_1.retrieveDenominator)(Object.keys(records));
- return denominate(records, entrypoint, denominator, symLinks);
-}
-exports.default = refiner;
-//# sourceMappingURL=refiner.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/types.js b/includes/search/node_modules/pkg/lib-es5/types.js
deleted file mode 100644
index 4acd3db..0000000
--- a/includes/search/node_modules/pkg/lib-es5/types.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.platform = void 0;
-exports.platform = {
- macos: 'darwin',
- win: 'win32',
- linux: 'linux',
-};
-//# sourceMappingURL=types.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/lib-es5/walker.js b/includes/search/node_modules/pkg/lib-es5/walker.js
deleted file mode 100644
index abeb60c..0000000
--- a/includes/search/node_modules/pkg/lib-es5/walker.js
+++ /dev/null
@@ -1,853 +0,0 @@
-"use strict";
-/* eslint-disable require-atomic-updates */
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- var desc = Object.getOwnPropertyDescriptor(m, k);
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
- desc = { enumerable: true, get: function() { return m[k]; } };
- }
- Object.defineProperty(o, k2, desc);
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const assert_1 = __importDefault(require("assert"));
-const fs_extra_1 = __importDefault(require("fs-extra"));
-const is_core_module_1 = __importDefault(require("is-core-module"));
-const globby_1 = __importDefault(require("globby"));
-const path_1 = __importDefault(require("path"));
-const chalk_1 = __importDefault(require("chalk"));
-const common_1 = require("./common");
-const follow_1 = require("./follow");
-const log_1 = require("./log");
-const detector = __importStar(require("./detector"));
-// Note: as a developer, you can set the PKG_STRICT_VER variable.
-// this will turn on some assertion in the walker code below
-// to assert that each file content/state that we appending
-// to the virtual file system applies to a real file,
-// not a symlink.
-// By default assertion are disabled as they can have a
-// performance hit.
-const strictVerify = Boolean(process.env.PKG_STRICT_VER);
-const win32 = process.platform === 'win32';
-function unlikelyJavascript(file) {
- return ['.css', '.html', '.json', '.vue'].includes(path_1.default.extname(file));
-}
-function isPublic(config) {
- if (config.private) {
- return false;
- }
- const { licenses } = config;
- let { license } = config;
- if (licenses) {
- license = licenses;
- }
- if (license && !Array.isArray(license)) {
- license = typeof license === 'string' ? license : license.type;
- }
- if (Array.isArray(license)) {
- license = license.map((c) => String(c.type || c)).join(',');
- }
- if (!license) {
- return false;
- }
- if (/^\(/.test(license)) {
- license = license.slice(1);
- }
- if (/\)$/.test(license)) {
- license = license.slice(0, -1);
- }
- license = license.toLowerCase();
- const allLicenses = Array.prototype.concat(license.split(' or '), license.split(' and '), license.split('/'), license.split(','));
- let result = false;
- const foss = [
- 'isc',
- 'mit',
- 'apache-2.0',
- 'apache 2.0',
- 'public domain',
- 'bsd',
- 'bsd-2-clause',
- 'bsd-3-clause',
- 'wtfpl',
- 'cc-by-3.0',
- 'x11',
- 'artistic-2.0',
- 'gplv3',
- 'mpl',
- 'mplv2.0',
- 'unlicense',
- 'apache license 2.0',
- 'zlib',
- 'mpl-2.0',
- 'nasa-1.3',
- 'apache license, version 2.0',
- 'lgpl-2.1+',
- 'cc0-1.0',
- ];
- for (const c of allLicenses) {
- result = foss.indexOf(c) >= 0;
- if (result) {
- break;
- }
- }
- return result;
-}
-function upon(p, base) {
- if (typeof p !== 'string') {
- throw (0, log_1.wasReported)('Config items must be strings. See examples');
- }
- let negate = false;
- if (p[0] === '!') {
- p = p.slice(1);
- negate = true;
- }
- p = path_1.default.join(base, p);
- if (win32) {
- p = p.replace(/\\/g, '/');
- }
- if (negate) {
- p = `!${p}`;
- }
- return p;
-}
-function collect(ps) {
- return globby_1.default.sync(ps, { dot: true });
-}
-function expandFiles(efs, base) {
- if (!Array.isArray(efs)) {
- efs = [efs];
- }
- efs = collect(efs.map((p) => upon(p, base)));
- return efs;
-}
-async function stepRead(record) {
- if (strictVerify) {
- (0, assert_1.default)(record.file === (0, common_1.toNormalizedRealPath)(record.file));
- }
- let body;
- try {
- body = await fs_extra_1.default.readFile(record.file);
- }
- catch (error) {
- const exception = error;
- log_1.log.error(`Cannot read file, ${exception.code}`, record.file);
- throw (0, log_1.wasReported)(exception.message);
- }
- record.body = body;
-}
-function stepStrip(record) {
- let body = (record.body || '').toString('utf8');
- if (/^\ufeff/.test(body)) {
- body = body.replace(/^\ufeff/, '');
- }
- if (/^#!/.test(body)) {
- body = body.replace(/^#![^\n]*\n/, '\n');
- }
- record.body = body;
-}
-function stepDetect(record, marker, derivatives) {
- let { body = '' } = record;
- if (body instanceof Buffer) {
- body = body.toString();
- }
- try {
- detector.detect(body, (node, trying) => {
- const { toplevel } = marker;
- let d = detector.visitorSuccessful(node);
- if (d) {
- if (d.mustExclude) {
- return false;
- }
- d.mayExclude = d.mayExclude || trying;
- derivatives.push(d);
- return false;
- }
- d = detector.visitorNonLiteral(node);
- if (d) {
- if (typeof d === 'object' && d.mustExclude) {
- return false;
- }
- const debug = !toplevel || d.mayExclude || trying;
- const level = debug ? 'debug' : 'warn';
- log_1.log[level](`Cannot resolve '${d.alias}'`, [
- record.file,
- 'Dynamic require may fail at run time, because the requested file',
- 'is unknown at compilation time and not included into executable.',
- "Use a string literal as an argument for 'require', or leave it",
- "as is and specify the resolved file name in 'scripts' option.",
- ]);
- return false;
- }
- d = detector.visitorMalformed(node);
- if (d) {
- // there is no 'mustExclude'
- const debug = !toplevel || trying;
- const level = debug ? 'debug' : 'warn'; // there is no 'mayExclude'
- log_1.log[level](`Malformed requirement for '${d.alias}'`, [record.file]);
- return false;
- }
- d = detector.visitorUseSCWD(node);
- if (d) {
- // there is no 'mustExclude'
- const level = 'debug'; // there is no 'mayExclude'
- log_1.log[level](`Path.resolve(${d.alias}) is ambiguous`, [
- record.file,
- "It resolves relatively to 'process.cwd' by default, however",
- "you may want to use 'path.dirname(require.main.filename)'",
- ]);
- return false;
- }
- return true; // can i go inside?
- });
- }
- catch (error) {
- log_1.log.error(error.message, record.file);
- throw (0, log_1.wasReported)(error.message);
- }
-}
-function findCommonJunctionPoint(file, realFile) {
- // find common denominator => where the link changes
- while ((0, common_1.toNormalizedRealPath)(path_1.default.dirname(file)) === path_1.default.dirname(realFile)) {
- file = path_1.default.dirname(file);
- realFile = path_1.default.dirname(realFile);
- }
- return { file, realFile };
-}
-class Walker {
- constructor() {
- this.tasks = [];
- this.records = {};
- this.dictionary = {};
- this.patches = {};
- this.params = {};
- this.symLinks = {};
- }
- appendRecord({ file, store }) {
- if (this.records[file]) {
- return;
- }
- if (store === common_1.STORE_BLOB ||
- store === common_1.STORE_CONTENT ||
- store === common_1.STORE_LINKS) {
- // make sure we have a real file
- if (strictVerify) {
- (0, assert_1.default)(file === (0, common_1.toNormalizedRealPath)(file));
- }
- }
- this.records[file] = { file };
- }
- append(task) {
- if (strictVerify) {
- (0, assert_1.default)(typeof task.file === 'string');
- (0, assert_1.default)(task.file === (0, common_1.normalizePath)(task.file));
- }
- this.appendRecord(task);
- this.tasks.push(task);
- const what = {
- [common_1.STORE_BLOB]: 'Bytecode of',
- [common_1.STORE_CONTENT]: 'Content of',
- [common_1.STORE_LINKS]: 'Directory',
- [common_1.STORE_STAT]: 'Stat info of',
- }[task.store];
- if (task.reason) {
- log_1.log.debug(`${what} ${task.file} is added to queue. It was required from ${task.reason}`);
- }
- else {
- log_1.log.debug(`${what} ${task.file} is added to queue.`);
- }
- }
- appendSymlink(file, realFile) {
- const a = findCommonJunctionPoint(file, realFile);
- file = a.file;
- realFile = a.realFile;
- if (!this.symLinks[file]) {
- const dn = path_1.default.dirname(file);
- this.appendFileInFolder({
- file: dn,
- store: common_1.STORE_LINKS,
- data: path_1.default.basename(file),
- });
- log_1.log.debug(`adding symlink ${file} => ${path_1.default.relative(file, realFile)}`);
- this.symLinks[file] = realFile;
- this.appendStat({
- file: realFile,
- store: common_1.STORE_STAT,
- });
- this.appendStat({
- file: dn,
- store: common_1.STORE_STAT,
- });
- this.appendStat({
- file,
- store: common_1.STORE_STAT,
- });
- }
- }
- appendStat(task) {
- (0, assert_1.default)(task.store === common_1.STORE_STAT);
- this.append(task);
- }
- appendFileInFolder(task) {
- if (strictVerify) {
- (0, assert_1.default)(task.store === common_1.STORE_LINKS);
- (0, assert_1.default)(typeof task.file === 'string');
- }
- const realFile = (0, common_1.toNormalizedRealPath)(task.file);
- if (realFile === task.file) {
- this.append(task);
- return;
- }
- this.append(Object.assign(Object.assign({}, task), { file: realFile }));
- this.appendStat({
- file: task.file,
- store: common_1.STORE_STAT,
- });
- this.appendStat({
- file: path_1.default.dirname(task.file),
- store: common_1.STORE_STAT,
- });
- }
- appendBlobOrContent(task) {
- if (strictVerify) {
- (0, assert_1.default)(task.file === (0, common_1.normalizePath)(task.file));
- }
- (0, assert_1.default)(task.store === common_1.STORE_BLOB || task.store === common_1.STORE_CONTENT);
- (0, assert_1.default)(typeof task.file === 'string');
- const realFile = (0, common_1.toNormalizedRealPath)(task.file);
- if (realFile === task.file) {
- this.append(task);
- return;
- }
- this.append(Object.assign(Object.assign({}, task), { file: realFile }));
- this.appendSymlink(task.file, realFile);
- this.appendStat({
- file: task.file,
- store: common_1.STORE_STAT,
- });
- }
- async appendFilesFromConfig(marker) {
- const { config, configPath, base } = marker;
- const pkgConfig = config === null || config === void 0 ? void 0 : config.pkg;
- if (pkgConfig) {
- let { scripts } = pkgConfig;
- if (scripts) {
- scripts = expandFiles(scripts, base);
- for (const script of scripts) {
- const stat = await fs_extra_1.default.stat(script);
- if (stat.isFile()) {
- if (!(0, common_1.isDotJS)(script) && !(0, common_1.isDotJSON)(script) && !(0, common_1.isDotNODE)(script)) {
- log_1.log.warn("Non-javascript file is specified in 'scripts'.", [
- 'Pkg will probably fail to parse. Specify *.js in glob.',
- script,
- ]);
- }
- this.appendBlobOrContent({
- file: (0, common_1.normalizePath)(script),
- marker,
- store: common_1.STORE_BLOB,
- reason: configPath,
- });
- }
- }
- }
- let { assets } = pkgConfig;
- if (assets) {
- assets = expandFiles(assets, base);
- for (const asset of assets) {
- log_1.log.debug(' Adding asset : .... ', asset);
- const stat = await fs_extra_1.default.stat(asset);
- if (stat.isFile()) {
- this.appendBlobOrContent({
- file: (0, common_1.normalizePath)(asset),
- marker,
- store: common_1.STORE_CONTENT,
- reason: configPath,
- });
- }
- }
- }
- }
- else if (config) {
- let { files } = config;
- if (files) {
- files = expandFiles(files, base);
- for (let file of files) {
- file = (0, common_1.normalizePath)(file);
- const stat = await fs_extra_1.default.stat(file);
- if (stat.isFile()) {
- // 1) remove sources of top-level(!) package 'files' i.e. ship as BLOB
- // 2) non-source (non-js) files of top-level package are shipped as CONTENT
- // 3) parsing some js 'files' of non-top-level packages fails, hence all CONTENT
- if (marker.toplevel) {
- this.appendBlobOrContent({
- file,
- marker,
- store: (0, common_1.isDotJS)(file) ? common_1.STORE_BLOB : common_1.STORE_CONTENT,
- reason: configPath,
- });
- }
- else {
- this.appendBlobOrContent({
- file,
- marker,
- store: common_1.STORE_CONTENT,
- reason: configPath,
- });
- }
- }
- }
- }
- }
- }
- async stepActivate(marker, derivatives) {
- if (!marker) {
- (0, assert_1.default)(false);
- }
- if (marker.activated) {
- return;
- }
- const { config, base } = marker;
- if (!config) {
- (0, assert_1.default)(false);
- }
- const { name } = config;
- if (name) {
- const d = this.dictionary[name];
- if (d) {
- if (typeof config.dependencies === 'object' &&
- typeof d.dependencies === 'object') {
- Object.assign(config.dependencies, d.dependencies);
- delete d.dependencies;
- }
- Object.assign(config, d);
- marker.hasDictionary = true;
- }
- }
- const { dependencies } = config;
- if (typeof dependencies === 'object') {
- for (const dependency in dependencies) {
- // it may be `undefined` - overridden
- // in dictionary (see publicsuffixlist)
- if (dependencies[dependency]) {
- derivatives.push({
- alias: dependency,
- aliasType: common_1.ALIAS_AS_RESOLVABLE,
- fromDependencies: true,
- });
- derivatives.push({
- alias: `${dependency}/package.json`,
- aliasType: common_1.ALIAS_AS_RESOLVABLE,
- fromDependencies: true,
- });
- }
- }
- }
- const pkgConfig = config.pkg;
- if (pkgConfig) {
- const { patches } = pkgConfig;
- if (patches) {
- for (const key in patches) {
- if (patches[key]) {
- const p = path_1.default.join(base, key);
- this.patches[p] = patches[key];
- }
- }
- }
- const { deployFiles } = pkgConfig;
- if (deployFiles) {
- marker.hasDeployFiles = true;
- for (const deployFile of deployFiles) {
- const type = deployFile[2] || 'file';
- log_1.log.warn(`Cannot include ${type} %1 into executable.`, [
- `The ${type} must be distributed with executable as %2.`,
- `%1: ${path_1.default.relative(process.cwd(), path_1.default.join(base, deployFile[0]))}`,
- `%2: path-to-executable/${deployFile[1]}`,
- ]);
- }
- }
- if (pkgConfig.log) {
- pkgConfig.log(log_1.log, { packagePath: base });
- }
- }
- await this.appendFilesFromConfig(marker);
- marker.public = isPublic(config);
- if (!marker.public && marker.toplevel) {
- marker.public = this.params.publicToplevel;
- }
- if (!marker.public && !marker.toplevel && this.params.publicPackages) {
- marker.public =
- this.params.publicPackages[0] === '*' ||
- (!!name && this.params.publicPackages.indexOf(name) !== -1);
- }
- marker.activated = true;
- // assert no further work with config
- delete marker.config;
- }
- hasPatch(record) {
- const patch = this.patches[record.file];
- if (!patch) {
- return;
- }
- return true;
- }
- stepPatch(record) {
- const patch = this.patches[record.file];
- if (!patch) {
- return;
- }
- let body = (record.body || '').toString('utf8');
- for (let i = 0; i < patch.length; i += 2) {
- if (typeof patch[i] === 'object') {
- if (patch[i].do === 'erase') {
- body = patch[i + 1];
- }
- else if (patch[i].do === 'prepend') {
- body = patch[i + 1] + body;
- }
- else if (patch[i].do === 'append') {
- body += patch[i + 1];
- }
- }
- else if (typeof patch[i] === 'string') {
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
- // function escapeRegExp
- const esc = patch[i].replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
- const regexp = new RegExp(esc, 'g');
- body = body.replace(regexp, patch[i + 1]);
- }
- }
- record.body = body;
- }
- async stepDerivatives_ALIAS_AS_RELATIVE(record, marker, derivative) {
- const file = (0, common_1.normalizePath)(path_1.default.join(path_1.default.dirname(record.file), derivative.alias));
- let stat;
- try {
- stat = await fs_extra_1.default.stat(file);
- }
- catch (error) {
- const { toplevel } = marker;
- const exception = error;
- const debug = !toplevel && exception.code === 'ENOENT';
- const level = debug ? 'debug' : 'warn';
- log_1.log[level](`Cannot stat, ${exception.code}`, [
- file,
- `The file was required from '${record.file}'`,
- ]);
- }
- if (stat && stat.isFile()) {
- this.appendBlobOrContent({
- file,
- marker,
- store: common_1.STORE_CONTENT,
- reason: record.file,
- });
- }
- }
- async stepDerivatives_ALIAS_AS_RESOLVABLE(record, marker, derivative) {
- var _a, _b;
- const newPackages = [];
- const catchReadFile = (file) => {
- (0, assert_1.default)((0, common_1.isPackageJson)(file), `walker: ${file} must be package.json`);
- newPackages.push({ packageJson: file });
- };
- const catchPackageFilter = (config, base) => {
- const newPackage = newPackages[newPackages.length - 1];
- newPackage.marker = { config, configPath: newPackage.packageJson, base };
- };
- let newFile = '';
- let failure;
- const basedir = path_1.default.dirname(record.file);
- try {
- newFile = await (0, follow_1.follow)(derivative.alias, {
- basedir,
- // default is extensions: ['.js'], but
- // it is not enough because 'typos.json'
- // is not taken in require('./typos')
- // in 'normalize-package-data/lib/fixer.js'
- extensions: ['.js', '.json', '.node'],
- catchReadFile,
- catchPackageFilter,
- });
- }
- catch (error) {
- failure = error;
- }
- if (failure) {
- const { toplevel } = marker;
- const mainNotFound = newPackages.length > 0 && !((_b = (_a = newPackages[0].marker) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.main);
- const debug = !toplevel ||
- derivative.mayExclude ||
- (mainNotFound && derivative.fromDependencies);
- const level = debug ? 'debug' : 'warn';
- if (mainNotFound) {
- const message = "Entry 'main' not found in %1";
- log_1.log[level](message, [
- `%1: ${newPackages[0].packageJson}`,
- `%2: ${record.file}`,
- ]);
- }
- else {
- log_1.log[level](`${chalk_1.default.yellow(failure.message)} in ${record.file}`);
- }
- return;
- }
- let newPackageForNewRecords;
- for (const newPackage of newPackages) {
- let newFile2;
- try {
- newFile2 = await (0, follow_1.follow)(derivative.alias, {
- basedir: path_1.default.dirname(record.file),
- extensions: ['.js', '.json', '.node'],
- ignoreFile: newPackage.packageJson,
- });
- if (strictVerify) {
- (0, assert_1.default)(newFile2 === (0, common_1.normalizePath)(newFile2));
- }
- }
- catch (_) {
- // not setting is enough
- }
- if (newFile2 !== newFile) {
- newPackageForNewRecords = newPackage;
- break;
- }
- }
- if (newPackageForNewRecords) {
- if (strictVerify) {
- (0, assert_1.default)(newPackageForNewRecords.packageJson ===
- (0, common_1.normalizePath)(newPackageForNewRecords.packageJson));
- }
- this.appendBlobOrContent({
- file: newPackageForNewRecords.packageJson,
- marker: newPackageForNewRecords.marker,
- store: common_1.STORE_CONTENT,
- reason: record.file,
- });
- }
- this.appendBlobOrContent({
- file: newFile,
- marker: newPackageForNewRecords ? newPackageForNewRecords.marker : marker,
- store: common_1.STORE_BLOB,
- reason: record.file,
- });
- }
- async stepDerivatives(record, marker, derivatives) {
- for (const derivative of derivatives) {
- // TODO: actually use the target node version
- if ((0, is_core_module_1.default)(derivative.alias, '99.0.0'))
- continue;
- switch (derivative.aliasType) {
- case common_1.ALIAS_AS_RELATIVE:
- await this.stepDerivatives_ALIAS_AS_RELATIVE(record, marker, derivative);
- break;
- case common_1.ALIAS_AS_RESOLVABLE:
- await this.stepDerivatives_ALIAS_AS_RESOLVABLE(record, marker, derivative);
- break;
- default:
- (0, assert_1.default)(false, `walker: unknown aliasType ${derivative.aliasType}`);
- }
- }
- }
- async step_STORE_ANY(record, marker, store) {
- if (strictVerify) {
- (0, assert_1.default)(record.file === (0, common_1.toNormalizedRealPath)(record.file));
- }
- if (record[store] !== undefined)
- return;
- record[store] = false; // default is discard
- this.appendStat({
- file: record.file,
- store: common_1.STORE_STAT,
- });
- const derivatives1 = [];
- await this.stepActivate(marker, derivatives1);
- await this.stepDerivatives(record, marker, derivatives1);
- if (store === common_1.STORE_BLOB) {
- if (unlikelyJavascript(record.file) || (0, common_1.isDotNODE)(record.file)) {
- this.appendBlobOrContent({
- file: record.file,
- marker,
- store: common_1.STORE_CONTENT,
- });
- return; // discard
- }
- if (marker.public || marker.hasDictionary) {
- this.appendBlobOrContent({
- file: record.file,
- marker,
- store: common_1.STORE_CONTENT,
- });
- }
- }
- if (store === common_1.STORE_BLOB || this.hasPatch(record)) {
- if (!record.body) {
- await stepRead(record);
- this.stepPatch(record);
- if (store === common_1.STORE_BLOB) {
- stepStrip(record);
- }
- }
- if (store === common_1.STORE_BLOB) {
- const derivatives2 = [];
- stepDetect(record, marker, derivatives2);
- await this.stepDerivatives(record, marker, derivatives2);
- }
- }
- record[store] = true;
- }
- step_STORE_LINKS(record, data) {
- if (strictVerify) {
- (0, assert_1.default)(record.file === (0, common_1.toNormalizedRealPath)(record.file), ' expecting real file !!!');
- }
- if (record[common_1.STORE_LINKS]) {
- record[common_1.STORE_LINKS].push(data);
- return;
- }
- record[common_1.STORE_LINKS] = [data];
- if (record[common_1.STORE_STAT]) {
- return;
- }
- this.appendStat({
- file: record.file,
- store: common_1.STORE_STAT,
- });
- }
- async step_STORE_STAT(record) {
- if (record[common_1.STORE_STAT])
- return;
- const realPath = (0, common_1.toNormalizedRealPath)(record.file);
- if (realPath !== record.file) {
- this.appendStat({
- file: realPath,
- store: common_1.STORE_STAT,
- });
- }
- try {
- const valueStat = await fs_extra_1.default.stat(record.file);
- const value = {
- mode: valueStat.mode,
- size: valueStat.isFile() ? valueStat.size : 0,
- isFileValue: valueStat.isFile(),
- isDirectoryValue: valueStat.isDirectory(),
- isSocketValue: valueStat.isSocket(),
- isSymbolicLinkValue: valueStat.isSymbolicLink(),
- };
- record[common_1.STORE_STAT] = value;
- }
- catch (error) {
- const exception = error;
- log_1.log.error(`Cannot stat, ${exception.code}`, record.file);
- throw (0, log_1.wasReported)(exception.message);
- }
- if (path_1.default.dirname(record.file) !== record.file) {
- // root directory
- this.appendFileInFolder({
- file: path_1.default.dirname(record.file),
- store: common_1.STORE_LINKS,
- data: path_1.default.basename(record.file),
- });
- }
- }
- async step(task) {
- const { file, store, data } = task;
- const record = this.records[file];
- switch (store) {
- case common_1.STORE_BLOB:
- case common_1.STORE_CONTENT:
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- await this.step_STORE_ANY(record, task.marker, store);
- break;
- case common_1.STORE_LINKS:
- this.step_STORE_LINKS(record, data);
- break;
- case common_1.STORE_STAT:
- await this.step_STORE_STAT(record);
- break;
- default:
- (0, assert_1.default)(false, `walker: unknown store ${store}`);
- }
- }
- async readDictionary(marker) {
- var _a, _b, _c;
- if (((_a = this.params.noDictionary) === null || _a === void 0 ? void 0 : _a[0]) === '*') {
- return;
- }
- const dd = path_1.default.join(__dirname, '../dictionary');
- const files = await fs_extra_1.default.readdir(dd);
- for (const file of files) {
- if (/\.js$/.test(file)) {
- const name = file.slice(0, -3);
- if ((_b = this.params.noDictionary) === null || _b === void 0 ? void 0 : _b.includes(file)) {
- continue;
- }
- // eslint-disable-next-line import/no-dynamic-require, global-require, @typescript-eslint/no-var-requires
- const config = require(path_1.default.join(dd, file));
- this.dictionary[name] = config;
- }
- }
- const pkgConfig = (_c = marker.config) === null || _c === void 0 ? void 0 : _c.pkg;
- if (pkgConfig) {
- const { dictionary } = pkgConfig;
- if (dictionary) {
- for (const name in dictionary) {
- if (dictionary[name]) {
- this.dictionary[name] = { pkg: dictionary[name] };
- }
- }
- }
- }
- }
- async start(marker, entrypoint, addition, params) {
- this.params = params;
- this.symLinks = {};
- await this.readDictionary(marker);
- entrypoint = (0, common_1.normalizePath)(entrypoint);
- this.appendBlobOrContent({
- file: entrypoint,
- marker,
- store: common_1.STORE_BLOB,
- });
- if (addition) {
- addition = (0, common_1.normalizePath)(addition);
- this.appendBlobOrContent({
- file: addition,
- marker,
- store: common_1.STORE_CONTENT,
- });
- }
- const { tasks } = this;
- for (let i = 0; i < tasks.length; i += 1) {
- // NO MULTIPLE WORKERS! THIS WILL LEAD TO NON-DETERMINISTIC
- // ORDER. one-by-one fifo is the only way to iterate tasks
- await this.step(tasks[i]);
- }
- return {
- symLinks: this.symLinks,
- records: this.records,
- entrypoint: (0, common_1.normalizePath)(entrypoint),
- };
- }
-}
-async function walker(...args) {
- const w = new Walker();
- return w.start(...args);
-}
-exports.default = walker;
-//# sourceMappingURL=walker.js.map \ No newline at end of file
diff --git a/includes/search/node_modules/pkg/package.json b/includes/search/node_modules/pkg/package.json
deleted file mode 100644
index 79e5ae6..0000000
--- a/includes/search/node_modules/pkg/package.json
+++ /dev/null
@@ -1,93 +0,0 @@
-{
- "name": "pkg",
- "version": "5.8.1",
- "description": "Package your Node.js project into an executable",
- "main": "lib-es5/index.js",
- "license": "MIT",
- "repository": "vercel/pkg",
- "types": "lib-es5/index.d.ts",
- "bin": {
- "pkg": "lib-es5/bin.js"
- },
- "files": [
- "lib-es5/*.js",
- "lib-es5/index.d.ts",
- "dictionary/*.js",
- "prelude/*.js"
- ],
- "prettier": {
- "singleQuote": true
- },
- "dependencies": {
- "@babel/generator": "7.18.2",
- "@babel/parser": "7.18.4",
- "@babel/types": "7.19.0",
- "chalk": "^4.1.2",
- "fs-extra": "^9.1.0",
- "globby": "^11.1.0",
- "into-stream": "^6.0.0",
- "is-core-module": "2.9.0",
- "minimist": "^1.2.6",
- "multistream": "^4.1.0",
- "pkg-fetch": "3.4.2",
- "prebuild-install": "7.1.1",
- "resolve": "^1.22.0",
- "stream-meter": "^1.0.4"
- },
- "devDependencies": {
- "@babel/core": "7.18.2",
- "@types/babel__generator": "7.6.4",
- "@types/escodegen": "0.0.7",
- "@types/fs-extra": "9.0.13",
- "@types/is-core-module": "2.2.0",
- "@types/minimist": "1.2.2",
- "@types/multistream": "4.1.0",
- "@types/node": "14.18.20",
- "@types/resolve": "1.20.2",
- "@types/stream-meter": "0.0.22",
- "@typescript-eslint/eslint-plugin": "4.33.0",
- "@typescript-eslint/parser": "4.33.0",
- "eslint": "7.32.0",
- "eslint-config-airbnb-base": "14.2.1",
- "eslint-config-airbnb-typescript": "12.3.1",
- "eslint-config-prettier": "8.5.0",
- "eslint-plugin-import": "2.26.0",
- "json-stable-stringify": "^1.0.1",
- "lint-staged": "^10.5.4",
- "mkdirp": "^1.0.4",
- "prettier": "2.6.2",
- "rimraf": "^3.0.2",
- "simple-git-hooks": ">=2.8.0",
- "typescript": "4.7.2"
- },
- "peerDependencies": {
- "node-notifier": ">=9.0.1"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- },
- "scripts": {
- "clean": "rimraf lib-es5",
- "build": "npm run clean && tsc",
- "start": "tsc --watch",
- "lint": "npm run lint:style && npm run lint:code",
- "lint:style": "prettier -c \"{lib,prelude,test}/**/*.{ts,js}\"",
- "lint:code": "eslint lib prelude test",
- "fix": "npm run lint:style -- -w && npm run lint:code -- --fix",
- "prepare": "npm run build",
- "prepublishOnly": "npm run lint",
- "test": "npm run build && npm run test:14 && npm run test:12 && npm run test:10 && npm run test:host",
- "test:10": "node test/test.js node10 no-npm",
- "test:12": "node test/test.js node12 no-npm",
- "test:14": "node test/test.js node14 no-npm",
- "test:host": "node test/test.js host only-npm"
- },
- "simple-git-hooks": {
- "pre-commit": "npx lint-staged"
- },
- "lint-staged": {
- "*.{js,css,md,json}": "prettier --write"
- }
-}
diff --git a/includes/search/node_modules/pkg/prelude/bootstrap.js b/includes/search/node_modules/pkg/prelude/bootstrap.js
deleted file mode 100644
index 034bd15..0000000
--- a/includes/search/node_modules/pkg/prelude/bootstrap.js
+++ /dev/null
@@ -1,2252 +0,0 @@
-/* eslint-disable import/no-unresolved */
-/* eslint-disable global-require */
-/* eslint-disable no-underscore-dangle */
-/* eslint-disable prefer-rest-params */
-/* eslint-disable prefer-spread */
-
-/* global EXECPATH_FD */
-/* global PAYLOAD_POSITION */
-/* global PAYLOAD_SIZE */
-/* global REQUIRE_COMMON */
-/* global VIRTUAL_FILESYSTEM */
-/* global DEFAULT_ENTRYPOINT */
-/* global DICT */
-/* global DOCOMPRESS */
-/* global SYMLINKS */
-
-'use strict';
-
-const childProcess = require('child_process');
-const { createHash } = require('crypto');
-const fs = require('fs');
-const { isRegExp } = require('util').types;
-const Module = require('module');
-const path = require('path');
-const { promisify, _extend } = require('util');
-const { Script } = require('vm');
-const { tmpdir } = require('os');
-const util = require('util');
-const {
- brotliDecompress,
- brotliDecompressSync,
- gunzip,
- gunzipSync,
-} = require('zlib');
-
-const common = {};
-REQUIRE_COMMON(common);
-
-const {
- STORE_BLOB,
- STORE_CONTENT,
- STORE_LINKS,
- STORE_STAT,
- isRootPath,
- normalizePath,
- insideSnapshot,
- stripSnapshot,
- removeUplevels,
-} = common;
-
-let FLAG_ENABLE_PROJECT = false;
-const NODE_VERSION_MAJOR = process.version.match(/^v(\d+)/)[1] | 0;
-const NODE_VERSION_MINOR = process.version.match(/^v\d+.(\d+)/)[1] | 0;
-
-// /////////////////////////////////////////////////////////////////
-// ENTRYPOINT //////////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-
-// set ENTRYPOINT and ARGV0 here because
-// they can be altered during process run
-const ARGV0 = process.argv[0];
-const EXECPATH = process.execPath;
-let ENTRYPOINT = process.argv[1];
-
-if (process.env.PKG_EXECPATH === 'PKG_INVOKE_NODEJS') {
- return { undoPatch: true };
-}
-
-if (NODE_VERSION_MAJOR < 12 || require('worker_threads').isMainThread) {
- if (process.argv[1] !== 'PKG_DUMMY_ENTRYPOINT') {
- // expand once patchless is introduced, that
- // will obviously lack any work in node_main.cc
- throw new Error('PKG_DUMMY_ENTRYPOINT EXPECTED');
- }
-}
-
-if (process.env.PKG_EXECPATH === EXECPATH) {
- process.argv.splice(1, 1);
-
- if (process.argv[1] && process.argv[1] !== '-') {
- // https://github.com/nodejs/node/blob/1a96d83a223ff9f05f7d942fb84440d323f7b596/lib/internal/bootstrap/node.js#L269
- process.argv[1] = path.resolve(process.argv[1]);
- }
-} else {
- process.argv[1] = DEFAULT_ENTRYPOINT;
-}
-
-[, ENTRYPOINT] = process.argv;
-delete process.env.PKG_EXECPATH;
-
-// /////////////////////////////////////////////////////////////////
-// EXECSTAT ////////////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-
-const EXECSTAT = fs.statSync(EXECPATH);
-
-EXECSTAT.atimeMs = EXECSTAT.atime.getTime();
-EXECSTAT.mtimeMs = EXECSTAT.mtime.getTime();
-EXECSTAT.ctimeMs = EXECSTAT.ctime.getTime();
-EXECSTAT.birthtimeMs = EXECSTAT.birthtime.getTime();
-
-// /////////////////////////////////////////////////////////////////
-// MOUNTPOINTS /////////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-
-const mountpoints = [];
-
-function insideMountpoint(f) {
- if (!insideSnapshot(f)) return null;
- const file = normalizePath(f);
- const found = mountpoints
- .map((mountpoint) => {
- const { interior, exterior } = mountpoint;
- if (isRegExp(interior) && interior.test(file))
- return file.replace(interior, exterior);
- if (interior === file) return exterior;
- const left = interior + path.sep;
- if (file.slice(0, left.length) !== left) return null;
- return exterior + file.slice(left.length - 1);
- })
- .filter((result) => result);
-
- if (found.length >= 2) throw new Error('UNEXPECTED-00');
- if (found.length === 0) return null;
- return found[0];
-}
-
-function readdirMountpoints(path_) {
- return mountpoints
- .filter(({ interior }) => {
- if (isRegExp(interior)) return interior.test(path_);
- return path.dirname(interior) === path_;
- })
- .map(({ interior, exterior }) => {
- if (isRegExp(interior)) return path_.replace(interior, exterior);
- return path.basename(interior);
- });
-}
-
-function translate(f) {
- const result = insideMountpoint(f);
- if (!result) throw new Error('UNEXPECTED-05');
- return result;
-}
-
-function cloneArgs(args_) {
- return Array.prototype.slice.call(args_);
-}
-
-function translateNth(args_, index, f) {
- const args = cloneArgs(args_);
- args[index] = translate(f);
- return args;
-}
-
-function createMountpoint(interior, exterior) {
- // TODO validate
- mountpoints.push({ interior, exterior });
-}
-
-const DEFAULT_COPY_CHUNK_SIZE = 10 * 1024 * 1024; // 10 MB
-function copyInChunks(
- source,
- target,
- chunkSize = DEFAULT_COPY_CHUNK_SIZE,
- fs_ = fs
-) {
- const sourceFile = fs_.openSync(source, 'r');
- const targetFile = fs_.openSync(target, 'w');
-
- let bytesRead = 1;
- while (bytesRead > 0) {
- const buffer = Buffer.alloc(chunkSize);
- bytesRead = fs_.readSync(sourceFile, buffer, 0, chunkSize);
- fs_.writeSync(targetFile, buffer, 0, bytesRead);
- }
-
- fs_.closeSync(sourceFile);
- fs_.closeSync(targetFile);
-}
-
-// TODO: replace this with fs.cpSync when we drop Node < 16
-function copyFolderRecursiveSync(source, target) {
- // Build target folder
- const targetFolder = path.join(target, path.basename(source));
-
- // Check if target folder needs to be created or integrated
- if (!fs.existsSync(targetFolder)) {
- fs.mkdirSync(targetFolder);
- }
-
- // Copy
- if (fs.lstatSync(source).isDirectory()) {
- const files = fs.readdirSync(source);
-
- for (const file of files) {
- // Build source name
- const curSource = path.join(source, file);
-
- // Call this function recursively as long as source is a directory
- if (fs.lstatSync(curSource).isDirectory()) {
- copyFolderRecursiveSync(curSource, targetFolder);
- } else {
- // Current source is a file, it must be available on the real filesystem
- // instead of the virtual snapshot file system to load it by process.dlopen.
- //
- // Before we try to copy we do some checks.
- // See https://github.com/vercel/pkg/issues/1589 for more details.
-
- // Build target file name
- const curTarget = path.join(targetFolder, path.basename(curSource));
-
- if (fs.existsSync(curTarget)) {
- // Target file already exists, read source and target file...
- const curSourceContent = fs.readFileSync(curSource, {
- encoding: 'binary',
- });
- const curTargetContent = fs.readFileSync(curTarget, {
- encoding: 'binary',
- });
-
- // ...and calculate checksum from source and target file
- const curSourceHash = createHash('sha256')
- .update(curSourceContent)
- .digest('hex');
- const curTargetHash = createHash('sha256')
- .update(curTargetContent)
- .digest('hex');
-
- // If checksums are equal then there is nothing to do here
- // ==> target already exists and is up-to-date
- if (curSourceHash === curTargetHash) {
- continue;
- }
- }
-
- // Target must be copied because it either does not exist or is outdated.
- // Due to the possibility that mutliple instances of this app start simultaneously,
- // the copy action might fail. Only one starting instance gets write access.
- //
- // We don't catch any error here because it does not make sense to go ahead and to
- // try to load the file while another instance has not yet finished the copy action.
- // If the app start fails then the user should try to start the app later again.
- // Unfortunately, we cannot implement delayed retries ourselves because process.dlopen
- // is a synchronous function, promises are not supported.
- fs.copyFileSync(curSource, curTarget);
- }
- }
- }
-}
-
-function createDirRecursively(dir) {
- if (!fs.existsSync(dir)) {
- createDirRecursively(path.join(dir, '..'));
- fs.mkdirSync(dir);
- }
-}
-
-/*
-
-// TODO move to some test
-
-createMountpoint("d:\\snapshot\\countly\\plugins-ext", "d:\\deploy\\countly\\v16.02\\plugins-ext");
-
-console.log(insideMountpoint("d:\\snapshot"));
-console.log(insideMountpoint("d:\\snapshot\\"));
-console.log(insideMountpoint("d:\\snapshot\\countly"));
-console.log(insideMountpoint("d:\\snapshot\\countly\\"));
-console.log(insideMountpoint("d:\\snapshot\\countly\\plugins-ext"));
-console.log(insideMountpoint("d:\\snapshot\\countly\\plugins-ext\\"));
-console.log(insideMountpoint("d:\\snapshot\\countly\\plugins-ext\\1234"));
-
-console.log(translate("d:\\snapshot\\countly\\plugins-ext"));
-console.log(translate("d:\\snapshot\\countly\\plugins-ext\\"));
-console.log(translate("d:\\snapshot\\countly\\plugins-ext\\1234"));
-
-console.log(translateNth([], 0, "d:\\snapshot\\countly\\plugins-ext"));
-console.log(translateNth([], 0, "d:\\snapshot\\countly\\plugins-ext\\"));
-console.log(translateNth([], 0, "d:\\snapshot\\countly\\plugins-ext\\1234"));
-
-console.log(translateNth(["", "r+"], 0, "d:\\snapshot\\countly\\plugins-ext"));
-console.log(translateNth(["", "rw"], 0, "d:\\snapshot\\countly\\plugins-ext\\"));
-console.log(translateNth(["", "a+"], 0, "d:\\snapshot\\countly\\plugins-ext\\1234"));
-*/
-const dictRev = {};
-const separator = '/';
-let maxKey = Object.values(DICT).length;
-
-function replace(k) {
- let v = DICT[k];
- // we have found a part of a missing file => let record for latter use
- if (v === undefined) {
- maxKey += 1;
- v = maxKey.toString(36);
- DICT[k] = v;
- dictRev[v] = k;
- }
- return v;
-}
-
-function findVirtualFileSystemKey(path_, slash) {
- const normalizedPath = normalizePath(path_);
- if (!DOCOMPRESS) {
- return normalizedPath;
- }
- const a = normalizedPath.split(slash).map(replace).join(separator);
- return a || normalizedPath;
-}
-
-Object.entries(DICT).forEach(([k, v]) => {
- dictRev[v] = k;
-});
-
-function toOriginal(fShort) {
- if (!DOCOMPRESS) {
- return fShort;
- }
- return fShort
- .split(separator)
- .map((x) => dictRev[x])
- .join(path.sep);
-}
-
-const symlinksEntries = Object.entries(SYMLINKS);
-
-// separator for substitution depends on platform;
-const sepsep = DOCOMPRESS ? separator : path.sep;
-
-function findVirtualFileSystemKeyAndFollowLinks(path_) {
- let vfsKey = findVirtualFileSystemKey(path_, path.sep);
- let needToSubstitute = true;
- while (needToSubstitute) {
- needToSubstitute = false;
- for (const [k, v] of symlinksEntries) {
- if (vfsKey.startsWith(`${k}${sepsep}`) || vfsKey === k) {
- vfsKey = vfsKey.replace(k, v);
- needToSubstitute = true;
- break;
- }
- }
- }
- return vfsKey;
-}
-
-function realpathFromSnapshot(path_) {
- const realPath = toOriginal(findVirtualFileSystemKeyAndFollowLinks(path_));
- return realPath;
-}
-
-function findVirtualFileSystemEntry(path_) {
- const vfsKey = findVirtualFileSystemKeyAndFollowLinks(path_);
- return VIRTUAL_FILESYSTEM[vfsKey];
-}
-
-// /////////////////////////////////////////////////////////////////
-// PROJECT /////////////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-
-const xpdn = path.dirname(EXECPATH);
-const maxUplevels = xpdn.split(path.sep).length;
-function projectToFilesystem(f) {
- const relatives = [];
- relatives.push(
- removeUplevels(path.relative(path.dirname(DEFAULT_ENTRYPOINT), f))
- );
-
- if (relatives[0].slice(0, 'node_modules'.length) === 'node_modules') {
- // one more relative without starting 'node_modules'
- relatives.push(relatives[0].slice('node_modules'.length + 1));
- }
-
- const uplevels = [];
- for (let i = 0, u = ''; i < maxUplevels; i += 1) {
- uplevels.push(u);
- u += '/..';
- }
-
- const results = [];
- uplevels.forEach((uplevel) => {
- relatives.forEach((relative) => {
- results.push(path.join(xpdn, uplevel, relative));
- });
- });
- return results;
-}
-
-function projectToNearby(f) {
- return path.join(xpdn, path.basename(f));
-}
-function findNativeAddonSyncFreeFromRequire(path_) {
- if (!insideSnapshot(path_)) throw new Error(`UNEXPECTED-10 ${path_}`);
- if (path_.slice(-5) !== '.node') return null; // leveldown.node.js
- // check nearby first to prevent .node tampering
- const projector = projectToNearby(path_);
- if (fs.existsSync(projector)) return projector;
- const projectors = projectToFilesystem(path_);
- for (let i = 0; i < projectors.length; i += 1) {
- if (fs.existsSync(projectors[i])) return projectors[i];
- }
- return null;
-}
-
-function findNativeAddonSyncUnderRequire(path_) {
- if (!FLAG_ENABLE_PROJECT) return null;
- return findNativeAddonSyncFreeFromRequire(path_);
-}
-
-// /////////////////////////////////////////////////////////////////
-// FLOW UTILS //////////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-
-function asap(cb) {
- process.nextTick(cb);
-}
-
-function dezalgo(cb) {
- if (!cb) return cb;
-
- let sync = true;
- asap(() => {
- sync = false;
- });
-
- return function zalgoSafe() {
- const args = arguments;
- if (sync) {
- asap(() => {
- cb.apply(undefined, args);
- });
- } else {
- cb.apply(undefined, args);
- }
- };
-}
-
-function rethrow(error, arg) {
- if (error) throw error;
- return arg;
-}
-
-// /////////////////////////////////////////////////////////////////
-// PAYLOAD /////////////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-if (typeof PAYLOAD_POSITION !== 'number' || typeof PAYLOAD_SIZE !== 'number') {
- throw new Error('MUST HAVE PAYLOAD');
-}
-
-function readPayload(buffer, offset, length, position, callback) {
- fs.read(
- EXECPATH_FD,
- buffer,
- offset,
- length,
- PAYLOAD_POSITION + position,
- callback
- );
-}
-
-function readPayloadSync(buffer, offset, length, position) {
- return fs.readSync(
- EXECPATH_FD,
- buffer,
- offset,
- length,
- PAYLOAD_POSITION + position
- );
-}
-
-function payloadCopyUni(
- source,
- target,
- targetStart,
- sourceStart,
- sourceEnd,
- cb
-) {
- const cb2 = cb || rethrow;
- if (sourceStart >= source[1]) return cb2(null, 0);
- if (sourceEnd >= source[1]) [, sourceEnd] = source;
- const payloadPos = source[0] + sourceStart;
- const targetPos = targetStart;
- const targetEnd = targetStart + sourceEnd - sourceStart;
- if (cb) {
- readPayload(target, targetPos, targetEnd - targetPos, payloadPos, cb);
- } else {
- return readPayloadSync(
- target,
- targetPos,
- targetEnd - targetPos,
- payloadPos
- );
- }
-}
-
-function payloadCopyMany(source, target, targetStart, sourceStart, cb) {
- const payloadPos = source[0] + sourceStart;
- let targetPos = targetStart;
- const targetEnd = targetStart + source[1] - sourceStart;
- readPayload(
- target,
- targetPos,
- targetEnd - targetPos,
- payloadPos,
- (error, chunkSize) => {
- if (error) return cb(error);
- sourceStart += chunkSize;
- targetPos += chunkSize;
- if (chunkSize !== 0 && targetPos < targetEnd) {
- payloadCopyMany(source, target, targetPos, sourceStart, cb);
- } else {
- return cb();
- }
- }
- );
-}
-
-function payloadCopyManySync(source, target, targetStart, sourceStart) {
- let payloadPos = source[0] + sourceStart;
- let targetPos = targetStart;
- const targetEnd = targetStart + source[1] - sourceStart;
- while (true) {
- const chunkSize = readPayloadSync(
- target,
- targetPos,
- targetEnd - targetPos,
- payloadPos
- );
- payloadPos += chunkSize;
- targetPos += chunkSize;
- if (!(chunkSize !== 0 && targetPos < targetEnd)) break;
- }
-}
-
-const GZIP = 1;
-const BROTLI = 2;
-function payloadFile(pointer, cb) {
- const target = Buffer.alloc(pointer[1]);
- payloadCopyMany(pointer, target, 0, 0, (error) => {
- if (error) return cb(error);
- if (DOCOMPRESS === GZIP) {
- gunzip(target, (error2, target2) => {
- if (error2) return cb(error2);
- cb(null, target2);
- });
- } else if (DOCOMPRESS === BROTLI) {
- brotliDecompress(target, (error2, target2) => {
- if (error2) return cb(error2);
- cb(null, target2);
- });
- } else {
- return cb(null, target);
- }
- });
-}
-
-function payloadFileSync(pointer) {
- const target = Buffer.alloc(pointer[1]);
- payloadCopyManySync(pointer, target, 0, 0);
- if (DOCOMPRESS === GZIP) {
- const target1 = gunzipSync(target);
- return target1;
- }
- if (DOCOMPRESS === BROTLI) {
- const target1 = brotliDecompressSync(target);
- return target1;
- }
- return target;
-}
-
-// /////////////////////////////////////////////////////////////////
-// SETUP PROCESS ///////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-
-(() => {
- process.pkg = {};
- process.versions.pkg = '%VERSION%';
- process.pkg.mount = createMountpoint;
- process.pkg.entrypoint = ENTRYPOINT;
- process.pkg.defaultEntrypoint = DEFAULT_ENTRYPOINT;
-})();
-
-// /////////////////////////////////////////////////////////////////
-// PATH.RESOLVE REPLACEMENT ////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-
-(() => {
- process.pkg.path = {};
- process.pkg.path.resolve = function resolve() {
- const args = cloneArgs(arguments);
- args.unshift(path.dirname(ENTRYPOINT));
- return path.resolve.apply(path, args);
- };
-})();
-
-// /////////////////////////////////////////////////////////////////
-// PATCH FS ////////////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-
-(() => {
- const ancestor = {
- openSync: fs.openSync,
- open: fs.open,
- readSync: fs.readSync,
- read: fs.read,
- writeSync: fs.writeSync,
- write: fs.write,
- closeSync: fs.closeSync,
- close: fs.close,
- readFileSync: fs.readFileSync,
- readFile: fs.readFile,
- // writeFileSync: fs.writeFileSync, // based on openSync/writeSync/closeSync
- // writeFile: fs.writeFile, // based on open/write/close
- readdirSync: fs.readdirSync,
- readdir: fs.readdir,
- realpathSync: fs.realpathSync,
- realpath: fs.realpath,
- statSync: fs.statSync,
- stat: fs.stat,
- lstatSync: fs.lstatSync,
- lstat: fs.lstat,
- fstatSync: fs.fstatSync,
- fstat: fs.fstat,
- existsSync: fs.existsSync,
- exists: fs.exists,
- accessSync: fs.accessSync,
- access: fs.access,
- mkdirSync: fs.mkdirSync,
- mkdir: fs.mkdir,
- createReadStream: fs.createReadStream,
- copyFileSync: fs.copyFileSync,
- copyFile: fs.copyFile,
- };
-
- ancestor.realpathSync.native = fs.realpathSync;
- ancestor.realpath.native = fs.realpath;
-
- const windows = process.platform === 'win32';
-
- const docks = {};
- const ENOTDIR = windows ? 4052 : 20;
- const ENOENT = windows ? 4058 : 2;
- const EISDIR = windows ? 4068 : 21;
-
- function assertEncoding(encoding) {
- if (encoding && !Buffer.isEncoding(encoding)) {
- throw new Error(`Unknown encoding: ${encoding}`);
- }
- }
-
- function maybeCallback(args) {
- const cb = args[args.length - 1];
- return typeof cb === 'function' ? cb : rethrow;
- }
-
- function error_ENOENT(fileOrDirectory, path_) {
- const error = new Error(
- `${fileOrDirectory} '${stripSnapshot(path_)}' ` +
- `was not included into executable at compilation stage. ` +
- `Please recompile adding it as asset or script.`
- );
- error.errno = -ENOENT;
- error.code = 'ENOENT';
- error.path = path_;
- error.pkg = true;
- return error;
- }
-
- function error_EISDIR(path_) {
- const error = new Error('EISDIR: illegal operation on a directory, read');
- error.errno = -EISDIR;
- error.code = 'EISDIR';
- error.path = path_;
- error.pkg = true;
- return error;
- }
-
- function error_ENOTDIR(path_) {
- const error = new Error(`ENOTDIR: not a directory, scandir '${path_}'`);
- error.errno = -ENOTDIR;
- error.code = 'ENOTDIR';
- error.path = path_;
- error.pkg = true;
- return error;
- }
-
- // ///////////////////////////////////////////////////////////////
- // open //////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function removeTemporaryFolderAndContent(folder) {
- if (!folder) return;
- if (NODE_VERSION_MAJOR <= 14) {
- if (NODE_VERSION_MAJOR <= 10) {
- // folder must be empty
- for (const f of fs.readdirSync(folder)) {
- fs.unlinkSync(path.join(folder, f));
- }
- fs.rmdirSync(folder);
- } else {
- fs.rmdirSync(folder, { recursive: true });
- }
- } else {
- fs.rmSync(folder, { recursive: true });
- }
- }
- const temporaryFiles = {};
- const os = require('os');
- let tmpFolder = '';
- process.on('beforeExit', () => {
- removeTemporaryFolderAndContent(tmpFolder);
- });
- function deflateSync(snapshotFilename) {
- if (!tmpFolder) {
- tmpFolder = fs.mkdtempSync(path.join(os.tmpdir(), 'pkg-'));
- }
- const content = fs.readFileSync(snapshotFilename, { encoding: 'binary' });
- // content is already unzipped !
-
- const hash = createHash('sha256').update(content).digest('hex');
- const fName = path.join(tmpFolder, hash);
- fs.writeFileSync(fName, content, 'binary');
- return fName;
- }
-
- const uncompressExternally = function uncompressExternally(dock) {
- if (!dock.externalFilename) {
- const snapshotFilename = dock.path;
- let t = temporaryFiles[snapshotFilename];
- if (!t) {
- const tmpFile = deflateSync(snapshotFilename);
- t = { tmpFile };
- temporaryFiles[snapshotFilename] = t;
- }
- dock.externalFilename = t.tmpFile;
- }
- return dock.externalFilename;
- };
-
- function uncompressExternallyPath(path_) {
- const entity = findVirtualFileSystemEntry(path_);
- const dock = { path: path_, entity, position: 0 };
- return uncompressExternally(dock);
- }
-
- function uncompressExternallyAndOpen(dock) {
- const externalFile = uncompressExternally(dock);
- const fd = fs.openSync(externalFile, 'r');
- return fd;
- }
-
- function openFromSnapshot(path_, uncompress, cb) {
- const cb2 = cb || rethrow;
- const entity = findVirtualFileSystemEntry(path_);
- if (!entity) return cb2(error_ENOENT('File or directory', path_));
- const dock = { path: path_, entity, position: 0 };
-
- const nullDevice = windows ? '\\\\.\\NUL' : '/dev/null';
- if (cb) {
- ancestor.open.call(fs, nullDevice, 'r', (error, fd) => {
- if (error) return cb(error);
- if (DOCOMPRESS) {
- dock._externalFile = uncompressExternallyAndOpen(dock);
- }
- docks[fd] = dock;
- cb(null, fd);
- });
- } else {
- const fd = ancestor.openSync.call(fs, nullDevice, 'r');
- if (DOCOMPRESS) {
- dock._externalFile = uncompressExternallyAndOpen(dock);
- }
- docks[fd] = dock;
- return fd;
- }
- }
-
- fs.createReadStream = function createReadStream(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.createReadStream.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.createReadStream.apply(
- fs,
- translateNth(arguments, 0, path_)
- );
- }
- const stream = ancestor.createReadStream.apply(fs, arguments);
- return stream;
- };
- fs.openSync = function openSync(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.openSync.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.openSync.apply(fs, translateNth(arguments, 0, path_));
- }
- return openFromSnapshot(path_, DOCOMPRESS);
- };
-
- fs.open = function open(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.open.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.open.apply(fs, translateNth(arguments, 0, path_));
- }
- const callback = dezalgo(maybeCallback(arguments));
- openFromSnapshot(path_, DOCOMPRESS, callback);
- };
-
- // ///////////////////////////////////////////////////////////////
- // read //////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function readFromSnapshotSub(
- entityContent,
- dock,
- buffer,
- offset,
- length,
- position,
- cb
- ) {
- if (DOCOMPRESS) {
- // note: source contains info about a compressed file and source[1] does not reflect
- // the actual size of the file.
- // so random access reading of a compressed virtual file, requires read from
- // an externally decompressed file
- if (!dock._externalFile) {
- dock._externalFile = uncompressExternallyAndOpen(dock);
- } else {
- position = position === undefined ? 0 : position;
- }
- return fs.read(dock._externalFile, buffer, offset, length, position, cb);
- }
- let p;
- if (position !== null && position !== undefined) {
- p = position;
- } else {
- p = dock.position;
- }
- if (cb) {
- payloadCopyUni(
- entityContent,
- buffer,
- offset,
- p,
- p + length,
- (error, bytesRead, buffer2) => {
- if (error) return cb(error);
- dock.position = p + bytesRead;
- cb(null, bytesRead, buffer2);
- }
- );
- } else {
- const bytesRead = payloadCopyUni(
- entityContent,
- buffer,
- offset,
- p,
- p + length
- );
- dock.position = p + bytesRead;
- return bytesRead;
- }
- }
-
- function readFromSnapshot(fd, buffer, offset, length, position, cb) {
- const dock = docks[fd];
-
- if (dock && dock._externalFile) {
- if (cb) {
- return ancestor.read(
- dock._externalFile,
- buffer,
- offset,
- length,
- position,
- cb
- );
- }
- return ancestor.readSync(
- dock._externalFile,
- buffer,
- offset,
- length,
- position
- );
- }
- const cb2 = cb || rethrow;
- if (offset < 0 && NODE_VERSION_MAJOR >= 14)
- return cb2(
- new Error(
- `The value of "offset" is out of range. It must be >= 0. Received ${offset}`
- )
- );
- if (offset < 0 && NODE_VERSION_MAJOR >= 10)
- return cb2(
- new Error(
- `The value of "offset" is out of range. It must be >= 0 && <= ${buffer.length.toString()}. Received ${offset}`
- )
- );
- if (offset < 0) return cb2(new Error('Offset is out of bounds'));
- if (offset >= buffer.length) return cb2(null, 0);
- if (offset + length > buffer.length && NODE_VERSION_MAJOR >= 14)
- return cb2(
- new Error(
- `The value of "length" is out of range. It must be <= ${(
- buffer.length - offset
- ).toString()}. Received ${length.toString()}`
- )
- );
- if (offset + length > buffer.length && NODE_VERSION_MAJOR >= 10)
- return cb2(
- new Error(
- `The value of "length" is out of range. It must be >= 0 && <= ${(
- buffer.length - offset
- ).toString()}. Received ${length.toString()}`
- )
- );
- if (offset + length > buffer.length)
- return cb2(new Error('Length extends beyond buffer'));
-
- const { entity } = dock;
- const entityLinks = entity[STORE_LINKS];
- if (entityLinks) return cb2(error_EISDIR(dock.path));
- const entityContent = entity[STORE_CONTENT];
- if (entityContent)
- return readFromSnapshotSub(
- entityContent,
- dock,
- buffer,
- offset,
- length,
- position,
- cb
- );
- return cb2(new Error('UNEXPECTED-15'));
- }
-
- fs.readSync = function readSync(fd, buffer, offset, length, position) {
- if (!docks[fd]) {
- return ancestor.readSync.apply(fs, arguments);
- }
- return readFromSnapshot(fd, buffer, offset, length, position);
- };
-
- fs.read = function read(fd, buffer, offset, length, position) {
- if (!docks[fd]) {
- return ancestor.read.apply(fs, arguments);
- }
-
- const callback = dezalgo(maybeCallback(arguments));
- readFromSnapshot(fd, buffer, offset, length, position, callback);
- };
-
- // ///////////////////////////////////////////////////////////////
- // write /////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function writeToSnapshot(cb) {
- const cb2 = cb || rethrow;
- return cb2(new Error('Cannot write to packaged file'));
- }
-
- fs.writeSync = function writeSync(fd) {
- if (!docks[fd]) {
- return ancestor.writeSync.apply(fs, arguments);
- }
-
- return writeToSnapshot();
- };
-
- fs.write = function write(fd) {
- if (!docks[fd]) {
- return ancestor.write.apply(fs, arguments);
- }
- const callback = dezalgo(maybeCallback(arguments));
- return writeToSnapshot(callback);
- };
-
- // ///////////////////////////////////////////////////////////////
- // close /////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- const closeFromSnapshot = (fd, cb) => {
- const dock = docks[fd];
- if (dock._externalFile) {
- ancestor.closeSync(dock._externalFile);
- dock._externalFile = undefined;
- }
- delete docks[fd];
- if (cb) {
- ancestor.close.call(fs, fd, cb);
- } else {
- return ancestor.closeSync.call(fs, fd);
- }
- };
-
- fs.closeSync = function closeSync(fd) {
- if (!docks[fd]) {
- return ancestor.closeSync.apply(fs, arguments);
- }
- return closeFromSnapshot(fd);
- };
-
- fs.close = function close(fd) {
- if (!docks[fd]) {
- return ancestor.close.apply(fs, arguments);
- }
-
- const callback = dezalgo(maybeCallback(arguments));
- closeFromSnapshot(fd, callback);
- };
-
- // ///////////////////////////////////////////////////////////////
- // readFile //////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function readFileOptions(options, hasCallback) {
- if (!options || (hasCallback && typeof options === 'function')) {
- return { encoding: null, flag: 'r' };
- }
- if (typeof options === 'string') {
- return { encoding: options, flag: 'r' };
- }
- if (typeof options === 'object') {
- return options;
- }
- return null;
- }
-
- function readFileFromSnapshotSub(entityContent, cb) {
- if (cb) {
- payloadFile(entityContent, cb);
- } else {
- return payloadFileSync(entityContent);
- }
- }
-
- function readFileFromSnapshot(path_, cb) {
- const cb2 = cb || rethrow;
-
- const entity = findVirtualFileSystemEntry(path_);
- if (!entity) return cb2(error_ENOENT('File', path_));
-
- const entityLinks = entity[STORE_LINKS];
- if (entityLinks) return cb2(error_EISDIR(path_));
-
- const entityContent = entity[STORE_CONTENT];
- if (entityContent) return readFileFromSnapshotSub(entityContent, cb);
-
- const entityBlob = entity[STORE_BLOB];
- if (entityBlob) {
- return cb2(null, Buffer.from('source-code-not-available'));
- }
- // why return empty buffer?
- // otherwise this error will arise:
- // Error: UNEXPECTED-20
- // at readFileFromSnapshot (e:0)
- // at Object.fs.readFileSync (e:0)
- // at Object.Module._extensions..js (module.js:421:20)
- // at Module.load (module.js:357:32)
- // at Function.Module._load (module.js:314:12)
- // at Function.Module.runMain (e:0)
- // at startup (node.js:140:18)
- // at node.js:1001:3
-
- return cb2(new Error('UNEXPECTED-20'));
- }
-
- fs.readFileSync = function readFileSync(path_, options_) {
- if (path_ === 'dirty-hack-for-testing-purposes') {
- return path_;
- }
-
- if (!insideSnapshot(path_)) {
- return ancestor.readFileSync.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.readFileSync.apply(fs, translateNth(arguments, 0, path_));
- }
-
- const options = readFileOptions(options_, false);
-
- if (!options) {
- return ancestor.readFileSync.apply(fs, arguments);
- }
-
- const { encoding } = options;
- assertEncoding(encoding);
-
- let buffer = readFileFromSnapshot(path_);
- if (encoding) buffer = buffer.toString(encoding);
- return buffer;
- };
-
- fs.readFile = function readFile(path_, options_) {
- if (!insideSnapshot(path_)) {
- return ancestor.readFile.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.readFile.apply(fs, translateNth(arguments, 0, path_));
- }
-
- const options = readFileOptions(options_, true);
-
- if (!options) {
- return ancestor.readFile.apply(fs, arguments);
- }
-
- const { encoding } = options;
- assertEncoding(encoding);
-
- const callback = dezalgo(maybeCallback(arguments));
- readFileFromSnapshot(path_, (error, buffer) => {
- if (error) return callback(error);
- if (encoding) buffer = buffer.toString(encoding);
- callback(null, buffer);
- });
- };
-
- fs.copyFile = function copyFile(src, dest, flags, callback) {
- if (!insideSnapshot(path.resolve(src))) {
- ancestor.copyFile(src, dest, flags, callback);
- return;
- }
- if (typeof flags === 'function') {
- callback = flags;
- flags = 0;
- } else if (typeof callback !== 'function') {
- throw new TypeError('Callback must be a function');
- }
-
- function _streamCopy() {
- fs.createReadStream(src)
- .on('error', callback)
- .pipe(fs.createWriteStream(dest))
- .on('error', callback)
- .on('finish', callback);
- }
-
- if (flags & fs.constants.COPYFILE_EXCL) {
- fs.stat(dest, (statError) => {
- if (!statError) {
- callback(
- Object.assign(new Error('File already exists'), {
- code: 'EEXIST',
- })
- );
- return;
- }
- if (statError.code !== 'ENOENT') {
- callback(statError);
- return;
- }
- _streamCopy();
- });
- } else {
- _streamCopy();
- }
- };
-
- fs.copyFileSync = function copyFileSync(src, dest, flags) {
- if (!insideSnapshot(path.resolve(src))) {
- ancestor.copyFileSync(src, dest, flags);
- return;
- }
-
- if (flags & fs.constants.COPYFILE_EXCL) {
- try {
- fs.statSync(dest);
- } catch (statError) {
- if (statError.code !== 'ENOENT') throw statError;
- copyInChunks(src, dest, DEFAULT_COPY_CHUNK_SIZE, fs);
- return;
- }
-
- throw Object.assign(new Error('File already exists'), { code: 'EEXIST' });
- }
- copyInChunks(src, dest, DEFAULT_COPY_CHUNK_SIZE, fs);
- };
-
- // ///////////////////////////////////////////////////////////////
- // writeFile /////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- // writeFileSync based on openSync/writeSync/closeSync
- // writeFile based on open/write/close
-
- // ///////////////////////////////////////////////////////////////
- // readdir ///////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function readdirOptions(options, hasCallback) {
- if (!options || (hasCallback && typeof options === 'function')) {
- return { encoding: null };
- }
- if (typeof options === 'string') {
- return { encoding: options };
- }
- if (typeof options === 'object') {
- return options;
- }
- return null;
- }
-
- function Dirent(name, type) {
- this.name = name;
- this.type = type;
- }
-
- Dirent.prototype.isDirectory = function isDirectory() {
- return this.type === 2;
- };
-
- Dirent.prototype.isFile = function isFile() {
- return this.type === 1;
- };
-
- const noop = () => false;
- Dirent.prototype.isBlockDevice = noop;
- Dirent.prototype.isCharacterDevice = noop;
- Dirent.prototype.isSocket = noop;
- Dirent.prototype.isFIFO = noop;
-
- Dirent.prototype.isSymbolicLink = (fileOrFolderName) =>
- Boolean(SYMLINKS[fileOrFolderName]);
-
- function getFileTypes(path_, entries) {
- return entries.map((entry) => {
- const ff = path.join(path_, entry);
- const entity = findVirtualFileSystemEntry(ff);
- if (!entity) return undefined;
- if (entity[STORE_BLOB] || entity[STORE_CONTENT])
- return new Dirent(entry, 1);
- if (entity[STORE_LINKS]) return new Dirent(entry, 2);
- throw new Error('UNEXPECTED-24');
- });
- }
-
- function readdirRoot(path_, options, cb) {
- function addSnapshot(entries) {
- if (options && options.withFileTypes) {
- entries.push(new Dirent('snapshot', 2));
- } else {
- entries.push('snapshot');
- }
- }
-
- if (cb) {
- ancestor.readdir(path_, options, (error, entries) => {
- if (error) return cb(error);
- addSnapshot(entries);
- cb(null, entries);
- });
- } else {
- const entries = ancestor.readdirSync(path_, options);
- addSnapshot(entries);
- return entries;
- }
- }
-
- function readdirFromSnapshotSub(entityLinks, path_, cb) {
- if (cb) {
- payloadFile(entityLinks, (error, buffer) => {
- if (error) return cb(error);
- cb(null, JSON.parse(buffer).concat(readdirMountpoints(path_)));
- });
- } else {
- const buffer = payloadFileSync(entityLinks);
- return JSON.parse(buffer).concat(readdirMountpoints(path_));
- }
- }
-
- function readdirFromSnapshot(path_, cb) {
- const cb2 = cb || rethrow;
- const entity = findVirtualFileSystemEntry(path_);
-
- if (!entity) {
- return cb2(error_ENOENT('Directory', path_));
- }
-
- const entityBlob = entity[STORE_BLOB];
- if (entityBlob) {
- return cb2(error_ENOTDIR(path_));
- }
-
- const entityContent = entity[STORE_CONTENT];
- if (entityContent) {
- return cb2(error_ENOTDIR(path_));
- }
-
- const entityLinks = entity[STORE_LINKS];
- if (entityLinks) {
- return readdirFromSnapshotSub(entityLinks, path_, cb);
- }
- return cb2(new Error('UNEXPECTED-25'));
- }
-
- fs.readdirSync = function readdirSync(path_, options_) {
- const isRoot = isRootPath(path_);
-
- if (!insideSnapshot(path_) && !isRoot) {
- return ancestor.readdirSync.apply(fs, arguments);
- }
-
- if (insideMountpoint(path_)) {
- return ancestor.readdirSync.apply(fs, translateNth(arguments, 0, path_));
- }
-
- const options = readdirOptions(options_, false);
-
- if (isRoot) {
- return readdirRoot(path_, options);
- }
-
- if (!options) {
- return ancestor.readdirSync.apply(fs, arguments);
- }
-
- let entries = readdirFromSnapshot(path_);
- if (options.withFileTypes) entries = getFileTypes(path_, entries);
- return entries;
- };
-
- fs.readdir = function readdir(path_, options_) {
- const isRoot = isRootPath(path_);
-
- if (!insideSnapshot(path_) && !isRoot) {
- return ancestor.readdir.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.readdir.apply(fs, translateNth(arguments, 0, path_));
- }
-
- const options = readdirOptions(options_, true);
- const callback = dezalgo(maybeCallback(arguments));
-
- if (isRoot) {
- return readdirRoot(path_, options, callback);
- }
-
- if (!options) {
- return ancestor.readdir.apply(fs, arguments);
- }
-
- readdirFromSnapshot(path_, (error, entries) => {
- if (error) return callback(error);
- if (options.withFileTypes) entries = getFileTypes(path_, entries);
- callback(null, entries);
- });
- };
-
- // ///////////////////////////////////////////////////////////////
- // realpath //////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- fs.realpathSync = function realpathSync(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.realpathSync.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- // app should not know real file name
- return path_;
- }
-
- const realPath = realpathFromSnapshot(path_);
- return realPath;
- };
-
- fs.realpath = function realpath(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.realpath.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- // app should not know real file name
- return path_;
- }
-
- const callback = dezalgo(maybeCallback(arguments));
- callback(null, realpathFromSnapshot(path_));
- };
-
- fs.realpathSync.native = fs.realpathSync;
- fs.realpath.native = fs.realpath;
-
- // ///////////////////////////////////////////////////////////////
- // stat //////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function restore(s) {
- s.blksize = 4096;
- s.blocks = 0;
- s.dev = 0;
- s.gid = 20;
- s.ino = 0;
- s.nlink = 0;
- s.rdev = 0;
- s.uid = 500;
-
- s.atime = new Date(EXECSTAT.atime);
- s.mtime = new Date(EXECSTAT.mtime);
- s.ctime = new Date(EXECSTAT.ctime);
- s.birthtime = new Date(EXECSTAT.birthtime);
-
- s.atimeMs = EXECSTAT.atimeMs;
- s.mtimeMs = EXECSTAT.mtimeMs;
- s.ctimeMs = EXECSTAT.ctimeMs;
- s.birthtimeMs = EXECSTAT.birthtimeMs;
-
- const { isFileValue } = s;
- const { isDirectoryValue } = s;
- const { isSocketValue } = s;
- const { isSymbolicLinkValue } = s;
-
- delete s.isFileValue;
- delete s.isDirectoryValue;
- delete s.isSocketValue;
- delete s.isSymbolicLinkValue;
-
- s.isFile = function isFile() {
- return isFileValue;
- };
- s.isDirectory = function isDirectory() {
- return isDirectoryValue;
- };
- s.isSocket = function isSocket() {
- return isSocketValue;
- };
- s.isSymbolicLink = function isSymbolicLink() {
- return isSymbolicLinkValue;
- };
- s.isFIFO = function isFIFO() {
- return false;
- };
-
- return s;
- }
-
- function findNativeAddonForStat(path_, cb) {
- const cb2 = cb || rethrow;
- const foundPath = findNativeAddonSyncUnderRequire(path_);
- if (!foundPath) return cb2(error_ENOENT('File or directory', path_));
- if (cb) {
- ancestor.stat.call(fs, foundPath, cb);
- } else {
- return ancestor.statSync.call(fs, foundPath);
- }
- }
-
- function statFromSnapshotSub(entityStat, cb) {
- if (cb) {
- payloadFile(entityStat, (error, buffer) => {
- if (error) return cb(error);
- cb(null, restore(JSON.parse(buffer)));
- });
- } else {
- const buffer = payloadFileSync(entityStat);
- return restore(JSON.parse(buffer));
- }
- }
-
- function statFromSnapshot(path_, cb) {
- const cb2 = cb || rethrow;
- const entity = findVirtualFileSystemEntry(path_);
- if (!entity) return findNativeAddonForStat(path_, cb);
- const entityStat = entity[STORE_STAT];
- if (entityStat) return statFromSnapshotSub(entityStat, cb);
- return cb2(new Error('UNEXPECTED-35'));
- }
-
- fs.statSync = function statSync(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.statSync.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.statSync.apply(fs, translateNth(arguments, 0, path_));
- }
-
- return statFromSnapshot(path_);
- };
-
- fs.stat = function stat(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.stat.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.stat.apply(fs, translateNth(arguments, 0, path_));
- }
-
- const callback = dezalgo(maybeCallback(arguments));
- statFromSnapshot(path_, callback);
- };
-
- // ///////////////////////////////////////////////////////////////
- // lstat /////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- fs.lstatSync = function lstatSync(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.lstatSync.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.lstatSync.apply(fs, translateNth(arguments, 0, path_));
- }
-
- return statFromSnapshot(path_);
- };
-
- fs.lstat = function lstat(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.lstat.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.lstat.apply(fs, translateNth(arguments, 0, path_));
- }
-
- const callback = dezalgo(maybeCallback(arguments));
- statFromSnapshot(path_, callback);
- };
-
- // ///////////////////////////////////////////////////////////////
- // fstat /////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function fstatFromSnapshot(fd, cb) {
- const cb2 = cb || rethrow;
- const { entity } = docks[fd];
- const entityStat = entity[STORE_STAT];
- if (entityStat) return statFromSnapshotSub(entityStat, cb);
- return cb2(new Error('UNEXPECTED-40'));
- }
-
- fs.fstatSync = function fstatSync(fd) {
- if (!docks[fd]) {
- return ancestor.fstatSync.apply(fs, arguments);
- }
-
- return fstatFromSnapshot(fd);
- };
-
- fs.fstat = function fstat(fd) {
- if (!docks[fd]) {
- return ancestor.fstat.apply(fs, arguments);
- }
-
- const callback = dezalgo(maybeCallback(arguments));
- fstatFromSnapshot(fd, callback);
- };
-
- // ///////////////////////////////////////////////////////////////
- // exists ////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function findNativeAddonForExists(path_) {
- const foundPath = findNativeAddonSyncFreeFromRequire(path_);
- if (!foundPath) return false;
- return ancestor.existsSync.call(fs, foundPath);
- }
-
- function existsFromSnapshot(path_) {
- const entity = findVirtualFileSystemEntry(path_);
- if (!entity) return findNativeAddonForExists(path_);
- return true;
- }
-
- fs.existsSync = function existsSync(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.existsSync.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.existsSync.apply(fs, translateNth(arguments, 0, path_));
- }
-
- return existsFromSnapshot(path_);
- };
-
- fs.exists = function exists(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.exists.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.exists.apply(fs, translateNth(arguments, 0, path_));
- }
-
- const callback = dezalgo(maybeCallback(arguments));
- callback(existsFromSnapshot(path_));
- };
-
- // ///////////////////////////////////////////////////////////////
- // access ////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function accessFromSnapshot(path_, cb) {
- const cb2 = cb || rethrow;
- const entity = findVirtualFileSystemEntry(path_);
- if (!entity) return cb2(error_ENOENT('File or directory', path_));
- return cb2(null, undefined);
- }
-
- fs.accessSync = function accessSync(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.accessSync.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.accessSync.apply(fs, translateNth(arguments, 0, path_));
- }
-
- return accessFromSnapshot(path_);
- };
-
- fs.access = function access(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.access.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.access.apply(fs, translateNth(arguments, 0, path_));
- }
-
- const callback = dezalgo(maybeCallback(arguments));
- accessFromSnapshot(path_, callback);
- };
-
- // ///////////////////////////////////////////////////////////////
- // mkdir /////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function mkdirFailInSnapshot(path_, cb) {
- const cb2 = cb || rethrow;
- return cb2(
- new Error('Cannot mkdir in a snapshot. Try mountpoints instead.')
- );
- }
-
- fs.mkdirSync = function mkdirSync(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.mkdirSync.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.mkdirSync.apply(fs, translateNth(arguments, 0, path_));
- }
-
- return mkdirFailInSnapshot(path_);
- };
-
- fs.mkdir = function mkdir(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor.mkdir.apply(fs, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor.mkdir.apply(fs, translateNth(arguments, 0, path_));
- }
-
- mkdirFailInSnapshot(path_, dezalgo(maybeCallback(arguments)));
- };
-
- // ///////////////////////////////////////////////////////////////
- // promises ////////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- if (fs.promises !== undefined) {
- const ancestor_promises = {
- open: fs.promises.open,
- read: fs.promises.read,
- write: fs.promises.write,
- readFile: fs.promises.readFile,
- readdir: fs.promises.readdir,
- realpath: fs.promises.realpath,
- stat: fs.promises.stat,
- lstat: fs.promises.lstat,
- fstat: fs.promises.fstat,
- access: fs.promises.access,
- copyFile: fs.promises.copyFile,
- };
-
- fs.promises.open = async function open(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor_promises.open.apply(this, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor_promises.open.apply(
- this,
- translateNth(arguments, 0, path_)
- );
- }
- const externalFile = uncompressExternallyPath(path_);
- arguments[0] = externalFile;
- const fd = await ancestor_promises.open.apply(this, arguments);
- if (typeof fd === 'object') {
- fd._pkg = { externalFile, file: path_ };
- }
- return fd;
- };
- fs.promises.readFile = async function readFile(path_) {
- if (!insideSnapshot(path_)) {
- return ancestor_promises.readFile.apply(this, arguments);
- }
- if (insideMountpoint(path_)) {
- return ancestor_promises.readFile.apply(
- this,
- translateNth(arguments, 0, path_)
- );
- }
- const externalFile = uncompressExternallyPath(path_);
- arguments[0] = externalFile;
- return ancestor_promises.readFile.apply(this, arguments);
- };
-
- fs.promises.write = async function write(fd) {
- if (fd._pkg) {
- throw new Error(
- `[PKG] Cannot write into Snapshot file : ${fd._pkg.file}`
- );
- }
- return ancestor_promises.write.apply(this, arguments);
- };
-
- // this one use promisify on purpose
- fs.promises.readdir = util.promisify(fs.readdir);
- fs.promises.copyFile = util.promisify(fs.copyFile);
- fs.promises.stat = util.promisify(fs.stat);
- fs.promises.lstat = util.promisify(fs.lstat);
-
- /*
- fs.promises.read = util.promisify(fs.read);
- fs.promises.realpath = util.promisify(fs.realpath);
- fs.promises.fstat = util.promisify(fs.fstat);
- fs.promises.access = util.promisify(fs.access);
- */
- }
-
- // ///////////////////////////////////////////////////////////////
- // INTERNAL //////////////////////////////////////////////////////
- // ///////////////////////////////////////////////////////////////
-
- function makeLong(f) {
- return path._makeLong(f);
- }
-
- function revertMakingLong(f) {
- if (/^\\\\\?\\/.test(f)) return f.slice(4);
- return f;
- }
-
- function findNativeAddonForInternalModuleStat(path_) {
- const fNative = findNativeAddonSyncUnderRequire(path_);
- if (!fNative) return -ENOENT;
- return process.binding('fs').internalModuleStat(makeLong(fNative));
- }
-
- fs.internalModuleStat = function internalModuleStat(long) {
- // from node comments:
- // Used to speed up module loading. Returns 0 if the path refers to
- // a file, 1 when it's a directory or < 0 on error (usually -ENOENT).
- // The speedup comes from not creating thousands of Stat and Error objects.
-
- const path_ = revertMakingLong(long);
-
- if (!insideSnapshot(path_)) {
- return process.binding('fs').internalModuleStat(long);
- }
- if (insideMountpoint(path_)) {
- return process
- .binding('fs')
- .internalModuleStat(makeLong(translate(path_)));
- }
-
- const entity = findVirtualFileSystemEntry(path_);
-
- if (!entity) {
- return findNativeAddonForInternalModuleStat(path_);
- }
-
- const entityBlob = entity[STORE_BLOB];
- if (entityBlob) {
- return 0;
- }
-
- const entityContent = entity[STORE_CONTENT];
- if (entityContent) {
- return 0;
- }
-
- const entityLinks = entity[STORE_LINKS];
- if (entityLinks) {
- return 1;
- }
-
- return -ENOENT;
- };
-
- fs.internalModuleReadJSON = function internalModuleReadJSON(long) {
- // from node comments:
- // Used to speed up module loading. Returns the contents of the file as
- // a string or undefined when the file cannot be opened. The speedup
- // comes from not creating Error objects on failure.
- // For newer node versions (after https://github.com/nodejs/node/pull/33229 ):
- // Returns an array [string, boolean].
- //
- const returnArray =
- (NODE_VERSION_MAJOR === 12 && NODE_VERSION_MINOR >= 19) ||
- (NODE_VERSION_MAJOR === 14 && NODE_VERSION_MINOR >= 5) ||
- NODE_VERSION_MAJOR >= 15;
-
- const path_ = revertMakingLong(long);
- const bindingFs = process.binding('fs');
- const readFile = (
- bindingFs.internalModuleReadFile || bindingFs.internalModuleReadJSON
- ).bind(bindingFs);
- if (!insideSnapshot(path_)) {
- return readFile(long);
- }
- if (insideMountpoint(path_)) {
- return readFile(makeLong(translate(path_)));
- }
-
- const entity = findVirtualFileSystemEntry(path_);
-
- if (!entity) {
- return returnArray ? [undefined, false] : undefined;
- }
-
- const entityContent = entity[STORE_CONTENT];
- if (!entityContent) {
- return returnArray ? [undefined, false] : undefined;
- }
- return returnArray
- ? [payloadFileSync(entityContent).toString(), true]
- : payloadFileSync(entityContent).toString();
- };
-
- fs.internalModuleReadFile = fs.internalModuleReadJSON;
-})();
-
-// /////////////////////////////////////////////////////////////////
-// PATCH MODULE ////////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-
-(() => {
- const ancestor = {
- require: Module.prototype.require,
- _compile: Module.prototype._compile,
- _resolveFilename: Module._resolveFilename,
- runMain: Module.runMain,
- };
-
- Module.prototype.require = function require(path_) {
- try {
- return ancestor.require.apply(this, arguments);
- } catch (error) {
- if (
- (error.code === 'ENOENT' || error.code === 'MODULE_NOT_FOUND') &&
- !insideSnapshot(path_) &&
- !path.isAbsolute(path_)
- ) {
- if (!error.pkg) {
- error.pkg = true;
- error.message +=
- '\n' +
- '1) If you want to compile the package/file into ' +
- 'executable, please pay attention to compilation ' +
- "warnings and specify a literal in 'require' call. " +
- "2) If you don't want to compile the package/file " +
- "into executable and want to 'require' it from " +
- 'filesystem (likely plugin), specify an absolute ' +
- "path in 'require' call using process.cwd() or " +
- 'process.execPath.';
- }
- }
- throw error;
- }
- };
-
- let im;
- let makeRequireFunction;
-
- if (NODE_VERSION_MAJOR <= 9) {
- im = require('internal/module');
- makeRequireFunction = im.makeRequireFunction;
- } else {
- im = require('internal/modules/cjs/helpers');
- makeRequireFunction = im.makeRequireFunction;
- // TODO esm modules along with cjs
- }
-
- Module.prototype._compile = function _compile(content, filename_) {
- if (!insideSnapshot(filename_)) {
- return ancestor._compile.apply(this, arguments);
- }
- if (insideMountpoint(filename_)) {
- // DON'T TRANSLATE! otherwise __dirname gets real name
- return ancestor._compile.apply(this, arguments);
- }
-
- const entity = findVirtualFileSystemEntry(filename_);
-
- if (!entity) {
- // let user try to "_compile" a packaged file
- return ancestor._compile.apply(this, arguments);
- }
-
- const entityBlob = entity[STORE_BLOB];
- const entityContent = entity[STORE_CONTENT];
-
- if (entityBlob) {
- const options = {
- filename: filename_,
- lineOffset: 0,
- displayErrors: true,
- cachedData: payloadFileSync(entityBlob),
- sourceless: !entityContent,
- };
-
- const code = entityContent
- ? Module.wrap(payloadFileSync(entityContent))
- : undefined;
-
- const script = new Script(code, options);
- const wrapper = script.runInThisContext(options);
- if (!wrapper) process.exit(4); // for example VERSION_MISMATCH
- const dirname = path.dirname(filename_);
- const rqfn = makeRequireFunction(this);
- const args = [this.exports, rqfn, this, filename_, dirname];
- return wrapper.apply(this.exports, args);
- }
-
- if (entityContent) {
- if (entityBlob) throw new Error('UNEXPECTED-50');
- // content is already in utf8 and without BOM (that is expected
- // by stock _compile), but entityContent is still a Buffer
- return ancestor._compile.apply(this, arguments);
- }
-
- throw new Error('UNEXPECTED-55');
- };
-
- Module._resolveFilename = function _resolveFilename() {
- let filename;
- let flagWasOn = false;
- try {
- filename = ancestor._resolveFilename.apply(this, arguments);
- } catch (error) {
- if (error.code !== 'MODULE_NOT_FOUND') throw error;
-
- FLAG_ENABLE_PROJECT = true;
- const savePathCache = Module._pathCache;
- Module._pathCache = Object.create(null);
- try {
- filename = ancestor._resolveFilename.apply(this, arguments);
- flagWasOn = true;
- } finally {
- Module._pathCache = savePathCache;
- FLAG_ENABLE_PROJECT = false;
- }
- }
- if (!insideSnapshot(filename)) {
- return filename;
- }
- if (insideMountpoint(filename)) {
- return filename;
- }
-
- if (flagWasOn) {
- FLAG_ENABLE_PROJECT = true;
- try {
- const found = findNativeAddonSyncUnderRequire(filename);
- if (found) filename = found;
- } finally {
- FLAG_ENABLE_PROJECT = false;
- }
- }
-
- return filename;
- };
-
- Module.runMain = function runMain() {
- Module._load(ENTRYPOINT, null, true);
- process._tickCallback();
- };
-})();
-
-// /////////////////////////////////////////////////////////////////
-// PATCH CHILD_PROCESS /////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-(() => {
- const ancestor = {
- spawn: childProcess.spawn,
- spawnSync: childProcess.spawnSync,
- execFile: childProcess.execFile,
- execFileSync: childProcess.execFileSync,
- exec: childProcess.exec,
- execSync: childProcess.execSync,
- };
-
- function setOptsEnv(args) {
- let pos = args.length - 1;
- if (typeof args[pos] === 'function') pos -= 1;
- if (typeof args[pos] !== 'object' || Array.isArray(args[pos])) {
- pos += 1;
- args.splice(pos, 0, {});
- }
- const opts = args[pos];
- if (!opts.env) opts.env = _extend({}, process.env);
- if (opts.env.PKG_EXECPATH === 'PKG_INVOKE_NODEJS') return;
- opts.env.PKG_EXECPATH = EXECPATH;
- }
-
- function startsWith2(args, index, name, impostor) {
- const qsName = `"${name} `;
- if (args[index].slice(0, qsName.length) === qsName) {
- args[index] = `"${impostor} ${args[index].slice(qsName.length)}`;
- return true;
- }
- const sName = `${name} `;
- if (args[index].slice(0, sName.length) === sName) {
- args[index] = `${impostor} ${args[index].slice(sName.length)}`;
- return true;
- }
- if (args[index] === name) {
- args[index] = impostor;
- return true;
- }
- return false;
- }
-
- function startsWith(args, index, name) {
- const qName = `"${name}"`;
- const qEXECPATH = `"${EXECPATH}"`;
- const jsName = JSON.stringify(name);
- const jsEXECPATH = JSON.stringify(EXECPATH);
- return (
- startsWith2(args, index, name, EXECPATH) ||
- startsWith2(args, index, qName, qEXECPATH) ||
- startsWith2(args, index, jsName, jsEXECPATH)
- );
- }
-
- function modifyLong(args, index) {
- if (!args[index]) return;
- return (
- startsWith(args, index, 'node') ||
- startsWith(args, index, ARGV0) ||
- startsWith(args, index, ENTRYPOINT) ||
- startsWith(args, index, EXECPATH)
- );
- }
-
- function modifyShort(args) {
- if (!args[0]) return;
- if (!Array.isArray(args[1])) {
- args.splice(1, 0, []);
- }
- if (
- args[0] === 'node' ||
- args[0] === ARGV0 ||
- args[0] === ENTRYPOINT ||
- args[0] === EXECPATH
- ) {
- args[0] = EXECPATH;
- } else {
- for (let i = 1; i < args[1].length; i += 1) {
- const mbc = args[1][i - 1];
- if (mbc === '-c' || mbc === '/c') {
- modifyLong(args[1], i);
- }
- }
- }
- }
-
- childProcess.spawn = function spawn() {
- const args = cloneArgs(arguments);
- setOptsEnv(args);
- modifyShort(args);
- return ancestor.spawn.apply(childProcess, args);
- };
-
- childProcess.spawnSync = function spawnSync() {
- const args = cloneArgs(arguments);
- setOptsEnv(args);
- modifyShort(args);
- return ancestor.spawnSync.apply(childProcess, args);
- };
-
- childProcess.execFile = function execFile() {
- const args = cloneArgs(arguments);
- setOptsEnv(args);
- modifyShort(args);
- return ancestor.execFile.apply(childProcess, args);
- };
-
- childProcess.execFileSync = function execFileSync() {
- const args = cloneArgs(arguments);
- setOptsEnv(args);
- modifyShort(args);
- return ancestor.execFileSync.apply(childProcess, args);
- };
-
- childProcess.exec = function exec() {
- const args = cloneArgs(arguments);
- setOptsEnv(args);
- modifyLong(args, 0);
- return ancestor.exec.apply(childProcess, args);
- };
-
- childProcess.execSync = function execSync() {
- const args = cloneArgs(arguments);
- setOptsEnv(args);
- modifyLong(args, 0);
- return ancestor.execSync.apply(childProcess, args);
- };
-})();
-
-// /////////////////////////////////////////////////////////////////
-// PROMISIFY ///////////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-(() => {
- const { custom } = promisify;
- const { customPromisifyArgs } = require('internal/util');
-
- // /////////////////////////////////////////////////////////////
- // FS //////////////////////////////////////////////////////////
- // /////////////////////////////////////////////////////////////
-
- Object.defineProperty(fs.exists, custom, {
- value(path_) {
- return new Promise((resolve) => {
- fs.exists(path_, (exists) => {
- resolve(exists);
- });
- });
- },
- });
-
- Object.defineProperty(fs.read, customPromisifyArgs, {
- value: ['bytesRead', 'buffer'],
- });
-
- Object.defineProperty(fs.write, customPromisifyArgs, {
- value: ['bytesWritten', 'buffer'],
- });
-
- // /////////////////////////////////////////////////////////////
- // CHILD_PROCESS ///////////////////////////////////////////////
- // /////////////////////////////////////////////////////////////
-
- const customPromiseExecFunction =
- (o) =>
- (...args) => {
- let resolve;
- let reject;
- const p = new Promise((res, rej) => {
- resolve = res;
- reject = rej;
- });
-
- p.child = o.apply(
- undefined,
- args.concat((error, stdout, stderr) => {
- if (error !== null) {
- error.stdout = stdout;
- error.stderr = stderr;
- reject(error);
- } else {
- resolve({ stdout, stderr });
- }
- })
- );
-
- return p;
- };
-
- Object.defineProperty(childProcess.exec, custom, {
- value: customPromiseExecFunction(childProcess.exec),
- });
-
- Object.defineProperty(childProcess.execFile, custom, {
- value: customPromiseExecFunction(childProcess.execFile),
- });
-})();
-
-// /////////////////////////////////////////////////////////////////
-// PATCH PROCESS ///////////////////////////////////////////////////
-// /////////////////////////////////////////////////////////////////
-(() => {
- const ancestor = {
- dlopen: process.dlopen,
- };
-
- function revertMakingLong(f) {
- if (/^\\\\\?\\/.test(f)) return f.slice(4);
- return f;
- }
-
- process.dlopen = function dlopen() {
- const args = cloneArgs(arguments);
- const modulePath = revertMakingLong(args[1]);
- const moduleBaseName = path.basename(modulePath);
- const moduleFolder = path.dirname(modulePath);
-
- if (insideSnapshot(modulePath)) {
- const moduleContent = fs.readFileSync(modulePath);
-
- // Node addon files and .so cannot be read with fs directly, they are loaded with process.dlopen which needs a filesystem path
- // we need to write the file somewhere on disk first and then load it
- // the hash is needed to be sure we reload the module in case it changes
- const hash = createHash('sha256').update(moduleContent).digest('hex');
-
- // Example: /tmp/pkg/<hash>
- const tmpFolder = path.join(tmpdir(), 'pkg', hash);
-
- createDirRecursively(tmpFolder);
-
- // Example: moduleFolder = /snapshot/appname/node_modules/sharp/build/Release
- const parts = moduleFolder.split(path.sep);
- const mIndex = parts.indexOf('node_modules') + 1;
-
- let newPath;
-
- // it's a node addon file contained in node_modules folder
- // we copy the entire module folder in tmp folder
- if (mIndex > 0) {
- // Example: modulePackagePath = sharp/build/Release
- const modulePackagePath = parts.slice(mIndex).join(path.sep);
- // Example: modulePkgFolder = /snapshot/appname/node_modules/sharp
- const modulePkgFolder = parts.slice(0, mIndex + 1).join(path.sep);
-
- // here we copy all files from the snapshot module folder to temporary folder
- // we keep the module folder structure to prevent issues with modules that are statically
- // linked using relative paths (Fix #1075)
- copyFolderRecursiveSync(modulePkgFolder, tmpFolder);
-
- // Example: /tmp/pkg/<hash>/sharp/build/Release/sharp.node
- newPath = path.join(tmpFolder, modulePackagePath, moduleBaseName);
- } else {
- const tmpModulePath = path.join(tmpFolder, moduleBaseName);
-
- if (!fs.existsSync(tmpModulePath)) {
- fs.copyFileSync(modulePath, tmpModulePath);
- }
-
- // load the copied file in the temporary folder
- newPath = tmpModulePath;
- }
-
- // replace the path with the new module path
- args[1] = newPath;
- }
-
- return ancestor.dlopen.apply(process, args);
- };
-})();
diff --git a/includes/search/node_modules/pkg/prelude/diagnostic.js b/includes/search/node_modules/pkg/prelude/diagnostic.js
deleted file mode 100644
index 343048c..0000000
--- a/includes/search/node_modules/pkg/prelude/diagnostic.js
+++ /dev/null
@@ -1,93 +0,0 @@
-/* eslint-disable global-require */
-/* eslint-disable no-console */
-/* global DICT */
-
-'use strict';
-
-(function installDiagnostic() {
- const fs = require('fs');
- const path = require('path');
- const win32 = process.platform === 'win32';
-
- if (process.env.DEBUG_PKG === '2') {
- console.log(Object.entries(DICT));
- }
- function dumpLevel(filename, level, tree) {
- let totalSize = 0;
- const d = fs.readdirSync(filename);
- for (let j = 0; j < d.length; j += 1) {
- const f = path.join(filename, d[j]);
- const realPath = fs.realpathSync(f);
- const isSymbolicLink2 = f !== realPath;
-
- const s = fs.statSync(f);
- totalSize += s.size;
-
- if (s.isDirectory() && !isSymbolicLink2) {
- const tree1 = [];
- totalSize += dumpLevel(f, level + 1, tree1);
- const str =
- (' '.padStart(level * 2, ' ') + d[j]).padEnd(40, ' ') +
- (totalSize.toString().padStart(10, ' ') +
- (isSymbolicLink2 ? `=> ${realPath}` : ' '));
- tree.push(str);
- tree1.forEach((x) => tree.push(x));
- } else {
- const str =
- (' '.padStart(level * 2, ' ') + d[j]).padEnd(40, ' ') +
- (s.size.toString().padStart(10, ' ') +
- (isSymbolicLink2 ? `=> ${realPath}` : ' '));
- tree.push(str);
- }
- }
- return totalSize;
- }
- function wrap(obj, name) {
- const f = fs[name];
- obj[name] = (...args) => {
- const args1 = Object.values(args);
- console.log(
- `fs.${name}`,
- args1.filter((x) => typeof x === 'string')
- );
- return f.apply(this, args1);
- };
- }
- if (process.env.DEBUG_PKG) {
- console.log('------------------------------- virtual file system');
- const startFolder = win32 ? 'C:\\snapshot' : '/snapshot';
- console.log(startFolder);
-
- const tree = [];
- const totalSize = dumpLevel(startFolder, 1, tree);
- console.log(tree.join('\n'));
-
- console.log('Total size = ', totalSize);
- if (process.env.DEBUG_PKG === '2') {
- wrap(fs, 'openSync');
- wrap(fs, 'open');
- wrap(fs, 'readSync');
- wrap(fs, 'read');
- wrap(fs, 'writeSync');
- wrap(fs, 'write');
- wrap(fs, 'closeSync');
- wrap(fs, 'readFileSync');
- wrap(fs, 'close');
- wrap(fs, 'readFile');
- wrap(fs, 'readdirSync');
- wrap(fs, 'readdir');
- wrap(fs, 'realpathSync');
- wrap(fs, 'realpath');
- wrap(fs, 'statSync');
- wrap(fs, 'stat');
- wrap(fs, 'lstatSync');
- wrap(fs, 'lstat');
- wrap(fs, 'fstatSync');
- wrap(fs, 'fstat');
- wrap(fs, 'existsSync');
- wrap(fs, 'exists');
- wrap(fs, 'accessSync');
- wrap(fs, 'access');
- }
- }
-})();
diff --git a/includes/search/node_modules/prebuild-install/CHANGELOG.md b/includes/search/node_modules/prebuild-install/CHANGELOG.md
deleted file mode 100644
index 938baec..0000000
--- a/includes/search/node_modules/prebuild-install/CHANGELOG.md
+++ /dev/null
@@ -1,116 +0,0 @@
-# Changelog
-
-## [7.1.1] - 2022-06-07
-
-### Changed
-
-- Replace use of npmlog dependency with console.error ([#182](https://github.com/prebuild/prebuild-install/issues/182)) ([`4e2284c`](https://github.com/prebuild/prebuild-install/commit/4e2284c)) (Lovell Fuller).
-
-- Ensure script output can be captured by tests ([#181](https://github.com/prebuild/prebuild-install/issues/181)) ([`d1853cb`](https://github.com/prebuild/prebuild-install/commit/d1853cb)) (Lovell Fuller).
-
-## [7.1.0] - 2022-04-20
-
-### Changed
-
-- Allow setting libc to glibc on non-glibc platform ([#176](https://github.com/prebuild/prebuild-install/issues/176)) ([`f729abb`](https://github.com/prebuild/prebuild-install/commit/f729abb)) (Joona Heinikoski).
-
-## [7.0.1] - 2022-01-28
-
-### Changed
-
-- Upgrade to the latest version of `detect-libc` ([#166](https://github.com/prebuild/prebuild-install/issues/166)) ([`f71c6b9`](https://github.com/prebuild/prebuild-install/commit/f71c6b9)) (Lovell Fuller).
-
-## [7.0.0] - 2021-11-12
-
-### Changed
-
-- **Breaking:** bump `node-abi` so that Electron 14+ gets correct ABI ([#161](https://github.com/prebuild/prebuild-install/issues/161)) ([`477f347`](https://github.com/prebuild/prebuild-install/commit/477f347)) (csett86). Drops support of Node.js < 10.
-- Bump `simple-get` ([`7468c14`](https://github.com/prebuild/prebuild-install/commit/7468c14)) (Vincent Weevers).
-
-## [6.1.4] - 2021-08-11
-
-### Fixed
-
-- Move auth token to header instead of query param ([#160](https://github.com/prebuild/prebuild-install/issues/160)) ([`b3fad76`](https://github.com/prebuild/prebuild-install/commit/b3fad76)) (nicolai-nordic)
-- Remove `_` prefix as it isn't allowed by npm config ([#153](https://github.com/prebuild/prebuild-install/issues/153)) ([`a964e5b`](https://github.com/prebuild/prebuild-install/commit/a964e5b)) (Tom Boothman)
-- Make `rc.path` absolute ([#158](https://github.com/prebuild/prebuild-install/issues/158)) ([`57bcc06`](https://github.com/prebuild/prebuild-install/commit/57bcc06)) (George Waters).
-
-## [6.1.3] - 2021-06-03
-
-### Changed
-
-- Inline no longer maintained `noop-logger` ([#155](https://github.com/prebuild/prebuild-install/issues/155)) ([`e08d75a`](https://github.com/prebuild/prebuild-install/commit/e08d75a)) (Alexandru Dima)
-- Point users towards `prebuildify` in README ([#150](https://github.com/prebuild/prebuild-install/issues/150)) ([`5ee1a2f`](https://github.com/prebuild/prebuild-install/commit/5ee1a2f)) (Vincent Weevers)
-
-## [6.1.2] - 2021-04-24
-
-### Fixed
-
-- Support URL-safe strings in scoped packages ([#148](https://github.com/prebuild/prebuild-install/issues/148)) ([`db36c7a`](https://github.com/prebuild/prebuild-install/commit/db36c7a)) (Marco)
-
-## [6.1.1] - 2021-04-04
-
-### Fixed
-
-- Support `force` & `buildFromSource` options in yarn ([#140](https://github.com/prebuild/prebuild-install/issues/140)) ([`8cb1ced`](https://github.com/prebuild/prebuild-install/commit/8cb1ced)) (João Moreno)
-- Bump `node-abi` to prevent dedupe (closes [#135](https://github.com/prebuild/prebuild-install/issues/135)) ([`2950fb2`](https://github.com/prebuild/prebuild-install/commit/2950fb2)) (Vincent Weevers)
-
-## [6.1.0] - 2021-04-03
-
-### Added
-
-- Restore local prebuilds feature ([#137](https://github.com/prebuild/prebuild-install/issues/137)) ([`dc4e5ea`](https://github.com/prebuild/prebuild-install/commit/dc4e5ea)) (Wes Roberts). Previously removed in [#81](https://github.com/prebuild/prebuild-install/issues/81) / [`a069253`](https://github.com/prebuild/prebuild-install/commit/a06925378d38ca821bfa93aa4c1fdedc253b2420).
-
-## [6.0.1] - 2021-02-14
-
-### Fixed
-
-- Fixes empty `--tag-prefix` ([#143](https://github.com/prebuild/prebuild-install/issues/143)) ([**@mathiask88**](https://github.com/mathiask88))
-
-## [6.0.0] - 2020-10-23
-
-### Changed
-
-- **Breaking:** don't skip downloads in standalone mode ([`b6f3b36`](https://github.com/prebuild/prebuild-install/commit/b6f3b36)) ([**@vweevers**](https://github.com/vweevers))
-
-### Added
-
-- Document cross platform options ([`e5c9a5a`](https://github.com/prebuild/prebuild-install/commit/e5c9a5a)) ([**@fishbone1**](https://github.com/fishbone1))
-
-### Removed
-
-- **Breaking:** remove `--compile` and `--prebuild` options ([`94f2492`](https://github.com/prebuild/prebuild-install/commit/94f2492)) ([**@vweevers**](https://github.com/vweevers))
-
-### Fixed
-
-- Support npm 7 ([`8acccac`](https://github.com/prebuild/prebuild-install/commit/8acccac), [`08eaf6d`](https://github.com/prebuild/prebuild-install/commit/08eaf6d), [`22175b8`](https://github.com/prebuild/prebuild-install/commit/22175b8)) ([**@vweevers**](https://github.com/vweevers))
-
-## [5.3.6] - 2020-10-20
-
-### Changed
-
-- Replace `mkdirp` dependency with `mkdirp-classic` ([**@ralphtheninja**](https://github.com/ralphtheninja))
-
-[7.1.1]: https://github.com/prebuild/prebuild-install/releases/tag/v7.1.1
-
-[7.1.0]: https://github.com/prebuild/prebuild-install/releases/tag/v7.1.0
-
-[7.0.1]: https://github.com/prebuild/prebuild-install/releases/tag/v7.0.1
-
-[7.0.0]: https://github.com/prebuild/prebuild-install/releases/tag/v7.0.0
-
-[6.1.4]: https://github.com/prebuild/prebuild-install/releases/tag/v6.1.4
-
-[6.1.3]: https://github.com/prebuild/prebuild-install/releases/tag/v6.1.3
-
-[6.1.2]: https://github.com/prebuild/prebuild-install/releases/tag/v6.1.2
-
-[6.1.1]: https://github.com/prebuild/prebuild-install/releases/tag/v6.1.1
-
-[6.1.0]: https://github.com/prebuild/prebuild-install/releases/tag/v6.1.0
-
-[6.0.1]: https://github.com/prebuild/prebuild-install/releases/tag/v6.0.1
-
-[6.0.0]: https://github.com/prebuild/prebuild-install/releases/tag/v6.0.0
-
-[5.3.6]: https://github.com/prebuild/prebuild-install/releases/tag/v5.3.6
diff --git a/includes/search/node_modules/prebuild-install/CONTRIBUTING.md b/includes/search/node_modules/prebuild-install/CONTRIBUTING.md
deleted file mode 100644
index 07860da..0000000
--- a/includes/search/node_modules/prebuild-install/CONTRIBUTING.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Contributing to prebuild
-
-- no commits direct to master
-- all commits as pull requests (one or several per PR)
-- each commit solves one identifiable problem
-- never merge one's own PRs, another contributor does this
diff --git a/includes/search/node_modules/prebuild-install/LICENSE b/includes/search/node_modules/prebuild-install/LICENSE
deleted file mode 100644
index 66a4d2a..0000000
--- a/includes/search/node_modules/prebuild-install/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Mathias Buus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/prebuild-install/README.md b/includes/search/node_modules/prebuild-install/README.md
deleted file mode 100644
index d5aafa9..0000000
--- a/includes/search/node_modules/prebuild-install/README.md
+++ /dev/null
@@ -1,163 +0,0 @@
-# prebuild-install
-
-> **A command line tool to easily install prebuilt binaries for multiple versions of Node.js & Electron on a specific platform.**
-> By default it downloads prebuilt binaries from a GitHub release.
-
-[![npm](https://img.shields.io/npm/v/prebuild-install.svg)](https://www.npmjs.com/package/prebuild-install)
-![Node version](https://img.shields.io/node/v/prebuild-install.svg)
-[![Test](https://img.shields.io/github/workflow/status/prebuild/prebuild-install/Test?label=test)](https://github.com/prebuild/prebuild-install/actions/workflows/test.yml)
-[![Standard](https://img.shields.io/badge/standard-informational?logo=javascript\&logoColor=fff)](https://standardjs.com)
-[![Common Changelog](https://common-changelog.org/badge.svg)](https://common-changelog.org)
-
-## Note
-
-**Instead of [`prebuild`](https://github.com/prebuild/prebuild) paired with [`prebuild-install`](https://github.com/prebuild/prebuild-install), we recommend [`prebuildify`](https://github.com/prebuild/prebuildify) paired with [`node-gyp-build`](https://github.com/prebuild/node-gyp-build).**
-
-With `prebuildify`, all prebuilt binaries are shipped inside the package that is published to npm, which means there's no need for a separate download step like you find in `prebuild`. The irony of this approach is that it is faster to download all prebuilt binaries for every platform when they are bundled than it is to download a single prebuilt binary as an install script.
-
-Upsides:
-
-1. No extra download step, making it more reliable and faster to install.
-2. Supports changing runtime versions locally and using the same install between Node.js and Electron. Reinstalling or rebuilding is not necessary, as all prebuilt binaries are in the npm tarball and the correct one is simply picked on runtime.
-3. The `node-gyp-build` runtime dependency is dependency-free and will remain so out of principle, because introducing dependencies would negate the shorter install time.
-4. Prebuilt binaries work even if npm install scripts are disabled.
-5. The npm package checksum covers prebuilt binaries too.
-
-Downsides:
-
-1. The installed npm package is larger on disk. Using [Node-API](https://nodejs.org/api/n-api.html) alleviates this because Node-API binaries are runtime-agnostic and forward-compatible.
-2. Publishing is mildly more complicated, because `npm publish` must be done after compiling and fetching prebuilt binaries (typically in CI).
-
-## Usage
-
-Use [`prebuild`](https://github.com/prebuild/prebuild) to create and upload prebuilt binaries. Then change your package.json install script to:
-
-```json
-{
- "scripts": {
- "install": "prebuild-install || node-gyp rebuild"
- }
-}
-```
-
-When a consumer then installs your package with npm thus triggering the above install script, `prebuild-install` will download a suitable prebuilt binary, or exit with a non-zero exit code if there is none, which triggers `node-gyp rebuild` in order to build from source.
-
-Options (see below) can be passed to `prebuild-install` like so:
-
-```json
-{
- "scripts": {
- "install": "prebuild-install -r napi || node-gyp rebuild"
- }
-}
-```
-
-### Help
-
-```
-prebuild-install [options]
-
- --download -d [url] (download prebuilds, no url means github)
- --target -t version (version to install for)
- --runtime -r runtime (Node runtime [node, napi or electron] to build or install for, default is node)
- --path -p path (make a prebuild-install here)
- --token -T gh-token (github token for private repos)
- --arch arch (target CPU architecture, see Node OS module docs, default is current arch)
- --platform platform (target platform, see Node OS module docs, default is current platform)
- --tag-prefix <prefix> (github tag prefix, default is "v")
- --build-from-source (skip prebuild download)
- --verbose (log verbosely)
- --libc (use provided libc rather than system default)
- --debug (set Debug or Release configuration)
- --version (print prebuild-install version and exit)
-```
-
-When `prebuild-install` is run via an `npm` script, options `--build-from-source`, `--debug`, `--download`, `--target`, `--runtime`, `--arch` `--platform` and `--libc` may be passed through via arguments given to the `npm` command.
-
-Alternatively you can set environment variables `npm_config_build_from_source=true`, `npm_config_platform`, `npm_config_arch`, `npm_config_target` `npm_config_runtime` and `npm_config_libc`.
-
-### Libc
-
-On non-glibc Linux platforms, the Libc name is appended to platform name. For example, musl-based environments are called `linuxmusl`. If `--libc=glibc` is passed as option, glibc is discarded and platform is called as just `linux`. This can be used for example to build cross-platform packages on Alpine Linux.
-
-### Private Repositories
-
-`prebuild-install` supports downloading prebuilds from private GitHub repositories using the `-T <github-token>`:
-
-```
-$ prebuild-install -T <github-token>
-```
-
-If you don't want to use the token on cli you can put it in `~/.prebuild-installrc`:
-
-```
-token=<github-token>
-```
-
-Alternatively you can specify it in the `prebuild-install_token` environment variable.
-
-Note that using a GitHub token uses the API to resolve the correct release meaning that you are subject to the ([GitHub Rate Limit](https://developer.github.com/v3/rate_limit/)).
-
-### Create GitHub Token
-
-To create a token:
-
-- Go to [this page](https://github.com/settings/tokens)
-- Click the `Generate new token` button
-- Give the token a name and click the `Generate token` button, see below
-
-![prebuild-token](https://cloud.githubusercontent.com/assets/13285808/20844584/d0b85268-b8c0-11e6-8b08-2b19522165a9.png)
-
-The default scopes should be fine.
-
-### Custom binaries
-
-The end user can override binary download location through environment variables in their .npmrc file.
-The variable needs to meet the mask `% your package name %_binary_host` or `% your package name %_binary_host_mirror`. For example:
-
-```
-leveldown_binary_host=http://overriden-host.com/overriden-path
-```
-
-Note that the package version subpath and file name will still be appended.
-So if you are installing `leveldown@1.2.3` the resulting url will be:
-
-```
-http://overriden-host.com/overriden-path/v1.2.3/leveldown-v1.2.3-node-v57-win32-x64.tar.gz
-```
-
-#### Local prebuilds
-
-If you want to use prebuilds from your local filesystem, you can use the `% your package name %_local_prebuilds` .npmrc variable to set a path to the folder containing prebuilds. For example:
-
-```
-leveldown_local_prebuilds=/path/to/prebuilds
-```
-
-This option will look directly in that folder for bundles created with `prebuild`, for example:
-
-```
-/path/to/prebuilds/leveldown-v1.2.3-node-v57-win32-x64.tar.gz
-```
-
-Non-absolute paths resolve relative to the directory of the package invoking prebuild-install, e.g. for nested dependencies.
-
-### Cache
-
-All prebuilt binaries are cached to minimize traffic. So first `prebuild-install` picks binaries from the cache and if no binary could be found, it will be downloaded. Depending on the environment, the cache folder is determined in the following order:
-
-- `${npm_config_cache}/_prebuilds`
-- `${APP_DATA}/npm-cache/_prebuilds`
-- `${HOME}/.npm/_prebuilds`
-
-## Install
-
-With [npm](https://npmjs.org) do:
-
-```
-npm install prebuild-install
-```
-
-## License
-
-[MIT](./LICENSE)
diff --git a/includes/search/node_modules/prebuild-install/asset.js b/includes/search/node_modules/prebuild-install/asset.js
deleted file mode 100644
index 7a58e8b..0000000
--- a/includes/search/node_modules/prebuild-install/asset.js
+++ /dev/null
@@ -1,44 +0,0 @@
-const get = require('simple-get')
-const util = require('./util')
-const proxy = require('./proxy')
-
-function findAssetId (opts, cb) {
- const downloadUrl = util.getDownloadUrl(opts)
- const apiUrl = util.getApiUrl(opts)
- const log = opts.log || util.noopLogger
-
- log.http('request', 'GET ' + apiUrl)
- const reqOpts = proxy({
- url: apiUrl,
- json: true,
- headers: {
- 'User-Agent': 'simple-get',
- Authorization: 'token ' + opts.token
- }
- }, opts)
-
- const req = get.concat(reqOpts, function (err, res, data) {
- if (err) return cb(err)
- log.http(res.statusCode, apiUrl)
- if (res.statusCode !== 200) return cb(err)
-
- // Find asset id in release
- for (const release of data) {
- if (release.tag_name === opts['tag-prefix'] + opts.pkg.version) {
- for (const asset of release.assets) {
- if (asset.browser_download_url === downloadUrl) {
- return cb(null, asset.id)
- }
- }
- }
- }
-
- cb(new Error('Could not find GitHub release for version'))
- })
-
- req.setTimeout(30 * 1000, function () {
- req.abort()
- })
-}
-
-module.exports = findAssetId
diff --git a/includes/search/node_modules/prebuild-install/bin.js b/includes/search/node_modules/prebuild-install/bin.js
deleted file mode 100755
index e5260cc..0000000
--- a/includes/search/node_modules/prebuild-install/bin.js
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env node
-
-const path = require('path')
-const fs = require('fs')
-const napi = require('napi-build-utils')
-
-const pkg = require(path.resolve('package.json'))
-const rc = require('./rc')(pkg)
-const log = require('./log')(rc, process.env)
-const download = require('./download')
-const asset = require('./asset')
-const util = require('./util')
-
-const prebuildClientVersion = require('./package.json').version
-if (rc.version) {
- console.log(prebuildClientVersion)
- process.exit(0)
-}
-
-if (rc.path) process.chdir(rc.path)
-
-if (rc.runtime === 'electron' && rc.target[0] === '4' && rc.abi === '64') {
- log.error(`Electron version ${rc.target} found - skipping prebuild-install work due to known ABI issue`)
- log.error('More information about this issue can be found at https://github.com/lgeiger/node-abi/issues/54')
- process.exit(1)
-}
-
-if (!fs.existsSync('package.json')) {
- log.error('setup', 'No package.json found. Aborting...')
- process.exit(1)
-}
-
-if (rc.help) {
- console.error(fs.readFileSync(path.join(__dirname, 'help.txt'), 'utf-8'))
- process.exit(0)
-}
-
-log.info('begin', 'Prebuild-install version', prebuildClientVersion)
-
-const opts = Object.assign({}, rc, { pkg: pkg, log: log })
-
-if (napi.isNapiRuntime(rc.runtime)) napi.logUnsupportedVersion(rc.target, log)
-
-const origin = util.packageOrigin(process.env, pkg)
-
-if (opts.force) {
- log.warn('install', 'prebuilt binaries enforced with --force!')
- log.warn('install', 'prebuilt binaries may be out of date!')
-} else if (origin && origin.length > 4 && origin.substr(0, 4) === 'git+') {
- log.info('install', 'installing from git repository, skipping download.')
- process.exit(1)
-} else if (opts.buildFromSource) {
- log.info('install', '--build-from-source specified, not attempting download.')
- process.exit(1)
-}
-
-const startDownload = function (downloadUrl) {
- download(downloadUrl, opts, function (err) {
- if (err) {
- log.warn('install', err.message)
- return process.exit(1)
- }
- log.info('install', 'Successfully installed prebuilt binary!')
- })
-}
-
-if (opts.token) {
- asset(opts, function (err, assetId) {
- if (err) {
- log.warn('install', err.message)
- return process.exit(1)
- }
-
- startDownload(util.getAssetUrl(opts, assetId))
- })
-} else {
- startDownload(util.getDownloadUrl(opts))
-}
diff --git a/includes/search/node_modules/prebuild-install/download.js b/includes/search/node_modules/prebuild-install/download.js
deleted file mode 100644
index 26f04b0..0000000
--- a/includes/search/node_modules/prebuild-install/download.js
+++ /dev/null
@@ -1,142 +0,0 @@
-const path = require('path')
-const fs = require('fs')
-const get = require('simple-get')
-const pump = require('pump')
-const tfs = require('tar-fs')
-const zlib = require('zlib')
-const util = require('./util')
-const error = require('./error')
-const proxy = require('./proxy')
-const mkdirp = require('mkdirp-classic')
-
-function downloadPrebuild (downloadUrl, opts, cb) {
- let cachedPrebuild = util.cachedPrebuild(downloadUrl)
- const localPrebuild = util.localPrebuild(downloadUrl, opts)
- const tempFile = util.tempFile(cachedPrebuild)
- const log = opts.log || util.noopLogger
-
- if (opts.nolocal) return download()
-
- log.info('looking for local prebuild @', localPrebuild)
- fs.access(localPrebuild, fs.R_OK | fs.W_OK, function (err) {
- if (err && err.code === 'ENOENT') {
- return download()
- }
-
- log.info('found local prebuild')
- cachedPrebuild = localPrebuild
- unpack()
- })
-
- function download () {
- ensureNpmCacheDir(function (err) {
- if (err) return onerror(err)
-
- log.info('looking for cached prebuild @', cachedPrebuild)
- fs.access(cachedPrebuild, fs.R_OK | fs.W_OK, function (err) {
- if (!(err && err.code === 'ENOENT')) {
- log.info('found cached prebuild')
- return unpack()
- }
-
- log.http('request', 'GET ' + downloadUrl)
- const reqOpts = proxy({ url: downloadUrl }, opts)
-
- if (opts.token) {
- reqOpts.headers = {
- 'User-Agent': 'simple-get',
- Accept: 'application/octet-stream',
- Authorization: 'token ' + opts.token
- }
- }
-
- const req = get(reqOpts, function (err, res) {
- if (err) return onerror(err)
- log.http(res.statusCode, downloadUrl)
- if (res.statusCode !== 200) return onerror()
- mkdirp(util.prebuildCache(), function () {
- log.info('downloading to @', tempFile)
- pump(res, fs.createWriteStream(tempFile), function (err) {
- if (err) return onerror(err)
- fs.rename(tempFile, cachedPrebuild, function (err) {
- if (err) return cb(err)
- log.info('renaming to @', cachedPrebuild)
- unpack()
- })
- })
- })
- })
-
- req.setTimeout(30 * 1000, function () {
- req.abort()
- })
- })
-
- function onerror (err) {
- fs.unlink(tempFile, function () {
- cb(err || error.noPrebuilts(opts))
- })
- }
- })
- }
-
- function unpack () {
- let binaryName
-
- const updateName = opts.updateName || function (entry) {
- if (/\.node$/i.test(entry.name)) binaryName = entry.name
- }
-
- log.info('unpacking @', cachedPrebuild)
-
- const options = {
- readable: true,
- writable: true,
- hardlinkAsFilesFallback: true
- }
- const extract = tfs.extract(opts.path, options).on('entry', updateName)
-
- pump(fs.createReadStream(cachedPrebuild), zlib.createGunzip(), extract,
- function (err) {
- if (err) return cb(err)
-
- let resolved
- if (binaryName) {
- try {
- resolved = path.resolve(opts.path || '.', binaryName)
- } catch (err) {
- return cb(err)
- }
- log.info('unpack', 'resolved to ' + resolved)
-
- if (opts.runtime === 'node' && opts.platform === process.platform && opts.abi === process.versions.modules && opts.arch === process.arch) {
- try {
- require(resolved)
- } catch (err) {
- return cb(err)
- }
- log.info('unpack', 'required ' + resolved + ' successfully')
- }
- }
-
- cb(null, resolved)
- })
- }
-
- function ensureNpmCacheDir (cb) {
- const cacheFolder = util.npmCache()
- fs.access(cacheFolder, fs.R_OK | fs.W_OK, function (err) {
- if (err && err.code === 'ENOENT') {
- return makeNpmCacheDir()
- }
- cb(err)
- })
-
- function makeNpmCacheDir () {
- log.info('npm cache directory missing, creating it...')
- mkdirp(cacheFolder, cb)
- }
- }
-}
-
-module.exports = downloadPrebuild
diff --git a/includes/search/node_modules/prebuild-install/error.js b/includes/search/node_modules/prebuild-install/error.js
deleted file mode 100644
index c266c18..0000000
--- a/includes/search/node_modules/prebuild-install/error.js
+++ /dev/null
@@ -1,14 +0,0 @@
-exports.noPrebuilts = function (opts) {
- return new Error([
- 'No prebuilt binaries found',
- '(target=' + opts.target,
- 'runtime=' + opts.runtime,
- 'arch=' + opts.arch,
- 'libc=' + opts.libc,
- 'platform=' + opts.platform + ')'
- ].join(' '))
-}
-
-exports.invalidArchive = function () {
- return new Error('Missing .node file in archive')
-}
diff --git a/includes/search/node_modules/prebuild-install/help.txt b/includes/search/node_modules/prebuild-install/help.txt
deleted file mode 100644
index 0dd316e..0000000
--- a/includes/search/node_modules/prebuild-install/help.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-prebuild-install [options]
-
- --download -d [url] (download prebuilds, no url means github)
- --target -t version (version to install for)
- --runtime -r runtime (Node runtime [node or electron] to build or install for, default is node)
- --path -p path (make a prebuild-install here)
- --token -T gh-token (github token for private repos)
- --arch arch (target CPU architecture, see Node OS module docs, default is current arch)
- --platform platform (target platform, see Node OS module docs, default is current platform)
- --tag-prefix <prefix> (github tag prefix, default is "v")
- --force (always use prebuilt binaries when available)
- --build-from-source (skip prebuild download)
- --verbose (log verbosely)
- --libc (use provided libc rather than system default)
- --debug (set Debug or Release configuration)
- --version (print prebuild-install version and exit)
diff --git a/includes/search/node_modules/prebuild-install/index.js b/includes/search/node_modules/prebuild-install/index.js
deleted file mode 100644
index b5fc28a..0000000
--- a/includes/search/node_modules/prebuild-install/index.js
+++ /dev/null
@@ -1 +0,0 @@
-exports.download = require('./download')
diff --git a/includes/search/node_modules/prebuild-install/log.js b/includes/search/node_modules/prebuild-install/log.js
deleted file mode 100644
index b5ecc01..0000000
--- a/includes/search/node_modules/prebuild-install/log.js
+++ /dev/null
@@ -1,33 +0,0 @@
-const levels = {
- silent: 0,
- error: 1,
- warn: 2,
- notice: 3,
- http: 4,
- timing: 5,
- info: 6,
- verbose: 7,
- silly: 8
-}
-
-module.exports = function (rc, env) {
- const level = rc.verbose
- ? 'verbose'
- : env.npm_config_loglevel || 'notice'
-
- const logAtLevel = function (messageLevel) {
- return function (...args) {
- if (levels[messageLevel] <= levels[level]) {
- console.error(`prebuild-install ${messageLevel} ${args.join(' ')}`)
- }
- }
- }
-
- return {
- error: logAtLevel('error'),
- warn: logAtLevel('warn'),
- http: logAtLevel('http'),
- info: logAtLevel('info'),
- level
- }
-}
diff --git a/includes/search/node_modules/prebuild-install/package.json b/includes/search/node_modules/prebuild-install/package.json
deleted file mode 100644
index 48ab0b0..0000000
--- a/includes/search/node_modules/prebuild-install/package.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "name": "prebuild-install",
- "version": "7.1.1",
- "description": "A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform",
- "scripts": {
- "test": "standard && hallmark && tape test/*-test.js",
- "hallmark": "hallmark --fix"
- },
- "keywords": [
- "prebuilt",
- "binaries",
- "native",
- "addon",
- "module",
- "c",
- "c++",
- "bindings",
- "devops",
- "napi"
- ],
- "dependencies": {
- "detect-libc": "^2.0.0",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^3.3.0",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^4.0.0",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- },
- "devDependencies": {
- "a-native-module": "^1.0.0",
- "hallmark": "^4.0.0",
- "nock": "^10.0.6",
- "rimraf": "^2.5.2",
- "standard": "^16.0.4",
- "tape": "^5.3.1",
- "tempy": "0.2.1"
- },
- "bin": "./bin.js",
- "repository": {
- "type": "git",
- "url": "https://github.com/prebuild/prebuild-install.git"
- },
- "author": "Mathias Buus (@mafintosh)",
- "contributors": [
- "Julian Gruber <julian@juliangruber.com> (https://github.com/juliangruber)",
- "Brett Lawson <brett19@gmail.com> (https://github.com/brett19)",
- "Pieter Hintjens <ph@imatix.com> (https://github.com/hintjens)",
- "Lars-Magnus Skog <ralphtheninja@riseup.net> (https://github.com/ralphtheninja)",
- "Jesús Leganés Combarro <piranna@gmail.com> (https://github.com/piranna)",
- "Mathias Küsel <mathiask@hotmail.de> (https://github.com/mathiask88)",
- "Lukas Geiger <lukas.geiger94@gmail.com> (https://github.com/lgeiger)"
- ],
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/prebuild/prebuild-install/issues"
- },
- "homepage": "https://github.com/prebuild/prebuild-install",
- "engines": {
- "node": ">=10"
- }
-}
diff --git a/includes/search/node_modules/prebuild-install/proxy.js b/includes/search/node_modules/prebuild-install/proxy.js
deleted file mode 100644
index 40d3aea..0000000
--- a/includes/search/node_modules/prebuild-install/proxy.js
+++ /dev/null
@@ -1,35 +0,0 @@
-const url = require('url')
-const tunnel = require('tunnel-agent')
-const util = require('./util')
-
-function applyProxy (reqOpts, opts) {
- const log = opts.log || util.noopLogger
-
- const proxy = opts['https-proxy'] || opts.proxy
-
- if (proxy) {
- // eslint-disable-next-line node/no-deprecated-api
- const parsedDownloadUrl = url.parse(reqOpts.url)
- // eslint-disable-next-line node/no-deprecated-api
- const parsedProxy = url.parse(proxy)
- const uriProtocol = (parsedDownloadUrl.protocol === 'https:' ? 'https' : 'http')
- const proxyProtocol = (parsedProxy.protocol === 'https:' ? 'Https' : 'Http')
- const tunnelFnName = [uriProtocol, proxyProtocol].join('Over')
- reqOpts.agent = tunnel[tunnelFnName]({
- proxy: {
- host: parsedProxy.hostname,
- port: +parsedProxy.port,
- proxyAuth: parsedProxy.auth
- }
- })
- log.http('request', 'Proxy setup detected (Host: ' +
- parsedProxy.hostname + ', Port: ' +
- parsedProxy.port + ', Authentication: ' +
- (parsedProxy.auth ? 'Yes' : 'No') + ')' +
- ' Tunneling with ' + tunnelFnName)
- }
-
- return reqOpts
-}
-
-module.exports = applyProxy
diff --git a/includes/search/node_modules/prebuild-install/rc.js b/includes/search/node_modules/prebuild-install/rc.js
deleted file mode 100644
index de0ea7a..0000000
--- a/includes/search/node_modules/prebuild-install/rc.js
+++ /dev/null
@@ -1,64 +0,0 @@
-const path = require('path')
-const minimist = require('minimist')
-const getAbi = require('node-abi').getAbi
-const detectLibc = require('detect-libc')
-const napi = require('napi-build-utils')
-
-const env = process.env
-
-const libc = env.LIBC || process.env.npm_config_libc ||
- (detectLibc.isNonGlibcLinuxSync() && detectLibc.familySync()) || ''
-
-// Get the configuration
-module.exports = function (pkg) {
- const pkgConf = pkg.config || {}
- const buildFromSource = env.npm_config_build_from_source
-
- const rc = require('rc')('prebuild-install', {
- target: pkgConf.target || env.npm_config_target || process.versions.node,
- runtime: pkgConf.runtime || env.npm_config_runtime || 'node',
- arch: pkgConf.arch || env.npm_config_arch || process.arch,
- libc: libc,
- platform: env.npm_config_platform || process.platform,
- debug: env.npm_config_debug === 'true',
- force: false,
- verbose: env.npm_config_verbose === 'true',
- buildFromSource: buildFromSource === pkg.name || buildFromSource === 'true',
- path: '.',
- proxy: env.npm_config_proxy || env.http_proxy || env.HTTP_PROXY,
- 'https-proxy': env.npm_config_https_proxy || env.https_proxy || env.HTTPS_PROXY,
- 'local-address': env.npm_config_local_address,
- 'local-prebuilds': 'prebuilds',
- 'tag-prefix': 'v',
- download: env.npm_config_download
- }, minimist(process.argv, {
- alias: {
- target: 't',
- runtime: 'r',
- help: 'h',
- arch: 'a',
- path: 'p',
- version: 'v',
- download: 'd',
- buildFromSource: 'build-from-source',
- token: 'T'
- }
- }))
-
- rc.path = path.resolve(rc.path === true ? '.' : rc.path || '.')
-
- if (napi.isNapiRuntime(rc.runtime) && rc.target === process.versions.node) {
- rc.target = napi.getBestNapiBuildVersion()
- }
-
- rc.abi = napi.isNapiRuntime(rc.runtime) ? rc.target : getAbi(rc.target, rc.runtime)
-
- rc.libc = rc.platform !== 'linux' || rc.libc === detectLibc.GLIBC ? '' : rc.libc
-
- return rc
-}
-
-// Print the configuration values when executed standalone for testing purposses
-if (!module.parent) {
- console.log(JSON.stringify(module.exports({}), null, 2))
-}
diff --git a/includes/search/node_modules/prebuild-install/util.js b/includes/search/node_modules/prebuild-install/util.js
deleted file mode 100644
index 4d00351..0000000
--- a/includes/search/node_modules/prebuild-install/util.js
+++ /dev/null
@@ -1,143 +0,0 @@
-const path = require('path')
-const github = require('github-from-package')
-const home = require('os').homedir
-const crypto = require('crypto')
-const expandTemplate = require('expand-template')()
-
-function getDownloadUrl (opts) {
- const pkgName = opts.pkg.name.replace(/^@[a-zA-Z0-9_\-.~]+\//, '')
- return expandTemplate(urlTemplate(opts), {
- name: pkgName,
- package_name: pkgName,
- version: opts.pkg.version,
- major: opts.pkg.version.split('.')[0],
- minor: opts.pkg.version.split('.')[1],
- patch: opts.pkg.version.split('.')[2],
- prerelease: opts.pkg.version.split('-')[1],
- build: opts.pkg.version.split('+')[1],
- abi: opts.abi || process.versions.modules,
- node_abi: process.versions.modules,
- runtime: opts.runtime || 'node',
- platform: opts.platform,
- arch: opts.arch,
- libc: opts.libc || '',
- configuration: (opts.debug ? 'Debug' : 'Release'),
- module_name: opts.pkg.binary && opts.pkg.binary.module_name,
- tag_prefix: opts['tag-prefix']
- })
-}
-
-function getApiUrl (opts) {
- return github(opts.pkg).replace('github.com', 'api.github.com/repos') + '/releases'
-}
-
-function getAssetUrl (opts, assetId) {
- return getApiUrl(opts) + '/assets/' + assetId
-}
-
-function urlTemplate (opts) {
- if (typeof opts.download === 'string') {
- return opts.download
- }
-
- const packageName = '{name}-v{version}-{runtime}-v{abi}-{platform}{libc}-{arch}.tar.gz'
- const hostMirrorUrl = getHostMirrorUrl(opts)
-
- if (hostMirrorUrl) {
- return hostMirrorUrl + '/{tag_prefix}{version}/' + packageName
- }
-
- if (opts.pkg.binary && opts.pkg.binary.host) {
- return [
- opts.pkg.binary.host,
- opts.pkg.binary.remote_path,
- opts.pkg.binary.package_name || packageName
- ].map(function (path) {
- return trimSlashes(path)
- }).filter(Boolean).join('/')
- }
-
- return github(opts.pkg) + '/releases/download/{tag_prefix}{version}/' + packageName
-}
-
-function getEnvPrefix (pkgName) {
- return 'npm_config_' + (pkgName || '').replace(/[^a-zA-Z0-9]/g, '_').replace(/^_/, '')
-}
-
-function getHostMirrorUrl (opts) {
- const propName = getEnvPrefix(opts.pkg.name) + '_binary_host'
- return process.env[propName] || process.env[propName + '_mirror']
-}
-
-function trimSlashes (str) {
- if (str) return str.replace(/^\.\/|^\/|\/$/g, '')
-}
-
-function cachedPrebuild (url) {
- const digest = crypto.createHash('md5').update(url).digest('hex').slice(0, 6)
- return path.join(prebuildCache(), digest + '-' + path.basename(url).replace(/[^a-zA-Z0-9.]+/g, '-'))
-}
-
-function npmCache () {
- const env = process.env
- return env.npm_config_cache || (env.APPDATA ? path.join(env.APPDATA, 'npm-cache') : path.join(home(), '.npm'))
-}
-
-function prebuildCache () {
- return path.join(npmCache(), '_prebuilds')
-}
-
-function tempFile (cached) {
- return cached + '.' + process.pid + '-' + Math.random().toString(16).slice(2) + '.tmp'
-}
-
-function packageOrigin (env, pkg) {
- // npm <= 6: metadata is stored on disk in node_modules
- if (pkg._from) {
- return pkg._from
- }
-
- // npm 7: metadata is exposed to environment by arborist
- if (env.npm_package_from) {
- // NOTE: seems undefined atm (npm 7.0.2)
- return env.npm_package_from
- }
-
- if (env.npm_package_resolved) {
- // NOTE: not sure about the difference with _from, but it's all we have
- return env.npm_package_resolved
- }
-}
-
-function localPrebuild (url, opts) {
- const propName = getEnvPrefix(opts.pkg.name) + '_local_prebuilds'
- const prefix = process.env[propName] || opts['local-prebuilds'] || 'prebuilds'
- return path.join(prefix, path.basename(url))
-}
-
-const noopLogger = {
- http: function () {},
- silly: function () {},
- debug: function () {},
- info: function () {},
- warn: function () {},
- error: function () {},
- critical: function () {},
- alert: function () {},
- emergency: function () {},
- notice: function () {},
- verbose: function () {},
- fatal: function () {}
-}
-
-exports.getDownloadUrl = getDownloadUrl
-exports.getApiUrl = getApiUrl
-exports.getAssetUrl = getAssetUrl
-exports.urlTemplate = urlTemplate
-exports.cachedPrebuild = cachedPrebuild
-exports.localPrebuild = localPrebuild
-exports.prebuildCache = prebuildCache
-exports.npmCache = npmCache
-exports.tempFile = tempFile
-exports.packageOrigin = packageOrigin
-exports.noopLogger = noopLogger
diff --git a/includes/search/node_modules/process-nextick-args/index.js b/includes/search/node_modules/process-nextick-args/index.js
deleted file mode 100644
index 3eecf11..0000000
--- a/includes/search/node_modules/process-nextick-args/index.js
+++ /dev/null
@@ -1,45 +0,0 @@
-'use strict';
-
-if (typeof process === 'undefined' ||
- !process.version ||
- process.version.indexOf('v0.') === 0 ||
- process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {
- module.exports = { nextTick: nextTick };
-} else {
- module.exports = process
-}
-
-function nextTick(fn, arg1, arg2, arg3) {
- if (typeof fn !== 'function') {
- throw new TypeError('"callback" argument must be a function');
- }
- var len = arguments.length;
- var args, i;
- switch (len) {
- case 0:
- case 1:
- return process.nextTick(fn);
- case 2:
- return process.nextTick(function afterTickOne() {
- fn.call(null, arg1);
- });
- case 3:
- return process.nextTick(function afterTickTwo() {
- fn.call(null, arg1, arg2);
- });
- case 4:
- return process.nextTick(function afterTickThree() {
- fn.call(null, arg1, arg2, arg3);
- });
- default:
- args = new Array(len - 1);
- i = 0;
- while (i < args.length) {
- args[i++] = arguments[i];
- }
- return process.nextTick(function afterTick() {
- fn.apply(null, args);
- });
- }
-}
-
diff --git a/includes/search/node_modules/process-nextick-args/license.md b/includes/search/node_modules/process-nextick-args/license.md
deleted file mode 100644
index c67e353..0000000
--- a/includes/search/node_modules/process-nextick-args/license.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2015 Calvin Metcalf
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.**
diff --git a/includes/search/node_modules/process-nextick-args/package.json b/includes/search/node_modules/process-nextick-args/package.json
deleted file mode 100644
index 6070b72..0000000
--- a/includes/search/node_modules/process-nextick-args/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "process-nextick-args",
- "version": "2.0.1",
- "description": "process.nextTick but always with args",
- "main": "index.js",
- "files": [
- "index.js"
- ],
- "scripts": {
- "test": "node test.js"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/calvinmetcalf/process-nextick-args.git"
- },
- "author": "",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/calvinmetcalf/process-nextick-args/issues"
- },
- "homepage": "https://github.com/calvinmetcalf/process-nextick-args",
- "devDependencies": {
- "tap": "~0.2.6"
- }
-}
diff --git a/includes/search/node_modules/process-nextick-args/readme.md b/includes/search/node_modules/process-nextick-args/readme.md
deleted file mode 100644
index ecb432c..0000000
--- a/includes/search/node_modules/process-nextick-args/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-process-nextick-args
-=====
-
-[![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args)
-
-```bash
-npm install --save process-nextick-args
-```
-
-Always be able to pass arguments to process.nextTick, no matter the platform
-
-```js
-var pna = require('process-nextick-args');
-
-pna.nextTick(function (a, b, c) {
- console.log(a, b, c);
-}, 'step', 3, 'profit');
-```
diff --git a/includes/search/node_modules/progress/CHANGELOG.md b/includes/search/node_modules/progress/CHANGELOG.md
deleted file mode 100644
index d9be0aa..0000000
--- a/includes/search/node_modules/progress/CHANGELOG.md
+++ /dev/null
@@ -1,115 +0,0 @@
-
-2.0.0 / 2017-04-04
-==================
-
- * Fix: check before using stream.clearLine to prevent crash in Docker
- * Fix: fixed output multiline on windows cmd
- * Fix: Bug with array length when window is too small
- * Fix: Don't clear whole line every time; instead, clear everything after end of line
- * Fix: Use `this.stream` instead of `console.log` when terminating a progress bar to ensure that, if a writable stream is provided, it uses that rather than process.stdout
- * Fix: Bug causing potentially stale tokens on render
- * Feature: configurable cursor
- * Feature: feature to interrupt the bar and display a message
- * Feature: Add rate reporting to progress bar
- * Improvement: Add head option to specify head character
- * Improvement: Rename tickTokens to tokens
- * Improvement: Change default throttle time to 16ms
- * Improvement: Rename renderDelay to renderThrottle
- * Improvement: Add delay between render updates
- * Docs: Add example and documentation for custom token usage
- * Docs: Add head option to readme
- * Docs: Updated README example for public use
- * Docs: Add renderThrottle option to code documentation
-
-1.1.7 / 2014-06-30
-==================
-
- * fixed a bug that occurs when a progress bar attempts to draw itself
- on a console with very few columns
-
-1.1.6 / 2014-06-16
-==================
-
- * now prevents progress bar from exceeding TTY width by limiting its width to
- the with of the TTY
-
-1.1.5 / 2014-03-25
-==================
-
- * updated documentation and various other repo maintenance
- * updated makefile to run examples with `make`
- * removed dependency on readline module
-
-1.1.4 / 2014-03-14
-==================
-
- * now supports streams, for example output progress bar to stderr, while piping
- stdout
- * increases performance and flicker by remembering the last drawn progress bar
-
-1.1.3 / 2013-12-31
-==================
-
- * fixes a bug where bar would bug when initializing
- * allows to pass updated tokens when ticking or updating the bar
- * fixes a bug where the bar would throw if skipping to far
-
-1.1.2 / 2013-10-17
-==================
-
- * lets you pass an `fmt` and a `total` instead of an options object
-
-1.1.0 / 2013-09-18
-==================
-
- * eta and elapsed tokens default to 0.0 instead of ?.?
- * better JSDocs
- * added back and forth example
- * added method to update the progress bar to a specific percentage
- * added an option to hide the bar on completion
-
-1.0.1 / 2013-08-07
-==================
-
- * on os x readline now works, reverting the terminal hack
-
-1.0.0 / 2013-06-18
-==================
-
- * remove .version
- * merge pull request #15 from davglass/readline-osx
- * on OSX revert back to terminal hack to avoid a readline bug
-
-0.1.0 / 2012-09-19
-==================
-
- * fixed logic bug that caused bar to jump one extra space at the end [davglass]
- * working with readline impl, even on Windows [davglass]
- * using readline instead of the \r hack [davglass]
-
-0.0.5 / 2012-08-07
-==================
-
- * add ability to tick by zero chunks - tick(0)
- * fix ETA. Closes #4 [lwille]
-
-0.0.4 / 2011-11-14
-==================
-
- * allow more recent versions of node
-
-0.0.3 / 2011-04-20
-==================
-
- * changed; erase the line when complete
-
-0.0.2 / 2011-04-20
-==================
-
- * added custom tokens support
- * fixed; clear line before writing
-
-0.0.1 / 2010-01-03
-==================
-
- * initial release
diff --git a/includes/search/node_modules/progress/LICENSE b/includes/search/node_modules/progress/LICENSE
deleted file mode 100644
index 4608b39..0000000
--- a/includes/search/node_modules/progress/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2017 TJ Holowaychuk <tj@vision-media.ca>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/progress/Makefile b/includes/search/node_modules/progress/Makefile
deleted file mode 100644
index f933be1..0000000
--- a/includes/search/node_modules/progress/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-
-EXAMPLES = $(foreach EXAMPLE, $(wildcard examples/*.js), $(EXAMPLE))
-
-.PHONY: test
-test: $(EXAMPLES)
-
-.PHONY: $(EXAMPLES)
-$(EXAMPLES): ; node $@ && echo
diff --git a/includes/search/node_modules/progress/Readme.md b/includes/search/node_modules/progress/Readme.md
deleted file mode 100644
index 6d4271a..0000000
--- a/includes/search/node_modules/progress/Readme.md
+++ /dev/null
@@ -1,146 +0,0 @@
-Flexible ascii progress bar.
-
-## Installation
-
-```bash
-$ npm install progress
-```
-
-## Usage
-
-First we create a `ProgressBar`, giving it a format string
-as well as the `total`, telling the progress bar when it will
-be considered complete. After that all we need to do is `tick()` appropriately.
-
-```javascript
-var ProgressBar = require('progress');
-
-var bar = new ProgressBar(':bar', { total: 10 });
-var timer = setInterval(function () {
- bar.tick();
- if (bar.complete) {
- console.log('\ncomplete\n');
- clearInterval(timer);
- }
-}, 100);
-```
-
-### Options
-
-These are keys in the options object you can pass to the progress bar along with
-`total` as seen in the example above.
-
-- `curr` current completed index
-- `total` total number of ticks to complete
-- `width` the displayed width of the progress bar defaulting to total
-- `stream` the output stream defaulting to stderr
-- `head` head character defaulting to complete character
-- `complete` completion character defaulting to "="
-- `incomplete` incomplete character defaulting to "-"
-- `renderThrottle` minimum time between updates in milliseconds defaulting to 16
-- `clear` option to clear the bar on completion defaulting to false
-- `callback` optional function to call when the progress bar completes
-
-### Tokens
-
-These are tokens you can use in the format of your progress bar.
-
-- `:bar` the progress bar itself
-- `:current` current tick number
-- `:total` total ticks
-- `:elapsed` time elapsed in seconds
-- `:percent` completion percentage
-- `:eta` estimated completion time in seconds
-- `:rate` rate of ticks per second
-
-### Custom Tokens
-
-You can define custom tokens by adding a `{'name': value}` object parameter to your method (`tick()`, `update()`, etc.) calls.
-
-```javascript
-var bar = new ProgressBar(':current: :token1 :token2', { total: 3 })
-bar.tick({
- 'token1': "Hello",
- 'token2': "World!\n"
-})
-bar.tick(2, {
- 'token1': "Goodbye",
- 'token2': "World!"
-})
-```
-The above example would result in the output below.
-
-```
-1: Hello World!
-3: Goodbye World!
-```
-
-## Examples
-
-### Download
-
-In our download example each tick has a variable influence, so we pass the chunk
-length which adjusts the progress bar appropriately relative to the total
-length.
-
-```javascript
-var ProgressBar = require('progress');
-var https = require('https');
-
-var req = https.request({
- host: 'download.github.com',
- port: 443,
- path: '/visionmedia-node-jscoverage-0d4608a.zip'
-});
-
-req.on('response', function(res){
- var len = parseInt(res.headers['content-length'], 10);
-
- console.log();
- var bar = new ProgressBar(' downloading [:bar] :rate/bps :percent :etas', {
- complete: '=',
- incomplete: ' ',
- width: 20,
- total: len
- });
-
- res.on('data', function (chunk) {
- bar.tick(chunk.length);
- });
-
- res.on('end', function () {
- console.log('\n');
- });
-});
-
-req.end();
-```
-
-The above example result in a progress bar like the one below.
-
-```
-downloading [===== ] 39/bps 29% 3.7s
-```
-
-### Interrupt
-
-To display a message during progress bar execution, use `interrupt()`
-```javascript
-var ProgressBar = require('progress');
-
-var bar = new ProgressBar(':bar :current/:total', { total: 10 });
-var timer = setInterval(function () {
- bar.tick();
- if (bar.complete) {
- clearInterval(timer);
- } else if (bar.curr === 5) {
- bar.interrupt('this message appears above the progress bar\ncurrent progress is ' + bar.curr + '/' + bar.total);
- }
-}, 1000);
-```
-
-You can see more examples in the `examples` folder.
-
-## License
-
-MIT
diff --git a/includes/search/node_modules/progress/index.js b/includes/search/node_modules/progress/index.js
deleted file mode 100644
index 4449dd3..0000000
--- a/includes/search/node_modules/progress/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./lib/node-progress');
diff --git a/includes/search/node_modules/progress/lib/node-progress.js b/includes/search/node_modules/progress/lib/node-progress.js
deleted file mode 100644
index 8eb0740..0000000
--- a/includes/search/node_modules/progress/lib/node-progress.js
+++ /dev/null
@@ -1,236 +0,0 @@
-/*!
- * node-progress
- * Copyright(c) 2011 TJ Holowaychuk <tj@vision-media.ca>
- * MIT Licensed
- */
-
-/**
- * Expose `ProgressBar`.
- */
-
-exports = module.exports = ProgressBar;
-
-/**
- * Initialize a `ProgressBar` with the given `fmt` string and `options` or
- * `total`.
- *
- * Options:
- *
- * - `curr` current completed index
- * - `total` total number of ticks to complete
- * - `width` the displayed width of the progress bar defaulting to total
- * - `stream` the output stream defaulting to stderr
- * - `head` head character defaulting to complete character
- * - `complete` completion character defaulting to "="
- * - `incomplete` incomplete character defaulting to "-"
- * - `renderThrottle` minimum time between updates in milliseconds defaulting to 16
- * - `callback` optional function to call when the progress bar completes
- * - `clear` will clear the progress bar upon termination
- *
- * Tokens:
- *
- * - `:bar` the progress bar itself
- * - `:current` current tick number
- * - `:total` total ticks
- * - `:elapsed` time elapsed in seconds
- * - `:percent` completion percentage
- * - `:eta` eta in seconds
- * - `:rate` rate of ticks per second
- *
- * @param {string} fmt
- * @param {object|number} options or total
- * @api public
- */
-
-function ProgressBar(fmt, options) {
- this.stream = options.stream || process.stderr;
-
- if (typeof(options) == 'number') {
- var total = options;
- options = {};
- options.total = total;
- } else {
- options = options || {};
- if ('string' != typeof fmt) throw new Error('format required');
- if ('number' != typeof options.total) throw new Error('total required');
- }
-
- this.fmt = fmt;
- this.curr = options.curr || 0;
- this.total = options.total;
- this.width = options.width || this.total;
- this.clear = options.clear
- this.chars = {
- complete : options.complete || '=',
- incomplete : options.incomplete || '-',
- head : options.head || (options.complete || '=')
- };
- this.renderThrottle = options.renderThrottle !== 0 ? (options.renderThrottle || 16) : 0;
- this.lastRender = -Infinity;
- this.callback = options.callback || function () {};
- this.tokens = {};
- this.lastDraw = '';
-}
-
-/**
- * "tick" the progress bar with optional `len` and optional `tokens`.
- *
- * @param {number|object} len or tokens
- * @param {object} tokens
- * @api public
- */
-
-ProgressBar.prototype.tick = function(len, tokens){
- if (len !== 0)
- len = len || 1;
-
- // swap tokens
- if ('object' == typeof len) tokens = len, len = 1;
- if (tokens) this.tokens = tokens;
-
- // start time for eta
- if (0 == this.curr) this.start = new Date;
-
- this.curr += len
-
- // try to render
- this.render();
-
- // progress complete
- if (this.curr >= this.total) {
- this.render(undefined, true);
- this.complete = true;
- this.terminate();
- this.callback(this);
- return;
- }
-};
-
-/**
- * Method to render the progress bar with optional `tokens` to place in the
- * progress bar's `fmt` field.
- *
- * @param {object} tokens
- * @api public
- */
-
-ProgressBar.prototype.render = function (tokens, force) {
- force = force !== undefined ? force : false;
- if (tokens) this.tokens = tokens;
-
- if (!this.stream.isTTY) return;
-
- var now = Date.now();
- var delta = now - this.lastRender;
- if (!force && (delta < this.renderThrottle)) {
- return;
- } else {
- this.lastRender = now;
- }
-
- var ratio = this.curr / this.total;
- ratio = Math.min(Math.max(ratio, 0), 1);
-
- var percent = Math.floor(ratio * 100);
- var incomplete, complete, completeLength;
- var elapsed = new Date - this.start;
- var eta = (percent == 100) ? 0 : elapsed * (this.total / this.curr - 1);
- var rate = this.curr / (elapsed / 1000);
-
- /* populate the bar template with percentages and timestamps */
- var str = this.fmt
- .replace(':current', this.curr)
- .replace(':total', this.total)
- .replace(':elapsed', isNaN(elapsed) ? '0.0' : (elapsed / 1000).toFixed(1))
- .replace(':eta', (isNaN(eta) || !isFinite(eta)) ? '0.0' : (eta / 1000)
- .toFixed(1))
- .replace(':percent', percent.toFixed(0) + '%')
- .replace(':rate', Math.round(rate));
-
- /* compute the available space (non-zero) for the bar */
- var availableSpace = Math.max(0, this.stream.columns - str.replace(':bar', '').length);
- if(availableSpace && process.platform === 'win32'){
- availableSpace = availableSpace - 1;
- }
-
- var width = Math.min(this.width, availableSpace);
-
- /* TODO: the following assumes the user has one ':bar' token */
- completeLength = Math.round(width * ratio);
- complete = Array(Math.max(0, completeLength + 1)).join(this.chars.complete);
- incomplete = Array(Math.max(0, width - completeLength + 1)).join(this.chars.incomplete);
-
- /* add head to the complete string */
- if(completeLength > 0)
- complete = complete.slice(0, -1) + this.chars.head;
-
- /* fill in the actual progress bar */
- str = str.replace(':bar', complete + incomplete);
-
- /* replace the extra tokens */
- if (this.tokens) for (var key in this.tokens) str = str.replace(':' + key, this.tokens[key]);
-
- if (this.lastDraw !== str) {
- this.stream.cursorTo(0);
- this.stream.write(str);
- this.stream.clearLine(1);
- this.lastDraw = str;
- }
-};
-
-/**
- * "update" the progress bar to represent an exact percentage.
- * The ratio (between 0 and 1) specified will be multiplied by `total` and
- * floored, representing the closest available "tick." For example, if a
- * progress bar has a length of 3 and `update(0.5)` is called, the progress
- * will be set to 1.
- *
- * A ratio of 0.5 will attempt to set the progress to halfway.
- *
- * @param {number} ratio The ratio (between 0 and 1 inclusive) to set the
- * overall completion to.
- * @api public
- */
-
-ProgressBar.prototype.update = function (ratio, tokens) {
- var goal = Math.floor(ratio * this.total);
- var delta = goal - this.curr;
-
- this.tick(delta, tokens);
-};
-
-/**
- * "interrupt" the progress bar and write a message above it.
- * @param {string} message The message to write.
- * @api public
- */
-
-ProgressBar.prototype.interrupt = function (message) {
- // clear the current line
- this.stream.clearLine();
- // move the cursor to the start of the line
- this.stream.cursorTo(0);
- // write the message text
- this.stream.write(message);
- // terminate the line after writing the message
- this.stream.write('\n');
- // re-display the progress bar with its lastDraw
- this.stream.write(this.lastDraw);
-};
-
-/**
- * Terminates a progress bar.
- *
- * @api public
- */
-
-ProgressBar.prototype.terminate = function () {
- if (this.clear) {
- if (this.stream.clearLine) {
- this.stream.clearLine();
- this.stream.cursorTo(0);
- }
- } else {
- this.stream.write('\n');
- }
-};
diff --git a/includes/search/node_modules/progress/package.json b/includes/search/node_modules/progress/package.json
deleted file mode 100644
index bb81fa0..0000000
--- a/includes/search/node_modules/progress/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "progress",
- "version": "2.0.3",
- "description": "Flexible ascii progress bar",
- "repository": {
- "type": "git",
- "url": "git://github.com/visionmedia/node-progress"
- },
- "keywords": [
- "cli",
- "progress"
- ],
- "author": "TJ Holowaychuk <tj@vision-media.ca>",
- "contributors": [
- "Christoffer Hallas <christoffer.hallas@gmail.com>",
- "Jordan Scales <scalesjordan@gmail.com>",
- "Andrew Rhyne <rhyneandrew@gmail.com>",
- "Marco Brack <PapstDonB@Googlemail.com>"
- ],
- "dependencies": {},
- "main": "./index.js",
- "engines": {
- "node": ">=0.4.0"
- },
- "license": "MIT"
-}
diff --git a/includes/search/node_modules/pump/.travis.yml b/includes/search/node_modules/pump/.travis.yml
deleted file mode 100644
index 17f9433..0000000
--- a/includes/search/node_modules/pump/.travis.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-language: node_js
-node_js:
- - "0.10"
-
-script: "npm test"
diff --git a/includes/search/node_modules/pump/LICENSE b/includes/search/node_modules/pump/LICENSE
deleted file mode 100644
index 757562e..0000000
--- a/includes/search/node_modules/pump/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Mathias Buus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/pump/README.md b/includes/search/node_modules/pump/README.md
deleted file mode 100644
index 4c81471..0000000
--- a/includes/search/node_modules/pump/README.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# pump
-
-pump is a small node module that pipes streams together and destroys all of them if one of them closes.
-
-```
-npm install pump
-```
-
-[![build status](http://img.shields.io/travis/mafintosh/pump.svg?style=flat)](http://travis-ci.org/mafintosh/pump)
-
-## What problem does it solve?
-
-When using standard `source.pipe(dest)` source will _not_ be destroyed if dest emits close or an error.
-You are also not able to provide a callback to tell when then pipe has finished.
-
-pump does these two things for you
-
-## Usage
-
-Simply pass the streams you want to pipe together to pump and add an optional callback
-
-``` js
-var pump = require('pump')
-var fs = require('fs')
-
-var source = fs.createReadStream('/dev/random')
-var dest = fs.createWriteStream('/dev/null')
-
-pump(source, dest, function(err) {
- console.log('pipe finished', err)
-})
-
-setTimeout(function() {
- dest.destroy() // when dest is closed pump will destroy source
-}, 1000)
-```
-
-You can use pump to pipe more than two streams together as well
-
-``` js
-var transform = someTransformStream()
-
-pump(source, transform, anotherTransform, dest, function(err) {
- console.log('pipe finished', err)
-})
-```
-
-If `source`, `transform`, `anotherTransform` or `dest` closes all of them will be destroyed.
-
-Similarly to `stream.pipe()`, `pump()` returns the last stream passed in, so you can do:
-
-```
-return pump(s1, s2) // returns s2
-```
-
-If you want to return a stream that combines *both* s1 and s2 to a single stream use
-[pumpify](https://github.com/mafintosh/pumpify) instead.
-
-## License
-
-MIT
-
-## Related
-
-`pump` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one.
diff --git a/includes/search/node_modules/pump/index.js b/includes/search/node_modules/pump/index.js
deleted file mode 100644
index c15059f..0000000
--- a/includes/search/node_modules/pump/index.js
+++ /dev/null
@@ -1,82 +0,0 @@
-var once = require('once')
-var eos = require('end-of-stream')
-var fs = require('fs') // we only need fs to get the ReadStream and WriteStream prototypes
-
-var noop = function () {}
-var ancient = /^v?\.0/.test(process.version)
-
-var isFn = function (fn) {
- return typeof fn === 'function'
-}
-
-var isFS = function (stream) {
- if (!ancient) return false // newer node version do not need to care about fs is a special way
- if (!fs) return false // browser
- return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close)
-}
-
-var isRequest = function (stream) {
- return stream.setHeader && isFn(stream.abort)
-}
-
-var destroyer = function (stream, reading, writing, callback) {
- callback = once(callback)
-
- var closed = false
- stream.on('close', function () {
- closed = true
- })
-
- eos(stream, {readable: reading, writable: writing}, function (err) {
- if (err) return callback(err)
- closed = true
- callback()
- })
-
- var destroyed = false
- return function (err) {
- if (closed) return
- if (destroyed) return
- destroyed = true
-
- if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks
- if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want
-
- if (isFn(stream.destroy)) return stream.destroy()
-
- callback(err || new Error('stream was destroyed'))
- }
-}
-
-var call = function (fn) {
- fn()
-}
-
-var pipe = function (from, to) {
- return from.pipe(to)
-}
-
-var pump = function () {
- var streams = Array.prototype.slice.call(arguments)
- var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop
-
- if (Array.isArray(streams[0])) streams = streams[0]
- if (streams.length < 2) throw new Error('pump requires two streams per minimum')
-
- var error
- var destroys = streams.map(function (stream, i) {
- var reading = i < streams.length - 1
- var writing = i > 0
- return destroyer(stream, reading, writing, function (err) {
- if (!error) error = err
- if (err) destroys.forEach(call)
- if (reading) return
- destroys.forEach(call)
- callback(error)
- })
- })
-
- return streams.reduce(pipe)
-}
-
-module.exports = pump
diff --git a/includes/search/node_modules/pump/package.json b/includes/search/node_modules/pump/package.json
deleted file mode 100644
index 0b838f9..0000000
--- a/includes/search/node_modules/pump/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "pump",
- "version": "3.0.0",
- "repository": "git://github.com/mafintosh/pump.git",
- "license": "MIT",
- "description": "pipe streams together and close all of them if one of them closes",
- "browser": {
- "fs": false
- },
- "keywords": [
- "streams",
- "pipe",
- "destroy",
- "callback"
- ],
- "author": "Mathias Buus Madsen <mathiasbuus@gmail.com>",
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- },
- "scripts": {
- "test": "node test-browser.js && node test-node.js"
- }
-}
diff --git a/includes/search/node_modules/pump/test-browser.js b/includes/search/node_modules/pump/test-browser.js
deleted file mode 100644
index 9a06c8a..0000000
--- a/includes/search/node_modules/pump/test-browser.js
+++ /dev/null
@@ -1,66 +0,0 @@
-var stream = require('stream')
-var pump = require('./index')
-
-var rs = new stream.Readable()
-var ws = new stream.Writable()
-
-rs._read = function (size) {
- this.push(Buffer(size).fill('abc'))
-}
-
-ws._write = function (chunk, encoding, cb) {
- setTimeout(function () {
- cb()
- }, 100)
-}
-
-var toHex = function () {
- var reverse = new (require('stream').Transform)()
-
- reverse._transform = function (chunk, enc, callback) {
- reverse.push(chunk.toString('hex'))
- callback()
- }
-
- return reverse
-}
-
-var wsClosed = false
-var rsClosed = false
-var callbackCalled = false
-
-var check = function () {
- if (wsClosed && rsClosed && callbackCalled) {
- console.log('test-browser.js passes')
- clearTimeout(timeout)
- }
-}
-
-ws.on('finish', function () {
- wsClosed = true
- check()
-})
-
-rs.on('end', function () {
- rsClosed = true
- check()
-})
-
-var res = pump(rs, toHex(), toHex(), toHex(), ws, function () {
- callbackCalled = true
- check()
-})
-
-if (res !== ws) {
- throw new Error('should return last stream')
-}
-
-setTimeout(function () {
- rs.push(null)
- rs.emit('close')
-}, 1000)
-
-var timeout = setTimeout(function () {
- check()
- throw new Error('timeout')
-}, 5000)
diff --git a/includes/search/node_modules/pump/test-node.js b/includes/search/node_modules/pump/test-node.js
deleted file mode 100644
index 561251a..0000000
--- a/includes/search/node_modules/pump/test-node.js
+++ /dev/null
@@ -1,53 +0,0 @@
-var pump = require('./index')
-
-var rs = require('fs').createReadStream('/dev/random')
-var ws = require('fs').createWriteStream('/dev/null')
-
-var toHex = function () {
- var reverse = new (require('stream').Transform)()
-
- reverse._transform = function (chunk, enc, callback) {
- reverse.push(chunk.toString('hex'))
- callback()
- }
-
- return reverse
-}
-
-var wsClosed = false
-var rsClosed = false
-var callbackCalled = false
-
-var check = function () {
- if (wsClosed && rsClosed && callbackCalled) {
- console.log('test-node.js passes')
- clearTimeout(timeout)
- }
-}
-
-ws.on('close', function () {
- wsClosed = true
- check()
-})
-
-rs.on('close', function () {
- rsClosed = true
- check()
-})
-
-var res = pump(rs, toHex(), toHex(), toHex(), ws, function () {
- callbackCalled = true
- check()
-})
-
-if (res !== ws) {
- throw new Error('should return last stream')
-}
-
-setTimeout(function () {
- rs.destroy()
-}, 1000)
-
-var timeout = setTimeout(function () {
- throw new Error('timeout')
-}, 5000)
diff --git a/includes/search/node_modules/queue-microtask/LICENSE b/includes/search/node_modules/queue-microtask/LICENSE
deleted file mode 100755
index c7e6852..0000000
--- a/includes/search/node_modules/queue-microtask/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Feross Aboukhadijeh
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/queue-microtask/README.md b/includes/search/node_modules/queue-microtask/README.md
deleted file mode 100644
index 0be05a6..0000000
--- a/includes/search/node_modules/queue-microtask/README.md
+++ /dev/null
@@ -1,90 +0,0 @@
-# queue-microtask [![ci][ci-image]][ci-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[ci-image]: https://img.shields.io/github/workflow/status/feross/queue-microtask/ci/master
-[ci-url]: https://github.com/feross/queue-microtask/actions
-[npm-image]: https://img.shields.io/npm/v/queue-microtask.svg
-[npm-url]: https://npmjs.org/package/queue-microtask
-[downloads-image]: https://img.shields.io/npm/dm/queue-microtask.svg
-[downloads-url]: https://npmjs.org/package/queue-microtask
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-### fast, tiny [`queueMicrotask`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/queueMicrotask) shim for modern engines
-
-- Use [`queueMicrotask`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/queueMicrotask) in all modern JS engines.
-- No dependencies. Less than 10 lines. No shims or complicated fallbacks.
-- Optimal performance in all modern environments
- - Uses `queueMicrotask` in modern environments
- - Fallback to `Promise.resolve().then(fn)` in Node.js 10 and earlier, and old browsers (same performance as `queueMicrotask`)
-
-## install
-
-```
-npm install queue-microtask
-```
-
-## usage
-
-```js
-const queueMicrotask = require('queue-microtask')
-
-queueMicrotask(() => { /* this will run soon */ })
-```
-
-## What is `queueMicrotask` and why would one use it?
-
-The `queueMicrotask` function is a WHATWG standard. It queues a microtask to be executed prior to control returning to the event loop.
-
-A microtask is a short function which will run after the current task has completed its work and when there is no other code waiting to be run before control of the execution context is returned to the event loop.
-
-The code `queueMicrotask(fn)` is equivalent to the code `Promise.resolve().then(fn)`. It is also very similar to [`process.nextTick(fn)`](https://nodejs.org/api/process.html#process_process_nexttick_callback_args) in Node.
-
-Using microtasks lets code run without interfering with any other, potentially higher priority, code that is pending, but before the JS engine regains control over the execution context.
-
-See the [spec](https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#microtask-queuing) or [Node documentation](https://nodejs.org/api/globals.html#globals_queuemicrotask_callback) for more information.
-
-## Who is this package for?
-
-This package allows you to use `queueMicrotask` safely in all modern JS engines. Use it if you prioritize small JS bundle size over support for old browsers.
-
-If you just need to support Node 12 and later, use `queueMicrotask` directly. If you need to support all versions of Node, use this package.
-
-## Why not use `process.nextTick`?
-
-In Node, `queueMicrotask` and `process.nextTick` are [essentially equivalent](https://nodejs.org/api/globals.html#globals_queuemicrotask_callback), though there are [subtle differences](https://github.com/YuzuJS/setImmediate#macrotasks-and-microtasks) that don't matter in most situations.
-
-You can think of `queueMicrotask` as a standardized version of `process.nextTick` that works in the browser. No need to rely on your browser bundler to shim `process` for the browser environment.
-
-## Why not use `setTimeout(fn, 0)`?
-
-This approach is the most compatible, but it has problems. Modern browsers throttle timers severely, so `setTimeout(…, 0)` usually takes at least 4ms to run. Furthermore, the throttling gets even worse if the page is backgrounded. If you have many `setTimeout` calls, then this can severely limit the performance of your program.
-
-## Why not use a microtask library like [`immediate`](https://www.npmjs.com/package/immediate) or [`asap`](https://www.npmjs.com/package/asap)?
-
-These packages are great! However, if you prioritize small JS bundle size over optimal performance in old browsers then you may want to consider this package.
-
-This package (`queue-microtask`) is four times smaller than `immediate`, twice as small as `asap`, and twice as small as using `process.nextTick` and letting the browser bundler shim it automatically.
-
-Note: This package throws an exception in JS environments which lack `Promise` support -- which are usually very old browsers and Node.js versions.
-
-Since the `queueMicrotask` API is supported in Node.js, Chrome, Firefox, Safari, Opera, and Edge, **the vast majority of users will get optimal performance**. Any JS environment with `Promise`, which is almost all of them, also get optimal performance. If you need support for JS environments which lack `Promise` support, use one of the alternative packages.
-
-## What is a shim?
-
-> In computer programming, a shim is a library that transparently intercepts API calls and changes the arguments passed, handles the operation itself or redirects the operation elsewhere. – [Wikipedia](https://en.wikipedia.org/wiki/Shim_(computing))
-
-This package could also be described as a "ponyfill".
-
-> A ponyfill is almost the same as a polyfill, but not quite. Instead of patching functionality for older browsers, a ponyfill provides that functionality as a standalone module you can use. – [PonyFoo](https://ponyfoo.com/articles/polyfills-or-ponyfills)
-
-## API
-
-### `queueMicrotask(fn)`
-
-The `queueMicrotask()` method queues a microtask.
-
-The `fn` argument is a function to be executed after all pending tasks have completed but before yielding control to the browser's event loop.
-
-## license
-
-MIT. Copyright (c) [Feross Aboukhadijeh](https://feross.org).
diff --git a/includes/search/node_modules/queue-microtask/index.d.ts b/includes/search/node_modules/queue-microtask/index.d.ts
deleted file mode 100644
index b6a8646..0000000
--- a/includes/search/node_modules/queue-microtask/index.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const queueMicrotask: (cb: () => void) => void
-export = queueMicrotask
diff --git a/includes/search/node_modules/queue-microtask/index.js b/includes/search/node_modules/queue-microtask/index.js
deleted file mode 100644
index 5560534..0000000
--- a/includes/search/node_modules/queue-microtask/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
-let promise
-
-module.exports = typeof queueMicrotask === 'function'
- ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global)
- // reuse resolved promise, and allocate it lazily
- : cb => (promise || (promise = Promise.resolve()))
- .then(cb)
- .catch(err => setTimeout(() => { throw err }, 0))
diff --git a/includes/search/node_modules/queue-microtask/package.json b/includes/search/node_modules/queue-microtask/package.json
deleted file mode 100644
index d29a401..0000000
--- a/includes/search/node_modules/queue-microtask/package.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "name": "queue-microtask",
- "description": "fast, tiny `queueMicrotask` shim for modern engines",
- "version": "1.2.3",
- "author": {
- "name": "Feross Aboukhadijeh",
- "email": "feross@feross.org",
- "url": "https://feross.org"
- },
- "bugs": {
- "url": "https://github.com/feross/queue-microtask/issues"
- },
- "devDependencies": {
- "standard": "*",
- "tape": "^5.2.2"
- },
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "homepage": "https://github.com/feross/queue-microtask",
- "keywords": [
- "asap",
- "immediate",
- "micro task",
- "microtask",
- "nextTick",
- "process.nextTick",
- "queue micro task",
- "queue microtask",
- "queue-microtask",
- "queueMicrotask",
- "setImmediate",
- "task"
- ],
- "license": "MIT",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/feross/queue-microtask.git"
- },
- "scripts": {
- "test": "standard && tape test/*.js"
- }
-}
diff --git a/includes/search/node_modules/rc/LICENSE.APACHE2 b/includes/search/node_modules/rc/LICENSE.APACHE2
deleted file mode 100644
index 6366c04..0000000
--- a/includes/search/node_modules/rc/LICENSE.APACHE2
+++ /dev/null
@@ -1,15 +0,0 @@
-Apache License, Version 2.0
-
-Copyright (c) 2011 Dominic Tarr
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
diff --git a/includes/search/node_modules/rc/LICENSE.BSD b/includes/search/node_modules/rc/LICENSE.BSD
deleted file mode 100644
index 96bb796..0000000
--- a/includes/search/node_modules/rc/LICENSE.BSD
+++ /dev/null
@@ -1,26 +0,0 @@
-Copyright (c) 2013, Dominic Tarr
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-The views and conclusions contained in the software and documentation are those
-of the authors and should not be interpreted as representing official policies,
-either expressed or implied, of the FreeBSD Project.
diff --git a/includes/search/node_modules/rc/LICENSE.MIT b/includes/search/node_modules/rc/LICENSE.MIT
deleted file mode 100644
index 6eafbd7..0000000
--- a/includes/search/node_modules/rc/LICENSE.MIT
+++ /dev/null
@@ -1,24 +0,0 @@
-The MIT License
-
-Copyright (c) 2011 Dominic Tarr
-
-Permission is hereby granted, free of charge,
-to any person obtaining a copy of this software and
-associated documentation files (the "Software"), to
-deal in the Software without restriction, including
-without limitation the rights to use, copy, modify,
-merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom
-the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice
-shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
-ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/rc/README.md b/includes/search/node_modules/rc/README.md
deleted file mode 100644
index e6522e2..0000000
--- a/includes/search/node_modules/rc/README.md
+++ /dev/null
@@ -1,227 +0,0 @@
-# rc
-
-The non-configurable configuration loader for lazy people.
-
-## Usage
-
-The only option is to pass rc the name of your app, and your default configuration.
-
-```javascript
-var conf = require('rc')(appname, {
- //defaults go here.
- port: 2468,
-
- //defaults which are objects will be merged, not replaced
- views: {
- engine: 'jade'
- }
-});
-```
-
-`rc` will return your configuration options merged with the defaults you specify.
-If you pass in a predefined defaults object, it will be mutated:
-
-```javascript
-var conf = {};
-require('rc')(appname, conf);
-```
-
-If `rc` finds any config files for your app, the returned config object will have
-a `configs` array containing their paths:
-
-```javascript
-var appCfg = require('rc')(appname, conf);
-appCfg.configs[0] // /etc/appnamerc
-appCfg.configs[1] // /home/dominictarr/.config/appname
-appCfg.config // same as appCfg.configs[appCfg.configs.length - 1]
-```
-
-## Standards
-
-Given your application name (`appname`), rc will look in all the obvious places for configuration.
-
- * command line arguments, parsed by minimist _(e.g. `--foo baz`, also nested: `--foo.bar=baz`)_
- * environment variables prefixed with `${appname}_`
- * or use "\_\_" to indicate nested properties <br/> _(e.g. `appname_foo__bar__baz` => `foo.bar.baz`)_
- * if you passed an option `--config file` then from that file
- * a local `.${appname}rc` or the first found looking in `./ ../ ../../ ../../../` etc.
- * `$HOME/.${appname}rc`
- * `$HOME/.${appname}/config`
- * `$HOME/.config/${appname}`
- * `$HOME/.config/${appname}/config`
- * `/etc/${appname}rc`
- * `/etc/${appname}/config`
- * the defaults object you passed in.
-
-All configuration sources that were found will be flattened into one object,
-so that sources **earlier** in this list override later ones.
-
-
-## Configuration File Formats
-
-Configuration files (e.g. `.appnamerc`) may be in either [json](http://json.org/example) or [ini](http://en.wikipedia.org/wiki/INI_file) format. **No** file extension (`.json` or `.ini`) should be used. The example configurations below are equivalent:
-
-
-#### Formatted as `ini`
-
-```
-; You can include comments in `ini` format if you want.
-
-dependsOn=0.10.0
-
-
-; `rc` has built-in support for ini sections, see?
-
-[commands]
- www = ./commands/www
- console = ./commands/repl
-
-
-; You can even do nested sections
-
-[generators.options]
- engine = ejs
-
-[generators.modules]
- new = generate-new
- engine = generate-backend
-
-```
-
-#### Formatted as `json`
-
-```javascript
-{
- // You can even comment your JSON, if you want
- "dependsOn": "0.10.0",
- "commands": {
- "www": "./commands/www",
- "console": "./commands/repl"
- },
- "generators": {
- "options": {
- "engine": "ejs"
- },
- "modules": {
- "new": "generate-new",
- "backend": "generate-backend"
- }
- }
-}
-```
-
-Comments are stripped from JSON config via [strip-json-comments](https://github.com/sindresorhus/strip-json-comments).
-
-> Since ini, and env variables do not have a standard for types, your application needs be prepared for strings.
-
-To ensure that string representations of booleans and numbers are always converted into their proper types (especially useful if you intend to do strict `===` comparisons), consider using a module such as [parse-strings-in-object](https://github.com/anselanza/parse-strings-in-object) to wrap the config object returned from rc.
-
-
-## Simple example demonstrating precedence
-Assume you have an application like this (notice the hard-coded defaults passed to rc):
-```
-const conf = require('rc')('myapp', {
- port: 12345,
- mode: 'test'
-});
-
-console.log(JSON.stringify(conf, null, 2));
-```
-You also have a file `config.json`, with these contents:
-```
-{
- "port": 9000,
- "foo": "from config json",
- "something": "else"
-}
-```
-And a file `.myapprc` in the same folder, with these contents:
-```
-{
- "port": "3001",
- "foo": "bar"
-}
-```
-Here is the expected output from various commands:
-
-`node .`
-```
-{
- "port": "3001",
- "mode": "test",
- "foo": "bar",
- "_": [],
- "configs": [
- "/Users/stephen/repos/conftest/.myapprc"
- ],
- "config": "/Users/stephen/repos/conftest/.myapprc"
-}
-```
-*Default `mode` from hard-coded object is retained, but port is overridden by `.myapprc` file (automatically found based on appname match), and `foo` is added.*
-
-
-`node . --foo baz`
-```
-{
- "port": "3001",
- "mode": "test",
- "foo": "baz",
- "_": [],
- "configs": [
- "/Users/stephen/repos/conftest/.myapprc"
- ],
- "config": "/Users/stephen/repos/conftest/.myapprc"
-}
-```
-*Same result as above but `foo` is overridden because command-line arguments take precedence over `.myapprc` file.*
-
-`node . --foo barbar --config config.json`
-```
-{
- "port": 9000,
- "mode": "test",
- "foo": "barbar",
- "something": "else",
- "_": [],
- "config": "config.json",
- "configs": [
- "/Users/stephen/repos/conftest/.myapprc",
- "config.json"
- ]
-}
-```
-*Now the `port` comes from the `config.json` file specified (overriding the value from `.myapprc`), and `foo` value is overriden by command-line despite also being specified in the `config.json` file.*
-
-
-
-## Advanced Usage
-
-#### Pass in your own `argv`
-
-You may pass in your own `argv` as the third argument to `rc`. This is in case you want to [use your own command-line opts parser](https://github.com/dominictarr/rc/pull/12).
-
-```javascript
-require('rc')(appname, defaults, customArgvParser);
-```
-
-## Pass in your own parser
-
-If you have a special need to use a non-standard parser,
-you can do so by passing in the parser as the 4th argument.
-(leave the 3rd as null to get the default args parser)
-
-```javascript
-require('rc')(appname, defaults, null, parser);
-```
-
-This may also be used to force a more strict format,
-such as strict, valid JSON only.
-
-## Note on Performance
-
-`rc` is running `fs.statSync`-- so make sure you don't use it in a hot code path (e.g. a request handler)
-
-
-## License
-
-Multi-licensed under the two-clause BSD License, MIT License, or Apache License, version 2.0
diff --git a/includes/search/node_modules/rc/browser.js b/includes/search/node_modules/rc/browser.js
deleted file mode 100644
index 8c230c5..0000000
--- a/includes/search/node_modules/rc/browser.js
+++ /dev/null
@@ -1,7 +0,0 @@
-
-// when this is loaded into the browser,
-// just use the defaults...
-
-module.exports = function (name, defaults) {
- return defaults
-}
diff --git a/includes/search/node_modules/rc/cli.js b/includes/search/node_modules/rc/cli.js
deleted file mode 100755
index ab05b60..0000000
--- a/includes/search/node_modules/rc/cli.js
+++ /dev/null
@@ -1,4 +0,0 @@
-#! /usr/bin/env node
-var rc = require('./index')
-
-console.log(JSON.stringify(rc(process.argv[2]), false, 2))
diff --git a/includes/search/node_modules/rc/index.js b/includes/search/node_modules/rc/index.js
deleted file mode 100755
index 65eb47a..0000000
--- a/includes/search/node_modules/rc/index.js
+++ /dev/null
@@ -1,53 +0,0 @@
-var cc = require('./lib/utils')
-var join = require('path').join
-var deepExtend = require('deep-extend')
-var etc = '/etc'
-var win = process.platform === "win32"
-var home = win
- ? process.env.USERPROFILE
- : process.env.HOME
-
-module.exports = function (name, defaults, argv, parse) {
- if('string' !== typeof name)
- throw new Error('rc(name): name *must* be string')
- if(!argv)
- argv = require('minimist')(process.argv.slice(2))
- defaults = (
- 'string' === typeof defaults
- ? cc.json(defaults) : defaults
- ) || {}
-
- parse = parse || cc.parse
-
- var env = cc.env(name + '_')
-
- var configs = [defaults]
- var configFiles = []
- function addConfigFile (file) {
- if (configFiles.indexOf(file) >= 0) return
- var fileConfig = cc.file(file)
- if (fileConfig) {
- configs.push(parse(fileConfig))
- configFiles.push(file)
- }
- }
-
- // which files do we look at?
- if (!win)
- [join(etc, name, 'config'),
- join(etc, name + 'rc')].forEach(addConfigFile)
- if (home)
- [join(home, '.config', name, 'config'),
- join(home, '.config', name),
- join(home, '.' + name, 'config'),
- join(home, '.' + name + 'rc')].forEach(addConfigFile)
- addConfigFile(cc.find('.'+name+'rc'))
- if (env.config) addConfigFile(env.config)
- if (argv.config) addConfigFile(argv.config)
-
- return deepExtend.apply(null, configs.concat([
- env,
- argv,
- configFiles.length ? {configs: configFiles, config: configFiles[configFiles.length - 1]} : undefined,
- ]))
-}
diff --git a/includes/search/node_modules/rc/lib/utils.js b/includes/search/node_modules/rc/lib/utils.js
deleted file mode 100644
index 8b3beff..0000000
--- a/includes/search/node_modules/rc/lib/utils.js
+++ /dev/null
@@ -1,104 +0,0 @@
-'use strict';
-var fs = require('fs')
-var ini = require('ini')
-var path = require('path')
-var stripJsonComments = require('strip-json-comments')
-
-var parse = exports.parse = function (content) {
-
- //if it ends in .json or starts with { then it must be json.
- //must be done this way, because ini accepts everything.
- //can't just try and parse it and let it throw if it's not ini.
- //everything is ini. even json with a syntax error.
-
- if(/^\s*{/.test(content))
- return JSON.parse(stripJsonComments(content))
- return ini.parse(content)
-
-}
-
-var file = exports.file = function () {
- var args = [].slice.call(arguments).filter(function (arg) { return arg != null })
-
- //path.join breaks if it's a not a string, so just skip this.
- for(var i in args)
- if('string' !== typeof args[i])
- return
-
- var file = path.join.apply(null, args)
- var content
- try {
- return fs.readFileSync(file,'utf-8')
- } catch (err) {
- return
- }
-}
-
-var json = exports.json = function () {
- var content = file.apply(null, arguments)
- return content ? parse(content) : null
-}
-
-var env = exports.env = function (prefix, env) {
- env = env || process.env
- var obj = {}
- var l = prefix.length
- for(var k in env) {
- if(k.toLowerCase().indexOf(prefix.toLowerCase()) === 0) {
-
- var keypath = k.substring(l).split('__')
-
- // Trim empty strings from keypath array
- var _emptyStringIndex
- while ((_emptyStringIndex=keypath.indexOf('')) > -1) {
- keypath.splice(_emptyStringIndex, 1)
- }
-
- var cursor = obj
- keypath.forEach(function _buildSubObj(_subkey,i){
-
- // (check for _subkey first so we ignore empty strings)
- // (check for cursor to avoid assignment to primitive objects)
- if (!_subkey || typeof cursor !== 'object')
- return
-
- // If this is the last key, just stuff the value in there
- // Assigns actual value from env variable to final key
- // (unless it's just an empty string- in that case use the last valid key)
- if (i === keypath.length-1)
- cursor[_subkey] = env[k]
-
-
- // Build sub-object if nothing already exists at the keypath
- if (cursor[_subkey] === undefined)
- cursor[_subkey] = {}
-
- // Increment cursor used to track the object at the current depth
- cursor = cursor[_subkey]
-
- })
-
- }
-
- }
-
- return obj
-}
-
-var find = exports.find = function () {
- var rel = path.join.apply(null, [].slice.call(arguments))
-
- function find(start, rel) {
- var file = path.join(start, rel)
- try {
- fs.statSync(file)
- return file
- } catch (err) {
- if(path.dirname(start) !== start) // root
- return find(path.dirname(start), rel)
- }
- }
- return find(process.cwd(), rel)
-}
-
-
diff --git a/includes/search/node_modules/rc/package.json b/includes/search/node_modules/rc/package.json
deleted file mode 100644
index 887238f..0000000
--- a/includes/search/node_modules/rc/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "rc",
- "version": "1.2.8",
- "description": "hardwired configuration loader",
- "main": "index.js",
- "browser": "browser.js",
- "scripts": {
- "test": "set -e; node test/test.js; node test/ini.js; node test/nested-env-vars.js"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/dominictarr/rc.git"
- },
- "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
- "keywords": [
- "config",
- "rc",
- "unix",
- "defaults"
- ],
- "bin": "./cli.js",
- "author": "Dominic Tarr <dominic.tarr@gmail.com> (dominictarr.com)",
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- }
-}
diff --git a/includes/search/node_modules/rc/test/ini.js b/includes/search/node_modules/rc/test/ini.js
deleted file mode 100644
index e6857f8..0000000
--- a/includes/search/node_modules/rc/test/ini.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var cc =require('../lib/utils')
-var INI = require('ini')
-var assert = require('assert')
-
-function test(obj) {
-
- var _json, _ini
- var json = cc.parse (_json = JSON.stringify(obj))
- var ini = cc.parse (_ini = INI.stringify(obj))
- console.log(_ini, _json)
- assert.deepEqual(json, ini)
-}
-
-
-test({hello: true})
-
diff --git a/includes/search/node_modules/rc/test/nested-env-vars.js b/includes/search/node_modules/rc/test/nested-env-vars.js
deleted file mode 100644
index 0ecd176..0000000
--- a/includes/search/node_modules/rc/test/nested-env-vars.js
+++ /dev/null
@@ -1,50 +0,0 @@
-
-var seed = Math.random();
-var n = 'rc'+ seed;
-var N = 'RC'+ seed;
-var assert = require('assert')
-
-
-// Basic usage
-process.env[n+'_someOpt__a'] = 42
-process.env[n+'_someOpt__x__'] = 99
-process.env[n+'_someOpt__a__b'] = 186
-process.env[n+'_someOpt__a__b__c'] = 243
-process.env[n+'_someOpt__x__y'] = 1862
-process.env[n+'_someOpt__z'] = 186577
-
-// Should ignore empty strings from orphaned '__'
-process.env[n+'_someOpt__z__x__'] = 18629
-process.env[n+'_someOpt__w__w__'] = 18629
-
-// Leading '__' should ignore everything up to 'z'
-process.env[n+'___z__i__'] = 9999
-
-// should ignore case for config name section.
-process.env[N+'_test_upperCase'] = 187
-
-function testPrefix(prefix) {
- var config = require('../')(prefix, {
- option: true
- })
-
- console.log('\n\n------ nested-env-vars ------\n',{prefix: prefix}, '\n', config);
-
- assert.equal(config.option, true)
- assert.equal(config.someOpt.a, 42)
- assert.equal(config.someOpt.x, 99)
- // Should not override `a` once it's been set
- assert.equal(config.someOpt.a/*.b*/, 42)
- // Should not override `x` once it's been set
- assert.equal(config.someOpt.x/*.y*/, 99)
- assert.equal(config.someOpt.z, 186577)
- // Should not override `z` once it's been set
- assert.equal(config.someOpt.z/*.x*/, 186577)
- assert.equal(config.someOpt.w.w, 18629)
- assert.equal(config.z.i, 9999)
-
- assert.equal(config.test_upperCase, 187)
-}
-
-testPrefix(n);
-testPrefix(N);
diff --git a/includes/search/node_modules/rc/test/test.js b/includes/search/node_modules/rc/test/test.js
deleted file mode 100644
index 4f63351..0000000
--- a/includes/search/node_modules/rc/test/test.js
+++ /dev/null
@@ -1,59 +0,0 @@
-
-var n = 'rc'+Math.random()
-var assert = require('assert')
-
-process.env[n+'_envOption'] = 42
-
-var config = require('../')(n, {
- option: true
-})
-
-console.log(config)
-
-assert.equal(config.option, true)
-assert.equal(config.envOption, 42)
-
-var customArgv = require('../')(n, {
- option: true
-}, { // nopt-like argv
- option: false,
- envOption: 24,
- argv: {
- remain: [],
- cooked: ['--no-option', '--envOption', '24'],
- original: ['--no-option', '--envOption=24']
- }
-})
-
-console.log(customArgv)
-
-assert.equal(customArgv.option, false)
-assert.equal(customArgv.envOption, 24)
-
-var fs = require('fs')
-var path = require('path')
-var jsonrc = path.resolve('.' + n + 'rc');
-
-fs.writeFileSync(jsonrc, [
- '{',
- '// json overrides default',
- '"option": false,',
- '/* env overrides json */',
- '"envOption": 24',
- '}'
-].join('\n'));
-
-var commentedJSON = require('../')(n, {
- option: true
-})
-
-fs.unlinkSync(jsonrc);
-
-console.log(commentedJSON)
-
-assert.equal(commentedJSON.option, false)
-assert.equal(commentedJSON.envOption, 42)
-
-assert.equal(commentedJSON.config, jsonrc)
-assert.equal(commentedJSON.configs.length, 1)
-assert.equal(commentedJSON.configs[0], jsonrc)
diff --git a/includes/search/node_modules/readable-stream/.travis.yml b/includes/search/node_modules/readable-stream/.travis.yml
deleted file mode 100644
index f62cdac..0000000
--- a/includes/search/node_modules/readable-stream/.travis.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-sudo: false
-language: node_js
-before_install:
- - (test $NPM_LEGACY && npm install -g npm@2 && npm install -g npm@3) || true
-notifications:
- email: false
-matrix:
- fast_finish: true
- include:
- - node_js: '0.8'
- env: NPM_LEGACY=true
- - node_js: '0.10'
- env: NPM_LEGACY=true
- - node_js: '0.11'
- env: NPM_LEGACY=true
- - node_js: '0.12'
- env: NPM_LEGACY=true
- - node_js: 1
- env: NPM_LEGACY=true
- - node_js: 2
- env: NPM_LEGACY=true
- - node_js: 3
- env: NPM_LEGACY=true
- - node_js: 4
- - node_js: 5
- - node_js: 6
- - node_js: 7
- - node_js: 8
- - node_js: 9
-script: "npm run test"
-env:
- global:
- - secure: rE2Vvo7vnjabYNULNyLFxOyt98BoJexDqsiOnfiD6kLYYsiQGfr/sbZkPMOFm9qfQG7pjqx+zZWZjGSswhTt+626C0t/njXqug7Yps4c3dFblzGfreQHp7wNX5TFsvrxd6dAowVasMp61sJcRnB2w8cUzoe3RAYUDHyiHktwqMc=
- - secure: g9YINaKAdMatsJ28G9jCGbSaguXCyxSTy+pBO6Ch0Cf57ZLOTka3HqDj8p3nV28LUIHZ3ut5WO43CeYKwt4AUtLpBS3a0dndHdY6D83uY6b2qh5hXlrcbeQTq2cvw2y95F7hm4D1kwrgZ7ViqaKggRcEupAL69YbJnxeUDKWEdI=
diff --git a/includes/search/node_modules/readable-stream/CONTRIBUTING.md b/includes/search/node_modules/readable-stream/CONTRIBUTING.md
deleted file mode 100644
index f478d58..0000000
--- a/includes/search/node_modules/readable-stream/CONTRIBUTING.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Developer's Certificate of Origin 1.1
-
-By making a contribution to this project, I certify that:
-
-* (a) The contribution was created in whole or in part by me and I
- have the right to submit it under the open source license
- indicated in the file; or
-
-* (b) The contribution is based upon previous work that, to the best
- of my knowledge, is covered under an appropriate open source
- license and I have the right under that license to submit that
- work with modifications, whether created in whole or in part
- by me, under the same open source license (unless I am
- permitted to submit under a different license), as indicated
- in the file; or
-
-* (c) The contribution was provided directly to me by some other
- person who certified (a), (b) or (c) and I have not modified
- it.
-
-* (d) I understand and agree that this project and the contribution
- are public and that a record of the contribution (including all
- personal information I submit with it, including my sign-off) is
- maintained indefinitely and may be redistributed consistent with
- this project or the open source license(s) involved.
-
-## Moderation Policy
-
-The [Node.js Moderation Policy] applies to this WG.
-
-## Code of Conduct
-
-The [Node.js Code of Conduct][] applies to this WG.
-
-[Node.js Code of Conduct]:
-https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md
-[Node.js Moderation Policy]:
-https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md
diff --git a/includes/search/node_modules/readable-stream/GOVERNANCE.md b/includes/search/node_modules/readable-stream/GOVERNANCE.md
deleted file mode 100644
index 16ffb93..0000000
--- a/includes/search/node_modules/readable-stream/GOVERNANCE.md
+++ /dev/null
@@ -1,136 +0,0 @@
-### Streams Working Group
-
-The Node.js Streams is jointly governed by a Working Group
-(WG)
-that is responsible for high-level guidance of the project.
-
-The WG has final authority over this project including:
-
-* Technical direction
-* Project governance and process (including this policy)
-* Contribution policy
-* GitHub repository hosting
-* Conduct guidelines
-* Maintaining the list of additional Collaborators
-
-For the current list of WG members, see the project
-[README.md](./README.md#current-project-team-members).
-
-### Collaborators
-
-The readable-stream GitHub repository is
-maintained by the WG and additional Collaborators who are added by the
-WG on an ongoing basis.
-
-Individuals making significant and valuable contributions are made
-Collaborators and given commit-access to the project. These
-individuals are identified by the WG and their addition as
-Collaborators is discussed during the WG meeting.
-
-_Note:_ If you make a significant contribution and are not considered
-for commit-access log an issue or contact a WG member directly and it
-will be brought up in the next WG meeting.
-
-Modifications of the contents of the readable-stream repository are
-made on
-a collaborative basis. Anybody with a GitHub account may propose a
-modification via pull request and it will be considered by the project
-Collaborators. All pull requests must be reviewed and accepted by a
-Collaborator with sufficient expertise who is able to take full
-responsibility for the change. In the case of pull requests proposed
-by an existing Collaborator, an additional Collaborator is required
-for sign-off. Consensus should be sought if additional Collaborators
-participate and there is disagreement around a particular
-modification. See _Consensus Seeking Process_ below for further detail
-on the consensus model used for governance.
-
-Collaborators may opt to elevate significant or controversial
-modifications, or modifications that have not found consensus to the
-WG for discussion by assigning the ***WG-agenda*** tag to a pull
-request or issue. The WG should serve as the final arbiter where
-required.
-
-For the current list of Collaborators, see the project
-[README.md](./README.md#members).
-
-### WG Membership
-
-WG seats are not time-limited. There is no fixed size of the WG.
-However, the expected target is between 6 and 12, to ensure adequate
-coverage of important areas of expertise, balanced with the ability to
-make decisions efficiently.
-
-There is no specific set of requirements or qualifications for WG
-membership beyond these rules.
-
-The WG may add additional members to the WG by unanimous consensus.
-
-A WG member may be removed from the WG by voluntary resignation, or by
-unanimous consensus of all other WG members.
-
-Changes to WG membership should be posted in the agenda, and may be
-suggested as any other agenda item (see "WG Meetings" below).
-
-If an addition or removal is proposed during a meeting, and the full
-WG is not in attendance to participate, then the addition or removal
-is added to the agenda for the subsequent meeting. This is to ensure
-that all members are given the opportunity to participate in all
-membership decisions. If a WG member is unable to attend a meeting
-where a planned membership decision is being made, then their consent
-is assumed.
-
-No more than 1/3 of the WG members may be affiliated with the same
-employer. If removal or resignation of a WG member, or a change of
-employment by a WG member, creates a situation where more than 1/3 of
-the WG membership shares an employer, then the situation must be
-immediately remedied by the resignation or removal of one or more WG
-members affiliated with the over-represented employer(s).
-
-### WG Meetings
-
-The WG meets occasionally on a Google Hangout On Air. A designated moderator
-approved by the WG runs the meeting. Each meeting should be
-published to YouTube.
-
-Items are added to the WG agenda that are considered contentious or
-are modifications of governance, contribution policy, WG membership,
-or release process.
-
-The intention of the agenda is not to approve or review all patches;
-that should happen continuously on GitHub and be handled by the larger
-group of Collaborators.
-
-Any community member or contributor can ask that something be added to
-the next meeting's agenda by logging a GitHub Issue. Any Collaborator,
-WG member or the moderator can add the item to the agenda by adding
-the ***WG-agenda*** tag to the issue.
-
-Prior to each WG meeting the moderator will share the Agenda with
-members of the WG. WG members can add any items they like to the
-agenda at the beginning of each meeting. The moderator and the WG
-cannot veto or remove items.
-
-The WG may invite persons or representatives from certain projects to
-participate in a non-voting capacity.
-
-The moderator is responsible for summarizing the discussion of each
-agenda item and sends it as a pull request after the meeting.
-
-### Consensus Seeking Process
-
-The WG follows a
-[Consensus
-Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making)
-decision-making model.
-
-When an agenda item has appeared to reach a consensus the moderator
-will ask "Does anyone object?" as a final call for dissent from the
-consensus.
-
-If an agenda item cannot reach a consensus a WG member can call for
-either a closing vote or a vote to table the issue to the next
-meeting. The call for a vote must be seconded by a majority of the WG
-or else the discussion will continue. Simple majority wins.
-
-Note that changes to WG membership require a majority consensus. See
-"WG Membership" above.
diff --git a/includes/search/node_modules/readable-stream/LICENSE b/includes/search/node_modules/readable-stream/LICENSE
deleted file mode 100644
index 2873b3b..0000000
--- a/includes/search/node_modules/readable-stream/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Node.js is licensed for use as follows:
-
-"""
-Copyright Node.js contributors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
-
-This license applies to parts of Node.js originating from the
-https://github.com/joyent/node repository:
-
-"""
-Copyright Joyent, Inc. and other Node contributors. All rights reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
diff --git a/includes/search/node_modules/readable-stream/README.md b/includes/search/node_modules/readable-stream/README.md
deleted file mode 100644
index f1c5a93..0000000
--- a/includes/search/node_modules/readable-stream/README.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# readable-stream
-
-***Node-core v8.17.0 streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream)
-
-
-[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)
-[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)
-
-
-[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream)
-
-```bash
-npm install --save readable-stream
-```
-
-***Node-core streams for userland***
-
-This package is a mirror of the Streams2 and Streams3 implementations in
-Node-core.
-
-Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v8.17.0/docs/api/stream.html).
-
-If you want to guarantee a stable streams base, regardless of what version of
-Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).
-
-As of version 2.0.0 **readable-stream** uses semantic versioning.
-
-# Streams Working Group
-
-`readable-stream` is maintained by the Streams Working Group, which
-oversees the development and maintenance of the Streams API within
-Node.js. The responsibilities of the Streams Working Group include:
-
-* Addressing stream issues on the Node.js issue tracker.
-* Authoring and editing stream documentation within the Node.js project.
-* Reviewing changes to stream subclasses within the Node.js project.
-* Redirecting changes to streams from the Node.js project to this
- project.
-* Assisting in the implementation of stream providers within Node.js.
-* Recommending versions of `readable-stream` to be included in Node.js.
-* Messaging about the future of streams to give the community advance
- notice of changes.
-
-<a name="members"></a>
-## Team Members
-
-* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) &lt;christopher.s.dickinson@gmail.com&gt;
- - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B
-* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) &lt;calvin.metcalf@gmail.com&gt;
- - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242
-* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) &lt;rod@vagg.org&gt;
- - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D
-* **Sam Newman** ([@sonewman](https://github.com/sonewman)) &lt;newmansam@outlook.com&gt;
-* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;mathiasbuus@gmail.com&gt;
-* **Domenic Denicola** ([@domenic](https://github.com/domenic)) &lt;d@domenic.me&gt;
-* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) &lt;matteo.collina@gmail.com&gt;
- - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E
-* **Irina Shestak** ([@lrlna](https://github.com/lrlna)) &lt;shestak.irina@gmail.com&gt;
diff --git a/includes/search/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md b/includes/search/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md
deleted file mode 100644
index 83275f1..0000000
--- a/includes/search/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# streams WG Meeting 2015-01-30
-
-## Links
-
-* **Google Hangouts Video**: http://www.youtube.com/watch?v=I9nDOSGfwZg
-* **GitHub Issue**: https://github.com/iojs/readable-stream/issues/106
-* **Original Minutes Google Doc**: https://docs.google.com/document/d/17aTgLnjMXIrfjgNaTUnHQO7m3xgzHR2VXBTmi03Qii4/
-
-## Agenda
-
-Extracted from https://github.com/iojs/readable-stream/labels/wg-agenda prior to meeting.
-
-* adopt a charter [#105](https://github.com/iojs/readable-stream/issues/105)
-* release and versioning strategy [#101](https://github.com/iojs/readable-stream/issues/101)
-* simpler stream creation [#102](https://github.com/iojs/readable-stream/issues/102)
-* proposal: deprecate implicit flowing of streams [#99](https://github.com/iojs/readable-stream/issues/99)
-
-## Minutes
-
-### adopt a charter
-
-* group: +1's all around
-
-### What versioning scheme should be adopted?
-* group: +1’s 3.0.0
-* domenic+group: pulling in patches from other sources where appropriate
-* mikeal: version independently, suggesting versions for io.js
-* mikeal+domenic: work with TC to notify in advance of changes
-simpler stream creation
-
-### streamline creation of streams
-* sam: streamline creation of streams
-* domenic: nice simple solution posted
- but, we lose the opportunity to change the model
- may not be backwards incompatible (double check keys)
-
- **action item:** domenic will check
-
-### remove implicit flowing of streams on(‘data’)
-* add isFlowing / isPaused
-* mikeal: worrying that we’re documenting polyfill methods – confuses users
-* domenic: more reflective API is probably good, with warning labels for users
-* new section for mad scientists (reflective stream access)
-* calvin: name the “third state”
-* mikeal: maybe borrow the name from whatwg?
-* domenic: we’re missing the “third state”
-* consensus: kind of difficult to name the third state
-* mikeal: figure out differences in states / compat
-* mathias: always flow on data – eliminates third state
- * explore what it breaks
-
-**action items:**
-* ask isaac for ability to list packages by what public io.js APIs they use (esp. Stream)
-* ask rod/build for infrastructure
-* **chris**: explore the “flow on data” approach
-* add isPaused/isFlowing
-* add new docs section
-* move isPaused to that section
-
-
diff --git a/includes/search/node_modules/readable-stream/duplex-browser.js b/includes/search/node_modules/readable-stream/duplex-browser.js
deleted file mode 100644
index f8b2db8..0000000
--- a/includes/search/node_modules/readable-stream/duplex-browser.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./lib/_stream_duplex.js');
diff --git a/includes/search/node_modules/readable-stream/duplex.js b/includes/search/node_modules/readable-stream/duplex.js
deleted file mode 100644
index 46924cb..0000000
--- a/includes/search/node_modules/readable-stream/duplex.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./readable').Duplex
diff --git a/includes/search/node_modules/readable-stream/lib/_stream_duplex.js b/includes/search/node_modules/readable-stream/lib/_stream_duplex.js
deleted file mode 100644
index 57003c3..0000000
--- a/includes/search/node_modules/readable-stream/lib/_stream_duplex.js
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a duplex stream is just a stream that is both readable and writable.
-// Since JS doesn't have multiple prototypal inheritance, this class
-// prototypally inherits from Readable, and then parasitically from
-// Writable.
-
-'use strict';
-
-/*<replacement>*/
-
-var pna = require('process-nextick-args');
-/*</replacement>*/
-
-/*<replacement>*/
-var objectKeys = Object.keys || function (obj) {
- var keys = [];
- for (var key in obj) {
- keys.push(key);
- }return keys;
-};
-/*</replacement>*/
-
-module.exports = Duplex;
-
-/*<replacement>*/
-var util = Object.create(require('core-util-is'));
-util.inherits = require('inherits');
-/*</replacement>*/
-
-var Readable = require('./_stream_readable');
-var Writable = require('./_stream_writable');
-
-util.inherits(Duplex, Readable);
-
-{
- // avoid scope creep, the keys array can then be collected
- var keys = objectKeys(Writable.prototype);
- for (var v = 0; v < keys.length; v++) {
- var method = keys[v];
- if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
- }
-}
-
-function Duplex(options) {
- if (!(this instanceof Duplex)) return new Duplex(options);
-
- Readable.call(this, options);
- Writable.call(this, options);
-
- if (options && options.readable === false) this.readable = false;
-
- if (options && options.writable === false) this.writable = false;
-
- this.allowHalfOpen = true;
- if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
-
- this.once('end', onend);
-}
-
-Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function () {
- return this._writableState.highWaterMark;
- }
-});
-
-// the no-half-open enforcer
-function onend() {
- // if we allow half-open state, or if the writable side ended,
- // then we're ok.
- if (this.allowHalfOpen || this._writableState.ended) return;
-
- // no more data can be written.
- // But allow more writes to happen in this tick.
- pna.nextTick(onEndNT, this);
-}
-
-function onEndNT(self) {
- self.end();
-}
-
-Object.defineProperty(Duplex.prototype, 'destroyed', {
- get: function () {
- if (this._readableState === undefined || this._writableState === undefined) {
- return false;
- }
- return this._readableState.destroyed && this._writableState.destroyed;
- },
- set: function (value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (this._readableState === undefined || this._writableState === undefined) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- this._writableState.destroyed = value;
- }
-});
-
-Duplex.prototype._destroy = function (err, cb) {
- this.push(null);
- this.end();
-
- pna.nextTick(cb, err);
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/readable-stream/lib/_stream_passthrough.js b/includes/search/node_modules/readable-stream/lib/_stream_passthrough.js
deleted file mode 100644
index 612edb4..0000000
--- a/includes/search/node_modules/readable-stream/lib/_stream_passthrough.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a passthrough stream.
-// basically just the most minimal sort of Transform stream.
-// Every written chunk gets output as-is.
-
-'use strict';
-
-module.exports = PassThrough;
-
-var Transform = require('./_stream_transform');
-
-/*<replacement>*/
-var util = Object.create(require('core-util-is'));
-util.inherits = require('inherits');
-/*</replacement>*/
-
-util.inherits(PassThrough, Transform);
-
-function PassThrough(options) {
- if (!(this instanceof PassThrough)) return new PassThrough(options);
-
- Transform.call(this, options);
-}
-
-PassThrough.prototype._transform = function (chunk, encoding, cb) {
- cb(null, chunk);
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/readable-stream/lib/_stream_readable.js b/includes/search/node_modules/readable-stream/lib/_stream_readable.js
deleted file mode 100644
index 3af95cb..0000000
--- a/includes/search/node_modules/readable-stream/lib/_stream_readable.js
+++ /dev/null
@@ -1,1019 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-'use strict';
-
-/*<replacement>*/
-
-var pna = require('process-nextick-args');
-/*</replacement>*/
-
-module.exports = Readable;
-
-/*<replacement>*/
-var isArray = require('isarray');
-/*</replacement>*/
-
-/*<replacement>*/
-var Duplex;
-/*</replacement>*/
-
-Readable.ReadableState = ReadableState;
-
-/*<replacement>*/
-var EE = require('events').EventEmitter;
-
-var EElistenerCount = function (emitter, type) {
- return emitter.listeners(type).length;
-};
-/*</replacement>*/
-
-/*<replacement>*/
-var Stream = require('./internal/streams/stream');
-/*</replacement>*/
-
-/*<replacement>*/
-
-var Buffer = require('safe-buffer').Buffer;
-var OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};
-function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
-}
-function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
-}
-
-/*</replacement>*/
-
-/*<replacement>*/
-var util = Object.create(require('core-util-is'));
-util.inherits = require('inherits');
-/*</replacement>*/
-
-/*<replacement>*/
-var debugUtil = require('util');
-var debug = void 0;
-if (debugUtil && debugUtil.debuglog) {
- debug = debugUtil.debuglog('stream');
-} else {
- debug = function () {};
-}
-/*</replacement>*/
-
-var BufferList = require('./internal/streams/BufferList');
-var destroyImpl = require('./internal/streams/destroy');
-var StringDecoder;
-
-util.inherits(Readable, Stream);
-
-var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];
-
-function prependListener(emitter, event, fn) {
- // Sadly this is not cacheable as some libraries bundle their own
- // event emitter implementation with them.
- if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);
-
- // This is a hack to make sure that our error handler is attached before any
- // userland ones. NEVER DO THIS. This is here only because this code needs
- // to continue to work with older versions of Node.js that do not include
- // the prependListener() method. The goal is to eventually remove this hack.
- if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];
-}
-
-function ReadableState(options, stream) {
- Duplex = Duplex || require('./_stream_duplex');
-
- options = options || {};
-
- // Duplex streams are both readable and writable, but share
- // the same options object.
- // However, some cases require setting options to different
- // values for the readable and the writable sides of the duplex stream.
- // These options can be provided separately as readableXXX and writableXXX.
- var isDuplex = stream instanceof Duplex;
-
- // object stream flag. Used to make read(n) ignore n and to
- // make all the buffer merging and length checks go away
- this.objectMode = !!options.objectMode;
-
- if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-
- // the point at which it stops calling _read() to fill the buffer
- // Note: 0 is a valid value, means "don't call _read preemptively ever"
- var hwm = options.highWaterMark;
- var readableHwm = options.readableHighWaterMark;
- var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-
- if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;
-
- // cast to ints.
- this.highWaterMark = Math.floor(this.highWaterMark);
-
- // A linked list is used to store data chunks instead of an array because the
- // linked list can remove elements from the beginning faster than
- // array.shift()
- this.buffer = new BufferList();
- this.length = 0;
- this.pipes = null;
- this.pipesCount = 0;
- this.flowing = null;
- this.ended = false;
- this.endEmitted = false;
- this.reading = false;
-
- // a flag to be able to tell if the event 'readable'/'data' is emitted
- // immediately, or on a later tick. We set this to true at first, because
- // any actions that shouldn't happen until "later" should generally also
- // not happen before the first read call.
- this.sync = true;
-
- // whenever we return null, then we set a flag to say
- // that we're awaiting a 'readable' event emission.
- this.needReadable = false;
- this.emittedReadable = false;
- this.readableListening = false;
- this.resumeScheduled = false;
-
- // has it been destroyed
- this.destroyed = false;
-
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || 'utf8';
-
- // the number of writers that are awaiting a drain event in .pipe()s
- this.awaitDrain = 0;
-
- // if true, a maybeReadMore has been scheduled
- this.readingMore = false;
-
- this.decoder = null;
- this.encoding = null;
- if (options.encoding) {
- if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
- this.decoder = new StringDecoder(options.encoding);
- this.encoding = options.encoding;
- }
-}
-
-function Readable(options) {
- Duplex = Duplex || require('./_stream_duplex');
-
- if (!(this instanceof Readable)) return new Readable(options);
-
- this._readableState = new ReadableState(options, this);
-
- // legacy
- this.readable = true;
-
- if (options) {
- if (typeof options.read === 'function') this._read = options.read;
-
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
- }
-
- Stream.call(this);
-}
-
-Object.defineProperty(Readable.prototype, 'destroyed', {
- get: function () {
- if (this._readableState === undefined) {
- return false;
- }
- return this._readableState.destroyed;
- },
- set: function (value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._readableState) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- }
-});
-
-Readable.prototype.destroy = destroyImpl.destroy;
-Readable.prototype._undestroy = destroyImpl.undestroy;
-Readable.prototype._destroy = function (err, cb) {
- this.push(null);
- cb(err);
-};
-
-// Manually shove something into the read() buffer.
-// This returns true if the highWaterMark has not been hit yet,
-// similar to how Writable.write() returns true if you should
-// write() some more.
-Readable.prototype.push = function (chunk, encoding) {
- var state = this._readableState;
- var skipChunkCheck;
-
- if (!state.objectMode) {
- if (typeof chunk === 'string') {
- encoding = encoding || state.defaultEncoding;
- if (encoding !== state.encoding) {
- chunk = Buffer.from(chunk, encoding);
- encoding = '';
- }
- skipChunkCheck = true;
- }
- } else {
- skipChunkCheck = true;
- }
-
- return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
-};
-
-// Unshift should *always* be something directly out of read()
-Readable.prototype.unshift = function (chunk) {
- return readableAddChunk(this, chunk, null, true, false);
-};
-
-function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
- var state = stream._readableState;
- if (chunk === null) {
- state.reading = false;
- onEofChunk(stream, state);
- } else {
- var er;
- if (!skipChunkCheck) er = chunkInvalid(state, chunk);
- if (er) {
- stream.emit('error', er);
- } else if (state.objectMode || chunk && chunk.length > 0) {
- if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
-
- if (addToFront) {
- if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);
- } else if (state.ended) {
- stream.emit('error', new Error('stream.push() after EOF'));
- } else {
- state.reading = false;
- if (state.decoder && !encoding) {
- chunk = state.decoder.write(chunk);
- if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);
- } else {
- addChunk(stream, state, chunk, false);
- }
- }
- } else if (!addToFront) {
- state.reading = false;
- }
- }
-
- return needMoreData(state);
-}
-
-function addChunk(stream, state, chunk, addToFront) {
- if (state.flowing && state.length === 0 && !state.sync) {
- stream.emit('data', chunk);
- stream.read(0);
- } else {
- // update the buffer info.
- state.length += state.objectMode ? 1 : chunk.length;
- if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);
-
- if (state.needReadable) emitReadable(stream);
- }
- maybeReadMore(stream, state);
-}
-
-function chunkInvalid(state, chunk) {
- var er;
- if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
- er = new TypeError('Invalid non-string/buffer chunk');
- }
- return er;
-}
-
-// if it's past the high water mark, we can push in some more.
-// Also, if we have no data yet, we can stand some
-// more bytes. This is to work around cases where hwm=0,
-// such as the repl. Also, if the push() triggered a
-// readable event, and the user called read(largeNumber) such that
-// needReadable was set, then we ought to push more, so that another
-// 'readable' event will be triggered.
-function needMoreData(state) {
- return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
-}
-
-Readable.prototype.isPaused = function () {
- return this._readableState.flowing === false;
-};
-
-// backwards compatibility.
-Readable.prototype.setEncoding = function (enc) {
- if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
- this._readableState.decoder = new StringDecoder(enc);
- this._readableState.encoding = enc;
- return this;
-};
-
-// Don't raise the hwm > 8MB
-var MAX_HWM = 0x800000;
-function computeNewHighWaterMark(n) {
- if (n >= MAX_HWM) {
- n = MAX_HWM;
- } else {
- // Get the next highest power of 2 to prevent increasing hwm excessively in
- // tiny amounts
- n--;
- n |= n >>> 1;
- n |= n >>> 2;
- n |= n >>> 4;
- n |= n >>> 8;
- n |= n >>> 16;
- n++;
- }
- return n;
-}
-
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function howMuchToRead(n, state) {
- if (n <= 0 || state.length === 0 && state.ended) return 0;
- if (state.objectMode) return 1;
- if (n !== n) {
- // Only flow one buffer at a time
- if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;
- }
- // If we're asking for more than the current hwm, then raise the hwm.
- if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
- if (n <= state.length) return n;
- // Don't have enough
- if (!state.ended) {
- state.needReadable = true;
- return 0;
- }
- return state.length;
-}
-
-// you can override either this method, or the async _read(n) below.
-Readable.prototype.read = function (n) {
- debug('read', n);
- n = parseInt(n, 10);
- var state = this._readableState;
- var nOrig = n;
-
- if (n !== 0) state.emittedReadable = false;
-
- // if we're doing read(0) to trigger a readable event, but we
- // already have a bunch of data in the buffer, then just trigger
- // the 'readable' event and move on.
- if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
- debug('read: emitReadable', state.length, state.ended);
- if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);
- return null;
- }
-
- n = howMuchToRead(n, state);
-
- // if we've ended, and we're now clear, then finish it up.
- if (n === 0 && state.ended) {
- if (state.length === 0) endReadable(this);
- return null;
- }
-
- // All the actual chunk generation logic needs to be
- // *below* the call to _read. The reason is that in certain
- // synthetic stream cases, such as passthrough streams, _read
- // may be a completely synchronous operation which may change
- // the state of the read buffer, providing enough data when
- // before there was *not* enough.
- //
- // So, the steps are:
- // 1. Figure out what the state of things will be after we do
- // a read from the buffer.
- //
- // 2. If that resulting state will trigger a _read, then call _read.
- // Note that this may be asynchronous, or synchronous. Yes, it is
- // deeply ugly to write APIs this way, but that still doesn't mean
- // that the Readable class should behave improperly, as streams are
- // designed to be sync/async agnostic.
- // Take note if the _read call is sync or async (ie, if the read call
- // has returned yet), so that we know whether or not it's safe to emit
- // 'readable' etc.
- //
- // 3. Actually pull the requested chunks out of the buffer and return.
-
- // if we need a readable event, then we need to do some reading.
- var doRead = state.needReadable;
- debug('need readable', doRead);
-
- // if we currently have less than the highWaterMark, then also read some
- if (state.length === 0 || state.length - n < state.highWaterMark) {
- doRead = true;
- debug('length less than watermark', doRead);
- }
-
- // however, if we've ended, then there's no point, and if we're already
- // reading, then it's unnecessary.
- if (state.ended || state.reading) {
- doRead = false;
- debug('reading or ended', doRead);
- } else if (doRead) {
- debug('do read');
- state.reading = true;
- state.sync = true;
- // if the length is currently zero, then we *need* a readable event.
- if (state.length === 0) state.needReadable = true;
- // call internal read method
- this._read(state.highWaterMark);
- state.sync = false;
- // If _read pushed data synchronously, then `reading` will be false,
- // and we need to re-evaluate how much data we can return to the user.
- if (!state.reading) n = howMuchToRead(nOrig, state);
- }
-
- var ret;
- if (n > 0) ret = fromList(n, state);else ret = null;
-
- if (ret === null) {
- state.needReadable = true;
- n = 0;
- } else {
- state.length -= n;
- }
-
- if (state.length === 0) {
- // If we have nothing in the buffer, then we want to know
- // as soon as we *do* get something into the buffer.
- if (!state.ended) state.needReadable = true;
-
- // If we tried to read() past the EOF, then emit end on the next tick.
- if (nOrig !== n && state.ended) endReadable(this);
- }
-
- if (ret !== null) this.emit('data', ret);
-
- return ret;
-};
-
-function onEofChunk(stream, state) {
- if (state.ended) return;
- if (state.decoder) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) {
- state.buffer.push(chunk);
- state.length += state.objectMode ? 1 : chunk.length;
- }
- }
- state.ended = true;
-
- // emit 'readable' now to make sure it gets picked up.
- emitReadable(stream);
-}
-
-// Don't emit readable right away in sync mode, because this can trigger
-// another read() call => stack overflow. This way, it might trigger
-// a nextTick recursion warning, but that's not so bad.
-function emitReadable(stream) {
- var state = stream._readableState;
- state.needReadable = false;
- if (!state.emittedReadable) {
- debug('emitReadable', state.flowing);
- state.emittedReadable = true;
- if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);
- }
-}
-
-function emitReadable_(stream) {
- debug('emit readable');
- stream.emit('readable');
- flow(stream);
-}
-
-// at this point, the user has presumably seen the 'readable' event,
-// and called read() to consume some data. that may have triggered
-// in turn another _read(n) call, in which case reading = true if
-// it's in progress.
-// However, if we're not ended, or reading, and the length < hwm,
-// then go ahead and try to read some more preemptively.
-function maybeReadMore(stream, state) {
- if (!state.readingMore) {
- state.readingMore = true;
- pna.nextTick(maybeReadMore_, stream, state);
- }
-}
-
-function maybeReadMore_(stream, state) {
- var len = state.length;
- while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
- debug('maybeReadMore read 0');
- stream.read(0);
- if (len === state.length)
- // didn't get any data, stop spinning.
- break;else len = state.length;
- }
- state.readingMore = false;
-}
-
-// abstract method. to be overridden in specific implementation classes.
-// call cb(er, data) where data is <= n in length.
-// for virtual (non-string, non-buffer) streams, "length" is somewhat
-// arbitrary, and perhaps not very meaningful.
-Readable.prototype._read = function (n) {
- this.emit('error', new Error('_read() is not implemented'));
-};
-
-Readable.prototype.pipe = function (dest, pipeOpts) {
- var src = this;
- var state = this._readableState;
-
- switch (state.pipesCount) {
- case 0:
- state.pipes = dest;
- break;
- case 1:
- state.pipes = [state.pipes, dest];
- break;
- default:
- state.pipes.push(dest);
- break;
- }
- state.pipesCount += 1;
- debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
-
- var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
-
- var endFn = doEnd ? onend : unpipe;
- if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);
-
- dest.on('unpipe', onunpipe);
- function onunpipe(readable, unpipeInfo) {
- debug('onunpipe');
- if (readable === src) {
- if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
- unpipeInfo.hasUnpiped = true;
- cleanup();
- }
- }
- }
-
- function onend() {
- debug('onend');
- dest.end();
- }
-
- // when the dest drains, it reduces the awaitDrain counter
- // on the source. This would be more elegant with a .once()
- // handler in flow(), but adding and removing repeatedly is
- // too slow.
- var ondrain = pipeOnDrain(src);
- dest.on('drain', ondrain);
-
- var cleanedUp = false;
- function cleanup() {
- debug('cleanup');
- // cleanup event handlers once the pipe is broken
- dest.removeListener('close', onclose);
- dest.removeListener('finish', onfinish);
- dest.removeListener('drain', ondrain);
- dest.removeListener('error', onerror);
- dest.removeListener('unpipe', onunpipe);
- src.removeListener('end', onend);
- src.removeListener('end', unpipe);
- src.removeListener('data', ondata);
-
- cleanedUp = true;
-
- // if the reader is waiting for a drain event from this
- // specific writer, then it would cause it to never start
- // flowing again.
- // So, if this is awaiting a drain, then we just call it now.
- // If we don't know, then assume that we are waiting for one.
- if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
- }
-
- // If the user pushes more data while we're writing to dest then we'll end up
- // in ondata again. However, we only want to increase awaitDrain once because
- // dest will only emit one 'drain' event for the multiple writes.
- // => Introduce a guard on increasing awaitDrain.
- var increasedAwaitDrain = false;
- src.on('data', ondata);
- function ondata(chunk) {
- debug('ondata');
- increasedAwaitDrain = false;
- var ret = dest.write(chunk);
- if (false === ret && !increasedAwaitDrain) {
- // If the user unpiped during `dest.write()`, it is possible
- // to get stuck in a permanently paused state if that write
- // also returned false.
- // => Check whether `dest` is still a piping destination.
- if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
- debug('false write response, pause', state.awaitDrain);
- state.awaitDrain++;
- increasedAwaitDrain = true;
- }
- src.pause();
- }
- }
-
- // if the dest has an error, then stop piping into it.
- // however, don't suppress the throwing behavior for this.
- function onerror(er) {
- debug('onerror', er);
- unpipe();
- dest.removeListener('error', onerror);
- if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);
- }
-
- // Make sure our error handler is attached before userland ones.
- prependListener(dest, 'error', onerror);
-
- // Both close and finish should trigger unpipe, but only once.
- function onclose() {
- dest.removeListener('finish', onfinish);
- unpipe();
- }
- dest.once('close', onclose);
- function onfinish() {
- debug('onfinish');
- dest.removeListener('close', onclose);
- unpipe();
- }
- dest.once('finish', onfinish);
-
- function unpipe() {
- debug('unpipe');
- src.unpipe(dest);
- }
-
- // tell the dest that it's being piped to
- dest.emit('pipe', src);
-
- // start the flow if it hasn't been started already.
- if (!state.flowing) {
- debug('pipe resume');
- src.resume();
- }
-
- return dest;
-};
-
-function pipeOnDrain(src) {
- return function () {
- var state = src._readableState;
- debug('pipeOnDrain', state.awaitDrain);
- if (state.awaitDrain) state.awaitDrain--;
- if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {
- state.flowing = true;
- flow(src);
- }
- };
-}
-
-Readable.prototype.unpipe = function (dest) {
- var state = this._readableState;
- var unpipeInfo = { hasUnpiped: false };
-
- // if we're not piping anywhere, then do nothing.
- if (state.pipesCount === 0) return this;
-
- // just one destination. most common case.
- if (state.pipesCount === 1) {
- // passed in one, but it's not the right one.
- if (dest && dest !== state.pipes) return this;
-
- if (!dest) dest = state.pipes;
-
- // got a match.
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
- if (dest) dest.emit('unpipe', this, unpipeInfo);
- return this;
- }
-
- // slow case. multiple pipe destinations.
-
- if (!dest) {
- // remove all.
- var dests = state.pipes;
- var len = state.pipesCount;
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
-
- for (var i = 0; i < len; i++) {
- dests[i].emit('unpipe', this, { hasUnpiped: false });
- }return this;
- }
-
- // try to find the right one.
- var index = indexOf(state.pipes, dest);
- if (index === -1) return this;
-
- state.pipes.splice(index, 1);
- state.pipesCount -= 1;
- if (state.pipesCount === 1) state.pipes = state.pipes[0];
-
- dest.emit('unpipe', this, unpipeInfo);
-
- return this;
-};
-
-// set up data events if they are asked for
-// Ensure readable listeners eventually get something
-Readable.prototype.on = function (ev, fn) {
- var res = Stream.prototype.on.call(this, ev, fn);
-
- if (ev === 'data') {
- // Start flowing on next tick if stream isn't explicitly paused
- if (this._readableState.flowing !== false) this.resume();
- } else if (ev === 'readable') {
- var state = this._readableState;
- if (!state.endEmitted && !state.readableListening) {
- state.readableListening = state.needReadable = true;
- state.emittedReadable = false;
- if (!state.reading) {
- pna.nextTick(nReadingNextTick, this);
- } else if (state.length) {
- emitReadable(this);
- }
- }
- }
-
- return res;
-};
-Readable.prototype.addListener = Readable.prototype.on;
-
-function nReadingNextTick(self) {
- debug('readable nexttick read 0');
- self.read(0);
-}
-
-// pause() and resume() are remnants of the legacy readable stream API
-// If the user uses them, then switch into old mode.
-Readable.prototype.resume = function () {
- var state = this._readableState;
- if (!state.flowing) {
- debug('resume');
- state.flowing = true;
- resume(this, state);
- }
- return this;
-};
-
-function resume(stream, state) {
- if (!state.resumeScheduled) {
- state.resumeScheduled = true;
- pna.nextTick(resume_, stream, state);
- }
-}
-
-function resume_(stream, state) {
- if (!state.reading) {
- debug('resume read 0');
- stream.read(0);
- }
-
- state.resumeScheduled = false;
- state.awaitDrain = 0;
- stream.emit('resume');
- flow(stream);
- if (state.flowing && !state.reading) stream.read(0);
-}
-
-Readable.prototype.pause = function () {
- debug('call pause flowing=%j', this._readableState.flowing);
- if (false !== this._readableState.flowing) {
- debug('pause');
- this._readableState.flowing = false;
- this.emit('pause');
- }
- return this;
-};
-
-function flow(stream) {
- var state = stream._readableState;
- debug('flow', state.flowing);
- while (state.flowing && stream.read() !== null) {}
-}
-
-// wrap an old-style stream as the async data source.
-// This is *not* part of the readable stream interface.
-// It is an ugly unfortunate mess of history.
-Readable.prototype.wrap = function (stream) {
- var _this = this;
-
- var state = this._readableState;
- var paused = false;
-
- stream.on('end', function () {
- debug('wrapped end');
- if (state.decoder && !state.ended) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) _this.push(chunk);
- }
-
- _this.push(null);
- });
-
- stream.on('data', function (chunk) {
- debug('wrapped data');
- if (state.decoder) chunk = state.decoder.write(chunk);
-
- // don't skip over falsy values in objectMode
- if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;
-
- var ret = _this.push(chunk);
- if (!ret) {
- paused = true;
- stream.pause();
- }
- });
-
- // proxy all the other methods.
- // important when wrapping filters and duplexes.
- for (var i in stream) {
- if (this[i] === undefined && typeof stream[i] === 'function') {
- this[i] = function (method) {
- return function () {
- return stream[method].apply(stream, arguments);
- };
- }(i);
- }
- }
-
- // proxy certain important events.
- for (var n = 0; n < kProxyEvents.length; n++) {
- stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
- }
-
- // when we try to consume some more bytes, simply unpause the
- // underlying stream.
- this._read = function (n) {
- debug('wrapped _read', n);
- if (paused) {
- paused = false;
- stream.resume();
- }
- };
-
- return this;
-};
-
-Object.defineProperty(Readable.prototype, 'readableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function () {
- return this._readableState.highWaterMark;
- }
-});
-
-// exposed for testing purposes only.
-Readable._fromList = fromList;
-
-// Pluck off n bytes from an array of buffers.
-// Length is the combined lengths of all the buffers in the list.
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function fromList(n, state) {
- // nothing buffered
- if (state.length === 0) return null;
-
- var ret;
- if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {
- // read it all, truncate the list
- if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);
- state.buffer.clear();
- } else {
- // read part of list
- ret = fromListPartial(n, state.buffer, state.decoder);
- }
-
- return ret;
-}
-
-// Extracts only enough buffered data to satisfy the amount requested.
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function fromListPartial(n, list, hasStrings) {
- var ret;
- if (n < list.head.data.length) {
- // slice is the same for buffers and strings
- ret = list.head.data.slice(0, n);
- list.head.data = list.head.data.slice(n);
- } else if (n === list.head.data.length) {
- // first chunk is a perfect match
- ret = list.shift();
- } else {
- // result spans more than one buffer
- ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
- }
- return ret;
-}
-
-// Copies a specified amount of characters from the list of buffered data
-// chunks.
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function copyFromBufferString(n, list) {
- var p = list.head;
- var c = 1;
- var ret = p.data;
- n -= ret.length;
- while (p = p.next) {
- var str = p.data;
- var nb = n > str.length ? str.length : n;
- if (nb === str.length) ret += str;else ret += str.slice(0, n);
- n -= nb;
- if (n === 0) {
- if (nb === str.length) {
- ++c;
- if (p.next) list.head = p.next;else list.head = list.tail = null;
- } else {
- list.head = p;
- p.data = str.slice(nb);
- }
- break;
- }
- ++c;
- }
- list.length -= c;
- return ret;
-}
-
-// Copies a specified amount of bytes from the list of buffered data chunks.
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function copyFromBuffer(n, list) {
- var ret = Buffer.allocUnsafe(n);
- var p = list.head;
- var c = 1;
- p.data.copy(ret);
- n -= p.data.length;
- while (p = p.next) {
- var buf = p.data;
- var nb = n > buf.length ? buf.length : n;
- buf.copy(ret, ret.length - n, 0, nb);
- n -= nb;
- if (n === 0) {
- if (nb === buf.length) {
- ++c;
- if (p.next) list.head = p.next;else list.head = list.tail = null;
- } else {
- list.head = p;
- p.data = buf.slice(nb);
- }
- break;
- }
- ++c;
- }
- list.length -= c;
- return ret;
-}
-
-function endReadable(stream) {
- var state = stream._readableState;
-
- // If we get here before consuming all the bytes, then that is a
- // bug in node. Should never happen.
- if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
-
- if (!state.endEmitted) {
- state.ended = true;
- pna.nextTick(endReadableNT, state, stream);
- }
-}
-
-function endReadableNT(state, stream) {
- // Check that we didn't get one last unshift.
- if (!state.endEmitted && state.length === 0) {
- state.endEmitted = true;
- stream.readable = false;
- stream.emit('end');
- }
-}
-
-function indexOf(xs, x) {
- for (var i = 0, l = xs.length; i < l; i++) {
- if (xs[i] === x) return i;
- }
- return -1;
-} \ No newline at end of file
diff --git a/includes/search/node_modules/readable-stream/lib/_stream_transform.js b/includes/search/node_modules/readable-stream/lib/_stream_transform.js
deleted file mode 100644
index fcfc105..0000000
--- a/includes/search/node_modules/readable-stream/lib/_stream_transform.js
+++ /dev/null
@@ -1,214 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a transform stream is a readable/writable stream where you do
-// something with the data. Sometimes it's called a "filter",
-// but that's not a great name for it, since that implies a thing where
-// some bits pass through, and others are simply ignored. (That would
-// be a valid example of a transform, of course.)
-//
-// While the output is causally related to the input, it's not a
-// necessarily symmetric or synchronous transformation. For example,
-// a zlib stream might take multiple plain-text writes(), and then
-// emit a single compressed chunk some time in the future.
-//
-// Here's how this works:
-//
-// The Transform stream has all the aspects of the readable and writable
-// stream classes. When you write(chunk), that calls _write(chunk,cb)
-// internally, and returns false if there's a lot of pending writes
-// buffered up. When you call read(), that calls _read(n) until
-// there's enough pending readable data buffered up.
-//
-// In a transform stream, the written data is placed in a buffer. When
-// _read(n) is called, it transforms the queued up data, calling the
-// buffered _write cb's as it consumes chunks. If consuming a single
-// written chunk would result in multiple output chunks, then the first
-// outputted bit calls the readcb, and subsequent chunks just go into
-// the read buffer, and will cause it to emit 'readable' if necessary.
-//
-// This way, back-pressure is actually determined by the reading side,
-// since _read has to be called to start processing a new chunk. However,
-// a pathological inflate type of transform can cause excessive buffering
-// here. For example, imagine a stream where every byte of input is
-// interpreted as an integer from 0-255, and then results in that many
-// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
-// 1kb of data being output. In this case, you could write a very small
-// amount of input, and end up with a very large amount of output. In
-// such a pathological inflating mechanism, there'd be no way to tell
-// the system to stop doing the transform. A single 4MB write could
-// cause the system to run out of memory.
-//
-// However, even in such a pathological case, only a single written chunk
-// would be consumed, and then the rest would wait (un-transformed) until
-// the results of the previous transformed chunk were consumed.
-
-'use strict';
-
-module.exports = Transform;
-
-var Duplex = require('./_stream_duplex');
-
-/*<replacement>*/
-var util = Object.create(require('core-util-is'));
-util.inherits = require('inherits');
-/*</replacement>*/
-
-util.inherits(Transform, Duplex);
-
-function afterTransform(er, data) {
- var ts = this._transformState;
- ts.transforming = false;
-
- var cb = ts.writecb;
-
- if (!cb) {
- return this.emit('error', new Error('write callback called multiple times'));
- }
-
- ts.writechunk = null;
- ts.writecb = null;
-
- if (data != null) // single equals check for both `null` and `undefined`
- this.push(data);
-
- cb(er);
-
- var rs = this._readableState;
- rs.reading = false;
- if (rs.needReadable || rs.length < rs.highWaterMark) {
- this._read(rs.highWaterMark);
- }
-}
-
-function Transform(options) {
- if (!(this instanceof Transform)) return new Transform(options);
-
- Duplex.call(this, options);
-
- this._transformState = {
- afterTransform: afterTransform.bind(this),
- needTransform: false,
- transforming: false,
- writecb: null,
- writechunk: null,
- writeencoding: null
- };
-
- // start out asking for a readable event once data is transformed.
- this._readableState.needReadable = true;
-
- // we have implemented the _read method, and done the other things
- // that Readable wants before the first _read call, so unset the
- // sync guard flag.
- this._readableState.sync = false;
-
- if (options) {
- if (typeof options.transform === 'function') this._transform = options.transform;
-
- if (typeof options.flush === 'function') this._flush = options.flush;
- }
-
- // When the writable side finishes, then flush out anything remaining.
- this.on('prefinish', prefinish);
-}
-
-function prefinish() {
- var _this = this;
-
- if (typeof this._flush === 'function') {
- this._flush(function (er, data) {
- done(_this, er, data);
- });
- } else {
- done(this, null, null);
- }
-}
-
-Transform.prototype.push = function (chunk, encoding) {
- this._transformState.needTransform = false;
- return Duplex.prototype.push.call(this, chunk, encoding);
-};
-
-// This is the part where you do stuff!
-// override this function in implementation classes.
-// 'chunk' is an input chunk.
-//
-// Call `push(newChunk)` to pass along transformed output
-// to the readable side. You may call 'push' zero or more times.
-//
-// Call `cb(err)` when you are done with this chunk. If you pass
-// an error, then that'll put the hurt on the whole operation. If you
-// never call cb(), then you'll never get another chunk.
-Transform.prototype._transform = function (chunk, encoding, cb) {
- throw new Error('_transform() is not implemented');
-};
-
-Transform.prototype._write = function (chunk, encoding, cb) {
- var ts = this._transformState;
- ts.writecb = cb;
- ts.writechunk = chunk;
- ts.writeencoding = encoding;
- if (!ts.transforming) {
- var rs = this._readableState;
- if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
- }
-};
-
-// Doesn't matter what the args are here.
-// _transform does all the work.
-// That we got here means that the readable side wants more data.
-Transform.prototype._read = function (n) {
- var ts = this._transformState;
-
- if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
- ts.transforming = true;
- this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
- } else {
- // mark that we need a transform, so that any data that comes in
- // will get processed, now that we've asked for it.
- ts.needTransform = true;
- }
-};
-
-Transform.prototype._destroy = function (err, cb) {
- var _this2 = this;
-
- Duplex.prototype._destroy.call(this, err, function (err2) {
- cb(err2);
- _this2.emit('close');
- });
-};
-
-function done(stream, er, data) {
- if (er) return stream.emit('error', er);
-
- if (data != null) // single equals check for both `null` and `undefined`
- stream.push(data);
-
- // if there's nothing in the write buffer, then that means
- // that nothing more will ever be provided
- if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');
-
- if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');
-
- return stream.push(null);
-} \ No newline at end of file
diff --git a/includes/search/node_modules/readable-stream/lib/_stream_writable.js b/includes/search/node_modules/readable-stream/lib/_stream_writable.js
deleted file mode 100644
index e1e897f..0000000
--- a/includes/search/node_modules/readable-stream/lib/_stream_writable.js
+++ /dev/null
@@ -1,685 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// A bit simpler than readable streams.
-// Implement an async ._write(chunk, encoding, cb), and it'll handle all
-// the drain event emission and buffering.
-
-'use strict';
-
-/*<replacement>*/
-
-var pna = require('process-nextick-args');
-/*</replacement>*/
-
-module.exports = Writable;
-
-/* <replacement> */
-function WriteReq(chunk, encoding, cb) {
- this.chunk = chunk;
- this.encoding = encoding;
- this.callback = cb;
- this.next = null;
-}
-
-// It seems a linked list but it is not
-// there will be only 2 of these for each stream
-function CorkedRequest(state) {
- var _this = this;
-
- this.next = null;
- this.entry = null;
- this.finish = function () {
- onCorkedFinish(_this, state);
- };
-}
-/* </replacement> */
-
-/*<replacement>*/
-var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-/*</replacement>*/
-
-/*<replacement>*/
-var Duplex;
-/*</replacement>*/
-
-Writable.WritableState = WritableState;
-
-/*<replacement>*/
-var util = Object.create(require('core-util-is'));
-util.inherits = require('inherits');
-/*</replacement>*/
-
-/*<replacement>*/
-var internalUtil = {
- deprecate: require('util-deprecate')
-};
-/*</replacement>*/
-
-/*<replacement>*/
-var Stream = require('./internal/streams/stream');
-/*</replacement>*/
-
-/*<replacement>*/
-
-var Buffer = require('safe-buffer').Buffer;
-var OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};
-function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
-}
-function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
-}
-
-/*</replacement>*/
-
-var destroyImpl = require('./internal/streams/destroy');
-
-util.inherits(Writable, Stream);
-
-function nop() {}
-
-function WritableState(options, stream) {
- Duplex = Duplex || require('./_stream_duplex');
-
- options = options || {};
-
- // Duplex streams are both readable and writable, but share
- // the same options object.
- // However, some cases require setting options to different
- // values for the readable and the writable sides of the duplex stream.
- // These options can be provided separately as readableXXX and writableXXX.
- var isDuplex = stream instanceof Duplex;
-
- // object stream flag to indicate whether or not this stream
- // contains buffers or objects.
- this.objectMode = !!options.objectMode;
-
- if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-
- // the point at which write() starts returning false
- // Note: 0 is a valid value, means that we always return false if
- // the entire buffer is not flushed immediately on write()
- var hwm = options.highWaterMark;
- var writableHwm = options.writableHighWaterMark;
- var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-
- if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;
-
- // cast to ints.
- this.highWaterMark = Math.floor(this.highWaterMark);
-
- // if _final has been called
- this.finalCalled = false;
-
- // drain event flag.
- this.needDrain = false;
- // at the start of calling end()
- this.ending = false;
- // when end() has been called, and returned
- this.ended = false;
- // when 'finish' is emitted
- this.finished = false;
-
- // has it been destroyed
- this.destroyed = false;
-
- // should we decode strings into buffers before passing to _write?
- // this is here so that some node-core streams can optimize string
- // handling at a lower level.
- var noDecode = options.decodeStrings === false;
- this.decodeStrings = !noDecode;
-
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || 'utf8';
-
- // not an actual buffer we keep track of, but a measurement
- // of how much we're waiting to get pushed to some underlying
- // socket or file.
- this.length = 0;
-
- // a flag to see when we're in the middle of a write.
- this.writing = false;
-
- // when true all writes will be buffered until .uncork() call
- this.corked = 0;
-
- // a flag to be able to tell if the onwrite cb is called immediately,
- // or on a later tick. We set this to true at first, because any
- // actions that shouldn't happen until "later" should generally also
- // not happen before the first write call.
- this.sync = true;
-
- // a flag to know if we're processing previously buffered items, which
- // may call the _write() callback in the same tick, so that we don't
- // end up in an overlapped onwrite situation.
- this.bufferProcessing = false;
-
- // the callback that's passed to _write(chunk,cb)
- this.onwrite = function (er) {
- onwrite(stream, er);
- };
-
- // the callback that the user supplies to write(chunk,encoding,cb)
- this.writecb = null;
-
- // the amount that is being written when _write is called.
- this.writelen = 0;
-
- this.bufferedRequest = null;
- this.lastBufferedRequest = null;
-
- // number of pending user-supplied write callbacks
- // this must be 0 before 'finish' can be emitted
- this.pendingcb = 0;
-
- // emit prefinish if the only thing we're waiting for is _write cbs
- // This is relevant for synchronous Transform streams
- this.prefinished = false;
-
- // True if the error was already emitted and should not be thrown again
- this.errorEmitted = false;
-
- // count buffered requests
- this.bufferedRequestCount = 0;
-
- // allocate the first CorkedRequest, there is always
- // one allocated and free to use, and we maintain at most two
- this.corkedRequestsFree = new CorkedRequest(this);
-}
-
-WritableState.prototype.getBuffer = function getBuffer() {
- var current = this.bufferedRequest;
- var out = [];
- while (current) {
- out.push(current);
- current = current.next;
- }
- return out;
-};
-
-(function () {
- try {
- Object.defineProperty(WritableState.prototype, 'buffer', {
- get: internalUtil.deprecate(function () {
- return this.getBuffer();
- }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')
- });
- } catch (_) {}
-})();
-
-// Test _writableState for inheritance to account for Duplex streams,
-// whose prototype chain only points to Readable.
-var realHasInstance;
-if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {
- realHasInstance = Function.prototype[Symbol.hasInstance];
- Object.defineProperty(Writable, Symbol.hasInstance, {
- value: function (object) {
- if (realHasInstance.call(this, object)) return true;
- if (this !== Writable) return false;
-
- return object && object._writableState instanceof WritableState;
- }
- });
-} else {
- realHasInstance = function (object) {
- return object instanceof this;
- };
-}
-
-function Writable(options) {
- Duplex = Duplex || require('./_stream_duplex');
-
- // Writable ctor is applied to Duplexes, too.
- // `realHasInstance` is necessary because using plain `instanceof`
- // would return false, as no `_writableState` property is attached.
-
- // Trying to use the custom `instanceof` for Writable here will also break the
- // Node.js LazyTransform implementation, which has a non-trivial getter for
- // `_writableState` that would lead to infinite recursion.
- if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
- return new Writable(options);
- }
-
- this._writableState = new WritableState(options, this);
-
- // legacy.
- this.writable = true;
-
- if (options) {
- if (typeof options.write === 'function') this._write = options.write;
-
- if (typeof options.writev === 'function') this._writev = options.writev;
-
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
-
- if (typeof options.final === 'function') this._final = options.final;
- }
-
- Stream.call(this);
-}
-
-// Otherwise people can pipe Writable streams, which is just wrong.
-Writable.prototype.pipe = function () {
- this.emit('error', new Error('Cannot pipe, not readable'));
-};
-
-function writeAfterEnd(stream, cb) {
- var er = new Error('write after end');
- // TODO: defer error events consistently everywhere, not just the cb
- stream.emit('error', er);
- pna.nextTick(cb, er);
-}
-
-// Checks that a user-supplied chunk is valid, especially for the particular
-// mode the stream is in. Currently this means that `null` is never accepted
-// and undefined/non-string values are only allowed in object mode.
-function validChunk(stream, state, chunk, cb) {
- var valid = true;
- var er = false;
-
- if (chunk === null) {
- er = new TypeError('May not write null values to stream');
- } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
- er = new TypeError('Invalid non-string/buffer chunk');
- }
- if (er) {
- stream.emit('error', er);
- pna.nextTick(cb, er);
- valid = false;
- }
- return valid;
-}
-
-Writable.prototype.write = function (chunk, encoding, cb) {
- var state = this._writableState;
- var ret = false;
- var isBuf = !state.objectMode && _isUint8Array(chunk);
-
- if (isBuf && !Buffer.isBuffer(chunk)) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
-
- if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
-
- if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;
-
- if (typeof cb !== 'function') cb = nop;
-
- if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {
- state.pendingcb++;
- ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
- }
-
- return ret;
-};
-
-Writable.prototype.cork = function () {
- var state = this._writableState;
-
- state.corked++;
-};
-
-Writable.prototype.uncork = function () {
- var state = this._writableState;
-
- if (state.corked) {
- state.corked--;
-
- if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
- }
-};
-
-Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
- // node::ParseEncoding() requires lower case.
- if (typeof encoding === 'string') encoding = encoding.toLowerCase();
- if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);
- this._writableState.defaultEncoding = encoding;
- return this;
-};
-
-function decodeChunk(state, chunk, encoding) {
- if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {
- chunk = Buffer.from(chunk, encoding);
- }
- return chunk;
-}
-
-Object.defineProperty(Writable.prototype, 'writableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function () {
- return this._writableState.highWaterMark;
- }
-});
-
-// if we're already writing something, then just put this
-// in the queue, and wait our turn. Otherwise, call _write
-// If we return false, then we need a drain event, so set that flag.
-function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
- if (!isBuf) {
- var newChunk = decodeChunk(state, chunk, encoding);
- if (chunk !== newChunk) {
- isBuf = true;
- encoding = 'buffer';
- chunk = newChunk;
- }
- }
- var len = state.objectMode ? 1 : chunk.length;
-
- state.length += len;
-
- var ret = state.length < state.highWaterMark;
- // we must ensure that previous needDrain will not be reset to false.
- if (!ret) state.needDrain = true;
-
- if (state.writing || state.corked) {
- var last = state.lastBufferedRequest;
- state.lastBufferedRequest = {
- chunk: chunk,
- encoding: encoding,
- isBuf: isBuf,
- callback: cb,
- next: null
- };
- if (last) {
- last.next = state.lastBufferedRequest;
- } else {
- state.bufferedRequest = state.lastBufferedRequest;
- }
- state.bufferedRequestCount += 1;
- } else {
- doWrite(stream, state, false, len, chunk, encoding, cb);
- }
-
- return ret;
-}
-
-function doWrite(stream, state, writev, len, chunk, encoding, cb) {
- state.writelen = len;
- state.writecb = cb;
- state.writing = true;
- state.sync = true;
- if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);
- state.sync = false;
-}
-
-function onwriteError(stream, state, sync, er, cb) {
- --state.pendingcb;
-
- if (sync) {
- // defer the callback if we are being called synchronously
- // to avoid piling up things on the stack
- pna.nextTick(cb, er);
- // this can emit finish, and it will always happen
- // after error
- pna.nextTick(finishMaybe, stream, state);
- stream._writableState.errorEmitted = true;
- stream.emit('error', er);
- } else {
- // the caller expect this to happen before if
- // it is async
- cb(er);
- stream._writableState.errorEmitted = true;
- stream.emit('error', er);
- // this can emit finish, but finish must
- // always follow error
- finishMaybe(stream, state);
- }
-}
-
-function onwriteStateUpdate(state) {
- state.writing = false;
- state.writecb = null;
- state.length -= state.writelen;
- state.writelen = 0;
-}
-
-function onwrite(stream, er) {
- var state = stream._writableState;
- var sync = state.sync;
- var cb = state.writecb;
-
- onwriteStateUpdate(state);
-
- if (er) onwriteError(stream, state, sync, er, cb);else {
- // Check if we're actually ready to finish, but don't emit yet
- var finished = needFinish(state);
-
- if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
- clearBuffer(stream, state);
- }
-
- if (sync) {
- /*<replacement>*/
- asyncWrite(afterWrite, stream, state, finished, cb);
- /*</replacement>*/
- } else {
- afterWrite(stream, state, finished, cb);
- }
- }
-}
-
-function afterWrite(stream, state, finished, cb) {
- if (!finished) onwriteDrain(stream, state);
- state.pendingcb--;
- cb();
- finishMaybe(stream, state);
-}
-
-// Must force callback to be called on nextTick, so that we don't
-// emit 'drain' before the write() consumer gets the 'false' return
-// value, and has a chance to attach a 'drain' listener.
-function onwriteDrain(stream, state) {
- if (state.length === 0 && state.needDrain) {
- state.needDrain = false;
- stream.emit('drain');
- }
-}
-
-// if there's something in the buffer waiting, then process it
-function clearBuffer(stream, state) {
- state.bufferProcessing = true;
- var entry = state.bufferedRequest;
-
- if (stream._writev && entry && entry.next) {
- // Fast case, write everything using _writev()
- var l = state.bufferedRequestCount;
- var buffer = new Array(l);
- var holder = state.corkedRequestsFree;
- holder.entry = entry;
-
- var count = 0;
- var allBuffers = true;
- while (entry) {
- buffer[count] = entry;
- if (!entry.isBuf) allBuffers = false;
- entry = entry.next;
- count += 1;
- }
- buffer.allBuffers = allBuffers;
-
- doWrite(stream, state, true, state.length, buffer, '', holder.finish);
-
- // doWrite is almost always async, defer these to save a bit of time
- // as the hot path ends with doWrite
- state.pendingcb++;
- state.lastBufferedRequest = null;
- if (holder.next) {
- state.corkedRequestsFree = holder.next;
- holder.next = null;
- } else {
- state.corkedRequestsFree = new CorkedRequest(state);
- }
- state.bufferedRequestCount = 0;
- } else {
- // Slow case, write chunks one-by-one
- while (entry) {
- var chunk = entry.chunk;
- var encoding = entry.encoding;
- var cb = entry.callback;
- var len = state.objectMode ? 1 : chunk.length;
-
- doWrite(stream, state, false, len, chunk, encoding, cb);
- entry = entry.next;
- state.bufferedRequestCount--;
- // if we didn't call the onwrite immediately, then
- // it means that we need to wait until it does.
- // also, that means that the chunk and cb are currently
- // being processed, so move the buffer counter past them.
- if (state.writing) {
- break;
- }
- }
-
- if (entry === null) state.lastBufferedRequest = null;
- }
-
- state.bufferedRequest = entry;
- state.bufferProcessing = false;
-}
-
-Writable.prototype._write = function (chunk, encoding, cb) {
- cb(new Error('_write() is not implemented'));
-};
-
-Writable.prototype._writev = null;
-
-Writable.prototype.end = function (chunk, encoding, cb) {
- var state = this._writableState;
-
- if (typeof chunk === 'function') {
- cb = chunk;
- chunk = null;
- encoding = null;
- } else if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
-
- if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);
-
- // .end() fully uncorks
- if (state.corked) {
- state.corked = 1;
- this.uncork();
- }
-
- // ignore unnecessary end() calls.
- if (!state.ending) endWritable(this, state, cb);
-};
-
-function needFinish(state) {
- return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
-}
-function callFinal(stream, state) {
- stream._final(function (err) {
- state.pendingcb--;
- if (err) {
- stream.emit('error', err);
- }
- state.prefinished = true;
- stream.emit('prefinish');
- finishMaybe(stream, state);
- });
-}
-function prefinish(stream, state) {
- if (!state.prefinished && !state.finalCalled) {
- if (typeof stream._final === 'function') {
- state.pendingcb++;
- state.finalCalled = true;
- pna.nextTick(callFinal, stream, state);
- } else {
- state.prefinished = true;
- stream.emit('prefinish');
- }
- }
-}
-
-function finishMaybe(stream, state) {
- var need = needFinish(state);
- if (need) {
- prefinish(stream, state);
- if (state.pendingcb === 0) {
- state.finished = true;
- stream.emit('finish');
- }
- }
- return need;
-}
-
-function endWritable(stream, state, cb) {
- state.ending = true;
- finishMaybe(stream, state);
- if (cb) {
- if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);
- }
- state.ended = true;
- stream.writable = false;
-}
-
-function onCorkedFinish(corkReq, state, err) {
- var entry = corkReq.entry;
- corkReq.entry = null;
- while (entry) {
- var cb = entry.callback;
- state.pendingcb--;
- cb(err);
- entry = entry.next;
- }
-
- // reuse the free corkReq.
- state.corkedRequestsFree.next = corkReq;
-}
-
-Object.defineProperty(Writable.prototype, 'destroyed', {
- get: function () {
- if (this._writableState === undefined) {
- return false;
- }
- return this._writableState.destroyed;
- },
- set: function (value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._writableState) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._writableState.destroyed = value;
- }
-});
-
-Writable.prototype.destroy = destroyImpl.destroy;
-Writable.prototype._undestroy = destroyImpl.undestroy;
-Writable.prototype._destroy = function (err, cb) {
- this.end();
- cb(err);
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/readable-stream/lib/internal/streams/BufferList.js b/includes/search/node_modules/readable-stream/lib/internal/streams/BufferList.js
deleted file mode 100644
index 5e08097..0000000
--- a/includes/search/node_modules/readable-stream/lib/internal/streams/BufferList.js
+++ /dev/null
@@ -1,78 +0,0 @@
-'use strict';
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var Buffer = require('safe-buffer').Buffer;
-var util = require('util');
-
-function copyBuffer(src, target, offset) {
- src.copy(target, offset);
-}
-
-module.exports = function () {
- function BufferList() {
- _classCallCheck(this, BufferList);
-
- this.head = null;
- this.tail = null;
- this.length = 0;
- }
-
- BufferList.prototype.push = function push(v) {
- var entry = { data: v, next: null };
- if (this.length > 0) this.tail.next = entry;else this.head = entry;
- this.tail = entry;
- ++this.length;
- };
-
- BufferList.prototype.unshift = function unshift(v) {
- var entry = { data: v, next: this.head };
- if (this.length === 0) this.tail = entry;
- this.head = entry;
- ++this.length;
- };
-
- BufferList.prototype.shift = function shift() {
- if (this.length === 0) return;
- var ret = this.head.data;
- if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;
- --this.length;
- return ret;
- };
-
- BufferList.prototype.clear = function clear() {
- this.head = this.tail = null;
- this.length = 0;
- };
-
- BufferList.prototype.join = function join(s) {
- if (this.length === 0) return '';
- var p = this.head;
- var ret = '' + p.data;
- while (p = p.next) {
- ret += s + p.data;
- }return ret;
- };
-
- BufferList.prototype.concat = function concat(n) {
- if (this.length === 0) return Buffer.alloc(0);
- var ret = Buffer.allocUnsafe(n >>> 0);
- var p = this.head;
- var i = 0;
- while (p) {
- copyBuffer(p.data, ret, i);
- i += p.data.length;
- p = p.next;
- }
- return ret;
- };
-
- return BufferList;
-}();
-
-if (util && util.inspect && util.inspect.custom) {
- module.exports.prototype[util.inspect.custom] = function () {
- var obj = util.inspect({ length: this.length });
- return this.constructor.name + ' ' + obj;
- };
-} \ No newline at end of file
diff --git a/includes/search/node_modules/readable-stream/lib/internal/streams/destroy.js b/includes/search/node_modules/readable-stream/lib/internal/streams/destroy.js
deleted file mode 100644
index 85a8214..0000000
--- a/includes/search/node_modules/readable-stream/lib/internal/streams/destroy.js
+++ /dev/null
@@ -1,84 +0,0 @@
-'use strict';
-
-/*<replacement>*/
-
-var pna = require('process-nextick-args');
-/*</replacement>*/
-
-// undocumented cb() API, needed for core, not for public API
-function destroy(err, cb) {
- var _this = this;
-
- var readableDestroyed = this._readableState && this._readableState.destroyed;
- var writableDestroyed = this._writableState && this._writableState.destroyed;
-
- if (readableDestroyed || writableDestroyed) {
- if (cb) {
- cb(err);
- } else if (err) {
- if (!this._writableState) {
- pna.nextTick(emitErrorNT, this, err);
- } else if (!this._writableState.errorEmitted) {
- this._writableState.errorEmitted = true;
- pna.nextTick(emitErrorNT, this, err);
- }
- }
-
- return this;
- }
-
- // we set destroyed to true before firing error callbacks in order
- // to make it re-entrance safe in case destroy() is called within callbacks
-
- if (this._readableState) {
- this._readableState.destroyed = true;
- }
-
- // if this is a duplex stream mark the writable part as destroyed as well
- if (this._writableState) {
- this._writableState.destroyed = true;
- }
-
- this._destroy(err || null, function (err) {
- if (!cb && err) {
- if (!_this._writableState) {
- pna.nextTick(emitErrorNT, _this, err);
- } else if (!_this._writableState.errorEmitted) {
- _this._writableState.errorEmitted = true;
- pna.nextTick(emitErrorNT, _this, err);
- }
- } else if (cb) {
- cb(err);
- }
- });
-
- return this;
-}
-
-function undestroy() {
- if (this._readableState) {
- this._readableState.destroyed = false;
- this._readableState.reading = false;
- this._readableState.ended = false;
- this._readableState.endEmitted = false;
- }
-
- if (this._writableState) {
- this._writableState.destroyed = false;
- this._writableState.ended = false;
- this._writableState.ending = false;
- this._writableState.finalCalled = false;
- this._writableState.prefinished = false;
- this._writableState.finished = false;
- this._writableState.errorEmitted = false;
- }
-}
-
-function emitErrorNT(self, err) {
- self.emit('error', err);
-}
-
-module.exports = {
- destroy: destroy,
- undestroy: undestroy
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/readable-stream/lib/internal/streams/stream-browser.js b/includes/search/node_modules/readable-stream/lib/internal/streams/stream-browser.js
deleted file mode 100644
index 9332a3f..0000000
--- a/includes/search/node_modules/readable-stream/lib/internal/streams/stream-browser.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('events').EventEmitter;
diff --git a/includes/search/node_modules/readable-stream/lib/internal/streams/stream.js b/includes/search/node_modules/readable-stream/lib/internal/streams/stream.js
deleted file mode 100644
index ce2ad5b..0000000
--- a/includes/search/node_modules/readable-stream/lib/internal/streams/stream.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('stream');
diff --git a/includes/search/node_modules/readable-stream/package.json b/includes/search/node_modules/readable-stream/package.json
deleted file mode 100644
index 514c178..0000000
--- a/includes/search/node_modules/readable-stream/package.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "name": "readable-stream",
- "version": "2.3.8",
- "description": "Streams3, a user-land copy of the stream library from Node.js",
- "main": "readable.js",
- "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"
- },
- "devDependencies": {
- "assert": "^1.4.0",
- "babel-polyfill": "^6.9.1",
- "buffer": "^4.9.0",
- "lolex": "^2.3.2",
- "nyc": "^6.4.0",
- "tap": "^0.7.0",
- "tape": "^4.8.0"
- },
- "scripts": {
- "test": "tap test/parallel/*.js test/ours/*.js && node test/verify-dependencies.js",
- "ci": "tap test/parallel/*.js test/ours/*.js --tap | tee test.tap && node test/verify-dependencies.js",
- "cover": "nyc npm test",
- "report": "nyc report --reporter=lcov"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/nodejs/readable-stream"
- },
- "keywords": [
- "readable",
- "stream",
- "pipe"
- ],
- "browser": {
- "util": false,
- "./readable.js": "./readable-browser.js",
- "./writable.js": "./writable-browser.js",
- "./duplex.js": "./duplex-browser.js",
- "./lib/internal/streams/stream.js": "./lib/internal/streams/stream-browser.js"
- },
- "nyc": {
- "include": [
- "lib/**.js"
- ]
- },
- "license": "MIT"
-}
diff --git a/includes/search/node_modules/readable-stream/passthrough.js b/includes/search/node_modules/readable-stream/passthrough.js
deleted file mode 100644
index ffd791d..0000000
--- a/includes/search/node_modules/readable-stream/passthrough.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./readable').PassThrough
diff --git a/includes/search/node_modules/readable-stream/readable-browser.js b/includes/search/node_modules/readable-stream/readable-browser.js
deleted file mode 100644
index e503725..0000000
--- a/includes/search/node_modules/readable-stream/readable-browser.js
+++ /dev/null
@@ -1,7 +0,0 @@
-exports = module.exports = require('./lib/_stream_readable.js');
-exports.Stream = exports;
-exports.Readable = exports;
-exports.Writable = require('./lib/_stream_writable.js');
-exports.Duplex = require('./lib/_stream_duplex.js');
-exports.Transform = require('./lib/_stream_transform.js');
-exports.PassThrough = require('./lib/_stream_passthrough.js');
diff --git a/includes/search/node_modules/readable-stream/readable.js b/includes/search/node_modules/readable-stream/readable.js
deleted file mode 100644
index ec89ec5..0000000
--- a/includes/search/node_modules/readable-stream/readable.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var Stream = require('stream');
-if (process.env.READABLE_STREAM === 'disable' && Stream) {
- module.exports = Stream;
- exports = module.exports = Stream.Readable;
- exports.Readable = Stream.Readable;
- exports.Writable = Stream.Writable;
- exports.Duplex = Stream.Duplex;
- exports.Transform = Stream.Transform;
- exports.PassThrough = Stream.PassThrough;
- exports.Stream = Stream;
-} else {
- exports = module.exports = require('./lib/_stream_readable.js');
- exports.Stream = Stream || exports;
- exports.Readable = exports;
- exports.Writable = require('./lib/_stream_writable.js');
- exports.Duplex = require('./lib/_stream_duplex.js');
- exports.Transform = require('./lib/_stream_transform.js');
- exports.PassThrough = require('./lib/_stream_passthrough.js');
-}
diff --git a/includes/search/node_modules/readable-stream/transform.js b/includes/search/node_modules/readable-stream/transform.js
deleted file mode 100644
index b1baba2..0000000
--- a/includes/search/node_modules/readable-stream/transform.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./readable').Transform
diff --git a/includes/search/node_modules/readable-stream/writable-browser.js b/includes/search/node_modules/readable-stream/writable-browser.js
deleted file mode 100644
index ebdde6a..0000000
--- a/includes/search/node_modules/readable-stream/writable-browser.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./lib/_stream_writable.js');
diff --git a/includes/search/node_modules/readable-stream/writable.js b/includes/search/node_modules/readable-stream/writable.js
deleted file mode 100644
index 3211a6f..0000000
--- a/includes/search/node_modules/readable-stream/writable.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var Stream = require("stream")
-var Writable = require("./lib/_stream_writable.js")
-
-if (process.env.READABLE_STREAM === 'disable') {
- module.exports = Stream && Stream.Writable || Writable
-} else {
- module.exports = Writable
-}
diff --git a/includes/search/node_modules/require-directory/.jshintrc b/includes/search/node_modules/require-directory/.jshintrc
deleted file mode 100644
index e14e4dc..0000000
--- a/includes/search/node_modules/require-directory/.jshintrc
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "maxerr" : 50,
- "bitwise" : true,
- "camelcase" : true,
- "curly" : true,
- "eqeqeq" : true,
- "forin" : true,
- "immed" : true,
- "indent" : 2,
- "latedef" : true,
- "newcap" : true,
- "noarg" : true,
- "noempty" : true,
- "nonew" : true,
- "plusplus" : true,
- "quotmark" : true,
- "undef" : true,
- "unused" : true,
- "strict" : true,
- "trailing" : true,
- "maxparams" : false,
- "maxdepth" : false,
- "maxstatements" : false,
- "maxcomplexity" : false,
- "maxlen" : false,
- "asi" : false,
- "boss" : false,
- "debug" : false,
- "eqnull" : true,
- "es5" : false,
- "esnext" : false,
- "moz" : false,
- "evil" : false,
- "expr" : true,
- "funcscope" : true,
- "globalstrict" : true,
- "iterator" : true,
- "lastsemic" : false,
- "laxbreak" : false,
- "laxcomma" : false,
- "loopfunc" : false,
- "multistr" : false,
- "proto" : false,
- "scripturl" : false,
- "smarttabs" : false,
- "shadow" : false,
- "sub" : false,
- "supernew" : false,
- "validthis" : false,
- "browser" : true,
- "couch" : false,
- "devel" : true,
- "dojo" : false,
- "jquery" : false,
- "mootools" : false,
- "node" : true,
- "nonstandard" : false,
- "prototypejs" : false,
- "rhino" : false,
- "worker" : false,
- "wsh" : false,
- "yui" : false,
- "nomen" : true,
- "onevar" : true,
- "passfail" : false,
- "white" : true
-}
diff --git a/includes/search/node_modules/require-directory/.npmignore b/includes/search/node_modules/require-directory/.npmignore
deleted file mode 100644
index 47cf365..0000000
--- a/includes/search/node_modules/require-directory/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-test/**
diff --git a/includes/search/node_modules/require-directory/.travis.yml b/includes/search/node_modules/require-directory/.travis.yml
deleted file mode 100644
index 20fd86b..0000000
--- a/includes/search/node_modules/require-directory/.travis.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-language: node_js
-node_js:
- - 0.10
diff --git a/includes/search/node_modules/require-directory/LICENSE b/includes/search/node_modules/require-directory/LICENSE
deleted file mode 100644
index a70f253..0000000
--- a/includes/search/node_modules/require-directory/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2011 Troy Goode <troygoode@gmail.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/require-directory/README.markdown b/includes/search/node_modules/require-directory/README.markdown
deleted file mode 100644
index 926a063..0000000
--- a/includes/search/node_modules/require-directory/README.markdown
+++ /dev/null
@@ -1,184 +0,0 @@
-# require-directory
-
-Recursively iterates over specified directory, `require()`'ing each file, and returning a nested hash structure containing those modules.
-
-**[Follow me (@troygoode) on Twitter!](https://twitter.com/intent/user?screen_name=troygoode)**
-
-[![NPM](https://nodei.co/npm/require-directory.png?downloads=true&stars=true)](https://nodei.co/npm/require-directory/)
-
-[![build status](https://secure.travis-ci.org/troygoode/node-require-directory.png)](http://travis-ci.org/troygoode/node-require-directory)
-
-## How To Use
-
-### Installation (via [npm](https://npmjs.org/package/require-directory))
-
-```bash
-$ npm install require-directory
-```
-
-### Usage
-
-A common pattern in node.js is to include an index file which creates a hash of the files in its current directory. Given a directory structure like so:
-
-* app.js
-* routes/
- * index.js
- * home.js
- * auth/
- * login.js
- * logout.js
- * register.js
-
-`routes/index.js` uses `require-directory` to build the hash (rather than doing so manually) like so:
-
-```javascript
-var requireDirectory = require('require-directory');
-module.exports = requireDirectory(module);
-```
-
-`app.js` references `routes/index.js` like any other module, but it now has a hash/tree of the exports from the `./routes/` directory:
-
-```javascript
-var routes = require('./routes');
-
-// snip
-
-app.get('/', routes.home);
-app.get('/register', routes.auth.register);
-app.get('/login', routes.auth.login);
-app.get('/logout', routes.auth.logout);
-```
-
-The `routes` variable above is the equivalent of this:
-
-```javascript
-var routes = {
- home: require('routes/home.js'),
- auth: {
- login: require('routes/auth/login.js'),
- logout: require('routes/auth/logout.js'),
- register: require('routes/auth/register.js')
- }
-};
-```
-
-*Note that `routes.index` will be `undefined` as you would hope.*
-
-### Specifying Another Directory
-
-You can specify which directory you want to build a tree of (if it isn't the current directory for whatever reason) by passing it as the second parameter. Not specifying the path (`requireDirectory(module)`) is the equivelant of `requireDirectory(module, __dirname)`:
-
-```javascript
-var requireDirectory = require('require-directory');
-module.exports = requireDirectory(module, './some/subdirectory');
-```
-
-For example, in the [example in the Usage section](#usage) we could have avoided creating `routes/index.js` and instead changed the first lines of `app.js` to:
-
-```javascript
-var requireDirectory = require('require-directory');
-var routes = requireDirectory(module, './routes');
-```
-
-## Options
-
-You can pass an options hash to `require-directory` as the 2nd parameter (or 3rd if you're passing the path to another directory as the 2nd parameter already). Here are the available options:
-
-### Whitelisting
-
-Whitelisting (either via RegExp or function) allows you to specify that only certain files be loaded.
-
-```javascript
-var requireDirectory = require('require-directory'),
- whitelist = /onlyinclude.js$/,
- hash = requireDirectory(module, {include: whitelist});
-```
-
-```javascript
-var requireDirectory = require('require-directory'),
- check = function(path){
- if(/onlyinclude.js$/.test(path)){
- return true; // don't include
- }else{
- return false; // go ahead and include
- }
- },
- hash = requireDirectory(module, {include: check});
-```
-
-### Blacklisting
-
-Blacklisting (either via RegExp or function) allows you to specify that all but certain files should be loaded.
-
-```javascript
-var requireDirectory = require('require-directory'),
- blacklist = /dontinclude\.js$/,
- hash = requireDirectory(module, {exclude: blacklist});
-```
-
-```javascript
-var requireDirectory = require('require-directory'),
- check = function(path){
- if(/dontinclude\.js$/.test(path)){
- return false; // don't include
- }else{
- return true; // go ahead and include
- }
- },
- hash = requireDirectory(module, {exclude: check});
-```
-
-### Visiting Objects As They're Loaded
-
-`require-directory` takes a function as the `visit` option that will be called for each module that is added to module.exports.
-
-```javascript
-var requireDirectory = require('require-directory'),
- visitor = function(obj) {
- console.log(obj); // will be called for every module that is loaded
- },
- hash = requireDirectory(module, {visit: visitor});
-```
-
-The visitor can also transform the objects by returning a value:
-
-```javascript
-var requireDirectory = require('require-directory'),
- visitor = function(obj) {
- return obj(new Date());
- },
- hash = requireDirectory(module, {visit: visitor});
-```
-
-### Renaming Keys
-
-```javascript
-var requireDirectory = require('require-directory'),
- renamer = function(name) {
- return name.toUpperCase();
- },
- hash = requireDirectory(module, {rename: renamer});
-```
-
-### No Recursion
-
-```javascript
-var requireDirectory = require('require-directory'),
- hash = requireDirectory(module, {recurse: false});
-```
-
-## Run Unit Tests
-
-```bash
-$ npm run lint
-$ npm test
-```
-
-## License
-
-[MIT License](http://www.opensource.org/licenses/mit-license.php)
-
-## Author
-
-[Troy Goode](https://github.com/TroyGoode) ([troygoode@gmail.com](mailto:troygoode@gmail.com))
-
diff --git a/includes/search/node_modules/require-directory/index.js b/includes/search/node_modules/require-directory/index.js
deleted file mode 100644
index cd37da7..0000000
--- a/includes/search/node_modules/require-directory/index.js
+++ /dev/null
@@ -1,86 +0,0 @@
-'use strict';
-
-var fs = require('fs'),
- join = require('path').join,
- resolve = require('path').resolve,
- dirname = require('path').dirname,
- defaultOptions = {
- extensions: ['js', 'json', 'coffee'],
- recurse: true,
- rename: function (name) {
- return name;
- },
- visit: function (obj) {
- return obj;
- }
- };
-
-function checkFileInclusion(path, filename, options) {
- return (
- // verify file has valid extension
- (new RegExp('\\.(' + options.extensions.join('|') + ')$', 'i').test(filename)) &&
-
- // if options.include is a RegExp, evaluate it and make sure the path passes
- !(options.include && options.include instanceof RegExp && !options.include.test(path)) &&
-
- // if options.include is a function, evaluate it and make sure the path passes
- !(options.include && typeof options.include === 'function' && !options.include(path, filename)) &&
-
- // if options.exclude is a RegExp, evaluate it and make sure the path doesn't pass
- !(options.exclude && options.exclude instanceof RegExp && options.exclude.test(path)) &&
-
- // if options.exclude is a function, evaluate it and make sure the path doesn't pass
- !(options.exclude && typeof options.exclude === 'function' && options.exclude(path, filename))
- );
-}
-
-function requireDirectory(m, path, options) {
- var retval = {};
-
- // path is optional
- if (path && !options && typeof path !== 'string') {
- options = path;
- path = null;
- }
-
- // default options
- options = options || {};
- for (var prop in defaultOptions) {
- if (typeof options[prop] === 'undefined') {
- options[prop] = defaultOptions[prop];
- }
- }
-
- // if no path was passed in, assume the equivelant of __dirname from caller
- // otherwise, resolve path relative to the equivalent of __dirname
- path = !path ? dirname(m.filename) : resolve(dirname(m.filename), path);
-
- // get the path of each file in specified directory, append to current tree node, recurse
- fs.readdirSync(path).forEach(function (filename) {
- var joined = join(path, filename),
- files,
- key,
- obj;
-
- if (fs.statSync(joined).isDirectory() && options.recurse) {
- // this node is a directory; recurse
- files = requireDirectory(m, joined, options);
- // exclude empty directories
- if (Object.keys(files).length) {
- retval[options.rename(filename, joined, filename)] = files;
- }
- } else {
- if (joined !== m.filename && checkFileInclusion(joined, filename, options)) {
- // hash node key shouldn't include file extension
- key = filename.substring(0, filename.lastIndexOf('.'));
- obj = m.require(joined);
- retval[options.rename(key, joined, filename)] = options.visit(obj, joined, filename) || obj;
- }
- }
- });
-
- return retval;
-}
-
-module.exports = requireDirectory;
-module.exports.defaults = defaultOptions;
diff --git a/includes/search/node_modules/require-directory/package.json b/includes/search/node_modules/require-directory/package.json
deleted file mode 100644
index 25ece4b..0000000
--- a/includes/search/node_modules/require-directory/package.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "author": "Troy Goode <troygoode@gmail.com> (http://github.com/troygoode/)",
- "name": "require-directory",
- "version": "2.1.1",
- "description": "Recursively iterates over specified directory, require()'ing each file, and returning a nested hash structure containing those modules.",
- "keywords": [
- "require",
- "directory",
- "library",
- "recursive"
- ],
- "homepage": "https://github.com/troygoode/node-require-directory/",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/troygoode/node-require-directory.git"
- },
- "contributors": [
- {
- "name": "Troy Goode",
- "email": "troygoode@gmail.com",
- "web": "http://github.com/troygoode/"
- }
- ],
- "license": "MIT",
- "bugs": {
- "url": "http://github.com/troygoode/node-require-directory/issues/"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "devDependencies": {
- "jshint": "^2.6.0",
- "mocha": "^2.1.0"
- },
- "scripts": {
- "test": "mocha",
- "lint": "jshint index.js test/test.js"
- }
-}
diff --git a/includes/search/node_modules/resolve/.editorconfig b/includes/search/node_modules/resolve/.editorconfig
deleted file mode 100644
index d63f0bb..0000000
--- a/includes/search/node_modules/resolve/.editorconfig
+++ /dev/null
@@ -1,37 +0,0 @@
-root = true
-
-[*]
-indent_style = space
-indent_size = 2
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-max_line_length = 200
-
-[*.js]
-block_comment_start = /*
-block_comment = *
-block_comment_end = */
-
-[*.yml]
-indent_size = 1
-
-[package.json]
-indent_style = tab
-
-[lib/core.json]
-indent_style = tab
-
-[CHANGELOG.md]
-indent_style = space
-indent_size = 2
-
-[{*.json,Makefile}]
-max_line_length = off
-
-[test/{dotdot,resolver,module_dir,multirepo,node_path,pathfilter,precedence}/**/*]
-indent_style = off
-indent_size = off
-max_line_length = off
-insert_final_newline = off
diff --git a/includes/search/node_modules/resolve/.eslintrc b/includes/search/node_modules/resolve/.eslintrc
deleted file mode 100644
index ce1be6e..0000000
--- a/includes/search/node_modules/resolve/.eslintrc
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "root": true,
-
- "extends": "@ljharb",
-
- "rules": {
- "indent": [2, 4],
- "strict": 0,
- "complexity": 0,
- "consistent-return": 0,
- "curly": 0,
- "dot-notation": [2, { "allowKeywords": true }],
- "func-name-matching": 0,
- "func-style": 0,
- "global-require": 1,
- "id-length": [2, { "min": 1, "max": 30 }],
- "max-lines": [2, 350],
- "max-lines-per-function": 0,
- "max-nested-callbacks": 0,
- "max-params": 0,
- "max-statements-per-line": [2, { "max": 2 }],
- "max-statements": 0,
- "no-magic-numbers": 0,
- "no-shadow": 0,
- "no-use-before-define": 0,
- "sort-keys": 0,
- },
- "overrides": [
- {
- "files": "bin/**",
- "rules": {
- "no-process-exit": "off",
- },
- },
- {
- "files": "example/**",
- "rules": {
- "no-console": 0,
- },
- },
- {
- "files": "test/resolver/nested_symlinks/mylib/*.js",
- "rules": {
- "no-throw-literal": 0,
- },
- },
- {
- "files": "test/**",
- "parserOptions": {
- "ecmaVersion": 5,
- "allowReserved": false,
- },
- "rules": {
- "dot-notation": [2, { "allowPattern": "throws" }],
- "max-lines": 0,
- "max-lines-per-function": 0,
- "no-unused-vars": [2, { "vars": "all", "args": "none" }],
- },
- },
- ],
-
- "ignorePatterns": [
- "./test/resolver/malformed_package_json/package.json",
- ],
-}
diff --git a/includes/search/node_modules/resolve/.github/FUNDING.yml b/includes/search/node_modules/resolve/.github/FUNDING.yml
deleted file mode 100644
index d9c0595..0000000
--- a/includes/search/node_modules/resolve/.github/FUNDING.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-# These are supported funding model platforms
-
-github: [ljharb]
-patreon: # Replace with a single Patreon username
-open_collective: # Replace with a single Open Collective username
-ko_fi: # Replace with a single Ko-fi username
-tidelift: npm/resolve
-community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
-liberapay: # Replace with a single Liberapay username
-issuehunt: # Replace with a single IssueHunt username
-otechie: # Replace with a single Otechie username
-custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/includes/search/node_modules/resolve/LICENSE b/includes/search/node_modules/resolve/LICENSE
deleted file mode 100644
index ff4fce2..0000000
--- a/includes/search/node_modules/resolve/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2012 James Halliday
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/resolve/SECURITY.md b/includes/search/node_modules/resolve/SECURITY.md
deleted file mode 100644
index 82e4285..0000000
--- a/includes/search/node_modules/resolve/SECURITY.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Security
-
-Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.
diff --git a/includes/search/node_modules/resolve/async.js b/includes/search/node_modules/resolve/async.js
deleted file mode 100644
index f38c581..0000000
--- a/includes/search/node_modules/resolve/async.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = require('./lib/async');
diff --git a/includes/search/node_modules/resolve/bin/resolve b/includes/search/node_modules/resolve/bin/resolve
deleted file mode 100755
index 5ee329a..0000000
--- a/includes/search/node_modules/resolve/bin/resolve
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env node
-
-'use strict';
-
-var path = require('path');
-var fs = require('fs');
-
-if (
- String(process.env.npm_lifecycle_script).slice(0, 8) !== 'resolve '
- && (
- !process.argv
- || process.argv.length < 2
- || (process.argv[1] !== __filename && fs.statSync(process.argv[1]).ino !== fs.statSync(__filename).ino)
- || (process.env._ && path.resolve(process.env._) !== __filename)
- )
-) {
- console.error('Error: `resolve` must be run directly as an executable');
- process.exit(1);
-}
-
-var supportsPreserveSymlinkFlag = require('supports-preserve-symlinks-flag');
-
-var preserveSymlinks = false;
-for (var i = 2; i < process.argv.length; i += 1) {
- if (process.argv[i].slice(0, 2) === '--') {
- if (supportsPreserveSymlinkFlag && process.argv[i] === '--preserve-symlinks') {
- preserveSymlinks = true;
- } else if (process.argv[i].length > 2) {
- console.error('Unknown argument ' + process.argv[i].replace(/[=].*$/, ''));
- process.exit(2);
- }
- process.argv.splice(i, 1);
- i -= 1;
- if (process.argv[i] === '--') { break; } // eslint-disable-line no-restricted-syntax
- }
-}
-
-if (process.argv.length < 3) {
- console.error('Error: `resolve` expects a specifier');
- process.exit(2);
-}
-
-var resolve = require('../');
-
-var result = resolve.sync(process.argv[2], {
- basedir: process.cwd(),
- preserveSymlinks: preserveSymlinks
-});
-
-console.log(result);
diff --git a/includes/search/node_modules/resolve/example/async.js b/includes/search/node_modules/resolve/example/async.js
deleted file mode 100644
index 20e65dc..0000000
--- a/includes/search/node_modules/resolve/example/async.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var resolve = require('../');
-resolve('tap', { basedir: __dirname }, function (err, res) {
- if (err) console.error(err);
- else console.log(res);
-});
diff --git a/includes/search/node_modules/resolve/example/sync.js b/includes/search/node_modules/resolve/example/sync.js
deleted file mode 100644
index 54b2cc1..0000000
--- a/includes/search/node_modules/resolve/example/sync.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var resolve = require('../');
-var res = resolve.sync('tap', { basedir: __dirname });
-console.log(res);
diff --git a/includes/search/node_modules/resolve/index.js b/includes/search/node_modules/resolve/index.js
deleted file mode 100644
index 125d814..0000000
--- a/includes/search/node_modules/resolve/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var async = require('./lib/async');
-async.core = require('./lib/core');
-async.isCore = require('./lib/is-core');
-async.sync = require('./lib/sync');
-
-module.exports = async;
diff --git a/includes/search/node_modules/resolve/lib/async.js b/includes/search/node_modules/resolve/lib/async.js
deleted file mode 100644
index 60d2555..0000000
--- a/includes/search/node_modules/resolve/lib/async.js
+++ /dev/null
@@ -1,329 +0,0 @@
-var fs = require('fs');
-var getHomedir = require('./homedir');
-var path = require('path');
-var caller = require('./caller');
-var nodeModulesPaths = require('./node-modules-paths');
-var normalizeOptions = require('./normalize-options');
-var isCore = require('is-core-module');
-
-var realpathFS = process.platform !== 'win32' && fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;
-
-var homedir = getHomedir();
-var defaultPaths = function () {
- return [
- path.join(homedir, '.node_modules'),
- path.join(homedir, '.node_libraries')
- ];
-};
-
-var defaultIsFile = function isFile(file, cb) {
- fs.stat(file, function (err, stat) {
- if (!err) {
- return cb(null, stat.isFile() || stat.isFIFO());
- }
- if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
- return cb(err);
- });
-};
-
-var defaultIsDir = function isDirectory(dir, cb) {
- fs.stat(dir, function (err, stat) {
- if (!err) {
- return cb(null, stat.isDirectory());
- }
- if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
- return cb(err);
- });
-};
-
-var defaultRealpath = function realpath(x, cb) {
- realpathFS(x, function (realpathErr, realPath) {
- if (realpathErr && realpathErr.code !== 'ENOENT') cb(realpathErr);
- else cb(null, realpathErr ? x : realPath);
- });
-};
-
-var maybeRealpath = function maybeRealpath(realpath, x, opts, cb) {
- if (opts && opts.preserveSymlinks === false) {
- realpath(x, cb);
- } else {
- cb(null, x);
- }
-};
-
-var defaultReadPackage = function defaultReadPackage(readFile, pkgfile, cb) {
- readFile(pkgfile, function (readFileErr, body) {
- if (readFileErr) cb(readFileErr);
- else {
- try {
- var pkg = JSON.parse(body);
- cb(null, pkg);
- } catch (jsonErr) {
- cb(null);
- }
- }
- });
-};
-
-var getPackageCandidates = function getPackageCandidates(x, start, opts) {
- var dirs = nodeModulesPaths(start, opts, x);
- for (var i = 0; i < dirs.length; i++) {
- dirs[i] = path.join(dirs[i], x);
- }
- return dirs;
-};
-
-module.exports = function resolve(x, options, callback) {
- var cb = callback;
- var opts = options;
- if (typeof options === 'function') {
- cb = opts;
- opts = {};
- }
- if (typeof x !== 'string') {
- var err = new TypeError('Path must be a string.');
- return process.nextTick(function () {
- cb(err);
- });
- }
-
- opts = normalizeOptions(x, opts);
-
- var isFile = opts.isFile || defaultIsFile;
- var isDirectory = opts.isDirectory || defaultIsDir;
- var readFile = opts.readFile || fs.readFile;
- var realpath = opts.realpath || defaultRealpath;
- var readPackage = opts.readPackage || defaultReadPackage;
- if (opts.readFile && opts.readPackage) {
- var conflictErr = new TypeError('`readFile` and `readPackage` are mutually exclusive.');
- return process.nextTick(function () {
- cb(conflictErr);
- });
- }
- var packageIterator = opts.packageIterator;
-
- var extensions = opts.extensions || ['.js'];
- var includeCoreModules = opts.includeCoreModules !== false;
- var basedir = opts.basedir || path.dirname(caller());
- var parent = opts.filename || basedir;
-
- opts.paths = opts.paths || defaultPaths();
-
- // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory
- var absoluteStart = path.resolve(basedir);
-
- maybeRealpath(
- realpath,
- absoluteStart,
- opts,
- function (err, realStart) {
- if (err) cb(err);
- else init(realStart);
- }
- );
-
- var res;
- function init(basedir) {
- if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(x)) {
- res = path.resolve(basedir, x);
- if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/';
- if ((/\/$/).test(x) && res === basedir) {
- loadAsDirectory(res, opts.package, onfile);
- } else loadAsFile(res, opts.package, onfile);
- } else if (includeCoreModules && isCore(x)) {
- return cb(null, x);
- } else loadNodeModules(x, basedir, function (err, n, pkg) {
- if (err) cb(err);
- else if (n) {
- return maybeRealpath(realpath, n, opts, function (err, realN) {
- if (err) {
- cb(err);
- } else {
- cb(null, realN, pkg);
- }
- });
- } else {
- var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'");
- moduleError.code = 'MODULE_NOT_FOUND';
- cb(moduleError);
- }
- });
- }
-
- function onfile(err, m, pkg) {
- if (err) cb(err);
- else if (m) cb(null, m, pkg);
- else loadAsDirectory(res, function (err, d, pkg) {
- if (err) cb(err);
- else if (d) {
- maybeRealpath(realpath, d, opts, function (err, realD) {
- if (err) {
- cb(err);
- } else {
- cb(null, realD, pkg);
- }
- });
- } else {
- var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'");
- moduleError.code = 'MODULE_NOT_FOUND';
- cb(moduleError);
- }
- });
- }
-
- function loadAsFile(x, thePackage, callback) {
- var loadAsFilePackage = thePackage;
- var cb = callback;
- if (typeof loadAsFilePackage === 'function') {
- cb = loadAsFilePackage;
- loadAsFilePackage = undefined;
- }
-
- var exts = [''].concat(extensions);
- load(exts, x, loadAsFilePackage);
-
- function load(exts, x, loadPackage) {
- if (exts.length === 0) return cb(null, undefined, loadPackage);
- var file = x + exts[0];
-
- var pkg = loadPackage;
- if (pkg) onpkg(null, pkg);
- else loadpkg(path.dirname(file), onpkg);
-
- function onpkg(err, pkg_, dir) {
- pkg = pkg_;
- if (err) return cb(err);
- if (dir && pkg && opts.pathFilter) {
- var rfile = path.relative(dir, file);
- var rel = rfile.slice(0, rfile.length - exts[0].length);
- var r = opts.pathFilter(pkg, x, rel);
- if (r) return load(
- [''].concat(extensions.slice()),
- path.resolve(dir, r),
- pkg
- );
- }
- isFile(file, onex);
- }
- function onex(err, ex) {
- if (err) return cb(err);
- if (ex) return cb(null, file, pkg);
- load(exts.slice(1), x, pkg);
- }
- }
- }
-
- function loadpkg(dir, cb) {
- if (dir === '' || dir === '/') return cb(null);
- if (process.platform === 'win32' && (/^\w:[/\\]*$/).test(dir)) {
- return cb(null);
- }
- if ((/[/\\]node_modules[/\\]*$/).test(dir)) return cb(null);
-
- maybeRealpath(realpath, dir, opts, function (unwrapErr, pkgdir) {
- if (unwrapErr) return loadpkg(path.dirname(dir), cb);
- var pkgfile = path.join(pkgdir, 'package.json');
- isFile(pkgfile, function (err, ex) {
- // on err, ex is false
- if (!ex) return loadpkg(path.dirname(dir), cb);
-
- readPackage(readFile, pkgfile, function (err, pkgParam) {
- if (err) cb(err);
-
- var pkg = pkgParam;
-
- if (pkg && opts.packageFilter) {
- pkg = opts.packageFilter(pkg, pkgfile);
- }
- cb(null, pkg, dir);
- });
- });
- });
- }
-
- function loadAsDirectory(x, loadAsDirectoryPackage, callback) {
- var cb = callback;
- var fpkg = loadAsDirectoryPackage;
- if (typeof fpkg === 'function') {
- cb = fpkg;
- fpkg = opts.package;
- }
-
- maybeRealpath(realpath, x, opts, function (unwrapErr, pkgdir) {
- if (unwrapErr) return cb(unwrapErr);
- var pkgfile = path.join(pkgdir, 'package.json');
- isFile(pkgfile, function (err, ex) {
- if (err) return cb(err);
- if (!ex) return loadAsFile(path.join(x, 'index'), fpkg, cb);
-
- readPackage(readFile, pkgfile, function (err, pkgParam) {
- if (err) return cb(err);
-
- var pkg = pkgParam;
-
- if (pkg && opts.packageFilter) {
- pkg = opts.packageFilter(pkg, pkgfile);
- }
-
- if (pkg && pkg.main) {
- if (typeof pkg.main !== 'string') {
- var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');
- mainError.code = 'INVALID_PACKAGE_MAIN';
- return cb(mainError);
- }
- if (pkg.main === '.' || pkg.main === './') {
- pkg.main = 'index';
- }
- loadAsFile(path.resolve(x, pkg.main), pkg, function (err, m, pkg) {
- if (err) return cb(err);
- if (m) return cb(null, m, pkg);
- if (!pkg) return loadAsFile(path.join(x, 'index'), pkg, cb);
-
- var dir = path.resolve(x, pkg.main);
- loadAsDirectory(dir, pkg, function (err, n, pkg) {
- if (err) return cb(err);
- if (n) return cb(null, n, pkg);
- loadAsFile(path.join(x, 'index'), pkg, cb);
- });
- });
- return;
- }
-
- loadAsFile(path.join(x, '/index'), pkg, cb);
- });
- });
- });
- }
-
- function processDirs(cb, dirs) {
- if (dirs.length === 0) return cb(null, undefined);
- var dir = dirs[0];
-
- isDirectory(path.dirname(dir), isdir);
-
- function isdir(err, isdir) {
- if (err) return cb(err);
- if (!isdir) return processDirs(cb, dirs.slice(1));
- loadAsFile(dir, opts.package, onfile);
- }
-
- function onfile(err, m, pkg) {
- if (err) return cb(err);
- if (m) return cb(null, m, pkg);
- loadAsDirectory(dir, opts.package, ondir);
- }
-
- function ondir(err, n, pkg) {
- if (err) return cb(err);
- if (n) return cb(null, n, pkg);
- processDirs(cb, dirs.slice(1));
- }
- }
- function loadNodeModules(x, start, cb) {
- var thunk = function () { return getPackageCandidates(x, start, opts); };
- processDirs(
- cb,
- packageIterator ? packageIterator(x, start, thunk, opts) : thunk()
- );
- }
-};
diff --git a/includes/search/node_modules/resolve/lib/caller.js b/includes/search/node_modules/resolve/lib/caller.js
deleted file mode 100644
index b14a280..0000000
--- a/includes/search/node_modules/resolve/lib/caller.js
+++ /dev/null
@@ -1,8 +0,0 @@
-module.exports = function () {
- // see https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
- var origPrepareStackTrace = Error.prepareStackTrace;
- Error.prepareStackTrace = function (_, stack) { return stack; };
- var stack = (new Error()).stack;
- Error.prepareStackTrace = origPrepareStackTrace;
- return stack[2].getFileName();
-};
diff --git a/includes/search/node_modules/resolve/lib/core.js b/includes/search/node_modules/resolve/lib/core.js
deleted file mode 100644
index 57b048f..0000000
--- a/includes/search/node_modules/resolve/lib/core.js
+++ /dev/null
@@ -1,12 +0,0 @@
-'use strict';
-
-var isCoreModule = require('is-core-module');
-var data = require('./core.json');
-
-var core = {};
-for (var mod in data) { // eslint-disable-line no-restricted-syntax
- if (Object.prototype.hasOwnProperty.call(data, mod)) {
- core[mod] = isCoreModule(mod);
- }
-}
-module.exports = core;
diff --git a/includes/search/node_modules/resolve/lib/core.json b/includes/search/node_modules/resolve/lib/core.json
deleted file mode 100644
index d73579c..0000000
--- a/includes/search/node_modules/resolve/lib/core.json
+++ /dev/null
@@ -1,155 +0,0 @@
-{
- "assert": true,
- "node:assert": [">= 14.18 && < 15", ">= 16"],
- "assert/strict": ">= 15",
- "node:assert/strict": ">= 16",
- "async_hooks": ">= 8",
- "node:async_hooks": [">= 14.18 && < 15", ">= 16"],
- "buffer_ieee754": ">= 0.5 && < 0.9.7",
- "buffer": true,
- "node:buffer": [">= 14.18 && < 15", ">= 16"],
- "child_process": true,
- "node:child_process": [">= 14.18 && < 15", ">= 16"],
- "cluster": ">= 0.5",
- "node:cluster": [">= 14.18 && < 15", ">= 16"],
- "console": true,
- "node:console": [">= 14.18 && < 15", ">= 16"],
- "constants": true,
- "node:constants": [">= 14.18 && < 15", ">= 16"],
- "crypto": true,
- "node:crypto": [">= 14.18 && < 15", ">= 16"],
- "_debug_agent": ">= 1 && < 8",
- "_debugger": "< 8",
- "dgram": true,
- "node:dgram": [">= 14.18 && < 15", ">= 16"],
- "diagnostics_channel": [">= 14.17 && < 15", ">= 15.1"],
- "node:diagnostics_channel": [">= 14.18 && < 15", ">= 16"],
- "dns": true,
- "node:dns": [">= 14.18 && < 15", ">= 16"],
- "dns/promises": ">= 15",
- "node:dns/promises": ">= 16",
- "domain": ">= 0.7.12",
- "node:domain": [">= 14.18 && < 15", ">= 16"],
- "events": true,
- "node:events": [">= 14.18 && < 15", ">= 16"],
- "freelist": "< 6",
- "fs": true,
- "node:fs": [">= 14.18 && < 15", ">= 16"],
- "fs/promises": [">= 10 && < 10.1", ">= 14"],
- "node:fs/promises": [">= 14.18 && < 15", ">= 16"],
- "_http_agent": ">= 0.11.1",
- "node:_http_agent": [">= 14.18 && < 15", ">= 16"],
- "_http_client": ">= 0.11.1",
- "node:_http_client": [">= 14.18 && < 15", ">= 16"],
- "_http_common": ">= 0.11.1",
- "node:_http_common": [">= 14.18 && < 15", ">= 16"],
- "_http_incoming": ">= 0.11.1",
- "node:_http_incoming": [">= 14.18 && < 15", ">= 16"],
- "_http_outgoing": ">= 0.11.1",
- "node:_http_outgoing": [">= 14.18 && < 15", ">= 16"],
- "_http_server": ">= 0.11.1",
- "node:_http_server": [">= 14.18 && < 15", ">= 16"],
- "http": true,
- "node:http": [">= 14.18 && < 15", ">= 16"],
- "http2": ">= 8.8",
- "node:http2": [">= 14.18 && < 15", ">= 16"],
- "https": true,
- "node:https": [">= 14.18 && < 15", ">= 16"],
- "inspector": ">= 8",
- "node:inspector": [">= 14.18 && < 15", ">= 16"],
- "inspector/promises": [">= 19"],
- "node:inspector/promises": [">= 19"],
- "_linklist": "< 8",
- "module": true,
- "node:module": [">= 14.18 && < 15", ">= 16"],
- "net": true,
- "node:net": [">= 14.18 && < 15", ">= 16"],
- "node-inspect/lib/_inspect": ">= 7.6 && < 12",
- "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12",
- "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12",
- "os": true,
- "node:os": [">= 14.18 && < 15", ">= 16"],
- "path": true,
- "node:path": [">= 14.18 && < 15", ">= 16"],
- "path/posix": ">= 15.3",
- "node:path/posix": ">= 16",
- "path/win32": ">= 15.3",
- "node:path/win32": ">= 16",
- "perf_hooks": ">= 8.5",
- "node:perf_hooks": [">= 14.18 && < 15", ">= 16"],
- "process": ">= 1",
- "node:process": [">= 14.18 && < 15", ">= 16"],
- "punycode": ">= 0.5",
- "node:punycode": [">= 14.18 && < 15", ">= 16"],
- "querystring": true,
- "node:querystring": [">= 14.18 && < 15", ">= 16"],
- "readline": true,
- "node:readline": [">= 14.18 && < 15", ">= 16"],
- "readline/promises": ">= 17",
- "node:readline/promises": ">= 17",
- "repl": true,
- "node:repl": [">= 14.18 && < 15", ">= 16"],
- "smalloc": ">= 0.11.5 && < 3",
- "_stream_duplex": ">= 0.9.4",
- "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"],
- "_stream_transform": ">= 0.9.4",
- "node:_stream_transform": [">= 14.18 && < 15", ">= 16"],
- "_stream_wrap": ">= 1.4.1",
- "node:_stream_wrap": [">= 14.18 && < 15", ">= 16"],
- "_stream_passthrough": ">= 0.9.4",
- "node:_stream_passthrough": [">= 14.18 && < 15", ">= 16"],
- "_stream_readable": ">= 0.9.4",
- "node:_stream_readable": [">= 14.18 && < 15", ">= 16"],
- "_stream_writable": ">= 0.9.4",
- "node:_stream_writable": [">= 14.18 && < 15", ">= 16"],
- "stream": true,
- "node:stream": [">= 14.18 && < 15", ">= 16"],
- "stream/consumers": ">= 16.7",
- "node:stream/consumers": ">= 16.7",
- "stream/promises": ">= 15",
- "node:stream/promises": ">= 16",
- "stream/web": ">= 16.5",
- "node:stream/web": ">= 16.5",
- "string_decoder": true,
- "node:string_decoder": [">= 14.18 && < 15", ">= 16"],
- "sys": [">= 0.4 && < 0.7", ">= 0.8"],
- "node:sys": [">= 14.18 && < 15", ">= 16"],
- "node:test": [">= 16.17 && < 17", ">= 18"],
- "timers": true,
- "node:timers": [">= 14.18 && < 15", ">= 16"],
- "timers/promises": ">= 15",
- "node:timers/promises": ">= 16",
- "_tls_common": ">= 0.11.13",
- "node:_tls_common": [">= 14.18 && < 15", ">= 16"],
- "_tls_legacy": ">= 0.11.3 && < 10",
- "_tls_wrap": ">= 0.11.3",
- "node:_tls_wrap": [">= 14.18 && < 15", ">= 16"],
- "tls": true,
- "node:tls": [">= 14.18 && < 15", ">= 16"],
- "trace_events": ">= 10",
- "node:trace_events": [">= 14.18 && < 15", ">= 16"],
- "tty": true,
- "node:tty": [">= 14.18 && < 15", ">= 16"],
- "url": true,
- "node:url": [">= 14.18 && < 15", ">= 16"],
- "util": true,
- "node:util": [">= 14.18 && < 15", ">= 16"],
- "util/types": ">= 15.3",
- "node:util/types": ">= 16",
- "v8/tools/arguments": ">= 10 && < 12",
- "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8": ">= 1",
- "node:v8": [">= 14.18 && < 15", ">= 16"],
- "vm": true,
- "node:vm": [">= 14.18 && < 15", ">= 16"],
- "wasi": ">= 13.4 && < 13.5",
- "worker_threads": ">= 11.7",
- "node:worker_threads": [">= 14.18 && < 15", ">= 16"],
- "zlib": ">= 0.5",
- "node:zlib": [">= 14.18 && < 15", ">= 16"]
-}
diff --git a/includes/search/node_modules/resolve/lib/homedir.js b/includes/search/node_modules/resolve/lib/homedir.js
deleted file mode 100644
index 5ffdf73..0000000
--- a/includes/search/node_modules/resolve/lib/homedir.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict';
-
-var os = require('os');
-
-// adapted from https://github.com/sindresorhus/os-homedir/blob/11e089f4754db38bb535e5a8416320c4446e8cfd/index.js
-
-module.exports = os.homedir || function homedir() {
- var home = process.env.HOME;
- var user = process.env.LOGNAME || process.env.USER || process.env.LNAME || process.env.USERNAME;
-
- if (process.platform === 'win32') {
- return process.env.USERPROFILE || process.env.HOMEDRIVE + process.env.HOMEPATH || home || null;
- }
-
- if (process.platform === 'darwin') {
- return home || (user ? '/Users/' + user : null);
- }
-
- if (process.platform === 'linux') {
- return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null)); // eslint-disable-line no-extra-parens
- }
-
- return home || null;
-};
diff --git a/includes/search/node_modules/resolve/lib/is-core.js b/includes/search/node_modules/resolve/lib/is-core.js
deleted file mode 100644
index 537f5c7..0000000
--- a/includes/search/node_modules/resolve/lib/is-core.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var isCoreModule = require('is-core-module');
-
-module.exports = function isCore(x) {
- return isCoreModule(x);
-};
diff --git a/includes/search/node_modules/resolve/lib/node-modules-paths.js b/includes/search/node_modules/resolve/lib/node-modules-paths.js
deleted file mode 100644
index 1cff010..0000000
--- a/includes/search/node_modules/resolve/lib/node-modules-paths.js
+++ /dev/null
@@ -1,42 +0,0 @@
-var path = require('path');
-var parse = path.parse || require('path-parse'); // eslint-disable-line global-require
-
-var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) {
- var prefix = '/';
- if ((/^([A-Za-z]:)/).test(absoluteStart)) {
- prefix = '';
- } else if ((/^\\\\/).test(absoluteStart)) {
- prefix = '\\\\';
- }
-
- var paths = [absoluteStart];
- var parsed = parse(absoluteStart);
- while (parsed.dir !== paths[paths.length - 1]) {
- paths.push(parsed.dir);
- parsed = parse(parsed.dir);
- }
-
- return paths.reduce(function (dirs, aPath) {
- return dirs.concat(modules.map(function (moduleDir) {
- return path.resolve(prefix, aPath, moduleDir);
- }));
- }, []);
-};
-
-module.exports = function nodeModulesPaths(start, opts, request) {
- var modules = opts && opts.moduleDirectory
- ? [].concat(opts.moduleDirectory)
- : ['node_modules'];
-
- if (opts && typeof opts.paths === 'function') {
- return opts.paths(
- request,
- start,
- function () { return getNodeModulesDirs(start, modules); },
- opts
- );
- }
-
- var dirs = getNodeModulesDirs(start, modules);
- return opts && opts.paths ? dirs.concat(opts.paths) : dirs;
-};
diff --git a/includes/search/node_modules/resolve/lib/normalize-options.js b/includes/search/node_modules/resolve/lib/normalize-options.js
deleted file mode 100644
index 4b56904..0000000
--- a/includes/search/node_modules/resolve/lib/normalize-options.js
+++ /dev/null
@@ -1,10 +0,0 @@
-module.exports = function (x, opts) {
- /**
- * This file is purposefully a passthrough. It's expected that third-party
- * environments will override it at runtime in order to inject special logic
- * into `resolve` (by manipulating the options). One such example is the PnP
- * code path in Yarn.
- */
-
- return opts || {};
-};
diff --git a/includes/search/node_modules/resolve/lib/sync.js b/includes/search/node_modules/resolve/lib/sync.js
deleted file mode 100644
index 0b6cd58..0000000
--- a/includes/search/node_modules/resolve/lib/sync.js
+++ /dev/null
@@ -1,208 +0,0 @@
-var isCore = require('is-core-module');
-var fs = require('fs');
-var path = require('path');
-var getHomedir = require('./homedir');
-var caller = require('./caller');
-var nodeModulesPaths = require('./node-modules-paths');
-var normalizeOptions = require('./normalize-options');
-
-var realpathFS = process.platform !== 'win32' && fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;
-
-var homedir = getHomedir();
-var defaultPaths = function () {
- return [
- path.join(homedir, '.node_modules'),
- path.join(homedir, '.node_libraries')
- ];
-};
-
-var defaultIsFile = function isFile(file) {
- try {
- var stat = fs.statSync(file, { throwIfNoEntry: false });
- } catch (e) {
- if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;
- throw e;
- }
- return !!stat && (stat.isFile() || stat.isFIFO());
-};
-
-var defaultIsDir = function isDirectory(dir) {
- try {
- var stat = fs.statSync(dir, { throwIfNoEntry: false });
- } catch (e) {
- if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;
- throw e;
- }
- return !!stat && stat.isDirectory();
-};
-
-var defaultRealpathSync = function realpathSync(x) {
- try {
- return realpathFS(x);
- } catch (realpathErr) {
- if (realpathErr.code !== 'ENOENT') {
- throw realpathErr;
- }
- }
- return x;
-};
-
-var maybeRealpathSync = function maybeRealpathSync(realpathSync, x, opts) {
- if (opts && opts.preserveSymlinks === false) {
- return realpathSync(x);
- }
- return x;
-};
-
-var defaultReadPackageSync = function defaultReadPackageSync(readFileSync, pkgfile) {
- var body = readFileSync(pkgfile);
- try {
- var pkg = JSON.parse(body);
- return pkg;
- } catch (jsonErr) {}
-};
-
-var getPackageCandidates = function getPackageCandidates(x, start, opts) {
- var dirs = nodeModulesPaths(start, opts, x);
- for (var i = 0; i < dirs.length; i++) {
- dirs[i] = path.join(dirs[i], x);
- }
- return dirs;
-};
-
-module.exports = function resolveSync(x, options) {
- if (typeof x !== 'string') {
- throw new TypeError('Path must be a string.');
- }
- var opts = normalizeOptions(x, options);
-
- var isFile = opts.isFile || defaultIsFile;
- var readFileSync = opts.readFileSync || fs.readFileSync;
- var isDirectory = opts.isDirectory || defaultIsDir;
- var realpathSync = opts.realpathSync || defaultRealpathSync;
- var readPackageSync = opts.readPackageSync || defaultReadPackageSync;
- if (opts.readFileSync && opts.readPackageSync) {
- throw new TypeError('`readFileSync` and `readPackageSync` are mutually exclusive.');
- }
- var packageIterator = opts.packageIterator;
-
- var extensions = opts.extensions || ['.js'];
- var includeCoreModules = opts.includeCoreModules !== false;
- var basedir = opts.basedir || path.dirname(caller());
- var parent = opts.filename || basedir;
-
- opts.paths = opts.paths || defaultPaths();
-
- // ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory
- var absoluteStart = maybeRealpathSync(realpathSync, path.resolve(basedir), opts);
-
- if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(x)) {
- var res = path.resolve(absoluteStart, x);
- if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/';
- var m = loadAsFileSync(res) || loadAsDirectorySync(res);
- if (m) return maybeRealpathSync(realpathSync, m, opts);
- } else if (includeCoreModules && isCore(x)) {
- return x;
- } else {
- var n = loadNodeModulesSync(x, absoluteStart);
- if (n) return maybeRealpathSync(realpathSync, n, opts);
- }
-
- var err = new Error("Cannot find module '" + x + "' from '" + parent + "'");
- err.code = 'MODULE_NOT_FOUND';
- throw err;
-
- function loadAsFileSync(x) {
- var pkg = loadpkg(path.dirname(x));
-
- if (pkg && pkg.dir && pkg.pkg && opts.pathFilter) {
- var rfile = path.relative(pkg.dir, x);
- var r = opts.pathFilter(pkg.pkg, x, rfile);
- if (r) {
- x = path.resolve(pkg.dir, r); // eslint-disable-line no-param-reassign
- }
- }
-
- if (isFile(x)) {
- return x;
- }
-
- for (var i = 0; i < extensions.length; i++) {
- var file = x + extensions[i];
- if (isFile(file)) {
- return file;
- }
- }
- }
-
- function loadpkg(dir) {
- if (dir === '' || dir === '/') return;
- if (process.platform === 'win32' && (/^\w:[/\\]*$/).test(dir)) {
- return;
- }
- if ((/[/\\]node_modules[/\\]*$/).test(dir)) return;
-
- var pkgfile = path.join(maybeRealpathSync(realpathSync, dir, opts), 'package.json');
-
- if (!isFile(pkgfile)) {
- return loadpkg(path.dirname(dir));
- }
-
- var pkg = readPackageSync(readFileSync, pkgfile);
-
- if (pkg && opts.packageFilter) {
- // v2 will pass pkgfile
- pkg = opts.packageFilter(pkg, /*pkgfile,*/ dir); // eslint-disable-line spaced-comment
- }
-
- return { pkg: pkg, dir: dir };
- }
-
- function loadAsDirectorySync(x) {
- var pkgfile = path.join(maybeRealpathSync(realpathSync, x, opts), '/package.json');
- if (isFile(pkgfile)) {
- try {
- var pkg = readPackageSync(readFileSync, pkgfile);
- } catch (e) {}
-
- if (pkg && opts.packageFilter) {
- // v2 will pass pkgfile
- pkg = opts.packageFilter(pkg, /*pkgfile,*/ x); // eslint-disable-line spaced-comment
- }
-
- if (pkg && pkg.main) {
- if (typeof pkg.main !== 'string') {
- var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');
- mainError.code = 'INVALID_PACKAGE_MAIN';
- throw mainError;
- }
- if (pkg.main === '.' || pkg.main === './') {
- pkg.main = 'index';
- }
- try {
- var m = loadAsFileSync(path.resolve(x, pkg.main));
- if (m) return m;
- var n = loadAsDirectorySync(path.resolve(x, pkg.main));
- if (n) return n;
- } catch (e) {}
- }
- }
-
- return loadAsFileSync(path.join(x, '/index'));
- }
-
- function loadNodeModulesSync(x, start) {
- var thunk = function () { return getPackageCandidates(x, start, opts); };
- var dirs = packageIterator ? packageIterator(x, start, thunk, opts) : thunk();
-
- for (var i = 0; i < dirs.length; i++) {
- var dir = dirs[i];
- if (isDirectory(path.dirname(dir))) {
- var m = loadAsFileSync(dir);
- if (m) return m;
- var n = loadAsDirectorySync(dir);
- if (n) return n;
- }
- }
- }
-};
diff --git a/includes/search/node_modules/resolve/node_modules/is-core-module/.eslintrc b/includes/search/node_modules/resolve/node_modules/is-core-module/.eslintrc
deleted file mode 100644
index f2e0726..0000000
--- a/includes/search/node_modules/resolve/node_modules/is-core-module/.eslintrc
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "extends": "@ljharb",
- "root": true,
- "rules": {
- "func-style": 1,
- },
- "overrides": [
- {
- "files": "test/**",
- "rules": {
- "global-require": 0,
- "max-depth": 0,
- "max-lines-per-function": 0,
- "no-negated-condition": 0,
- },
- },
- ],
-}
diff --git a/includes/search/node_modules/resolve/node_modules/is-core-module/.nycrc b/includes/search/node_modules/resolve/node_modules/is-core-module/.nycrc
deleted file mode 100644
index bdd626c..0000000
--- a/includes/search/node_modules/resolve/node_modules/is-core-module/.nycrc
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "all": true,
- "check-coverage": false,
- "reporter": ["text-summary", "text", "html", "json"],
- "exclude": [
- "coverage",
- "test"
- ]
-}
diff --git a/includes/search/node_modules/resolve/node_modules/is-core-module/CHANGELOG.md b/includes/search/node_modules/resolve/node_modules/is-core-module/CHANGELOG.md
deleted file mode 100644
index e70fa7b..0000000
--- a/includes/search/node_modules/resolve/node_modules/is-core-module/CHANGELOG.md
+++ /dev/null
@@ -1,160 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
-## [v2.12.0](https://github.com/inspect-js/is-core-module/compare/v2.11.0...v2.12.0) - 2023-04-10
-
-### Commits
-
-- [actions] update rebase action to use reusable workflow [`c0a7251`](https://github.com/inspect-js/is-core-module/commit/c0a7251f734f3c621932c5fcdfd1bf966b42ca32)
-- [Dev Deps] update `@ljharb/eslint-config`, `aud`, `tape` [`9ae8b7f`](https://github.com/inspect-js/is-core-module/commit/9ae8b7fac03c369861d0991b4a2ce8d4848e6a7d)
-- [New] `test/reporters` added in v19.9, `wasi` added in v20 [`9d5341a`](https://github.com/inspect-js/is-core-module/commit/9d5341ab32053f25b7fa7db3c0e18461db24a79c)
-- [Dev Deps] add missing `in-publish` dep [`5980245`](https://github.com/inspect-js/is-core-module/commit/59802456e9ac919fa748f53be9d8fbf304a197df)
-
-## [v2.11.0](https://github.com/inspect-js/is-core-module/compare/v2.10.0...v2.11.0) - 2022-10-18
-
-### Commits
-
-- [meta] use `npmignore` to autogenerate an npmignore file [`3360011`](https://github.com/inspect-js/is-core-module/commit/33600118857b46177178072fba2affcdeb009d12)
-- [Dev Deps] update `aud`, `tape` [`651c6b0`](https://github.com/inspect-js/is-core-module/commit/651c6b0cc2799d4130866cf43ad333dcade3d26c)
-- [New] `inspector/promises` and `node:inspector/promises` is now available in node 19 [`22d332f`](https://github.com/inspect-js/is-core-module/commit/22d332fe22ac050305444e0781ff85af819abcb0)
-
-## [v2.10.0](https://github.com/inspect-js/is-core-module/compare/v2.9.0...v2.10.0) - 2022-08-03
-
-### Commits
-
-- [New] `node:test` is now available in node ^16.17 [`e8fd36e`](https://github.com/inspect-js/is-core-module/commit/e8fd36e9b86c917775a07cc473b62a3294f459f2)
-- [Tests] improve skip message [`c014a4c`](https://github.com/inspect-js/is-core-module/commit/c014a4c0cd6eb15fff573ae4709191775e70cab4)
-
-## [v2.9.0](https://github.com/inspect-js/is-core-module/compare/v2.8.1...v2.9.0) - 2022-04-19
-
-### Commits
-
-- [New] add `node:test`, in node 18+ [`f853eca`](https://github.com/inspect-js/is-core-module/commit/f853eca801d0a7d4e1dbb670f1b6d9837d9533c5)
-- [Tests] use `mock-property` [`03b3644`](https://github.com/inspect-js/is-core-module/commit/03b3644dff4417f4ba5a7d0aa0138f5f6b3e5c46)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`7c0e2d0`](https://github.com/inspect-js/is-core-module/commit/7c0e2d06ed2a89acf53abe2ab34d703ed5b03455)
-- [meta] simplify "exports" [`d6ed201`](https://github.com/inspect-js/is-core-module/commit/d6ed201eba7fbba0e59814a9050fc49a6e9878c8)
-
-## [v2.8.1](https://github.com/inspect-js/is-core-module/compare/v2.8.0...v2.8.1) - 2022-01-05
-
-### Commits
-
-- [actions] reuse common workflows [`cd2cf9b`](https://github.com/inspect-js/is-core-module/commit/cd2cf9b3b66c8d328f65610efe41e9325db7716d)
-- [Fix] update node 0.4 results [`062195d`](https://github.com/inspect-js/is-core-module/commit/062195d89f0876a88b95d378b43f7fcc1205bc5b)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `tape` [`0790b62`](https://github.com/inspect-js/is-core-module/commit/0790b6222848c6167132f9f73acc3520fa8d1298)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape` [`7d139a6`](https://github.com/inspect-js/is-core-module/commit/7d139a6d767709eabf0a0251e074ec1fb230c06e)
-- [Tests] run `nyc` in `tests-only`, not `test` [`780e8a0`](https://github.com/inspect-js/is-core-module/commit/780e8a049951c71cf78b1707f0871c48a28bde14)
-
-## [v2.8.0](https://github.com/inspect-js/is-core-module/compare/v2.7.0...v2.8.0) - 2021-10-14
-
-### Commits
-
-- [actions] update codecov uploader [`0cfe94e`](https://github.com/inspect-js/is-core-module/commit/0cfe94e106a7d005ea03e008c0a21dec13a77904)
-- [New] add `readline/promises` to node v17+ [`4f78c30`](https://github.com/inspect-js/is-core-module/commit/4f78c3008b1b58b4db6dc91d99610b1bc859da7e)
-- [Tests] node ^14.18 supports `node:` prefixes for CJS [`43e2f17`](https://github.com/inspect-js/is-core-module/commit/43e2f177452cea2f0eaf34f61b5407217bbdb6f4)
-
-## [v2.7.0](https://github.com/inspect-js/is-core-module/compare/v2.6.0...v2.7.0) - 2021-09-27
-
-### Commits
-
-- [New] node `v14.18` added `node:`-prefixed core modules to `require` [`6d943ab`](https://github.com/inspect-js/is-core-module/commit/6d943abe81382b9bbe344384d80fbfebe1cc0526)
-- [Tests] add coverage for Object.prototype pollution [`c6baf5f`](https://github.com/inspect-js/is-core-module/commit/c6baf5f942311a1945c1af41167bb80b84df2af7)
-- [Dev Deps] update `@ljharb/eslint-config` [`6717f00`](https://github.com/inspect-js/is-core-module/commit/6717f000d063ea57beb772bded36c2f056ac404c)
-- [eslint] fix linter warning [`594c10b`](https://github.com/inspect-js/is-core-module/commit/594c10bb7d39d7eb00925c90924199ff596184b2)
-- [meta] add `sideEffects` flag [`c32cfa5`](https://github.com/inspect-js/is-core-module/commit/c32cfa5195632944c4dd4284a142b8476e75be13)
-
-## [v2.6.0](https://github.com/inspect-js/is-core-module/compare/v2.5.0...v2.6.0) - 2021-08-17
-
-### Commits
-
-- [Dev Deps] update `eslint`, `tape` [`6cc928f`](https://github.com/inspect-js/is-core-module/commit/6cc928f8a4bba66aeeccc4f6beeac736d4bd3081)
-- [New] add `stream/consumers` to node `&gt;= 16.7` [`a1a423e`](https://github.com/inspect-js/is-core-module/commit/a1a423e467e4cc27df180234fad5bab45943e67d)
-- [Refactor] Remove duplicated `&&` operand [`86faea7`](https://github.com/inspect-js/is-core-module/commit/86faea738213a2433c62d1098488dc9314dca832)
-- [Tests] include prereleases [`a4da7a6`](https://github.com/inspect-js/is-core-module/commit/a4da7a6abf7568e2aa4fd98e69452179f1850963)
-
-## [v2.5.0](https://github.com/inspect-js/is-core-module/compare/v2.4.0...v2.5.0) - 2021-07-12
-
-### Commits
-
-- [Dev Deps] update `auto-changelog`, `eslint` [`6334cc9`](https://github.com/inspect-js/is-core-module/commit/6334cc94f3af7469685bd8f236740991baaf2705)
-- [New] add `stream/web` to node v16.5+ [`17ac59b`](https://github.com/inspect-js/is-core-module/commit/17ac59b662d63e220a2e5728625f005c24f177b2)
-
-## [v2.4.0](https://github.com/inspect-js/is-core-module/compare/v2.3.0...v2.4.0) - 2021-05-09
-
-### Commits
-
-- [readme] add actions and codecov badges [`82b7faa`](https://github.com/inspect-js/is-core-module/commit/82b7faa12b56dbe47fbea67e1a5b9e447027ba40)
-- [Dev Deps] update `@ljharb/eslint-config`, `aud` [`8096868`](https://github.com/inspect-js/is-core-module/commit/8096868c024a161ccd4d44110b136763e92eace8)
-- [Dev Deps] update `eslint` [`6726824`](https://github.com/inspect-js/is-core-module/commit/67268249b88230018c510f6532a8046d7326346f)
-- [New] add `diagnostics_channel` to node `^14.17` [`86c6563`](https://github.com/inspect-js/is-core-module/commit/86c65634201b8ff9b3e48a9a782594579c7f5c3c)
-- [meta] fix prepublish script [`697a01e`](https://github.com/inspect-js/is-core-module/commit/697a01e3c9c0be074066520954f30fb28532ec57)
-
-## [v2.3.0](https://github.com/inspect-js/is-core-module/compare/v2.2.0...v2.3.0) - 2021-04-24
-
-### Commits
-
-- [meta] do not publish github action workflow files [`060d4bb`](https://github.com/inspect-js/is-core-module/commit/060d4bb971a29451c19ff336eb56bee27f9fa95a)
-- [New] add support for `node:` prefix, in node 16+ [`7341223`](https://github.com/inspect-js/is-core-module/commit/73412230a769f6e81c05eea50b6520cebf54ed2f)
-- [actions] use `node/install` instead of `node/run`; use `codecov` action [`016269a`](https://github.com/inspect-js/is-core-module/commit/016269abae9f6657a5254adfbb813f09a05067f9)
-- [patch] remove unneeded `.0` in version ranges [`cb466a6`](https://github.com/inspect-js/is-core-module/commit/cb466a6d89e52b8389e5c12715efcd550c41cea3)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`c9f9c39`](https://github.com/inspect-js/is-core-module/commit/c9f9c396ace60ef81906f98059c064e6452473ed)
-- [actions] update workflows [`3ee4a89`](https://github.com/inspect-js/is-core-module/commit/3ee4a89fd5a02fccd43882d905448ea6a98e9a3c)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`dee4fed`](https://github.com/inspect-js/is-core-module/commit/dee4fed79690c1d43a22f7fa9426abebdc6d727f)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`7d046ba`](https://github.com/inspect-js/is-core-module/commit/7d046ba07ae8c9292e43652694ca808d7b309de8)
-- [meta] use `prepublishOnly` script for npm 7+ [`149e677`](https://github.com/inspect-js/is-core-module/commit/149e6771a5ede6d097e71785b467a9c4b4977cc7)
-- [readme] remove travis badge [`903b51d`](https://github.com/inspect-js/is-core-module/commit/903b51d6b69b98abeabfbc3695c345b02646f19c)
-
-## [v2.2.0](https://github.com/inspect-js/is-core-module/compare/v2.1.0...v2.2.0) - 2020-11-26
-
-### Commits
-
-- [Tests] migrate tests to Github Actions [`c919f57`](https://github.com/inspect-js/is-core-module/commit/c919f573c0a92d10a0acad0b650b5aecb033d426)
-- [patch] `core.json`: %s/ /\t/g [`db3f685`](https://github.com/inspect-js/is-core-module/commit/db3f68581f53e73cc09cd675955eb1bdd6a5a39b)
-- [Tests] run `nyc` on all tests [`b2f925f`](https://github.com/inspect-js/is-core-module/commit/b2f925f8866f210ef441f39fcc8cc42692ab89b1)
-- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`; add `safe-publish-latest` [`89f02a2`](https://github.com/inspect-js/is-core-module/commit/89f02a2b4162246dea303a6ee31bb9a550b05c72)
-- [New] add `path/posix`, `path/win32`, `util/types` [`77f94f1`](https://github.com/inspect-js/is-core-module/commit/77f94f1e90ffd7c0be2a3f1aa8574ebf7fd981b3)
-
-## [v2.1.0](https://github.com/inspect-js/is-core-module/compare/v2.0.0...v2.1.0) - 2020-11-04
-
-### Commits
-
-- [Dev Deps] update `eslint` [`5e0034e`](https://github.com/inspect-js/is-core-module/commit/5e0034eae57c09c8f1bd769f502486a00f56c6e4)
-- [New] Add `diagnostics_channel` [`c2d83d0`](https://github.com/inspect-js/is-core-module/commit/c2d83d0a0225a1a658945d9bab7036ea347d29ec)
-
-## [v2.0.0](https://github.com/inspect-js/is-core-module/compare/v1.0.2...v2.0.0) - 2020-09-29
-
-### Commits
-
-- v2 implementation [`865aeb5`](https://github.com/inspect-js/is-core-module/commit/865aeb5ca0e90248a3dfff5d7622e4751fdeb9cd)
-- Only apps should have lockfiles [`5a5e660`](https://github.com/inspect-js/is-core-module/commit/5a5e660d568e37eb44e17fb1ebb12a105205fc2b)
-- Initial commit for v2 [`5a51524`](https://github.com/inspect-js/is-core-module/commit/5a51524e06f92adece5fbb138c69b7b9748a2348)
-- Tests [`116eae4`](https://github.com/inspect-js/is-core-module/commit/116eae4fccd01bc72c1fd3cc4b7561c387afc496)
-- [meta] add `auto-changelog` [`c24388b`](https://github.com/inspect-js/is-core-module/commit/c24388bee828d223040519d1f5b226ca35beee63)
-- [actions] add "Automatic Rebase" and "require allow edits" actions [`34292db`](https://github.com/inspect-js/is-core-module/commit/34292dbcbadae0868aff03c22dbd8b7b8a11558a)
-- [Tests] add `npm run lint` [`4f9eeee`](https://github.com/inspect-js/is-core-module/commit/4f9eeee7ddff10698bbf528620f4dc8d4fa3e697)
-- [readme] fix travis badges, https all URLs [`e516a73`](https://github.com/inspect-js/is-core-module/commit/e516a73b0dccce20938c432b1ba512eae8eff9e9)
-- [meta] create FUNDING.yml [`1aabebc`](https://github.com/inspect-js/is-core-module/commit/1aabebca98d01f8a04e46bc2e2520fa93cf21ac6)
-- [Fix] `domain`: domain landed sometime &gt; v0.7.7 and &lt;= v0.7.12 [`2df7d37`](https://github.com/inspect-js/is-core-module/commit/2df7d37595d41b15eeada732b706b926c2771655)
-- [Fix] `sys`: worked in 0.6, not 0.7, and 0.8+ [`a75c134`](https://github.com/inspect-js/is-core-module/commit/a75c134229e1e9441801f6b73f6a52489346eb65)
-
-## [v1.0.2](https://github.com/inspect-js/is-core-module/compare/v1.0.1...v1.0.2) - 2014-09-28
-
-### Commits
-
-- simpler [`66fe90f`](https://github.com/inspect-js/is-core-module/commit/66fe90f9771581b9adc0c3900baa52c21b5baea2)
-
-## [v1.0.1](https://github.com/inspect-js/is-core-module/compare/v1.0.0...v1.0.1) - 2014-09-28
-
-### Commits
-
-- remove stupid [`f21f906`](https://github.com/inspect-js/is-core-module/commit/f21f906f882c2bd656a5fc5ed6fbe48ddaffb2ac)
-- update readme [`1eff0ec`](https://github.com/inspect-js/is-core-module/commit/1eff0ec69798d1ec65771552d1562911e90a8027)
-
-## v1.0.0 - 2014-09-28
-
-### Commits
-
-- init [`48e5e76`](https://github.com/inspect-js/is-core-module/commit/48e5e76cac378fddb8c1f7d4055b8dfc943d6b96)
diff --git a/includes/search/node_modules/resolve/node_modules/is-core-module/LICENSE b/includes/search/node_modules/resolve/node_modules/is-core-module/LICENSE
deleted file mode 100644
index 2e50287..0000000
--- a/includes/search/node_modules/resolve/node_modules/is-core-module/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Dave Justice
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/resolve/node_modules/is-core-module/README.md b/includes/search/node_modules/resolve/node_modules/is-core-module/README.md
deleted file mode 100644
index 062d906..0000000
--- a/includes/search/node_modules/resolve/node_modules/is-core-module/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# is-core-module <sup>[![Version Badge][2]][1]</sup>
-
-[![github actions][actions-image]][actions-url]
-[![coverage][codecov-image]][codecov-url]
-[![dependency status][5]][6]
-[![dev dependency status][7]][8]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-
-[![npm badge][11]][1]
-
-Is this specifier a node.js core module? Optionally provide a node version to check; defaults to the current node version.
-
-## Example
-
-```js
-var isCore = require('is-core-module');
-var assert = require('assert');
-assert(isCore('fs'));
-assert(!isCore('butts'));
-```
-
-## Tests
-Clone the repo, `npm install`, and run `npm test`
-
-[1]: https://npmjs.org/package/is-core-module
-[2]: https://versionbadg.es/inspect-js/is-core-module.svg
-[5]: https://david-dm.org/inspect-js/is-core-module.svg
-[6]: https://david-dm.org/inspect-js/is-core-module
-[7]: https://david-dm.org/inspect-js/is-core-module/dev-status.svg
-[8]: https://david-dm.org/inspect-js/is-core-module#info=devDependencies
-[11]: https://nodei.co/npm/is-core-module.png?downloads=true&stars=true
-[license-image]: https://img.shields.io/npm/l/is-core-module.svg
-[license-url]: LICENSE
-[downloads-image]: https://img.shields.io/npm/dm/is-core-module.svg
-[downloads-url]: https://npm-stat.com/charts.html?package=is-core-module
-[codecov-image]: https://codecov.io/gh/inspect-js/is-core-module/branch/main/graphs/badge.svg
-[codecov-url]: https://app.codecov.io/gh/inspect-js/is-core-module/
-[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-core-module
-[actions-url]: https://github.com/inspect-js/is-core-module/actions
diff --git a/includes/search/node_modules/resolve/node_modules/is-core-module/core.json b/includes/search/node_modules/resolve/node_modules/is-core-module/core.json
deleted file mode 100644
index 9a51663..0000000
--- a/includes/search/node_modules/resolve/node_modules/is-core-module/core.json
+++ /dev/null
@@ -1,158 +0,0 @@
-{
- "assert": true,
- "node:assert": [">= 14.18 && < 15", ">= 16"],
- "assert/strict": ">= 15",
- "node:assert/strict": ">= 16",
- "async_hooks": ">= 8",
- "node:async_hooks": [">= 14.18 && < 15", ">= 16"],
- "buffer_ieee754": ">= 0.5 && < 0.9.7",
- "buffer": true,
- "node:buffer": [">= 14.18 && < 15", ">= 16"],
- "child_process": true,
- "node:child_process": [">= 14.18 && < 15", ">= 16"],
- "cluster": ">= 0.5",
- "node:cluster": [">= 14.18 && < 15", ">= 16"],
- "console": true,
- "node:console": [">= 14.18 && < 15", ">= 16"],
- "constants": true,
- "node:constants": [">= 14.18 && < 15", ">= 16"],
- "crypto": true,
- "node:crypto": [">= 14.18 && < 15", ">= 16"],
- "_debug_agent": ">= 1 && < 8",
- "_debugger": "< 8",
- "dgram": true,
- "node:dgram": [">= 14.18 && < 15", ">= 16"],
- "diagnostics_channel": [">= 14.17 && < 15", ">= 15.1"],
- "node:diagnostics_channel": [">= 14.18 && < 15", ">= 16"],
- "dns": true,
- "node:dns": [">= 14.18 && < 15", ">= 16"],
- "dns/promises": ">= 15",
- "node:dns/promises": ">= 16",
- "domain": ">= 0.7.12",
- "node:domain": [">= 14.18 && < 15", ">= 16"],
- "events": true,
- "node:events": [">= 14.18 && < 15", ">= 16"],
- "freelist": "< 6",
- "fs": true,
- "node:fs": [">= 14.18 && < 15", ">= 16"],
- "fs/promises": [">= 10 && < 10.1", ">= 14"],
- "node:fs/promises": [">= 14.18 && < 15", ">= 16"],
- "_http_agent": ">= 0.11.1",
- "node:_http_agent": [">= 14.18 && < 15", ">= 16"],
- "_http_client": ">= 0.11.1",
- "node:_http_client": [">= 14.18 && < 15", ">= 16"],
- "_http_common": ">= 0.11.1",
- "node:_http_common": [">= 14.18 && < 15", ">= 16"],
- "_http_incoming": ">= 0.11.1",
- "node:_http_incoming": [">= 14.18 && < 15", ">= 16"],
- "_http_outgoing": ">= 0.11.1",
- "node:_http_outgoing": [">= 14.18 && < 15", ">= 16"],
- "_http_server": ">= 0.11.1",
- "node:_http_server": [">= 14.18 && < 15", ">= 16"],
- "http": true,
- "node:http": [">= 14.18 && < 15", ">= 16"],
- "http2": ">= 8.8",
- "node:http2": [">= 14.18 && < 15", ">= 16"],
- "https": true,
- "node:https": [">= 14.18 && < 15", ">= 16"],
- "inspector": ">= 8",
- "node:inspector": [">= 14.18 && < 15", ">= 16"],
- "inspector/promises": [">= 19"],
- "node:inspector/promises": [">= 19"],
- "_linklist": "< 8",
- "module": true,
- "node:module": [">= 14.18 && < 15", ">= 16"],
- "net": true,
- "node:net": [">= 14.18 && < 15", ">= 16"],
- "node-inspect/lib/_inspect": ">= 7.6 && < 12",
- "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12",
- "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12",
- "os": true,
- "node:os": [">= 14.18 && < 15", ">= 16"],
- "path": true,
- "node:path": [">= 14.18 && < 15", ">= 16"],
- "path/posix": ">= 15.3",
- "node:path/posix": ">= 16",
- "path/win32": ">= 15.3",
- "node:path/win32": ">= 16",
- "perf_hooks": ">= 8.5",
- "node:perf_hooks": [">= 14.18 && < 15", ">= 16"],
- "process": ">= 1",
- "node:process": [">= 14.18 && < 15", ">= 16"],
- "punycode": ">= 0.5",
- "node:punycode": [">= 14.18 && < 15", ">= 16"],
- "querystring": true,
- "node:querystring": [">= 14.18 && < 15", ">= 16"],
- "readline": true,
- "node:readline": [">= 14.18 && < 15", ">= 16"],
- "readline/promises": ">= 17",
- "node:readline/promises": ">= 17",
- "repl": true,
- "node:repl": [">= 14.18 && < 15", ">= 16"],
- "smalloc": ">= 0.11.5 && < 3",
- "_stream_duplex": ">= 0.9.4",
- "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"],
- "_stream_transform": ">= 0.9.4",
- "node:_stream_transform": [">= 14.18 && < 15", ">= 16"],
- "_stream_wrap": ">= 1.4.1",
- "node:_stream_wrap": [">= 14.18 && < 15", ">= 16"],
- "_stream_passthrough": ">= 0.9.4",
- "node:_stream_passthrough": [">= 14.18 && < 15", ">= 16"],
- "_stream_readable": ">= 0.9.4",
- "node:_stream_readable": [">= 14.18 && < 15", ">= 16"],
- "_stream_writable": ">= 0.9.4",
- "node:_stream_writable": [">= 14.18 && < 15", ">= 16"],
- "stream": true,
- "node:stream": [">= 14.18 && < 15", ">= 16"],
- "stream/consumers": ">= 16.7",
- "node:stream/consumers": ">= 16.7",
- "stream/promises": ">= 15",
- "node:stream/promises": ">= 16",
- "stream/web": ">= 16.5",
- "node:stream/web": ">= 16.5",
- "string_decoder": true,
- "node:string_decoder": [">= 14.18 && < 15", ">= 16"],
- "sys": [">= 0.4 && < 0.7", ">= 0.8"],
- "node:sys": [">= 14.18 && < 15", ">= 16"],
- "test/reporters": [">= 19.9", ">= 20"],
- "node:test/reporters": [">= 19.9", ">= 20"],
- "node:test": [">= 16.17 && < 17", ">= 18"],
- "timers": true,
- "node:timers": [">= 14.18 && < 15", ">= 16"],
- "timers/promises": ">= 15",
- "node:timers/promises": ">= 16",
- "_tls_common": ">= 0.11.13",
- "node:_tls_common": [">= 14.18 && < 15", ">= 16"],
- "_tls_legacy": ">= 0.11.3 && < 10",
- "_tls_wrap": ">= 0.11.3",
- "node:_tls_wrap": [">= 14.18 && < 15", ">= 16"],
- "tls": true,
- "node:tls": [">= 14.18 && < 15", ">= 16"],
- "trace_events": ">= 10",
- "node:trace_events": [">= 14.18 && < 15", ">= 16"],
- "tty": true,
- "node:tty": [">= 14.18 && < 15", ">= 16"],
- "url": true,
- "node:url": [">= 14.18 && < 15", ">= 16"],
- "util": true,
- "node:util": [">= 14.18 && < 15", ">= 16"],
- "util/types": ">= 15.3",
- "node:util/types": ">= 16",
- "v8/tools/arguments": ">= 10 && < 12",
- "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"],
- "v8": ">= 1",
- "node:v8": [">= 14.18 && < 15", ">= 16"],
- "vm": true,
- "node:vm": [">= 14.18 && < 15", ">= 16"],
- "wasi": [">= 13.4 && < 13.5", ">= 20"],
- "node:wasi": ">= 20",
- "worker_threads": ">= 11.7",
- "node:worker_threads": [">= 14.18 && < 15", ">= 16"],
- "zlib": ">= 0.5",
- "node:zlib": [">= 14.18 && < 15", ">= 16"]
-}
diff --git a/includes/search/node_modules/resolve/node_modules/is-core-module/index.js b/includes/search/node_modules/resolve/node_modules/is-core-module/index.js
deleted file mode 100644
index f9637e0..0000000
--- a/includes/search/node_modules/resolve/node_modules/is-core-module/index.js
+++ /dev/null
@@ -1,69 +0,0 @@
-'use strict';
-
-var has = require('has');
-
-function specifierIncluded(current, specifier) {
- var nodeParts = current.split('.');
- var parts = specifier.split(' ');
- var op = parts.length > 1 ? parts[0] : '=';
- var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.');
-
- for (var i = 0; i < 3; ++i) {
- var cur = parseInt(nodeParts[i] || 0, 10);
- var ver = parseInt(versionParts[i] || 0, 10);
- if (cur === ver) {
- continue; // eslint-disable-line no-restricted-syntax, no-continue
- }
- if (op === '<') {
- return cur < ver;
- }
- if (op === '>=') {
- return cur >= ver;
- }
- return false;
- }
- return op === '>=';
-}
-
-function matchesRange(current, range) {
- var specifiers = range.split(/ ?&& ?/);
- if (specifiers.length === 0) {
- return false;
- }
- for (var i = 0; i < specifiers.length; ++i) {
- if (!specifierIncluded(current, specifiers[i])) {
- return false;
- }
- }
- return true;
-}
-
-function versionIncluded(nodeVersion, specifierValue) {
- if (typeof specifierValue === 'boolean') {
- return specifierValue;
- }
-
- var current = typeof nodeVersion === 'undefined'
- ? process.versions && process.versions.node
- : nodeVersion;
-
- if (typeof current !== 'string') {
- throw new TypeError(typeof nodeVersion === 'undefined' ? 'Unable to determine current node version' : 'If provided, a valid node version is required');
- }
-
- if (specifierValue && typeof specifierValue === 'object') {
- for (var i = 0; i < specifierValue.length; ++i) {
- if (matchesRange(current, specifierValue[i])) {
- return true;
- }
- }
- return false;
- }
- return matchesRange(current, specifierValue);
-}
-
-var data = require('./core.json');
-
-module.exports = function isCore(x, nodeVersion) {
- return has(data, x) && versionIncluded(nodeVersion, data[x]);
-};
diff --git a/includes/search/node_modules/resolve/node_modules/is-core-module/package.json b/includes/search/node_modules/resolve/node_modules/is-core-module/package.json
deleted file mode 100644
index 715299b..0000000
--- a/includes/search/node_modules/resolve/node_modules/is-core-module/package.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "name": "is-core-module",
- "version": "2.12.0",
- "description": "Is this specifier a node.js core module?",
- "main": "index.js",
- "sideEffects": false,
- "exports": {
- ".": "./index.js",
- "./package.json": "./package.json"
- },
- "scripts": {
- "prepack": "npmignore --auto --commentLines=autogenerated",
- "prepublish": "not-in-publish || npm run prepublishOnly",
- "prepublishOnly": "safe-publish-latest",
- "lint": "eslint .",
- "pretest": "npm run lint",
- "tests-only": "nyc tape 'test/**/*.js'",
- "test": "npm run tests-only",
- "posttest": "aud --production",
- "version": "auto-changelog && git add CHANGELOG.md",
- "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/inspect-js/is-core-module.git"
- },
- "keywords": [
- "core",
- "modules",
- "module",
- "npm",
- "node",
- "dependencies"
- ],
- "author": "Jordan Harband <ljharb@gmail.com>",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/inspect-js/is-core-module/issues"
- },
- "homepage": "https://github.com/inspect-js/is-core-module",
- "dependencies": {
- "has": "^1.0.3"
- },
- "devDependencies": {
- "@ljharb/eslint-config": "^21.0.1",
- "aud": "^2.0.2",
- "auto-changelog": "^2.4.0",
- "eslint": "=8.8.0",
- "in-publish": "^2.0.1",
- "mock-property": "^1.0.0",
- "npmignore": "^0.3.0",
- "nyc": "^10.3.2",
- "safe-publish-latest": "^2.0.0",
- "semver": "^6.3.0",
- "tape": "^5.6.3"
- },
- "auto-changelog": {
- "output": "CHANGELOG.md",
- "template": "keepachangelog",
- "unreleased": false,
- "commitLimit": false,
- "backfillLimit": false,
- "hideCredit": true
- },
- "publishConfig": {
- "ignore": [
- ".github"
- ]
- }
-}
diff --git a/includes/search/node_modules/resolve/node_modules/is-core-module/test/index.js b/includes/search/node_modules/resolve/node_modules/is-core-module/test/index.js
deleted file mode 100644
index 912808b..0000000
--- a/includes/search/node_modules/resolve/node_modules/is-core-module/test/index.js
+++ /dev/null
@@ -1,133 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var keys = require('object-keys');
-var semver = require('semver');
-var mockProperty = require('mock-property');
-
-var isCore = require('../');
-var data = require('../core.json');
-
-var supportsNodePrefix = semver.satisfies(process.versions.node, '^14.18 || >= 16', { includePrerelease: true });
-
-test('core modules', function (t) {
- t.test('isCore()', function (st) {
- st.ok(isCore('fs'));
- st.ok(isCore('net'));
- st.ok(isCore('http'));
-
- st.ok(!isCore('seq'));
- st.ok(!isCore('../'));
-
- st.ok(!isCore('toString'));
-
- st.end();
- });
-
- t.test('core list', function (st) {
- var cores = keys(data);
- st.plan(cores.length);
-
- for (var i = 0; i < cores.length; ++i) {
- var mod = cores[i];
- var requireFunc = function () { require(mod); }; // eslint-disable-line no-loop-func
- if (isCore(mod)) {
- st.doesNotThrow(requireFunc, mod + ' supported; requiring does not throw');
- } else {
- st['throws'](requireFunc, mod + ' not supported; requiring throws');
- }
- }
-
- st.end();
- });
-
- t.test('core via repl module', { skip: !data.repl }, function (st) {
- var libs = require('repl')._builtinLibs; // eslint-disable-line no-underscore-dangle
- if (!libs) {
- st.skip('repl._builtinLibs does not exist');
- } else {
- for (var i = 0; i < libs.length; ++i) {
- var mod = libs[i];
- st.ok(data[mod], mod + ' is a core module');
- st.doesNotThrow(
- function () { require(mod); }, // eslint-disable-line no-loop-func
- 'requiring ' + mod + ' does not throw'
- );
- if (mod.slice(0, 5) !== 'node:') {
- if (supportsNodePrefix) {
- st.doesNotThrow(
- function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
- 'requiring node:' + mod + ' does not throw'
- );
- } else {
- st['throws'](
- function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
- 'requiring node:' + mod + ' throws'
- );
- }
- }
- }
- }
- st.end();
- });
-
- t.test('core via builtinModules list', { skip: !data.module }, function (st) {
- var libs = require('module').builtinModules;
- if (!libs) {
- st.skip('module.builtinModules does not exist');
- } else {
- var excludeList = [
- '_debug_agent',
- 'v8/tools/tickprocessor-driver',
- 'v8/tools/SourceMap',
- 'v8/tools/tickprocessor',
- 'v8/tools/profile'
- ];
- // see https://github.com/nodejs/node/issues/42785
- if (semver.satisfies(process.version, '>= 18')) {
- libs = libs.concat('node:test');
- }
- for (var i = 0; i < libs.length; ++i) {
- var mod = libs[i];
- if (excludeList.indexOf(mod) === -1) {
- st.ok(data[mod], mod + ' is a core module');
- st.doesNotThrow(
- function () { require(mod); }, // eslint-disable-line no-loop-func
- 'requiring ' + mod + ' does not throw'
- );
- if (mod.slice(0, 5) !== 'node:') {
- if (supportsNodePrefix) {
- st.doesNotThrow(
- function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
- 'requiring node:' + mod + ' does not throw'
- );
- } else {
- st['throws'](
- function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
- 'requiring node:' + mod + ' throws'
- );
- }
- }
- }
- }
- }
- st.end();
- });
-
- t.test('Object.prototype pollution', function (st) {
- var nonKey = 'not a core module';
- st.teardown(mockProperty(Object.prototype, 'fs', { value: false }));
- st.teardown(mockProperty(Object.prototype, 'path', { value: '>= 999999999' }));
- st.teardown(mockProperty(Object.prototype, 'http', { value: data.http }));
- st.teardown(mockProperty(Object.prototype, nonKey, { value: true }));
-
- st.equal(isCore('fs'), true, 'fs is a core module even if Object.prototype lies');
- st.equal(isCore('path'), true, 'path is a core module even if Object.prototype lies');
- st.equal(isCore('http'), true, 'path is a core module even if Object.prototype matches data');
- st.equal(isCore(nonKey), false, '"' + nonKey + '" is not a core module even if Object.prototype lies');
-
- st.end();
- });
-
- t.end();
-});
diff --git a/includes/search/node_modules/resolve/package.json b/includes/search/node_modules/resolve/package.json
deleted file mode 100644
index 17d1f24..0000000
--- a/includes/search/node_modules/resolve/package.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "name": "resolve",
- "description": "resolve like require.resolve() on behalf of files asynchronously and synchronously",
- "version": "1.22.2",
- "repository": {
- "type": "git",
- "url": "git://github.com/browserify/resolve.git"
- },
- "bin": {
- "resolve": "./bin/resolve"
- },
- "main": "index.js",
- "keywords": [
- "resolve",
- "require",
- "node",
- "module"
- ],
- "scripts": {
- "prepack": "npmignore --auto --commentLines=autogenerated && cp node_modules/is-core-module/core.json ./lib/ ||:",
- "prepublishOnly": "safe-publish-latest",
- "prepublish": "not-in-publish || npm run prepublishOnly",
- "prelint": "eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')",
- "lint": "eslint --ext=js,mjs --no-eslintrc -c .eslintrc . 'bin/**'",
- "pretests-only": "cd ./test/resolver/nested_symlinks && node mylib/sync && node mylib/async",
- "tests-only": "tape test/*.js",
- "pretest": "npm run lint",
- "test": "npm run --silent tests-only",
- "posttest": "npm run test:multirepo && aud --production",
- "test:multirepo": "cd ./test/resolver/multirepo && npm install && npm test"
- },
- "devDependencies": {
- "@ljharb/eslint-config": "^21.0.1",
- "array.prototype.map": "^1.0.5",
- "aud": "^2.0.2",
- "copy-dir": "^1.3.0",
- "eclint": "^2.8.1",
- "eslint": "=8.8.0",
- "in-publish": "^2.0.1",
- "mkdirp": "^0.5.5",
- "mv": "^2.1.1",
- "npmignore": "^0.3.0",
- "object-keys": "^1.1.1",
- "rimraf": "^2.7.1",
- "safe-publish-latest": "^2.0.0",
- "semver": "^6.3.0",
- "tap": "0.4.13",
- "tape": "^5.6.3",
- "tmp": "^0.0.31"
- },
- "license": "MIT",
- "author": {
- "name": "James Halliday",
- "email": "mail@substack.net",
- "url": "http://substack.net"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- },
- "dependencies": {
- "is-core-module": "^2.11.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "publishConfig": {
- "ignore": [
- ".github/workflows",
- "appveyor.yml"
- ]
- }
-}
diff --git a/includes/search/node_modules/resolve/readme.markdown b/includes/search/node_modules/resolve/readme.markdown
deleted file mode 100644
index ad34d60..0000000
--- a/includes/search/node_modules/resolve/readme.markdown
+++ /dev/null
@@ -1,301 +0,0 @@
-# resolve <sup>[![Version Badge][2]][1]</sup>
-
-implements the [node `require.resolve()` algorithm](https://nodejs.org/api/modules.html#modules_all_together) such that you can `require.resolve()` on behalf of a file asynchronously and synchronously
-
-[![github actions][actions-image]][actions-url]
-[![coverage][codecov-image]][codecov-url]
-[![dependency status][5]][6]
-[![dev dependency status][7]][8]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-
-[![npm badge][11]][1]
-
-# example
-
-asynchronously resolve:
-
-```js
-var resolve = require('resolve/async'); // or, require('resolve')
-resolve('tap', { basedir: __dirname }, function (err, res) {
- if (err) console.error(err);
- else console.log(res);
-});
-```
-
-```
-$ node example/async.js
-/home/substack/projects/node-resolve/node_modules/tap/lib/main.js
-```
-
-synchronously resolve:
-
-```js
-var resolve = require('resolve/sync'); // or, `require('resolve').sync
-var res = resolve('tap', { basedir: __dirname });
-console.log(res);
-```
-
-```
-$ node example/sync.js
-/home/substack/projects/node-resolve/node_modules/tap/lib/main.js
-```
-
-# methods
-
-```js
-var resolve = require('resolve');
-var async = require('resolve/async');
-var sync = require('resolve/sync');
-```
-
-For both the synchronous and asynchronous methods, errors may have any of the following `err.code` values:
-
-- `MODULE_NOT_FOUND`: the given path string (`id`) could not be resolved to a module
-- `INVALID_BASEDIR`: the specified `opts.basedir` doesn't exist, or is not a directory
-- `INVALID_PACKAGE_MAIN`: a `package.json` was encountered with an invalid `main` property (eg. not a string)
-
-## resolve(id, opts={}, cb)
-
-Asynchronously resolve the module path string `id` into `cb(err, res [, pkg])`, where `pkg` (if defined) is the data from `package.json`.
-
-options are:
-
-* opts.basedir - directory to begin resolving from
-
-* opts.package - `package.json` data applicable to the module being loaded
-
-* opts.extensions - array of file extensions to search in order
-
-* opts.includeCoreModules - set to `false` to exclude node core modules (e.g. `fs`) from the search
-
-* opts.readFile - how to read files asynchronously
-
-* opts.isFile - function to asynchronously test whether a file exists
-
-* opts.isDirectory - function to asynchronously test whether a file exists and is a directory
-
-* opts.realpath - function to asynchronously resolve a potential symlink to its real path
-
-* `opts.readPackage(readFile, pkgfile, cb)` - function to asynchronously read and parse a package.json file
- * readFile - the passed `opts.readFile` or `fs.readFile` if not specified
- * pkgfile - path to package.json
- * cb - callback
-
-* `opts.packageFilter(pkg, pkgfile, dir)` - transform the parsed package.json contents before looking at the "main" field
- * pkg - package data
- * pkgfile - path to package.json
- * dir - directory that contains package.json
-
-* `opts.pathFilter(pkg, path, relativePath)` - transform a path within a package
- * pkg - package data
- * path - the path being resolved
- * relativePath - the path relative from the package.json location
- * returns - a relative path that will be joined from the package.json location
-
-* opts.paths - require.paths array to use if nothing is found on the normal `node_modules` recursive walk (probably don't use this)
-
- For advanced users, `paths` can also be a `opts.paths(request, start, opts)` function
- * request - the import specifier being resolved
- * start - lookup path
- * getNodeModulesDirs - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution
- * opts - the resolution options
-
-* `opts.packageIterator(request, start, opts)` - return the list of candidate paths where the packages sources may be found (probably don't use this)
- * request - the import specifier being resolved
- * start - lookup path
- * getPackageCandidates - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution
- * opts - the resolution options
-
-* opts.moduleDirectory - directory (or directories) in which to recursively look for modules. default: `"node_modules"`
-
-* opts.preserveSymlinks - if true, doesn't resolve `basedir` to real path before resolving.
-This is the way Node resolves dependencies when executed with the [--preserve-symlinks](https://nodejs.org/api/all.html#cli_preserve_symlinks) flag.
-**Note:** this property is currently `true` by default but it will be changed to
-`false` in the next major version because *Node's resolution algorithm does not preserve symlinks by default*.
-
-default `opts` values:
-
-```js
-{
- paths: [],
- basedir: __dirname,
- extensions: ['.js'],
- includeCoreModules: true,
- readFile: fs.readFile,
- isFile: function isFile(file, cb) {
- fs.stat(file, function (err, stat) {
- if (!err) {
- return cb(null, stat.isFile() || stat.isFIFO());
- }
- if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
- return cb(err);
- });
- },
- isDirectory: function isDirectory(dir, cb) {
- fs.stat(dir, function (err, stat) {
- if (!err) {
- return cb(null, stat.isDirectory());
- }
- if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
- return cb(err);
- });
- },
- realpath: function realpath(file, cb) {
- var realpath = typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;
- realpath(file, function (realPathErr, realPath) {
- if (realPathErr && realPathErr.code !== 'ENOENT') cb(realPathErr);
- else cb(null, realPathErr ? file : realPath);
- });
- },
- readPackage: function defaultReadPackage(readFile, pkgfile, cb) {
- readFile(pkgfile, function (readFileErr, body) {
- if (readFileErr) cb(readFileErr);
- else {
- try {
- var pkg = JSON.parse(body);
- cb(null, pkg);
- } catch (jsonErr) {
- cb(null);
- }
- }
- });
- },
- moduleDirectory: 'node_modules',
- preserveSymlinks: true
-}
-```
-
-## resolve.sync(id, opts)
-
-Synchronously resolve the module path string `id`, returning the result and
-throwing an error when `id` can't be resolved.
-
-options are:
-
-* opts.basedir - directory to begin resolving from
-
-* opts.extensions - array of file extensions to search in order
-
-* opts.includeCoreModules - set to `false` to exclude node core modules (e.g. `fs`) from the search
-
-* opts.readFileSync - how to read files synchronously
-
-* opts.isFile - function to synchronously test whether a file exists
-
-* opts.isDirectory - function to synchronously test whether a file exists and is a directory
-
-* opts.realpathSync - function to synchronously resolve a potential symlink to its real path
-
-* `opts.readPackageSync(readFileSync, pkgfile)` - function to synchronously read and parse a package.json file
- * readFileSync - the passed `opts.readFileSync` or `fs.readFileSync` if not specified
- * pkgfile - path to package.json
-
-* `opts.packageFilter(pkg, dir)` - transform the parsed package.json contents before looking at the "main" field
- * pkg - package data
- * dir - directory that contains package.json (Note: the second argument will change to "pkgfile" in v2)
-
-* `opts.pathFilter(pkg, path, relativePath)` - transform a path within a package
- * pkg - package data
- * path - the path being resolved
- * relativePath - the path relative from the package.json location
- * returns - a relative path that will be joined from the package.json location
-
-* opts.paths - require.paths array to use if nothing is found on the normal `node_modules` recursive walk (probably don't use this)
-
- For advanced users, `paths` can also be a `opts.paths(request, start, opts)` function
- * request - the import specifier being resolved
- * start - lookup path
- * getNodeModulesDirs - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution
- * opts - the resolution options
-
-* `opts.packageIterator(request, start, opts)` - return the list of candidate paths where the packages sources may be found (probably don't use this)
- * request - the import specifier being resolved
- * start - lookup path
- * getPackageCandidates - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution
- * opts - the resolution options
-
-* opts.moduleDirectory - directory (or directories) in which to recursively look for modules. default: `"node_modules"`
-
-* opts.preserveSymlinks - if true, doesn't resolve `basedir` to real path before resolving.
-This is the way Node resolves dependencies when executed with the [--preserve-symlinks](https://nodejs.org/api/all.html#cli_preserve_symlinks) flag.
-**Note:** this property is currently `true` by default but it will be changed to
-`false` in the next major version because *Node's resolution algorithm does not preserve symlinks by default*.
-
-default `opts` values:
-
-```js
-{
- paths: [],
- basedir: __dirname,
- extensions: ['.js'],
- includeCoreModules: true,
- readFileSync: fs.readFileSync,
- isFile: function isFile(file) {
- try {
- var stat = fs.statSync(file);
- } catch (e) {
- if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;
- throw e;
- }
- return stat.isFile() || stat.isFIFO();
- },
- isDirectory: function isDirectory(dir) {
- try {
- var stat = fs.statSync(dir);
- } catch (e) {
- if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;
- throw e;
- }
- return stat.isDirectory();
- },
- realpathSync: function realpathSync(file) {
- try {
- var realpath = typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;
- return realpath(file);
- } catch (realPathErr) {
- if (realPathErr.code !== 'ENOENT') {
- throw realPathErr;
- }
- }
- return file;
- },
- readPackageSync: function defaultReadPackageSync(readFileSync, pkgfile) {
- var body = readFileSync(pkgfile);
- try {
- var pkg = JSON.parse(body);
- return pkg;
- } catch (jsonErr) {}
- },
- moduleDirectory: 'node_modules',
- preserveSymlinks: true
-}
-```
-
-# install
-
-With [npm](https://npmjs.org) do:
-
-```sh
-npm install resolve
-```
-
-# license
-
-MIT
-
-[1]: https://npmjs.org/package/resolve
-[2]: https://versionbadg.es/browserify/resolve.svg
-[5]: https://david-dm.org/browserify/resolve.svg
-[6]: https://david-dm.org/browserify/resolve
-[7]: https://david-dm.org/browserify/resolve/dev-status.svg
-[8]: https://david-dm.org/browserify/resolve#info=devDependencies
-[11]: https://nodei.co/npm/resolve.png?downloads=true&stars=true
-[license-image]: https://img.shields.io/npm/l/resolve.svg
-[license-url]: LICENSE
-[downloads-image]: https://img.shields.io/npm/dm/resolve.svg
-[downloads-url]: https://npm-stat.com/charts.html?package=resolve
-[codecov-image]: https://codecov.io/gh/browserify/resolve/branch/main/graphs/badge.svg
-[codecov-url]: https://app.codecov.io/gh/browserify/resolve/
-[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/browserify/resolve
-[actions-url]: https://github.com/browserify/resolve/actions
diff --git a/includes/search/node_modules/resolve/sync.js b/includes/search/node_modules/resolve/sync.js
deleted file mode 100644
index cd0ee04..0000000
--- a/includes/search/node_modules/resolve/sync.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = require('./lib/sync');
diff --git a/includes/search/node_modules/resolve/test/core.js b/includes/search/node_modules/resolve/test/core.js
deleted file mode 100644
index a477adc..0000000
--- a/includes/search/node_modules/resolve/test/core.js
+++ /dev/null
@@ -1,88 +0,0 @@
-var test = require('tape');
-var keys = require('object-keys');
-var semver = require('semver');
-
-var resolve = require('../');
-
-var brokenNode = semver.satisfies(process.version, '11.11 - 11.13');
-
-test('core modules', function (t) {
- t.test('isCore()', function (st) {
- st.ok(resolve.isCore('fs'));
- st.ok(resolve.isCore('net'));
- st.ok(resolve.isCore('http'));
-
- st.ok(!resolve.isCore('seq'));
- st.ok(!resolve.isCore('../'));
-
- st.ok(!resolve.isCore('toString'));
-
- st.end();
- });
-
- t.test('core list', function (st) {
- var cores = keys(resolve.core);
- st.plan(cores.length);
-
- for (var i = 0; i < cores.length; ++i) {
- var mod = cores[i];
- // note: this must be require, not require.resolve, due to https://github.com/nodejs/node/issues/43274
- var requireFunc = function () { require(mod); }; // eslint-disable-line no-loop-func
- t.comment(mod + ': ' + resolve.core[mod]);
- if (resolve.core[mod]) {
- st.doesNotThrow(requireFunc, mod + ' supported; requiring does not throw');
- } else if (brokenNode) {
- st.ok(true, 'this version of node is broken: attempting to require things that fail to resolve breaks "home_paths" tests');
- } else {
- st.throws(requireFunc, mod + ' not supported; requiring throws');
- }
- }
-
- st.end();
- });
-
- t.test('core via repl module', { skip: !resolve.core.repl }, function (st) {
- var libs = require('repl')._builtinLibs; // eslint-disable-line no-underscore-dangle
- if (!libs) {
- st.skip('module.builtinModules does not exist');
- return st.end();
- }
- for (var i = 0; i < libs.length; ++i) {
- var mod = libs[i];
- st.ok(resolve.core[mod], mod + ' is a core module');
- st.doesNotThrow(
- function () { require(mod); }, // eslint-disable-line no-loop-func
- 'requiring ' + mod + ' does not throw'
- );
- }
- st.end();
- });
-
- t.test('core via builtinModules list', { skip: !resolve.core.module }, function (st) {
- var libs = require('module').builtinModules;
- if (!libs) {
- st.skip('module.builtinModules does not exist');
- return st.end();
- }
- var blacklist = [
- '_debug_agent',
- 'v8/tools/tickprocessor-driver',
- 'v8/tools/SourceMap',
- 'v8/tools/tickprocessor',
- 'v8/tools/profile'
- ];
- for (var i = 0; i < libs.length; ++i) {
- var mod = libs[i];
- if (blacklist.indexOf(mod) === -1) {
- st.ok(resolve.core[mod], mod + ' is a core module');
- st.doesNotThrow(
- function () { require(mod); }, // eslint-disable-line no-loop-func
- 'requiring ' + mod + ' does not throw'
- );
- }
- }
- st.end();
- });
-
- t.end();
-});
diff --git a/includes/search/node_modules/resolve/test/dotdot.js b/includes/search/node_modules/resolve/test/dotdot.js
deleted file mode 100644
index 3080665..0000000
--- a/includes/search/node_modules/resolve/test/dotdot.js
+++ /dev/null
@@ -1,29 +0,0 @@
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-
-test('dotdot', function (t) {
- t.plan(4);
- var dir = path.join(__dirname, '/dotdot/abc');
-
- resolve('..', { basedir: dir }, function (err, res, pkg) {
- t.ifError(err);
- t.equal(res, path.join(__dirname, 'dotdot/index.js'));
- });
-
- resolve('.', { basedir: dir }, function (err, res, pkg) {
- t.ifError(err);
- t.equal(res, path.join(dir, 'index.js'));
- });
-});
-
-test('dotdot sync', function (t) {
- t.plan(2);
- var dir = path.join(__dirname, '/dotdot/abc');
-
- var a = resolve.sync('..', { basedir: dir });
- t.equal(a, path.join(__dirname, 'dotdot/index.js'));
-
- var b = resolve.sync('.', { basedir: dir });
- t.equal(b, path.join(dir, 'index.js'));
-});
diff --git a/includes/search/node_modules/resolve/test/dotdot/abc/index.js b/includes/search/node_modules/resolve/test/dotdot/abc/index.js
deleted file mode 100644
index 67f2534..0000000
--- a/includes/search/node_modules/resolve/test/dotdot/abc/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-var x = require('..');
-console.log(x);
diff --git a/includes/search/node_modules/resolve/test/dotdot/index.js b/includes/search/node_modules/resolve/test/dotdot/index.js
deleted file mode 100644
index 643f9fc..0000000
--- a/includes/search/node_modules/resolve/test/dotdot/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 'whatever';
diff --git a/includes/search/node_modules/resolve/test/faulty_basedir.js b/includes/search/node_modules/resolve/test/faulty_basedir.js
deleted file mode 100644
index 5f2141a..0000000
--- a/includes/search/node_modules/resolve/test/faulty_basedir.js
+++ /dev/null
@@ -1,29 +0,0 @@
-var test = require('tape');
-var path = require('path');
-var resolve = require('../');
-
-test('faulty basedir must produce error in windows', { skip: process.platform !== 'win32' }, function (t) {
- t.plan(1);
-
- var resolverDir = 'C:\\a\\b\\c\\d';
-
- resolve('tape/lib/test.js', { basedir: resolverDir }, function (err, res, pkg) {
- t.equal(!!err, true);
- });
-});
-
-test('non-existent basedir should not throw when preserveSymlinks is false', function (t) {
- t.plan(2);
-
- var opts = {
- basedir: path.join(path.sep, 'unreal', 'path', 'that', 'does', 'not', 'exist'),
- preserveSymlinks: false
- };
-
- var module = './dotdot/abc';
-
- resolve(module, opts, function (err, res) {
- t.equal(err.code, 'MODULE_NOT_FOUND');
- t.equal(res, undefined);
- });
-});
diff --git a/includes/search/node_modules/resolve/test/filter.js b/includes/search/node_modules/resolve/test/filter.js
deleted file mode 100644
index 8f8cccd..0000000
--- a/includes/search/node_modules/resolve/test/filter.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-
-test('filter', function (t) {
- t.plan(4);
- var dir = path.join(__dirname, 'resolver');
- var packageFilterArgs;
- resolve('./baz', {
- basedir: dir,
- packageFilter: function (pkg, pkgfile) {
- pkg.main = 'doom'; // eslint-disable-line no-param-reassign
- packageFilterArgs = [pkg, pkgfile];
- return pkg;
- }
- }, function (err, res, pkg) {
- if (err) t.fail(err);
-
- t.equal(res, path.join(dir, 'baz/doom.js'), 'changing the package "main" works');
-
- var packageData = packageFilterArgs[0];
- t.equal(pkg, packageData, 'first packageFilter argument is "pkg"');
- t.equal(packageData.main, 'doom', 'package "main" was altered');
-
- var packageFile = packageFilterArgs[1];
- t.equal(
- packageFile,
- path.join(dir, 'baz/package.json'),
- 'second packageFilter argument is "pkgfile"'
- );
-
- t.end();
- });
-});
diff --git a/includes/search/node_modules/resolve/test/filter_sync.js b/includes/search/node_modules/resolve/test/filter_sync.js
deleted file mode 100644
index 8a43b98..0000000
--- a/includes/search/node_modules/resolve/test/filter_sync.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-
-test('filter', function (t) {
- var dir = path.join(__dirname, 'resolver');
- var packageFilterArgs;
- var res = resolve.sync('./baz', {
- basedir: dir,
- // NOTE: in v2.x, this will be `pkg, pkgfile, dir`, but must remain "broken" here in v1.x for compatibility
- packageFilter: function (pkg, /*pkgfile,*/ dir) { // eslint-disable-line spaced-comment
- pkg.main = 'doom'; // eslint-disable-line no-param-reassign
- packageFilterArgs = 'is 1.x' ? [pkg, dir] : [pkg, pkgfile, dir]; // eslint-disable-line no-constant-condition, no-undef
- return pkg;
- }
- });
-
- t.equal(res, path.join(dir, 'baz/doom.js'), 'changing the package "main" works');
-
- var packageData = packageFilterArgs[0];
- t.equal(packageData.main, 'doom', 'package "main" was altered');
-
- if (!'is 1.x') { // eslint-disable-line no-constant-condition
- var packageFile = packageFilterArgs[1];
- t.equal(packageFile, path.join(dir, 'baz', 'package.json'), 'package.json path is correct');
- }
-
- var packageDir = packageFilterArgs['is 1.x' ? 1 : 2]; // eslint-disable-line no-constant-condition
- // eslint-disable-next-line no-constant-condition
- t.equal(packageDir, path.join(dir, 'baz'), ('is 1.x' ? 'second' : 'third') + ' packageFilter argument is "dir"');
-
- t.end();
-});
diff --git a/includes/search/node_modules/resolve/test/home_paths.js b/includes/search/node_modules/resolve/test/home_paths.js
deleted file mode 100644
index 3b8c9b3..0000000
--- a/includes/search/node_modules/resolve/test/home_paths.js
+++ /dev/null
@@ -1,127 +0,0 @@
-'use strict';
-
-var fs = require('fs');
-var homedir = require('../lib/homedir');
-var path = require('path');
-
-var test = require('tape');
-var mkdirp = require('mkdirp');
-var rimraf = require('rimraf');
-var mv = require('mv');
-var copyDir = require('copy-dir');
-var tmp = require('tmp');
-
-var HOME = homedir();
-
-var hnm = path.join(HOME, '.node_modules');
-var hnl = path.join(HOME, '.node_libraries');
-
-var resolve = require('../async');
-
-function makeDir(t, dir, cb) {
- mkdirp(dir, function (err) {
- if (err) {
- cb(err);
- } else {
- t.teardown(function cleanup() {
- rimraf.sync(dir);
- });
- cb();
- }
- });
-}
-
-function makeTempDir(t, dir, cb) {
- if (fs.existsSync(dir)) {
- var tmpResult = tmp.dirSync();
- t.teardown(tmpResult.removeCallback);
- var backup = path.join(tmpResult.name, path.basename(dir));
- mv(dir, backup, function (err) {
- if (err) {
- cb(err);
- } else {
- t.teardown(function () {
- mv(backup, dir, cb);
- });
- makeDir(t, dir, cb);
- }
- });
- } else {
- makeDir(t, dir, cb);
- }
-}
-
-test('homedir module paths', function (t) {
- t.plan(7);
-
- makeTempDir(t, hnm, function (err) {
- t.error(err, 'no error with HNM temp dir');
- if (err) {
- return t.end();
- }
-
- var bazHNMDir = path.join(hnm, 'baz');
- var dotMainDir = path.join(hnm, 'dot_main');
- copyDir.sync(path.join(__dirname, 'resolver/baz'), bazHNMDir);
- copyDir.sync(path.join(__dirname, 'resolver/dot_main'), dotMainDir);
-
- var bazPkg = { name: 'baz', main: 'quux.js' };
- var dotMainPkg = { main: 'index' };
-
- var bazHNMmain = path.join(bazHNMDir, 'quux.js');
- t.equal(require.resolve('baz'), bazHNMmain, 'sanity check: require.resolve finds HNM `baz`');
- var dotMainMain = path.join(dotMainDir, 'index.js');
- t.equal(require.resolve('dot_main'), dotMainMain, 'sanity check: require.resolve finds `dot_main`');
-
- makeTempDir(t, hnl, function (err) {
- t.error(err, 'no error with HNL temp dir');
- if (err) {
- return t.end();
- }
- var bazHNLDir = path.join(hnl, 'baz');
- copyDir.sync(path.join(__dirname, 'resolver/baz'), bazHNLDir);
-
- var dotSlashMainDir = path.join(hnl, 'dot_slash_main');
- var dotSlashMainMain = path.join(dotSlashMainDir, 'index.js');
- var dotSlashMainPkg = { main: 'index' };
- copyDir.sync(path.join(__dirname, 'resolver/dot_slash_main'), dotSlashMainDir);
-
- t.equal(require.resolve('baz'), bazHNMmain, 'sanity check: require.resolve finds HNM `baz`');
- t.equal(require.resolve('dot_slash_main'), dotSlashMainMain, 'sanity check: require.resolve finds HNL `dot_slash_main`');
-
- t.test('with temp dirs', function (st) {
- st.plan(3);
-
- st.test('just in `$HOME/.node_modules`', function (s2t) {
- s2t.plan(3);
-
- resolve('dot_main', function (err, res, pkg) {
- s2t.error(err, 'no error resolving `dot_main`');
- s2t.equal(res, dotMainMain, '`dot_main` resolves in `$HOME/.node_modules`');
- s2t.deepEqual(pkg, dotMainPkg);
- });
- });
-
- st.test('just in `$HOME/.node_libraries`', function (s2t) {
- s2t.plan(3);
-
- resolve('dot_slash_main', function (err, res, pkg) {
- s2t.error(err, 'no error resolving `dot_slash_main`');
- s2t.equal(res, dotSlashMainMain, '`dot_slash_main` resolves in `$HOME/.node_libraries`');
- s2t.deepEqual(pkg, dotSlashMainPkg);
- });
- });
-
- st.test('in `$HOME/.node_libraries` and `$HOME/.node_modules`', function (s2t) {
- s2t.plan(3);
-
- resolve('baz', function (err, res, pkg) {
- s2t.error(err, 'no error resolving `baz`');
- s2t.equal(res, bazHNMmain, '`baz` resolves in `$HOME/.node_modules` when in both');
- s2t.deepEqual(pkg, bazPkg);
- });
- });
- });
- });
- });
-});
diff --git a/includes/search/node_modules/resolve/test/home_paths_sync.js b/includes/search/node_modules/resolve/test/home_paths_sync.js
deleted file mode 100644
index 5d2c56f..0000000
--- a/includes/search/node_modules/resolve/test/home_paths_sync.js
+++ /dev/null
@@ -1,114 +0,0 @@
-'use strict';
-
-var fs = require('fs');
-var homedir = require('../lib/homedir');
-var path = require('path');
-
-var test = require('tape');
-var mkdirp = require('mkdirp');
-var rimraf = require('rimraf');
-var mv = require('mv');
-var copyDir = require('copy-dir');
-var tmp = require('tmp');
-
-var HOME = homedir();
-
-var hnm = path.join(HOME, '.node_modules');
-var hnl = path.join(HOME, '.node_libraries');
-
-var resolve = require('../sync');
-
-function makeDir(t, dir, cb) {
- mkdirp(dir, function (err) {
- if (err) {
- cb(err);
- } else {
- t.teardown(function cleanup() {
- rimraf.sync(dir);
- });
- cb();
- }
- });
-}
-
-function makeTempDir(t, dir, cb) {
- if (fs.existsSync(dir)) {
- var tmpResult = tmp.dirSync();
- t.teardown(tmpResult.removeCallback);
- var backup = path.join(tmpResult.name, path.basename(dir));
- mv(dir, backup, function (err) {
- if (err) {
- cb(err);
- } else {
- t.teardown(function () {
- mv(backup, dir, cb);
- });
- makeDir(t, dir, cb);
- }
- });
- } else {
- makeDir(t, dir, cb);
- }
-}
-
-test('homedir module paths', function (t) {
- t.plan(7);
-
- makeTempDir(t, hnm, function (err) {
- t.error(err, 'no error with HNM temp dir');
- if (err) {
- return t.end();
- }
-
- var bazHNMDir = path.join(hnm, 'baz');
- var dotMainDir = path.join(hnm, 'dot_main');
- copyDir.sync(path.join(__dirname, 'resolver/baz'), bazHNMDir);
- copyDir.sync(path.join(__dirname, 'resolver/dot_main'), dotMainDir);
-
- var bazHNMmain = path.join(bazHNMDir, 'quux.js');
- t.equal(require.resolve('baz'), bazHNMmain, 'sanity check: require.resolve finds HNM `baz`');
- var dotMainMain = path.join(dotMainDir, 'index.js');
- t.equal(require.resolve('dot_main'), dotMainMain, 'sanity check: require.resolve finds `dot_main`');
-
- makeTempDir(t, hnl, function (err) {
- t.error(err, 'no error with HNL temp dir');
- if (err) {
- return t.end();
- }
- var bazHNLDir = path.join(hnl, 'baz');
- copyDir.sync(path.join(__dirname, 'resolver/baz'), bazHNLDir);
-
- var dotSlashMainDir = path.join(hnl, 'dot_slash_main');
- var dotSlashMainMain = path.join(dotSlashMainDir, 'index.js');
- copyDir.sync(path.join(__dirname, 'resolver/dot_slash_main'), dotSlashMainDir);
-
- t.equal(require.resolve('baz'), bazHNMmain, 'sanity check: require.resolve finds HNM `baz`');
- t.equal(require.resolve('dot_slash_main'), dotSlashMainMain, 'sanity check: require.resolve finds HNL `dot_slash_main`');
-
- t.test('with temp dirs', function (st) {
- st.plan(3);
-
- st.test('just in `$HOME/.node_modules`', function (s2t) {
- s2t.plan(1);
-
- var res = resolve('dot_main');
- s2t.equal(res, dotMainMain, '`dot_main` resolves in `$HOME/.node_modules`');
- });
-
- st.test('just in `$HOME/.node_libraries`', function (s2t) {
- s2t.plan(1);
-
- var res = resolve('dot_slash_main');
- s2t.equal(res, dotSlashMainMain, '`dot_slash_main` resolves in `$HOME/.node_libraries`');
- });
-
- st.test('in `$HOME/.node_libraries` and `$HOME/.node_modules`', function (s2t) {
- s2t.plan(1);
-
- var res = resolve('baz');
- s2t.equal(res, bazHNMmain, '`baz` resolves in `$HOME/.node_modules` when in both');
- });
- });
- });
- });
-});
diff --git a/includes/search/node_modules/resolve/test/mock.js b/includes/search/node_modules/resolve/test/mock.js
deleted file mode 100644
index 6116275..0000000
--- a/includes/search/node_modules/resolve/test/mock.js
+++ /dev/null
@@ -1,315 +0,0 @@
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-
-test('mock', function (t) {
- t.plan(8);
-
- var files = {};
- files[path.resolve('/foo/bar/baz.js')] = 'beep';
-
- var dirs = {};
- dirs[path.resolve('/foo/bar')] = true;
-
- function opts(basedir) {
- return {
- basedir: path.resolve(basedir),
- isFile: function (file, cb) {
- cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file)));
- },
- isDirectory: function (dir, cb) {
- cb(null, !!dirs[path.resolve(dir)]);
- },
- readFile: function (file, cb) {
- cb(null, files[path.resolve(file)]);
- },
- realpath: function (file, cb) {
- cb(null, file);
- }
- };
- }
-
- resolve('./baz', opts('/foo/bar'), function (err, res, pkg) {
- if (err) return t.fail(err);
- t.equal(res, path.resolve('/foo/bar/baz.js'));
- t.equal(pkg, undefined);
- });
-
- resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) {
- if (err) return t.fail(err);
- t.equal(res, path.resolve('/foo/bar/baz.js'));
- t.equal(pkg, undefined);
- });
-
- resolve('baz', opts('/foo/bar'), function (err, res) {
- t.equal(err.message, "Cannot find module 'baz' from '" + path.resolve('/foo/bar') + "'");
- t.equal(err.code, 'MODULE_NOT_FOUND');
- });
-
- resolve('../baz', opts('/foo/bar'), function (err, res) {
- t.equal(err.message, "Cannot find module '../baz' from '" + path.resolve('/foo/bar') + "'");
- t.equal(err.code, 'MODULE_NOT_FOUND');
- });
-});
-
-test('mock from package', function (t) {
- t.plan(8);
-
- var files = {};
- files[path.resolve('/foo/bar/baz.js')] = 'beep';
-
- var dirs = {};
- dirs[path.resolve('/foo/bar')] = true;
-
- function opts(basedir) {
- return {
- basedir: path.resolve(basedir),
- isFile: function (file, cb) {
- cb(null, Object.prototype.hasOwnProperty.call(files, file));
- },
- isDirectory: function (dir, cb) {
- cb(null, !!dirs[path.resolve(dir)]);
- },
- 'package': { main: 'bar' },
- readFile: function (file, cb) {
- cb(null, files[file]);
- },
- realpath: function (file, cb) {
- cb(null, file);
- }
- };
- }
-
- resolve('./baz', opts('/foo/bar'), function (err, res, pkg) {
- if (err) return t.fail(err);
- t.equal(res, path.resolve('/foo/bar/baz.js'));
- t.equal(pkg && pkg.main, 'bar');
- });
-
- resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) {
- if (err) return t.fail(err);
- t.equal(res, path.resolve('/foo/bar/baz.js'));
- t.equal(pkg && pkg.main, 'bar');
- });
-
- resolve('baz', opts('/foo/bar'), function (err, res) {
- t.equal(err.message, "Cannot find module 'baz' from '" + path.resolve('/foo/bar') + "'");
- t.equal(err.code, 'MODULE_NOT_FOUND');
- });
-
- resolve('../baz', opts('/foo/bar'), function (err, res) {
- t.equal(err.message, "Cannot find module '../baz' from '" + path.resolve('/foo/bar') + "'");
- t.equal(err.code, 'MODULE_NOT_FOUND');
- });
-});
-
-test('mock package', function (t) {
- t.plan(2);
-
- var files = {};
- files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep';
- files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({
- main: './baz.js'
- });
-
- var dirs = {};
- dirs[path.resolve('/foo')] = true;
- dirs[path.resolve('/foo/node_modules')] = true;
-
- function opts(basedir) {
- return {
- basedir: path.resolve(basedir),
- isFile: function (file, cb) {
- cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file)));
- },
- isDirectory: function (dir, cb) {
- cb(null, !!dirs[path.resolve(dir)]);
- },
- readFile: function (file, cb) {
- cb(null, files[path.resolve(file)]);
- },
- realpath: function (file, cb) {
- cb(null, file);
- }
- };
- }
-
- resolve('bar', opts('/foo'), function (err, res, pkg) {
- if (err) return t.fail(err);
- t.equal(res, path.resolve('/foo/node_modules/bar/baz.js'));
- t.equal(pkg && pkg.main, './baz.js');
- });
-});
-
-test('mock package from package', function (t) {
- t.plan(2);
-
- var files = {};
- files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep';
- files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({
- main: './baz.js'
- });
-
- var dirs = {};
- dirs[path.resolve('/foo')] = true;
- dirs[path.resolve('/foo/node_modules')] = true;
-
- function opts(basedir) {
- return {
- basedir: path.resolve(basedir),
- isFile: function (file, cb) {
- cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file)));
- },
- isDirectory: function (dir, cb) {
- cb(null, !!dirs[path.resolve(dir)]);
- },
- 'package': { main: 'bar' },
- readFile: function (file, cb) {
- cb(null, files[path.resolve(file)]);
- },
- realpath: function (file, cb) {
- cb(null, file);
- }
- };
- }
-
- resolve('bar', opts('/foo'), function (err, res, pkg) {
- if (err) return t.fail(err);
- t.equal(res, path.resolve('/foo/node_modules/bar/baz.js'));
- t.equal(pkg && pkg.main, './baz.js');
- });
-});
-
-test('symlinked', function (t) {
- t.plan(4);
-
- var files = {};
- files[path.resolve('/foo/bar/baz.js')] = 'beep';
- files[path.resolve('/foo/bar/symlinked/baz.js')] = 'beep';
-
- var dirs = {};
- dirs[path.resolve('/foo/bar')] = true;
- dirs[path.resolve('/foo/bar/symlinked')] = true;
-
- function opts(basedir) {
- return {
- preserveSymlinks: false,
- basedir: path.resolve(basedir),
- isFile: function (file, cb) {
- cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file)));
- },
- isDirectory: function (dir, cb) {
- cb(null, !!dirs[path.resolve(dir)]);
- },
- readFile: function (file, cb) {
- cb(null, files[path.resolve(file)]);
- },
- realpath: function (file, cb) {
- var resolved = path.resolve(file);
-
- if (resolved.indexOf('symlinked') >= 0) {
- cb(null, resolved);
- return;
- }
-
- var ext = path.extname(resolved);
-
- if (ext) {
- var dir = path.dirname(resolved);
- var base = path.basename(resolved);
- cb(null, path.join(dir, 'symlinked', base));
- } else {
- cb(null, path.join(resolved, 'symlinked'));
- }
- }
- };
- }
-
- resolve('./baz', opts('/foo/bar'), function (err, res, pkg) {
- if (err) return t.fail(err);
- t.equal(res, path.resolve('/foo/bar/symlinked/baz.js'));
- t.equal(pkg, undefined);
- });
-
- resolve('./baz.js', opts('/foo/bar'), function (err, res, pkg) {
- if (err) return t.fail(err);
- t.equal(res, path.resolve('/foo/bar/symlinked/baz.js'));
- t.equal(pkg, undefined);
- });
-});
-
-test('readPackage', function (t) {
- t.plan(3);
-
- var files = {};
- files[path.resolve('/foo/node_modules/bar/something-else.js')] = 'beep';
- files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({
- main: './baz.js'
- });
- files[path.resolve('/foo/node_modules/bar/baz.js')] = 'boop';
-
- var dirs = {};
- dirs[path.resolve('/foo')] = true;
- dirs[path.resolve('/foo/node_modules')] = true;
-
- function opts(basedir) {
- return {
- basedir: path.resolve(basedir),
- isFile: function (file, cb) {
- cb(null, Object.prototype.hasOwnProperty.call(files, path.resolve(file)));
- },
- isDirectory: function (dir, cb) {
- cb(null, !!dirs[path.resolve(dir)]);
- },
- 'package': { main: 'bar' },
- readFile: function (file, cb) {
- cb(null, files[path.resolve(file)]);
- },
- realpath: function (file, cb) {
- cb(null, file);
- }
- };
- }
-
- t.test('with readFile', function (st) {
- st.plan(3);
-
- resolve('bar', opts('/foo'), function (err, res, pkg) {
- st.error(err);
- st.equal(res, path.resolve('/foo/node_modules/bar/baz.js'));
- st.equal(pkg && pkg.main, './baz.js');
- });
- });
-
- var readPackage = function (readFile, file, cb) {
- var barPackage = path.join('bar', 'package.json');
- if (file.slice(-barPackage.length) === barPackage) {
- cb(null, { main: './something-else.js' });
- } else {
- cb(null, JSON.parse(files[path.resolve(file)]));
- }
- };
-
- t.test('with readPackage', function (st) {
- st.plan(3);
-
- var options = opts('/foo');
- delete options.readFile;
- options.readPackage = readPackage;
- resolve('bar', options, function (err, res, pkg) {
- st.error(err);
- st.equal(res, path.resolve('/foo/node_modules/bar/something-else.js'));
- st.equal(pkg && pkg.main, './something-else.js');
- });
- });
-
- t.test('with readFile and readPackage', function (st) {
- st.plan(1);
-
- var options = opts('/foo');
- options.readPackage = readPackage;
- resolve('bar', options, function (err) {
- st.throws(function () { throw err; }, TypeError, 'errors when both readFile and readPackage are provided');
- });
- });
-});
diff --git a/includes/search/node_modules/resolve/test/mock_sync.js b/includes/search/node_modules/resolve/test/mock_sync.js
deleted file mode 100644
index c5a7e2a..0000000
--- a/includes/search/node_modules/resolve/test/mock_sync.js
+++ /dev/null
@@ -1,214 +0,0 @@
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-
-test('mock', function (t) {
- t.plan(4);
-
- var files = {};
- files[path.resolve('/foo/bar/baz.js')] = 'beep';
-
- var dirs = {};
- dirs[path.resolve('/foo/bar')] = true;
-
- function opts(basedir) {
- return {
- basedir: path.resolve(basedir),
- isFile: function (file) {
- return Object.prototype.hasOwnProperty.call(files, path.resolve(file));
- },
- isDirectory: function (dir) {
- return !!dirs[path.resolve(dir)];
- },
- readFileSync: function (file) {
- return files[path.resolve(file)];
- },
- realpathSync: function (file) {
- return file;
- }
- };
- }
-
- t.equal(
- resolve.sync('./baz', opts('/foo/bar')),
- path.resolve('/foo/bar/baz.js')
- );
-
- t.equal(
- resolve.sync('./baz.js', opts('/foo/bar')),
- path.resolve('/foo/bar/baz.js')
- );
-
- t.throws(function () {
- resolve.sync('baz', opts('/foo/bar'));
- });
-
- t.throws(function () {
- resolve.sync('../baz', opts('/foo/bar'));
- });
-});
-
-test('mock package', function (t) {
- t.plan(1);
-
- var files = {};
- files[path.resolve('/foo/node_modules/bar/baz.js')] = 'beep';
- files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({
- main: './baz.js'
- });
-
- var dirs = {};
- dirs[path.resolve('/foo')] = true;
- dirs[path.resolve('/foo/node_modules')] = true;
-
- function opts(basedir) {
- return {
- basedir: path.resolve(basedir),
- isFile: function (file) {
- return Object.prototype.hasOwnProperty.call(files, path.resolve(file));
- },
- isDirectory: function (dir) {
- return !!dirs[path.resolve(dir)];
- },
- readFileSync: function (file) {
- return files[path.resolve(file)];
- },
- realpathSync: function (file) {
- return file;
- }
- };
- }
-
- t.equal(
- resolve.sync('bar', opts('/foo')),
- path.resolve('/foo/node_modules/bar/baz.js')
- );
-});
-
-test('symlinked', function (t) {
- t.plan(2);
-
- var files = {};
- files[path.resolve('/foo/bar/baz.js')] = 'beep';
- files[path.resolve('/foo/bar/symlinked/baz.js')] = 'beep';
-
- var dirs = {};
- dirs[path.resolve('/foo/bar')] = true;
- dirs[path.resolve('/foo/bar/symlinked')] = true;
-
- function opts(basedir) {
- return {
- preserveSymlinks: false,
- basedir: path.resolve(basedir),
- isFile: function (file) {
- return Object.prototype.hasOwnProperty.call(files, path.resolve(file));
- },
- isDirectory: function (dir) {
- return !!dirs[path.resolve(dir)];
- },
- readFileSync: function (file) {
- return files[path.resolve(file)];
- },
- realpathSync: function (file) {
- var resolved = path.resolve(file);
-
- if (resolved.indexOf('symlinked') >= 0) {
- return resolved;
- }
-
- var ext = path.extname(resolved);
-
- if (ext) {
- var dir = path.dirname(resolved);
- var base = path.basename(resolved);
- return path.join(dir, 'symlinked', base);
- }
- return path.join(resolved, 'symlinked');
- }
- };
- }
-
- t.equal(
- resolve.sync('./baz', opts('/foo/bar')),
- path.resolve('/foo/bar/symlinked/baz.js')
- );
-
- t.equal(
- resolve.sync('./baz.js', opts('/foo/bar')),
- path.resolve('/foo/bar/symlinked/baz.js')
- );
-});
-
-test('readPackageSync', function (t) {
- t.plan(3);
-
- var files = {};
- files[path.resolve('/foo/node_modules/bar/something-else.js')] = 'beep';
- files[path.resolve('/foo/node_modules/bar/package.json')] = JSON.stringify({
- main: './baz.js'
- });
- files[path.resolve('/foo/node_modules/bar/baz.js')] = 'boop';
-
- var dirs = {};
- dirs[path.resolve('/foo')] = true;
- dirs[path.resolve('/foo/node_modules')] = true;
-
- function opts(basedir, useReadPackage) {
- return {
- basedir: path.resolve(basedir),
- isFile: function (file) {
- return Object.prototype.hasOwnProperty.call(files, path.resolve(file));
- },
- isDirectory: function (dir) {
- return !!dirs[path.resolve(dir)];
- },
- readFileSync: useReadPackage ? null : function (file) {
- return files[path.resolve(file)];
- },
- realpathSync: function (file) {
- return file;
- }
- };
- }
- t.test('with readFile', function (st) {
- st.plan(1);
-
- st.equal(
- resolve.sync('bar', opts('/foo')),
- path.resolve('/foo/node_modules/bar/baz.js')
- );
- });
-
- var readPackageSync = function (readFileSync, file) {
- if (file.indexOf(path.join('bar', 'package.json')) >= 0) {
- return { main: './something-else.js' };
- }
- return JSON.parse(files[path.resolve(file)]);
- };
-
- t.test('with readPackage', function (st) {
- st.plan(1);
-
- var options = opts('/foo');
- delete options.readFileSync;
- options.readPackageSync = readPackageSync;
-
- st.equal(
- resolve.sync('bar', options),
- path.resolve('/foo/node_modules/bar/something-else.js')
- );
- });
-
- t.test('with readFile and readPackage', function (st) {
- st.plan(1);
-
- var options = opts('/foo');
- options.readPackageSync = readPackageSync;
- st.throws(
- function () { resolve.sync('bar', options); },
- TypeError,
- 'errors when both readFile and readPackage are provided'
- );
- });
-});
-
diff --git a/includes/search/node_modules/resolve/test/module_dir.js b/includes/search/node_modules/resolve/test/module_dir.js
deleted file mode 100644
index b50e5bb..0000000
--- a/includes/search/node_modules/resolve/test/module_dir.js
+++ /dev/null
@@ -1,56 +0,0 @@
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-
-test('moduleDirectory strings', function (t) {
- t.plan(4);
- var dir = path.join(__dirname, 'module_dir');
- var xopts = {
- basedir: dir,
- moduleDirectory: 'xmodules'
- };
- resolve('aaa', xopts, function (err, res, pkg) {
- t.ifError(err);
- t.equal(res, path.join(dir, '/xmodules/aaa/index.js'));
- });
-
- var yopts = {
- basedir: dir,
- moduleDirectory: 'ymodules'
- };
- resolve('aaa', yopts, function (err, res, pkg) {
- t.ifError(err);
- t.equal(res, path.join(dir, '/ymodules/aaa/index.js'));
- });
-});
-
-test('moduleDirectory array', function (t) {
- t.plan(6);
- var dir = path.join(__dirname, 'module_dir');
- var aopts = {
- basedir: dir,
- moduleDirectory: ['xmodules', 'ymodules', 'zmodules']
- };
- resolve('aaa', aopts, function (err, res, pkg) {
- t.ifError(err);
- t.equal(res, path.join(dir, '/xmodules/aaa/index.js'));
- });
-
- var bopts = {
- basedir: dir,
- moduleDirectory: ['zmodules', 'ymodules', 'xmodules']
- };
- resolve('aaa', bopts, function (err, res, pkg) {
- t.ifError(err);
- t.equal(res, path.join(dir, '/ymodules/aaa/index.js'));
- });
-
- var copts = {
- basedir: dir,
- moduleDirectory: ['xmodules', 'ymodules', 'zmodules']
- };
- resolve('bbb', copts, function (err, res, pkg) {
- t.ifError(err);
- t.equal(res, path.join(dir, '/zmodules/bbb/main.js'));
- });
-});
diff --git a/includes/search/node_modules/resolve/test/module_dir/xmodules/aaa/index.js b/includes/search/node_modules/resolve/test/module_dir/xmodules/aaa/index.js
deleted file mode 100644
index dd7cf7b..0000000
--- a/includes/search/node_modules/resolve/test/module_dir/xmodules/aaa/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = function (x) { return x * 100; };
diff --git a/includes/search/node_modules/resolve/test/module_dir/ymodules/aaa/index.js b/includes/search/node_modules/resolve/test/module_dir/ymodules/aaa/index.js
deleted file mode 100644
index ef2d4d4..0000000
--- a/includes/search/node_modules/resolve/test/module_dir/ymodules/aaa/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = function (x) { return x + 100; };
diff --git a/includes/search/node_modules/resolve/test/module_dir/zmodules/bbb/main.js b/includes/search/node_modules/resolve/test/module_dir/zmodules/bbb/main.js
deleted file mode 100644
index e8ba629..0000000
--- a/includes/search/node_modules/resolve/test/module_dir/zmodules/bbb/main.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = function (n) { return n * 111; };
diff --git a/includes/search/node_modules/resolve/test/module_dir/zmodules/bbb/package.json b/includes/search/node_modules/resolve/test/module_dir/zmodules/bbb/package.json
deleted file mode 100644
index c13b8cf..0000000
--- a/includes/search/node_modules/resolve/test/module_dir/zmodules/bbb/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "main": "main.js"
-}
diff --git a/includes/search/node_modules/resolve/test/node-modules-paths.js b/includes/search/node_modules/resolve/test/node-modules-paths.js
deleted file mode 100644
index 675441d..0000000
--- a/includes/search/node_modules/resolve/test/node-modules-paths.js
+++ /dev/null
@@ -1,143 +0,0 @@
-var test = require('tape');
-var path = require('path');
-var parse = path.parse || require('path-parse');
-var keys = require('object-keys');
-
-var nodeModulesPaths = require('../lib/node-modules-paths');
-
-var verifyDirs = function verifyDirs(t, start, dirs, moduleDirectories, paths) {
- var moduleDirs = [].concat(moduleDirectories || 'node_modules');
- if (paths) {
- for (var k = 0; k < paths.length; ++k) {
- moduleDirs.push(path.basename(paths[k]));
- }
- }
-
- var foundModuleDirs = {};
- var uniqueDirs = {};
- var parsedDirs = {};
- for (var i = 0; i < dirs.length; ++i) {
- var parsed = parse(dirs[i]);
- if (!foundModuleDirs[parsed.base]) { foundModuleDirs[parsed.base] = 0; }
- foundModuleDirs[parsed.base] += 1;
- parsedDirs[parsed.dir] = true;
- uniqueDirs[dirs[i]] = true;
- }
- t.equal(keys(parsedDirs).length >= start.split(path.sep).length, true, 'there are >= dirs than "start" has');
- var foundModuleDirNames = keys(foundModuleDirs);
- t.deepEqual(foundModuleDirNames, moduleDirs, 'all desired module dirs were found');
- t.equal(keys(uniqueDirs).length, dirs.length, 'all dirs provided were unique');
-
- var counts = {};
- for (var j = 0; j < foundModuleDirNames.length; ++j) {
- counts[foundModuleDirs[j]] = true;
- }
- t.equal(keys(counts).length, 1, 'all found module directories had the same count');
-};
-
-test('node-modules-paths', function (t) {
- t.test('no options', function (t) {
- var start = path.join(__dirname, 'resolver');
- var dirs = nodeModulesPaths(start);
-
- verifyDirs(t, start, dirs);
-
- t.end();
- });
-
- t.test('empty options', function (t) {
- var start = path.join(__dirname, 'resolver');
- var dirs = nodeModulesPaths(start, {});
-
- verifyDirs(t, start, dirs);
-
- t.end();
- });
-
- t.test('with paths=array option', function (t) {
- var start = path.join(__dirname, 'resolver');
- var paths = ['a', 'b'];
- var dirs = nodeModulesPaths(start, { paths: paths });
-
- verifyDirs(t, start, dirs, null, paths);
-
- t.end();
- });
-
- t.test('with paths=function option', function (t) {
- var paths = function paths(request, absoluteStart, getNodeModulesDirs, opts) {
- return getNodeModulesDirs().concat(path.join(absoluteStart, 'not node modules', request));
- };
-
- var start = path.join(__dirname, 'resolver');
- var dirs = nodeModulesPaths(start, { paths: paths }, 'pkg');
-
- verifyDirs(t, start, dirs, null, [path.join(start, 'not node modules', 'pkg')]);
-
- t.end();
- });
-
- t.test('with paths=function skipping node modules resolution', function (t) {
- var paths = function paths(request, absoluteStart, getNodeModulesDirs, opts) {
- return [];
- };
- var start = path.join(__dirname, 'resolver');
- var dirs = nodeModulesPaths(start, { paths: paths });
- t.deepEqual(dirs, [], 'no node_modules was computed');
- t.end();
- });
-
- t.test('with moduleDirectory option', function (t) {
- var start = path.join(__dirname, 'resolver');
- var moduleDirectory = 'not node modules';
- var dirs = nodeModulesPaths(start, { moduleDirectory: moduleDirectory });
-
- verifyDirs(t, start, dirs, moduleDirectory);
-
- t.end();
- });
-
- t.test('with 1 moduleDirectory and paths options', function (t) {
- var start = path.join(__dirname, 'resolver');
- var paths = ['a', 'b'];
- var moduleDirectory = 'not node modules';
- var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectory });
-
- verifyDirs(t, start, dirs, moduleDirectory, paths);
-
- t.end();
- });
-
- t.test('with 1+ moduleDirectory and paths options', function (t) {
- var start = path.join(__dirname, 'resolver');
- var paths = ['a', 'b'];
- var moduleDirectories = ['not node modules', 'other modules'];
- var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectories });
-
- verifyDirs(t, start, dirs, moduleDirectories, paths);
-
- t.end();
- });
-
- t.test('combine paths correctly on Windows', function (t) {
- var start = 'C:\\Users\\username\\myProject\\src';
- var paths = [];
- var moduleDirectories = ['node_modules', start];
- var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectories });
-
- t.equal(dirs.indexOf(path.resolve(start)) > -1, true, 'should contain start dir');
-
- t.end();
- });
-
- t.test('combine paths correctly on non-Windows', { skip: process.platform === 'win32' }, function (t) {
- var start = '/Users/username/git/myProject/src';
- var paths = [];
- var moduleDirectories = ['node_modules', '/Users/username/git/myProject/src'];
- var dirs = nodeModulesPaths(start, { paths: paths, moduleDirectory: moduleDirectories });
-
- t.equal(dirs.indexOf(path.resolve(start)) > -1, true, 'should contain start dir');
-
- t.end();
- });
-});
diff --git a/includes/search/node_modules/resolve/test/node_path.js b/includes/search/node_modules/resolve/test/node_path.js
deleted file mode 100644
index e463d6c..0000000
--- a/includes/search/node_modules/resolve/test/node_path.js
+++ /dev/null
@@ -1,70 +0,0 @@
-var fs = require('fs');
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-
-test('$NODE_PATH', function (t) {
- t.plan(8);
-
- var isDir = function (dir, cb) {
- if (dir === '/node_path' || dir === 'node_path/x') {
- return cb(null, true);
- }
- fs.stat(dir, function (err, stat) {
- if (!err) {
- return cb(null, stat.isDirectory());
- }
- if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
- return cb(err);
- });
- };
-
- resolve('aaa', {
- paths: [
- path.join(__dirname, '/node_path/x'),
- path.join(__dirname, '/node_path/y')
- ],
- basedir: __dirname,
- isDirectory: isDir
- }, function (err, res) {
- t.error(err);
- t.equal(res, path.join(__dirname, '/node_path/x/aaa/index.js'), 'aaa resolves');
- });
-
- resolve('bbb', {
- paths: [
- path.join(__dirname, '/node_path/x'),
- path.join(__dirname, '/node_path/y')
- ],
- basedir: __dirname,
- isDirectory: isDir
- }, function (err, res) {
- t.error(err);
- t.equal(res, path.join(__dirname, '/node_path/y/bbb/index.js'), 'bbb resolves');
- });
-
- resolve('ccc', {
- paths: [
- path.join(__dirname, '/node_path/x'),
- path.join(__dirname, '/node_path/y')
- ],
- basedir: __dirname,
- isDirectory: isDir
- }, function (err, res) {
- t.error(err);
- t.equal(res, path.join(__dirname, '/node_path/x/ccc/index.js'), 'ccc resolves');
- });
-
- // ensure that relative paths still resolve against the regular `node_modules` correctly
- resolve('tap', {
- paths: [
- 'node_path'
- ],
- basedir: path.join(__dirname, 'node_path/x'),
- isDirectory: isDir
- }, function (err, res) {
- var root = require('tap/package.json').main; // eslint-disable-line global-require
- t.error(err);
- t.equal(res, path.resolve(__dirname, '..', 'node_modules/tap', root), 'tap resolves');
- });
-});
diff --git a/includes/search/node_modules/resolve/test/node_path/x/aaa/index.js b/includes/search/node_modules/resolve/test/node_path/x/aaa/index.js
deleted file mode 100644
index ad70d0b..0000000
--- a/includes/search/node_modules/resolve/test/node_path/x/aaa/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 'A';
diff --git a/includes/search/node_modules/resolve/test/node_path/x/ccc/index.js b/includes/search/node_modules/resolve/test/node_path/x/ccc/index.js
deleted file mode 100644
index a64132e..0000000
--- a/includes/search/node_modules/resolve/test/node_path/x/ccc/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 'C';
diff --git a/includes/search/node_modules/resolve/test/node_path/y/bbb/index.js b/includes/search/node_modules/resolve/test/node_path/y/bbb/index.js
deleted file mode 100644
index 4d0f32e..0000000
--- a/includes/search/node_modules/resolve/test/node_path/y/bbb/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 'B';
diff --git a/includes/search/node_modules/resolve/test/node_path/y/ccc/index.js b/includes/search/node_modules/resolve/test/node_path/y/ccc/index.js
deleted file mode 100644
index 793315e..0000000
--- a/includes/search/node_modules/resolve/test/node_path/y/ccc/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 'CY';
diff --git a/includes/search/node_modules/resolve/test/nonstring.js b/includes/search/node_modules/resolve/test/nonstring.js
deleted file mode 100644
index ef63c40..0000000
--- a/includes/search/node_modules/resolve/test/nonstring.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var test = require('tape');
-var resolve = require('../');
-
-test('nonstring', function (t) {
- t.plan(1);
- resolve(555, function (err, res, pkg) {
- t.ok(err);
- });
-});
diff --git a/includes/search/node_modules/resolve/test/pathfilter.js b/includes/search/node_modules/resolve/test/pathfilter.js
deleted file mode 100644
index 16519ae..0000000
--- a/includes/search/node_modules/resolve/test/pathfilter.js
+++ /dev/null
@@ -1,75 +0,0 @@
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-
-var resolverDir = path.join(__dirname, '/pathfilter/deep_ref');
-
-var pathFilterFactory = function (t) {
- return function (pkg, x, remainder) {
- t.equal(pkg.version, '1.2.3');
- t.equal(x, path.join(resolverDir, 'node_modules/deep/ref'));
- t.equal(remainder, 'ref');
- return 'alt';
- };
-};
-
-test('#62: deep module references and the pathFilter', function (t) {
- t.test('deep/ref.js', function (st) {
- st.plan(3);
-
- resolve('deep/ref', { basedir: resolverDir }, function (err, res, pkg) {
- if (err) st.fail(err);
-
- st.equal(pkg.version, '1.2.3');
- st.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js'));
- });
-
- var res = resolve.sync('deep/ref', { basedir: resolverDir });
- st.equal(res, path.join(resolverDir, 'node_modules/deep/ref.js'));
- });
-
- t.test('deep/deeper/ref', function (st) {
- st.plan(4);
-
- resolve(
- 'deep/deeper/ref',
- { basedir: resolverDir },
- function (err, res, pkg) {
- if (err) t.fail(err);
- st.notEqual(pkg, undefined);
- st.equal(pkg.version, '1.2.3');
- st.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js'));
- }
- );
-
- var res = resolve.sync(
- 'deep/deeper/ref',
- { basedir: resolverDir }
- );
- st.equal(res, path.join(resolverDir, 'node_modules/deep/deeper/ref.js'));
- });
-
- t.test('deep/ref alt', function (st) {
- st.plan(8);
-
- var pathFilter = pathFilterFactory(st);
-
- var res = resolve.sync(
- 'deep/ref',
- { basedir: resolverDir, pathFilter: pathFilter }
- );
- st.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js'));
-
- resolve(
- 'deep/ref',
- { basedir: resolverDir, pathFilter: pathFilter },
- function (err, res, pkg) {
- if (err) st.fail(err);
- st.equal(res, path.join(resolverDir, 'node_modules/deep/alt.js'));
- st.end();
- }
- );
- });
-
- t.end();
-});
diff --git a/includes/search/node_modules/resolve/test/pathfilter/deep_ref/main.js b/includes/search/node_modules/resolve/test/pathfilter/deep_ref/main.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/pathfilter/deep_ref/main.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/precedence.js b/includes/search/node_modules/resolve/test/precedence.js
deleted file mode 100644
index 2febb59..0000000
--- a/includes/search/node_modules/resolve/test/precedence.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-
-test('precedence', function (t) {
- t.plan(3);
- var dir = path.join(__dirname, 'precedence/aaa');
-
- resolve('./', { basedir: dir }, function (err, res, pkg) {
- t.ifError(err);
- t.equal(res, path.join(dir, 'index.js'));
- t.equal(pkg.name, 'resolve');
- });
-});
-
-test('./ should not load ${dir}.js', function (t) { // eslint-disable-line no-template-curly-in-string
- t.plan(1);
- var dir = path.join(__dirname, 'precedence/bbb');
-
- resolve('./', { basedir: dir }, function (err, res, pkg) {
- t.ok(err);
- });
-});
diff --git a/includes/search/node_modules/resolve/test/precedence/aaa.js b/includes/search/node_modules/resolve/test/precedence/aaa.js
deleted file mode 100644
index b83a3e7..0000000
--- a/includes/search/node_modules/resolve/test/precedence/aaa.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 'wtf';
diff --git a/includes/search/node_modules/resolve/test/precedence/aaa/index.js b/includes/search/node_modules/resolve/test/precedence/aaa/index.js
deleted file mode 100644
index e0f8f6a..0000000
--- a/includes/search/node_modules/resolve/test/precedence/aaa/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 'okok';
diff --git a/includes/search/node_modules/resolve/test/precedence/aaa/main.js b/includes/search/node_modules/resolve/test/precedence/aaa/main.js
deleted file mode 100644
index 93542a9..0000000
--- a/includes/search/node_modules/resolve/test/precedence/aaa/main.js
+++ /dev/null
@@ -1 +0,0 @@
-console.log(require('./'));
diff --git a/includes/search/node_modules/resolve/test/precedence/bbb.js b/includes/search/node_modules/resolve/test/precedence/bbb.js
deleted file mode 100644
index 2298f47..0000000
--- a/includes/search/node_modules/resolve/test/precedence/bbb.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = '>_<';
diff --git a/includes/search/node_modules/resolve/test/precedence/bbb/main.js b/includes/search/node_modules/resolve/test/precedence/bbb/main.js
deleted file mode 100644
index 716b81d..0000000
--- a/includes/search/node_modules/resolve/test/precedence/bbb/main.js
+++ /dev/null
@@ -1 +0,0 @@
-console.log(require('./')); // should throw
diff --git a/includes/search/node_modules/resolve/test/resolver.js b/includes/search/node_modules/resolve/test/resolver.js
deleted file mode 100644
index 4903165..0000000
--- a/includes/search/node_modules/resolve/test/resolver.js
+++ /dev/null
@@ -1,595 +0,0 @@
-var path = require('path');
-var test = require('tape');
-var resolve = require('../');
-var async = require('../async');
-
-test('`./async` entry point', function (t) {
- t.equal(resolve, async, '`./async` entry point is the same as `main`');
- t.end();
-});
-
-test('async foo', function (t) {
- t.plan(12);
- var dir = path.join(__dirname, 'resolver');
-
- resolve('./foo', { basedir: dir }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'foo.js'));
- t.equal(pkg && pkg.name, 'resolve');
- });
-
- resolve('./foo.js', { basedir: dir }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'foo.js'));
- t.equal(pkg && pkg.name, 'resolve');
- });
-
- resolve('./foo', { basedir: dir, 'package': { main: 'resolver' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'foo.js'));
- t.equal(pkg && pkg.main, 'resolver');
- });
-
- resolve('./foo.js', { basedir: dir, 'package': { main: 'resolver' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'foo.js'));
- t.equal(pkg.main, 'resolver');
- });
-
- resolve('./foo', { basedir: dir, filename: path.join(dir, 'baz.js') }, function (err, res) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'foo.js'));
- });
-
- resolve('foo', { basedir: dir }, function (err) {
- t.equal(err.message, "Cannot find module 'foo' from '" + path.resolve(dir) + "'");
- t.equal(err.code, 'MODULE_NOT_FOUND');
- });
-
- // Test that filename is reported as the "from" value when passed.
- resolve('foo', { basedir: dir, filename: path.join(dir, 'baz.js') }, function (err) {
- t.equal(err.message, "Cannot find module 'foo' from '" + path.join(dir, 'baz.js') + "'");
- });
-});
-
-test('bar', function (t) {
- t.plan(6);
- var dir = path.join(__dirname, 'resolver');
-
- resolve('foo', { basedir: dir + '/bar' }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'bar/node_modules/foo/index.js'));
- t.equal(pkg, undefined);
- });
-
- resolve('foo', { basedir: dir + '/bar' }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'bar/node_modules/foo/index.js'));
- t.equal(pkg, undefined);
- });
-
- resolve('foo', { basedir: dir + '/bar', 'package': { main: 'bar' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'bar/node_modules/foo/index.js'));
- t.equal(pkg.main, 'bar');
- });
-});
-
-test('baz', function (t) {
- t.plan(4);
- var dir = path.join(__dirname, 'resolver');
-
- resolve('./baz', { basedir: dir }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'baz/quux.js'));
- t.equal(pkg.main, 'quux.js');
- });
-
- resolve('./baz', { basedir: dir, 'package': { main: 'resolver' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'baz/quux.js'));
- t.equal(pkg.main, 'quux.js');
- });
-});
-
-test('biz', function (t) {
- t.plan(24);
- var dir = path.join(__dirname, 'resolver/biz/node_modules');
-
- resolve('./grux', { basedir: dir }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'grux/index.js'));
- t.equal(pkg, undefined);
- });
-
- resolve('./grux', { basedir: dir, 'package': { main: 'biz' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'grux/index.js'));
- t.equal(pkg.main, 'biz');
- });
-
- resolve('./garply', { basedir: dir }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'garply/lib/index.js'));
- t.equal(pkg.main, './lib');
- });
-
- resolve('./garply', { basedir: dir, 'package': { main: 'biz' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'garply/lib/index.js'));
- t.equal(pkg.main, './lib');
- });
-
- resolve('tiv', { basedir: dir + '/grux' }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'tiv/index.js'));
- t.equal(pkg, undefined);
- });
-
- resolve('tiv', { basedir: dir + '/grux', 'package': { main: 'grux' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'tiv/index.js'));
- t.equal(pkg.main, 'grux');
- });
-
- resolve('tiv', { basedir: dir + '/garply' }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'tiv/index.js'));
- t.equal(pkg, undefined);
- });
-
- resolve('tiv', { basedir: dir + '/garply', 'package': { main: './lib' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'tiv/index.js'));
- t.equal(pkg.main, './lib');
- });
-
- resolve('grux', { basedir: dir + '/tiv' }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'grux/index.js'));
- t.equal(pkg, undefined);
- });
-
- resolve('grux', { basedir: dir + '/tiv', 'package': { main: 'tiv' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'grux/index.js'));
- t.equal(pkg.main, 'tiv');
- });
-
- resolve('garply', { basedir: dir + '/tiv' }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'garply/lib/index.js'));
- t.equal(pkg.main, './lib');
- });
-
- resolve('garply', { basedir: dir + '/tiv', 'package': { main: 'tiv' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'garply/lib/index.js'));
- t.equal(pkg.main, './lib');
- });
-});
-
-test('quux', function (t) {
- t.plan(2);
- var dir = path.join(__dirname, 'resolver/quux');
-
- resolve('./foo', { basedir: dir, 'package': { main: 'quux' } }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'foo/index.js'));
- t.equal(pkg.main, 'quux');
- });
-});
-
-test('normalize', function (t) {
- t.plan(2);
- var dir = path.join(__dirname, 'resolver/biz/node_modules/grux');
-
- resolve('../grux', { basedir: dir }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'index.js'));
- t.equal(pkg, undefined);
- });
-});
-
-test('cup', function (t) {
- t.plan(5);
- var dir = path.join(__dirname, 'resolver');
-
- resolve('./cup', { basedir: dir, extensions: ['.js', '.coffee'] }, function (err, res) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'cup.coffee'));
- });
-
- resolve('./cup.coffee', { basedir: dir }, function (err, res) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'cup.coffee'));
- });
-
- resolve('./cup', { basedir: dir, extensions: ['.js'] }, function (err, res) {
- t.equal(err.message, "Cannot find module './cup' from '" + path.resolve(dir) + "'");
- t.equal(err.code, 'MODULE_NOT_FOUND');
- });
-
- // Test that filename is reported as the "from" value when passed.
- resolve('./cup', { basedir: dir, extensions: ['.js'], filename: path.join(dir, 'cupboard.js') }, function (err, res) {
- t.equal(err.message, "Cannot find module './cup' from '" + path.join(dir, 'cupboard.js') + "'");
- });
-});
-
-test('mug', function (t) {
- t.plan(3);
- var dir = path.join(__dirname, 'resolver');
-
- resolve('./mug', { basedir: dir }, function (err, res) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'mug.js'));
- });
-
- resolve('./mug', { basedir: dir, extensions: ['.coffee', '.js'] }, function (err, res) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, '/mug.coffee'));
- });
-
- resolve('./mug', { basedir: dir, extensions: ['.js', '.coffee'] }, function (err, res) {
- t.equal(res, path.join(dir, '/mug.js'));
- });
-});
-
-test('other path', function (t) {
- t.plan(6);
- var resolverDir = path.join(__dirname, 'resolver');
- var dir = path.join(resolverDir, 'bar');
- var otherDir = path.join(resolverDir, 'other_path');
-
- resolve('root', { basedir: dir, paths: [otherDir] }, function (err, res) {
- if (err) t.fail(err);
- t.equal(res, path.join(resolverDir, 'other_path/root.js'));
- });
-
- resolve('lib/other-lib', { basedir: dir, paths: [otherDir] }, function (err, res) {
- if (err) t.fail(err);
- t.equal(res, path.join(resolverDir, 'other_path/lib/other-lib.js'));
- });
-
- resolve('root', { basedir: dir }, function (err, res) {
- t.equal(err.message, "Cannot find module 'root' from '" + path.resolve(dir) + "'");
- t.equal(err.code, 'MODULE_NOT_FOUND');
- });
-
- resolve('zzz', { basedir: dir, paths: [otherDir] }, function (err, res) {
- t.equal(err.message, "Cannot find module 'zzz' from '" + path.resolve(dir) + "'");
- t.equal(err.code, 'MODULE_NOT_FOUND');
- });
-});
-
-test('path iterator', function (t) {
- t.plan(2);
-
- var resolverDir = path.join(__dirname, 'resolver');
-
- var exactIterator = function (x, start, getPackageCandidates, opts) {
- return [path.join(resolverDir, x)];
- };
-
- resolve('baz', { packageIterator: exactIterator }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(resolverDir, 'baz/quux.js'));
- t.equal(pkg && pkg.name, 'baz');
- });
-});
-
-test('incorrect main', function (t) {
- t.plan(1);
-
- var resolverDir = path.join(__dirname, 'resolver');
- var dir = path.join(resolverDir, 'incorrect_main');
-
- resolve('./incorrect_main', { basedir: resolverDir }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'index.js'));
- });
-});
-
-test('missing index', function (t) {
- t.plan(2);
-
- var resolverDir = path.join(__dirname, 'resolver');
- resolve('./missing_index', { basedir: resolverDir }, function (err, res, pkg) {
- t.ok(err instanceof Error);
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
- });
-});
-
-test('missing main', function (t) {
- t.plan(1);
-
- var resolverDir = path.join(__dirname, 'resolver');
-
- resolve('./missing_main', { basedir: resolverDir }, function (err, res, pkg) {
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
- });
-});
-
-test('null main', function (t) {
- t.plan(1);
-
- var resolverDir = path.join(__dirname, 'resolver');
-
- resolve('./null_main', { basedir: resolverDir }, function (err, res, pkg) {
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
- });
-});
-
-test('main: false', function (t) {
- t.plan(2);
-
- var basedir = path.join(__dirname, 'resolver');
- var dir = path.join(basedir, 'false_main');
- resolve('./false_main', { basedir: basedir }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(
- res,
- path.join(dir, 'index.js'),
- '`"main": false`: resolves to `index.js`'
- );
- t.deepEqual(pkg, {
- name: 'false_main',
- main: false
- });
- });
-});
-
-test('without basedir', function (t) {
- t.plan(1);
-
- var dir = path.join(__dirname, 'resolver/without_basedir');
- var tester = require(path.join(dir, 'main.js')); // eslint-disable-line global-require
-
- tester(t, function (err, res, pkg) {
- if (err) {
- t.fail(err);
- } else {
- t.equal(res, path.join(dir, 'node_modules/mymodule.js'));
- }
- });
-});
-
-test('#52 - incorrectly resolves module-paths like "./someFolder/" when there is a file of the same name', function (t) {
- t.plan(2);
-
- var dir = path.join(__dirname, 'resolver');
-
- resolve('./foo', { basedir: path.join(dir, 'same_names') }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'same_names/foo.js'));
- });
-
- resolve('./foo/', { basedir: path.join(dir, 'same_names') }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'same_names/foo/index.js'));
- });
-});
-
-test('#211 - incorrectly resolves module-paths like "." when from inside a folder with a sibling file of the same name', function (t) {
- t.plan(2);
-
- var dir = path.join(__dirname, 'resolver');
-
- resolve('./', { basedir: path.join(dir, 'same_names/foo') }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'same_names/foo/index.js'));
- });
-
- resolve('.', { basedir: path.join(dir, 'same_names/foo') }, function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'same_names/foo/index.js'));
- });
-});
-
-test('async: #121 - treating an existing file as a dir when no basedir', function (t) {
- var testFile = path.basename(__filename);
-
- t.test('sanity check', function (st) {
- st.plan(1);
- resolve('./' + testFile, function (err, res, pkg) {
- if (err) t.fail(err);
- st.equal(res, __filename, 'sanity check');
- });
- });
-
- t.test('with a fake directory', function (st) {
- st.plan(4);
-
- resolve('./' + testFile + '/blah', function (err, res, pkg) {
- st.ok(err, 'there is an error');
- st.notOk(res, 'no result');
-
- st.equal(err && err.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve');
- st.equal(
- err && err.message,
- 'Cannot find module \'./' + testFile + '/blah\' from \'' + __dirname + '\'',
- 'can not find nonexistent module'
- );
- st.end();
- });
- });
-
- t.end();
-});
-
-test('async dot main', function (t) {
- var start = new Date();
- t.plan(3);
- resolve('./resolver/dot_main', function (err, ret) {
- t.notOk(err);
- t.equal(ret, path.join(__dirname, 'resolver/dot_main/index.js'));
- t.ok(new Date() - start < 50, 'resolve.sync timedout');
- t.end();
- });
-});
-
-test('async dot slash main', function (t) {
- var start = new Date();
- t.plan(3);
- resolve('./resolver/dot_slash_main', function (err, ret) {
- t.notOk(err);
- t.equal(ret, path.join(__dirname, 'resolver/dot_slash_main/index.js'));
- t.ok(new Date() - start < 50, 'resolve.sync timedout');
- t.end();
- });
-});
-
-test('not a directory', function (t) {
- t.plan(6);
- var path = './foo';
- resolve(path, { basedir: __filename }, function (err, res, pkg) {
- t.ok(err, 'a non-directory errors');
- t.equal(arguments.length, 1);
- t.equal(res, undefined);
- t.equal(pkg, undefined);
-
- t.equal(err && err.message, 'Cannot find module \'' + path + '\' from \'' + __filename + '\'');
- t.equal(err && err.code, 'MODULE_NOT_FOUND');
- });
-});
-
-test('non-string "main" field in package.json', function (t) {
- t.plan(5);
-
- var dir = path.join(__dirname, 'resolver');
- resolve('./invalid_main', { basedir: dir }, function (err, res, pkg) {
- t.ok(err, 'errors on non-string main');
- t.equal(err.message, 'package “invalid_main” `main` must be a string');
- t.equal(err.code, 'INVALID_PACKAGE_MAIN');
- t.equal(res, undefined, 'res is undefined');
- t.equal(pkg, undefined, 'pkg is undefined');
- });
-});
-
-test('non-string "main" field in package.json', function (t) {
- t.plan(5);
-
- var dir = path.join(__dirname, 'resolver');
- resolve('./invalid_main', { basedir: dir }, function (err, res, pkg) {
- t.ok(err, 'errors on non-string main');
- t.equal(err.message, 'package “invalid_main” `main` must be a string');
- t.equal(err.code, 'INVALID_PACKAGE_MAIN');
- t.equal(res, undefined, 'res is undefined');
- t.equal(pkg, undefined, 'pkg is undefined');
- });
-});
-
-test('browser field in package.json', function (t) {
- t.plan(3);
-
- var dir = path.join(__dirname, 'resolver');
- resolve(
- './browser_field',
- {
- basedir: dir,
- packageFilter: function packageFilter(pkg) {
- if (pkg.browser) {
- pkg.main = pkg.browser; // eslint-disable-line no-param-reassign
- delete pkg.browser; // eslint-disable-line no-param-reassign
- }
- return pkg;
- }
- },
- function (err, res, pkg) {
- if (err) t.fail(err);
- t.equal(res, path.join(dir, 'browser_field', 'b.js'));
- t.equal(pkg && pkg.main, 'b');
- t.equal(pkg && pkg.browser, undefined);
- }
- );
-});
-
-test('absolute paths', function (t) {
- t.plan(4);
-
- var extensionless = __filename.slice(0, -path.extname(__filename).length);
-
- resolve(__filename, function (err, res) {
- t.equal(
- res,
- __filename,
- 'absolute path to this file resolves'
- );
- });
- resolve(extensionless, function (err, res) {
- t.equal(
- res,
- __filename,
- 'extensionless absolute path to this file resolves'
- );
- });
- resolve(__filename, { basedir: process.cwd() }, function (err, res) {
- t.equal(
- res,
- __filename,
- 'absolute path to this file with a basedir resolves'
- );
- });
- resolve(extensionless, { basedir: process.cwd() }, function (err, res) {
- t.equal(
- res,
- __filename,
- 'extensionless absolute path to this file with a basedir resolves'
- );
- });
-});
-
-test('malformed package.json', function (t) {
- /* eslint operator-linebreak: ["error", "before"], function-paren-newline: "off" */
- t.plan(
- (3 * 3) // 3 sets of 3 assertions in the final callback
- + 2 // 1 readPackage call with malformed package.json
- );
-
- var basedir = path.join(__dirname, 'resolver/malformed_package_json');
- var expected = path.join(basedir, 'index.js');
-
- resolve('./index.js', { basedir: basedir }, function (err, res, pkg) {
- t.error(err, 'no error');
- t.equal(res, expected, 'malformed package.json is silently ignored');
- t.equal(pkg, undefined, 'malformed package.json gives an undefined `pkg` argument');
- });
-
- resolve(
- './index.js',
- {
- basedir: basedir,
- packageFilter: function (pkg, pkgfile, dir) {
- t.fail('should not reach here');
- }
- },
- function (err, res, pkg) {
- t.error(err, 'with packageFilter: no error');
- t.equal(res, expected, 'with packageFilter: malformed package.json is silently ignored');
- t.equal(pkg, undefined, 'with packageFilter: malformed package.json gives an undefined `pkg` argument');
- }
- );
-
- resolve(
- './index.js',
- {
- basedir: basedir,
- readPackage: function (readFile, pkgfile, cb) {
- t.equal(pkgfile, path.join(basedir, 'package.json'), 'readPackageSync: `pkgfile` is package.json path');
- readFile(pkgfile, function (err, result) {
- try {
- cb(null, JSON.parse(result));
- } catch (e) {
- t.ok(e instanceof SyntaxError, 'readPackage: malformed package.json parses as a syntax error');
- cb(null);
- }
- });
- }
- },
- function (err, res, pkg) {
- t.error(err, 'with readPackage: no error');
- t.equal(res, expected, 'with readPackage: malformed package.json is silently ignored');
- t.equal(pkg, undefined, 'with readPackage: malformed package.json gives an undefined `pkg` argument');
- }
- );
-});
diff --git a/includes/search/node_modules/resolve/test/resolver/baz/doom.js b/includes/search/node_modules/resolve/test/resolver/baz/doom.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/baz/doom.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/baz/package.json b/includes/search/node_modules/resolve/test/resolver/baz/package.json
deleted file mode 100644
index 2f77720..0000000
--- a/includes/search/node_modules/resolve/test/resolver/baz/package.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "baz",
- "main": "quux.js"
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/baz/quux.js b/includes/search/node_modules/resolve/test/resolver/baz/quux.js
deleted file mode 100644
index bd816ea..0000000
--- a/includes/search/node_modules/resolve/test/resolver/baz/quux.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 1;
diff --git a/includes/search/node_modules/resolve/test/resolver/browser_field/a.js b/includes/search/node_modules/resolve/test/resolver/browser_field/a.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/browser_field/a.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/browser_field/b.js b/includes/search/node_modules/resolve/test/resolver/browser_field/b.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/browser_field/b.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/browser_field/package.json b/includes/search/node_modules/resolve/test/resolver/browser_field/package.json
deleted file mode 100644
index bf406f0..0000000
--- a/includes/search/node_modules/resolve/test/resolver/browser_field/package.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "name": "browser_field",
- "main": "a",
- "browser": "b"
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/cup.coffee b/includes/search/node_modules/resolve/test/resolver/cup.coffee
deleted file mode 100644
index 8b13789..0000000
--- a/includes/search/node_modules/resolve/test/resolver/cup.coffee
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/includes/search/node_modules/resolve/test/resolver/dot_main/index.js b/includes/search/node_modules/resolve/test/resolver/dot_main/index.js
deleted file mode 100644
index bd816ea..0000000
--- a/includes/search/node_modules/resolve/test/resolver/dot_main/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 1;
diff --git a/includes/search/node_modules/resolve/test/resolver/dot_main/package.json b/includes/search/node_modules/resolve/test/resolver/dot_main/package.json
deleted file mode 100644
index d7f4fc8..0000000
--- a/includes/search/node_modules/resolve/test/resolver/dot_main/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "main": "."
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/dot_slash_main/index.js b/includes/search/node_modules/resolve/test/resolver/dot_slash_main/index.js
deleted file mode 100644
index bd816ea..0000000
--- a/includes/search/node_modules/resolve/test/resolver/dot_slash_main/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 1;
diff --git a/includes/search/node_modules/resolve/test/resolver/dot_slash_main/package.json b/includes/search/node_modules/resolve/test/resolver/dot_slash_main/package.json
deleted file mode 100644
index f51287b..0000000
--- a/includes/search/node_modules/resolve/test/resolver/dot_slash_main/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "main": "./"
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/false_main/index.js b/includes/search/node_modules/resolve/test/resolver/false_main/index.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/false_main/index.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/false_main/package.json b/includes/search/node_modules/resolve/test/resolver/false_main/package.json
deleted file mode 100644
index a7416c0..0000000
--- a/includes/search/node_modules/resolve/test/resolver/false_main/package.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "false_main",
- "main": false
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/foo.js b/includes/search/node_modules/resolve/test/resolver/foo.js
deleted file mode 100644
index bd816ea..0000000
--- a/includes/search/node_modules/resolve/test/resolver/foo.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 1;
diff --git a/includes/search/node_modules/resolve/test/resolver/incorrect_main/index.js b/includes/search/node_modules/resolve/test/resolver/incorrect_main/index.js
deleted file mode 100644
index bc1fb0a..0000000
--- a/includes/search/node_modules/resolve/test/resolver/incorrect_main/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// this is the actual main file 'index.js', not 'wrong.js' like the package.json would indicate
-module.exports = 1;
diff --git a/includes/search/node_modules/resolve/test/resolver/incorrect_main/package.json b/includes/search/node_modules/resolve/test/resolver/incorrect_main/package.json
deleted file mode 100644
index b718804..0000000
--- a/includes/search/node_modules/resolve/test/resolver/incorrect_main/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "main": "wrong.js"
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/invalid_main/package.json b/includes/search/node_modules/resolve/test/resolver/invalid_main/package.json
deleted file mode 100644
index 0590748..0000000
--- a/includes/search/node_modules/resolve/test/resolver/invalid_main/package.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "name": "invalid_main",
- "main": [
- "why is this a thing",
- "srsly omg wtf"
- ]
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/malformed_package_json/index.js b/includes/search/node_modules/resolve/test/resolver/malformed_package_json/index.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/malformed_package_json/index.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/malformed_package_json/package.json b/includes/search/node_modules/resolve/test/resolver/malformed_package_json/package.json
deleted file mode 100644
index 98232c6..0000000
--- a/includes/search/node_modules/resolve/test/resolver/malformed_package_json/package.json
+++ /dev/null
@@ -1 +0,0 @@
-{
diff --git a/includes/search/node_modules/resolve/test/resolver/mug.coffee b/includes/search/node_modules/resolve/test/resolver/mug.coffee
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/mug.coffee
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/mug.js b/includes/search/node_modules/resolve/test/resolver/mug.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/mug.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/multirepo/lerna.json b/includes/search/node_modules/resolve/test/resolver/multirepo/lerna.json
deleted file mode 100644
index d6707ca..0000000
--- a/includes/search/node_modules/resolve/test/resolver/multirepo/lerna.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "packages": [
- "packages/*"
- ],
- "version": "0.0.0"
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/multirepo/package.json b/includes/search/node_modules/resolve/test/resolver/multirepo/package.json
deleted file mode 100644
index 8508f9d..0000000
--- a/includes/search/node_modules/resolve/test/resolver/multirepo/package.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "monorepo-symlink-test",
- "private": true,
- "version": "0.0.0",
- "description": "",
- "main": "index.js",
- "scripts": {
- "postinstall": "lerna bootstrap",
- "test": "node packages/package-a"
- },
- "author": "",
- "license": "MIT",
- "dependencies": {
- "jquery": "^3.3.1",
- "resolve": "../../../"
- },
- "devDependencies": {
- "lerna": "^3.4.3"
- }
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js b/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js
deleted file mode 100644
index 8875a32..0000000
--- a/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js
+++ /dev/null
@@ -1,35 +0,0 @@
-'use strict';
-
-var assert = require('assert');
-var path = require('path');
-var resolve = require('resolve');
-
-var basedir = __dirname + '/node_modules/@my-scope/package-b';
-
-var expected = path.join(__dirname, '../../node_modules/jquery/dist/jquery.js');
-
-/*
- * preserveSymlinks === false
- * will search NPM package from
- * - packages/package-b/node_modules
- * - packages/node_modules
- * - node_modules
- */
-assert.equal(resolve.sync('jquery', { basedir: basedir, preserveSymlinks: false }), expected);
-assert.equal(resolve.sync('../../node_modules/jquery', { basedir: basedir, preserveSymlinks: false }), expected);
-
-/*
- * preserveSymlinks === true
- * will search NPM package from
- * - packages/package-a/node_modules/@my-scope/packages/package-b/node_modules
- * - packages/package-a/node_modules/@my-scope/packages/node_modules
- * - packages/package-a/node_modules/@my-scope/node_modules
- * - packages/package-a/node_modules/node_modules
- * - packages/package-a/node_modules
- * - packages/node_modules
- * - node_modules
- */
-assert.equal(resolve.sync('jquery', { basedir: basedir, preserveSymlinks: true }), expected);
-assert.equal(resolve.sync('../../../../../node_modules/jquery', { basedir: basedir, preserveSymlinks: true }), expected);
-
-console.log(' * all monorepo paths successfully resolved through symlinks');
diff --git a/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json b/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json
deleted file mode 100644
index 204de51..0000000
--- a/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": "@my-scope/package-a",
- "version": "0.0.0",
- "private": true,
- "description": "",
- "license": "MIT",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: run tests from root\" && exit 1"
- },
- "dependencies": {
- "@my-scope/package-b": "^0.0.0"
- }
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js b/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json b/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json
deleted file mode 100644
index f57c3b5..0000000
--- a/includes/search/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": "@my-scope/package-b",
- "private": true,
- "version": "0.0.0",
- "description": "",
- "license": "MIT",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: run tests from root\" && exit 1"
- },
- "dependencies": {
- "@my-scope/package-a": "^0.0.0"
- }
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js b/includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js
deleted file mode 100644
index 9b4846a..0000000
--- a/includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js
+++ /dev/null
@@ -1,26 +0,0 @@
-var a = require.resolve('buffer/').replace(process.cwd(), '$CWD');
-var b;
-var c;
-
-var test = function test() {
- console.log(a, ': require.resolve, preserveSymlinks ' + (process.execArgv.indexOf('preserve-symlinks') > -1 ? 'true' : 'false'));
- console.log(b, ': preserveSymlinks true');
- console.log(c, ': preserveSymlinks false');
-
- if (a !== b && a !== c) {
- throw 'async: no match';
- }
- console.log('async: success! a matched either b or c\n');
-};
-
-require('resolve')('buffer/', { preserveSymlinks: true }, function (err, result) {
- if (err) { throw err; }
- b = result.replace(process.cwd(), '$CWD');
- if (b && c) { test(); }
-});
-require('resolve')('buffer/', { preserveSymlinks: false }, function (err, result) {
- if (err) { throw err; }
- c = result.replace(process.cwd(), '$CWD');
- if (b && c) { test(); }
-});
-
diff --git a/includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json b/includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json
deleted file mode 100644
index acfe9e9..0000000
--- a/includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "mylib",
- "version": "0.0.0",
- "description": "",
- "private": true,
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "keywords": [],
- "author": "",
- "license": "ISC",
- "dependencies": {
- "buffer": "*"
- }
-}
diff --git a/includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js b/includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js
deleted file mode 100644
index 3283efc..0000000
--- a/includes/search/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var a = require.resolve('buffer/').replace(process.cwd(), '$CWD');
-var b = require('resolve').sync('buffer/', { preserveSymlinks: true }).replace(process.cwd(), '$CWD');
-var c = require('resolve').sync('buffer/', { preserveSymlinks: false }).replace(process.cwd(), '$CWD');
-
-console.log(a, ': require.resolve, preserveSymlinks ' + (process.execArgv.indexOf('preserve-symlinks') > -1 ? 'true' : 'false'));
-console.log(b, ': preserveSymlinks true');
-console.log(c, ': preserveSymlinks false');
-
-if (a !== b && a !== c) {
- throw 'sync: no match';
-}
-console.log('sync: success! a matched either b or c\n');
diff --git a/includes/search/node_modules/resolve/test/resolver/other_path/lib/other-lib.js b/includes/search/node_modules/resolve/test/resolver/other_path/lib/other-lib.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/other_path/lib/other-lib.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/other_path/root.js b/includes/search/node_modules/resolve/test/resolver/other_path/root.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/other_path/root.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/quux/foo/index.js b/includes/search/node_modules/resolve/test/resolver/quux/foo/index.js
deleted file mode 100644
index bd816ea..0000000
--- a/includes/search/node_modules/resolve/test/resolver/quux/foo/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 1;
diff --git a/includes/search/node_modules/resolve/test/resolver/same_names/foo.js b/includes/search/node_modules/resolve/test/resolver/same_names/foo.js
deleted file mode 100644
index 888cae3..0000000
--- a/includes/search/node_modules/resolve/test/resolver/same_names/foo.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 42;
diff --git a/includes/search/node_modules/resolve/test/resolver/same_names/foo/index.js b/includes/search/node_modules/resolve/test/resolver/same_names/foo/index.js
deleted file mode 100644
index bd816ea..0000000
--- a/includes/search/node_modules/resolve/test/resolver/same_names/foo/index.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 1;
diff --git a/includes/search/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js b/includes/search/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep b/includes/search/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/resolver/symlinked/package/bar.js b/includes/search/node_modules/resolve/test/resolver/symlinked/package/bar.js
deleted file mode 100644
index cb1c2c0..0000000
--- a/includes/search/node_modules/resolve/test/resolver/symlinked/package/bar.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 'bar';
diff --git a/includes/search/node_modules/resolve/test/resolver/symlinked/package/package.json b/includes/search/node_modules/resolve/test/resolver/symlinked/package/package.json
deleted file mode 100644
index 8e1b585..0000000
--- a/includes/search/node_modules/resolve/test/resolver/symlinked/package/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "main": "bar.js"
-} \ No newline at end of file
diff --git a/includes/search/node_modules/resolve/test/resolver/without_basedir/main.js b/includes/search/node_modules/resolve/test/resolver/without_basedir/main.js
deleted file mode 100644
index 5b31975..0000000
--- a/includes/search/node_modules/resolve/test/resolver/without_basedir/main.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var resolve = require('../../../');
-
-module.exports = function (t, cb) {
- resolve('mymodule', null, cb);
-};
diff --git a/includes/search/node_modules/resolve/test/resolver_sync.js b/includes/search/node_modules/resolve/test/resolver_sync.js
deleted file mode 100644
index 53453d6..0000000
--- a/includes/search/node_modules/resolve/test/resolver_sync.js
+++ /dev/null
@@ -1,726 +0,0 @@
-var path = require('path');
-var fs = require('fs');
-var test = require('tape');
-
-var resolve = require('../');
-var sync = require('../sync');
-
-var requireResolveSupportsPaths = require.resolve.length > 1
- && !(/^v12\.[012]\./).test(process.version); // broken in v12.0-12.2, see https://github.com/nodejs/node/issues/27794
-
-test('`./sync` entry point', function (t) {
- t.equal(resolve.sync, sync, '`./sync` entry point is the same as `.sync` on `main`');
- t.end();
-});
-
-test('foo', function (t) {
- var dir = path.join(__dirname, 'resolver');
-
- t.equal(
- resolve.sync('./foo', { basedir: dir }),
- path.join(dir, 'foo.js'),
- './foo'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./foo', { basedir: dir }),
- require.resolve('./foo', { paths: [dir] }),
- './foo: resolve.sync === require.resolve'
- );
- }
-
- t.equal(
- resolve.sync('./foo.js', { basedir: dir }),
- path.join(dir, 'foo.js'),
- './foo.js'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./foo.js', { basedir: dir }),
- require.resolve('./foo.js', { paths: [dir] }),
- './foo.js: resolve.sync === require.resolve'
- );
- }
-
- t.equal(
- resolve.sync('./foo.js', { basedir: dir, filename: path.join(dir, 'bar.js') }),
- path.join(dir, 'foo.js')
- );
-
- t.throws(function () {
- resolve.sync('foo', { basedir: dir });
- });
-
- // Test that filename is reported as the "from" value when passed.
- t.throws(
- function () {
- resolve.sync('foo', { basedir: dir, filename: path.join(dir, 'bar.js') });
- },
- {
- name: 'Error',
- message: "Cannot find module 'foo' from '" + path.join(dir, 'bar.js') + "'"
- }
- );
-
- t.end();
-});
-
-test('bar', function (t) {
- var dir = path.join(__dirname, 'resolver');
-
- var basedir = path.join(dir, 'bar');
-
- t.equal(
- resolve.sync('foo', { basedir: basedir }),
- path.join(dir, 'bar/node_modules/foo/index.js'),
- 'foo in bar'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('foo', { basedir: basedir }),
- require.resolve('foo', { paths: [basedir] }),
- 'foo in bar: resolve.sync === require.resolve'
- );
- }
-
- t.end();
-});
-
-test('baz', function (t) {
- var dir = path.join(__dirname, 'resolver');
-
- t.equal(
- resolve.sync('./baz', { basedir: dir }),
- path.join(dir, 'baz/quux.js'),
- './baz'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./baz', { basedir: dir }),
- require.resolve('./baz', { paths: [dir] }),
- './baz: resolve.sync === require.resolve'
- );
- }
-
- t.end();
-});
-
-test('biz', function (t) {
- var dir = path.join(__dirname, 'resolver/biz/node_modules');
-
- t.equal(
- resolve.sync('./grux', { basedir: dir }),
- path.join(dir, 'grux/index.js')
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./grux', { basedir: dir }),
- require.resolve('./grux', { paths: [dir] }),
- './grux: resolve.sync === require.resolve'
- );
- }
-
- var tivDir = path.join(dir, 'grux');
- t.equal(
- resolve.sync('tiv', { basedir: tivDir }),
- path.join(dir, 'tiv/index.js')
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('tiv', { basedir: tivDir }),
- require.resolve('tiv', { paths: [tivDir] }),
- 'tiv: resolve.sync === require.resolve'
- );
- }
-
- var gruxDir = path.join(dir, 'tiv');
- t.equal(
- resolve.sync('grux', { basedir: gruxDir }),
- path.join(dir, 'grux/index.js')
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('grux', { basedir: gruxDir }),
- require.resolve('grux', { paths: [gruxDir] }),
- 'grux: resolve.sync === require.resolve'
- );
- }
-
- t.end();
-});
-
-test('normalize', function (t) {
- var dir = path.join(__dirname, 'resolver/biz/node_modules/grux');
-
- t.equal(
- resolve.sync('../grux', { basedir: dir }),
- path.join(dir, 'index.js')
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('../grux', { basedir: dir }),
- require.resolve('../grux', { paths: [dir] }),
- '../grux: resolve.sync === require.resolve'
- );
- }
-
- t.end();
-});
-
-test('cup', function (t) {
- var dir = path.join(__dirname, 'resolver');
-
- t.equal(
- resolve.sync('./cup', {
- basedir: dir,
- extensions: ['.js', '.coffee']
- }),
- path.join(dir, 'cup.coffee'),
- './cup -> ./cup.coffee'
- );
-
- t.equal(
- resolve.sync('./cup.coffee', { basedir: dir }),
- path.join(dir, 'cup.coffee'),
- './cup.coffee'
- );
-
- t.throws(function () {
- resolve.sync('./cup', {
- basedir: dir,
- extensions: ['.js']
- });
- });
-
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./cup.coffee', { basedir: dir, extensions: ['.js', '.coffee'] }),
- require.resolve('./cup.coffee', { paths: [dir] }),
- './cup.coffee: resolve.sync === require.resolve'
- );
- }
-
- t.end();
-});
-
-test('mug', function (t) {
- var dir = path.join(__dirname, 'resolver');
-
- t.equal(
- resolve.sync('./mug', { basedir: dir }),
- path.join(dir, 'mug.js'),
- './mug -> ./mug.js'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./mug', { basedir: dir }),
- require.resolve('./mug', { paths: [dir] }),
- './mug: resolve.sync === require.resolve'
- );
- }
-
- t.equal(
- resolve.sync('./mug', {
- basedir: dir,
- extensions: ['.coffee', '.js']
- }),
- path.join(dir, 'mug.coffee'),
- './mug -> ./mug.coffee'
- );
-
- t.equal(
- resolve.sync('./mug', {
- basedir: dir,
- extensions: ['.js', '.coffee']
- }),
- path.join(dir, 'mug.js'),
- './mug -> ./mug.js'
- );
-
- t.end();
-});
-
-test('other path', function (t) {
- var resolverDir = path.join(__dirname, 'resolver');
- var dir = path.join(resolverDir, 'bar');
- var otherDir = path.join(resolverDir, 'other_path');
-
- t.equal(
- resolve.sync('root', {
- basedir: dir,
- paths: [otherDir]
- }),
- path.join(resolverDir, 'other_path/root.js')
- );
-
- t.equal(
- resolve.sync('lib/other-lib', {
- basedir: dir,
- paths: [otherDir]
- }),
- path.join(resolverDir, 'other_path/lib/other-lib.js')
- );
-
- t.throws(function () {
- resolve.sync('root', { basedir: dir });
- });
-
- t.throws(function () {
- resolve.sync('zzz', {
- basedir: dir,
- paths: [otherDir]
- });
- });
-
- t.end();
-});
-
-test('path iterator', function (t) {
- var resolverDir = path.join(__dirname, 'resolver');
-
- var exactIterator = function (x, start, getPackageCandidates, opts) {
- return [path.join(resolverDir, x)];
- };
-
- t.equal(
- resolve.sync('baz', { packageIterator: exactIterator }),
- path.join(resolverDir, 'baz/quux.js')
- );
-
- t.end();
-});
-
-test('incorrect main', function (t) {
- var resolverDir = path.join(__dirname, 'resolver');
- var dir = path.join(resolverDir, 'incorrect_main');
-
- t.equal(
- resolve.sync('./incorrect_main', { basedir: resolverDir }),
- path.join(dir, 'index.js')
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./incorrect_main', { basedir: resolverDir }),
- require.resolve('./incorrect_main', { paths: [resolverDir] }),
- './incorrect_main: resolve.sync === require.resolve'
- );
- }
-
- t.end();
-});
-
-test('missing index', function (t) {
- t.plan(requireResolveSupportsPaths ? 2 : 1);
-
- var resolverDir = path.join(__dirname, 'resolver');
- try {
- resolve.sync('./missing_index', { basedir: resolverDir });
- t.fail('did not fail');
- } catch (err) {
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
- }
- if (requireResolveSupportsPaths) {
- try {
- require.resolve('./missing_index', { basedir: resolverDir });
- t.fail('require.resolve did not fail');
- } catch (err) {
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
- }
- }
-});
-
-test('missing main', function (t) {
- var resolverDir = path.join(__dirname, 'resolver');
-
- try {
- resolve.sync('./missing_main', { basedir: resolverDir });
- t.fail('require.resolve did not fail');
- } catch (err) {
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
- }
- if (requireResolveSupportsPaths) {
- try {
- resolve.sync('./missing_main', { basedir: resolverDir });
- t.fail('require.resolve did not fail');
- } catch (err) {
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
- }
- }
-
- t.end();
-});
-
-test('null main', function (t) {
- var resolverDir = path.join(__dirname, 'resolver');
-
- try {
- resolve.sync('./null_main', { basedir: resolverDir });
- t.fail('require.resolve did not fail');
- } catch (err) {
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
- }
- if (requireResolveSupportsPaths) {
- try {
- resolve.sync('./null_main', { basedir: resolverDir });
- t.fail('require.resolve did not fail');
- } catch (err) {
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error has correct error code');
- }
- }
-
- t.end();
-});
-
-test('main: false', function (t) {
- var basedir = path.join(__dirname, 'resolver');
- var dir = path.join(basedir, 'false_main');
- t.equal(
- resolve.sync('./false_main', { basedir: basedir }),
- path.join(dir, 'index.js'),
- '`"main": false`: resolves to `index.js`'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./false_main', { basedir: basedir }),
- require.resolve('./false_main', { paths: [basedir] }),
- '`"main": false`: resolve.sync === require.resolve'
- );
- }
-
- t.end();
-});
-
-var stubStatSync = function stubStatSync(fn) {
- var statSync = fs.statSync;
- try {
- fs.statSync = function () {
- throw new EvalError('Unknown Error');
- };
- return fn();
- } finally {
- fs.statSync = statSync;
- }
-};
-
-test('#79 - re-throw non ENOENT errors from stat', function (t) {
- var dir = path.join(__dirname, 'resolver');
-
- stubStatSync(function () {
- t.throws(function () {
- resolve.sync('foo', { basedir: dir });
- }, /Unknown Error/);
- });
-
- t.end();
-});
-
-test('#52 - incorrectly resolves module-paths like "./someFolder/" when there is a file of the same name', function (t) {
- var dir = path.join(__dirname, 'resolver');
- var basedir = path.join(dir, 'same_names');
-
- t.equal(
- resolve.sync('./foo', { basedir: basedir }),
- path.join(dir, 'same_names/foo.js')
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./foo', { basedir: basedir }),
- require.resolve('./foo', { paths: [basedir] }),
- './foo: resolve.sync === require.resolve'
- );
- }
-
- t.equal(
- resolve.sync('./foo/', { basedir: basedir }),
- path.join(dir, 'same_names/foo/index.js')
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./foo/', { basedir: basedir }),
- require.resolve('./foo/', { paths: [basedir] }),
- './foo/: resolve.sync === require.resolve'
- );
- }
-
- t.end();
-});
-
-test('#211 - incorrectly resolves module-paths like "." when from inside a folder with a sibling file of the same name', function (t) {
- var dir = path.join(__dirname, 'resolver');
- var basedir = path.join(dir, 'same_names/foo');
-
- t.equal(
- resolve.sync('./', { basedir: basedir }),
- path.join(dir, 'same_names/foo/index.js'),
- './'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./', { basedir: basedir }),
- require.resolve('./', { paths: [basedir] }),
- './: resolve.sync === require.resolve'
- );
- }
-
- t.equal(
- resolve.sync('.', { basedir: basedir }),
- path.join(dir, 'same_names/foo/index.js'),
- '.'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('.', { basedir: basedir }),
- require.resolve('.', { paths: [basedir] }),
- '.: resolve.sync === require.resolve',
- { todo: true }
- );
- }
-
- t.end();
-});
-
-test('sync: #121 - treating an existing file as a dir when no basedir', function (t) {
- var testFile = path.basename(__filename);
-
- t.test('sanity check', function (st) {
- st.equal(
- resolve.sync('./' + testFile),
- __filename,
- 'sanity check'
- );
- st.equal(
- resolve.sync('./' + testFile),
- require.resolve('./' + testFile),
- 'sanity check: resolve.sync === require.resolve'
- );
-
- st.end();
- });
-
- t.test('with a fake directory', function (st) {
- function run() { return resolve.sync('./' + testFile + '/blah'); }
-
- st.throws(run, 'throws an error');
-
- try {
- run();
- } catch (e) {
- st.equal(e.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve');
- st.equal(
- e.message,
- 'Cannot find module \'./' + testFile + '/blah\' from \'' + __dirname + '\'',
- 'can not find nonexistent module'
- );
- }
-
- st.end();
- });
-
- t.end();
-});
-
-test('sync dot main', function (t) {
- var start = new Date();
-
- t.equal(
- resolve.sync('./resolver/dot_main'),
- path.join(__dirname, 'resolver/dot_main/index.js'),
- './resolver/dot_main'
- );
- t.equal(
- resolve.sync('./resolver/dot_main'),
- require.resolve('./resolver/dot_main'),
- './resolver/dot_main: resolve.sync === require.resolve'
- );
-
- t.ok(new Date() - start < 50, 'resolve.sync timedout');
-
- t.end();
-});
-
-test('sync dot slash main', function (t) {
- var start = new Date();
-
- t.equal(
- resolve.sync('./resolver/dot_slash_main'),
- path.join(__dirname, 'resolver/dot_slash_main/index.js')
- );
- t.equal(
- resolve.sync('./resolver/dot_slash_main'),
- require.resolve('./resolver/dot_slash_main'),
- './resolver/dot_slash_main: resolve.sync === require.resolve'
- );
-
- t.ok(new Date() - start < 50, 'resolve.sync timedout');
-
- t.end();
-});
-
-test('not a directory', function (t) {
- var path = './foo';
- try {
- resolve.sync(path, { basedir: __filename });
- t.fail();
- } catch (err) {
- t.ok(err, 'a non-directory errors');
- t.equal(err && err.message, 'Cannot find module \'' + path + "' from '" + __filename + "'");
- t.equal(err && err.code, 'MODULE_NOT_FOUND');
- }
- t.end();
-});
-
-test('non-string "main" field in package.json', function (t) {
- var dir = path.join(__dirname, 'resolver');
- try {
- var result = resolve.sync('./invalid_main', { basedir: dir });
- t.equal(result, undefined, 'result should not exist');
- t.fail('should not get here');
- } catch (err) {
- t.ok(err, 'errors on non-string main');
- t.equal(err.message, 'package “invalid_main” `main` must be a string');
- t.equal(err.code, 'INVALID_PACKAGE_MAIN');
- }
- t.end();
-});
-
-test('non-string "main" field in package.json', function (t) {
- var dir = path.join(__dirname, 'resolver');
- try {
- var result = resolve.sync('./invalid_main', { basedir: dir });
- t.equal(result, undefined, 'result should not exist');
- t.fail('should not get here');
- } catch (err) {
- t.ok(err, 'errors on non-string main');
- t.equal(err.message, 'package “invalid_main” `main` must be a string');
- t.equal(err.code, 'INVALID_PACKAGE_MAIN');
- }
- t.end();
-});
-
-test('browser field in package.json', function (t) {
- var dir = path.join(__dirname, 'resolver');
- var res = resolve.sync('./browser_field', {
- basedir: dir,
- packageFilter: function packageFilter(pkg) {
- if (pkg.browser) {
- pkg.main = pkg.browser; // eslint-disable-line no-param-reassign
- delete pkg.browser; // eslint-disable-line no-param-reassign
- }
- return pkg;
- }
- });
- t.equal(res, path.join(dir, 'browser_field', 'b.js'));
- t.end();
-});
-
-test('absolute paths', function (t) {
- var extensionless = __filename.slice(0, -path.extname(__filename).length);
-
- t.equal(
- resolve.sync(__filename),
- __filename,
- 'absolute path to this file resolves'
- );
- t.equal(
- resolve.sync(__filename),
- require.resolve(__filename),
- 'absolute path to this file: resolve.sync === require.resolve'
- );
-
- t.equal(
- resolve.sync(extensionless),
- __filename,
- 'extensionless absolute path to this file resolves'
- );
- t.equal(
- resolve.sync(__filename),
- require.resolve(__filename),
- 'absolute path to this file: resolve.sync === require.resolve'
- );
-
- t.equal(
- resolve.sync(__filename, { basedir: process.cwd() }),
- __filename,
- 'absolute path to this file with a basedir resolves'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync(__filename, { basedir: process.cwd() }),
- require.resolve(__filename, { paths: [process.cwd()] }),
- 'absolute path to this file + basedir: resolve.sync === require.resolve'
- );
- }
-
- t.equal(
- resolve.sync(extensionless, { basedir: process.cwd() }),
- __filename,
- 'extensionless absolute path to this file with a basedir resolves'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync(extensionless, { basedir: process.cwd() }),
- require.resolve(extensionless, { paths: [process.cwd()] }),
- 'extensionless absolute path to this file + basedir: resolve.sync === require.resolve'
- );
- }
-
- t.end();
-});
-
-test('malformed package.json', function (t) {
- t.plan(5 + (requireResolveSupportsPaths ? 1 : 0));
-
- var basedir = path.join(__dirname, 'resolver/malformed_package_json');
- var expected = path.join(basedir, 'index.js');
-
- t.equal(
- resolve.sync('./index.js', { basedir: basedir }),
- expected,
- 'malformed package.json is silently ignored'
- );
- if (requireResolveSupportsPaths) {
- t.equal(
- resolve.sync('./index.js', { basedir: basedir }),
- require.resolve('./index.js', { paths: [basedir] }),
- 'malformed package.json: resolve.sync === require.resolve'
- );
- }
-
- var res1 = resolve.sync(
- './index.js',
- {
- basedir: basedir,
- packageFilter: function (pkg, pkgfile, dir) {
- t.fail('should not reach here');
- }
- }
- );
-
- t.equal(
- res1,
- expected,
- 'with packageFilter: malformed package.json is silently ignored'
- );
-
- var res2 = resolve.sync(
- './index.js',
- {
- basedir: basedir,
- readPackageSync: function (readFileSync, pkgfile) {
- t.equal(pkgfile, path.join(basedir, 'package.json'), 'readPackageSync: `pkgfile` is package.json path');
- var result = String(readFileSync(pkgfile));
- try {
- return JSON.parse(result);
- } catch (e) {
- t.ok(e instanceof SyntaxError, 'readPackageSync: malformed package.json parses as a syntax error');
- }
- }
- }
- );
-
- t.equal(
- res2,
- expected,
- 'with readPackageSync: malformed package.json is silently ignored'
- );
-});
diff --git a/includes/search/node_modules/resolve/test/shadowed_core.js b/includes/search/node_modules/resolve/test/shadowed_core.js
deleted file mode 100644
index 3a5f4fc..0000000
--- a/includes/search/node_modules/resolve/test/shadowed_core.js
+++ /dev/null
@@ -1,54 +0,0 @@
-var test = require('tape');
-var resolve = require('../');
-var path = require('path');
-
-test('shadowed core modules still return core module', function (t) {
- t.plan(2);
-
- resolve('util', { basedir: path.join(__dirname, 'shadowed_core') }, function (err, res) {
- t.ifError(err);
- t.equal(res, 'util');
- });
-});
-
-test('shadowed core modules still return core module [sync]', function (t) {
- t.plan(1);
-
- var res = resolve.sync('util', { basedir: path.join(__dirname, 'shadowed_core') });
-
- t.equal(res, 'util');
-});
-
-test('shadowed core modules return shadow when appending `/`', function (t) {
- t.plan(2);
-
- resolve('util/', { basedir: path.join(__dirname, 'shadowed_core') }, function (err, res) {
- t.ifError(err);
- t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js'));
- });
-});
-
-test('shadowed core modules return shadow when appending `/` [sync]', function (t) {
- t.plan(1);
-
- var res = resolve.sync('util/', { basedir: path.join(__dirname, 'shadowed_core') });
-
- t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js'));
-});
-
-test('shadowed core modules return shadow with `includeCoreModules: false`', function (t) {
- t.plan(2);
-
- resolve('util', { basedir: path.join(__dirname, 'shadowed_core'), includeCoreModules: false }, function (err, res) {
- t.ifError(err);
- t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js'));
- });
-});
-
-test('shadowed core modules return shadow with `includeCoreModules: false` [sync]', function (t) {
- t.plan(1);
-
- var res = resolve.sync('util', { basedir: path.join(__dirname, 'shadowed_core'), includeCoreModules: false });
-
- t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js'));
-});
diff --git a/includes/search/node_modules/resolve/test/shadowed_core/node_modules/util/index.js b/includes/search/node_modules/resolve/test/shadowed_core/node_modules/util/index.js
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/resolve/test/shadowed_core/node_modules/util/index.js
+++ /dev/null
diff --git a/includes/search/node_modules/resolve/test/subdirs.js b/includes/search/node_modules/resolve/test/subdirs.js
deleted file mode 100644
index b7b8450..0000000
--- a/includes/search/node_modules/resolve/test/subdirs.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var test = require('tape');
-var resolve = require('../');
-var path = require('path');
-
-test('subdirs', function (t) {
- t.plan(2);
-
- var dir = path.join(__dirname, '/subdirs');
- resolve('a/b/c/x.json', { basedir: dir }, function (err, res) {
- t.ifError(err);
- t.equal(res, path.join(dir, 'node_modules/a/b/c/x.json'));
- });
-});
diff --git a/includes/search/node_modules/resolve/test/symlinks.js b/includes/search/node_modules/resolve/test/symlinks.js
deleted file mode 100644
index 35f881a..0000000
--- a/includes/search/node_modules/resolve/test/symlinks.js
+++ /dev/null
@@ -1,176 +0,0 @@
-var path = require('path');
-var fs = require('fs');
-var test = require('tape');
-var map = require('array.prototype.map');
-var resolve = require('../');
-
-var symlinkDir = path.join(__dirname, 'resolver', 'symlinked', 'symlink');
-var packageDir = path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'package');
-var modADir = path.join(__dirname, 'symlinks', 'source', 'node_modules', 'mod-a');
-var symlinkModADir = path.join(__dirname, 'symlinks', 'dest', 'node_modules', 'mod-a');
-try {
- fs.unlinkSync(symlinkDir);
-} catch (err) {}
-try {
- fs.unlinkSync(packageDir);
-} catch (err) {}
-try {
- fs.unlinkSync(modADir);
-} catch (err) {}
-try {
- fs.unlinkSync(symlinkModADir);
-} catch (err) {}
-
-try {
- fs.symlinkSync('./_/symlink_target', symlinkDir, 'dir');
-} catch (err) {
- // if fails then it is probably on Windows and lets try to create a junction
- fs.symlinkSync(path.join(__dirname, 'resolver', 'symlinked', '_', 'symlink_target') + '\\', symlinkDir, 'junction');
-}
-try {
- fs.symlinkSync('../../package', packageDir, 'dir');
-} catch (err) {
- // if fails then it is probably on Windows and lets try to create a junction
- fs.symlinkSync(path.join(__dirname, '..', '..', 'package') + '\\', packageDir, 'junction');
-}
-try {
- fs.symlinkSync('../../source/node_modules/mod-a', symlinkModADir, 'dir');
-} catch (err) {
- // if fails then it is probably on Windows and lets try to create a junction
- fs.symlinkSync(path.join(__dirname, '..', '..', 'source', 'node_modules', 'mod-a') + '\\', symlinkModADir, 'junction');
-}
-
-test('symlink', function (t) {
- t.plan(2);
-
- resolve('foo', { basedir: symlinkDir, preserveSymlinks: false }, function (err, res, pkg) {
- t.error(err);
- t.equal(res, path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'foo.js'));
- });
-});
-
-test('sync symlink when preserveSymlinks = true', function (t) {
- t.plan(4);
-
- resolve('foo', { basedir: symlinkDir }, function (err, res, pkg) {
- t.ok(err, 'there is an error');
- t.notOk(res, 'no result');
-
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve');
- t.equal(
- err && err.message,
- 'Cannot find module \'foo\' from \'' + symlinkDir + '\'',
- 'can not find nonexistent module'
- );
- });
-});
-
-test('sync symlink', function (t) {
- var start = new Date();
- t.doesNotThrow(function () {
- t.equal(
- resolve.sync('foo', { basedir: symlinkDir, preserveSymlinks: false }),
- path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'foo.js')
- );
- });
- t.ok(new Date() - start < 50, 'resolve.sync timedout');
- t.end();
-});
-
-test('sync symlink when preserveSymlinks = true', function (t) {
- t.throws(function () {
- resolve.sync('foo', { basedir: symlinkDir });
- }, /Cannot find module 'foo'/);
- t.end();
-});
-
-test('sync symlink from node_modules to other dir when preserveSymlinks = false', function (t) {
- var basedir = path.join(__dirname, 'resolver', 'symlinked', '_');
- var fn = resolve.sync('package', { basedir: basedir, preserveSymlinks: false });
-
- t.equal(fn, path.resolve(__dirname, 'resolver/symlinked/package/bar.js'));
- t.end();
-});
-
-test('async symlink from node_modules to other dir when preserveSymlinks = false', function (t) {
- t.plan(2);
- var basedir = path.join(__dirname, 'resolver', 'symlinked', '_');
- resolve('package', { basedir: basedir, preserveSymlinks: false }, function (err, result) {
- t.notOk(err, 'no error');
- t.equal(result, path.resolve(__dirname, 'resolver/symlinked/package/bar.js'));
- });
-});
-
-test('packageFilter', function (t) {
- function relative(x) {
- return path.relative(__dirname, x);
- }
-
- function testPackageFilter(preserveSymlinks) {
- return function (st) {
- st.plan('is 1.x' ? 3 : 5); // eslint-disable-line no-constant-condition
-
- var destMain = 'symlinks/dest/node_modules/mod-a/index.js';
- var destPkg = 'symlinks/dest/node_modules/mod-a/package.json';
- var sourceMain = 'symlinks/source/node_modules/mod-a/index.js';
- var sourcePkg = 'symlinks/source/node_modules/mod-a/package.json';
- var destDir = path.join(__dirname, 'symlinks', 'dest');
-
- /* eslint multiline-comment-style: 0 */
- /* v2.x will restore these tests
- var packageFilterPath = [];
- var actualPath = resolve.sync('mod-a', {
- basedir: destDir,
- preserveSymlinks: preserveSymlinks,
- packageFilter: function (pkg, pkgfile, dir) {
- packageFilterPath.push(pkgfile);
- }
- });
- st.equal(
- relative(actualPath),
- path.normalize(preserveSymlinks ? destMain : sourceMain),
- 'sync: actual path is correct'
- );
- st.deepEqual(
- map(packageFilterPath, relative),
- map(preserveSymlinks ? [destPkg, destPkg] : [sourcePkg, sourcePkg], path.normalize),
- 'sync: packageFilter pkgfile arg is correct'
- );
- */
-
- var asyncPackageFilterPath = [];
- resolve(
- 'mod-a',
- {
- basedir: destDir,
- preserveSymlinks: preserveSymlinks,
- packageFilter: function (pkg, pkgfile) {
- asyncPackageFilterPath.push(pkgfile);
- }
- },
- function (err, actualPath) {
- st.error(err, 'no error');
- st.equal(
- relative(actualPath),
- path.normalize(preserveSymlinks ? destMain : sourceMain),
- 'async: actual path is correct'
- );
- st.deepEqual(
- map(asyncPackageFilterPath, relative),
- map(
- preserveSymlinks ? [destPkg, destPkg, destPkg] : [sourcePkg, sourcePkg, sourcePkg],
- path.normalize
- ),
- 'async: packageFilter pkgfile arg is correct'
- );
- }
- );
- };
- }
-
- t.test('preserveSymlinks: false', testPackageFilter(false));
-
- t.test('preserveSymlinks: true', testPackageFilter(true));
-
- t.end();
-});
diff --git a/includes/search/node_modules/reusify/.coveralls.yml b/includes/search/node_modules/reusify/.coveralls.yml
deleted file mode 100644
index 359f683..0000000
--- a/includes/search/node_modules/reusify/.coveralls.yml
+++ /dev/null
@@ -1 +0,0 @@
-repo_token: yIxhFqtaaz5iGVYfie9mODehFYogm8S8L
diff --git a/includes/search/node_modules/reusify/.travis.yml b/includes/search/node_modules/reusify/.travis.yml
deleted file mode 100644
index 1970476..0000000
--- a/includes/search/node_modules/reusify/.travis.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-language: node_js
-sudo: false
-
-node_js:
- - 9
- - 8
- - 7
- - 6
- - 5
- - 4
- - 4.0
- - iojs-v3
- - iojs-v2
- - iojs-v1
- - 0.12
- - 0.10
-
-cache:
- directories:
- - node_modules
-
-after_script:
-- npm run coverage
-
-notifications:
- email:
- on_success: never
- on_failure: always
diff --git a/includes/search/node_modules/reusify/LICENSE b/includes/search/node_modules/reusify/LICENSE
deleted file mode 100644
index fbf3a01..0000000
--- a/includes/search/node_modules/reusify/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Matteo Collina
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
diff --git a/includes/search/node_modules/reusify/README.md b/includes/search/node_modules/reusify/README.md
deleted file mode 100644
index badcb7c..0000000
--- a/includes/search/node_modules/reusify/README.md
+++ /dev/null
@@ -1,145 +0,0 @@
-# reusify
-
-[![npm version][npm-badge]][npm-url]
-[![Build Status][travis-badge]][travis-url]
-[![Coverage Status][coveralls-badge]][coveralls-url]
-
-Reuse your objects and functions for maximum speed. This technique will
-make any function run ~10% faster. You call your functions a
-lot, and it adds up quickly in hot code paths.
-
-```
-$ node benchmarks/createNoCodeFunction.js
-Total time 53133
-Total iterations 100000000
-Iteration/s 1882069.5236482036
-
-$ node benchmarks/reuseNoCodeFunction.js
-Total time 50617
-Total iterations 100000000
-Iteration/s 1975620.838848608
-```
-
-The above benchmark uses fibonacci to simulate a real high-cpu load.
-The actual numbers might differ for your use case, but the difference
-should not.
-
-The benchmark was taken using Node v6.10.0.
-
-This library was extracted from
-[fastparallel](http://npm.im/fastparallel).
-
-## Example
-
-```js
-var reusify = require('reusify')
-var fib = require('reusify/benchmarks/fib')
-var instance = reusify(MyObject)
-
-// get an object from the cache,
-// or creates a new one when cache is empty
-var obj = instance.get()
-
-// set the state
-obj.num = 100
-obj.func()
-
-// reset the state.
-// if the state contains any external object
-// do not use delete operator (it is slow)
-// prefer set them to null
-obj.num = 0
-
-// store an object in the cache
-instance.release(obj)
-
-function MyObject () {
- // you need to define this property
- // so V8 can compile MyObject into an
- // hidden class
- this.next = null
- this.num = 0
-
- var that = this
-
- // this function is never reallocated,
- // so it can be optimized by V8
- this.func = function () {
- if (null) {
- // do nothing
- } else {
- // calculates fibonacci
- fib(that.num)
- }
- }
-}
-```
-
-The above example was intended for synchronous code, let's see async:
-```js
-var reusify = require('reusify')
-var instance = reusify(MyObject)
-
-for (var i = 0; i < 100; i++) {
- getData(i, console.log)
-}
-
-function getData (value, cb) {
- var obj = instance.get()
-
- obj.value = value
- obj.cb = cb
- obj.run()
-}
-
-function MyObject () {
- this.next = null
- this.value = null
-
- var that = this
-
- this.run = function () {
- asyncOperation(that.value, that.handle)
- }
-
- this.handle = function (err, result) {
- that.cb(err, result)
- that.value = null
- that.cb = null
- instance.release(that)
- }
-}
-```
-
-Also note how in the above examples, the code, that consumes an istance of `MyObject`,
-reset the state to initial condition, just before storing it in the cache.
-That's needed so that every subsequent request for an instance from the cache,
-could get a clean instance.
-
-## Why
-
-It is faster because V8 doesn't have to collect all the functions you
-create. On a short-lived benchmark, it is as fast as creating the
-nested function, but on a longer time frame it creates less
-pressure on the garbage collector.
-
-## Other examples
-If you want to see some complex example, checkout [middie](https://github.com/fastify/middie) and [steed](https://github.com/mcollina/steed).
-
-## Acknowledgements
-
-Thanks to [Trevor Norris](https://github.com/trevnorris) for
-getting me down the rabbit hole of performance, and thanks to [Mathias
-Buss](http://github.com/mafintosh) for suggesting me to share this
-trick.
-
-## License
-
-MIT
-
-[npm-badge]: https://badge.fury.io/js/reusify.svg
-[npm-url]: https://badge.fury.io/js/reusify
-[travis-badge]: https://api.travis-ci.org/mcollina/reusify.svg
-[travis-url]: https://travis-ci.org/mcollina/reusify
-[coveralls-badge]: https://coveralls.io/repos/mcollina/reusify/badge.svg?branch=master&service=github
-[coveralls-url]: https://coveralls.io/github/mcollina/reusify?branch=master
diff --git a/includes/search/node_modules/reusify/benchmarks/createNoCodeFunction.js b/includes/search/node_modules/reusify/benchmarks/createNoCodeFunction.js
deleted file mode 100644
index ce1aac7..0000000
--- a/includes/search/node_modules/reusify/benchmarks/createNoCodeFunction.js
+++ /dev/null
@@ -1,30 +0,0 @@
-'use strict'
-
-var fib = require('./fib')
-var max = 100000000
-var start = Date.now()
-
-// create a funcion with the typical error
-// pattern, that delegates the heavy load
-// to something else
-function createNoCodeFunction () {
- /* eslint no-constant-condition: "off" */
- var num = 100
-
- ;(function () {
- if (null) {
- // do nothing
- } else {
- fib(num)
- }
- })()
-}
-
-for (var i = 0; i < max; i++) {
- createNoCodeFunction()
-}
-
-var time = Date.now() - start
-console.log('Total time', time)
-console.log('Total iterations', max)
-console.log('Iteration/s', max / time * 1000)
diff --git a/includes/search/node_modules/reusify/benchmarks/fib.js b/includes/search/node_modules/reusify/benchmarks/fib.js
deleted file mode 100644
index e22cc48..0000000
--- a/includes/search/node_modules/reusify/benchmarks/fib.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict'
-
-function fib (num) {
- var fib = []
-
- fib[0] = 0
- fib[1] = 1
- for (var i = 2; i <= num; i++) {
- fib[i] = fib[i - 2] + fib[i - 1]
- }
-}
-
-module.exports = fib
diff --git a/includes/search/node_modules/reusify/benchmarks/reuseNoCodeFunction.js b/includes/search/node_modules/reusify/benchmarks/reuseNoCodeFunction.js
deleted file mode 100644
index 3358d6e..0000000
--- a/includes/search/node_modules/reusify/benchmarks/reuseNoCodeFunction.js
+++ /dev/null
@@ -1,38 +0,0 @@
-'use strict'
-
-var reusify = require('../')
-var fib = require('./fib')
-var instance = reusify(MyObject)
-var max = 100000000
-var start = Date.now()
-
-function reuseNoCodeFunction () {
- var obj = instance.get()
- obj.num = 100
- obj.func()
- obj.num = 0
- instance.release(obj)
-}
-
-function MyObject () {
- this.next = null
- var that = this
- this.num = 0
- this.func = function () {
- /* eslint no-constant-condition: "off" */
- if (null) {
- // do nothing
- } else {
- fib(that.num)
- }
- }
-}
-
-for (var i = 0; i < max; i++) {
- reuseNoCodeFunction()
-}
-
-var time = Date.now() - start
-console.log('Total time', time)
-console.log('Total iterations', max)
-console.log('Iteration/s', max / time * 1000)
diff --git a/includes/search/node_modules/reusify/package.json b/includes/search/node_modules/reusify/package.json
deleted file mode 100644
index ee66aee..0000000
--- a/includes/search/node_modules/reusify/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "reusify",
- "version": "1.0.4",
- "description": "Reuse objects and functions with style",
- "main": "reusify.js",
- "scripts": {
- "lint": "standard",
- "test": "tape test.js | faucet",
- "istanbul": "istanbul cover tape test.js",
- "coverage": "npm run istanbul; cat coverage/lcov.info | coveralls"
- },
- "pre-commit": [
- "lint",
- "test"
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mcollina/reusify.git"
- },
- "keywords": [
- "reuse",
- "object",
- "performance",
- "function",
- "fast"
- ],
- "author": "Matteo Collina <hello@matteocollina.com>",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/mcollina/reusify/issues"
- },
- "homepage": "https://github.com/mcollina/reusify#readme",
- "engines": {
- "node": ">=0.10.0",
- "iojs": ">=1.0.0"
- },
- "devDependencies": {
- "coveralls": "^2.13.3",
- "faucet": "0.0.1",
- "istanbul": "^0.4.5",
- "pre-commit": "^1.2.2",
- "standard": "^10.0.3",
- "tape": "^4.8.0"
- }
-}
diff --git a/includes/search/node_modules/reusify/reusify.js b/includes/search/node_modules/reusify/reusify.js
deleted file mode 100644
index e6f36f3..0000000
--- a/includes/search/node_modules/reusify/reusify.js
+++ /dev/null
@@ -1,33 +0,0 @@
-'use strict'
-
-function reusify (Constructor) {
- var head = new Constructor()
- var tail = head
-
- function get () {
- var current = head
-
- if (current.next) {
- head = current.next
- } else {
- head = new Constructor()
- tail = head
- }
-
- current.next = null
-
- return current
- }
-
- function release (obj) {
- tail.next = obj
- tail = obj
- }
-
- return {
- get: get,
- release: release
- }
-}
-
-module.exports = reusify
diff --git a/includes/search/node_modules/reusify/test.js b/includes/search/node_modules/reusify/test.js
deleted file mode 100644
index 929cfd7..0000000
--- a/includes/search/node_modules/reusify/test.js
+++ /dev/null
@@ -1,66 +0,0 @@
-'use strict'
-
-var test = require('tape')
-var reusify = require('./')
-
-test('reuse objects', function (t) {
- t.plan(6)
-
- function MyObject () {
- t.pass('constructor called')
- this.next = null
- }
-
- var instance = reusify(MyObject)
- var obj = instance.get()
-
- t.notEqual(obj, instance.get(), 'two instance created')
- t.notOk(obj.next, 'next must be null')
-
- instance.release(obj)
-
- // the internals keeps a hot copy ready for reuse
- // putting this one back in the queue
- instance.release(instance.get())
-
- // comparing the old one with the one we got
- // never do this in real code, after release you
- // should never reuse that instance
- t.equal(obj, instance.get(), 'instance must be reused')
-})
-
-test('reuse more than 2 objects', function (t) {
- function MyObject () {
- t.pass('constructor called')
- this.next = null
- }
-
- var instance = reusify(MyObject)
- var obj = instance.get()
- var obj2 = instance.get()
- var obj3 = instance.get()
-
- t.notOk(obj.next, 'next must be null')
- t.notOk(obj2.next, 'next must be null')
- t.notOk(obj3.next, 'next must be null')
-
- t.notEqual(obj, obj2)
- t.notEqual(obj, obj3)
- t.notEqual(obj3, obj2)
-
- instance.release(obj)
- instance.release(obj2)
- instance.release(obj3)
-
- // skip one
- instance.get()
-
- var obj4 = instance.get()
- var obj5 = instance.get()
- var obj6 = instance.get()
-
- t.equal(obj4, obj)
- t.equal(obj5, obj2)
- t.equal(obj6, obj3)
- t.end()
-})
diff --git a/includes/search/node_modules/run-parallel/LICENSE b/includes/search/node_modules/run-parallel/LICENSE
deleted file mode 100644
index c7e6852..0000000
--- a/includes/search/node_modules/run-parallel/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Feross Aboukhadijeh
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/run-parallel/README.md b/includes/search/node_modules/run-parallel/README.md
deleted file mode 100644
index edc3da4..0000000
--- a/includes/search/node_modules/run-parallel/README.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# run-parallel [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[travis-image]: https://img.shields.io/travis/feross/run-parallel/master.svg
-[travis-url]: https://travis-ci.org/feross/run-parallel
-[npm-image]: https://img.shields.io/npm/v/run-parallel.svg
-[npm-url]: https://npmjs.org/package/run-parallel
-[downloads-image]: https://img.shields.io/npm/dm/run-parallel.svg
-[downloads-url]: https://npmjs.org/package/run-parallel
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-### Run an array of functions in parallel
-
-![parallel](https://raw.githubusercontent.com/feross/run-parallel/master/img.png) [![Sauce Test Status](https://saucelabs.com/browser-matrix/run-parallel.svg)](https://saucelabs.com/u/run-parallel)
-
-### install
-
-```
-npm install run-parallel
-```
-
-### usage
-
-#### parallel(tasks, [callback])
-
-Run the `tasks` array of functions in parallel, without waiting until the previous
-function has completed. If any of the functions pass an error to its callback, the main
-`callback` is immediately called with the value of the error. Once the `tasks` have
-completed, the results are passed to the final `callback` as an array.
-
-It is also possible to use an object instead of an array. Each property will be run as a
-function and the results will be passed to the final `callback` as an object instead of
-an array. This can be a more readable way of handling the results.
-
-##### arguments
-
-- `tasks` - An array or object containing functions to run. Each function is passed a
-`callback(err, result)` which it must call on completion with an error `err` (which can
-be `null`) and an optional `result` value.
-- `callback(err, results)` - An optional callback to run once all the functions have
-completed. This function gets a results array (or object) containing all the result
-arguments passed to the task callbacks.
-
-##### example
-
-```js
-var parallel = require('run-parallel')
-
-parallel([
- function (callback) {
- setTimeout(function () {
- callback(null, 'one')
- }, 200)
- },
- function (callback) {
- setTimeout(function () {
- callback(null, 'two')
- }, 100)
- }
-],
-// optional callback
-function (err, results) {
- // the results array will equal ['one','two'] even though
- // the second function had a shorter timeout.
-})
-```
-
-This module is basically equavalent to
-[`async.parallel`](https://github.com/caolan/async#paralleltasks-callback), but it's
-handy to just have the one function you need instead of the kitchen sink. Modularity!
-Especially handy if you're serving to the browser and need to reduce your javascript
-bundle size.
-
-Works great in the browser with [browserify](http://browserify.org/)!
-
-### see also
-
-- [run-auto](https://github.com/feross/run-auto)
-- [run-parallel-limit](https://github.com/feross/run-parallel-limit)
-- [run-series](https://github.com/feross/run-series)
-- [run-waterfall](https://github.com/feross/run-waterfall)
-
-### license
-
-MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org).
diff --git a/includes/search/node_modules/run-parallel/index.js b/includes/search/node_modules/run-parallel/index.js
deleted file mode 100644
index 6307141..0000000
--- a/includes/search/node_modules/run-parallel/index.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*! run-parallel. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
-module.exports = runParallel
-
-const queueMicrotask = require('queue-microtask')
-
-function runParallel (tasks, cb) {
- let results, pending, keys
- let isSync = true
-
- if (Array.isArray(tasks)) {
- results = []
- pending = tasks.length
- } else {
- keys = Object.keys(tasks)
- results = {}
- pending = keys.length
- }
-
- function done (err) {
- function end () {
- if (cb) cb(err, results)
- cb = null
- }
- if (isSync) queueMicrotask(end)
- else end()
- }
-
- function each (i, err, result) {
- results[i] = result
- if (--pending === 0 || err) {
- done(err)
- }
- }
-
- if (!pending) {
- // empty
- done(null)
- } else if (keys) {
- // object
- keys.forEach(function (key) {
- tasks[key](function (err, result) { each(key, err, result) })
- })
- } else {
- // array
- tasks.forEach(function (task, i) {
- task(function (err, result) { each(i, err, result) })
- })
- }
-
- isSync = false
-}
diff --git a/includes/search/node_modules/run-parallel/package.json b/includes/search/node_modules/run-parallel/package.json
deleted file mode 100644
index 1f14757..0000000
--- a/includes/search/node_modules/run-parallel/package.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "name": "run-parallel",
- "description": "Run an array of functions in parallel",
- "version": "1.2.0",
- "author": {
- "name": "Feross Aboukhadijeh",
- "email": "feross@feross.org",
- "url": "https://feross.org"
- },
- "bugs": {
- "url": "https://github.com/feross/run-parallel/issues"
- },
- "dependencies": {
- "queue-microtask": "^1.2.2"
- },
- "devDependencies": {
- "airtap": "^3.0.0",
- "standard": "*",
- "tape": "^5.0.1"
- },
- "homepage": "https://github.com/feross/run-parallel",
- "keywords": [
- "parallel",
- "async",
- "function",
- "callback",
- "asynchronous",
- "run",
- "array",
- "run parallel"
- ],
- "license": "MIT",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/feross/run-parallel.git"
- },
- "scripts": {
- "test": "standard && npm run test-node && npm run test-browser",
- "test-browser": "airtap -- test/*.js",
- "test-browser-local": "airtap --local -- test/*.js",
- "test-node": "tape test/*.js"
- },
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
-}
diff --git a/includes/search/node_modules/safe-buffer/LICENSE b/includes/search/node_modules/safe-buffer/LICENSE
deleted file mode 100644
index 0c068ce..0000000
--- a/includes/search/node_modules/safe-buffer/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Feross Aboukhadijeh
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/safe-buffer/README.md b/includes/search/node_modules/safe-buffer/README.md
deleted file mode 100644
index e9a81af..0000000
--- a/includes/search/node_modules/safe-buffer/README.md
+++ /dev/null
@@ -1,584 +0,0 @@
-# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[travis-image]: https://img.shields.io/travis/feross/safe-buffer/master.svg
-[travis-url]: https://travis-ci.org/feross/safe-buffer
-[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg
-[npm-url]: https://npmjs.org/package/safe-buffer
-[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg
-[downloads-url]: https://npmjs.org/package/safe-buffer
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-#### Safer Node.js Buffer API
-
-**Use the new Node.js Buffer APIs (`Buffer.from`, `Buffer.alloc`,
-`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in all versions of Node.js.**
-
-**Uses the built-in implementation when available.**
-
-## install
-
-```
-npm install safe-buffer
-```
-
-## usage
-
-The goal of this package is to provide a safe replacement for the node.js `Buffer`.
-
-It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to
-the top of your node.js modules:
-
-```js
-var Buffer = require('safe-buffer').Buffer
-
-// Existing buffer code will continue to work without issues:
-
-new Buffer('hey', 'utf8')
-new Buffer([1, 2, 3], 'utf8')
-new Buffer(obj)
-new Buffer(16) // create an uninitialized buffer (potentially unsafe)
-
-// But you can use these new explicit APIs to make clear what you want:
-
-Buffer.from('hey', 'utf8') // convert from many types to a Buffer
-Buffer.alloc(16) // create a zero-filled buffer (safe)
-Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe)
-```
-
-## api
-
-### Class Method: Buffer.from(array)
-<!-- YAML
-added: v3.0.0
--->
-
-* `array` {Array}
-
-Allocates a new `Buffer` using an `array` of octets.
-
-```js
-const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]);
- // creates a new Buffer containing ASCII bytes
- // ['b','u','f','f','e','r']
-```
-
-A `TypeError` will be thrown if `array` is not an `Array`.
-
-### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]])
-<!-- YAML
-added: v5.10.0
--->
-
-* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or
- a `new ArrayBuffer()`
-* `byteOffset` {Number} Default: `0`
-* `length` {Number} Default: `arrayBuffer.length - byteOffset`
-
-When passed a reference to the `.buffer` property of a `TypedArray` instance,
-the newly created `Buffer` will share the same allocated memory as the
-TypedArray.
-
-```js
-const arr = new Uint16Array(2);
-arr[0] = 5000;
-arr[1] = 4000;
-
-const buf = Buffer.from(arr.buffer); // shares the memory with arr;
-
-console.log(buf);
- // Prints: <Buffer 88 13 a0 0f>
-
-// changing the TypedArray changes the Buffer also
-arr[1] = 6000;
-
-console.log(buf);
- // Prints: <Buffer 88 13 70 17>
-```
-
-The optional `byteOffset` and `length` arguments specify a memory range within
-the `arrayBuffer` that will be shared by the `Buffer`.
-
-```js
-const ab = new ArrayBuffer(10);
-const buf = Buffer.from(ab, 0, 2);
-console.log(buf.length);
- // Prints: 2
-```
-
-A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`.
-
-### Class Method: Buffer.from(buffer)
-<!-- YAML
-added: v3.0.0
--->
-
-* `buffer` {Buffer}
-
-Copies the passed `buffer` data onto a new `Buffer` instance.
-
-```js
-const buf1 = Buffer.from('buffer');
-const buf2 = Buffer.from(buf1);
-
-buf1[0] = 0x61;
-console.log(buf1.toString());
- // 'auffer'
-console.log(buf2.toString());
- // 'buffer' (copy is not changed)
-```
-
-A `TypeError` will be thrown if `buffer` is not a `Buffer`.
-
-### Class Method: Buffer.from(str[, encoding])
-<!-- YAML
-added: v5.10.0
--->
-
-* `str` {String} String to encode.
-* `encoding` {String} Encoding to use, Default: `'utf8'`
-
-Creates a new `Buffer` containing the given JavaScript string `str`. If
-provided, the `encoding` parameter identifies the character encoding.
-If not provided, `encoding` defaults to `'utf8'`.
-
-```js
-const buf1 = Buffer.from('this is a tést');
-console.log(buf1.toString());
- // prints: this is a tést
-console.log(buf1.toString('ascii'));
- // prints: this is a tC)st
-
-const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');
-console.log(buf2.toString());
- // prints: this is a tést
-```
-
-A `TypeError` will be thrown if `str` is not a string.
-
-### Class Method: Buffer.alloc(size[, fill[, encoding]])
-<!-- YAML
-added: v5.10.0
--->
-
-* `size` {Number}
-* `fill` {Value} Default: `undefined`
-* `encoding` {String} Default: `utf8`
-
-Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the
-`Buffer` will be *zero-filled*.
-
-```js
-const buf = Buffer.alloc(5);
-console.log(buf);
- // <Buffer 00 00 00 00 00>
-```
-
-The `size` must be less than or equal to the value of
-`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is
-`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will
-be created if a `size` less than or equal to 0 is specified.
-
-If `fill` is specified, the allocated `Buffer` will be initialized by calling
-`buf.fill(fill)`. See [`buf.fill()`][] for more information.
-
-```js
-const buf = Buffer.alloc(5, 'a');
-console.log(buf);
- // <Buffer 61 61 61 61 61>
-```
-
-If both `fill` and `encoding` are specified, the allocated `Buffer` will be
-initialized by calling `buf.fill(fill, encoding)`. For example:
-
-```js
-const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
-console.log(buf);
- // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
-```
-
-Calling `Buffer.alloc(size)` can be significantly slower than the alternative
-`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance
-contents will *never contain sensitive data*.
-
-A `TypeError` will be thrown if `size` is not a number.
-
-### Class Method: Buffer.allocUnsafe(size)
-<!-- YAML
-added: v5.10.0
--->
-
-* `size` {Number}
-
-Allocates a new *non-zero-filled* `Buffer` of `size` bytes. The `size` must
-be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit
-architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is
-thrown. A zero-length Buffer will be created if a `size` less than or equal to
-0 is specified.
-
-The underlying memory for `Buffer` instances created in this way is *not
-initialized*. The contents of the newly created `Buffer` are unknown and
-*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such
-`Buffer` instances to zeroes.
-
-```js
-const buf = Buffer.allocUnsafe(5);
-console.log(buf);
- // <Buffer 78 e0 82 02 01>
- // (octets will be different, every time)
-buf.fill(0);
-console.log(buf);
- // <Buffer 00 00 00 00 00>
-```
-
-A `TypeError` will be thrown if `size` is not a number.
-
-Note that the `Buffer` module pre-allocates an internal `Buffer` instance of
-size `Buffer.poolSize` that is used as a pool for the fast allocation of new
-`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated
-`new Buffer(size)` constructor) only when `size` is less than or equal to
-`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default
-value of `Buffer.poolSize` is `8192` but can be modified.
-
-Use of this pre-allocated internal memory pool is a key difference between
-calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
-Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer
-pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal
-Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The
-difference is subtle but can be important when an application requires the
-additional performance that `Buffer.allocUnsafe(size)` provides.
-
-### Class Method: Buffer.allocUnsafeSlow(size)
-<!-- YAML
-added: v5.10.0
--->
-
-* `size` {Number}
-
-Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes. The
-`size` must be less than or equal to the value of
-`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is
-`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will
-be created if a `size` less than or equal to 0 is specified.
-
-The underlying memory for `Buffer` instances created in this way is *not
-initialized*. The contents of the newly created `Buffer` are unknown and
-*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such
-`Buffer` instances to zeroes.
-
-When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances,
-allocations under 4KB are, by default, sliced from a single pre-allocated
-`Buffer`. This allows applications to avoid the garbage collection overhead of
-creating many individually allocated Buffers. This approach improves both
-performance and memory usage by eliminating the need to track and cleanup as
-many `Persistent` objects.
-
-However, in the case where a developer may need to retain a small chunk of
-memory from a pool for an indeterminate amount of time, it may be appropriate
-to create an un-pooled Buffer instance using `Buffer.allocUnsafeSlow()` then
-copy out the relevant bits.
-
-```js
-// need to keep around a few small chunks of memory
-const store = [];
-
-socket.on('readable', () => {
- const data = socket.read();
- // allocate for retained data
- const sb = Buffer.allocUnsafeSlow(10);
- // copy the data into the new allocation
- data.copy(sb, 0, 0, 10);
- store.push(sb);
-});
-```
-
-Use of `Buffer.allocUnsafeSlow()` should be used only as a last resort *after*
-a developer has observed undue memory retention in their applications.
-
-A `TypeError` will be thrown if `size` is not a number.
-
-### All the Rest
-
-The rest of the `Buffer` API is exactly the same as in node.js.
-[See the docs](https://nodejs.org/api/buffer.html).
-
-
-## Related links
-
-- [Node.js issue: Buffer(number) is unsafe](https://github.com/nodejs/node/issues/4660)
-- [Node.js Enhancement Proposal: Buffer.from/Buffer.alloc/Buffer.zalloc/Buffer() soft-deprecate](https://github.com/nodejs/node-eps/pull/4)
-
-## Why is `Buffer` unsafe?
-
-Today, the node.js `Buffer` constructor is overloaded to handle many different argument
-types like `String`, `Array`, `Object`, `TypedArrayView` (`Uint8Array`, etc.),
-`ArrayBuffer`, and also `Number`.
-
-The API is optimized for convenience: you can throw any type at it, and it will try to do
-what you want.
-
-Because the Buffer constructor is so powerful, you often see code like this:
-
-```js
-// Convert UTF-8 strings to hex
-function toHex (str) {
- return new Buffer(str).toString('hex')
-}
-```
-
-***But what happens if `toHex` is called with a `Number` argument?***
-
-### Remote Memory Disclosure
-
-If an attacker can make your program call the `Buffer` constructor with a `Number`
-argument, then they can make it allocate uninitialized memory from the node.js process.
-This could potentially disclose TLS private keys, user data, or database passwords.
-
-When the `Buffer` constructor is passed a `Number` argument, it returns an
-**UNINITIALIZED** block of memory of the specified `size`. When you create a `Buffer` like
-this, you **MUST** overwrite the contents before returning it to the user.
-
-From the [node.js docs](https://nodejs.org/api/buffer.html#buffer_new_buffer_size):
-
-> `new Buffer(size)`
->
-> - `size` Number
->
-> The underlying memory for `Buffer` instances created in this way is not initialized.
-> **The contents of a newly created `Buffer` are unknown and could contain sensitive
-> data.** Use `buf.fill(0)` to initialize a Buffer to zeroes.
-
-(Emphasis our own.)
-
-Whenever the programmer intended to create an uninitialized `Buffer` you often see code
-like this:
-
-```js
-var buf = new Buffer(16)
-
-// Immediately overwrite the uninitialized buffer with data from another buffer
-for (var i = 0; i < buf.length; i++) {
- buf[i] = otherBuf[i]
-}
-```
-
-
-### Would this ever be a problem in real code?
-
-Yes. It's surprisingly common to forget to check the type of your variables in a
-dynamically-typed language like JavaScript.
-
-Usually the consequences of assuming the wrong type is that your program crashes with an
-uncaught exception. But the failure mode for forgetting to check the type of arguments to
-the `Buffer` constructor is more catastrophic.
-
-Here's an example of a vulnerable service that takes a JSON payload and converts it to
-hex:
-
-```js
-// Take a JSON payload {str: "some string"} and convert it to hex
-var server = http.createServer(function (req, res) {
- var data = ''
- req.setEncoding('utf8')
- req.on('data', function (chunk) {
- data += chunk
- })
- req.on('end', function () {
- var body = JSON.parse(data)
- res.end(new Buffer(body.str).toString('hex'))
- })
-})
-
-server.listen(8080)
-```
-
-In this example, an http client just has to send:
-
-```json
-{
- "str": 1000
-}
-```
-
-and it will get back 1,000 bytes of uninitialized memory from the server.
-
-This is a very serious bug. It's similar in severity to the
-[the Heartbleed bug](http://heartbleed.com/) that allowed disclosure of OpenSSL process
-memory by remote attackers.
-
-
-### Which real-world packages were vulnerable?
-
-#### [`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht)
-
-[Mathias Buus](https://github.com/mafintosh) and I
-([Feross Aboukhadijeh](http://feross.org/)) found this issue in one of our own packages,
-[`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht). The bug would allow
-anyone on the internet to send a series of messages to a user of `bittorrent-dht` and get
-them to reveal 20 bytes at a time of uninitialized memory from the node.js process.
-
-Here's
-[the commit](https://github.com/feross/bittorrent-dht/commit/6c7da04025d5633699800a99ec3fbadf70ad35b8)
-that fixed it. We released a new fixed version, created a
-[Node Security Project disclosure](https://nodesecurity.io/advisories/68), and deprecated all
-vulnerable versions on npm so users will get a warning to upgrade to a newer version.
-
-#### [`ws`](https://www.npmjs.com/package/ws)
-
-That got us wondering if there were other vulnerable packages. Sure enough, within a short
-period of time, we found the same issue in [`ws`](https://www.npmjs.com/package/ws), the
-most popular WebSocket implementation in node.js.
-
-If certain APIs were called with `Number` parameters instead of `String` or `Buffer` as
-expected, then uninitialized server memory would be disclosed to the remote peer.
-
-These were the vulnerable methods:
-
-```js
-socket.send(number)
-socket.ping(number)
-socket.pong(number)
-```
-
-Here's a vulnerable socket server with some echo functionality:
-
-```js
-server.on('connection', function (socket) {
- socket.on('message', function (message) {
- message = JSON.parse(message)
- if (message.type === 'echo') {
- socket.send(message.data) // send back the user's message
- }
- })
-})
-```
-
-`socket.send(number)` called on the server, will disclose server memory.
-
-Here's [the release](https://github.com/websockets/ws/releases/tag/1.0.1) where the issue
-was fixed, with a more detailed explanation. Props to
-[Arnout Kazemier](https://github.com/3rd-Eden) for the quick fix. Here's the
-[Node Security Project disclosure](https://nodesecurity.io/advisories/67).
-
-
-### What's the solution?
-
-It's important that node.js offers a fast way to get memory otherwise performance-critical
-applications would needlessly get a lot slower.
-
-But we need a better way to *signal our intent* as programmers. **When we want
-uninitialized memory, we should request it explicitly.**
-
-Sensitive functionality should not be packed into a developer-friendly API that loosely
-accepts many different types. This type of API encourages the lazy practice of passing
-variables in without checking the type very carefully.
-
-#### A new API: `Buffer.allocUnsafe(number)`
-
-The functionality of creating buffers with uninitialized memory should be part of another
-API. We propose `Buffer.allocUnsafe(number)`. This way, it's not part of an API that
-frequently gets user input of all sorts of different types passed into it.
-
-```js
-var buf = Buffer.allocUnsafe(16) // careful, uninitialized memory!
-
-// Immediately overwrite the uninitialized buffer with data from another buffer
-for (var i = 0; i < buf.length; i++) {
- buf[i] = otherBuf[i]
-}
-```
-
-
-### How do we fix node.js core?
-
-We sent [a PR to node.js core](https://github.com/nodejs/node/pull/4514) (merged as
-`semver-major`) which defends against one case:
-
-```js
-var str = 16
-new Buffer(str, 'utf8')
-```
-
-In this situation, it's implied that the programmer intended the first argument to be a
-string, since they passed an encoding as a second argument. Today, node.js will allocate
-uninitialized memory in the case of `new Buffer(number, encoding)`, which is probably not
-what the programmer intended.
-
-But this is only a partial solution, since if the programmer does `new Buffer(variable)`
-(without an `encoding` parameter) there's no way to know what they intended. If `variable`
-is sometimes a number, then uninitialized memory will sometimes be returned.
-
-### What's the real long-term fix?
-
-We could deprecate and remove `new Buffer(number)` and use `Buffer.allocUnsafe(number)` when
-we need uninitialized memory. But that would break 1000s of packages.
-
-~~We believe the best solution is to:~~
-
-~~1. Change `new Buffer(number)` to return safe, zeroed-out memory~~
-
-~~2. Create a new API for creating uninitialized Buffers. We propose: `Buffer.allocUnsafe(number)`~~
-
-#### Update
-
-We now support adding three new APIs:
-
-- `Buffer.from(value)` - convert from any type to a buffer
-- `Buffer.alloc(size)` - create a zero-filled buffer
-- `Buffer.allocUnsafe(size)` - create an uninitialized buffer with given size
-
-This solves the core problem that affected `ws` and `bittorrent-dht` which is
-`Buffer(variable)` getting tricked into taking a number argument.
-
-This way, existing code continues working and the impact on the npm ecosystem will be
-minimal. Over time, npm maintainers can migrate performance-critical code to use
-`Buffer.allocUnsafe(number)` instead of `new Buffer(number)`.
-
-
-### Conclusion
-
-We think there's a serious design issue with the `Buffer` API as it exists today. It
-promotes insecure software by putting high-risk functionality into a convenient API
-with friendly "developer ergonomics".
-
-This wasn't merely a theoretical exercise because we found the issue in some of the
-most popular npm packages.
-
-Fortunately, there's an easy fix that can be applied today. Use `safe-buffer` in place of
-`buffer`.
-
-```js
-var Buffer = require('safe-buffer').Buffer
-```
-
-Eventually, we hope that node.js core can switch to this new, safer behavior. We believe
-the impact on the ecosystem would be minimal since it's not a breaking change.
-Well-maintained, popular packages would be updated to use `Buffer.alloc` quickly, while
-older, insecure packages would magically become safe from this attack vector.
-
-
-## links
-
-- [Node.js PR: buffer: throw if both length and enc are passed](https://github.com/nodejs/node/pull/4514)
-- [Node Security Project disclosure for `ws`](https://nodesecurity.io/advisories/67)
-- [Node Security Project disclosure for`bittorrent-dht`](https://nodesecurity.io/advisories/68)
-
-
-## credit
-
-The original issues in `bittorrent-dht`
-([disclosure](https://nodesecurity.io/advisories/68)) and
-`ws` ([disclosure](https://nodesecurity.io/advisories/67)) were discovered by
-[Mathias Buus](https://github.com/mafintosh) and
-[Feross Aboukhadijeh](http://feross.org/).
-
-Thanks to [Adam Baldwin](https://github.com/evilpacket) for helping disclose these issues
-and for his work running the [Node Security Project](https://nodesecurity.io/).
-
-Thanks to [John Hiesey](https://github.com/jhiesey) for proofreading this README and
-auditing the code.
-
-
-## license
-
-MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org)
diff --git a/includes/search/node_modules/safe-buffer/index.d.ts b/includes/search/node_modules/safe-buffer/index.d.ts
deleted file mode 100644
index e9fed80..0000000
--- a/includes/search/node_modules/safe-buffer/index.d.ts
+++ /dev/null
@@ -1,187 +0,0 @@
-declare module "safe-buffer" {
- export class Buffer {
- length: number
- write(string: string, offset?: number, length?: number, encoding?: string): number;
- toString(encoding?: string, start?: number, end?: number): string;
- toJSON(): { type: 'Buffer', data: any[] };
- equals(otherBuffer: Buffer): boolean;
- compare(otherBuffer: Buffer, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number;
- copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;
- slice(start?: number, end?: number): Buffer;
- writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
- writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
- writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
- writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
- readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
- readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
- readIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
- readIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
- readUInt8(offset: number, noAssert?: boolean): number;
- readUInt16LE(offset: number, noAssert?: boolean): number;
- readUInt16BE(offset: number, noAssert?: boolean): number;
- readUInt32LE(offset: number, noAssert?: boolean): number;
- readUInt32BE(offset: number, noAssert?: boolean): number;
- readInt8(offset: number, noAssert?: boolean): number;
- readInt16LE(offset: number, noAssert?: boolean): number;
- readInt16BE(offset: number, noAssert?: boolean): number;
- readInt32LE(offset: number, noAssert?: boolean): number;
- readInt32BE(offset: number, noAssert?: boolean): number;
- readFloatLE(offset: number, noAssert?: boolean): number;
- readFloatBE(offset: number, noAssert?: boolean): number;
- readDoubleLE(offset: number, noAssert?: boolean): number;
- readDoubleBE(offset: number, noAssert?: boolean): number;
- swap16(): Buffer;
- swap32(): Buffer;
- swap64(): Buffer;
- writeUInt8(value: number, offset: number, noAssert?: boolean): number;
- writeUInt16LE(value: number, offset: number, noAssert?: boolean): number;
- writeUInt16BE(value: number, offset: number, noAssert?: boolean): number;
- writeUInt32LE(value: number, offset: number, noAssert?: boolean): number;
- writeUInt32BE(value: number, offset: number, noAssert?: boolean): number;
- writeInt8(value: number, offset: number, noAssert?: boolean): number;
- writeInt16LE(value: number, offset: number, noAssert?: boolean): number;
- writeInt16BE(value: number, offset: number, noAssert?: boolean): number;
- writeInt32LE(value: number, offset: number, noAssert?: boolean): number;
- writeInt32BE(value: number, offset: number, noAssert?: boolean): number;
- writeFloatLE(value: number, offset: number, noAssert?: boolean): number;
- writeFloatBE(value: number, offset: number, noAssert?: boolean): number;
- writeDoubleLE(value: number, offset: number, noAssert?: boolean): number;
- writeDoubleBE(value: number, offset: number, noAssert?: boolean): number;
- fill(value: any, offset?: number, end?: number): this;
- indexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;
- lastIndexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;
- includes(value: string | number | Buffer, byteOffset?: number, encoding?: string): boolean;
-
- /**
- * Allocates a new buffer containing the given {str}.
- *
- * @param str String to store in buffer.
- * @param encoding encoding to use, optional. Default is 'utf8'
- */
- constructor (str: string, encoding?: string);
- /**
- * Allocates a new buffer of {size} octets.
- *
- * @param size count of octets to allocate.
- */
- constructor (size: number);
- /**
- * Allocates a new buffer containing the given {array} of octets.
- *
- * @param array The octets to store.
- */
- constructor (array: Uint8Array);
- /**
- * Produces a Buffer backed by the same allocated memory as
- * the given {ArrayBuffer}.
- *
- *
- * @param arrayBuffer The ArrayBuffer with which to share memory.
- */
- constructor (arrayBuffer: ArrayBuffer);
- /**
- * Allocates a new buffer containing the given {array} of octets.
- *
- * @param array The octets to store.
- */
- constructor (array: any[]);
- /**
- * Copies the passed {buffer} data onto a new {Buffer} instance.
- *
- * @param buffer The buffer to copy.
- */
- constructor (buffer: Buffer);
- prototype: Buffer;
- /**
- * Allocates a new Buffer using an {array} of octets.
- *
- * @param array
- */
- static from(array: any[]): Buffer;
- /**
- * When passed a reference to the .buffer property of a TypedArray instance,
- * the newly created Buffer will share the same allocated memory as the TypedArray.
- * The optional {byteOffset} and {length} arguments specify a memory range
- * within the {arrayBuffer} that will be shared by the Buffer.
- *
- * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer()
- * @param byteOffset
- * @param length
- */
- static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer;
- /**
- * Copies the passed {buffer} data onto a new Buffer instance.
- *
- * @param buffer
- */
- static from(buffer: Buffer): Buffer;
- /**
- * Creates a new Buffer containing the given JavaScript string {str}.
- * If provided, the {encoding} parameter identifies the character encoding.
- * If not provided, {encoding} defaults to 'utf8'.
- *
- * @param str
- */
- static from(str: string, encoding?: string): Buffer;
- /**
- * Returns true if {obj} is a Buffer
- *
- * @param obj object to test.
- */
- static isBuffer(obj: any): obj is Buffer;
- /**
- * Returns true if {encoding} is a valid encoding argument.
- * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'
- *
- * @param encoding string to test.
- */
- static isEncoding(encoding: string): boolean;
- /**
- * Gives the actual byte length of a string. encoding defaults to 'utf8'.
- * This is not the same as String.prototype.length since that returns the number of characters in a string.
- *
- * @param string string to test.
- * @param encoding encoding used to evaluate (defaults to 'utf8')
- */
- static byteLength(string: string, encoding?: string): number;
- /**
- * Returns a buffer which is the result of concatenating all the buffers in the list together.
- *
- * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer.
- * If the list has exactly one item, then the first item of the list is returned.
- * If the list has more than one item, then a new Buffer is created.
- *
- * @param list An array of Buffer objects to concatenate
- * @param totalLength Total length of the buffers when concatenated.
- * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.
- */
- static concat(list: Buffer[], totalLength?: number): Buffer;
- /**
- * The same as buf1.compare(buf2).
- */
- static compare(buf1: Buffer, buf2: Buffer): number;
- /**
- * Allocates a new buffer of {size} octets.
- *
- * @param size count of octets to allocate.
- * @param fill if specified, buffer will be initialized by calling buf.fill(fill).
- * If parameter is omitted, buffer will be filled with zeros.
- * @param encoding encoding used for call to buf.fill while initalizing
- */
- static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer;
- /**
- * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents
- * of the newly created Buffer are unknown and may contain sensitive data.
- *
- * @param size count of octets to allocate
- */
- static allocUnsafe(size: number): Buffer;
- /**
- * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents
- * of the newly created Buffer are unknown and may contain sensitive data.
- *
- * @param size count of octets to allocate
- */
- static allocUnsafeSlow(size: number): Buffer;
- }
-} \ No newline at end of file
diff --git a/includes/search/node_modules/safe-buffer/index.js b/includes/search/node_modules/safe-buffer/index.js
deleted file mode 100644
index 22438da..0000000
--- a/includes/search/node_modules/safe-buffer/index.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/* eslint-disable node/no-deprecated-api */
-var buffer = require('buffer')
-var Buffer = buffer.Buffer
-
-// alternative to using Object.keys for old browsers
-function copyProps (src, dst) {
- for (var key in src) {
- dst[key] = src[key]
- }
-}
-if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
- module.exports = buffer
-} else {
- // Copy properties from require('buffer')
- copyProps(buffer, exports)
- exports.Buffer = SafeBuffer
-}
-
-function SafeBuffer (arg, encodingOrOffset, length) {
- return Buffer(arg, encodingOrOffset, length)
-}
-
-// Copy static methods from Buffer
-copyProps(Buffer, SafeBuffer)
-
-SafeBuffer.from = function (arg, encodingOrOffset, length) {
- if (typeof arg === 'number') {
- throw new TypeError('Argument must not be a number')
- }
- return Buffer(arg, encodingOrOffset, length)
-}
-
-SafeBuffer.alloc = function (size, fill, encoding) {
- if (typeof size !== 'number') {
- throw new TypeError('Argument must be a number')
- }
- var buf = Buffer(size)
- if (fill !== undefined) {
- if (typeof encoding === 'string') {
- buf.fill(fill, encoding)
- } else {
- buf.fill(fill)
- }
- } else {
- buf.fill(0)
- }
- return buf
-}
-
-SafeBuffer.allocUnsafe = function (size) {
- if (typeof size !== 'number') {
- throw new TypeError('Argument must be a number')
- }
- return Buffer(size)
-}
-
-SafeBuffer.allocUnsafeSlow = function (size) {
- if (typeof size !== 'number') {
- throw new TypeError('Argument must be a number')
- }
- return buffer.SlowBuffer(size)
-}
diff --git a/includes/search/node_modules/safe-buffer/package.json b/includes/search/node_modules/safe-buffer/package.json
deleted file mode 100644
index 623fbc3..0000000
--- a/includes/search/node_modules/safe-buffer/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "safe-buffer",
- "description": "Safer Node.js Buffer API",
- "version": "5.1.2",
- "author": {
- "name": "Feross Aboukhadijeh",
- "email": "feross@feross.org",
- "url": "http://feross.org"
- },
- "bugs": {
- "url": "https://github.com/feross/safe-buffer/issues"
- },
- "devDependencies": {
- "standard": "*",
- "tape": "^4.0.0"
- },
- "homepage": "https://github.com/feross/safe-buffer",
- "keywords": [
- "buffer",
- "buffer allocate",
- "node security",
- "safe",
- "safe-buffer",
- "security",
- "uninitialized"
- ],
- "license": "MIT",
- "main": "index.js",
- "types": "index.d.ts",
- "repository": {
- "type": "git",
- "url": "git://github.com/feross/safe-buffer.git"
- },
- "scripts": {
- "test": "standard && tape test/*.js"
- }
-}
diff --git a/includes/search/node_modules/semver/LICENSE b/includes/search/node_modules/semver/LICENSE
deleted file mode 100644
index 19129e3..0000000
--- a/includes/search/node_modules/semver/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/semver/README.md b/includes/search/node_modules/semver/README.md
deleted file mode 100644
index b52a5eb..0000000
--- a/includes/search/node_modules/semver/README.md
+++ /dev/null
@@ -1,635 +0,0 @@
-semver(1) -- The semantic versioner for npm
-===========================================
-
-## Install
-
-```bash
-npm install semver
-````
-
-## Usage
-
-As a node module:
-
-```js
-const semver = require('semver')
-
-semver.valid('1.2.3') // '1.2.3'
-semver.valid('a.b.c') // null
-semver.clean(' =v1.2.3 ') // '1.2.3'
-semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
-semver.gt('1.2.3', '9.8.7') // false
-semver.lt('1.2.3', '9.8.7') // true
-semver.minVersion('>=1.0.0') // '1.0.0'
-semver.valid(semver.coerce('v2')) // '2.0.0'
-semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
-```
-
-You can also just load the module for the function that you care about, if
-you'd like to minimize your footprint.
-
-```js
-// load the whole API at once in a single object
-const semver = require('semver')
-
-// or just load the bits you need
-// all of them listed here, just pick and choose what you want
-
-// classes
-const SemVer = require('semver/classes/semver')
-const Comparator = require('semver/classes/comparator')
-const Range = require('semver/classes/range')
-
-// functions for working with versions
-const semverParse = require('semver/functions/parse')
-const semverValid = require('semver/functions/valid')
-const semverClean = require('semver/functions/clean')
-const semverInc = require('semver/functions/inc')
-const semverDiff = require('semver/functions/diff')
-const semverMajor = require('semver/functions/major')
-const semverMinor = require('semver/functions/minor')
-const semverPatch = require('semver/functions/patch')
-const semverPrerelease = require('semver/functions/prerelease')
-const semverCompare = require('semver/functions/compare')
-const semverRcompare = require('semver/functions/rcompare')
-const semverCompareLoose = require('semver/functions/compare-loose')
-const semverCompareBuild = require('semver/functions/compare-build')
-const semverSort = require('semver/functions/sort')
-const semverRsort = require('semver/functions/rsort')
-
-// low-level comparators between versions
-const semverGt = require('semver/functions/gt')
-const semverLt = require('semver/functions/lt')
-const semverEq = require('semver/functions/eq')
-const semverNeq = require('semver/functions/neq')
-const semverGte = require('semver/functions/gte')
-const semverLte = require('semver/functions/lte')
-const semverCmp = require('semver/functions/cmp')
-const semverCoerce = require('semver/functions/coerce')
-
-// working with ranges
-const semverSatisfies = require('semver/functions/satisfies')
-const semverMaxSatisfying = require('semver/ranges/max-satisfying')
-const semverMinSatisfying = require('semver/ranges/min-satisfying')
-const semverToComparators = require('semver/ranges/to-comparators')
-const semverMinVersion = require('semver/ranges/min-version')
-const semverValidRange = require('semver/ranges/valid')
-const semverOutside = require('semver/ranges/outside')
-const semverGtr = require('semver/ranges/gtr')
-const semverLtr = require('semver/ranges/ltr')
-const semverIntersects = require('semver/ranges/intersects')
-const simplifyRange = require('semver/ranges/simplify')
-const rangeSubset = require('semver/ranges/subset')
-```
-
-As a command-line utility:
-
-```
-$ semver -h
-
-A JavaScript implementation of the https://semver.org/ specification
-Copyright Isaac Z. Schlueter
-
-Usage: semver [options] <version> [<version> [...]]
-Prints valid versions sorted by SemVer precedence
-
-Options:
--r --range <range>
- Print versions that match the specified range.
-
--i --increment [<level>]
- Increment a version by the specified level. Level can
- be one of: major, minor, patch, premajor, preminor,
- prepatch, or prerelease. Default level is 'patch'.
- Only one version may be specified.
-
---preid <identifier>
- Identifier to be used to prefix premajor, preminor,
- prepatch or prerelease version increments.
-
--l --loose
- Interpret versions and ranges loosely
-
--n <0|1>
- This is the base to be used for the prerelease identifier.
-
--p --include-prerelease
- Always include prerelease versions in range matching
-
--c --coerce
- Coerce a string into SemVer if possible
- (does not imply --loose)
-
---rtl
- Coerce version strings right to left
-
---ltr
- Coerce version strings left to right (default)
-
-Program exits successfully if any valid version satisfies
-all supplied ranges, and prints all satisfying versions.
-
-If no satisfying versions are found, then exits failure.
-
-Versions are printed in ascending order, so supplying
-multiple versions to the utility will just sort them.
-```
-
-## Versions
-
-A "version" is described by the `v2.0.0` specification found at
-<https://semver.org/>.
-
-A leading `"="` or `"v"` character is stripped off and ignored.
-
-## Ranges
-
-A `version range` is a set of `comparators` which specify versions
-that satisfy the range.
-
-A `comparator` is composed of an `operator` and a `version`. The set
-of primitive `operators` is:
-
-* `<` Less than
-* `<=` Less than or equal to
-* `>` Greater than
-* `>=` Greater than or equal to
-* `=` Equal. If no operator is specified, then equality is assumed,
- so this operator is optional, but MAY be included.
-
-For example, the comparator `>=1.2.7` would match the versions
-`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6`
-or `1.1.0`.
-
-Comparators can be joined by whitespace to form a `comparator set`,
-which is satisfied by the **intersection** of all of the comparators
-it includes.
-
-A range is composed of one or more comparator sets, joined by `||`. A
-version matches a range if and only if every comparator in at least
-one of the `||`-separated comparator sets is satisfied by the version.
-
-For example, the range `>=1.2.7 <1.3.0` would match the versions
-`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`,
-or `1.1.0`.
-
-The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`,
-`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`.
-
-### Prerelease Tags
-
-If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then
-it will only be allowed to satisfy comparator sets if at least one
-comparator with the same `[major, minor, patch]` tuple also has a
-prerelease tag.
-
-For example, the range `>1.2.3-alpha.3` would be allowed to match the
-version `1.2.3-alpha.7`, but it would *not* be satisfied by
-`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater
-than" `1.2.3-alpha.3` according to the SemVer sort rules. The version
-range only accepts prerelease tags on the `1.2.3` version. The
-version `3.4.5` *would* satisfy the range, because it does not have a
-prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`.
-
-The purpose for this behavior is twofold. First, prerelease versions
-frequently are updated very quickly, and contain many breaking changes
-that are (by the author's design) not yet fit for public consumption.
-Therefore, by default, they are excluded from range matching
-semantics.
-
-Second, a user who has opted into using a prerelease version has
-clearly indicated the intent to use *that specific* set of
-alpha/beta/rc versions. By including a prerelease tag in the range,
-the user is indicating that they are aware of the risk. However, it
-is still not appropriate to assume that they have opted into taking a
-similar risk on the *next* set of prerelease versions.
-
-Note that this behavior can be suppressed (treating all prerelease
-versions as if they were normal versions, for the purpose of range
-matching) by setting the `includePrerelease` flag on the options
-object to any
-[functions](https://github.com/npm/node-semver#functions) that do
-range matching.
-
-#### Prerelease Identifiers
-
-The method `.inc` takes an additional `identifier` string argument that
-will append the value of the string as a prerelease identifier:
-
-```javascript
-semver.inc('1.2.3', 'prerelease', 'beta')
-// '1.2.4-beta.0'
-```
-
-command-line example:
-
-```bash
-$ semver 1.2.3 -i prerelease --preid beta
-1.2.4-beta.0
-```
-
-Which then can be used to increment further:
-
-```bash
-$ semver 1.2.4-beta.0 -i prerelease
-1.2.4-beta.1
-```
-
-#### Prerelease Identifier Base
-
-The method `.inc` takes an optional parameter 'identifierBase' string
-that will let you let your prerelease number as zero-based or one-based.
-Set to `false` to omit the prerelease number altogether.
-If you do not specify this parameter, it will default to zero-based.
-
-```javascript
-semver.inc('1.2.3', 'prerelease', 'beta', '1')
-// '1.2.4-beta.1'
-```
-
-```javascript
-semver.inc('1.2.3', 'prerelease', 'beta', false)
-// '1.2.4-beta'
-```
-
-command-line example:
-
-```bash
-$ semver 1.2.3 -i prerelease --preid beta -n 1
-1.2.4-beta.1
-```
-
-```bash
-$ semver 1.2.3 -i prerelease --preid beta -n false
-1.2.4-beta
-```
-
-### Advanced Range Syntax
-
-Advanced range syntax desugars to primitive comparators in
-deterministic ways.
-
-Advanced ranges may be combined in the same way as primitive
-comparators using white space or `||`.
-
-#### Hyphen Ranges `X.Y.Z - A.B.C`
-
-Specifies an inclusive set.
-
-* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
-
-If a partial version is provided as the first version in the inclusive
-range, then the missing pieces are replaced with zeroes.
-
-* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4`
-
-If a partial version is provided as the second version in the
-inclusive range, then all versions that start with the supplied parts
-of the tuple are accepted, but nothing that would be greater than the
-provided tuple parts.
-
-* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0-0`
-* `1.2.3 - 2` := `>=1.2.3 <3.0.0-0`
-
-#### X-Ranges `1.2.x` `1.X` `1.2.*` `*`
-
-Any of `X`, `x`, or `*` may be used to "stand in" for one of the
-numeric values in the `[major, minor, patch]` tuple.
-
-* `*` := `>=0.0.0` (Any non-prerelease version satisfies, unless
- `includePrerelease` is specified, in which case any version at all
- satisfies)
-* `1.x` := `>=1.0.0 <2.0.0-0` (Matching major version)
-* `1.2.x` := `>=1.2.0 <1.3.0-0` (Matching major and minor versions)
-
-A partial version range is treated as an X-Range, so the special
-character is in fact optional.
-
-* `""` (empty string) := `*` := `>=0.0.0`
-* `1` := `1.x.x` := `>=1.0.0 <2.0.0-0`
-* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0-0`
-
-#### Tilde Ranges `~1.2.3` `~1.2` `~1`
-
-Allows patch-level changes if a minor version is specified on the
-comparator. Allows minor-level changes if not.
-
-* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0-0`
-* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0-0` (Same as `1.2.x`)
-* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0-0` (Same as `1.x`)
-* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0-0`
-* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0-0` (Same as `0.2.x`)
-* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0-0` (Same as `0.x`)
-* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0-0` Note that prereleases in
- the `1.2.3` version will be allowed, if they are greater than or
- equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
- `1.2.4-beta.2` would not, because it is a prerelease of a
- different `[major, minor, patch]` tuple.
-
-#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4`
-
-Allows changes that do not modify the left-most non-zero element in the
-`[major, minor, patch]` tuple. In other words, this allows patch and
-minor updates for versions `1.0.0` and above, patch updates for
-versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`.
-
-Many authors treat a `0.x` version as if the `x` were the major
-"breaking-change" indicator.
-
-Caret ranges are ideal when an author may make breaking changes
-between `0.2.4` and `0.3.0` releases, which is a common practice.
-However, it presumes that there will *not* be breaking changes between
-`0.2.4` and `0.2.5`. It allows for changes that are presumed to be
-additive (but non-breaking), according to commonly observed practices.
-
-* `^1.2.3` := `>=1.2.3 <2.0.0-0`
-* `^0.2.3` := `>=0.2.3 <0.3.0-0`
-* `^0.0.3` := `>=0.0.3 <0.0.4-0`
-* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0-0` Note that prereleases in
- the `1.2.3` version will be allowed, if they are greater than or
- equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
- `1.2.4-beta.2` would not, because it is a prerelease of a
- different `[major, minor, patch]` tuple.
-* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4-0` Note that prereleases in the
- `0.0.3` version *only* will be allowed, if they are greater than or
- equal to `beta`. So, `0.0.3-pr.2` would be allowed.
-
-When parsing caret ranges, a missing `patch` value desugars to the
-number `0`, but will allow flexibility within that value, even if the
-major and minor versions are both `0`.
-
-* `^1.2.x` := `>=1.2.0 <2.0.0-0`
-* `^0.0.x` := `>=0.0.0 <0.1.0-0`
-* `^0.0` := `>=0.0.0 <0.1.0-0`
-
-A missing `minor` and `patch` values will desugar to zero, but also
-allow flexibility within those values, even if the major version is
-zero.
-
-* `^1.x` := `>=1.0.0 <2.0.0-0`
-* `^0.x` := `>=0.0.0 <1.0.0-0`
-
-### Range Grammar
-
-Putting all this together, here is a Backus-Naur grammar for ranges,
-for the benefit of parser authors:
-
-```bnf
-range-set ::= range ( logical-or range ) *
-logical-or ::= ( ' ' ) * '||' ( ' ' ) *
-range ::= hyphen | simple ( ' ' simple ) * | ''
-hyphen ::= partial ' - ' partial
-simple ::= primitive | partial | tilde | caret
-primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
-partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
-xr ::= 'x' | 'X' | '*' | nr
-nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
-tilde ::= '~' partial
-caret ::= '^' partial
-qualifier ::= ( '-' pre )? ( '+' build )?
-pre ::= parts
-build ::= parts
-parts ::= part ( '.' part ) *
-part ::= nr | [-0-9A-Za-z]+
-```
-
-## Functions
-
-All methods and classes take a final `options` object argument. All
-options in this object are `false` by default. The options supported
-are:
-
-- `loose` Be more forgiving about not-quite-valid semver strings.
- (Any resulting output will always be 100% strict compliant, of
- course.) For backwards compatibility reasons, if the `options`
- argument is a boolean value instead of an object, it is interpreted
- to be the `loose` param.
-- `includePrerelease` Set to suppress the [default
- behavior](https://github.com/npm/node-semver#prerelease-tags) of
- excluding prerelease tagged versions from ranges unless they are
- explicitly opted into.
-
-Strict-mode Comparators and Ranges will be strict about the SemVer
-strings that they parse.
-
-* `valid(v)`: Return the parsed version, or null if it's not valid.
-* `inc(v, release)`: Return the version incremented by the release
- type (`major`, `premajor`, `minor`, `preminor`, `patch`,
- `prepatch`, or `prerelease`), or null if it's not valid
- * `premajor` in one call will bump the version up to the next major
- version and down to a prerelease of that major version.
- `preminor`, and `prepatch` work the same way.
- * If called from a non-prerelease version, the `prerelease` will work the
- same as `prepatch`. It increments the patch version, then makes a
- prerelease. If the input version is already a prerelease it simply
- increments it.
-* `prerelease(v)`: Returns an array of prerelease components, or null
- if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]`
-* `major(v)`: Return the major version number.
-* `minor(v)`: Return the minor version number.
-* `patch(v)`: Return the patch version number.
-* `intersects(r1, r2, loose)`: Return true if the two supplied ranges
- or comparators intersect.
-* `parse(v)`: Attempt to parse a string as a semantic version, returning either
- a `SemVer` object or `null`.
-
-### Comparison
-
-* `gt(v1, v2)`: `v1 > v2`
-* `gte(v1, v2)`: `v1 >= v2`
-* `lt(v1, v2)`: `v1 < v2`
-* `lte(v1, v2)`: `v1 <= v2`
-* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent,
- even if they're not the exact same string. You already know how to
- compare strings.
-* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`.
-* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call
- the corresponding function above. `"==="` and `"!=="` do simple
- string comparison, but are included for completeness. Throws if an
- invalid comparison string is provided.
-* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if
- `v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
-* `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions
- in descending order when passed to `Array.sort()`.
-* `compareBuild(v1, v2)`: The same as `compare` but considers `build` when two versions
- are equal. Sorts in ascending order if passed to `Array.sort()`.
- `v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
-* `diff(v1, v2)`: Returns difference between two versions by the release type
- (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`),
- or null if the versions are the same.
-
-### Comparators
-
-* `intersects(comparator)`: Return true if the comparators intersect
-
-### Ranges
-
-* `validRange(range)`: Return the valid range or null if it's not valid
-* `satisfies(version, range)`: Return true if the version satisfies the
- range.
-* `maxSatisfying(versions, range)`: Return the highest version in the list
- that satisfies the range, or `null` if none of them do.
-* `minSatisfying(versions, range)`: Return the lowest version in the list
- that satisfies the range, or `null` if none of them do.
-* `minVersion(range)`: Return the lowest version that can possibly match
- the given range.
-* `gtr(version, range)`: Return `true` if version is greater than all the
- versions possible in the range.
-* `ltr(version, range)`: Return `true` if version is less than all the
- versions possible in the range.
-* `outside(version, range, hilo)`: Return true if the version is outside
- the bounds of the range in either the high or low direction. The
- `hilo` argument must be either the string `'>'` or `'<'`. (This is
- the function called by `gtr` and `ltr`.)
-* `intersects(range)`: Return true if any of the ranges comparators intersect
-* `simplifyRange(versions, range)`: Return a "simplified" range that
- matches the same items in `versions` list as the range specified. Note
- that it does *not* guarantee that it would match the same versions in all
- cases, only for the set of versions provided. This is useful when
- generating ranges by joining together multiple versions with `||`
- programmatically, to provide the user with something a bit more
- ergonomic. If the provided range is shorter in string-length than the
- generated range, then that is returned.
-* `subset(subRange, superRange)`: Return `true` if the `subRange` range is
- entirely contained by the `superRange` range.
-
-Note that, since ranges may be non-contiguous, a version might not be
-greater than a range, less than a range, *or* satisfy a range! For
-example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9`
-until `2.0.0`, so the version `1.2.10` would not be greater than the
-range (because `2.0.1` satisfies, which is higher), nor less than the
-range (since `1.2.8` satisfies, which is lower), and it also does not
-satisfy the range.
-
-If you want to know if a version satisfies or does not satisfy a
-range, use the `satisfies(version, range)` function.
-
-### Coercion
-
-* `coerce(version, options)`: Coerces a string to semver if possible
-
-This aims to provide a very forgiving translation of a non-semver string to
-semver. It looks for the first digit in a string, and consumes all
-remaining characters which satisfy at least a partial semver (e.g., `1`,
-`1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer
-versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All
-surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes
-`3.4.0`). Only text which lacks digits will fail coercion (`version one`
-is not valid). The maximum length for any semver component considered for
-coercion is 16 characters; longer components will be ignored
-(`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any
-semver component is `Number.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value
-components are invalid (`9999999999999999.4.7.4` is likely invalid).
-
-If the `options.rtl` flag is set, then `coerce` will return the right-most
-coercible tuple that does not share an ending index with a longer coercible
-tuple. For example, `1.2.3.4` will return `2.3.4` in rtl mode, not
-`4.0.0`. `1.2.3/4` will return `4.0.0`, because the `4` is not a part of
-any other overlapping SemVer tuple.
-
-### Clean
-
-* `clean(version)`: Clean a string to be a valid semver if possible
-
-This will return a cleaned and trimmed semver version. If the provided
-version is not valid a null will be returned. This does not work for
-ranges.
-
-ex.
-* `s.clean(' = v 2.1.5foo')`: `null`
-* `s.clean(' = v 2.1.5foo', { loose: true })`: `'2.1.5-foo'`
-* `s.clean(' = v 2.1.5-foo')`: `null`
-* `s.clean(' = v 2.1.5-foo', { loose: true })`: `'2.1.5-foo'`
-* `s.clean('=v2.1.5')`: `'2.1.5'`
-* `s.clean(' =v2.1.5')`: `2.1.5`
-* `s.clean(' 2.1.5 ')`: `'2.1.5'`
-* `s.clean('~1.0.0')`: `null`
-
-## Constants
-
-As a convenience, helper constants are exported to provide information about what `node-semver` supports:
-
-### `RELEASE_TYPES`
-
-- major
-- premajor
-- minor
-- preminor
-- patch
-- prepatch
-- prerelease
-
-```
-const semver = require('semver');
-
-if (semver.RELEASE_TYPES.includes(arbitraryUserInput)) {
- console.log('This is a valid release type!');
-} else {
- console.warn('This is NOT a valid release type!');
-}
-```
-
-### `SEMVER_SPEC_VERSION`
-
-2.0.0
-
-```
-const semver = require('semver');
-
-console.log('We are currently using the semver specification version:', semver.SEMVER_SPEC_VERSION);
-```
-
-## Exported Modules
-
-<!--
-TODO: Make sure that all of these items are documented (classes aren't,
-eg), and then pull the module name into the documentation for that specific
-thing.
--->
-
-You may pull in just the part of this semver utility that you need, if you
-are sensitive to packing and tree-shaking concerns. The main
-`require('semver')` export uses getter functions to lazily load the parts
-of the API that are used.
-
-The following modules are available:
-
-* `require('semver')`
-* `require('semver/classes')`
-* `require('semver/classes/comparator')`
-* `require('semver/classes/range')`
-* `require('semver/classes/semver')`
-* `require('semver/functions/clean')`
-* `require('semver/functions/cmp')`
-* `require('semver/functions/coerce')`
-* `require('semver/functions/compare')`
-* `require('semver/functions/compare-build')`
-* `require('semver/functions/compare-loose')`
-* `require('semver/functions/diff')`
-* `require('semver/functions/eq')`
-* `require('semver/functions/gt')`
-* `require('semver/functions/gte')`
-* `require('semver/functions/inc')`
-* `require('semver/functions/lt')`
-* `require('semver/functions/lte')`
-* `require('semver/functions/major')`
-* `require('semver/functions/minor')`
-* `require('semver/functions/neq')`
-* `require('semver/functions/parse')`
-* `require('semver/functions/patch')`
-* `require('semver/functions/prerelease')`
-* `require('semver/functions/rcompare')`
-* `require('semver/functions/rsort')`
-* `require('semver/functions/satisfies')`
-* `require('semver/functions/sort')`
-* `require('semver/functions/valid')`
-* `require('semver/ranges/gtr')`
-* `require('semver/ranges/intersects')`
-* `require('semver/ranges/ltr')`
-* `require('semver/ranges/max-satisfying')`
-* `require('semver/ranges/min-satisfying')`
-* `require('semver/ranges/min-version')`
-* `require('semver/ranges/outside')`
-* `require('semver/ranges/to-comparators')`
-* `require('semver/ranges/valid')`
-
diff --git a/includes/search/node_modules/semver/bin/semver.js b/includes/search/node_modules/semver/bin/semver.js
deleted file mode 100755
index 242b7ad..0000000
--- a/includes/search/node_modules/semver/bin/semver.js
+++ /dev/null
@@ -1,197 +0,0 @@
-#!/usr/bin/env node
-// Standalone semver comparison program.
-// Exits successfully and prints matching version(s) if
-// any supplied version is valid and passes all tests.
-
-const argv = process.argv.slice(2)
-
-let versions = []
-
-const range = []
-
-let inc = null
-
-const version = require('../package.json').version
-
-let loose = false
-
-let includePrerelease = false
-
-let coerce = false
-
-let rtl = false
-
-let identifier
-
-let identifierBase
-
-const semver = require('../')
-const parseOptions = require('../internal/parse-options')
-
-let reverse = false
-
-let options = {}
-
-const main = () => {
- if (!argv.length) {
- return help()
- }
- while (argv.length) {
- let a = argv.shift()
- const indexOfEqualSign = a.indexOf('=')
- if (indexOfEqualSign !== -1) {
- const value = a.slice(indexOfEqualSign + 1)
- a = a.slice(0, indexOfEqualSign)
- argv.unshift(value)
- }
- switch (a) {
- case '-rv': case '-rev': case '--rev': case '--reverse':
- reverse = true
- break
- case '-l': case '--loose':
- loose = true
- break
- case '-p': case '--include-prerelease':
- includePrerelease = true
- break
- case '-v': case '--version':
- versions.push(argv.shift())
- break
- case '-i': case '--inc': case '--increment':
- switch (argv[0]) {
- case 'major': case 'minor': case 'patch': case 'prerelease':
- case 'premajor': case 'preminor': case 'prepatch':
- inc = argv.shift()
- break
- default:
- inc = 'patch'
- break
- }
- break
- case '--preid':
- identifier = argv.shift()
- break
- case '-r': case '--range':
- range.push(argv.shift())
- break
- case '-n':
- identifierBase = argv.shift()
- if (identifierBase === 'false') {
- identifierBase = false
- }
- break
- case '-c': case '--coerce':
- coerce = true
- break
- case '--rtl':
- rtl = true
- break
- case '--ltr':
- rtl = false
- break
- case '-h': case '--help': case '-?':
- return help()
- default:
- versions.push(a)
- break
- }
- }
-
- options = parseOptions({ loose, includePrerelease, rtl })
-
- versions = versions.map((v) => {
- return coerce ? (semver.coerce(v, options) || { version: v }).version : v
- }).filter((v) => {
- return semver.valid(v)
- })
- if (!versions.length) {
- return fail()
- }
- if (inc && (versions.length !== 1 || range.length)) {
- return failInc()
- }
-
- for (let i = 0, l = range.length; i < l; i++) {
- versions = versions.filter((v) => {
- return semver.satisfies(v, range[i], options)
- })
- if (!versions.length) {
- return fail()
- }
- }
- return success(versions)
-}
-
-const failInc = () => {
- console.error('--inc can only be used on a single version with no range')
- fail()
-}
-
-const fail = () => process.exit(1)
-
-const success = () => {
- const compare = reverse ? 'rcompare' : 'compare'
- versions.sort((a, b) => {
- return semver[compare](a, b, options)
- }).map((v) => {
- return semver.clean(v, options)
- }).map((v) => {
- return inc ? semver.inc(v, inc, options, identifier, identifierBase) : v
- }).forEach((v, i, _) => {
- console.log(v)
- })
-}
-
-const help = () => console.log(
-`SemVer ${version}
-
-A JavaScript implementation of the https://semver.org/ specification
-Copyright Isaac Z. Schlueter
-
-Usage: semver [options] <version> [<version> [...]]
-Prints valid versions sorted by SemVer precedence
-
-Options:
--r --range <range>
- Print versions that match the specified range.
-
--i --increment [<level>]
- Increment a version by the specified level. Level can
- be one of: major, minor, patch, premajor, preminor,
- prepatch, or prerelease. Default level is 'patch'.
- Only one version may be specified.
-
---preid <identifier>
- Identifier to be used to prefix premajor, preminor,
- prepatch or prerelease version increments.
-
--l --loose
- Interpret versions and ranges loosely
-
--p --include-prerelease
- Always include prerelease versions in range matching
-
--c --coerce
- Coerce a string into SemVer if possible
- (does not imply --loose)
-
---rtl
- Coerce version strings right to left
-
---ltr
- Coerce version strings left to right (default)
-
--n <base>
- Base number to be used for the prerelease identifier.
- Can be either 0 or 1, or false to omit the number altogether.
- Defaults to 0.
-
-Program exits successfully if any valid version satisfies
-all supplied ranges, and prints all satisfying versions.
-
-If no satisfying versions are found, then exits failure.
-
-Versions are printed in ascending order, so supplying
-multiple versions to the utility will just sort them.`)
-
-main()
diff --git a/includes/search/node_modules/semver/classes/comparator.js b/includes/search/node_modules/semver/classes/comparator.js
deleted file mode 100644
index 2146c88..0000000
--- a/includes/search/node_modules/semver/classes/comparator.js
+++ /dev/null
@@ -1,140 +0,0 @@
-const ANY = Symbol('SemVer ANY')
-// hoisted class for cyclic dependency
-class Comparator {
- static get ANY () {
- return ANY
- }
-
- constructor (comp, options) {
- options = parseOptions(options)
-
- if (comp instanceof Comparator) {
- if (comp.loose === !!options.loose) {
- return comp
- } else {
- comp = comp.value
- }
- }
-
- debug('comparator', comp, options)
- this.options = options
- this.loose = !!options.loose
- this.parse(comp)
-
- if (this.semver === ANY) {
- this.value = ''
- } else {
- this.value = this.operator + this.semver.version
- }
-
- debug('comp', this)
- }
-
- parse (comp) {
- const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]
- const m = comp.match(r)
-
- if (!m) {
- throw new TypeError(`Invalid comparator: ${comp}`)
- }
-
- this.operator = m[1] !== undefined ? m[1] : ''
- if (this.operator === '=') {
- this.operator = ''
- }
-
- // if it literally is just '>' or '' then allow anything.
- if (!m[2]) {
- this.semver = ANY
- } else {
- this.semver = new SemVer(m[2], this.options.loose)
- }
- }
-
- toString () {
- return this.value
- }
-
- test (version) {
- debug('Comparator.test', version, this.options.loose)
-
- if (this.semver === ANY || version === ANY) {
- return true
- }
-
- if (typeof version === 'string') {
- try {
- version = new SemVer(version, this.options)
- } catch (er) {
- return false
- }
- }
-
- return cmp(version, this.operator, this.semver, this.options)
- }
-
- intersects (comp, options) {
- if (!(comp instanceof Comparator)) {
- throw new TypeError('a Comparator is required')
- }
-
- if (this.operator === '') {
- if (this.value === '') {
- return true
- }
- return new Range(comp.value, options).test(this.value)
- } else if (comp.operator === '') {
- if (comp.value === '') {
- return true
- }
- return new Range(this.value, options).test(comp.semver)
- }
-
- options = parseOptions(options)
-
- // Special cases where nothing can possibly be lower
- if (options.includePrerelease &&
- (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {
- return false
- }
- if (!options.includePrerelease &&
- (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {
- return false
- }
-
- // Same direction increasing (> or >=)
- if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {
- return true
- }
- // Same direction decreasing (< or <=)
- if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {
- return true
- }
- // same SemVer and both sides are inclusive (<= or >=)
- if (
- (this.semver.version === comp.semver.version) &&
- this.operator.includes('=') && comp.operator.includes('=')) {
- return true
- }
- // opposite directions less than
- if (cmp(this.semver, '<', comp.semver, options) &&
- this.operator.startsWith('>') && comp.operator.startsWith('<')) {
- return true
- }
- // opposite directions greater than
- if (cmp(this.semver, '>', comp.semver, options) &&
- this.operator.startsWith('<') && comp.operator.startsWith('>')) {
- return true
- }
- return false
- }
-}
-
-module.exports = Comparator
-
-const parseOptions = require('../internal/parse-options')
-const { re, t } = require('../internal/re')
-const cmp = require('../functions/cmp')
-const debug = require('../internal/debug')
-const SemVer = require('./semver')
-const Range = require('./range')
diff --git a/includes/search/node_modules/semver/classes/index.js b/includes/search/node_modules/semver/classes/index.js
deleted file mode 100644
index 5e3f5c9..0000000
--- a/includes/search/node_modules/semver/classes/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
- SemVer: require('./semver.js'),
- Range: require('./range.js'),
- Comparator: require('./comparator.js'),
-}
diff --git a/includes/search/node_modules/semver/classes/range.js b/includes/search/node_modules/semver/classes/range.js
deleted file mode 100644
index d9e866d..0000000
--- a/includes/search/node_modules/semver/classes/range.js
+++ /dev/null
@@ -1,526 +0,0 @@
-// hoisted class for cyclic dependency
-class Range {
- constructor (range, options) {
- options = parseOptions(options)
-
- if (range instanceof Range) {
- if (
- range.loose === !!options.loose &&
- range.includePrerelease === !!options.includePrerelease
- ) {
- return range
- } else {
- return new Range(range.raw, options)
- }
- }
-
- if (range instanceof Comparator) {
- // just put it in the set and return
- this.raw = range.value
- this.set = [[range]]
- this.format()
- return this
- }
-
- this.options = options
- this.loose = !!options.loose
- this.includePrerelease = !!options.includePrerelease
-
- // First, split based on boolean or ||
- this.raw = range
- this.set = range
- .split('||')
- // map the range to a 2d array of comparators
- .map(r => this.parseRange(r.trim()))
- // throw out any comparator lists that are empty
- // this generally means that it was not a valid range, which is allowed
- // in loose mode, but will still throw if the WHOLE range is invalid.
- .filter(c => c.length)
-
- if (!this.set.length) {
- throw new TypeError(`Invalid SemVer Range: ${range}`)
- }
-
- // if we have any that are not the null set, throw out null sets.
- if (this.set.length > 1) {
- // keep the first one, in case they're all null sets
- const first = this.set[0]
- this.set = this.set.filter(c => !isNullSet(c[0]))
- if (this.set.length === 0) {
- this.set = [first]
- } else if (this.set.length > 1) {
- // if we have any that are *, then the range is just *
- for (const c of this.set) {
- if (c.length === 1 && isAny(c[0])) {
- this.set = [c]
- break
- }
- }
- }
- }
-
- this.format()
- }
-
- format () {
- this.range = this.set
- .map((comps) => {
- return comps.join(' ').trim()
- })
- .join('||')
- .trim()
- return this.range
- }
-
- toString () {
- return this.range
- }
-
- parseRange (range) {
- range = range.trim()
-
- // memoize range parsing for performance.
- // this is a very hot path, and fully deterministic.
- const memoOpts =
- (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |
- (this.options.loose && FLAG_LOOSE)
- const memoKey = memoOpts + ':' + range
- const cached = cache.get(memoKey)
- if (cached) {
- return cached
- }
-
- const loose = this.options.loose
- // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
- const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]
- range = range.replace(hr, hyphenReplace(this.options.includePrerelease))
- debug('hyphen replace', range)
- // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
- range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
- debug('comparator trim', range)
-
- // `~ 1.2.3` => `~1.2.3`
- range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
-
- // `^ 1.2.3` => `^1.2.3`
- range = range.replace(re[t.CARETTRIM], caretTrimReplace)
-
- // normalize spaces
- range = range.split(/\s+/).join(' ')
-
- // At this point, the range is completely trimmed and
- // ready to be split into comparators.
-
- let rangeList = range
- .split(' ')
- .map(comp => parseComparator(comp, this.options))
- .join(' ')
- .split(/\s+/)
- // >=0.0.0 is equivalent to *
- .map(comp => replaceGTE0(comp, this.options))
-
- if (loose) {
- // in loose mode, throw out any that are not valid comparators
- rangeList = rangeList.filter(comp => {
- debug('loose invalid filter', comp, this.options)
- return !!comp.match(re[t.COMPARATORLOOSE])
- })
- }
- debug('range list', rangeList)
-
- // if any comparators are the null set, then replace with JUST null set
- // if more than one comparator, remove any * comparators
- // also, don't include the same comparator more than once
- const rangeMap = new Map()
- const comparators = rangeList.map(comp => new Comparator(comp, this.options))
- for (const comp of comparators) {
- if (isNullSet(comp)) {
- return [comp]
- }
- rangeMap.set(comp.value, comp)
- }
- if (rangeMap.size > 1 && rangeMap.has('')) {
- rangeMap.delete('')
- }
-
- const result = [...rangeMap.values()]
- cache.set(memoKey, result)
- return result
- }
-
- intersects (range, options) {
- if (!(range instanceof Range)) {
- throw new TypeError('a Range is required')
- }
-
- return this.set.some((thisComparators) => {
- return (
- isSatisfiable(thisComparators, options) &&
- range.set.some((rangeComparators) => {
- return (
- isSatisfiable(rangeComparators, options) &&
- thisComparators.every((thisComparator) => {
- return rangeComparators.every((rangeComparator) => {
- return thisComparator.intersects(rangeComparator, options)
- })
- })
- )
- })
- )
- })
- }
-
- // if ANY of the sets match ALL of its comparators, then pass
- test (version) {
- if (!version) {
- return false
- }
-
- if (typeof version === 'string') {
- try {
- version = new SemVer(version, this.options)
- } catch (er) {
- return false
- }
- }
-
- for (let i = 0; i < this.set.length; i++) {
- if (testSet(this.set[i], version, this.options)) {
- return true
- }
- }
- return false
- }
-}
-
-module.exports = Range
-
-const LRU = require('lru-cache')
-const cache = new LRU({ max: 1000 })
-
-const parseOptions = require('../internal/parse-options')
-const Comparator = require('./comparator')
-const debug = require('../internal/debug')
-const SemVer = require('./semver')
-const {
- re,
- t,
- comparatorTrimReplace,
- tildeTrimReplace,
- caretTrimReplace,
-} = require('../internal/re')
-const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')
-
-const isNullSet = c => c.value === '<0.0.0-0'
-const isAny = c => c.value === ''
-
-// take a set of comparators and determine whether there
-// exists a version which can satisfy it
-const isSatisfiable = (comparators, options) => {
- let result = true
- const remainingComparators = comparators.slice()
- let testComparator = remainingComparators.pop()
-
- while (result && remainingComparators.length) {
- result = remainingComparators.every((otherComparator) => {
- return testComparator.intersects(otherComparator, options)
- })
-
- testComparator = remainingComparators.pop()
- }
-
- return result
-}
-
-// comprised of xranges, tildes, stars, and gtlt's at this point.
-// already replaced the hyphen ranges
-// turn into a set of JUST comparators.
-const parseComparator = (comp, options) => {
- debug('comp', comp, options)
- comp = replaceCarets(comp, options)
- debug('caret', comp)
- comp = replaceTildes(comp, options)
- debug('tildes', comp)
- comp = replaceXRanges(comp, options)
- debug('xrange', comp)
- comp = replaceStars(comp, options)
- debug('stars', comp)
- return comp
-}
-
-const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
-
-// ~, ~> --> * (any, kinda silly)
-// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
-// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
-// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
-// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
-// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
-// ~0.0.1 --> >=0.0.1 <0.1.0-0
-const replaceTildes = (comp, options) =>
- comp.trim().split(/\s+/).map((c) => {
- return replaceTilde(c, options)
- }).join(' ')
-
-const replaceTilde = (comp, options) => {
- const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]
- return comp.replace(r, (_, M, m, p, pr) => {
- debug('tilde', comp, _, M, m, p, pr)
- let ret
-
- if (isX(M)) {
- ret = ''
- } else if (isX(m)) {
- ret = `>=${M}.0.0 <${+M + 1}.0.0-0`
- } else if (isX(p)) {
- // ~1.2 == >=1.2.0 <1.3.0-0
- ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`
- } else if (pr) {
- debug('replaceTilde pr', pr)
- ret = `>=${M}.${m}.${p}-${pr
- } <${M}.${+m + 1}.0-0`
- } else {
- // ~1.2.3 == >=1.2.3 <1.3.0-0
- ret = `>=${M}.${m}.${p
- } <${M}.${+m + 1}.0-0`
- }
-
- debug('tilde return', ret)
- return ret
- })
-}
-
-// ^ --> * (any, kinda silly)
-// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
-// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
-// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
-// ^1.2.3 --> >=1.2.3 <2.0.0-0
-// ^1.2.0 --> >=1.2.0 <2.0.0-0
-// ^0.0.1 --> >=0.0.1 <0.0.2-0
-// ^0.1.0 --> >=0.1.0 <0.2.0-0
-const replaceCarets = (comp, options) =>
- comp.trim().split(/\s+/).map((c) => {
- return replaceCaret(c, options)
- }).join(' ')
-
-const replaceCaret = (comp, options) => {
- debug('caret', comp, options)
- const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]
- const z = options.includePrerelease ? '-0' : ''
- return comp.replace(r, (_, M, m, p, pr) => {
- debug('caret', comp, _, M, m, p, pr)
- let ret
-
- if (isX(M)) {
- ret = ''
- } else if (isX(m)) {
- ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`
- } else if (isX(p)) {
- if (M === '0') {
- ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`
- } else {
- ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`
- }
- } else if (pr) {
- debug('replaceCaret pr', pr)
- if (M === '0') {
- if (m === '0') {
- ret = `>=${M}.${m}.${p}-${pr
- } <${M}.${m}.${+p + 1}-0`
- } else {
- ret = `>=${M}.${m}.${p}-${pr
- } <${M}.${+m + 1}.0-0`
- }
- } else {
- ret = `>=${M}.${m}.${p}-${pr
- } <${+M + 1}.0.0-0`
- }
- } else {
- debug('no pr')
- if (M === '0') {
- if (m === '0') {
- ret = `>=${M}.${m}.${p
- }${z} <${M}.${m}.${+p + 1}-0`
- } else {
- ret = `>=${M}.${m}.${p
- }${z} <${M}.${+m + 1}.0-0`
- }
- } else {
- ret = `>=${M}.${m}.${p
- } <${+M + 1}.0.0-0`
- }
- }
-
- debug('caret return', ret)
- return ret
- })
-}
-
-const replaceXRanges = (comp, options) => {
- debug('replaceXRanges', comp, options)
- return comp.split(/\s+/).map((c) => {
- return replaceXRange(c, options)
- }).join(' ')
-}
-
-const replaceXRange = (comp, options) => {
- comp = comp.trim()
- const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]
- return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
- debug('xRange', comp, ret, gtlt, M, m, p, pr)
- const xM = isX(M)
- const xm = xM || isX(m)
- const xp = xm || isX(p)
- const anyX = xp
-
- if (gtlt === '=' && anyX) {
- gtlt = ''
- }
-
- // if we're including prereleases in the match, then we need
- // to fix this to -0, the lowest possible prerelease value
- pr = options.includePrerelease ? '-0' : ''
-
- if (xM) {
- if (gtlt === '>' || gtlt === '<') {
- // nothing is allowed
- ret = '<0.0.0-0'
- } else {
- // nothing is forbidden
- ret = '*'
- }
- } else if (gtlt && anyX) {
- // we know patch is an x, because we have any x at all.
- // replace X with 0
- if (xm) {
- m = 0
- }
- p = 0
-
- if (gtlt === '>') {
- // >1 => >=2.0.0
- // >1.2 => >=1.3.0
- gtlt = '>='
- if (xm) {
- M = +M + 1
- m = 0
- p = 0
- } else {
- m = +m + 1
- p = 0
- }
- } else if (gtlt === '<=') {
- // <=0.7.x is actually <0.8.0, since any 0.7.x should
- // pass. Similarly, <=7.x is actually <8.0.0, etc.
- gtlt = '<'
- if (xm) {
- M = +M + 1
- } else {
- m = +m + 1
- }
- }
-
- if (gtlt === '<') {
- pr = '-0'
- }
-
- ret = `${gtlt + M}.${m}.${p}${pr}`
- } else if (xm) {
- ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`
- } else if (xp) {
- ret = `>=${M}.${m}.0${pr
- } <${M}.${+m + 1}.0-0`
- }
-
- debug('xRange return', ret)
-
- return ret
- })
-}
-
-// Because * is AND-ed with everything else in the comparator,
-// and '' means "any version", just remove the *s entirely.
-const replaceStars = (comp, options) => {
- debug('replaceStars', comp, options)
- // Looseness is ignored here. star is always as loose as it gets!
- return comp.trim().replace(re[t.STAR], '')
-}
-
-const replaceGTE0 = (comp, options) => {
- debug('replaceGTE0', comp, options)
- return comp.trim()
- .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')
-}
-
-// This function is passed to string.replace(re[t.HYPHENRANGE])
-// M, m, patch, prerelease, build
-// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
-// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do
-// 1.2 - 3.4 => >=1.2.0 <3.5.0-0
-const hyphenReplace = incPr => ($0,
- from, fM, fm, fp, fpr, fb,
- to, tM, tm, tp, tpr, tb) => {
- if (isX(fM)) {
- from = ''
- } else if (isX(fm)) {
- from = `>=${fM}.0.0${incPr ? '-0' : ''}`
- } else if (isX(fp)) {
- from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`
- } else if (fpr) {
- from = `>=${from}`
- } else {
- from = `>=${from}${incPr ? '-0' : ''}`
- }
-
- if (isX(tM)) {
- to = ''
- } else if (isX(tm)) {
- to = `<${+tM + 1}.0.0-0`
- } else if (isX(tp)) {
- to = `<${tM}.${+tm + 1}.0-0`
- } else if (tpr) {
- to = `<=${tM}.${tm}.${tp}-${tpr}`
- } else if (incPr) {
- to = `<${tM}.${tm}.${+tp + 1}-0`
- } else {
- to = `<=${to}`
- }
-
- return (`${from} ${to}`).trim()
-}
-
-const testSet = (set, version, options) => {
- for (let i = 0; i < set.length; i++) {
- if (!set[i].test(version)) {
- return false
- }
- }
-
- if (version.prerelease.length && !options.includePrerelease) {
- // Find the set of versions that are allowed to have prereleases
- // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
- // That should allow `1.2.3-pr.2` to pass.
- // However, `1.2.4-alpha.notready` should NOT be allowed,
- // even though it's within the range set by the comparators.
- for (let i = 0; i < set.length; i++) {
- debug(set[i].semver)
- if (set[i].semver === Comparator.ANY) {
- continue
- }
-
- if (set[i].semver.prerelease.length > 0) {
- const allowed = set[i].semver
- if (allowed.major === version.major &&
- allowed.minor === version.minor &&
- allowed.patch === version.patch) {
- return true
- }
- }
- }
-
- // Version has a -pre, but it's not one of the ones we like.
- return false
- }
-
- return true
-}
diff --git a/includes/search/node_modules/semver/classes/semver.js b/includes/search/node_modules/semver/classes/semver.js
deleted file mode 100644
index 25ee889..0000000
--- a/includes/search/node_modules/semver/classes/semver.js
+++ /dev/null
@@ -1,300 +0,0 @@
-const debug = require('../internal/debug')
-const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')
-const { re, t } = require('../internal/re')
-
-const parseOptions = require('../internal/parse-options')
-const { compareIdentifiers } = require('../internal/identifiers')
-class SemVer {
- constructor (version, options) {
- options = parseOptions(options)
-
- if (version instanceof SemVer) {
- if (version.loose === !!options.loose &&
- version.includePrerelease === !!options.includePrerelease) {
- return version
- } else {
- version = version.version
- }
- } else if (typeof version !== 'string') {
- throw new TypeError(`Invalid Version: ${require('util').inspect(version)}`)
- }
-
- if (version.length > MAX_LENGTH) {
- throw new TypeError(
- `version is longer than ${MAX_LENGTH} characters`
- )
- }
-
- debug('SemVer', version, options)
- this.options = options
- this.loose = !!options.loose
- // this isn't actually relevant for versions, but keep it so that we
- // don't run into trouble passing this.options around.
- this.includePrerelease = !!options.includePrerelease
-
- const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])
-
- if (!m) {
- throw new TypeError(`Invalid Version: ${version}`)
- }
-
- this.raw = version
-
- // these are actually numbers
- this.major = +m[1]
- this.minor = +m[2]
- this.patch = +m[3]
-
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
- throw new TypeError('Invalid major version')
- }
-
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
- throw new TypeError('Invalid minor version')
- }
-
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
- throw new TypeError('Invalid patch version')
- }
-
- // numberify any prerelease numeric ids
- if (!m[4]) {
- this.prerelease = []
- } else {
- this.prerelease = m[4].split('.').map((id) => {
- if (/^[0-9]+$/.test(id)) {
- const num = +id
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
- return num
- }
- }
- return id
- })
- }
-
- this.build = m[5] ? m[5].split('.') : []
- this.format()
- }
-
- format () {
- this.version = `${this.major}.${this.minor}.${this.patch}`
- if (this.prerelease.length) {
- this.version += `-${this.prerelease.join('.')}`
- }
- return this.version
- }
-
- toString () {
- return this.version
- }
-
- compare (other) {
- debug('SemVer.compare', this.version, this.options, other)
- if (!(other instanceof SemVer)) {
- if (typeof other === 'string' && other === this.version) {
- return 0
- }
- other = new SemVer(other, this.options)
- }
-
- if (other.version === this.version) {
- return 0
- }
-
- return this.compareMain(other) || this.comparePre(other)
- }
-
- compareMain (other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
-
- return (
- compareIdentifiers(this.major, other.major) ||
- compareIdentifiers(this.minor, other.minor) ||
- compareIdentifiers(this.patch, other.patch)
- )
- }
-
- comparePre (other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
-
- // NOT having a prerelease is > having one
- if (this.prerelease.length && !other.prerelease.length) {
- return -1
- } else if (!this.prerelease.length && other.prerelease.length) {
- return 1
- } else if (!this.prerelease.length && !other.prerelease.length) {
- return 0
- }
-
- let i = 0
- do {
- const a = this.prerelease[i]
- const b = other.prerelease[i]
- debug('prerelease compare', i, a, b)
- if (a === undefined && b === undefined) {
- return 0
- } else if (b === undefined) {
- return 1
- } else if (a === undefined) {
- return -1
- } else if (a === b) {
- continue
- } else {
- return compareIdentifiers(a, b)
- }
- } while (++i)
- }
-
- compareBuild (other) {
- if (!(other instanceof SemVer)) {
- other = new SemVer(other, this.options)
- }
-
- let i = 0
- do {
- const a = this.build[i]
- const b = other.build[i]
- debug('prerelease compare', i, a, b)
- if (a === undefined && b === undefined) {
- return 0
- } else if (b === undefined) {
- return 1
- } else if (a === undefined) {
- return -1
- } else if (a === b) {
- continue
- } else {
- return compareIdentifiers(a, b)
- }
- } while (++i)
- }
-
- // preminor will bump the version up to the next minor release, and immediately
- // down to pre-release. premajor and prepatch work the same way.
- inc (release, identifier, identifierBase) {
- switch (release) {
- case 'premajor':
- this.prerelease.length = 0
- this.patch = 0
- this.minor = 0
- this.major++
- this.inc('pre', identifier, identifierBase)
- break
- case 'preminor':
- this.prerelease.length = 0
- this.patch = 0
- this.minor++
- this.inc('pre', identifier, identifierBase)
- break
- case 'prepatch':
- // If this is already a prerelease, it will bump to the next version
- // drop any prereleases that might already exist, since they are not
- // relevant at this point.
- this.prerelease.length = 0
- this.inc('patch', identifier, identifierBase)
- this.inc('pre', identifier, identifierBase)
- break
- // If the input is a non-prerelease version, this acts the same as
- // prepatch.
- case 'prerelease':
- if (this.prerelease.length === 0) {
- this.inc('patch', identifier, identifierBase)
- }
- this.inc('pre', identifier, identifierBase)
- break
-
- case 'major':
- // If this is a pre-major version, bump up to the same major version.
- // Otherwise increment major.
- // 1.0.0-5 bumps to 1.0.0
- // 1.1.0 bumps to 2.0.0
- if (
- this.minor !== 0 ||
- this.patch !== 0 ||
- this.prerelease.length === 0
- ) {
- this.major++
- }
- this.minor = 0
- this.patch = 0
- this.prerelease = []
- break
- case 'minor':
- // If this is a pre-minor version, bump up to the same minor version.
- // Otherwise increment minor.
- // 1.2.0-5 bumps to 1.2.0
- // 1.2.1 bumps to 1.3.0
- if (this.patch !== 0 || this.prerelease.length === 0) {
- this.minor++
- }
- this.patch = 0
- this.prerelease = []
- break
- case 'patch':
- // If this is not a pre-release version, it will increment the patch.
- // If it is a pre-release it will bump up to the same patch version.
- // 1.2.0-5 patches to 1.2.0
- // 1.2.0 patches to 1.2.1
- if (this.prerelease.length === 0) {
- this.patch++
- }
- this.prerelease = []
- break
- // This probably shouldn't be used publicly.
- // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
- case 'pre': {
- const base = Number(identifierBase) ? 1 : 0
-
- if (!identifier && identifierBase === false) {
- throw new Error('invalid increment argument: identifier is empty')
- }
-
- if (this.prerelease.length === 0) {
- this.prerelease = [base]
- } else {
- let i = this.prerelease.length
- while (--i >= 0) {
- if (typeof this.prerelease[i] === 'number') {
- this.prerelease[i]++
- i = -2
- }
- }
- if (i === -1) {
- // didn't increment anything
- if (identifier === this.prerelease.join('.') && identifierBase === false) {
- throw new Error('invalid increment argument: identifier already exists')
- }
- this.prerelease.push(base)
- }
- }
- if (identifier) {
- // 1.2.0-beta.1 bumps to 1.2.0-beta.2,
- // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0
- let prerelease = [identifier, base]
- if (identifierBase === false) {
- prerelease = [identifier]
- }
- if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
- if (isNaN(this.prerelease[1])) {
- this.prerelease = prerelease
- }
- } else {
- this.prerelease = prerelease
- }
- }
- break
- }
- default:
- throw new Error(`invalid increment argument: ${release}`)
- }
- this.format()
- this.raw = this.version
- return this
- }
-}
-
-module.exports = SemVer
diff --git a/includes/search/node_modules/semver/functions/clean.js b/includes/search/node_modules/semver/functions/clean.js
deleted file mode 100644
index 811fe6b..0000000
--- a/includes/search/node_modules/semver/functions/clean.js
+++ /dev/null
@@ -1,6 +0,0 @@
-const parse = require('./parse')
-const clean = (version, options) => {
- const s = parse(version.trim().replace(/^[=v]+/, ''), options)
- return s ? s.version : null
-}
-module.exports = clean
diff --git a/includes/search/node_modules/semver/functions/cmp.js b/includes/search/node_modules/semver/functions/cmp.js
deleted file mode 100644
index 4011909..0000000
--- a/includes/search/node_modules/semver/functions/cmp.js
+++ /dev/null
@@ -1,52 +0,0 @@
-const eq = require('./eq')
-const neq = require('./neq')
-const gt = require('./gt')
-const gte = require('./gte')
-const lt = require('./lt')
-const lte = require('./lte')
-
-const cmp = (a, op, b, loose) => {
- switch (op) {
- case '===':
- if (typeof a === 'object') {
- a = a.version
- }
- if (typeof b === 'object') {
- b = b.version
- }
- return a === b
-
- case '!==':
- if (typeof a === 'object') {
- a = a.version
- }
- if (typeof b === 'object') {
- b = b.version
- }
- return a !== b
-
- case '':
- case '=':
- case '==':
- return eq(a, b, loose)
-
- case '!=':
- return neq(a, b, loose)
-
- case '>':
- return gt(a, b, loose)
-
- case '>=':
- return gte(a, b, loose)
-
- case '<':
- return lt(a, b, loose)
-
- case '<=':
- return lte(a, b, loose)
-
- default:
- throw new TypeError(`Invalid operator: ${op}`)
- }
-}
-module.exports = cmp
diff --git a/includes/search/node_modules/semver/functions/coerce.js b/includes/search/node_modules/semver/functions/coerce.js
deleted file mode 100644
index 2e01452..0000000
--- a/includes/search/node_modules/semver/functions/coerce.js
+++ /dev/null
@@ -1,52 +0,0 @@
-const SemVer = require('../classes/semver')
-const parse = require('./parse')
-const { re, t } = require('../internal/re')
-
-const coerce = (version, options) => {
- if (version instanceof SemVer) {
- return version
- }
-
- if (typeof version === 'number') {
- version = String(version)
- }
-
- if (typeof version !== 'string') {
- return null
- }
-
- options = options || {}
-
- let match = null
- if (!options.rtl) {
- match = version.match(re[t.COERCE])
- } else {
- // Find the right-most coercible string that does not share
- // a terminus with a more left-ward coercible string.
- // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'
- //
- // Walk through the string checking with a /g regexp
- // Manually set the index so as to pick up overlapping matches.
- // Stop when we get a match that ends at the string end, since no
- // coercible string can be more right-ward without the same terminus.
- let next
- while ((next = re[t.COERCERTL].exec(version)) &&
- (!match || match.index + match[0].length !== version.length)
- ) {
- if (!match ||
- next.index + next[0].length !== match.index + match[0].length) {
- match = next
- }
- re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length
- }
- // leave it in a clean state
- re[t.COERCERTL].lastIndex = -1
- }
-
- if (match === null) {
- return null
- }
-
- return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)
-}
-module.exports = coerce
diff --git a/includes/search/node_modules/semver/functions/compare-build.js b/includes/search/node_modules/semver/functions/compare-build.js
deleted file mode 100644
index 9eb881b..0000000
--- a/includes/search/node_modules/semver/functions/compare-build.js
+++ /dev/null
@@ -1,7 +0,0 @@
-const SemVer = require('../classes/semver')
-const compareBuild = (a, b, loose) => {
- const versionA = new SemVer(a, loose)
- const versionB = new SemVer(b, loose)
- return versionA.compare(versionB) || versionA.compareBuild(versionB)
-}
-module.exports = compareBuild
diff --git a/includes/search/node_modules/semver/functions/compare-loose.js b/includes/search/node_modules/semver/functions/compare-loose.js
deleted file mode 100644
index 4881fbe..0000000
--- a/includes/search/node_modules/semver/functions/compare-loose.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compare = require('./compare')
-const compareLoose = (a, b) => compare(a, b, true)
-module.exports = compareLoose
diff --git a/includes/search/node_modules/semver/functions/compare.js b/includes/search/node_modules/semver/functions/compare.js
deleted file mode 100644
index 748b7af..0000000
--- a/includes/search/node_modules/semver/functions/compare.js
+++ /dev/null
@@ -1,5 +0,0 @@
-const SemVer = require('../classes/semver')
-const compare = (a, b, loose) =>
- new SemVer(a, loose).compare(new SemVer(b, loose))
-
-module.exports = compare
diff --git a/includes/search/node_modules/semver/functions/diff.js b/includes/search/node_modules/semver/functions/diff.js
deleted file mode 100644
index fafc11c..0000000
--- a/includes/search/node_modules/semver/functions/diff.js
+++ /dev/null
@@ -1,54 +0,0 @@
-const parse = require('./parse.js')
-
-const diff = (version1, version2) => {
- const v1 = parse(version1, null, true)
- const v2 = parse(version2, null, true)
- const comparison = v1.compare(v2)
-
- if (comparison === 0) {
- return null
- }
-
- const v1Higher = comparison > 0
- const highVersion = v1Higher ? v1 : v2
- const lowVersion = v1Higher ? v2 : v1
- const highHasPre = !!highVersion.prerelease.length
-
- // add the `pre` prefix if we are going to a prerelease version
- const prefix = highHasPre ? 'pre' : ''
-
- if (v1.major !== v2.major) {
- return prefix + 'major'
- }
-
- if (v1.minor !== v2.minor) {
- return prefix + 'minor'
- }
-
- if (v1.patch !== v2.patch) {
- return prefix + 'patch'
- }
-
- // at this point we know stable versions match but overall versions are not equal,
- // so either they are both prereleases, or the lower version is a prerelease
-
- if (highHasPre) {
- // high and low are preleases
- return 'prerelease'
- }
-
- if (lowVersion.patch) {
- // anything higher than a patch bump would result in the wrong version
- return 'patch'
- }
-
- if (lowVersion.minor) {
- // anything higher than a minor bump would result in the wrong version
- return 'minor'
- }
-
- // bumping major/minor/patch all have same result
- return 'major'
-}
-
-module.exports = diff
diff --git a/includes/search/node_modules/semver/functions/eq.js b/includes/search/node_modules/semver/functions/eq.js
deleted file mode 100644
index 271fed9..0000000
--- a/includes/search/node_modules/semver/functions/eq.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compare = require('./compare')
-const eq = (a, b, loose) => compare(a, b, loose) === 0
-module.exports = eq
diff --git a/includes/search/node_modules/semver/functions/gt.js b/includes/search/node_modules/semver/functions/gt.js
deleted file mode 100644
index d9b2156..0000000
--- a/includes/search/node_modules/semver/functions/gt.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compare = require('./compare')
-const gt = (a, b, loose) => compare(a, b, loose) > 0
-module.exports = gt
diff --git a/includes/search/node_modules/semver/functions/gte.js b/includes/search/node_modules/semver/functions/gte.js
deleted file mode 100644
index 5aeaa63..0000000
--- a/includes/search/node_modules/semver/functions/gte.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compare = require('./compare')
-const gte = (a, b, loose) => compare(a, b, loose) >= 0
-module.exports = gte
diff --git a/includes/search/node_modules/semver/functions/inc.js b/includes/search/node_modules/semver/functions/inc.js
deleted file mode 100644
index 7670b1b..0000000
--- a/includes/search/node_modules/semver/functions/inc.js
+++ /dev/null
@@ -1,19 +0,0 @@
-const SemVer = require('../classes/semver')
-
-const inc = (version, release, options, identifier, identifierBase) => {
- if (typeof (options) === 'string') {
- identifierBase = identifier
- identifier = options
- options = undefined
- }
-
- try {
- return new SemVer(
- version instanceof SemVer ? version.version : version,
- options
- ).inc(release, identifier, identifierBase).version
- } catch (er) {
- return null
- }
-}
-module.exports = inc
diff --git a/includes/search/node_modules/semver/functions/lt.js b/includes/search/node_modules/semver/functions/lt.js
deleted file mode 100644
index b440ab7..0000000
--- a/includes/search/node_modules/semver/functions/lt.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compare = require('./compare')
-const lt = (a, b, loose) => compare(a, b, loose) < 0
-module.exports = lt
diff --git a/includes/search/node_modules/semver/functions/lte.js b/includes/search/node_modules/semver/functions/lte.js
deleted file mode 100644
index 6dcc956..0000000
--- a/includes/search/node_modules/semver/functions/lte.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compare = require('./compare')
-const lte = (a, b, loose) => compare(a, b, loose) <= 0
-module.exports = lte
diff --git a/includes/search/node_modules/semver/functions/major.js b/includes/search/node_modules/semver/functions/major.js
deleted file mode 100644
index 4283165..0000000
--- a/includes/search/node_modules/semver/functions/major.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const SemVer = require('../classes/semver')
-const major = (a, loose) => new SemVer(a, loose).major
-module.exports = major
diff --git a/includes/search/node_modules/semver/functions/minor.js b/includes/search/node_modules/semver/functions/minor.js
deleted file mode 100644
index 57b3455..0000000
--- a/includes/search/node_modules/semver/functions/minor.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const SemVer = require('../classes/semver')
-const minor = (a, loose) => new SemVer(a, loose).minor
-module.exports = minor
diff --git a/includes/search/node_modules/semver/functions/neq.js b/includes/search/node_modules/semver/functions/neq.js
deleted file mode 100644
index f944c01..0000000
--- a/includes/search/node_modules/semver/functions/neq.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compare = require('./compare')
-const neq = (a, b, loose) => compare(a, b, loose) !== 0
-module.exports = neq
diff --git a/includes/search/node_modules/semver/functions/parse.js b/includes/search/node_modules/semver/functions/parse.js
deleted file mode 100644
index 459b3b1..0000000
--- a/includes/search/node_modules/semver/functions/parse.js
+++ /dev/null
@@ -1,16 +0,0 @@
-const SemVer = require('../classes/semver')
-const parse = (version, options, throwErrors = false) => {
- if (version instanceof SemVer) {
- return version
- }
- try {
- return new SemVer(version, options)
- } catch (er) {
- if (!throwErrors) {
- return null
- }
- throw er
- }
-}
-
-module.exports = parse
diff --git a/includes/search/node_modules/semver/functions/patch.js b/includes/search/node_modules/semver/functions/patch.js
deleted file mode 100644
index 63afca2..0000000
--- a/includes/search/node_modules/semver/functions/patch.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const SemVer = require('../classes/semver')
-const patch = (a, loose) => new SemVer(a, loose).patch
-module.exports = patch
diff --git a/includes/search/node_modules/semver/functions/prerelease.js b/includes/search/node_modules/semver/functions/prerelease.js
deleted file mode 100644
index 06aa132..0000000
--- a/includes/search/node_modules/semver/functions/prerelease.js
+++ /dev/null
@@ -1,6 +0,0 @@
-const parse = require('./parse')
-const prerelease = (version, options) => {
- const parsed = parse(version, options)
- return (parsed && parsed.prerelease.length) ? parsed.prerelease : null
-}
-module.exports = prerelease
diff --git a/includes/search/node_modules/semver/functions/rcompare.js b/includes/search/node_modules/semver/functions/rcompare.js
deleted file mode 100644
index 0ac509e..0000000
--- a/includes/search/node_modules/semver/functions/rcompare.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compare = require('./compare')
-const rcompare = (a, b, loose) => compare(b, a, loose)
-module.exports = rcompare
diff --git a/includes/search/node_modules/semver/functions/rsort.js b/includes/search/node_modules/semver/functions/rsort.js
deleted file mode 100644
index 82404c5..0000000
--- a/includes/search/node_modules/semver/functions/rsort.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compareBuild = require('./compare-build')
-const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))
-module.exports = rsort
diff --git a/includes/search/node_modules/semver/functions/satisfies.js b/includes/search/node_modules/semver/functions/satisfies.js
deleted file mode 100644
index 50af1c1..0000000
--- a/includes/search/node_modules/semver/functions/satisfies.js
+++ /dev/null
@@ -1,10 +0,0 @@
-const Range = require('../classes/range')
-const satisfies = (version, range, options) => {
- try {
- range = new Range(range, options)
- } catch (er) {
- return false
- }
- return range.test(version)
-}
-module.exports = satisfies
diff --git a/includes/search/node_modules/semver/functions/sort.js b/includes/search/node_modules/semver/functions/sort.js
deleted file mode 100644
index 4d10917..0000000
--- a/includes/search/node_modules/semver/functions/sort.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const compareBuild = require('./compare-build')
-const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))
-module.exports = sort
diff --git a/includes/search/node_modules/semver/functions/valid.js b/includes/search/node_modules/semver/functions/valid.js
deleted file mode 100644
index f27bae1..0000000
--- a/includes/search/node_modules/semver/functions/valid.js
+++ /dev/null
@@ -1,6 +0,0 @@
-const parse = require('./parse')
-const valid = (version, options) => {
- const v = parse(version, options)
- return v ? v.version : null
-}
-module.exports = valid
diff --git a/includes/search/node_modules/semver/index.js b/includes/search/node_modules/semver/index.js
deleted file mode 100644
index 86d42ac..0000000
--- a/includes/search/node_modules/semver/index.js
+++ /dev/null
@@ -1,89 +0,0 @@
-// just pre-load all the stuff that index.js lazily exports
-const internalRe = require('./internal/re')
-const constants = require('./internal/constants')
-const SemVer = require('./classes/semver')
-const identifiers = require('./internal/identifiers')
-const parse = require('./functions/parse')
-const valid = require('./functions/valid')
-const clean = require('./functions/clean')
-const inc = require('./functions/inc')
-const diff = require('./functions/diff')
-const major = require('./functions/major')
-const minor = require('./functions/minor')
-const patch = require('./functions/patch')
-const prerelease = require('./functions/prerelease')
-const compare = require('./functions/compare')
-const rcompare = require('./functions/rcompare')
-const compareLoose = require('./functions/compare-loose')
-const compareBuild = require('./functions/compare-build')
-const sort = require('./functions/sort')
-const rsort = require('./functions/rsort')
-const gt = require('./functions/gt')
-const lt = require('./functions/lt')
-const eq = require('./functions/eq')
-const neq = require('./functions/neq')
-const gte = require('./functions/gte')
-const lte = require('./functions/lte')
-const cmp = require('./functions/cmp')
-const coerce = require('./functions/coerce')
-const Comparator = require('./classes/comparator')
-const Range = require('./classes/range')
-const satisfies = require('./functions/satisfies')
-const toComparators = require('./ranges/to-comparators')
-const maxSatisfying = require('./ranges/max-satisfying')
-const minSatisfying = require('./ranges/min-satisfying')
-const minVersion = require('./ranges/min-version')
-const validRange = require('./ranges/valid')
-const outside = require('./ranges/outside')
-const gtr = require('./ranges/gtr')
-const ltr = require('./ranges/ltr')
-const intersects = require('./ranges/intersects')
-const simplifyRange = require('./ranges/simplify')
-const subset = require('./ranges/subset')
-module.exports = {
- parse,
- valid,
- clean,
- inc,
- diff,
- major,
- minor,
- patch,
- prerelease,
- compare,
- rcompare,
- compareLoose,
- compareBuild,
- sort,
- rsort,
- gt,
- lt,
- eq,
- neq,
- gte,
- lte,
- cmp,
- coerce,
- Comparator,
- Range,
- satisfies,
- toComparators,
- maxSatisfying,
- minSatisfying,
- minVersion,
- validRange,
- outside,
- gtr,
- ltr,
- intersects,
- simplifyRange,
- subset,
- SemVer,
- re: internalRe.re,
- src: internalRe.src,
- tokens: internalRe.t,
- SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
- RELEASE_TYPES: constants.RELEASE_TYPES,
- compareIdentifiers: identifiers.compareIdentifiers,
- rcompareIdentifiers: identifiers.rcompareIdentifiers,
-}
diff --git a/includes/search/node_modules/semver/internal/constants.js b/includes/search/node_modules/semver/internal/constants.js
deleted file mode 100644
index 25fab1e..0000000
--- a/includes/search/node_modules/semver/internal/constants.js
+++ /dev/null
@@ -1,30 +0,0 @@
-// Note: this is the semver.org version of the spec that it implements
-// Not necessarily the package version of this code.
-const SEMVER_SPEC_VERSION = '2.0.0'
-
-const MAX_LENGTH = 256
-const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
-/* istanbul ignore next */ 9007199254740991
-
-// Max safe segment length for coercion.
-const MAX_SAFE_COMPONENT_LENGTH = 16
-
-const RELEASE_TYPES = [
- 'major',
- 'premajor',
- 'minor',
- 'preminor',
- 'patch',
- 'prepatch',
- 'prerelease',
-]
-
-module.exports = {
- MAX_LENGTH,
- MAX_SAFE_COMPONENT_LENGTH,
- MAX_SAFE_INTEGER,
- RELEASE_TYPES,
- SEMVER_SPEC_VERSION,
- FLAG_INCLUDE_PRERELEASE: 0b001,
- FLAG_LOOSE: 0b010,
-}
diff --git a/includes/search/node_modules/semver/internal/debug.js b/includes/search/node_modules/semver/internal/debug.js
deleted file mode 100644
index 1c00e13..0000000
--- a/includes/search/node_modules/semver/internal/debug.js
+++ /dev/null
@@ -1,9 +0,0 @@
-const debug = (
- typeof process === 'object' &&
- process.env &&
- process.env.NODE_DEBUG &&
- /\bsemver\b/i.test(process.env.NODE_DEBUG)
-) ? (...args) => console.error('SEMVER', ...args)
- : () => {}
-
-module.exports = debug
diff --git a/includes/search/node_modules/semver/internal/identifiers.js b/includes/search/node_modules/semver/internal/identifiers.js
deleted file mode 100644
index e612d0a..0000000
--- a/includes/search/node_modules/semver/internal/identifiers.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const numeric = /^[0-9]+$/
-const compareIdentifiers = (a, b) => {
- const anum = numeric.test(a)
- const bnum = numeric.test(b)
-
- if (anum && bnum) {
- a = +a
- b = +b
- }
-
- return a === b ? 0
- : (anum && !bnum) ? -1
- : (bnum && !anum) ? 1
- : a < b ? -1
- : 1
-}
-
-const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)
-
-module.exports = {
- compareIdentifiers,
- rcompareIdentifiers,
-}
diff --git a/includes/search/node_modules/semver/internal/parse-options.js b/includes/search/node_modules/semver/internal/parse-options.js
deleted file mode 100644
index 10d64ce..0000000
--- a/includes/search/node_modules/semver/internal/parse-options.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// parse out just the options we care about
-const looseOption = Object.freeze({ loose: true })
-const emptyOpts = Object.freeze({ })
-const parseOptions = options => {
- if (!options) {
- return emptyOpts
- }
-
- if (typeof options !== 'object') {
- return looseOption
- }
-
- return options
-}
-module.exports = parseOptions
diff --git a/includes/search/node_modules/semver/internal/re.js b/includes/search/node_modules/semver/internal/re.js
deleted file mode 100644
index ed88398..0000000
--- a/includes/search/node_modules/semver/internal/re.js
+++ /dev/null
@@ -1,182 +0,0 @@
-const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')
-const debug = require('./debug')
-exports = module.exports = {}
-
-// The actual regexps go on exports.re
-const re = exports.re = []
-const src = exports.src = []
-const t = exports.t = {}
-let R = 0
-
-const createToken = (name, value, isGlobal) => {
- const index = R++
- debug(name, index, value)
- t[name] = index
- src[index] = value
- re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
-}
-
-// The following Regular Expressions can be used for tokenizing,
-// validating, and parsing SemVer version strings.
-
-// ## Numeric Identifier
-// A single `0`, or a non-zero digit followed by zero or more digits.
-
-createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
-createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')
-
-// ## Non-numeric Identifier
-// Zero or more digits, followed by a letter or hyphen, and then zero or
-// more letters, digits, or hyphens.
-
-createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*')
-
-// ## Main Version
-// Three dot-separated numeric identifiers.
-
-createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` +
- `(${src[t.NUMERICIDENTIFIER]})\\.` +
- `(${src[t.NUMERICIDENTIFIER]})`)
-
-createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
- `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
- `(${src[t.NUMERICIDENTIFIERLOOSE]})`)
-
-// ## Pre-release Version Identifier
-// A numeric identifier, or a non-numeric identifier.
-
-createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]
-}|${src[t.NONNUMERICIDENTIFIER]})`)
-
-createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]
-}|${src[t.NONNUMERICIDENTIFIER]})`)
-
-// ## Pre-release Version
-// Hyphen, followed by one or more dot-separated pre-release version
-// identifiers.
-
-createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]
-}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`)
-
-createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]
-}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)
-
-// ## Build Metadata Identifier
-// Any combination of digits, letters, or hyphens.
-
-createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')
-
-// ## Build Metadata
-// Plus sign, followed by one or more period-separated build metadata
-// identifiers.
-
-createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER]
-}(?:\\.${src[t.BUILDIDENTIFIER]})*))`)
-
-// ## Full Version String
-// A main version, followed optionally by a pre-release version and
-// build metadata.
-
-// Note that the only major, minor, patch, and pre-release sections of
-// the version string are capturing groups. The build metadata is not a
-// capturing group, because it should not ever be used in version
-// comparison.
-
-createToken('FULLPLAIN', `v?${src[t.MAINVERSION]
-}${src[t.PRERELEASE]}?${
- src[t.BUILD]}?`)
-
-createToken('FULL', `^${src[t.FULLPLAIN]}$`)
-
-// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
-// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
-// common in the npm registry.
-createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE]
-}${src[t.PRERELEASELOOSE]}?${
- src[t.BUILD]}?`)
-
-createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)
-
-createToken('GTLT', '((?:<|>)?=?)')
-
-// Something like "2.*" or "1.2.x".
-// Note that "x.x" is a valid xRange identifer, meaning "any version"
-// Only the first item is strictly required.
-createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`)
-createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`)
-
-createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` +
- `(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
- `(?:\\.(${src[t.XRANGEIDENTIFIER]})` +
- `(?:${src[t.PRERELEASE]})?${
- src[t.BUILD]}?` +
- `)?)?`)
-
-createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +
- `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
- `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +
- `(?:${src[t.PRERELEASELOOSE]})?${
- src[t.BUILD]}?` +
- `)?)?`)
-
-createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`)
-createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`)
-
-// Coercion.
-// Extract anything that could conceivably be a part of a valid semver
-createToken('COERCE', `${'(^|[^\\d])' +
- '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +
- `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
- `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
- `(?:$|[^\\d])`)
-createToken('COERCERTL', src[t.COERCE], true)
-
-// Tilde ranges.
-// Meaning is "reasonably at or greater than"
-createToken('LONETILDE', '(?:~>?)')
-
-createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true)
-exports.tildeTrimReplace = '$1~'
-
-createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)
-createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)
-
-// Caret ranges.
-// Meaning is "at least and backwards compatible with"
-createToken('LONECARET', '(?:\\^)')
-
-createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true)
-exports.caretTrimReplace = '$1^'
-
-createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)
-createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)
-
-// A simple gt/lt/eq thing, or just "" to indicate "any version"
-createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`)
-createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`)
-
-// An expression to strip any whitespace between the gtlt and the thing
-// it modifies, so that `> 1.2.3` ==> `>1.2.3`
-createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT]
-}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)
-exports.comparatorTrimReplace = '$1$2$3'
-
-// Something like `1.2.3 - 1.2.4`
-// Note that these all use the loose form, because they'll be
-// checked against either the strict or loose comparator form
-// later.
-createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` +
- `\\s+-\\s+` +
- `(${src[t.XRANGEPLAIN]})` +
- `\\s*$`)
-
-createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` +
- `\\s+-\\s+` +
- `(${src[t.XRANGEPLAINLOOSE]})` +
- `\\s*$`)
-
-// Star ranges basically just allow anything at all.
-createToken('STAR', '(<|>)?=?\\s*\\*')
-// >=0.0.0 is like a star
-createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$')
-createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$')
diff --git a/includes/search/node_modules/semver/package.json b/includes/search/node_modules/semver/package.json
deleted file mode 100644
index 0a6095b..0000000
--- a/includes/search/node_modules/semver/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "name": "semver",
- "version": "7.5.0",
- "description": "The semantic version parser used by npm.",
- "main": "index.js",
- "scripts": {
- "test": "tap",
- "snap": "tap",
- "lint": "eslint \"**/*.js\"",
- "postlint": "template-oss-check",
- "lintfix": "npm run lint -- --fix",
- "posttest": "npm run lint",
- "template-oss-apply": "template-oss-apply --force"
- },
- "devDependencies": {
- "@npmcli/eslint-config": "^4.0.0",
- "@npmcli/template-oss": "4.13.0",
- "tap": "^16.0.0"
- },
- "license": "ISC",
- "repository": {
- "type": "git",
- "url": "https://github.com/npm/node-semver.git"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "files": [
- "bin/",
- "lib/",
- "classes/",
- "functions/",
- "internal/",
- "ranges/",
- "index.js",
- "preload.js",
- "range.bnf"
- ],
- "tap": {
- "check-coverage": true,
- "coverage-map": "map.js",
- "nyc-arg": [
- "--exclude",
- "tap-snapshots/**"
- ]
- },
- "engines": {
- "node": ">=10"
- },
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "author": "GitHub Inc.",
- "templateOSS": {
- "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.13.0",
- "engines": ">=10",
- "ciVersions": [
- "10.0.0",
- "10.x",
- "12.x",
- "14.x",
- "16.x",
- "18.x"
- ],
- "npmSpec": "8",
- "distPaths": [
- "classes/",
- "functions/",
- "internal/",
- "ranges/",
- "index.js",
- "preload.js",
- "range.bnf"
- ],
- "allowPaths": [
- "/classes/",
- "/functions/",
- "/internal/",
- "/ranges/",
- "/index.js",
- "/preload.js",
- "/range.bnf"
- ],
- "publish": "true"
- }
-}
diff --git a/includes/search/node_modules/semver/preload.js b/includes/search/node_modules/semver/preload.js
deleted file mode 100644
index 947cd4f..0000000
--- a/includes/search/node_modules/semver/preload.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// XXX remove in v8 or beyond
-module.exports = require('./index.js')
diff --git a/includes/search/node_modules/semver/range.bnf b/includes/search/node_modules/semver/range.bnf
deleted file mode 100644
index d4c6ae0..0000000
--- a/includes/search/node_modules/semver/range.bnf
+++ /dev/null
@@ -1,16 +0,0 @@
-range-set ::= range ( logical-or range ) *
-logical-or ::= ( ' ' ) * '||' ( ' ' ) *
-range ::= hyphen | simple ( ' ' simple ) * | ''
-hyphen ::= partial ' - ' partial
-simple ::= primitive | partial | tilde | caret
-primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
-partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
-xr ::= 'x' | 'X' | '*' | nr
-nr ::= '0' | [1-9] ( [0-9] ) *
-tilde ::= '~' partial
-caret ::= '^' partial
-qualifier ::= ( '-' pre )? ( '+' build )?
-pre ::= parts
-build ::= parts
-parts ::= part ( '.' part ) *
-part ::= nr | [-0-9A-Za-z]+
diff --git a/includes/search/node_modules/semver/ranges/gtr.js b/includes/search/node_modules/semver/ranges/gtr.js
deleted file mode 100644
index db7e355..0000000
--- a/includes/search/node_modules/semver/ranges/gtr.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// Determine if version is greater than all the versions possible in the range.
-const outside = require('./outside')
-const gtr = (version, range, options) => outside(version, range, '>', options)
-module.exports = gtr
diff --git a/includes/search/node_modules/semver/ranges/intersects.js b/includes/search/node_modules/semver/ranges/intersects.js
deleted file mode 100644
index e0e9b7c..0000000
--- a/includes/search/node_modules/semver/ranges/intersects.js
+++ /dev/null
@@ -1,7 +0,0 @@
-const Range = require('../classes/range')
-const intersects = (r1, r2, options) => {
- r1 = new Range(r1, options)
- r2 = new Range(r2, options)
- return r1.intersects(r2, options)
-}
-module.exports = intersects
diff --git a/includes/search/node_modules/semver/ranges/ltr.js b/includes/search/node_modules/semver/ranges/ltr.js
deleted file mode 100644
index 528a885..0000000
--- a/includes/search/node_modules/semver/ranges/ltr.js
+++ /dev/null
@@ -1,4 +0,0 @@
-const outside = require('./outside')
-// Determine if version is less than all the versions possible in the range
-const ltr = (version, range, options) => outside(version, range, '<', options)
-module.exports = ltr
diff --git a/includes/search/node_modules/semver/ranges/max-satisfying.js b/includes/search/node_modules/semver/ranges/max-satisfying.js
deleted file mode 100644
index 6e3d993..0000000
--- a/includes/search/node_modules/semver/ranges/max-satisfying.js
+++ /dev/null
@@ -1,25 +0,0 @@
-const SemVer = require('../classes/semver')
-const Range = require('../classes/range')
-
-const maxSatisfying = (versions, range, options) => {
- let max = null
- let maxSV = null
- let rangeObj = null
- try {
- rangeObj = new Range(range, options)
- } catch (er) {
- return null
- }
- versions.forEach((v) => {
- if (rangeObj.test(v)) {
- // satisfies(v, range, options)
- if (!max || maxSV.compare(v) === -1) {
- // compare(max, v, true)
- max = v
- maxSV = new SemVer(max, options)
- }
- }
- })
- return max
-}
-module.exports = maxSatisfying
diff --git a/includes/search/node_modules/semver/ranges/min-satisfying.js b/includes/search/node_modules/semver/ranges/min-satisfying.js
deleted file mode 100644
index 9b60974..0000000
--- a/includes/search/node_modules/semver/ranges/min-satisfying.js
+++ /dev/null
@@ -1,24 +0,0 @@
-const SemVer = require('../classes/semver')
-const Range = require('../classes/range')
-const minSatisfying = (versions, range, options) => {
- let min = null
- let minSV = null
- let rangeObj = null
- try {
- rangeObj = new Range(range, options)
- } catch (er) {
- return null
- }
- versions.forEach((v) => {
- if (rangeObj.test(v)) {
- // satisfies(v, range, options)
- if (!min || minSV.compare(v) === 1) {
- // compare(min, v, true)
- min = v
- minSV = new SemVer(min, options)
- }
- }
- })
- return min
-}
-module.exports = minSatisfying
diff --git a/includes/search/node_modules/semver/ranges/min-version.js b/includes/search/node_modules/semver/ranges/min-version.js
deleted file mode 100644
index 350e1f7..0000000
--- a/includes/search/node_modules/semver/ranges/min-version.js
+++ /dev/null
@@ -1,61 +0,0 @@
-const SemVer = require('../classes/semver')
-const Range = require('../classes/range')
-const gt = require('../functions/gt')
-
-const minVersion = (range, loose) => {
- range = new Range(range, loose)
-
- let minver = new SemVer('0.0.0')
- if (range.test(minver)) {
- return minver
- }
-
- minver = new SemVer('0.0.0-0')
- if (range.test(minver)) {
- return minver
- }
-
- minver = null
- for (let i = 0; i < range.set.length; ++i) {
- const comparators = range.set[i]
-
- let setMin = null
- comparators.forEach((comparator) => {
- // Clone to avoid manipulating the comparator's semver object.
- const compver = new SemVer(comparator.semver.version)
- switch (comparator.operator) {
- case '>':
- if (compver.prerelease.length === 0) {
- compver.patch++
- } else {
- compver.prerelease.push(0)
- }
- compver.raw = compver.format()
- /* fallthrough */
- case '':
- case '>=':
- if (!setMin || gt(compver, setMin)) {
- setMin = compver
- }
- break
- case '<':
- case '<=':
- /* Ignore maximum versions */
- break
- /* istanbul ignore next */
- default:
- throw new Error(`Unexpected operation: ${comparator.operator}`)
- }
- })
- if (setMin && (!minver || gt(minver, setMin))) {
- minver = setMin
- }
- }
-
- if (minver && range.test(minver)) {
- return minver
- }
-
- return null
-}
-module.exports = minVersion
diff --git a/includes/search/node_modules/semver/ranges/outside.js b/includes/search/node_modules/semver/ranges/outside.js
deleted file mode 100644
index ae99b10..0000000
--- a/includes/search/node_modules/semver/ranges/outside.js
+++ /dev/null
@@ -1,80 +0,0 @@
-const SemVer = require('../classes/semver')
-const Comparator = require('../classes/comparator')
-const { ANY } = Comparator
-const Range = require('../classes/range')
-const satisfies = require('../functions/satisfies')
-const gt = require('../functions/gt')
-const lt = require('../functions/lt')
-const lte = require('../functions/lte')
-const gte = require('../functions/gte')
-
-const outside = (version, range, hilo, options) => {
- version = new SemVer(version, options)
- range = new Range(range, options)
-
- let gtfn, ltefn, ltfn, comp, ecomp
- switch (hilo) {
- case '>':
- gtfn = gt
- ltefn = lte
- ltfn = lt
- comp = '>'
- ecomp = '>='
- break
- case '<':
- gtfn = lt
- ltefn = gte
- ltfn = gt
- comp = '<'
- ecomp = '<='
- break
- default:
- throw new TypeError('Must provide a hilo val of "<" or ">"')
- }
-
- // If it satisfies the range it is not outside
- if (satisfies(version, range, options)) {
- return false
- }
-
- // From now on, variable terms are as if we're in "gtr" mode.
- // but note that everything is flipped for the "ltr" function.
-
- for (let i = 0; i < range.set.length; ++i) {
- const comparators = range.set[i]
-
- let high = null
- let low = null
-
- comparators.forEach((comparator) => {
- if (comparator.semver === ANY) {
- comparator = new Comparator('>=0.0.0')
- }
- high = high || comparator
- low = low || comparator
- if (gtfn(comparator.semver, high.semver, options)) {
- high = comparator
- } else if (ltfn(comparator.semver, low.semver, options)) {
- low = comparator
- }
- })
-
- // If the edge version comparator has a operator then our version
- // isn't outside it
- if (high.operator === comp || high.operator === ecomp) {
- return false
- }
-
- // If the lowest version comparator has an operator and our version
- // is less than it then it isn't higher than the range
- if ((!low.operator || low.operator === comp) &&
- ltefn(version, low.semver)) {
- return false
- } else if (low.operator === ecomp && ltfn(version, low.semver)) {
- return false
- }
- }
- return true
-}
-
-module.exports = outside
diff --git a/includes/search/node_modules/semver/ranges/simplify.js b/includes/search/node_modules/semver/ranges/simplify.js
deleted file mode 100644
index 618d5b6..0000000
--- a/includes/search/node_modules/semver/ranges/simplify.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// given a set of versions and a range, create a "simplified" range
-// that includes the same versions that the original range does
-// If the original range is shorter than the simplified one, return that.
-const satisfies = require('../functions/satisfies.js')
-const compare = require('../functions/compare.js')
-module.exports = (versions, range, options) => {
- const set = []
- let first = null
- let prev = null
- const v = versions.sort((a, b) => compare(a, b, options))
- for (const version of v) {
- const included = satisfies(version, range, options)
- if (included) {
- prev = version
- if (!first) {
- first = version
- }
- } else {
- if (prev) {
- set.push([first, prev])
- }
- prev = null
- first = null
- }
- }
- if (first) {
- set.push([first, null])
- }
-
- const ranges = []
- for (const [min, max] of set) {
- if (min === max) {
- ranges.push(min)
- } else if (!max && min === v[0]) {
- ranges.push('*')
- } else if (!max) {
- ranges.push(`>=${min}`)
- } else if (min === v[0]) {
- ranges.push(`<=${max}`)
- } else {
- ranges.push(`${min} - ${max}`)
- }
- }
- const simplified = ranges.join(' || ')
- const original = typeof range.raw === 'string' ? range.raw : String(range)
- return simplified.length < original.length ? simplified : range
-}
diff --git a/includes/search/node_modules/semver/ranges/subset.js b/includes/search/node_modules/semver/ranges/subset.js
deleted file mode 100644
index 1e5c268..0000000
--- a/includes/search/node_modules/semver/ranges/subset.js
+++ /dev/null
@@ -1,247 +0,0 @@
-const Range = require('../classes/range.js')
-const Comparator = require('../classes/comparator.js')
-const { ANY } = Comparator
-const satisfies = require('../functions/satisfies.js')
-const compare = require('../functions/compare.js')
-
-// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:
-// - Every simple range `r1, r2, ...` is a null set, OR
-// - Every simple range `r1, r2, ...` which is not a null set is a subset of
-// some `R1, R2, ...`
-//
-// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:
-// - If c is only the ANY comparator
-// - If C is only the ANY comparator, return true
-// - Else if in prerelease mode, return false
-// - else replace c with `[>=0.0.0]`
-// - If C is only the ANY comparator
-// - if in prerelease mode, return true
-// - else replace C with `[>=0.0.0]`
-// - Let EQ be the set of = comparators in c
-// - If EQ is more than one, return true (null set)
-// - Let GT be the highest > or >= comparator in c
-// - Let LT be the lowest < or <= comparator in c
-// - If GT and LT, and GT.semver > LT.semver, return true (null set)
-// - If any C is a = range, and GT or LT are set, return false
-// - If EQ
-// - If GT, and EQ does not satisfy GT, return true (null set)
-// - If LT, and EQ does not satisfy LT, return true (null set)
-// - If EQ satisfies every C, return true
-// - Else return false
-// - If GT
-// - If GT.semver is lower than any > or >= comp in C, return false
-// - If GT is >=, and GT.semver does not satisfy every C, return false
-// - If GT.semver has a prerelease, and not in prerelease mode
-// - If no C has a prerelease and the GT.semver tuple, return false
-// - If LT
-// - If LT.semver is greater than any < or <= comp in C, return false
-// - If LT is <=, and LT.semver does not satisfy every C, return false
-// - If GT.semver has a prerelease, and not in prerelease mode
-// - If no C has a prerelease and the LT.semver tuple, return false
-// - Else return true
-
-const subset = (sub, dom, options = {}) => {
- if (sub === dom) {
- return true
- }
-
- sub = new Range(sub, options)
- dom = new Range(dom, options)
- let sawNonNull = false
-
- OUTER: for (const simpleSub of sub.set) {
- for (const simpleDom of dom.set) {
- const isSub = simpleSubset(simpleSub, simpleDom, options)
- sawNonNull = sawNonNull || isSub !== null
- if (isSub) {
- continue OUTER
- }
- }
- // the null set is a subset of everything, but null simple ranges in
- // a complex range should be ignored. so if we saw a non-null range,
- // then we know this isn't a subset, but if EVERY simple range was null,
- // then it is a subset.
- if (sawNonNull) {
- return false
- }
- }
- return true
-}
-
-const minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')]
-const minimumVersion = [new Comparator('>=0.0.0')]
-
-const simpleSubset = (sub, dom, options) => {
- if (sub === dom) {
- return true
- }
-
- if (sub.length === 1 && sub[0].semver === ANY) {
- if (dom.length === 1 && dom[0].semver === ANY) {
- return true
- } else if (options.includePrerelease) {
- sub = minimumVersionWithPreRelease
- } else {
- sub = minimumVersion
- }
- }
-
- if (dom.length === 1 && dom[0].semver === ANY) {
- if (options.includePrerelease) {
- return true
- } else {
- dom = minimumVersion
- }
- }
-
- const eqSet = new Set()
- let gt, lt
- for (const c of sub) {
- if (c.operator === '>' || c.operator === '>=') {
- gt = higherGT(gt, c, options)
- } else if (c.operator === '<' || c.operator === '<=') {
- lt = lowerLT(lt, c, options)
- } else {
- eqSet.add(c.semver)
- }
- }
-
- if (eqSet.size > 1) {
- return null
- }
-
- let gtltComp
- if (gt && lt) {
- gtltComp = compare(gt.semver, lt.semver, options)
- if (gtltComp > 0) {
- return null
- } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) {
- return null
- }
- }
-
- // will iterate one or zero times
- for (const eq of eqSet) {
- if (gt && !satisfies(eq, String(gt), options)) {
- return null
- }
-
- if (lt && !satisfies(eq, String(lt), options)) {
- return null
- }
-
- for (const c of dom) {
- if (!satisfies(eq, String(c), options)) {
- return false
- }
- }
-
- return true
- }
-
- let higher, lower
- let hasDomLT, hasDomGT
- // if the subset has a prerelease, we need a comparator in the superset
- // with the same tuple and a prerelease, or it's not a subset
- let needDomLTPre = lt &&
- !options.includePrerelease &&
- lt.semver.prerelease.length ? lt.semver : false
- let needDomGTPre = gt &&
- !options.includePrerelease &&
- gt.semver.prerelease.length ? gt.semver : false
- // exception: <1.2.3-0 is the same as <1.2.3
- if (needDomLTPre && needDomLTPre.prerelease.length === 1 &&
- lt.operator === '<' && needDomLTPre.prerelease[0] === 0) {
- needDomLTPre = false
- }
-
- for (const c of dom) {
- hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='
- hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='
- if (gt) {
- if (needDomGTPre) {
- if (c.semver.prerelease && c.semver.prerelease.length &&
- c.semver.major === needDomGTPre.major &&
- c.semver.minor === needDomGTPre.minor &&
- c.semver.patch === needDomGTPre.patch) {
- needDomGTPre = false
- }
- }
- if (c.operator === '>' || c.operator === '>=') {
- higher = higherGT(gt, c, options)
- if (higher === c && higher !== gt) {
- return false
- }
- } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) {
- return false
- }
- }
- if (lt) {
- if (needDomLTPre) {
- if (c.semver.prerelease && c.semver.prerelease.length &&
- c.semver.major === needDomLTPre.major &&
- c.semver.minor === needDomLTPre.minor &&
- c.semver.patch === needDomLTPre.patch) {
- needDomLTPre = false
- }
- }
- if (c.operator === '<' || c.operator === '<=') {
- lower = lowerLT(lt, c, options)
- if (lower === c && lower !== lt) {
- return false
- }
- } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) {
- return false
- }
- }
- if (!c.operator && (lt || gt) && gtltComp !== 0) {
- return false
- }
- }
-
- // if there was a < or >, and nothing in the dom, then must be false
- // UNLESS it was limited by another range in the other direction.
- // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0
- if (gt && hasDomLT && !lt && gtltComp !== 0) {
- return false
- }
-
- if (lt && hasDomGT && !gt && gtltComp !== 0) {
- return false
- }
-
- // we needed a prerelease range in a specific tuple, but didn't get one
- // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0,
- // because it includes prereleases in the 1.2.3 tuple
- if (needDomGTPre || needDomLTPre) {
- return false
- }
-
- return true
-}
-
-// >=1.2.3 is lower than >1.2.3
-const higherGT = (a, b, options) => {
- if (!a) {
- return b
- }
- const comp = compare(a.semver, b.semver, options)
- return comp > 0 ? a
- : comp < 0 ? b
- : b.operator === '>' && a.operator === '>=' ? b
- : a
-}
-
-// <=1.2.3 is higher than <1.2.3
-const lowerLT = (a, b, options) => {
- if (!a) {
- return b
- }
- const comp = compare(a.semver, b.semver, options)
- return comp < 0 ? a
- : comp > 0 ? b
- : b.operator === '<' && a.operator === '<=' ? b
- : a
-}
-
-module.exports = subset
diff --git a/includes/search/node_modules/semver/ranges/to-comparators.js b/includes/search/node_modules/semver/ranges/to-comparators.js
deleted file mode 100644
index 6c8bc7e..0000000
--- a/includes/search/node_modules/semver/ranges/to-comparators.js
+++ /dev/null
@@ -1,8 +0,0 @@
-const Range = require('../classes/range')
-
-// Mostly just for testing and legacy API reasons
-const toComparators = (range, options) =>
- new Range(range, options).set
- .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))
-
-module.exports = toComparators
diff --git a/includes/search/node_modules/semver/ranges/valid.js b/includes/search/node_modules/semver/ranges/valid.js
deleted file mode 100644
index 365f356..0000000
--- a/includes/search/node_modules/semver/ranges/valid.js
+++ /dev/null
@@ -1,11 +0,0 @@
-const Range = require('../classes/range')
-const validRange = (range, options) => {
- try {
- // Return '*' instead of '' so that truthiness works.
- // This will throw if it's invalid anyway
- return new Range(range, options).range || '*'
- } catch (er) {
- return null
- }
-}
-module.exports = validRange
diff --git a/includes/search/node_modules/simple-concat/.travis.yml b/includes/search/node_modules/simple-concat/.travis.yml
deleted file mode 100644
index c159f6a..0000000
--- a/includes/search/node_modules/simple-concat/.travis.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-language: node_js
-node_js:
- - lts/*
diff --git a/includes/search/node_modules/simple-concat/LICENSE b/includes/search/node_modules/simple-concat/LICENSE
deleted file mode 100644
index c7e6852..0000000
--- a/includes/search/node_modules/simple-concat/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Feross Aboukhadijeh
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/simple-concat/README.md b/includes/search/node_modules/simple-concat/README.md
deleted file mode 100644
index b7d39bd..0000000
--- a/includes/search/node_modules/simple-concat/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# simple-concat [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[travis-image]: https://img.shields.io/travis/feross/simple-concat/master.svg
-[travis-url]: https://travis-ci.org/feross/simple-concat
-[npm-image]: https://img.shields.io/npm/v/simple-concat.svg
-[npm-url]: https://npmjs.org/package/simple-concat
-[downloads-image]: https://img.shields.io/npm/dm/simple-concat.svg
-[downloads-url]: https://npmjs.org/package/simple-concat
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-### Super-minimalist version of [`concat-stream`](https://github.com/maxogden/concat-stream). Less than 15 lines!
-
-## install
-
-```
-npm install simple-concat
-```
-
-## usage
-
-This example is longer than the implementation.
-
-```js
-var s = new stream.PassThrough()
-concat(s, function (err, buf) {
- if (err) throw err
- console.error(buf)
-})
-s.write('abc')
-setTimeout(function () {
- s.write('123')
-}, 10)
-setTimeout(function () {
- s.write('456')
-}, 20)
-setTimeout(function () {
- s.end('789')
-}, 30)
-```
-
-## license
-
-MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org).
diff --git a/includes/search/node_modules/simple-concat/index.js b/includes/search/node_modules/simple-concat/index.js
deleted file mode 100644
index 59237fc..0000000
--- a/includes/search/node_modules/simple-concat/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/*! simple-concat. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
-module.exports = function (stream, cb) {
- var chunks = []
- stream.on('data', function (chunk) {
- chunks.push(chunk)
- })
- stream.once('end', function () {
- if (cb) cb(null, Buffer.concat(chunks))
- cb = null
- })
- stream.once('error', function (err) {
- if (cb) cb(err)
- cb = null
- })
-}
diff --git a/includes/search/node_modules/simple-concat/package.json b/includes/search/node_modules/simple-concat/package.json
deleted file mode 100644
index 2bb2c60..0000000
--- a/includes/search/node_modules/simple-concat/package.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "name": "simple-concat",
- "description": "Super-minimalist version of `concat-stream`. Less than 15 lines!",
- "version": "1.0.1",
- "author": {
- "name": "Feross Aboukhadijeh",
- "email": "feross@feross.org",
- "url": "https://feross.org"
- },
- "bugs": {
- "url": "https://github.com/feross/simple-concat/issues"
- },
- "dependencies": {},
- "devDependencies": {
- "standard": "*",
- "tape": "^5.0.1"
- },
- "homepage": "https://github.com/feross/simple-concat",
- "keywords": [
- "concat",
- "concat-stream",
- "concat stream"
- ],
- "license": "MIT",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/feross/simple-concat.git"
- },
- "scripts": {
- "test": "standard && tape test/*.js"
- },
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
-}
diff --git a/includes/search/node_modules/simple-concat/test/basic.js b/includes/search/node_modules/simple-concat/test/basic.js
deleted file mode 100644
index 4bf6f9c..0000000
--- a/includes/search/node_modules/simple-concat/test/basic.js
+++ /dev/null
@@ -1,41 +0,0 @@
-var concat = require('../')
-var stream = require('stream')
-var test = require('tape')
-
-test('basic', function (t) {
- t.plan(2)
- var s = new stream.PassThrough()
- concat(s, function (err, buf) {
- t.error(err)
- t.deepEqual(buf, Buffer.from('abc123456789'))
- })
- s.write('abc')
- setTimeout(function () {
- s.write('123')
- }, 10)
- setTimeout(function () {
- s.write('456')
- }, 20)
- setTimeout(function () {
- s.end('789')
- }, 30)
-})
-
-test('error', function (t) {
- t.plan(2)
- var s = new stream.PassThrough()
- concat(s, function (err, buf) {
- t.ok(err, 'got expected error')
- t.ok(!buf)
- })
- s.write('abc')
- setTimeout(function () {
- s.write('123')
- }, 10)
- setTimeout(function () {
- s.write('456')
- }, 20)
- setTimeout(function () {
- s.emit('error', new Error('error'))
- }, 30)
-})
diff --git a/includes/search/node_modules/simple-get/.github/dependabot.yml b/includes/search/node_modules/simple-get/.github/dependabot.yml
deleted file mode 100644
index 0221fbc..0000000
--- a/includes/search/node_modules/simple-get/.github/dependabot.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: npm
- directory: /
- schedule:
- interval: daily
- labels:
- - dependency
- versioning-strategy: increase-if-necessary
- - package-ecosystem: github-actions
- directory: /
- schedule:
- interval: daily
- labels:
- - dependency
diff --git a/includes/search/node_modules/simple-get/.github/workflows/ci.yml b/includes/search/node_modules/simple-get/.github/workflows/ci.yml
deleted file mode 100644
index 822d21c..0000000
--- a/includes/search/node_modules/simple-get/.github/workflows/ci.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-name: ci
-'on':
- - push
- - pull_request
-jobs:
- test:
- name: Node ${{ matrix.node }} / ${{ matrix.os }}
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- os:
- - ubuntu-latest
- node:
- - '14'
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-node@v2
- with:
- node-version: ${{ matrix.node }}
- - run: npm install
- - run: npm run build --if-present
- - run: npm test
diff --git a/includes/search/node_modules/simple-get/LICENSE b/includes/search/node_modules/simple-get/LICENSE
deleted file mode 100644
index c7e6852..0000000
--- a/includes/search/node_modules/simple-get/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Feross Aboukhadijeh
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/simple-get/README.md b/includes/search/node_modules/simple-get/README.md
deleted file mode 100644
index 63c6a6b..0000000
--- a/includes/search/node_modules/simple-get/README.md
+++ /dev/null
@@ -1,333 +0,0 @@
-# simple-get [![ci][ci-image]][ci-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[ci-image]: https://img.shields.io/github/workflow/status/feross/simple-get/ci/master
-[ci-url]: https://github.com/feross/simple-get/actions
-[npm-image]: https://img.shields.io/npm/v/simple-get.svg
-[npm-url]: https://npmjs.org/package/simple-get
-[downloads-image]: https://img.shields.io/npm/dm/simple-get.svg
-[downloads-url]: https://npmjs.org/package/simple-get
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-### Simplest way to make http get requests
-
-## features
-
-This module is the lightest possible wrapper on top of node.js `http`, but supporting these essential features:
-
-- follows redirects
-- automatically handles gzip/deflate responses
-- supports HTTPS
-- supports specifying a timeout
-- supports convenience `url` key so there's no need to use `url.parse` on the url when specifying options
-- composes well with npm packages for features like cookies, proxies, form data, & OAuth
-
-All this in < 100 lines of code.
-
-## install
-
-```
-npm install simple-get
-```
-
-## usage
-
-Note, all these examples also work in the browser with [browserify](http://browserify.org/).
-
-### simple GET request
-
-Doesn't get easier than this:
-
-```js
-const get = require('simple-get')
-
-get('http://example.com', function (err, res) {
- if (err) throw err
- console.log(res.statusCode) // 200
- res.pipe(process.stdout) // `res` is a stream
-})
-```
-
-### even simpler GET request
-
-If you just want the data, and don't want to deal with streams:
-
-```js
-const get = require('simple-get')
-
-get.concat('http://example.com', function (err, res, data) {
- if (err) throw err
- console.log(res.statusCode) // 200
- console.log(data) // Buffer('this is the server response')
-})
-```
-
-### POST, PUT, PATCH, HEAD, DELETE support
-
-For `POST`, call `get.post` or use option `{ method: 'POST' }`.
-
-```js
-const get = require('simple-get')
-
-const opts = {
- url: 'http://example.com',
- body: 'this is the POST body'
-}
-get.post(opts, function (err, res) {
- if (err) throw err
- res.pipe(process.stdout) // `res` is a stream
-})
-```
-
-#### A more complex example:
-
-```js
-const get = require('simple-get')
-
-get({
- url: 'http://example.com',
- method: 'POST',
- body: 'this is the POST body',
-
- // simple-get accepts all options that node.js `http` accepts
- // See: http://nodejs.org/api/http.html#http_http_request_options_callback
- headers: {
- 'user-agent': 'my cool app'
- }
-}, function (err, res) {
- if (err) throw err
-
- // All properties/methods from http.IncomingResponse are available,
- // even if a gunzip/inflate transform stream was returned.
- // See: http://nodejs.org/api/http.html#http_http_incomingmessage
- res.setTimeout(10000)
- console.log(res.headers)
-
- res.on('data', function (chunk) {
- // `chunk` is the decoded response, after it's been gunzipped or inflated
- // (if applicable)
- console.log('got a chunk of the response: ' + chunk)
- }))
-
-})
-```
-
-### JSON
-
-You can serialize/deserialize request and response with JSON:
-
-```js
-const get = require('simple-get')
-
-const opts = {
- method: 'POST',
- url: 'http://example.com',
- body: {
- key: 'value'
- },
- json: true
-}
-get.concat(opts, function (err, res, data) {
- if (err) throw err
- console.log(data.key) // `data` is an object
-})
-```
-
-### Timeout
-
-You can set a timeout (in milliseconds) on the request with the `timeout` option.
-If the request takes longer than `timeout` to complete, then the entire request
-will fail with an `Error`.
-
-```js
-const get = require('simple-get')
-
-const opts = {
- url: 'http://example.com',
- timeout: 2000 // 2 second timeout
-}
-
-get(opts, function (err, res) {})
-```
-
-### One Quick Tip
-
-It's a good idea to set the `'user-agent'` header so the provider can more easily
-see how their resource is used.
-
-```js
-const get = require('simple-get')
-const pkg = require('./package.json')
-
-get('http://example.com', {
- headers: {
- 'user-agent': `my-module/${pkg.version} (https://github.com/username/my-module)`
- }
-})
-```
-
-### Proxies
-
-You can use the [`tunnel`](https://github.com/koichik/node-tunnel) module with the
-`agent` option to work with proxies:
-
-```js
-const get = require('simple-get')
-const tunnel = require('tunnel')
-
-const opts = {
- url: 'http://example.com',
- agent: tunnel.httpOverHttp({
- proxy: {
- host: 'localhost'
- }
- })
-}
-
-get(opts, function (err, res) {})
-```
-
-### Cookies
-
-You can use the [`cookie`](https://github.com/jshttp/cookie) module to include
-cookies in a request:
-
-```js
-const get = require('simple-get')
-const cookie = require('cookie')
-
-const opts = {
- url: 'http://example.com',
- headers: {
- cookie: cookie.serialize('foo', 'bar')
- }
-}
-
-get(opts, function (err, res) {})
-```
-
-### Form data
-
-You can use the [`form-data`](https://github.com/form-data/form-data) module to
-create POST request with form data:
-
-```js
-const fs = require('fs')
-const get = require('simple-get')
-const FormData = require('form-data')
-const form = new FormData()
-
-form.append('my_file', fs.createReadStream('/foo/bar.jpg'))
-
-const opts = {
- url: 'http://example.com',
- body: form
-}
-
-get.post(opts, function (err, res) {})
-```
-
-#### Or, include `application/x-www-form-urlencoded` form data manually:
-
-```js
-const get = require('simple-get')
-
-const opts = {
- url: 'http://example.com',
- form: {
- key: 'value'
- }
-}
-get.post(opts, function (err, res) {})
-```
-
-### Specifically disallowing redirects
-
-```js
-const get = require('simple-get')
-
-const opts = {
- url: 'http://example.com/will-redirect-elsewhere',
- followRedirects: false
-}
-// res.statusCode will be 301, no error thrown
-get(opts, function (err, res) {})
-```
-
-### Basic Auth
-
-```js
-const user = 'someuser'
-const pass = 'pa$$word'
-const encodedAuth = Buffer.from(`${user}:${pass}`).toString('base64')
-
-get('http://example.com', {
- headers: {
- authorization: `Basic ${encodedAuth}`
- }
-})
-```
-
-### OAuth
-
-You can use the [`oauth-1.0a`](https://github.com/ddo/oauth-1.0a) module to create
-a signed OAuth request:
-
-```js
-const get = require('simple-get')
-const crypto = require('crypto')
-const OAuth = require('oauth-1.0a')
-
-const oauth = OAuth({
- consumer: {
- key: process.env.CONSUMER_KEY,
- secret: process.env.CONSUMER_SECRET
- },
- signature_method: 'HMAC-SHA1',
- hash_function: (baseString, key) => crypto.createHmac('sha1', key).update(baseString).digest('base64')
-})
-
-const token = {
- key: process.env.ACCESS_TOKEN,
- secret: process.env.ACCESS_TOKEN_SECRET
-}
-
-const url = 'https://api.twitter.com/1.1/statuses/home_timeline.json'
-
-const opts = {
- url: url,
- headers: oauth.toHeader(oauth.authorize({url, method: 'GET'}, token)),
- json: true
-}
-
-get(opts, function (err, res) {})
-```
-
-### Throttle requests
-
-You can use [limiter](https://github.com/jhurliman/node-rate-limiter) to throttle requests. This is useful when calling an API that is rate limited.
-
-```js
-const simpleGet = require('simple-get')
-const RateLimiter = require('limiter').RateLimiter
-const limiter = new RateLimiter(1, 'second')
-
-const get = (opts, cb) => limiter.removeTokens(1, () => simpleGet(opts, cb))
-get.concat = (opts, cb) => limiter.removeTokens(1, () => simpleGet.concat(opts, cb))
-
-var opts = {
- url: 'http://example.com'
-}
-
-get.concat(opts, processResult)
-get.concat(opts, processResult)
-
-function processResult (err, res, data) {
- if (err) throw err
- console.log(data.toString())
-}
-```
-
-## license
-
-MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org).
diff --git a/includes/search/node_modules/simple-get/index.js b/includes/search/node_modules/simple-get/index.js
deleted file mode 100644
index 80e52e8..0000000
--- a/includes/search/node_modules/simple-get/index.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/*! simple-get. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
-module.exports = simpleGet
-
-const concat = require('simple-concat')
-const decompressResponse = require('decompress-response') // excluded from browser build
-const http = require('http')
-const https = require('https')
-const once = require('once')
-const querystring = require('querystring')
-const url = require('url')
-
-const isStream = o => o !== null && typeof o === 'object' && typeof o.pipe === 'function'
-
-function simpleGet (opts, cb) {
- opts = Object.assign({ maxRedirects: 10 }, typeof opts === 'string' ? { url: opts } : opts)
- cb = once(cb)
-
- if (opts.url) {
- const { hostname, port, protocol, auth, path } = url.parse(opts.url) // eslint-disable-line node/no-deprecated-api
- delete opts.url
- if (!hostname && !port && !protocol && !auth) opts.path = path // Relative redirect
- else Object.assign(opts, { hostname, port, protocol, auth, path }) // Absolute redirect
- }
-
- const headers = { 'accept-encoding': 'gzip, deflate' }
- if (opts.headers) Object.keys(opts.headers).forEach(k => (headers[k.toLowerCase()] = opts.headers[k]))
- opts.headers = headers
-
- let body
- if (opts.body) {
- body = opts.json && !isStream(opts.body) ? JSON.stringify(opts.body) : opts.body
- } else if (opts.form) {
- body = typeof opts.form === 'string' ? opts.form : querystring.stringify(opts.form)
- opts.headers['content-type'] = 'application/x-www-form-urlencoded'
- }
-
- if (body) {
- if (!opts.method) opts.method = 'POST'
- if (!isStream(body)) opts.headers['content-length'] = Buffer.byteLength(body)
- if (opts.json && !opts.form) opts.headers['content-type'] = 'application/json'
- }
- delete opts.body; delete opts.form
-
- if (opts.json) opts.headers.accept = 'application/json'
- if (opts.method) opts.method = opts.method.toUpperCase()
-
- const originalHost = opts.hostname // hostname before potential redirect
- const protocol = opts.protocol === 'https:' ? https : http // Support http/https urls
- const req = protocol.request(opts, res => {
- if (opts.followRedirects !== false && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
- opts.url = res.headers.location // Follow 3xx redirects
- delete opts.headers.host // Discard `host` header on redirect (see #32)
- res.resume() // Discard response
-
- const redirectHost = url.parse(opts.url).hostname // eslint-disable-line node/no-deprecated-api
- // If redirected host is different than original host, drop headers to prevent cookie leak (#73)
- if (redirectHost !== null && redirectHost !== originalHost) {
- delete opts.headers.cookie
- delete opts.headers.authorization
- }
-
- if (opts.method === 'POST' && [301, 302].includes(res.statusCode)) {
- opts.method = 'GET' // On 301/302 redirect, change POST to GET (see #35)
- delete opts.headers['content-length']; delete opts.headers['content-type']
- }
-
- if (opts.maxRedirects-- === 0) return cb(new Error('too many redirects'))
- else return simpleGet(opts, cb)
- }
-
- const tryUnzip = typeof decompressResponse === 'function' && opts.method !== 'HEAD'
- cb(null, tryUnzip ? decompressResponse(res) : res)
- })
- req.on('timeout', () => {
- req.abort()
- cb(new Error('Request timed out'))
- })
- req.on('error', cb)
-
- if (isStream(body)) body.on('error', cb).pipe(req)
- else req.end(body)
-
- return req
-}
-
-simpleGet.concat = (opts, cb) => {
- return simpleGet(opts, (err, res) => {
- if (err) return cb(err)
- concat(res, (err, data) => {
- if (err) return cb(err)
- if (opts.json) {
- try {
- data = JSON.parse(data.toString())
- } catch (err) {
- return cb(err, res, data)
- }
- }
- cb(null, res, data)
- })
- })
-}
-
-;['get', 'post', 'put', 'patch', 'head', 'delete'].forEach(method => {
- simpleGet[method] = (opts, cb) => {
- if (typeof opts === 'string') opts = { url: opts }
- return simpleGet(Object.assign({ method: method.toUpperCase() }, opts), cb)
- }
-})
diff --git a/includes/search/node_modules/simple-get/package.json b/includes/search/node_modules/simple-get/package.json
deleted file mode 100644
index e80fc5e..0000000
--- a/includes/search/node_modules/simple-get/package.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "name": "simple-get",
- "description": "Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.",
- "version": "4.0.1",
- "author": {
- "name": "Feross Aboukhadijeh",
- "email": "feross@feross.org",
- "url": "https://feross.org"
- },
- "browser": {
- "decompress-response": false
- },
- "bugs": {
- "url": "https://github.com/feross/simple-get/issues"
- },
- "dependencies": {
- "decompress-response": "^6.0.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- },
- "devDependencies": {
- "self-signed-https": "^1.0.5",
- "standard": "*",
- "string-to-stream": "^3.0.0",
- "tape": "^5.0.0"
- },
- "homepage": "https://github.com/feross/simple-get",
- "keywords": [
- "request",
- "http",
- "GET",
- "get request",
- "http.get",
- "redirects",
- "follow redirects",
- "gzip",
- "deflate",
- "https",
- "http-https",
- "stream",
- "simple request",
- "simple get"
- ],
- "license": "MIT",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/feross/simple-get.git"
- },
- "scripts": {
- "test": "standard && tape test/*.js"
- },
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
-}
diff --git a/includes/search/node_modules/slash/index.d.ts b/includes/search/node_modules/slash/index.d.ts
deleted file mode 100644
index f9d07d1..0000000
--- a/includes/search/node_modules/slash/index.d.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
-Convert Windows backslash paths to slash paths: `foo\\bar` ➔ `foo/bar`.
-
-[Forward-slash paths can be used in Windows](http://superuser.com/a/176395/6877) as long as they're not extended-length paths and don't contain any non-ascii characters.
-
-@param path - A Windows backslash path.
-@returns A path with forward slashes.
-
-@example
-```
-import * as path from 'path';
-import slash = require('slash');
-
-const string = path.join('foo', 'bar');
-// Unix => foo/bar
-// Windows => foo\\bar
-
-slash(string);
-// Unix => foo/bar
-// Windows => foo/bar
-```
-*/
-declare function slash(path: string): string;
-
-export = slash;
diff --git a/includes/search/node_modules/slash/index.js b/includes/search/node_modules/slash/index.js
deleted file mode 100644
index 103fbea..0000000
--- a/includes/search/node_modules/slash/index.js
+++ /dev/null
@@ -1,11 +0,0 @@
-'use strict';
-module.exports = path => {
- const isExtendedLengthPath = /^\\\\\?\\/.test(path);
- const hasNonAscii = /[^\u0000-\u0080]+/.test(path); // eslint-disable-line no-control-regex
-
- if (isExtendedLengthPath || hasNonAscii) {
- return path;
- }
-
- return path.replace(/\\/g, '/');
-};
diff --git a/includes/search/node_modules/slash/license b/includes/search/node_modules/slash/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/slash/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/slash/package.json b/includes/search/node_modules/slash/package.json
deleted file mode 100644
index c88fcc7..0000000
--- a/includes/search/node_modules/slash/package.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "slash",
- "version": "3.0.0",
- "description": "Convert Windows backslash paths to slash paths",
- "license": "MIT",
- "repository": "sindresorhus/slash",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "path",
- "seperator",
- "slash",
- "backslash",
- "windows",
- "convert"
- ],
- "devDependencies": {
- "ava": "^1.4.1",
- "tsd": "^0.7.2",
- "xo": "^0.24.0"
- }
-}
diff --git a/includes/search/node_modules/slash/readme.md b/includes/search/node_modules/slash/readme.md
deleted file mode 100644
index f0ef4ac..0000000
--- a/includes/search/node_modules/slash/readme.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# slash [![Build Status](https://travis-ci.org/sindresorhus/slash.svg?branch=master)](https://travis-ci.org/sindresorhus/slash)
-
-> Convert Windows backslash paths to slash paths: `foo\\bar` ➔ `foo/bar`
-
-[Forward-slash paths can be used in Windows](http://superuser.com/a/176395/6877) as long as they're not extended-length paths and don't contain any non-ascii characters.
-
-This was created since the `path` methods in Node.js outputs `\\` paths on Windows.
-
-
-## Install
-
-```
-$ npm install slash
-```
-
-
-## Usage
-
-```js
-const path = require('path');
-const slash = require('slash');
-
-const string = path.join('foo', 'bar');
-// Unix => foo/bar
-// Windows => foo\\bar
-
-slash(string);
-// Unix => foo/bar
-// Windows => foo/bar
-```
-
-
-## API
-
-### slash(path)
-
-Type: `string`
-
-Accepts a Windows backslash path and returns a path with forward slashes.
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/includes/search/node_modules/stream-meter/.npmignore b/includes/search/node_modules/stream-meter/.npmignore
deleted file mode 100644
index 6a59b3d..0000000
--- a/includes/search/node_modules/stream-meter/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-.tern-port
diff --git a/includes/search/node_modules/stream-meter/LICENSE b/includes/search/node_modules/stream-meter/LICENSE
deleted file mode 100644
index 540900f..0000000
--- a/includes/search/node_modules/stream-meter/LICENSE
+++ /dev/null
@@ -1,9 +0,0 @@
-(The MIT License)
-
-Copyright (c) Bryce B. Baril <bryce@ravenwall.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/stream-meter/README.md b/includes/search/node_modules/stream-meter/README.md
deleted file mode 100644
index ac687da..0000000
--- a/includes/search/node_modules/stream-meter/README.md
+++ /dev/null
@@ -1,102 +0,0 @@
-Stream Meter
-============
-
-[![NPM](https://nodei.co/npm/stream-meter.png)](https://nodei.co/npm/stream-meter/)
-
-[![david-dm](https://david-dm.org/brycebaril/node-stream-meter.png)](https://david-dm.org/brycebaril/node-stream-meter/)
-[![david-dm](https://david-dm.org/brycebaril/node-stream-meter/dev-status.png)](https://david-dm.org/brycebaril/node-stream-meter#info=devDependencies/)
-
-Stream Meter is a... uh, meter for streams.
-
-It is a streams2 Transform stream that passes through content, but counts the number of bytes it forwards.
-
-However, give it a size in bytes and it will abort as soon as that threshold is passed. This is useful for capping your [hyperquest](http://npm.im/hyperquest) or http/https clients or servers content size.
-
-```
-npm install stream-meter
-```
-
-Examples:
-
-```javascript
-var meter = require("stream-meter")
-
-// make an un-capped meter
-var m = meter()
-process.stdin.pipe(m).pipe(process.stdout)
-setTimeout(function () {
- // Log how much we saw in a couple seconds.
- console.log(m.bytes)
-}, 2000)
-
-// this will abort (with an Error) in the frame where 1024 bytes is reached
-process.stdin.pipe(meter(1024)).pipe(process.stdout)
-
-// create a 1024 byte-capped meter
-var m = meter(1024)
-m.on("error", function (e) {
- // log the error but don't kill the process
- console.log(e.message)
-})
-process.stdin.pipe(m).pipe(process.stdout)
-
-```
-
-```javascript
-var hyperquest = require("hyperquest")
-
-var req = hyperquest("https://raw.github.com/mranney/node_redis/master/index.js")
-
-var meter = require("stream-meter")(1024)
-meter.on("error", function (e) {
- console.log(e.message)
- console.log("Read %s bytes", meter.bytes)
-})
-
-
-req.pipe(meter).pipe(process.stderr)
-```
-
-```bash
-$ node hypermeter.js 2> /dev/null
-Stream exceeded specified max of 1024 bytes.
-Read 7377 bytes
-```
-
-Usage
-=====
-
-```javascript
-var meter = require("stream-meter")
-
-var stream = meter(size)
-stream.on("error", function (e) {
- // handle the meter aborting the stream
-})
-
-// read the bytes processed by the meter and passed through to any subsequent streams.
-var size = stream.bytes
-```
-
-See test/index.js for additional examples.
-
-Options
-=======
-
-size
-----
-
-Size (in bytes) to trigger the stream to abort. It will complete whatever frame it aborted in, so the size streamed will still be >= size but no more than size + highWaterMark
-
-Properties
-==========
-
-bytes
------
-
-Number of bytes handled and passed through the meter.
-
-LICENSE
-=======
-
-MIT
diff --git a/includes/search/node_modules/stream-meter/index.js b/includes/search/node_modules/stream-meter/index.js
deleted file mode 100644
index e7eb238..0000000
--- a/includes/search/node_modules/stream-meter/index.js
+++ /dev/null
@@ -1,27 +0,0 @@
-module.exports = Meter
-
-var util = require("util")
-
-var Transform = require("stream").Transform
-
-if (!Transform) {
- Transform = require("readable-stream/transform")
-}
-
-function Meter(maxBytes) {
- if (!(this instanceof Meter)) return new Meter(maxBytes)
- Transform.call(this)
-
- this.bytes = 0
- this.maxBytes = maxBytes || Number.MAX_VALUE
-}
-util.inherits(Meter, Transform)
-
-Meter.prototype._transform = function (chunk, encoding, cb) {
- this.bytes += chunk.length
- this.push(chunk)
- if (this.bytes > this.maxBytes) {
- return cb(new Error("Stream exceeded specified max of " + this.maxBytes + " bytes."))
- }
- cb()
-} \ No newline at end of file
diff --git a/includes/search/node_modules/stream-meter/package.json b/includes/search/node_modules/stream-meter/package.json
deleted file mode 100644
index fe78805..0000000
--- a/includes/search/node_modules/stream-meter/package.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "stream-meter",
- "version": "1.0.4",
- "description": "A stream meter that both counts the bytes piped through it, and can optionally abort on a max size. (e.g. limit a http request size)",
- "main": "index.js",
- "directories": {
- "test": "test"
- },
- "dependencies": {
- "readable-stream": "^2.1.4"
- },
- "devDependencies": {
- "concat-stream": "^1.5.1",
- "stream-spigot": "^3.0.3",
- "tape": "^4.6.0"
- },
- "scripts": {
- "test": "node test/"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/brycebaril/node-stream-meter.git"
- },
- "keywords": [
- "streams2",
- "streams",
- "meter",
- "abort"
- ],
- "author": "Bryce B. Baril",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/brycebaril/node-stream-meter/issues"
- }
-}
diff --git a/includes/search/node_modules/stream-meter/test/index.js b/includes/search/node_modules/stream-meter/test/index.js
deleted file mode 100644
index bab659c..0000000
--- a/includes/search/node_modules/stream-meter/test/index.js
+++ /dev/null
@@ -1,65 +0,0 @@
-var test = require("tape").test
-var spigot = require("stream-spigot")
-var concat = require("concat-stream")
-
-var meter
-
-// Stats
-test("load", function (t) {
- t.plan(1)
-
- meter = require("../")
- t.ok(meter, "loaded module")
-})
-
-test("no max (passthrough)", function (t) {
- t.plan(2)
-
- var m = meter()
-
- var content = "ABCD1234"
-
- function match(d) {
- t.equals(d.toString(), content)
- t.equals(m.bytes, 8)
- }
-
- spigot([content]).pipe(m).pipe(concat(match))
-})
-
-test("under max", function (t) {
- t.plan(2)
-
- var m = meter(100)
-
- var content = "ABCD1234"
-
- function match(d) {
- t.equals(d.toString(), content)
- t.equals(m.bytes, 8)
- }
-
- spigot([content]).pipe(m).pipe(concat(match))
-})
-
-test("stops at meter", function (t) {
- t.plan(3)
-
- var chunks = 0
-
- function match(d) {
- t.fail()
- }
-
- var c = concat(match)
-
- var m = meter(10)
- m.on("error", function (e) {
- t.ok(e.message, "Stream exceeded specified max of 10 bytes.")
- // 12 because read frame is 4, so the 3rd read will put it over the max at 12 bytes
- t.equals(c.getBody().toString(), "ABCDEFGHIJKL")
- t.equals(m.bytes, 12)
- })
-
- spigot(["ABCD", "EFGH", "IJKL", "MNOP", "QRST", "UVWX", "YZ"]).pipe(m).pipe(c)
-})
diff --git a/includes/search/node_modules/string-width/index.d.ts b/includes/search/node_modules/string-width/index.d.ts
deleted file mode 100644
index 12b5309..0000000
--- a/includes/search/node_modules/string-width/index.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-declare const stringWidth: {
- /**
- Get the visual width of a string - the number of columns required to display it.
-
- Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
-
- @example
- ```
- import stringWidth = require('string-width');
-
- stringWidth('a');
- //=> 1
-
- stringWidth('古');
- //=> 2
-
- stringWidth('\u001B[1m古\u001B[22m');
- //=> 2
- ```
- */
- (string: string): number;
-
- // TODO: remove this in the next major version, refactor the whole definition to:
- // declare function stringWidth(string: string): number;
- // export = stringWidth;
- default: typeof stringWidth;
-}
-
-export = stringWidth;
diff --git a/includes/search/node_modules/string-width/index.js b/includes/search/node_modules/string-width/index.js
deleted file mode 100644
index f4d261a..0000000
--- a/includes/search/node_modules/string-width/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-'use strict';
-const stripAnsi = require('strip-ansi');
-const isFullwidthCodePoint = require('is-fullwidth-code-point');
-const emojiRegex = require('emoji-regex');
-
-const stringWidth = string => {
- if (typeof string !== 'string' || string.length === 0) {
- return 0;
- }
-
- string = stripAnsi(string);
-
- if (string.length === 0) {
- return 0;
- }
-
- string = string.replace(emojiRegex(), ' ');
-
- let width = 0;
-
- for (let i = 0; i < string.length; i++) {
- const code = string.codePointAt(i);
-
- // Ignore control characters
- if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) {
- continue;
- }
-
- // Ignore combining characters
- if (code >= 0x300 && code <= 0x36F) {
- continue;
- }
-
- // Surrogates
- if (code > 0xFFFF) {
- i++;
- }
-
- width += isFullwidthCodePoint(code) ? 2 : 1;
- }
-
- return width;
-};
-
-module.exports = stringWidth;
-// TODO: remove this in the next major version
-module.exports.default = stringWidth;
diff --git a/includes/search/node_modules/string-width/license b/includes/search/node_modules/string-width/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/string-width/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/string-width/package.json b/includes/search/node_modules/string-width/package.json
deleted file mode 100644
index 28ba7b4..0000000
--- a/includes/search/node_modules/string-width/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "string-width",
- "version": "4.2.3",
- "description": "Get the visual width of a string - the number of columns required to display it",
- "license": "MIT",
- "repository": "sindresorhus/string-width",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "string",
- "character",
- "unicode",
- "width",
- "visual",
- "column",
- "columns",
- "fullwidth",
- "full-width",
- "full",
- "ansi",
- "escape",
- "codes",
- "cli",
- "command-line",
- "terminal",
- "console",
- "cjk",
- "chinese",
- "japanese",
- "korean",
- "fixed-width"
- ],
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "devDependencies": {
- "ava": "^1.4.1",
- "tsd": "^0.7.1",
- "xo": "^0.24.0"
- }
-}
diff --git a/includes/search/node_modules/string-width/readme.md b/includes/search/node_modules/string-width/readme.md
deleted file mode 100644
index bdd3141..0000000
--- a/includes/search/node_modules/string-width/readme.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# string-width
-
-> Get the visual width of a string - the number of columns required to display it
-
-Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
-
-Useful to be able to measure the actual width of command-line output.
-
-
-## Install
-
-```
-$ npm install string-width
-```
-
-
-## Usage
-
-```js
-const stringWidth = require('string-width');
-
-stringWidth('a');
-//=> 1
-
-stringWidth('古');
-//=> 2
-
-stringWidth('\u001B[1m古\u001B[22m');
-//=> 2
-```
-
-
-## Related
-
-- [string-width-cli](https://github.com/sindresorhus/string-width-cli) - CLI for this module
-- [string-length](https://github.com/sindresorhus/string-length) - Get the real length of a string
-- [widest-line](https://github.com/sindresorhus/widest-line) - Get the visual width of the widest line in a string
-
-
----
-
-<div align="center">
- <b>
- <a href="https://tidelift.com/subscription/pkg/npm-string-width?utm_source=npm-string-width&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
- </b>
- <br>
- <sub>
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
- </sub>
-</div>
diff --git a/includes/search/node_modules/string_decoder/.travis.yml b/includes/search/node_modules/string_decoder/.travis.yml
deleted file mode 100644
index 3347a72..0000000
--- a/includes/search/node_modules/string_decoder/.travis.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-sudo: false
-language: node_js
-before_install:
- - npm install -g npm@2
- - test $NPM_LEGACY && npm install -g npm@latest-3 || npm install npm -g
-notifications:
- email: false
-matrix:
- fast_finish: true
- include:
- - node_js: '0.8'
- env:
- - TASK=test
- - NPM_LEGACY=true
- - node_js: '0.10'
- env:
- - TASK=test
- - NPM_LEGACY=true
- - node_js: '0.11'
- env:
- - TASK=test
- - NPM_LEGACY=true
- - node_js: '0.12'
- env:
- - TASK=test
- - NPM_LEGACY=true
- - node_js: 1
- env:
- - TASK=test
- - NPM_LEGACY=true
- - node_js: 2
- env:
- - TASK=test
- - NPM_LEGACY=true
- - node_js: 3
- env:
- - TASK=test
- - NPM_LEGACY=true
- - node_js: 4
- env: TASK=test
- - node_js: 5
- env: TASK=test
- - node_js: 6
- env: TASK=test
- - node_js: 7
- env: TASK=test
- - node_js: 8
- env: TASK=test
- - node_js: 9
- env: TASK=test
diff --git a/includes/search/node_modules/string_decoder/LICENSE b/includes/search/node_modules/string_decoder/LICENSE
deleted file mode 100644
index 778edb2..0000000
--- a/includes/search/node_modules/string_decoder/LICENSE
+++ /dev/null
@@ -1,48 +0,0 @@
-Node.js is licensed for use as follows:
-
-"""
-Copyright Node.js contributors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
-
-This license applies to parts of Node.js originating from the
-https://github.com/joyent/node repository:
-
-"""
-Copyright Joyent, Inc. and other Node contributors. All rights reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
-
diff --git a/includes/search/node_modules/string_decoder/README.md b/includes/search/node_modules/string_decoder/README.md
deleted file mode 100644
index 5fd5831..0000000
--- a/includes/search/node_modules/string_decoder/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# string_decoder
-
-***Node-core v8.9.4 string_decoder for userland***
-
-
-[![NPM](https://nodei.co/npm/string_decoder.png?downloads=true&downloadRank=true)](https://nodei.co/npm/string_decoder/)
-[![NPM](https://nodei.co/npm-dl/string_decoder.png?&months=6&height=3)](https://nodei.co/npm/string_decoder/)
-
-
-```bash
-npm install --save string_decoder
-```
-
-***Node-core string_decoder for userland***
-
-This package is a mirror of the string_decoder implementation in Node-core.
-
-Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v8.9.4/docs/api/).
-
-As of version 1.0.0 **string_decoder** uses semantic versioning.
-
-## Previous versions
-
-Previous version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10.
-
-## Update
-
-The *build/* directory contains a build script that will scrape the source from the [nodejs/node](https://github.com/nodejs/node) repo given a specific Node version.
-
-## Streams Working Group
-
-`string_decoder` is maintained by the Streams Working Group, which
-oversees the development and maintenance of the Streams API within
-Node.js. The responsibilities of the Streams Working Group include:
-
-* Addressing stream issues on the Node.js issue tracker.
-* Authoring and editing stream documentation within the Node.js project.
-* Reviewing changes to stream subclasses within the Node.js project.
-* Redirecting changes to streams from the Node.js project to this
- project.
-* Assisting in the implementation of stream providers within Node.js.
-* Recommending versions of `readable-stream` to be included in Node.js.
-* Messaging about the future of streams to give the community advance
- notice of changes.
-
-See [readable-stream](https://github.com/nodejs/readable-stream) for
-more details.
diff --git a/includes/search/node_modules/string_decoder/lib/string_decoder.js b/includes/search/node_modules/string_decoder/lib/string_decoder.js
deleted file mode 100644
index 2e89e63..0000000
--- a/includes/search/node_modules/string_decoder/lib/string_decoder.js
+++ /dev/null
@@ -1,296 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-'use strict';
-
-/*<replacement>*/
-
-var Buffer = require('safe-buffer').Buffer;
-/*</replacement>*/
-
-var isEncoding = Buffer.isEncoding || function (encoding) {
- encoding = '' + encoding;
- switch (encoding && encoding.toLowerCase()) {
- case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':
- return true;
- default:
- return false;
- }
-};
-
-function _normalizeEncoding(enc) {
- if (!enc) return 'utf8';
- var retried;
- while (true) {
- switch (enc) {
- case 'utf8':
- case 'utf-8':
- return 'utf8';
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return 'utf16le';
- case 'latin1':
- case 'binary':
- return 'latin1';
- case 'base64':
- case 'ascii':
- case 'hex':
- return enc;
- default:
- if (retried) return; // undefined
- enc = ('' + enc).toLowerCase();
- retried = true;
- }
- }
-};
-
-// Do not cache `Buffer.isEncoding` when checking encoding names as some
-// modules monkey-patch it to support additional encodings
-function normalizeEncoding(enc) {
- var nenc = _normalizeEncoding(enc);
- if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);
- return nenc || enc;
-}
-
-// StringDecoder provides an interface for efficiently splitting a series of
-// buffers into a series of JS strings without breaking apart multi-byte
-// characters.
-exports.StringDecoder = StringDecoder;
-function StringDecoder(encoding) {
- this.encoding = normalizeEncoding(encoding);
- var nb;
- switch (this.encoding) {
- case 'utf16le':
- this.text = utf16Text;
- this.end = utf16End;
- nb = 4;
- break;
- case 'utf8':
- this.fillLast = utf8FillLast;
- nb = 4;
- break;
- case 'base64':
- this.text = base64Text;
- this.end = base64End;
- nb = 3;
- break;
- default:
- this.write = simpleWrite;
- this.end = simpleEnd;
- return;
- }
- this.lastNeed = 0;
- this.lastTotal = 0;
- this.lastChar = Buffer.allocUnsafe(nb);
-}
-
-StringDecoder.prototype.write = function (buf) {
- if (buf.length === 0) return '';
- var r;
- var i;
- if (this.lastNeed) {
- r = this.fillLast(buf);
- if (r === undefined) return '';
- i = this.lastNeed;
- this.lastNeed = 0;
- } else {
- i = 0;
- }
- if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
- return r || '';
-};
-
-StringDecoder.prototype.end = utf8End;
-
-// Returns only complete characters in a Buffer
-StringDecoder.prototype.text = utf8Text;
-
-// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer
-StringDecoder.prototype.fillLast = function (buf) {
- if (this.lastNeed <= buf.length) {
- buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
- return this.lastChar.toString(this.encoding, 0, this.lastTotal);
- }
- buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
- this.lastNeed -= buf.length;
-};
-
-// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a
-// continuation byte. If an invalid byte is detected, -2 is returned.
-function utf8CheckByte(byte) {
- if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;
- return byte >> 6 === 0x02 ? -1 : -2;
-}
-
-// Checks at most 3 bytes at the end of a Buffer in order to detect an
-// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)
-// needed to complete the UTF-8 character (if applicable) are returned.
-function utf8CheckIncomplete(self, buf, i) {
- var j = buf.length - 1;
- if (j < i) return 0;
- var nb = utf8CheckByte(buf[j]);
- if (nb >= 0) {
- if (nb > 0) self.lastNeed = nb - 1;
- return nb;
- }
- if (--j < i || nb === -2) return 0;
- nb = utf8CheckByte(buf[j]);
- if (nb >= 0) {
- if (nb > 0) self.lastNeed = nb - 2;
- return nb;
- }
- if (--j < i || nb === -2) return 0;
- nb = utf8CheckByte(buf[j]);
- if (nb >= 0) {
- if (nb > 0) {
- if (nb === 2) nb = 0;else self.lastNeed = nb - 3;
- }
- return nb;
- }
- return 0;
-}
-
-// Validates as many continuation bytes for a multi-byte UTF-8 character as
-// needed or are available. If we see a non-continuation byte where we expect
-// one, we "replace" the validated continuation bytes we've seen so far with
-// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding
-// behavior. The continuation byte check is included three times in the case
-// where all of the continuation bytes for a character exist in the same buffer.
-// It is also done this way as a slight performance increase instead of using a
-// loop.
-function utf8CheckExtraBytes(self, buf, p) {
- if ((buf[0] & 0xC0) !== 0x80) {
- self.lastNeed = 0;
- return '\ufffd';
- }
- if (self.lastNeed > 1 && buf.length > 1) {
- if ((buf[1] & 0xC0) !== 0x80) {
- self.lastNeed = 1;
- return '\ufffd';
- }
- if (self.lastNeed > 2 && buf.length > 2) {
- if ((buf[2] & 0xC0) !== 0x80) {
- self.lastNeed = 2;
- return '\ufffd';
- }
- }
- }
-}
-
-// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.
-function utf8FillLast(buf) {
- var p = this.lastTotal - this.lastNeed;
- var r = utf8CheckExtraBytes(this, buf, p);
- if (r !== undefined) return r;
- if (this.lastNeed <= buf.length) {
- buf.copy(this.lastChar, p, 0, this.lastNeed);
- return this.lastChar.toString(this.encoding, 0, this.lastTotal);
- }
- buf.copy(this.lastChar, p, 0, buf.length);
- this.lastNeed -= buf.length;
-}
-
-// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a
-// partial character, the character's bytes are buffered until the required
-// number of bytes are available.
-function utf8Text(buf, i) {
- var total = utf8CheckIncomplete(this, buf, i);
- if (!this.lastNeed) return buf.toString('utf8', i);
- this.lastTotal = total;
- var end = buf.length - (total - this.lastNeed);
- buf.copy(this.lastChar, 0, end);
- return buf.toString('utf8', i, end);
-}
-
-// For UTF-8, a replacement character is added when ending on a partial
-// character.
-function utf8End(buf) {
- var r = buf && buf.length ? this.write(buf) : '';
- if (this.lastNeed) return r + '\ufffd';
- return r;
-}
-
-// UTF-16LE typically needs two bytes per character, but even if we have an even
-// number of bytes available, we need to check if we end on a leading/high
-// surrogate. In that case, we need to wait for the next two bytes in order to
-// decode the last character properly.
-function utf16Text(buf, i) {
- if ((buf.length - i) % 2 === 0) {
- var r = buf.toString('utf16le', i);
- if (r) {
- var c = r.charCodeAt(r.length - 1);
- if (c >= 0xD800 && c <= 0xDBFF) {
- this.lastNeed = 2;
- this.lastTotal = 4;
- this.lastChar[0] = buf[buf.length - 2];
- this.lastChar[1] = buf[buf.length - 1];
- return r.slice(0, -1);
- }
- }
- return r;
- }
- this.lastNeed = 1;
- this.lastTotal = 2;
- this.lastChar[0] = buf[buf.length - 1];
- return buf.toString('utf16le', i, buf.length - 1);
-}
-
-// For UTF-16LE we do not explicitly append special replacement characters if we
-// end on a partial character, we simply let v8 handle that.
-function utf16End(buf) {
- var r = buf && buf.length ? this.write(buf) : '';
- if (this.lastNeed) {
- var end = this.lastTotal - this.lastNeed;
- return r + this.lastChar.toString('utf16le', 0, end);
- }
- return r;
-}
-
-function base64Text(buf, i) {
- var n = (buf.length - i) % 3;
- if (n === 0) return buf.toString('base64', i);
- this.lastNeed = 3 - n;
- this.lastTotal = 3;
- if (n === 1) {
- this.lastChar[0] = buf[buf.length - 1];
- } else {
- this.lastChar[0] = buf[buf.length - 2];
- this.lastChar[1] = buf[buf.length - 1];
- }
- return buf.toString('base64', i, buf.length - n);
-}
-
-function base64End(buf) {
- var r = buf && buf.length ? this.write(buf) : '';
- if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);
- return r;
-}
-
-// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)
-function simpleWrite(buf) {
- return buf.toString(this.encoding);
-}
-
-function simpleEnd(buf) {
- return buf && buf.length ? this.write(buf) : '';
-} \ No newline at end of file
diff --git a/includes/search/node_modules/string_decoder/package.json b/includes/search/node_modules/string_decoder/package.json
deleted file mode 100644
index 518c3eb..0000000
--- a/includes/search/node_modules/string_decoder/package.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "name": "string_decoder",
- "version": "1.1.1",
- "description": "The string_decoder module from Node core",
- "main": "lib/string_decoder.js",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- },
- "devDependencies": {
- "babel-polyfill": "^6.23.0",
- "core-util-is": "^1.0.2",
- "inherits": "^2.0.3",
- "tap": "~0.4.8"
- },
- "scripts": {
- "test": "tap test/parallel/*.js && node test/verify-dependencies",
- "ci": "tap test/parallel/*.js test/ours/*.js --tap | tee test.tap && node test/verify-dependencies.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/nodejs/string_decoder.git"
- },
- "homepage": "https://github.com/nodejs/string_decoder",
- "keywords": [
- "string",
- "decoder",
- "browser",
- "browserify"
- ],
- "license": "MIT"
-}
diff --git a/includes/search/node_modules/strip-ansi/index.d.ts b/includes/search/node_modules/strip-ansi/index.d.ts
deleted file mode 100644
index 907fccc..0000000
--- a/includes/search/node_modules/strip-ansi/index.d.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
-Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.
-
-@example
-```
-import stripAnsi = require('strip-ansi');
-
-stripAnsi('\u001B[4mUnicorn\u001B[0m');
-//=> 'Unicorn'
-
-stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
-//=> 'Click'
-```
-*/
-declare function stripAnsi(string: string): string;
-
-export = stripAnsi;
diff --git a/includes/search/node_modules/strip-ansi/index.js b/includes/search/node_modules/strip-ansi/index.js
deleted file mode 100644
index 9a593df..0000000
--- a/includes/search/node_modules/strip-ansi/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-const ansiRegex = require('ansi-regex');
-
-module.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;
diff --git a/includes/search/node_modules/strip-ansi/license b/includes/search/node_modules/strip-ansi/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/strip-ansi/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/strip-ansi/package.json b/includes/search/node_modules/strip-ansi/package.json
deleted file mode 100644
index 1a41108..0000000
--- a/includes/search/node_modules/strip-ansi/package.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "name": "strip-ansi",
- "version": "6.0.1",
- "description": "Strip ANSI escape codes from a string",
- "license": "MIT",
- "repository": "chalk/strip-ansi",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "strip",
- "trim",
- "remove",
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "log",
- "logging",
- "command-line",
- "text"
- ],
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "devDependencies": {
- "ava": "^2.4.0",
- "tsd": "^0.10.0",
- "xo": "^0.25.3"
- }
-}
diff --git a/includes/search/node_modules/strip-ansi/readme.md b/includes/search/node_modules/strip-ansi/readme.md
deleted file mode 100644
index 7c4b56d..0000000
--- a/includes/search/node_modules/strip-ansi/readme.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi)
-
-> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string
-
-
-## Install
-
-```
-$ npm install strip-ansi
-```
-
-
-## Usage
-
-```js
-const stripAnsi = require('strip-ansi');
-
-stripAnsi('\u001B[4mUnicorn\u001B[0m');
-//=> 'Unicorn'
-
-stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
-//=> 'Click'
-```
-
-
-## strip-ansi for enterprise
-
-Available as part of the Tidelift Subscription.
-
-The maintainers of strip-ansi and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-strip-ansi?utm_source=npm-strip-ansi&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
-
-
-## Related
-
-- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module
-- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Streaming version of this module
-- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
-- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
-- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
-
-
-## Maintainers
-
-- [Sindre Sorhus](https://github.com/sindresorhus)
-- [Josh Junon](https://github.com/qix-)
-
diff --git a/includes/search/node_modules/strip-json-comments/index.js b/includes/search/node_modules/strip-json-comments/index.js
deleted file mode 100644
index 4e6576e..0000000
--- a/includes/search/node_modules/strip-json-comments/index.js
+++ /dev/null
@@ -1,70 +0,0 @@
-'use strict';
-var singleComment = 1;
-var multiComment = 2;
-
-function stripWithoutWhitespace() {
- return '';
-}
-
-function stripWithWhitespace(str, start, end) {
- return str.slice(start, end).replace(/\S/g, ' ');
-}
-
-module.exports = function (str, opts) {
- opts = opts || {};
-
- var currentChar;
- var nextChar;
- var insideString = false;
- var insideComment = false;
- var offset = 0;
- var ret = '';
- var strip = opts.whitespace === false ? stripWithoutWhitespace : stripWithWhitespace;
-
- for (var i = 0; i < str.length; i++) {
- currentChar = str[i];
- nextChar = str[i + 1];
-
- if (!insideComment && currentChar === '"') {
- var escaped = str[i - 1] === '\\' && str[i - 2] !== '\\';
- if (!escaped) {
- insideString = !insideString;
- }
- }
-
- if (insideString) {
- continue;
- }
-
- if (!insideComment && currentChar + nextChar === '//') {
- ret += str.slice(offset, i);
- offset = i;
- insideComment = singleComment;
- i++;
- } else if (insideComment === singleComment && currentChar + nextChar === '\r\n') {
- i++;
- insideComment = false;
- ret += strip(str, offset, i);
- offset = i;
- continue;
- } else if (insideComment === singleComment && currentChar === '\n') {
- insideComment = false;
- ret += strip(str, offset, i);
- offset = i;
- } else if (!insideComment && currentChar + nextChar === '/*') {
- ret += str.slice(offset, i);
- offset = i;
- insideComment = multiComment;
- i++;
- continue;
- } else if (insideComment === multiComment && currentChar + nextChar === '*/') {
- i++;
- insideComment = false;
- ret += strip(str, offset, i + 1);
- offset = i + 1;
- continue;
- }
- }
-
- return ret + (insideComment ? strip(str.substr(offset)) : str.substr(offset));
-};
diff --git a/includes/search/node_modules/strip-json-comments/license b/includes/search/node_modules/strip-json-comments/license
deleted file mode 100644
index 654d0bf..0000000
--- a/includes/search/node_modules/strip-json-comments/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/strip-json-comments/package.json b/includes/search/node_modules/strip-json-comments/package.json
deleted file mode 100644
index 288ecc7..0000000
--- a/includes/search/node_modules/strip-json-comments/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "strip-json-comments",
- "version": "2.0.1",
- "description": "Strip comments from JSON. Lets you use comments in your JSON files!",
- "license": "MIT",
- "repository": "sindresorhus/strip-json-comments",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "json",
- "strip",
- "remove",
- "delete",
- "trim",
- "comments",
- "multiline",
- "parse",
- "config",
- "configuration",
- "conf",
- "settings",
- "util",
- "env",
- "environment"
- ],
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- }
-}
diff --git a/includes/search/node_modules/strip-json-comments/readme.md b/includes/search/node_modules/strip-json-comments/readme.md
deleted file mode 100644
index 0ee58df..0000000
--- a/includes/search/node_modules/strip-json-comments/readme.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# strip-json-comments [![Build Status](https://travis-ci.org/sindresorhus/strip-json-comments.svg?branch=master)](https://travis-ci.org/sindresorhus/strip-json-comments)
-
-> Strip comments from JSON. Lets you use comments in your JSON files!
-
-This is now possible:
-
-```js
-{
- // rainbows
- "unicorn": /* ❤ */ "cake"
-}
-```
-
-It will replace single-line comments `//` and multi-line comments `/**/` with whitespace. This allows JSON error positions to remain as close as possible to the original source.
-
-Also available as a [gulp](https://github.com/sindresorhus/gulp-strip-json-comments)/[grunt](https://github.com/sindresorhus/grunt-strip-json-comments)/[broccoli](https://github.com/sindresorhus/broccoli-strip-json-comments) plugin.
-
-
-## Install
-
-```
-$ npm install --save strip-json-comments
-```
-
-
-## Usage
-
-```js
-const json = '{/*rainbows*/"unicorn":"cake"}';
-
-JSON.parse(stripJsonComments(json));
-//=> {unicorn: 'cake'}
-```
-
-
-## API
-
-### stripJsonComments(input, [options])
-
-#### input
-
-Type: `string`
-
-Accepts a string with JSON and returns a string without comments.
-
-#### options
-
-##### whitespace
-
-Type: `boolean`
-Default: `true`
-
-Replace comments with whitespace instead of stripping them entirely.
-
-
-## Related
-
-- [strip-json-comments-cli](https://github.com/sindresorhus/strip-json-comments-cli) - CLI for this module
-- [strip-css-comments](https://github.com/sindresorhus/strip-css-comments) - Strip comments from CSS
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/includes/search/node_modules/supports-color/browser.js b/includes/search/node_modules/supports-color/browser.js
deleted file mode 100644
index 62afa3a..0000000
--- a/includes/search/node_modules/supports-color/browser.js
+++ /dev/null
@@ -1,5 +0,0 @@
-'use strict';
-module.exports = {
- stdout: false,
- stderr: false
-};
diff --git a/includes/search/node_modules/supports-color/index.js b/includes/search/node_modules/supports-color/index.js
deleted file mode 100644
index 6fada39..0000000
--- a/includes/search/node_modules/supports-color/index.js
+++ /dev/null
@@ -1,135 +0,0 @@
-'use strict';
-const os = require('os');
-const tty = require('tty');
-const hasFlag = require('has-flag');
-
-const {env} = process;
-
-let forceColor;
-if (hasFlag('no-color') ||
- hasFlag('no-colors') ||
- hasFlag('color=false') ||
- hasFlag('color=never')) {
- forceColor = 0;
-} else if (hasFlag('color') ||
- hasFlag('colors') ||
- hasFlag('color=true') ||
- hasFlag('color=always')) {
- forceColor = 1;
-}
-
-if ('FORCE_COLOR' in env) {
- if (env.FORCE_COLOR === 'true') {
- forceColor = 1;
- } else if (env.FORCE_COLOR === 'false') {
- forceColor = 0;
- } else {
- forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
- }
-}
-
-function translateLevel(level) {
- if (level === 0) {
- return false;
- }
-
- return {
- level,
- hasBasic: true,
- has256: level >= 2,
- has16m: level >= 3
- };
-}
-
-function supportsColor(haveStream, streamIsTTY) {
- if (forceColor === 0) {
- return 0;
- }
-
- if (hasFlag('color=16m') ||
- hasFlag('color=full') ||
- hasFlag('color=truecolor')) {
- return 3;
- }
-
- if (hasFlag('color=256')) {
- return 2;
- }
-
- if (haveStream && !streamIsTTY && forceColor === undefined) {
- return 0;
- }
-
- const min = forceColor || 0;
-
- if (env.TERM === 'dumb') {
- return min;
- }
-
- if (process.platform === 'win32') {
- // Windows 10 build 10586 is the first Windows release that supports 256 colors.
- // Windows 10 build 14931 is the first release that supports 16m/TrueColor.
- const osRelease = os.release().split('.');
- if (
- Number(osRelease[0]) >= 10 &&
- Number(osRelease[2]) >= 10586
- ) {
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
- }
-
- return 1;
- }
-
- if ('CI' in env) {
- if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
- return 1;
- }
-
- return min;
- }
-
- if ('TEAMCITY_VERSION' in env) {
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
- }
-
- if (env.COLORTERM === 'truecolor') {
- return 3;
- }
-
- if ('TERM_PROGRAM' in env) {
- const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
-
- switch (env.TERM_PROGRAM) {
- case 'iTerm.app':
- return version >= 3 ? 3 : 2;
- case 'Apple_Terminal':
- return 2;
- // No default
- }
- }
-
- if (/-256(color)?$/i.test(env.TERM)) {
- return 2;
- }
-
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
- return 1;
- }
-
- if ('COLORTERM' in env) {
- return 1;
- }
-
- return min;
-}
-
-function getSupportLevel(stream) {
- const level = supportsColor(stream, stream && stream.isTTY);
- return translateLevel(level);
-}
-
-module.exports = {
- supportsColor: getSupportLevel,
- stdout: translateLevel(supportsColor(true, tty.isatty(1))),
- stderr: translateLevel(supportsColor(true, tty.isatty(2)))
-};
diff --git a/includes/search/node_modules/supports-color/license b/includes/search/node_modules/supports-color/license
deleted file mode 100644
index e7af2f7..0000000
--- a/includes/search/node_modules/supports-color/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/supports-color/package.json b/includes/search/node_modules/supports-color/package.json
deleted file mode 100644
index f7182ed..0000000
--- a/includes/search/node_modules/supports-color/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "supports-color",
- "version": "7.2.0",
- "description": "Detect whether a terminal supports color",
- "license": "MIT",
- "repository": "chalk/supports-color",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "files": [
- "index.js",
- "browser.js"
- ],
- "keywords": [
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "ansi",
- "styles",
- "tty",
- "rgb",
- "256",
- "shell",
- "xterm",
- "command-line",
- "support",
- "supports",
- "capability",
- "detect",
- "truecolor",
- "16m"
- ],
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "devDependencies": {
- "ava": "^1.4.1",
- "import-fresh": "^3.0.0",
- "xo": "^0.24.0"
- },
- "browser": "browser.js"
-}
diff --git a/includes/search/node_modules/supports-color/readme.md b/includes/search/node_modules/supports-color/readme.md
deleted file mode 100644
index 3654228..0000000
--- a/includes/search/node_modules/supports-color/readme.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# supports-color [![Build Status](https://travis-ci.org/chalk/supports-color.svg?branch=master)](https://travis-ci.org/chalk/supports-color)
-
-> Detect whether a terminal supports color
-
-
-## Install
-
-```
-$ npm install supports-color
-```
-
-
-## Usage
-
-```js
-const supportsColor = require('supports-color');
-
-if (supportsColor.stdout) {
- console.log('Terminal stdout supports color');
-}
-
-if (supportsColor.stdout.has256) {
- console.log('Terminal stdout supports 256 colors');
-}
-
-if (supportsColor.stderr.has16m) {
- console.log('Terminal stderr supports 16 million colors (truecolor)');
-}
-```
-
-
-## API
-
-Returns an `Object` with a `stdout` and `stderr` property for testing either streams. Each property is an `Object`, or `false` if color is not supported.
-
-The `stdout`/`stderr` objects specifies a level of support for color through a `.level` property and a corresponding flag:
-
-- `.level = 1` and `.hasBasic = true`: Basic color support (16 colors)
-- `.level = 2` and `.has256 = true`: 256 color support
-- `.level = 3` and `.has16m = true`: Truecolor support (16 million colors)
-
-
-## Info
-
-It obeys the `--color` and `--no-color` CLI flags.
-
-For situations where using `--color` is not possible, use the environment variable `FORCE_COLOR=1` (level 1), `FORCE_COLOR=2` (level 2), or `FORCE_COLOR=3` (level 3) to forcefully enable color, or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks.
-
-Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color=16m` flags, respectively.
-
-
-## Related
-
-- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module
-- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
-
-
-## Maintainers
-
-- [Sindre Sorhus](https://github.com/sindresorhus)
-- [Josh Junon](https://github.com/qix-)
-
-
----
-
-<div align="center">
- <b>
- <a href="https://tidelift.com/subscription/pkg/npm-supports-color?utm_source=npm-supports-color&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
- </b>
- <br>
- <sub>
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
- </sub>
-</div>
-
----
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/.eslintrc b/includes/search/node_modules/supports-preserve-symlinks-flag/.eslintrc
deleted file mode 100644
index 346ffec..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/.eslintrc
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "root": true,
-
- "extends": "@ljharb",
-
- "env": {
- "browser": true,
- "node": true,
- },
-
- "rules": {
- "id-length": "off",
- },
-}
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml b/includes/search/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml
deleted file mode 100644
index e8d64f3..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-# These are supported funding model platforms
-
-github: [ljharb]
-patreon: # Replace with a single Patreon username
-open_collective: # Replace with a single Open Collective username
-ko_fi: # Replace with a single Ko-fi username
-tidelift: npm/supports-preserve-symlink-flag
-community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
-liberapay: # Replace with a single Liberapay username
-issuehunt: # Replace with a single IssueHunt username
-otechie: # Replace with a single Otechie username
-custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/.nycrc b/includes/search/node_modules/supports-preserve-symlinks-flag/.nycrc
deleted file mode 100644
index bdd626c..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/.nycrc
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "all": true,
- "check-coverage": false,
- "reporter": ["text-summary", "text", "html", "json"],
- "exclude": [
- "coverage",
- "test"
- ]
-}
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md b/includes/search/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md
deleted file mode 100644
index 61f607f..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
-## v1.0.0 - 2022-01-02
-
-### Commits
-
-- Tests [`e2f59ad`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/e2f59ad74e2ae0f5f4899fcde6a6f693ab7cc074)
-- Initial commit [`dc222aa`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/dc222aad3c0b940d8d3af1ca9937d108bd2dc4b9)
-- [meta] do not publish workflow files [`5ef77f7`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/5ef77f7cb6946d16ee38672be9ec0f1bbdf63262)
-- npm init [`992b068`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/992b068503a461f7e8676f40ca2aab255fd8d6ff)
-- read me [`6c9afa9`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/6c9afa9fabc8eaf0814aaed6dd01e6df0931b76d)
-- Initial implementation [`2f98925`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/2f9892546396d4ab0ad9f1ff83e76c3f01234ae8)
-- [meta] add `auto-changelog` [`6c476ae`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/6c476ae1ed7ce68b0480344f090ac2844f35509d)
-- [Dev Deps] add `eslint`, `@ljharb/eslint-config` [`d0fffc8`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/d0fffc886d25fba119355520750a909d64da0087)
-- Only apps should have lockfiles [`ab318ed`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/ab318ed7ae62f6c2c0e80a50398d40912afd8f69)
-- [meta] add `safe-publish-latest` [`2bb23b3`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/2bb23b3ebab02dc4135c4cdf0217db82835b9fca)
-- [meta] add `sideEffects` flag [`600223b`](https://github.com/inspect-js/node-supports-preserve-symlinks-flag/commit/600223ba24f30779f209d9097721eff35ed62741)
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/LICENSE b/includes/search/node_modules/supports-preserve-symlinks-flag/LICENSE
deleted file mode 100644
index 2e7b9a3..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2022 Inspect JS
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/README.md b/includes/search/node_modules/supports-preserve-symlinks-flag/README.md
deleted file mode 100644
index eb05b12..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# node-supports-preserve-symlinks-flag <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
-
-[![github actions][actions-image]][actions-url]
-[![coverage][codecov-image]][codecov-url]
-[![dependency status][deps-svg]][deps-url]
-[![dev dependency status][dev-deps-svg]][dev-deps-url]
-[![License][license-image]][license-url]
-[![Downloads][downloads-image]][downloads-url]
-
-[![npm badge][npm-badge-png]][package-url]
-
-Determine if the current node version supports the `--preserve-symlinks` flag.
-
-## Example
-
-```js
-var supportsPreserveSymlinks = require('node-supports-preserve-symlinks-flag');
-var assert = require('assert');
-
-assert.equal(supportsPreserveSymlinks, null); // in a browser
-assert.equal(supportsPreserveSymlinks, false); // in node < v6.2
-assert.equal(supportsPreserveSymlinks, true); // in node v6.2+
-```
-
-## Tests
-Simply clone the repo, `npm install`, and run `npm test`
-
-[package-url]: https://npmjs.org/package/node-supports-preserve-symlinks-flag
-[npm-version-svg]: https://versionbadg.es/inspect-js/node-supports-preserve-symlinks-flag.svg
-[deps-svg]: https://david-dm.org/inspect-js/node-supports-preserve-symlinks-flag.svg
-[deps-url]: https://david-dm.org/inspect-js/node-supports-preserve-symlinks-flag
-[dev-deps-svg]: https://david-dm.org/inspect-js/node-supports-preserve-symlinks-flag/dev-status.svg
-[dev-deps-url]: https://david-dm.org/inspect-js/node-supports-preserve-symlinks-flag#info=devDependencies
-[npm-badge-png]: https://nodei.co/npm/node-supports-preserve-symlinks-flag.png?downloads=true&stars=true
-[license-image]: https://img.shields.io/npm/l/node-supports-preserve-symlinks-flag.svg
-[license-url]: LICENSE
-[downloads-image]: https://img.shields.io/npm/dm/node-supports-preserve-symlinks-flag.svg
-[downloads-url]: https://npm-stat.com/charts.html?package=node-supports-preserve-symlinks-flag
-[codecov-image]: https://codecov.io/gh/inspect-js/node-supports-preserve-symlinks-flag/branch/main/graphs/badge.svg
-[codecov-url]: https://app.codecov.io/gh/inspect-js/node-supports-preserve-symlinks-flag/
-[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/node-supports-preserve-symlinks-flag
-[actions-url]: https://github.com/inspect-js/node-supports-preserve-symlinks-flag/actions
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/browser.js b/includes/search/node_modules/supports-preserve-symlinks-flag/browser.js
deleted file mode 100644
index 087be1f..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/browser.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = null;
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/index.js b/includes/search/node_modules/supports-preserve-symlinks-flag/index.js
deleted file mode 100644
index 86fd5d3..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-'use strict';
-
-module.exports = (
-// node 12+
- process.allowedNodeEnvironmentFlags && process.allowedNodeEnvironmentFlags.has('--preserve-symlinks')
-) || (
-// node v6.2 - v11
- String(module.constructor._findPath).indexOf('preserveSymlinks') >= 0 // eslint-disable-line no-underscore-dangle
-);
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/package.json b/includes/search/node_modules/supports-preserve-symlinks-flag/package.json
deleted file mode 100644
index 56edadc..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/package.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "name": "supports-preserve-symlinks-flag",
- "version": "1.0.0",
- "description": "Determine if the current node version supports the `--preserve-symlinks` flag.",
- "main": "./index.js",
- "browser": "./browser.js",
- "exports": {
- ".": [
- {
- "browser": "./browser.js",
- "default": "./index.js"
- },
- "./index.js"
- ],
- "./package.json": "./package.json"
- },
- "sideEffects": false,
- "scripts": {
- "prepublishOnly": "safe-publish-latest",
- "prepublish": "not-in-publish || npm run prepublishOnly",
- "lint": "eslint --ext=js,mjs .",
- "pretest": "npm run lint",
- "tests-only": "nyc tape 'test/**/*.js'",
- "test": "npm run tests-only",
- "posttest": "aud --production",
- "version": "auto-changelog && git add CHANGELOG.md",
- "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/inspect-js/node-supports-preserve-symlinks-flag.git"
- },
- "keywords": [
- "node",
- "flag",
- "symlink",
- "symlinks",
- "preserve-symlinks"
- ],
- "author": "Jordan Harband <ljharb@gmail.com>",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/inspect-js/node-supports-preserve-symlinks-flag/issues"
- },
- "homepage": "https://github.com/inspect-js/node-supports-preserve-symlinks-flag#readme",
- "devDependencies": {
- "@ljharb/eslint-config": "^20.1.0",
- "aud": "^1.1.5",
- "auto-changelog": "^2.3.0",
- "eslint": "^8.6.0",
- "nyc": "^10.3.2",
- "safe-publish-latest": "^2.0.0",
- "semver": "^6.3.0",
- "tape": "^5.4.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "auto-changelog": {
- "output": "CHANGELOG.md",
- "template": "keepachangelog",
- "unreleased": false,
- "commitLimit": false,
- "backfillLimit": false,
- "hideCredit": true
- }
-}
diff --git a/includes/search/node_modules/supports-preserve-symlinks-flag/test/index.js b/includes/search/node_modules/supports-preserve-symlinks-flag/test/index.js
deleted file mode 100644
index 9938d67..0000000
--- a/includes/search/node_modules/supports-preserve-symlinks-flag/test/index.js
+++ /dev/null
@@ -1,29 +0,0 @@
-'use strict';
-
-var test = require('tape');
-var semver = require('semver');
-
-var supportsPreserveSymlinks = require('../');
-var browser = require('../browser');
-
-test('supportsPreserveSymlinks', function (t) {
- t.equal(typeof supportsPreserveSymlinks, 'boolean', 'is a boolean');
-
- t.equal(browser, null, 'browser file is `null`');
- t.equal(
- supportsPreserveSymlinks,
- null,
- 'in a browser, is null',
- { skip: typeof window === 'undefined' }
- );
-
- var expected = semver.satisfies(process.version, '>= 6.2');
- t.equal(
- supportsPreserveSymlinks,
- expected,
- 'is true in node v6.2+, false otherwise (actual: ' + supportsPreserveSymlinks + ', expected ' + expected + ')',
- { skip: typeof window !== 'undefined' }
- );
-
- t.end();
-});
diff --git a/includes/search/node_modules/tar-fs/.travis.yml b/includes/search/node_modules/tar-fs/.travis.yml
deleted file mode 100644
index 977f7a6..0000000
--- a/includes/search/node_modules/tar-fs/.travis.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-language: node_js
-node_js:
- - 8
- - 10
- - 12
- - 14
diff --git a/includes/search/node_modules/tar-fs/LICENSE b/includes/search/node_modules/tar-fs/LICENSE
deleted file mode 100644
index 757562e..0000000
--- a/includes/search/node_modules/tar-fs/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Mathias Buus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/tar-fs/README.md b/includes/search/node_modules/tar-fs/README.md
deleted file mode 100644
index c6d35cf..0000000
--- a/includes/search/node_modules/tar-fs/README.md
+++ /dev/null
@@ -1,165 +0,0 @@
-# tar-fs
-
-filesystem bindings for [tar-stream](https://github.com/mafintosh/tar-stream).
-
-```
-npm install tar-fs
-```
-
-[![build status](https://secure.travis-ci.org/mafintosh/tar-fs.png)](http://travis-ci.org/mafintosh/tar-fs)
-
-## Usage
-
-tar-fs allows you to pack directories into tarballs and extract tarballs into directories.
-
-It doesn't gunzip for you, so if you want to extract a `.tar.gz` with this you'll need to use something like [gunzip-maybe](https://github.com/mafintosh/gunzip-maybe) in addition to this.
-
-``` js
-var tar = require('tar-fs')
-var fs = require('fs')
-
-// packing a directory
-tar.pack('./my-directory').pipe(fs.createWriteStream('my-tarball.tar'))
-
-// extracting a directory
-fs.createReadStream('my-other-tarball.tar').pipe(tar.extract('./my-other-directory'))
-```
-
-To ignore various files when packing or extracting add a ignore function to the options. `ignore`
-is also an alias for `filter`. Additionally you get `header` if you use ignore while extracting.
-That way you could also filter by metadata.
-
-``` js
-var pack = tar.pack('./my-directory', {
- ignore: function(name) {
- return path.extname(name) === '.bin' // ignore .bin files when packing
- }
-})
-
-var extract = tar.extract('./my-other-directory', {
- ignore: function(name) {
- return path.extname(name) === '.bin' // ignore .bin files inside the tarball when extracing
- }
-})
-
-var extractFilesDirs = tar.extract('./my-other-other-directory', {
- ignore: function(_, header) {
- // pass files & directories, ignore e.g. symlinks
- return header.type !== 'file' && header.type !== 'directory'
- }
-})
-```
-
-You can also specify which entries to pack using the `entries` option
-
-```js
-var pack = tar.pack('./my-directory', {
- entries: ['file1', 'subdir/file2'] // only the specific entries will be packed
-})
-```
-
-If you want to modify the headers when packing/extracting add a map function to the options
-
-``` js
-var pack = tar.pack('./my-directory', {
- map: function(header) {
- header.name = 'prefixed/'+header.name
- return header
- }
-})
-
-var extract = tar.extract('./my-directory', {
- map: function(header) {
- header.name = 'another-prefix/'+header.name
- return header
- }
-})
-```
-
-Similarly you can use `mapStream` incase you wanna modify the input/output file streams
-
-``` js
-var pack = tar.pack('./my-directory', {
- mapStream: function(fileStream, header) {
- // NOTE: the returned stream HAS to have the same length as the input stream.
- // If not make sure to update the size in the header passed in here.
- if (path.extname(header.name) === '.js') {
- return fileStream.pipe(someTransform)
- }
- return fileStream;
- }
-})
-
-var extract = tar.extract('./my-directory', {
- mapStream: function(fileStream, header) {
- if (path.extname(header.name) === '.js') {
- return fileStream.pipe(someTransform)
- }
- return fileStream;
- }
-})
-```
-
-Set `options.fmode` and `options.dmode` to ensure that files/directories extracted have the corresponding modes
-
-``` js
-var extract = tar.extract('./my-directory', {
- dmode: parseInt(555, 8), // all dirs should be readable
- fmode: parseInt(444, 8) // all files should be readable
-})
-```
-
-It can be useful to use `dmode` and `fmode` if you are packing/unpacking tarballs between *nix/windows to ensure that all files/directories unpacked are readable.
-
-Alternatively you can set `options.readable` and/or `options.writable` to set the dmode and fmode to readable/writable.
-
-``` js
-var extract = tar.extract('./my-directory', {
- readable: true, // all dirs and files should be readable
- writable: true, // all dirs and files should be writable
-})
-```
-
-Set `options.strict` to `false` if you want to ignore errors due to unsupported entry types (like device files)
-
-To dereference symlinks (pack the contents of the symlink instead of the link itself) set `options.dereference` to `true`.
-
-## Copy a directory
-
-Copying a directory with permissions and mtime intact is as simple as
-
-``` js
-tar.pack('source-directory').pipe(tar.extract('dest-directory'))
-```
-
-## Interaction with [`tar-stream`](https://github.com/mafintosh/tar-stream)
-
-Use `finalize: false` and the `finish` hook to
-leave the pack stream open for further entries (see
-[`tar-stream#pack`](https://github.com/mafintosh/tar-stream#packing)),
-and use `pack` to pass an existing pack stream.
-
-``` js
-var mypack = tar.pack('./my-directory', {
- finalize: false,
- finish: function(sameAsMypack) {
- mypack.entry({name: 'generated-file.txt'}, "hello")
- tar.pack('./other-directory', {
- pack: sameAsMypack
- })
- }
-})
-```
-
-
-## Performance
-
-Packing and extracting a 6.1 GB with 2496 directories and 2398 files yields the following results on my Macbook Air.
-[See the benchmark here](https://gist.github.com/mafintosh/8102201)
-
-* tar-fs: 34.261 seconds
-* [node-tar](https://github.com/isaacs/node-tar): 366.123 seconds (or 10x slower)
-
-## License
-
-MIT
diff --git a/includes/search/node_modules/tar-fs/index.js b/includes/search/node_modules/tar-fs/index.js
deleted file mode 100644
index 18a28ee..0000000
--- a/includes/search/node_modules/tar-fs/index.js
+++ /dev/null
@@ -1,351 +0,0 @@
-var chownr = require('chownr')
-var tar = require('tar-stream')
-var pump = require('pump')
-var mkdirp = require('mkdirp-classic')
-var fs = require('fs')
-var path = require('path')
-var os = require('os')
-
-var win32 = os.platform() === 'win32'
-
-var noop = function () {}
-
-var echo = function (name) {
- return name
-}
-
-var normalize = !win32 ? echo : function (name) {
- return name.replace(/\\/g, '/').replace(/[:?<>|]/g, '_')
-}
-
-var statAll = function (fs, stat, cwd, ignore, entries, sort) {
- var queue = entries || ['.']
-
- return function loop (callback) {
- if (!queue.length) return callback()
- var next = queue.shift()
- var nextAbs = path.join(cwd, next)
-
- stat.call(fs, nextAbs, function (err, stat) {
- if (err) return callback(err)
-
- if (!stat.isDirectory()) return callback(null, next, stat)
-
- fs.readdir(nextAbs, function (err, files) {
- if (err) return callback(err)
-
- if (sort) files.sort()
- for (var i = 0; i < files.length; i++) {
- if (!ignore(path.join(cwd, next, files[i]))) queue.push(path.join(next, files[i]))
- }
-
- callback(null, next, stat)
- })
- })
- }
-}
-
-var strip = function (map, level) {
- return function (header) {
- header.name = header.name.split('/').slice(level).join('/')
-
- var linkname = header.linkname
- if (linkname && (header.type === 'link' || path.isAbsolute(linkname))) {
- header.linkname = linkname.split('/').slice(level).join('/')
- }
-
- return map(header)
- }
-}
-
-exports.pack = function (cwd, opts) {
- if (!cwd) cwd = '.'
- if (!opts) opts = {}
-
- var xfs = opts.fs || fs
- var ignore = opts.ignore || opts.filter || noop
- var map = opts.map || noop
- var mapStream = opts.mapStream || echo
- var statNext = statAll(xfs, opts.dereference ? xfs.stat : xfs.lstat, cwd, ignore, opts.entries, opts.sort)
- var strict = opts.strict !== false
- var umask = typeof opts.umask === 'number' ? ~opts.umask : ~processUmask()
- var dmode = typeof opts.dmode === 'number' ? opts.dmode : 0
- var fmode = typeof opts.fmode === 'number' ? opts.fmode : 0
- var pack = opts.pack || tar.pack()
- var finish = opts.finish || noop
-
- if (opts.strip) map = strip(map, opts.strip)
-
- if (opts.readable) {
- dmode |= parseInt(555, 8)
- fmode |= parseInt(444, 8)
- }
- if (opts.writable) {
- dmode |= parseInt(333, 8)
- fmode |= parseInt(222, 8)
- }
-
- var onsymlink = function (filename, header) {
- xfs.readlink(path.join(cwd, filename), function (err, linkname) {
- if (err) return pack.destroy(err)
- header.linkname = normalize(linkname)
- pack.entry(header, onnextentry)
- })
- }
-
- var onstat = function (err, filename, stat) {
- if (err) return pack.destroy(err)
- if (!filename) {
- if (opts.finalize !== false) pack.finalize()
- return finish(pack)
- }
-
- if (stat.isSocket()) return onnextentry() // tar does not support sockets...
-
- var header = {
- name: normalize(filename),
- mode: (stat.mode | (stat.isDirectory() ? dmode : fmode)) & umask,
- mtime: stat.mtime,
- size: stat.size,
- type: 'file',
- uid: stat.uid,
- gid: stat.gid
- }
-
- if (stat.isDirectory()) {
- header.size = 0
- header.type = 'directory'
- header = map(header) || header
- return pack.entry(header, onnextentry)
- }
-
- if (stat.isSymbolicLink()) {
- header.size = 0
- header.type = 'symlink'
- header = map(header) || header
- return onsymlink(filename, header)
- }
-
- // TODO: add fifo etc...
-
- header = map(header) || header
-
- if (!stat.isFile()) {
- if (strict) return pack.destroy(new Error('unsupported type for ' + filename))
- return onnextentry()
- }
-
- var entry = pack.entry(header, onnextentry)
- if (!entry) return
-
- var rs = mapStream(xfs.createReadStream(path.join(cwd, filename), { start: 0, end: header.size > 0 ? header.size - 1 : header.size }), header)
-
- rs.on('error', function (err) { // always forward errors on destroy
- entry.destroy(err)
- })
-
- pump(rs, entry)
- }
-
- var onnextentry = function (err) {
- if (err) return pack.destroy(err)
- statNext(onstat)
- }
-
- onnextentry()
-
- return pack
-}
-
-var head = function (list) {
- return list.length ? list[list.length - 1] : null
-}
-
-var processGetuid = function () {
- return process.getuid ? process.getuid() : -1
-}
-
-var processUmask = function () {
- return process.umask ? process.umask() : 0
-}
-
-exports.extract = function (cwd, opts) {
- if (!cwd) cwd = '.'
- if (!opts) opts = {}
-
- var xfs = opts.fs || fs
- var ignore = opts.ignore || opts.filter || noop
- var map = opts.map || noop
- var mapStream = opts.mapStream || echo
- var own = opts.chown !== false && !win32 && processGetuid() === 0
- var extract = opts.extract || tar.extract()
- var stack = []
- var now = new Date()
- var umask = typeof opts.umask === 'number' ? ~opts.umask : ~processUmask()
- var dmode = typeof opts.dmode === 'number' ? opts.dmode : 0
- var fmode = typeof opts.fmode === 'number' ? opts.fmode : 0
- var strict = opts.strict !== false
-
- if (opts.strip) map = strip(map, opts.strip)
-
- if (opts.readable) {
- dmode |= parseInt(555, 8)
- fmode |= parseInt(444, 8)
- }
- if (opts.writable) {
- dmode |= parseInt(333, 8)
- fmode |= parseInt(222, 8)
- }
-
- var utimesParent = function (name, cb) { // we just set the mtime on the parent dir again everytime we write an entry
- var top
- while ((top = head(stack)) && name.slice(0, top[0].length) !== top[0]) stack.pop()
- if (!top) return cb()
- xfs.utimes(top[0], now, top[1], cb)
- }
-
- var utimes = function (name, header, cb) {
- if (opts.utimes === false) return cb()
-
- if (header.type === 'directory') return xfs.utimes(name, now, header.mtime, cb)
- if (header.type === 'symlink') return utimesParent(name, cb) // TODO: how to set mtime on link?
-
- xfs.utimes(name, now, header.mtime, function (err) {
- if (err) return cb(err)
- utimesParent(name, cb)
- })
- }
-
- var chperm = function (name, header, cb) {
- var link = header.type === 'symlink'
-
- /* eslint-disable node/no-deprecated-api */
- var chmod = link ? xfs.lchmod : xfs.chmod
- var chown = link ? xfs.lchown : xfs.chown
- /* eslint-enable node/no-deprecated-api */
-
- if (!chmod) return cb()
-
- var mode = (header.mode | (header.type === 'directory' ? dmode : fmode)) & umask
-
- if (chown && own) chown.call(xfs, name, header.uid, header.gid, onchown)
- else onchown(null)
-
- function onchown (err) {
- if (err) return cb(err)
- if (!chmod) return cb()
- chmod.call(xfs, name, mode, cb)
- }
- }
-
- extract.on('entry', function (header, stream, next) {
- header = map(header) || header
- header.name = normalize(header.name)
- var name = path.join(cwd, path.join('/', header.name))
-
- if (ignore(name, header)) {
- stream.resume()
- return next()
- }
-
- var stat = function (err) {
- if (err) return next(err)
- utimes(name, header, function (err) {
- if (err) return next(err)
- if (win32) return next()
- chperm(name, header, next)
- })
- }
-
- var onsymlink = function () {
- if (win32) return next() // skip symlinks on win for now before it can be tested
- xfs.unlink(name, function () {
- xfs.symlink(header.linkname, name, stat)
- })
- }
-
- var onlink = function () {
- if (win32) return next() // skip links on win for now before it can be tested
- xfs.unlink(name, function () {
- var srcpath = path.join(cwd, path.join('/', header.linkname))
-
- xfs.link(srcpath, name, function (err) {
- if (err && err.code === 'EPERM' && opts.hardlinkAsFilesFallback) {
- stream = xfs.createReadStream(srcpath)
- return onfile()
- }
-
- stat(err)
- })
- })
- }
-
- var onfile = function () {
- var ws = xfs.createWriteStream(name)
- var rs = mapStream(stream, header)
-
- ws.on('error', function (err) { // always forward errors on destroy
- rs.destroy(err)
- })
-
- pump(rs, ws, function (err) {
- if (err) return next(err)
- ws.on('close', stat)
- })
- }
-
- if (header.type === 'directory') {
- stack.push([name, header.mtime])
- return mkdirfix(name, {
- fs: xfs, own: own, uid: header.uid, gid: header.gid
- }, stat)
- }
-
- var dir = path.dirname(name)
-
- validate(xfs, dir, path.join(cwd, '.'), function (err, valid) {
- if (err) return next(err)
- if (!valid) return next(new Error(dir + ' is not a valid path'))
-
- mkdirfix(dir, {
- fs: xfs, own: own, uid: header.uid, gid: header.gid
- }, function (err) {
- if (err) return next(err)
-
- switch (header.type) {
- case 'file': return onfile()
- case 'link': return onlink()
- case 'symlink': return onsymlink()
- }
-
- if (strict) return next(new Error('unsupported type for ' + name + ' (' + header.type + ')'))
-
- stream.resume()
- next()
- })
- })
- })
-
- if (opts.finish) extract.on('finish', opts.finish)
-
- return extract
-}
-
-function validate (fs, name, root, cb) {
- if (name === root) return cb(null, true)
- fs.lstat(name, function (err, st) {
- if (err && err.code !== 'ENOENT') return cb(err)
- if (err || st.isDirectory()) return validate(fs, path.join(name, '..'), root, cb)
- cb(null, false)
- })
-}
-
-function mkdirfix (name, opts, cb) {
- mkdirp(name, { fs: opts.fs }, function (err, made) {
- if (!err && made && opts.own) {
- chownr(made, opts.uid, opts.gid, cb)
- } else {
- cb(err)
- }
- })
-}
diff --git a/includes/search/node_modules/tar-fs/package.json b/includes/search/node_modules/tar-fs/package.json
deleted file mode 100644
index 165bcce..0000000
--- a/includes/search/node_modules/tar-fs/package.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "tar-fs",
- "version": "2.1.1",
- "description": "filesystem bindings for tar-stream",
- "dependencies": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- },
- "keywords": [
- "tar",
- "fs",
- "file",
- "tarball",
- "directory",
- "stream"
- ],
- "devDependencies": {
- "rimraf": "^2.6.3",
- "standard": "^13.0.1",
- "tape": "^4.9.2"
- },
- "scripts": {
- "test": "standard && tape test/index.js"
- },
- "bugs": {
- "url": "https://github.com/mafintosh/tar-fs/issues"
- },
- "homepage": "https://github.com/mafintosh/tar-fs",
- "main": "index.js",
- "directories": {
- "test": "test"
- },
- "author": "Mathias Buus",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "https://github.com/mafintosh/tar-fs.git"
- }
-}
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/a/hello.txt b/includes/search/node_modules/tar-fs/test/fixtures/a/hello.txt
deleted file mode 100644
index 3b18e51..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/a/hello.txt
+++ /dev/null
@@ -1 +0,0 @@
-hello world
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/b/a/test.txt b/includes/search/node_modules/tar-fs/test/fixtures/b/a/test.txt
deleted file mode 100644
index 9daeafb..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/b/a/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-test
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/d/file1 b/includes/search/node_modules/tar-fs/test/fixtures/d/file1
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/d/file1
+++ /dev/null
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/d/file2 b/includes/search/node_modules/tar-fs/test/fixtures/d/file2
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/d/file2
+++ /dev/null
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 b/includes/search/node_modules/tar-fs/test/fixtures/d/sub-dir/file5
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/d/sub-dir/file5
+++ /dev/null
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/d/sub-files/file3 b/includes/search/node_modules/tar-fs/test/fixtures/d/sub-files/file3
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/d/sub-files/file3
+++ /dev/null
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/d/sub-files/file4 b/includes/search/node_modules/tar-fs/test/fixtures/d/sub-files/file4
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/d/sub-files/file4
+++ /dev/null
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/e/directory/.ignore b/includes/search/node_modules/tar-fs/test/fixtures/e/directory/.ignore
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/e/directory/.ignore
+++ /dev/null
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/e/file b/includes/search/node_modules/tar-fs/test/fixtures/e/file
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/e/file
+++ /dev/null
diff --git a/includes/search/node_modules/tar-fs/test/fixtures/invalid.tar b/includes/search/node_modules/tar-fs/test/fixtures/invalid.tar
deleted file mode 100644
index a645e9c..0000000
--- a/includes/search/node_modules/tar-fs/test/fixtures/invalid.tar
+++ /dev/null
Binary files differ
diff --git a/includes/search/node_modules/tar-fs/test/index.js b/includes/search/node_modules/tar-fs/test/index.js
deleted file mode 100644
index a01f82a..0000000
--- a/includes/search/node_modules/tar-fs/test/index.js
+++ /dev/null
@@ -1,346 +0,0 @@
-var test = require('tape')
-var rimraf = require('rimraf')
-var tar = require('../index')
-var tarStream = require('tar-stream')
-var path = require('path')
-var fs = require('fs')
-var os = require('os')
-
-var win32 = os.platform() === 'win32'
-
-var mtime = function (st) {
- return Math.floor(st.mtime.getTime() / 1000)
-}
-
-test('copy a -> copy/a', function (t) {
- t.plan(5)
-
- var a = path.join(__dirname, 'fixtures', 'a')
- var b = path.join(__dirname, 'fixtures', 'copy', 'a')
-
- rimraf.sync(b)
- tar.pack(a)
- .pipe(tar.extract(b))
- .on('finish', function () {
- var files = fs.readdirSync(b)
- t.same(files.length, 1)
- t.same(files[0], 'hello.txt')
- var fileB = path.join(b, files[0])
- var fileA = path.join(a, files[0])
- t.same(fs.readFileSync(fileB, 'utf-8'), fs.readFileSync(fileA, 'utf-8'))
- t.same(fs.statSync(fileB).mode, fs.statSync(fileA).mode)
- t.same(mtime(fs.statSync(fileB)), mtime(fs.statSync(fileA)))
- })
-})
-
-test('copy b -> copy/b', function (t) {
- t.plan(8)
-
- var a = path.join(__dirname, 'fixtures', 'b')
- var b = path.join(__dirname, 'fixtures', 'copy', 'b')
-
- rimraf.sync(b)
- tar.pack(a)
- .pipe(tar.extract(b))
- .on('finish', function () {
- var files = fs.readdirSync(b)
- t.same(files.length, 1)
- t.same(files[0], 'a')
- var dirB = path.join(b, files[0])
- var dirA = path.join(a, files[0])
- t.same(fs.statSync(dirB).mode, fs.statSync(dirA).mode)
- t.same(mtime(fs.statSync(dirB)), mtime(fs.statSync(dirA)))
- t.ok(fs.statSync(dirB).isDirectory())
- var fileB = path.join(dirB, 'test.txt')
- var fileA = path.join(dirA, 'test.txt')
- t.same(fs.readFileSync(fileB, 'utf-8'), fs.readFileSync(fileA, 'utf-8'))
- t.same(fs.statSync(fileB).mode, fs.statSync(fileA).mode)
- t.same(mtime(fs.statSync(fileB)), mtime(fs.statSync(fileA)))
- })
-})
-
-test('symlink', function (t) {
- if (win32) { // no symlink support on win32 currently. TODO: test if this can be enabled somehow
- t.plan(1)
- t.ok(true)
- return
- }
-
- t.plan(5)
-
- var a = path.join(__dirname, 'fixtures', 'c')
-
- rimraf.sync(path.join(a, 'link'))
- fs.symlinkSync('.gitignore', path.join(a, 'link'))
-
- var b = path.join(__dirname, 'fixtures', 'copy', 'c')
-
- rimraf.sync(b)
- tar.pack(a)
- .pipe(tar.extract(b))
- .on('finish', function () {
- var files = fs.readdirSync(b).sort()
- t.same(files.length, 2)
- t.same(files[0], '.gitignore')
- t.same(files[1], 'link')
-
- var linkA = path.join(a, 'link')
- var linkB = path.join(b, 'link')
-
- t.same(mtime(fs.lstatSync(linkB)), mtime(fs.lstatSync(linkA)))
- t.same(fs.readlinkSync(linkB), fs.readlinkSync(linkA))
- })
-})
-
-test('follow symlinks', function (t) {
- if (win32) { // no symlink support on win32 currently. TODO: test if this can be enabled somehow
- t.plan(1)
- t.ok(true)
- return
- }
-
- t.plan(5)
-
- var a = path.join(__dirname, 'fixtures', 'c')
-
- rimraf.sync(path.join(a, 'link'))
- fs.symlinkSync('.gitignore', path.join(a, 'link'))
-
- var b = path.join(__dirname, 'fixtures', 'copy', 'c-dereference')
-
- rimraf.sync(b)
- tar.pack(a, { dereference: true })
- .pipe(tar.extract(b))
- .on('finish', function () {
- var files = fs.readdirSync(b).sort()
- t.same(files.length, 2)
- t.same(files[0], '.gitignore')
- t.same(files[1], 'link')
-
- var file1 = path.join(b, '.gitignore')
- var file2 = path.join(b, 'link')
-
- t.same(mtime(fs.lstatSync(file1)), mtime(fs.lstatSync(file2)))
- t.same(fs.readFileSync(file1), fs.readFileSync(file2))
- })
-})
-
-test('strip', function (t) {
- t.plan(2)
-
- var a = path.join(__dirname, 'fixtures', 'b')
- var b = path.join(__dirname, 'fixtures', 'copy', 'b-strip')
-
- rimraf.sync(b)
-
- tar.pack(a)
- .pipe(tar.extract(b, { strip: 1 }))
- .on('finish', function () {
- var files = fs.readdirSync(b).sort()
- t.same(files.length, 1)
- t.same(files[0], 'test.txt')
- })
-})
-
-test('strip + map', function (t) {
- t.plan(2)
-
- var a = path.join(__dirname, 'fixtures', 'b')
- var b = path.join(__dirname, 'fixtures', 'copy', 'b-strip')
-
- rimraf.sync(b)
-
- var uppercase = function (header) {
- header.name = header.name.toUpperCase()
- return header
- }
-
- tar.pack(a)
- .pipe(tar.extract(b, { strip: 1, map: uppercase }))
- .on('finish', function () {
- var files = fs.readdirSync(b).sort()
- t.same(files.length, 1)
- t.same(files[0], 'TEST.TXT')
- })
-})
-
-test('map + dir + permissions', function (t) {
- t.plan(win32 ? 1 : 2) // skip chmod test, it's not working like unix
-
- var a = path.join(__dirname, 'fixtures', 'b')
- var b = path.join(__dirname, 'fixtures', 'copy', 'a-perms')
-
- rimraf.sync(b)
-
- var aWithMode = function (header) {
- if (header.name === 'a') {
- header.mode = parseInt(700, 8)
- }
- return header
- }
-
- tar.pack(a)
- .pipe(tar.extract(b, { map: aWithMode }))
- .on('finish', function () {
- var files = fs.readdirSync(b).sort()
- var stat = fs.statSync(path.join(b, 'a'))
- t.same(files.length, 1)
- if (!win32) {
- t.same(stat.mode & parseInt(777, 8), parseInt(700, 8))
- }
- })
-})
-
-test('specific entries', function (t) {
- t.plan(6)
-
- var a = path.join(__dirname, 'fixtures', 'd')
- var b = path.join(__dirname, 'fixtures', 'copy', 'd-entries')
-
- var entries = ['file1', 'sub-files/file3', 'sub-dir']
-
- rimraf.sync(b)
- tar.pack(a, { entries: entries })
- .pipe(tar.extract(b))
- .on('finish', function () {
- var files = fs.readdirSync(b)
- t.same(files.length, 3)
- t.notSame(files.indexOf('file1'), -1)
- t.notSame(files.indexOf('sub-files'), -1)
- t.notSame(files.indexOf('sub-dir'), -1)
- var subFiles = fs.readdirSync(path.join(b, 'sub-files'))
- t.same(subFiles, ['file3'])
- var subDir = fs.readdirSync(path.join(b, 'sub-dir'))
- t.same(subDir, ['file5'])
- })
-})
-
-test('check type while mapping header on packing', function (t) {
- t.plan(3)
-
- var e = path.join(__dirname, 'fixtures', 'e')
-
- var checkHeaderType = function (header) {
- if (header.name.indexOf('.') === -1) t.same(header.type, header.name)
- }
-
- tar.pack(e, { map: checkHeaderType })
-})
-
-test('finish callbacks', function (t) {
- t.plan(3)
-
- var a = path.join(__dirname, 'fixtures', 'a')
- var b = path.join(__dirname, 'fixtures', 'copy', 'a')
-
- rimraf.sync(b)
-
- var packEntries = 0
- var extractEntries = 0
-
- var countPackEntry = function (header) { packEntries++ }
- var countExtractEntry = function (header) { extractEntries++ }
-
- var pack
- var onPackFinish = function (passedPack) {
- t.equal(packEntries, 2, 'All entries have been packed') // 2 entries - the file and base directory
- t.equal(passedPack, pack, 'The finish hook passes the pack')
- }
-
- var onExtractFinish = function () { t.equal(extractEntries, 2) }
-
- pack = tar.pack(a, { map: countPackEntry, finish: onPackFinish })
-
- pack.pipe(tar.extract(b, { map: countExtractEntry, finish: onExtractFinish }))
- .on('finish', function () {
- t.end()
- })
-})
-
-test('not finalizing the pack', function (t) {
- t.plan(2)
-
- var a = path.join(__dirname, 'fixtures', 'a')
- var b = path.join(__dirname, 'fixtures', 'b')
-
- var out = path.join(__dirname, 'fixtures', 'copy', 'merged-packs')
-
- rimraf.sync(out)
-
- var prefixer = function (prefix) {
- return function (header) {
- header.name = path.join(prefix, header.name)
- return header
- }
- }
-
- tar.pack(a, {
- map: prefixer('a-files'),
- finalize: false,
- finish: packB
- })
-
- function packB (pack) {
- tar.pack(b, { pack: pack, map: prefixer('b-files') })
- .pipe(tar.extract(out))
- .on('finish', assertResults)
- }
-
- function assertResults () {
- var containers = fs.readdirSync(out)
- t.deepEqual(containers, ['a-files', 'b-files'])
- var aFiles = fs.readdirSync(path.join(out, 'a-files'))
- t.deepEqual(aFiles, ['hello.txt'])
- }
-})
-
-test('do not extract invalid tar', function (t) {
- var a = path.join(__dirname, 'fixtures', 'invalid.tar')
-
- var out = path.join(__dirname, 'fixtures', 'invalid')
-
- rimraf.sync(out)
-
- fs.createReadStream(a)
- .pipe(tar.extract(out))
- .on('error', function (err) {
- t.ok(/is not a valid path/i.test(err.message))
- fs.stat(path.join(out, '../bar'), function (err) {
- t.ok(err)
- t.end()
- })
- })
-})
-
-test('no abs hardlink targets', function (t) {
- var out = path.join(__dirname, 'fixtures', 'invalid')
- var outside = path.join(__dirname, 'fixtures', 'outside')
-
- rimraf.sync(out)
-
- var s = tarStream.pack()
-
- fs.writeFileSync(outside, 'something')
-
- s.entry({
- type: 'link',
- name: 'link',
- linkname: outside
- })
-
- s.entry({
- name: 'link'
- }, 'overwrite')
-
- s.finalize()
-
- s.pipe(tar.extract(out))
- .on('error', function (err) {
- t.ok(err, 'had error')
- fs.readFile(outside, 'utf-8', function (err, str) {
- t.error(err, 'no error')
- t.same(str, 'something')
- t.end()
- })
- })
-})
diff --git a/includes/search/node_modules/tar-stream/LICENSE b/includes/search/node_modules/tar-stream/LICENSE
deleted file mode 100644
index 757562e..0000000
--- a/includes/search/node_modules/tar-stream/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Mathias Buus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE. \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/README.md b/includes/search/node_modules/tar-stream/README.md
deleted file mode 100644
index 2679d9d..0000000
--- a/includes/search/node_modules/tar-stream/README.md
+++ /dev/null
@@ -1,168 +0,0 @@
-# tar-stream
-
-tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.
-
-Note that you still need to gunzip your data if you have a `.tar.gz`. We recommend using [gunzip-maybe](https://github.com/mafintosh/gunzip-maybe) in conjunction with this.
-
-```
-npm install tar-stream
-```
-
-[![build status](https://secure.travis-ci.org/mafintosh/tar-stream.png)](http://travis-ci.org/mafintosh/tar-stream)
-[![License](https://img.shields.io/badge/license-MIT-blue.svg)](http://opensource.org/licenses/MIT)
-
-## Usage
-
-tar-stream exposes two streams, [pack](https://github.com/mafintosh/tar-stream#packing) which creates tarballs and [extract](https://github.com/mafintosh/tar-stream#extracting) which extracts tarballs. To [modify an existing tarball](https://github.com/mafintosh/tar-stream#modifying-existing-tarballs) use both.
-
-
-It implementes USTAR with additional support for pax extended headers. It should be compatible with all popular tar distributions out there (gnutar, bsdtar etc)
-
-## Related
-
-If you want to pack/unpack directories on the file system check out [tar-fs](https://github.com/mafintosh/tar-fs) which provides file system bindings to this module.
-
-## Packing
-
-To create a pack stream use `tar.pack()` and call `pack.entry(header, [callback])` to add tar entries.
-
-``` js
-var tar = require('tar-stream')
-var pack = tar.pack() // pack is a streams2 stream
-
-// add a file called my-test.txt with the content "Hello World!"
-pack.entry({ name: 'my-test.txt' }, 'Hello World!')
-
-// add a file called my-stream-test.txt from a stream
-var entry = pack.entry({ name: 'my-stream-test.txt', size: 11 }, function(err) {
- // the stream was added
- // no more entries
- pack.finalize()
-})
-
-entry.write('hello')
-entry.write(' ')
-entry.write('world')
-entry.end()
-
-// pipe the pack stream somewhere
-pack.pipe(process.stdout)
-```
-
-## Extracting
-
-To extract a stream use `tar.extract()` and listen for `extract.on('entry', (header, stream, next) )`
-
-``` js
-var extract = tar.extract()
-
-extract.on('entry', function(header, stream, next) {
- // header is the tar header
- // stream is the content body (might be an empty stream)
- // call next when you are done with this entry
-
- stream.on('end', function() {
- next() // ready for next entry
- })
-
- stream.resume() // just auto drain the stream
-})
-
-extract.on('finish', function() {
- // all entries read
-})
-
-pack.pipe(extract)
-```
-
-The tar archive is streamed sequentially, meaning you **must** drain each entry's stream as you get them or else the main extract stream will receive backpressure and stop reading.
-
-## Headers
-
-The header object using in `entry` should contain the following properties.
-Most of these values can be found by stat'ing a file.
-
-``` js
-{
- name: 'path/to/this/entry.txt',
- size: 1314, // entry size. defaults to 0
- mode: 0o644, // entry mode. defaults to to 0o755 for dirs and 0o644 otherwise
- mtime: new Date(), // last modified date for entry. defaults to now.
- type: 'file', // type of entry. defaults to file. can be:
- // file | link | symlink | directory | block-device
- // character-device | fifo | contiguous-file
- linkname: 'path', // linked file name
- uid: 0, // uid of entry owner. defaults to 0
- gid: 0, // gid of entry owner. defaults to 0
- uname: 'maf', // uname of entry owner. defaults to null
- gname: 'staff', // gname of entry owner. defaults to null
- devmajor: 0, // device major version. defaults to 0
- devminor: 0 // device minor version. defaults to 0
-}
-```
-
-## Modifying existing tarballs
-
-Using tar-stream it is easy to rewrite paths / change modes etc in an existing tarball.
-
-``` js
-var extract = tar.extract()
-var pack = tar.pack()
-var path = require('path')
-
-extract.on('entry', function(header, stream, callback) {
- // let's prefix all names with 'tmp'
- header.name = path.join('tmp', header.name)
- // write the new entry to the pack stream
- stream.pipe(pack.entry(header, callback))
-})
-
-extract.on('finish', function() {
- // all entries done - lets finalize it
- pack.finalize()
-})
-
-// pipe the old tarball to the extractor
-oldTarballStream.pipe(extract)
-
-// pipe the new tarball the another stream
-pack.pipe(newTarballStream)
-```
-
-## Saving tarball to fs
-
-
-``` js
-var fs = require('fs')
-var tar = require('tar-stream')
-
-var pack = tar.pack() // pack is a streams2 stream
-var path = 'YourTarBall.tar'
-var yourTarball = fs.createWriteStream(path)
-
-// add a file called YourFile.txt with the content "Hello World!"
-pack.entry({name: 'YourFile.txt'}, 'Hello World!', function (err) {
- if (err) throw err
- pack.finalize()
-})
-
-// pipe the pack stream to your file
-pack.pipe(yourTarball)
-
-yourTarball.on('close', function () {
- console.log(path + ' has been written')
- fs.stat(path, function(err, stats) {
- if (err) throw err
- console.log(stats)
- console.log('Got file info successfully!')
- })
-})
-```
-
-## Performance
-
-[See tar-fs for a performance comparison with node-tar](https://github.com/mafintosh/tar-fs/blob/master/README.md#performance)
-
-# License
-
-MIT
diff --git a/includes/search/node_modules/tar-stream/extract.js b/includes/search/node_modules/tar-stream/extract.js
deleted file mode 100644
index 11b13b7..0000000
--- a/includes/search/node_modules/tar-stream/extract.js
+++ /dev/null
@@ -1,257 +0,0 @@
-var util = require('util')
-var bl = require('bl')
-var headers = require('./headers')
-
-var Writable = require('readable-stream').Writable
-var PassThrough = require('readable-stream').PassThrough
-
-var noop = function () {}
-
-var overflow = function (size) {
- size &= 511
- return size && 512 - size
-}
-
-var emptyStream = function (self, offset) {
- var s = new Source(self, offset)
- s.end()
- return s
-}
-
-var mixinPax = function (header, pax) {
- if (pax.path) header.name = pax.path
- if (pax.linkpath) header.linkname = pax.linkpath
- if (pax.size) header.size = parseInt(pax.size, 10)
- header.pax = pax
- return header
-}
-
-var Source = function (self, offset) {
- this._parent = self
- this.offset = offset
- PassThrough.call(this, { autoDestroy: false })
-}
-
-util.inherits(Source, PassThrough)
-
-Source.prototype.destroy = function (err) {
- this._parent.destroy(err)
-}
-
-var Extract = function (opts) {
- if (!(this instanceof Extract)) return new Extract(opts)
- Writable.call(this, opts)
-
- opts = opts || {}
-
- this._offset = 0
- this._buffer = bl()
- this._missing = 0
- this._partial = false
- this._onparse = noop
- this._header = null
- this._stream = null
- this._overflow = null
- this._cb = null
- this._locked = false
- this._destroyed = false
- this._pax = null
- this._paxGlobal = null
- this._gnuLongPath = null
- this._gnuLongLinkPath = null
-
- var self = this
- var b = self._buffer
-
- var oncontinue = function () {
- self._continue()
- }
-
- var onunlock = function (err) {
- self._locked = false
- if (err) return self.destroy(err)
- if (!self._stream) oncontinue()
- }
-
- var onstreamend = function () {
- self._stream = null
- var drain = overflow(self._header.size)
- if (drain) self._parse(drain, ondrain)
- else self._parse(512, onheader)
- if (!self._locked) oncontinue()
- }
-
- var ondrain = function () {
- self._buffer.consume(overflow(self._header.size))
- self._parse(512, onheader)
- oncontinue()
- }
-
- var onpaxglobalheader = function () {
- var size = self._header.size
- self._paxGlobal = headers.decodePax(b.slice(0, size))
- b.consume(size)
- onstreamend()
- }
-
- var onpaxheader = function () {
- var size = self._header.size
- self._pax = headers.decodePax(b.slice(0, size))
- if (self._paxGlobal) self._pax = Object.assign({}, self._paxGlobal, self._pax)
- b.consume(size)
- onstreamend()
- }
-
- var ongnulongpath = function () {
- var size = self._header.size
- this._gnuLongPath = headers.decodeLongPath(b.slice(0, size), opts.filenameEncoding)
- b.consume(size)
- onstreamend()
- }
-
- var ongnulonglinkpath = function () {
- var size = self._header.size
- this._gnuLongLinkPath = headers.decodeLongPath(b.slice(0, size), opts.filenameEncoding)
- b.consume(size)
- onstreamend()
- }
-
- var onheader = function () {
- var offset = self._offset
- var header
- try {
- header = self._header = headers.decode(b.slice(0, 512), opts.filenameEncoding, opts.allowUnknownFormat)
- } catch (err) {
- self.emit('error', err)
- }
- b.consume(512)
-
- if (!header) {
- self._parse(512, onheader)
- oncontinue()
- return
- }
- if (header.type === 'gnu-long-path') {
- self._parse(header.size, ongnulongpath)
- oncontinue()
- return
- }
- if (header.type === 'gnu-long-link-path') {
- self._parse(header.size, ongnulonglinkpath)
- oncontinue()
- return
- }
- if (header.type === 'pax-global-header') {
- self._parse(header.size, onpaxglobalheader)
- oncontinue()
- return
- }
- if (header.type === 'pax-header') {
- self._parse(header.size, onpaxheader)
- oncontinue()
- return
- }
-
- if (self._gnuLongPath) {
- header.name = self._gnuLongPath
- self._gnuLongPath = null
- }
-
- if (self._gnuLongLinkPath) {
- header.linkname = self._gnuLongLinkPath
- self._gnuLongLinkPath = null
- }
-
- if (self._pax) {
- self._header = header = mixinPax(header, self._pax)
- self._pax = null
- }
-
- self._locked = true
-
- if (!header.size || header.type === 'directory') {
- self._parse(512, onheader)
- self.emit('entry', header, emptyStream(self, offset), onunlock)
- return
- }
-
- self._stream = new Source(self, offset)
-
- self.emit('entry', header, self._stream, onunlock)
- self._parse(header.size, onstreamend)
- oncontinue()
- }
-
- this._onheader = onheader
- this._parse(512, onheader)
-}
-
-util.inherits(Extract, Writable)
-
-Extract.prototype.destroy = function (err) {
- if (this._destroyed) return
- this._destroyed = true
-
- if (err) this.emit('error', err)
- this.emit('close')
- if (this._stream) this._stream.emit('close')
-}
-
-Extract.prototype._parse = function (size, onparse) {
- if (this._destroyed) return
- this._offset += size
- this._missing = size
- if (onparse === this._onheader) this._partial = false
- this._onparse = onparse
-}
-
-Extract.prototype._continue = function () {
- if (this._destroyed) return
- var cb = this._cb
- this._cb = noop
- if (this._overflow) this._write(this._overflow, undefined, cb)
- else cb()
-}
-
-Extract.prototype._write = function (data, enc, cb) {
- if (this._destroyed) return
-
- var s = this._stream
- var b = this._buffer
- var missing = this._missing
- if (data.length) this._partial = true
-
- // we do not reach end-of-chunk now. just forward it
-
- if (data.length < missing) {
- this._missing -= data.length
- this._overflow = null
- if (s) return s.write(data, cb)
- b.append(data)
- return cb()
- }
-
- // end-of-chunk. the parser should call cb.
-
- this._cb = cb
- this._missing = 0
-
- var overflow = null
- if (data.length > missing) {
- overflow = data.slice(missing)
- data = data.slice(0, missing)
- }
-
- if (s) s.end(data)
- else b.append(data)
-
- this._overflow = overflow
- this._onparse()
-}
-
-Extract.prototype._final = function (cb) {
- if (this._partial) return this.destroy(new Error('Unexpected end of data'))
- cb()
-}
-
-module.exports = Extract
diff --git a/includes/search/node_modules/tar-stream/headers.js b/includes/search/node_modules/tar-stream/headers.js
deleted file mode 100644
index aba4ca4..0000000
--- a/includes/search/node_modules/tar-stream/headers.js
+++ /dev/null
@@ -1,295 +0,0 @@
-var alloc = Buffer.alloc
-
-var ZEROS = '0000000000000000000'
-var SEVENS = '7777777777777777777'
-var ZERO_OFFSET = '0'.charCodeAt(0)
-var USTAR_MAGIC = Buffer.from('ustar\x00', 'binary')
-var USTAR_VER = Buffer.from('00', 'binary')
-var GNU_MAGIC = Buffer.from('ustar\x20', 'binary')
-var GNU_VER = Buffer.from('\x20\x00', 'binary')
-var MASK = parseInt('7777', 8)
-var MAGIC_OFFSET = 257
-var VERSION_OFFSET = 263
-
-var clamp = function (index, len, defaultValue) {
- if (typeof index !== 'number') return defaultValue
- index = ~~index // Coerce to integer.
- if (index >= len) return len
- if (index >= 0) return index
- index += len
- if (index >= 0) return index
- return 0
-}
-
-var toType = function (flag) {
- switch (flag) {
- case 0:
- return 'file'
- case 1:
- return 'link'
- case 2:
- return 'symlink'
- case 3:
- return 'character-device'
- case 4:
- return 'block-device'
- case 5:
- return 'directory'
- case 6:
- return 'fifo'
- case 7:
- return 'contiguous-file'
- case 72:
- return 'pax-header'
- case 55:
- return 'pax-global-header'
- case 27:
- return 'gnu-long-link-path'
- case 28:
- case 30:
- return 'gnu-long-path'
- }
-
- return null
-}
-
-var toTypeflag = function (flag) {
- switch (flag) {
- case 'file':
- return 0
- case 'link':
- return 1
- case 'symlink':
- return 2
- case 'character-device':
- return 3
- case 'block-device':
- return 4
- case 'directory':
- return 5
- case 'fifo':
- return 6
- case 'contiguous-file':
- return 7
- case 'pax-header':
- return 72
- }
-
- return 0
-}
-
-var indexOf = function (block, num, offset, end) {
- for (; offset < end; offset++) {
- if (block[offset] === num) return offset
- }
- return end
-}
-
-var cksum = function (block) {
- var sum = 8 * 32
- for (var i = 0; i < 148; i++) sum += block[i]
- for (var j = 156; j < 512; j++) sum += block[j]
- return sum
-}
-
-var encodeOct = function (val, n) {
- val = val.toString(8)
- if (val.length > n) return SEVENS.slice(0, n) + ' '
- else return ZEROS.slice(0, n - val.length) + val + ' '
-}
-
-/* Copied from the node-tar repo and modified to meet
- * tar-stream coding standard.
- *
- * Source: https://github.com/npm/node-tar/blob/51b6627a1f357d2eb433e7378e5f05e83b7aa6cd/lib/header.js#L349
- */
-function parse256 (buf) {
- // first byte MUST be either 80 or FF
- // 80 for positive, FF for 2's comp
- var positive
- if (buf[0] === 0x80) positive = true
- else if (buf[0] === 0xFF) positive = false
- else return null
-
- // build up a base-256 tuple from the least sig to the highest
- var tuple = []
- for (var i = buf.length - 1; i > 0; i--) {
- var byte = buf[i]
- if (positive) tuple.push(byte)
- else tuple.push(0xFF - byte)
- }
-
- var sum = 0
- var l = tuple.length
- for (i = 0; i < l; i++) {
- sum += tuple[i] * Math.pow(256, i)
- }
-
- return positive ? sum : -1 * sum
-}
-
-var decodeOct = function (val, offset, length) {
- val = val.slice(offset, offset + length)
- offset = 0
-
- // If prefixed with 0x80 then parse as a base-256 integer
- if (val[offset] & 0x80) {
- return parse256(val)
- } else {
- // Older versions of tar can prefix with spaces
- while (offset < val.length && val[offset] === 32) offset++
- var end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length)
- while (offset < end && val[offset] === 0) offset++
- if (end === offset) return 0
- return parseInt(val.slice(offset, end).toString(), 8)
- }
-}
-
-var decodeStr = function (val, offset, length, encoding) {
- return val.slice(offset, indexOf(val, 0, offset, offset + length)).toString(encoding)
-}
-
-var addLength = function (str) {
- var len = Buffer.byteLength(str)
- var digits = Math.floor(Math.log(len) / Math.log(10)) + 1
- if (len + digits >= Math.pow(10, digits)) digits++
-
- return (len + digits) + str
-}
-
-exports.decodeLongPath = function (buf, encoding) {
- return decodeStr(buf, 0, buf.length, encoding)
-}
-
-exports.encodePax = function (opts) { // TODO: encode more stuff in pax
- var result = ''
- if (opts.name) result += addLength(' path=' + opts.name + '\n')
- if (opts.linkname) result += addLength(' linkpath=' + opts.linkname + '\n')
- var pax = opts.pax
- if (pax) {
- for (var key in pax) {
- result += addLength(' ' + key + '=' + pax[key] + '\n')
- }
- }
- return Buffer.from(result)
-}
-
-exports.decodePax = function (buf) {
- var result = {}
-
- while (buf.length) {
- var i = 0
- while (i < buf.length && buf[i] !== 32) i++
- var len = parseInt(buf.slice(0, i).toString(), 10)
- if (!len) return result
-
- var b = buf.slice(i + 1, len - 1).toString()
- var keyIndex = b.indexOf('=')
- if (keyIndex === -1) return result
- result[b.slice(0, keyIndex)] = b.slice(keyIndex + 1)
-
- buf = buf.slice(len)
- }
-
- return result
-}
-
-exports.encode = function (opts) {
- var buf = alloc(512)
- var name = opts.name
- var prefix = ''
-
- if (opts.typeflag === 5 && name[name.length - 1] !== '/') name += '/'
- if (Buffer.byteLength(name) !== name.length) return null // utf-8
-
- while (Buffer.byteLength(name) > 100) {
- var i = name.indexOf('/')
- if (i === -1) return null
- prefix += prefix ? '/' + name.slice(0, i) : name.slice(0, i)
- name = name.slice(i + 1)
- }
-
- if (Buffer.byteLength(name) > 100 || Buffer.byteLength(prefix) > 155) return null
- if (opts.linkname && Buffer.byteLength(opts.linkname) > 100) return null
-
- buf.write(name)
- buf.write(encodeOct(opts.mode & MASK, 6), 100)
- buf.write(encodeOct(opts.uid, 6), 108)
- buf.write(encodeOct(opts.gid, 6), 116)
- buf.write(encodeOct(opts.size, 11), 124)
- buf.write(encodeOct((opts.mtime.getTime() / 1000) | 0, 11), 136)
-
- buf[156] = ZERO_OFFSET + toTypeflag(opts.type)
-
- if (opts.linkname) buf.write(opts.linkname, 157)
-
- USTAR_MAGIC.copy(buf, MAGIC_OFFSET)
- USTAR_VER.copy(buf, VERSION_OFFSET)
- if (opts.uname) buf.write(opts.uname, 265)
- if (opts.gname) buf.write(opts.gname, 297)
- buf.write(encodeOct(opts.devmajor || 0, 6), 329)
- buf.write(encodeOct(opts.devminor || 0, 6), 337)
-
- if (prefix) buf.write(prefix, 345)
-
- buf.write(encodeOct(cksum(buf), 6), 148)
-
- return buf
-}
-
-exports.decode = function (buf, filenameEncoding, allowUnknownFormat) {
- var typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET
-
- var name = decodeStr(buf, 0, 100, filenameEncoding)
- var mode = decodeOct(buf, 100, 8)
- var uid = decodeOct(buf, 108, 8)
- var gid = decodeOct(buf, 116, 8)
- var size = decodeOct(buf, 124, 12)
- var mtime = decodeOct(buf, 136, 12)
- var type = toType(typeflag)
- var linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding)
- var uname = decodeStr(buf, 265, 32)
- var gname = decodeStr(buf, 297, 32)
- var devmajor = decodeOct(buf, 329, 8)
- var devminor = decodeOct(buf, 337, 8)
-
- var c = cksum(buf)
-
- // checksum is still initial value if header was null.
- if (c === 8 * 32) return null
-
- // valid checksum
- if (c !== decodeOct(buf, 148, 8)) throw new Error('Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?')
-
- if (USTAR_MAGIC.compare(buf, MAGIC_OFFSET, MAGIC_OFFSET + 6) === 0) {
- // ustar (posix) format.
- // prepend prefix, if present.
- if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + '/' + name
- } else if (GNU_MAGIC.compare(buf, MAGIC_OFFSET, MAGIC_OFFSET + 6) === 0 &&
- GNU_VER.compare(buf, VERSION_OFFSET, VERSION_OFFSET + 2) === 0) {
- // 'gnu'/'oldgnu' format. Similar to ustar, but has support for incremental and
- // multi-volume tarballs.
- } else {
- if (!allowUnknownFormat) {
- throw new Error('Invalid tar header: unknown format.')
- }
- }
-
- // to support old tar versions that use trailing / to indicate dirs
- if (typeflag === 0 && name && name[name.length - 1] === '/') typeflag = 5
-
- return {
- name,
- mode,
- uid,
- gid,
- size,
- mtime: new Date(1000 * mtime),
- type,
- linkname,
- uname,
- gname,
- devmajor,
- devminor
- }
-}
diff --git a/includes/search/node_modules/tar-stream/index.js b/includes/search/node_modules/tar-stream/index.js
deleted file mode 100644
index 6481704..0000000
--- a/includes/search/node_modules/tar-stream/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-exports.extract = require('./extract')
-exports.pack = require('./pack')
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md b/includes/search/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md
deleted file mode 100644
index f478d58..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/CONTRIBUTING.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Developer's Certificate of Origin 1.1
-
-By making a contribution to this project, I certify that:
-
-* (a) The contribution was created in whole or in part by me and I
- have the right to submit it under the open source license
- indicated in the file; or
-
-* (b) The contribution is based upon previous work that, to the best
- of my knowledge, is covered under an appropriate open source
- license and I have the right under that license to submit that
- work with modifications, whether created in whole or in part
- by me, under the same open source license (unless I am
- permitted to submit under a different license), as indicated
- in the file; or
-
-* (c) The contribution was provided directly to me by some other
- person who certified (a), (b) or (c) and I have not modified
- it.
-
-* (d) I understand and agree that this project and the contribution
- are public and that a record of the contribution (including all
- personal information I submit with it, including my sign-off) is
- maintained indefinitely and may be redistributed consistent with
- this project or the open source license(s) involved.
-
-## Moderation Policy
-
-The [Node.js Moderation Policy] applies to this WG.
-
-## Code of Conduct
-
-The [Node.js Code of Conduct][] applies to this WG.
-
-[Node.js Code of Conduct]:
-https://github.com/nodejs/node/blob/master/CODE_OF_CONDUCT.md
-[Node.js Moderation Policy]:
-https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md b/includes/search/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md
deleted file mode 100644
index 16ffb93..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/GOVERNANCE.md
+++ /dev/null
@@ -1,136 +0,0 @@
-### Streams Working Group
-
-The Node.js Streams is jointly governed by a Working Group
-(WG)
-that is responsible for high-level guidance of the project.
-
-The WG has final authority over this project including:
-
-* Technical direction
-* Project governance and process (including this policy)
-* Contribution policy
-* GitHub repository hosting
-* Conduct guidelines
-* Maintaining the list of additional Collaborators
-
-For the current list of WG members, see the project
-[README.md](./README.md#current-project-team-members).
-
-### Collaborators
-
-The readable-stream GitHub repository is
-maintained by the WG and additional Collaborators who are added by the
-WG on an ongoing basis.
-
-Individuals making significant and valuable contributions are made
-Collaborators and given commit-access to the project. These
-individuals are identified by the WG and their addition as
-Collaborators is discussed during the WG meeting.
-
-_Note:_ If you make a significant contribution and are not considered
-for commit-access log an issue or contact a WG member directly and it
-will be brought up in the next WG meeting.
-
-Modifications of the contents of the readable-stream repository are
-made on
-a collaborative basis. Anybody with a GitHub account may propose a
-modification via pull request and it will be considered by the project
-Collaborators. All pull requests must be reviewed and accepted by a
-Collaborator with sufficient expertise who is able to take full
-responsibility for the change. In the case of pull requests proposed
-by an existing Collaborator, an additional Collaborator is required
-for sign-off. Consensus should be sought if additional Collaborators
-participate and there is disagreement around a particular
-modification. See _Consensus Seeking Process_ below for further detail
-on the consensus model used for governance.
-
-Collaborators may opt to elevate significant or controversial
-modifications, or modifications that have not found consensus to the
-WG for discussion by assigning the ***WG-agenda*** tag to a pull
-request or issue. The WG should serve as the final arbiter where
-required.
-
-For the current list of Collaborators, see the project
-[README.md](./README.md#members).
-
-### WG Membership
-
-WG seats are not time-limited. There is no fixed size of the WG.
-However, the expected target is between 6 and 12, to ensure adequate
-coverage of important areas of expertise, balanced with the ability to
-make decisions efficiently.
-
-There is no specific set of requirements or qualifications for WG
-membership beyond these rules.
-
-The WG may add additional members to the WG by unanimous consensus.
-
-A WG member may be removed from the WG by voluntary resignation, or by
-unanimous consensus of all other WG members.
-
-Changes to WG membership should be posted in the agenda, and may be
-suggested as any other agenda item (see "WG Meetings" below).
-
-If an addition or removal is proposed during a meeting, and the full
-WG is not in attendance to participate, then the addition or removal
-is added to the agenda for the subsequent meeting. This is to ensure
-that all members are given the opportunity to participate in all
-membership decisions. If a WG member is unable to attend a meeting
-where a planned membership decision is being made, then their consent
-is assumed.
-
-No more than 1/3 of the WG members may be affiliated with the same
-employer. If removal or resignation of a WG member, or a change of
-employment by a WG member, creates a situation where more than 1/3 of
-the WG membership shares an employer, then the situation must be
-immediately remedied by the resignation or removal of one or more WG
-members affiliated with the over-represented employer(s).
-
-### WG Meetings
-
-The WG meets occasionally on a Google Hangout On Air. A designated moderator
-approved by the WG runs the meeting. Each meeting should be
-published to YouTube.
-
-Items are added to the WG agenda that are considered contentious or
-are modifications of governance, contribution policy, WG membership,
-or release process.
-
-The intention of the agenda is not to approve or review all patches;
-that should happen continuously on GitHub and be handled by the larger
-group of Collaborators.
-
-Any community member or contributor can ask that something be added to
-the next meeting's agenda by logging a GitHub Issue. Any Collaborator,
-WG member or the moderator can add the item to the agenda by adding
-the ***WG-agenda*** tag to the issue.
-
-Prior to each WG meeting the moderator will share the Agenda with
-members of the WG. WG members can add any items they like to the
-agenda at the beginning of each meeting. The moderator and the WG
-cannot veto or remove items.
-
-The WG may invite persons or representatives from certain projects to
-participate in a non-voting capacity.
-
-The moderator is responsible for summarizing the discussion of each
-agenda item and sends it as a pull request after the meeting.
-
-### Consensus Seeking Process
-
-The WG follows a
-[Consensus
-Seeking](http://en.wikipedia.org/wiki/Consensus-seeking_decision-making)
-decision-making model.
-
-When an agenda item has appeared to reach a consensus the moderator
-will ask "Does anyone object?" as a final call for dissent from the
-consensus.
-
-If an agenda item cannot reach a consensus a WG member can call for
-either a closing vote or a vote to table the issue to the next
-meeting. The call for a vote must be seconded by a majority of the WG
-or else the discussion will continue. Simple majority wins.
-
-Note that changes to WG membership require a majority consensus. See
-"WG Membership" above.
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/LICENSE b/includes/search/node_modules/tar-stream/node_modules/readable-stream/LICENSE
deleted file mode 100644
index 2873b3b..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Node.js is licensed for use as follows:
-
-"""
-Copyright Node.js contributors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
-
-This license applies to parts of Node.js originating from the
-https://github.com/joyent/node repository:
-
-"""
-Copyright Joyent, Inc. and other Node contributors. All rights reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-"""
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/README.md b/includes/search/node_modules/tar-stream/node_modules/readable-stream/README.md
deleted file mode 100644
index 19117c1..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/README.md
+++ /dev/null
@@ -1,106 +0,0 @@
-# readable-stream
-
-***Node.js core streams for userland*** [![Build Status](https://travis-ci.com/nodejs/readable-stream.svg?branch=master)](https://travis-ci.com/nodejs/readable-stream)
-
-
-[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)
-[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)
-
-
-[![Sauce Test Status](https://saucelabs.com/browser-matrix/readabe-stream.svg)](https://saucelabs.com/u/readabe-stream)
-
-```bash
-npm install --save readable-stream
-```
-
-This package is a mirror of the streams implementations in Node.js.
-
-Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.18.1/docs/api/stream.html).
-
-If you want to guarantee a stable streams base, regardless of what version of
-Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).
-
-As of version 2.0.0 **readable-stream** uses semantic versioning.
-
-## Version 3.x.x
-
-v3.x.x of `readable-stream` is a cut from Node 10. This version supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in [Node v9](https://nodejs.org/en/blog/release/v9.0.0/) and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows:
-
-1. Error codes: https://github.com/nodejs/node/pull/13310,
- https://github.com/nodejs/node/pull/13291,
- https://github.com/nodejs/node/pull/16589,
- https://github.com/nodejs/node/pull/15042,
- https://github.com/nodejs/node/pull/15665,
- https://github.com/nodejs/readable-stream/pull/344
-2. 'readable' have precedence over flowing
- https://github.com/nodejs/node/pull/18994
-3. make virtual methods errors consistent
- https://github.com/nodejs/node/pull/18813
-4. updated streams error handling
- https://github.com/nodejs/node/pull/18438
-5. writable.end should return this.
- https://github.com/nodejs/node/pull/18780
-6. readable continues to read when push('')
- https://github.com/nodejs/node/pull/18211
-7. add custom inspect to BufferList
- https://github.com/nodejs/node/pull/17907
-8. always defer 'readable' with nextTick
- https://github.com/nodejs/node/pull/17979
-
-## Version 2.x.x
-v2.x.x of `readable-stream` is a cut of the stream module from Node 8 (there have been no semver-major changes from Node 4 to 8). This version supports all Node.js versions from 0.8, as well as evergreen browsers and IE 10 & 11.
-
-### Big Thanks
-
-Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][sauce]
-
-# Usage
-
-You can swap your `require('stream')` with `require('readable-stream')`
-without any changes, if you are just using one of the main classes and
-functions.
-
-```js
-const {
- Readable,
- Writable,
- Transform,
- Duplex,
- pipeline,
- finished
-} = require('readable-stream')
-````
-
-Note that `require('stream')` will return `Stream`, while
-`require('readable-stream')` will return `Readable`. We discourage using
-whatever is exported directly, but rather use one of the properties as
-shown in the example above.
-
-# Streams Working Group
-
-`readable-stream` is maintained by the Streams Working Group, which
-oversees the development and maintenance of the Streams API within
-Node.js. The responsibilities of the Streams Working Group include:
-
-* Addressing stream issues on the Node.js issue tracker.
-* Authoring and editing stream documentation within the Node.js project.
-* Reviewing changes to stream subclasses within the Node.js project.
-* Redirecting changes to streams from the Node.js project to this
- project.
-* Assisting in the implementation of stream providers within Node.js.
-* Recommending versions of `readable-stream` to be included in Node.js.
-* Messaging about the future of streams to give the community advance
- notice of changes.
-
-<a name="members"></a>
-## Team Members
-
-* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) &lt;calvin.metcalf@gmail.com&gt;
- - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242
-* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;mathiasbuus@gmail.com&gt;
-* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) &lt;matteo.collina@gmail.com&gt;
- - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E
-* **Irina Shestak** ([@lrlna](https://github.com/lrlna)) &lt;shestak.irina@gmail.com&gt;
-* **Yoshua Wyuts** ([@yoshuawuyts](https://github.com/yoshuawuyts)) &lt;yoshuawuyts@gmail.com&gt;
-
-[sauce]: https://saucelabs.com
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js
deleted file mode 100644
index fb8e73e..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/errors-browser.js
+++ /dev/null
@@ -1,127 +0,0 @@
-'use strict';
-
-function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
-
-var codes = {};
-
-function createErrorType(code, message, Base) {
- if (!Base) {
- Base = Error;
- }
-
- function getMessage(arg1, arg2, arg3) {
- if (typeof message === 'string') {
- return message;
- } else {
- return message(arg1, arg2, arg3);
- }
- }
-
- var NodeError =
- /*#__PURE__*/
- function (_Base) {
- _inheritsLoose(NodeError, _Base);
-
- function NodeError(arg1, arg2, arg3) {
- return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;
- }
-
- return NodeError;
- }(Base);
-
- NodeError.prototype.name = Base.name;
- NodeError.prototype.code = code;
- codes[code] = NodeError;
-} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
-
-
-function oneOf(expected, thing) {
- if (Array.isArray(expected)) {
- var len = expected.length;
- expected = expected.map(function (i) {
- return String(i);
- });
-
- if (len > 2) {
- return "one of ".concat(thing, " ").concat(expected.slice(0, len - 1).join(', '), ", or ") + expected[len - 1];
- } else if (len === 2) {
- return "one of ".concat(thing, " ").concat(expected[0], " or ").concat(expected[1]);
- } else {
- return "of ".concat(thing, " ").concat(expected[0]);
- }
- } else {
- return "of ".concat(thing, " ").concat(String(expected));
- }
-} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
-
-
-function startsWith(str, search, pos) {
- return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
-} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
-
-
-function endsWith(str, search, this_len) {
- if (this_len === undefined || this_len > str.length) {
- this_len = str.length;
- }
-
- return str.substring(this_len - search.length, this_len) === search;
-} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
-
-
-function includes(str, search, start) {
- if (typeof start !== 'number') {
- start = 0;
- }
-
- if (start + search.length > str.length) {
- return false;
- } else {
- return str.indexOf(search, start) !== -1;
- }
-}
-
-createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {
- return 'The value "' + value + '" is invalid for option "' + name + '"';
-}, TypeError);
-createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {
- // determiner: 'must be' or 'must not be'
- var determiner;
-
- if (typeof expected === 'string' && startsWith(expected, 'not ')) {
- determiner = 'must not be';
- expected = expected.replace(/^not /, '');
- } else {
- determiner = 'must be';
- }
-
- var msg;
-
- if (endsWith(name, ' argument')) {
- // For cases like 'first argument'
- msg = "The ".concat(name, " ").concat(determiner, " ").concat(oneOf(expected, 'type'));
- } else {
- var type = includes(name, '.') ? 'property' : 'argument';
- msg = "The \"".concat(name, "\" ").concat(type, " ").concat(determiner, " ").concat(oneOf(expected, 'type'));
- }
-
- msg += ". Received type ".concat(typeof actual);
- return msg;
-}, TypeError);
-createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');
-createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {
- return 'The ' + name + ' method is not implemented';
-});
-createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');
-createErrorType('ERR_STREAM_DESTROYED', function (name) {
- return 'Cannot call ' + name + ' after a stream was destroyed';
-});
-createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');
-createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');
-createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');
-createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);
-createErrorType('ERR_UNKNOWN_ENCODING', function (arg) {
- return 'Unknown encoding: ' + arg;
-}, TypeError);
-createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');
-module.exports.codes = codes;
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/errors.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/errors.js
deleted file mode 100644
index 8471526..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/errors.js
+++ /dev/null
@@ -1,116 +0,0 @@
-'use strict';
-
-const codes = {};
-
-function createErrorType(code, message, Base) {
- if (!Base) {
- Base = Error
- }
-
- function getMessage (arg1, arg2, arg3) {
- if (typeof message === 'string') {
- return message
- } else {
- return message(arg1, arg2, arg3)
- }
- }
-
- class NodeError extends Base {
- constructor (arg1, arg2, arg3) {
- super(getMessage(arg1, arg2, arg3));
- }
- }
-
- NodeError.prototype.name = Base.name;
- NodeError.prototype.code = code;
-
- codes[code] = NodeError;
-}
-
-// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js
-function oneOf(expected, thing) {
- if (Array.isArray(expected)) {
- const len = expected.length;
- expected = expected.map((i) => String(i));
- if (len > 2) {
- return `one of ${thing} ${expected.slice(0, len - 1).join(', ')}, or ` +
- expected[len - 1];
- } else if (len === 2) {
- return `one of ${thing} ${expected[0]} or ${expected[1]}`;
- } else {
- return `of ${thing} ${expected[0]}`;
- }
- } else {
- return `of ${thing} ${String(expected)}`;
- }
-}
-
-// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith
-function startsWith(str, search, pos) {
- return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
-}
-
-// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith
-function endsWith(str, search, this_len) {
- if (this_len === undefined || this_len > str.length) {
- this_len = str.length;
- }
- return str.substring(this_len - search.length, this_len) === search;
-}
-
-// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes
-function includes(str, search, start) {
- if (typeof start !== 'number') {
- start = 0;
- }
-
- if (start + search.length > str.length) {
- return false;
- } else {
- return str.indexOf(search, start) !== -1;
- }
-}
-
-createErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {
- return 'The value "' + value + '" is invalid for option "' + name + '"'
-}, TypeError);
-createErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {
- // determiner: 'must be' or 'must not be'
- let determiner;
- if (typeof expected === 'string' && startsWith(expected, 'not ')) {
- determiner = 'must not be';
- expected = expected.replace(/^not /, '');
- } else {
- determiner = 'must be';
- }
-
- let msg;
- if (endsWith(name, ' argument')) {
- // For cases like 'first argument'
- msg = `The ${name} ${determiner} ${oneOf(expected, 'type')}`;
- } else {
- const type = includes(name, '.') ? 'property' : 'argument';
- msg = `The "${name}" ${type} ${determiner} ${oneOf(expected, 'type')}`;
- }
-
- msg += `. Received type ${typeof actual}`;
- return msg;
-}, TypeError);
-createErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');
-createErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {
- return 'The ' + name + ' method is not implemented'
-});
-createErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');
-createErrorType('ERR_STREAM_DESTROYED', function (name) {
- return 'Cannot call ' + name + ' after a stream was destroyed';
-});
-createErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');
-createErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');
-createErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');
-createErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);
-createErrorType('ERR_UNKNOWN_ENCODING', function (arg) {
- return 'Unknown encoding: ' + arg
-}, TypeError);
-createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');
-
-module.exports.codes = codes;
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js
deleted file mode 100644
index 78e8414..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/experimentalWarning.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict'
-
-var experimentalWarnings = new Set();
-
-function emitExperimentalWarning(feature) {
- if (experimentalWarnings.has(feature)) return;
- var msg = feature + ' is an experimental feature. This feature could ' +
- 'change at any time';
- experimentalWarnings.add(feature);
- process.emitWarning(msg, 'ExperimentalWarning');
-}
-
-function noop() {}
-
-module.exports.emitExperimentalWarning = process.emitWarning
- ? emitExperimentalWarning
- : noop;
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js
deleted file mode 100644
index 19abfa6..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a duplex stream is just a stream that is both readable and writable.
-// Since JS doesn't have multiple prototypal inheritance, this class
-// prototypally inherits from Readable, and then parasitically from
-// Writable.
-
-'use strict';
-
-/*<replacement>*/
-var objectKeys = Object.keys || function (obj) {
- var keys = [];
- for (var key in obj) keys.push(key);
- return keys;
-};
-/*</replacement>*/
-
-module.exports = Duplex;
-var Readable = require('./_stream_readable');
-var Writable = require('./_stream_writable');
-require('inherits')(Duplex, Readable);
-{
- // Allow the keys array to be GC'ed.
- var keys = objectKeys(Writable.prototype);
- for (var v = 0; v < keys.length; v++) {
- var method = keys[v];
- if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
- }
-}
-function Duplex(options) {
- if (!(this instanceof Duplex)) return new Duplex(options);
- Readable.call(this, options);
- Writable.call(this, options);
- this.allowHalfOpen = true;
- if (options) {
- if (options.readable === false) this.readable = false;
- if (options.writable === false) this.writable = false;
- if (options.allowHalfOpen === false) {
- this.allowHalfOpen = false;
- this.once('end', onend);
- }
- }
-}
-Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.highWaterMark;
- }
-});
-Object.defineProperty(Duplex.prototype, 'writableBuffer', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState && this._writableState.getBuffer();
- }
-});
-Object.defineProperty(Duplex.prototype, 'writableLength', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.length;
- }
-});
-
-// the no-half-open enforcer
-function onend() {
- // If the writable side ended, then we're ok.
- if (this._writableState.ended) return;
-
- // no more data can be written.
- // But allow more writes to happen in this tick.
- process.nextTick(onEndNT, this);
-}
-function onEndNT(self) {
- self.end();
-}
-Object.defineProperty(Duplex.prototype, 'destroyed', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- if (this._readableState === undefined || this._writableState === undefined) {
- return false;
- }
- return this._readableState.destroyed && this._writableState.destroyed;
- },
- set: function set(value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (this._readableState === undefined || this._writableState === undefined) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- this._writableState.destroyed = value;
- }
-}); \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js
deleted file mode 100644
index 24a6bdd..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_passthrough.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a passthrough stream.
-// basically just the most minimal sort of Transform stream.
-// Every written chunk gets output as-is.
-
-'use strict';
-
-module.exports = PassThrough;
-var Transform = require('./_stream_transform');
-require('inherits')(PassThrough, Transform);
-function PassThrough(options) {
- if (!(this instanceof PassThrough)) return new PassThrough(options);
- Transform.call(this, options);
-}
-PassThrough.prototype._transform = function (chunk, encoding, cb) {
- cb(null, chunk);
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js
deleted file mode 100644
index df1f608..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_readable.js
+++ /dev/null
@@ -1,1027 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-'use strict';
-
-module.exports = Readable;
-
-/*<replacement>*/
-var Duplex;
-/*</replacement>*/
-
-Readable.ReadableState = ReadableState;
-
-/*<replacement>*/
-var EE = require('events').EventEmitter;
-var EElistenerCount = function EElistenerCount(emitter, type) {
- return emitter.listeners(type).length;
-};
-/*</replacement>*/
-
-/*<replacement>*/
-var Stream = require('./internal/streams/stream');
-/*</replacement>*/
-
-var Buffer = require('buffer').Buffer;
-var OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};
-function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
-}
-function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
-}
-
-/*<replacement>*/
-var debugUtil = require('util');
-var debug;
-if (debugUtil && debugUtil.debuglog) {
- debug = debugUtil.debuglog('stream');
-} else {
- debug = function debug() {};
-}
-/*</replacement>*/
-
-var BufferList = require('./internal/streams/buffer_list');
-var destroyImpl = require('./internal/streams/destroy');
-var _require = require('./internal/streams/state'),
- getHighWaterMark = _require.getHighWaterMark;
-var _require$codes = require('../errors').codes,
- ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,
- ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,
- ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,
- ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;
-
-// Lazy loaded to improve the startup performance.
-var StringDecoder;
-var createReadableStreamAsyncIterator;
-var from;
-require('inherits')(Readable, Stream);
-var errorOrDestroy = destroyImpl.errorOrDestroy;
-var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];
-function prependListener(emitter, event, fn) {
- // Sadly this is not cacheable as some libraries bundle their own
- // event emitter implementation with them.
- if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);
-
- // This is a hack to make sure that our error handler is attached before any
- // userland ones. NEVER DO THIS. This is here only because this code needs
- // to continue to work with older versions of Node.js that do not include
- // the prependListener() method. The goal is to eventually remove this hack.
- if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];
-}
-function ReadableState(options, stream, isDuplex) {
- Duplex = Duplex || require('./_stream_duplex');
- options = options || {};
-
- // Duplex streams are both readable and writable, but share
- // the same options object.
- // However, some cases require setting options to different
- // values for the readable and the writable sides of the duplex stream.
- // These options can be provided separately as readableXXX and writableXXX.
- if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;
-
- // object stream flag. Used to make read(n) ignore n and to
- // make all the buffer merging and length checks go away
- this.objectMode = !!options.objectMode;
- if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
-
- // the point at which it stops calling _read() to fill the buffer
- // Note: 0 is a valid value, means "don't call _read preemptively ever"
- this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);
-
- // A linked list is used to store data chunks instead of an array because the
- // linked list can remove elements from the beginning faster than
- // array.shift()
- this.buffer = new BufferList();
- this.length = 0;
- this.pipes = null;
- this.pipesCount = 0;
- this.flowing = null;
- this.ended = false;
- this.endEmitted = false;
- this.reading = false;
-
- // a flag to be able to tell if the event 'readable'/'data' is emitted
- // immediately, or on a later tick. We set this to true at first, because
- // any actions that shouldn't happen until "later" should generally also
- // not happen before the first read call.
- this.sync = true;
-
- // whenever we return null, then we set a flag to say
- // that we're awaiting a 'readable' event emission.
- this.needReadable = false;
- this.emittedReadable = false;
- this.readableListening = false;
- this.resumeScheduled = false;
- this.paused = true;
-
- // Should close be emitted on destroy. Defaults to true.
- this.emitClose = options.emitClose !== false;
-
- // Should .destroy() be called after 'end' (and potentially 'finish')
- this.autoDestroy = !!options.autoDestroy;
-
- // has it been destroyed
- this.destroyed = false;
-
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || 'utf8';
-
- // the number of writers that are awaiting a drain event in .pipe()s
- this.awaitDrain = 0;
-
- // if true, a maybeReadMore has been scheduled
- this.readingMore = false;
- this.decoder = null;
- this.encoding = null;
- if (options.encoding) {
- if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
- this.decoder = new StringDecoder(options.encoding);
- this.encoding = options.encoding;
- }
-}
-function Readable(options) {
- Duplex = Duplex || require('./_stream_duplex');
- if (!(this instanceof Readable)) return new Readable(options);
-
- // Checking for a Stream.Duplex instance is faster here instead of inside
- // the ReadableState constructor, at least with V8 6.5
- var isDuplex = this instanceof Duplex;
- this._readableState = new ReadableState(options, this, isDuplex);
-
- // legacy
- this.readable = true;
- if (options) {
- if (typeof options.read === 'function') this._read = options.read;
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
- }
- Stream.call(this);
-}
-Object.defineProperty(Readable.prototype, 'destroyed', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- if (this._readableState === undefined) {
- return false;
- }
- return this._readableState.destroyed;
- },
- set: function set(value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._readableState) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- }
-});
-Readable.prototype.destroy = destroyImpl.destroy;
-Readable.prototype._undestroy = destroyImpl.undestroy;
-Readable.prototype._destroy = function (err, cb) {
- cb(err);
-};
-
-// Manually shove something into the read() buffer.
-// This returns true if the highWaterMark has not been hit yet,
-// similar to how Writable.write() returns true if you should
-// write() some more.
-Readable.prototype.push = function (chunk, encoding) {
- var state = this._readableState;
- var skipChunkCheck;
- if (!state.objectMode) {
- if (typeof chunk === 'string') {
- encoding = encoding || state.defaultEncoding;
- if (encoding !== state.encoding) {
- chunk = Buffer.from(chunk, encoding);
- encoding = '';
- }
- skipChunkCheck = true;
- }
- } else {
- skipChunkCheck = true;
- }
- return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
-};
-
-// Unshift should *always* be something directly out of read()
-Readable.prototype.unshift = function (chunk) {
- return readableAddChunk(this, chunk, null, true, false);
-};
-function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
- debug('readableAddChunk', chunk);
- var state = stream._readableState;
- if (chunk === null) {
- state.reading = false;
- onEofChunk(stream, state);
- } else {
- var er;
- if (!skipChunkCheck) er = chunkInvalid(state, chunk);
- if (er) {
- errorOrDestroy(stream, er);
- } else if (state.objectMode || chunk && chunk.length > 0) {
- if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
- if (addToFront) {
- if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);
- } else if (state.ended) {
- errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
- } else if (state.destroyed) {
- return false;
- } else {
- state.reading = false;
- if (state.decoder && !encoding) {
- chunk = state.decoder.write(chunk);
- if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);
- } else {
- addChunk(stream, state, chunk, false);
- }
- }
- } else if (!addToFront) {
- state.reading = false;
- maybeReadMore(stream, state);
- }
- }
-
- // We can push more data if we are below the highWaterMark.
- // Also, if we have no data yet, we can stand some more bytes.
- // This is to work around cases where hwm=0, such as the repl.
- return !state.ended && (state.length < state.highWaterMark || state.length === 0);
-}
-function addChunk(stream, state, chunk, addToFront) {
- if (state.flowing && state.length === 0 && !state.sync) {
- state.awaitDrain = 0;
- stream.emit('data', chunk);
- } else {
- // update the buffer info.
- state.length += state.objectMode ? 1 : chunk.length;
- if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);
- if (state.needReadable) emitReadable(stream);
- }
- maybeReadMore(stream, state);
-}
-function chunkInvalid(state, chunk) {
- var er;
- if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
- er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);
- }
- return er;
-}
-Readable.prototype.isPaused = function () {
- return this._readableState.flowing === false;
-};
-
-// backwards compatibility.
-Readable.prototype.setEncoding = function (enc) {
- if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;
- var decoder = new StringDecoder(enc);
- this._readableState.decoder = decoder;
- // If setEncoding(null), decoder.encoding equals utf8
- this._readableState.encoding = this._readableState.decoder.encoding;
-
- // Iterate over current buffer to convert already stored Buffers:
- var p = this._readableState.buffer.head;
- var content = '';
- while (p !== null) {
- content += decoder.write(p.data);
- p = p.next;
- }
- this._readableState.buffer.clear();
- if (content !== '') this._readableState.buffer.push(content);
- this._readableState.length = content.length;
- return this;
-};
-
-// Don't raise the hwm > 1GB
-var MAX_HWM = 0x40000000;
-function computeNewHighWaterMark(n) {
- if (n >= MAX_HWM) {
- // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.
- n = MAX_HWM;
- } else {
- // Get the next highest power of 2 to prevent increasing hwm excessively in
- // tiny amounts
- n--;
- n |= n >>> 1;
- n |= n >>> 2;
- n |= n >>> 4;
- n |= n >>> 8;
- n |= n >>> 16;
- n++;
- }
- return n;
-}
-
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function howMuchToRead(n, state) {
- if (n <= 0 || state.length === 0 && state.ended) return 0;
- if (state.objectMode) return 1;
- if (n !== n) {
- // Only flow one buffer at a time
- if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;
- }
- // If we're asking for more than the current hwm, then raise the hwm.
- if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
- if (n <= state.length) return n;
- // Don't have enough
- if (!state.ended) {
- state.needReadable = true;
- return 0;
- }
- return state.length;
-}
-
-// you can override either this method, or the async _read(n) below.
-Readable.prototype.read = function (n) {
- debug('read', n);
- n = parseInt(n, 10);
- var state = this._readableState;
- var nOrig = n;
- if (n !== 0) state.emittedReadable = false;
-
- // if we're doing read(0) to trigger a readable event, but we
- // already have a bunch of data in the buffer, then just trigger
- // the 'readable' event and move on.
- if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
- debug('read: emitReadable', state.length, state.ended);
- if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);
- return null;
- }
- n = howMuchToRead(n, state);
-
- // if we've ended, and we're now clear, then finish it up.
- if (n === 0 && state.ended) {
- if (state.length === 0) endReadable(this);
- return null;
- }
-
- // All the actual chunk generation logic needs to be
- // *below* the call to _read. The reason is that in certain
- // synthetic stream cases, such as passthrough streams, _read
- // may be a completely synchronous operation which may change
- // the state of the read buffer, providing enough data when
- // before there was *not* enough.
- //
- // So, the steps are:
- // 1. Figure out what the state of things will be after we do
- // a read from the buffer.
- //
- // 2. If that resulting state will trigger a _read, then call _read.
- // Note that this may be asynchronous, or synchronous. Yes, it is
- // deeply ugly to write APIs this way, but that still doesn't mean
- // that the Readable class should behave improperly, as streams are
- // designed to be sync/async agnostic.
- // Take note if the _read call is sync or async (ie, if the read call
- // has returned yet), so that we know whether or not it's safe to emit
- // 'readable' etc.
- //
- // 3. Actually pull the requested chunks out of the buffer and return.
-
- // if we need a readable event, then we need to do some reading.
- var doRead = state.needReadable;
- debug('need readable', doRead);
-
- // if we currently have less than the highWaterMark, then also read some
- if (state.length === 0 || state.length - n < state.highWaterMark) {
- doRead = true;
- debug('length less than watermark', doRead);
- }
-
- // however, if we've ended, then there's no point, and if we're already
- // reading, then it's unnecessary.
- if (state.ended || state.reading) {
- doRead = false;
- debug('reading or ended', doRead);
- } else if (doRead) {
- debug('do read');
- state.reading = true;
- state.sync = true;
- // if the length is currently zero, then we *need* a readable event.
- if (state.length === 0) state.needReadable = true;
- // call internal read method
- this._read(state.highWaterMark);
- state.sync = false;
- // If _read pushed data synchronously, then `reading` will be false,
- // and we need to re-evaluate how much data we can return to the user.
- if (!state.reading) n = howMuchToRead(nOrig, state);
- }
- var ret;
- if (n > 0) ret = fromList(n, state);else ret = null;
- if (ret === null) {
- state.needReadable = state.length <= state.highWaterMark;
- n = 0;
- } else {
- state.length -= n;
- state.awaitDrain = 0;
- }
- if (state.length === 0) {
- // If we have nothing in the buffer, then we want to know
- // as soon as we *do* get something into the buffer.
- if (!state.ended) state.needReadable = true;
-
- // If we tried to read() past the EOF, then emit end on the next tick.
- if (nOrig !== n && state.ended) endReadable(this);
- }
- if (ret !== null) this.emit('data', ret);
- return ret;
-};
-function onEofChunk(stream, state) {
- debug('onEofChunk');
- if (state.ended) return;
- if (state.decoder) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) {
- state.buffer.push(chunk);
- state.length += state.objectMode ? 1 : chunk.length;
- }
- }
- state.ended = true;
- if (state.sync) {
- // if we are sync, wait until next tick to emit the data.
- // Otherwise we risk emitting data in the flow()
- // the readable code triggers during a read() call
- emitReadable(stream);
- } else {
- // emit 'readable' now to make sure it gets picked up.
- state.needReadable = false;
- if (!state.emittedReadable) {
- state.emittedReadable = true;
- emitReadable_(stream);
- }
- }
-}
-
-// Don't emit readable right away in sync mode, because this can trigger
-// another read() call => stack overflow. This way, it might trigger
-// a nextTick recursion warning, but that's not so bad.
-function emitReadable(stream) {
- var state = stream._readableState;
- debug('emitReadable', state.needReadable, state.emittedReadable);
- state.needReadable = false;
- if (!state.emittedReadable) {
- debug('emitReadable', state.flowing);
- state.emittedReadable = true;
- process.nextTick(emitReadable_, stream);
- }
-}
-function emitReadable_(stream) {
- var state = stream._readableState;
- debug('emitReadable_', state.destroyed, state.length, state.ended);
- if (!state.destroyed && (state.length || state.ended)) {
- stream.emit('readable');
- state.emittedReadable = false;
- }
-
- // The stream needs another readable event if
- // 1. It is not flowing, as the flow mechanism will take
- // care of it.
- // 2. It is not ended.
- // 3. It is below the highWaterMark, so we can schedule
- // another readable later.
- state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
- flow(stream);
-}
-
-// at this point, the user has presumably seen the 'readable' event,
-// and called read() to consume some data. that may have triggered
-// in turn another _read(n) call, in which case reading = true if
-// it's in progress.
-// However, if we're not ended, or reading, and the length < hwm,
-// then go ahead and try to read some more preemptively.
-function maybeReadMore(stream, state) {
- if (!state.readingMore) {
- state.readingMore = true;
- process.nextTick(maybeReadMore_, stream, state);
- }
-}
-function maybeReadMore_(stream, state) {
- // Attempt to read more data if we should.
- //
- // The conditions for reading more data are (one of):
- // - Not enough data buffered (state.length < state.highWaterMark). The loop
- // is responsible for filling the buffer with enough data if such data
- // is available. If highWaterMark is 0 and we are not in the flowing mode
- // we should _not_ attempt to buffer any extra data. We'll get more data
- // when the stream consumer calls read() instead.
- // - No data in the buffer, and the stream is in flowing mode. In this mode
- // the loop below is responsible for ensuring read() is called. Failing to
- // call read here would abort the flow and there's no other mechanism for
- // continuing the flow if the stream consumer has just subscribed to the
- // 'data' event.
- //
- // In addition to the above conditions to keep reading data, the following
- // conditions prevent the data from being read:
- // - The stream has ended (state.ended).
- // - There is already a pending 'read' operation (state.reading). This is a
- // case where the the stream has called the implementation defined _read()
- // method, but they are processing the call asynchronously and have _not_
- // called push() with new data. In this case we skip performing more
- // read()s. The execution ends in this method again after the _read() ends
- // up calling push() with more data.
- while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
- var len = state.length;
- debug('maybeReadMore read 0');
- stream.read(0);
- if (len === state.length)
- // didn't get any data, stop spinning.
- break;
- }
- state.readingMore = false;
-}
-
-// abstract method. to be overridden in specific implementation classes.
-// call cb(er, data) where data is <= n in length.
-// for virtual (non-string, non-buffer) streams, "length" is somewhat
-// arbitrary, and perhaps not very meaningful.
-Readable.prototype._read = function (n) {
- errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));
-};
-Readable.prototype.pipe = function (dest, pipeOpts) {
- var src = this;
- var state = this._readableState;
- switch (state.pipesCount) {
- case 0:
- state.pipes = dest;
- break;
- case 1:
- state.pipes = [state.pipes, dest];
- break;
- default:
- state.pipes.push(dest);
- break;
- }
- state.pipesCount += 1;
- debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
- var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
- var endFn = doEnd ? onend : unpipe;
- if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);
- dest.on('unpipe', onunpipe);
- function onunpipe(readable, unpipeInfo) {
- debug('onunpipe');
- if (readable === src) {
- if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
- unpipeInfo.hasUnpiped = true;
- cleanup();
- }
- }
- }
- function onend() {
- debug('onend');
- dest.end();
- }
-
- // when the dest drains, it reduces the awaitDrain counter
- // on the source. This would be more elegant with a .once()
- // handler in flow(), but adding and removing repeatedly is
- // too slow.
- var ondrain = pipeOnDrain(src);
- dest.on('drain', ondrain);
- var cleanedUp = false;
- function cleanup() {
- debug('cleanup');
- // cleanup event handlers once the pipe is broken
- dest.removeListener('close', onclose);
- dest.removeListener('finish', onfinish);
- dest.removeListener('drain', ondrain);
- dest.removeListener('error', onerror);
- dest.removeListener('unpipe', onunpipe);
- src.removeListener('end', onend);
- src.removeListener('end', unpipe);
- src.removeListener('data', ondata);
- cleanedUp = true;
-
- // if the reader is waiting for a drain event from this
- // specific writer, then it would cause it to never start
- // flowing again.
- // So, if this is awaiting a drain, then we just call it now.
- // If we don't know, then assume that we are waiting for one.
- if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
- }
- src.on('data', ondata);
- function ondata(chunk) {
- debug('ondata');
- var ret = dest.write(chunk);
- debug('dest.write', ret);
- if (ret === false) {
- // If the user unpiped during `dest.write()`, it is possible
- // to get stuck in a permanently paused state if that write
- // also returned false.
- // => Check whether `dest` is still a piping destination.
- if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
- debug('false write response, pause', state.awaitDrain);
- state.awaitDrain++;
- }
- src.pause();
- }
- }
-
- // if the dest has an error, then stop piping into it.
- // however, don't suppress the throwing behavior for this.
- function onerror(er) {
- debug('onerror', er);
- unpipe();
- dest.removeListener('error', onerror);
- if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);
- }
-
- // Make sure our error handler is attached before userland ones.
- prependListener(dest, 'error', onerror);
-
- // Both close and finish should trigger unpipe, but only once.
- function onclose() {
- dest.removeListener('finish', onfinish);
- unpipe();
- }
- dest.once('close', onclose);
- function onfinish() {
- debug('onfinish');
- dest.removeListener('close', onclose);
- unpipe();
- }
- dest.once('finish', onfinish);
- function unpipe() {
- debug('unpipe');
- src.unpipe(dest);
- }
-
- // tell the dest that it's being piped to
- dest.emit('pipe', src);
-
- // start the flow if it hasn't been started already.
- if (!state.flowing) {
- debug('pipe resume');
- src.resume();
- }
- return dest;
-};
-function pipeOnDrain(src) {
- return function pipeOnDrainFunctionResult() {
- var state = src._readableState;
- debug('pipeOnDrain', state.awaitDrain);
- if (state.awaitDrain) state.awaitDrain--;
- if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {
- state.flowing = true;
- flow(src);
- }
- };
-}
-Readable.prototype.unpipe = function (dest) {
- var state = this._readableState;
- var unpipeInfo = {
- hasUnpiped: false
- };
-
- // if we're not piping anywhere, then do nothing.
- if (state.pipesCount === 0) return this;
-
- // just one destination. most common case.
- if (state.pipesCount === 1) {
- // passed in one, but it's not the right one.
- if (dest && dest !== state.pipes) return this;
- if (!dest) dest = state.pipes;
-
- // got a match.
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
- if (dest) dest.emit('unpipe', this, unpipeInfo);
- return this;
- }
-
- // slow case. multiple pipe destinations.
-
- if (!dest) {
- // remove all.
- var dests = state.pipes;
- var len = state.pipesCount;
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
- for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {
- hasUnpiped: false
- });
- return this;
- }
-
- // try to find the right one.
- var index = indexOf(state.pipes, dest);
- if (index === -1) return this;
- state.pipes.splice(index, 1);
- state.pipesCount -= 1;
- if (state.pipesCount === 1) state.pipes = state.pipes[0];
- dest.emit('unpipe', this, unpipeInfo);
- return this;
-};
-
-// set up data events if they are asked for
-// Ensure readable listeners eventually get something
-Readable.prototype.on = function (ev, fn) {
- var res = Stream.prototype.on.call(this, ev, fn);
- var state = this._readableState;
- if (ev === 'data') {
- // update readableListening so that resume() may be a no-op
- // a few lines down. This is needed to support once('readable').
- state.readableListening = this.listenerCount('readable') > 0;
-
- // Try start flowing on next tick if stream isn't explicitly paused
- if (state.flowing !== false) this.resume();
- } else if (ev === 'readable') {
- if (!state.endEmitted && !state.readableListening) {
- state.readableListening = state.needReadable = true;
- state.flowing = false;
- state.emittedReadable = false;
- debug('on readable', state.length, state.reading);
- if (state.length) {
- emitReadable(this);
- } else if (!state.reading) {
- process.nextTick(nReadingNextTick, this);
- }
- }
- }
- return res;
-};
-Readable.prototype.addListener = Readable.prototype.on;
-Readable.prototype.removeListener = function (ev, fn) {
- var res = Stream.prototype.removeListener.call(this, ev, fn);
- if (ev === 'readable') {
- // We need to check if there is someone still listening to
- // readable and reset the state. However this needs to happen
- // after readable has been emitted but before I/O (nextTick) to
- // support once('readable', fn) cycles. This means that calling
- // resume within the same tick will have no
- // effect.
- process.nextTick(updateReadableListening, this);
- }
- return res;
-};
-Readable.prototype.removeAllListeners = function (ev) {
- var res = Stream.prototype.removeAllListeners.apply(this, arguments);
- if (ev === 'readable' || ev === undefined) {
- // We need to check if there is someone still listening to
- // readable and reset the state. However this needs to happen
- // after readable has been emitted but before I/O (nextTick) to
- // support once('readable', fn) cycles. This means that calling
- // resume within the same tick will have no
- // effect.
- process.nextTick(updateReadableListening, this);
- }
- return res;
-};
-function updateReadableListening(self) {
- var state = self._readableState;
- state.readableListening = self.listenerCount('readable') > 0;
- if (state.resumeScheduled && !state.paused) {
- // flowing needs to be set to true now, otherwise
- // the upcoming resume will not flow.
- state.flowing = true;
-
- // crude way to check if we should resume
- } else if (self.listenerCount('data') > 0) {
- self.resume();
- }
-}
-function nReadingNextTick(self) {
- debug('readable nexttick read 0');
- self.read(0);
-}
-
-// pause() and resume() are remnants of the legacy readable stream API
-// If the user uses them, then switch into old mode.
-Readable.prototype.resume = function () {
- var state = this._readableState;
- if (!state.flowing) {
- debug('resume');
- // we flow only if there is no one listening
- // for readable, but we still have to call
- // resume()
- state.flowing = !state.readableListening;
- resume(this, state);
- }
- state.paused = false;
- return this;
-};
-function resume(stream, state) {
- if (!state.resumeScheduled) {
- state.resumeScheduled = true;
- process.nextTick(resume_, stream, state);
- }
-}
-function resume_(stream, state) {
- debug('resume', state.reading);
- if (!state.reading) {
- stream.read(0);
- }
- state.resumeScheduled = false;
- stream.emit('resume');
- flow(stream);
- if (state.flowing && !state.reading) stream.read(0);
-}
-Readable.prototype.pause = function () {
- debug('call pause flowing=%j', this._readableState.flowing);
- if (this._readableState.flowing !== false) {
- debug('pause');
- this._readableState.flowing = false;
- this.emit('pause');
- }
- this._readableState.paused = true;
- return this;
-};
-function flow(stream) {
- var state = stream._readableState;
- debug('flow', state.flowing);
- while (state.flowing && stream.read() !== null);
-}
-
-// wrap an old-style stream as the async data source.
-// This is *not* part of the readable stream interface.
-// It is an ugly unfortunate mess of history.
-Readable.prototype.wrap = function (stream) {
- var _this = this;
- var state = this._readableState;
- var paused = false;
- stream.on('end', function () {
- debug('wrapped end');
- if (state.decoder && !state.ended) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) _this.push(chunk);
- }
- _this.push(null);
- });
- stream.on('data', function (chunk) {
- debug('wrapped data');
- if (state.decoder) chunk = state.decoder.write(chunk);
-
- // don't skip over falsy values in objectMode
- if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;
- var ret = _this.push(chunk);
- if (!ret) {
- paused = true;
- stream.pause();
- }
- });
-
- // proxy all the other methods.
- // important when wrapping filters and duplexes.
- for (var i in stream) {
- if (this[i] === undefined && typeof stream[i] === 'function') {
- this[i] = function methodWrap(method) {
- return function methodWrapReturnFunction() {
- return stream[method].apply(stream, arguments);
- };
- }(i);
- }
- }
-
- // proxy certain important events.
- for (var n = 0; n < kProxyEvents.length; n++) {
- stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
- }
-
- // when we try to consume some more bytes, simply unpause the
- // underlying stream.
- this._read = function (n) {
- debug('wrapped _read', n);
- if (paused) {
- paused = false;
- stream.resume();
- }
- };
- return this;
-};
-if (typeof Symbol === 'function') {
- Readable.prototype[Symbol.asyncIterator] = function () {
- if (createReadableStreamAsyncIterator === undefined) {
- createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');
- }
- return createReadableStreamAsyncIterator(this);
- };
-}
-Object.defineProperty(Readable.prototype, 'readableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState.highWaterMark;
- }
-});
-Object.defineProperty(Readable.prototype, 'readableBuffer', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState && this._readableState.buffer;
- }
-});
-Object.defineProperty(Readable.prototype, 'readableFlowing', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState.flowing;
- },
- set: function set(state) {
- if (this._readableState) {
- this._readableState.flowing = state;
- }
- }
-});
-
-// exposed for testing purposes only.
-Readable._fromList = fromList;
-Object.defineProperty(Readable.prototype, 'readableLength', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._readableState.length;
- }
-});
-
-// Pluck off n bytes from an array of buffers.
-// Length is the combined lengths of all the buffers in the list.
-// This function is designed to be inlinable, so please take care when making
-// changes to the function body.
-function fromList(n, state) {
- // nothing buffered
- if (state.length === 0) return null;
- var ret;
- if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {
- // read it all, truncate the list
- if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);
- state.buffer.clear();
- } else {
- // read part of list
- ret = state.buffer.consume(n, state.decoder);
- }
- return ret;
-}
-function endReadable(stream) {
- var state = stream._readableState;
- debug('endReadable', state.endEmitted);
- if (!state.endEmitted) {
- state.ended = true;
- process.nextTick(endReadableNT, state, stream);
- }
-}
-function endReadableNT(state, stream) {
- debug('endReadableNT', state.endEmitted, state.length);
-
- // Check that we didn't get one last unshift.
- if (!state.endEmitted && state.length === 0) {
- state.endEmitted = true;
- stream.readable = false;
- stream.emit('end');
- if (state.autoDestroy) {
- // In case of duplex streams we need a way to detect
- // if the writable side is ready for autoDestroy as well
- var wState = stream._writableState;
- if (!wState || wState.autoDestroy && wState.finished) {
- stream.destroy();
- }
- }
- }
-}
-if (typeof Symbol === 'function') {
- Readable.from = function (iterable, opts) {
- if (from === undefined) {
- from = require('./internal/streams/from');
- }
- return from(Readable, iterable, opts);
- };
-}
-function indexOf(xs, x) {
- for (var i = 0, l = xs.length; i < l; i++) {
- if (xs[i] === x) return i;
- }
- return -1;
-} \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js
deleted file mode 100644
index 1ccb715..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_transform.js
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// a transform stream is a readable/writable stream where you do
-// something with the data. Sometimes it's called a "filter",
-// but that's not a great name for it, since that implies a thing where
-// some bits pass through, and others are simply ignored. (That would
-// be a valid example of a transform, of course.)
-//
-// While the output is causally related to the input, it's not a
-// necessarily symmetric or synchronous transformation. For example,
-// a zlib stream might take multiple plain-text writes(), and then
-// emit a single compressed chunk some time in the future.
-//
-// Here's how this works:
-//
-// The Transform stream has all the aspects of the readable and writable
-// stream classes. When you write(chunk), that calls _write(chunk,cb)
-// internally, and returns false if there's a lot of pending writes
-// buffered up. When you call read(), that calls _read(n) until
-// there's enough pending readable data buffered up.
-//
-// In a transform stream, the written data is placed in a buffer. When
-// _read(n) is called, it transforms the queued up data, calling the
-// buffered _write cb's as it consumes chunks. If consuming a single
-// written chunk would result in multiple output chunks, then the first
-// outputted bit calls the readcb, and subsequent chunks just go into
-// the read buffer, and will cause it to emit 'readable' if necessary.
-//
-// This way, back-pressure is actually determined by the reading side,
-// since _read has to be called to start processing a new chunk. However,
-// a pathological inflate type of transform can cause excessive buffering
-// here. For example, imagine a stream where every byte of input is
-// interpreted as an integer from 0-255, and then results in that many
-// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
-// 1kb of data being output. In this case, you could write a very small
-// amount of input, and end up with a very large amount of output. In
-// such a pathological inflating mechanism, there'd be no way to tell
-// the system to stop doing the transform. A single 4MB write could
-// cause the system to run out of memory.
-//
-// However, even in such a pathological case, only a single written chunk
-// would be consumed, and then the rest would wait (un-transformed) until
-// the results of the previous transformed chunk were consumed.
-
-'use strict';
-
-module.exports = Transform;
-var _require$codes = require('../errors').codes,
- ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,
- ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,
- ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,
- ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;
-var Duplex = require('./_stream_duplex');
-require('inherits')(Transform, Duplex);
-function afterTransform(er, data) {
- var ts = this._transformState;
- ts.transforming = false;
- var cb = ts.writecb;
- if (cb === null) {
- return this.emit('error', new ERR_MULTIPLE_CALLBACK());
- }
- ts.writechunk = null;
- ts.writecb = null;
- if (data != null)
- // single equals check for both `null` and `undefined`
- this.push(data);
- cb(er);
- var rs = this._readableState;
- rs.reading = false;
- if (rs.needReadable || rs.length < rs.highWaterMark) {
- this._read(rs.highWaterMark);
- }
-}
-function Transform(options) {
- if (!(this instanceof Transform)) return new Transform(options);
- Duplex.call(this, options);
- this._transformState = {
- afterTransform: afterTransform.bind(this),
- needTransform: false,
- transforming: false,
- writecb: null,
- writechunk: null,
- writeencoding: null
- };
-
- // start out asking for a readable event once data is transformed.
- this._readableState.needReadable = true;
-
- // we have implemented the _read method, and done the other things
- // that Readable wants before the first _read call, so unset the
- // sync guard flag.
- this._readableState.sync = false;
- if (options) {
- if (typeof options.transform === 'function') this._transform = options.transform;
- if (typeof options.flush === 'function') this._flush = options.flush;
- }
-
- // When the writable side finishes, then flush out anything remaining.
- this.on('prefinish', prefinish);
-}
-function prefinish() {
- var _this = this;
- if (typeof this._flush === 'function' && !this._readableState.destroyed) {
- this._flush(function (er, data) {
- done(_this, er, data);
- });
- } else {
- done(this, null, null);
- }
-}
-Transform.prototype.push = function (chunk, encoding) {
- this._transformState.needTransform = false;
- return Duplex.prototype.push.call(this, chunk, encoding);
-};
-
-// This is the part where you do stuff!
-// override this function in implementation classes.
-// 'chunk' is an input chunk.
-//
-// Call `push(newChunk)` to pass along transformed output
-// to the readable side. You may call 'push' zero or more times.
-//
-// Call `cb(err)` when you are done with this chunk. If you pass
-// an error, then that'll put the hurt on the whole operation. If you
-// never call cb(), then you'll never get another chunk.
-Transform.prototype._transform = function (chunk, encoding, cb) {
- cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));
-};
-Transform.prototype._write = function (chunk, encoding, cb) {
- var ts = this._transformState;
- ts.writecb = cb;
- ts.writechunk = chunk;
- ts.writeencoding = encoding;
- if (!ts.transforming) {
- var rs = this._readableState;
- if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
- }
-};
-
-// Doesn't matter what the args are here.
-// _transform does all the work.
-// That we got here means that the readable side wants more data.
-Transform.prototype._read = function (n) {
- var ts = this._transformState;
- if (ts.writechunk !== null && !ts.transforming) {
- ts.transforming = true;
- this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
- } else {
- // mark that we need a transform, so that any data that comes in
- // will get processed, now that we've asked for it.
- ts.needTransform = true;
- }
-};
-Transform.prototype._destroy = function (err, cb) {
- Duplex.prototype._destroy.call(this, err, function (err2) {
- cb(err2);
- });
-};
-function done(stream, er, data) {
- if (er) return stream.emit('error', er);
- if (data != null)
- // single equals check for both `null` and `undefined`
- stream.push(data);
-
- // TODO(BridgeAR): Write a test for these two error cases
- // if there's nothing in the write buffer, then that means
- // that nothing more will ever be provided
- if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();
- if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();
- return stream.push(null);
-} \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js
deleted file mode 100644
index 292415e..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/_stream_writable.js
+++ /dev/null
@@ -1,641 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to permit
-// persons to whom the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
-// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
-// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
-// USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// A bit simpler than readable streams.
-// Implement an async ._write(chunk, encoding, cb), and it'll handle all
-// the drain event emission and buffering.
-
-'use strict';
-
-module.exports = Writable;
-
-/* <replacement> */
-function WriteReq(chunk, encoding, cb) {
- this.chunk = chunk;
- this.encoding = encoding;
- this.callback = cb;
- this.next = null;
-}
-
-// It seems a linked list but it is not
-// there will be only 2 of these for each stream
-function CorkedRequest(state) {
- var _this = this;
- this.next = null;
- this.entry = null;
- this.finish = function () {
- onCorkedFinish(_this, state);
- };
-}
-/* </replacement> */
-
-/*<replacement>*/
-var Duplex;
-/*</replacement>*/
-
-Writable.WritableState = WritableState;
-
-/*<replacement>*/
-var internalUtil = {
- deprecate: require('util-deprecate')
-};
-/*</replacement>*/
-
-/*<replacement>*/
-var Stream = require('./internal/streams/stream');
-/*</replacement>*/
-
-var Buffer = require('buffer').Buffer;
-var OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};
-function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
-}
-function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
-}
-var destroyImpl = require('./internal/streams/destroy');
-var _require = require('./internal/streams/state'),
- getHighWaterMark = _require.getHighWaterMark;
-var _require$codes = require('../errors').codes,
- ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,
- ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,
- ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,
- ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,
- ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,
- ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,
- ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,
- ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;
-var errorOrDestroy = destroyImpl.errorOrDestroy;
-require('inherits')(Writable, Stream);
-function nop() {}
-function WritableState(options, stream, isDuplex) {
- Duplex = Duplex || require('./_stream_duplex');
- options = options || {};
-
- // Duplex streams are both readable and writable, but share
- // the same options object.
- // However, some cases require setting options to different
- // values for the readable and the writable sides of the duplex stream,
- // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.
- if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;
-
- // object stream flag to indicate whether or not this stream
- // contains buffers or objects.
- this.objectMode = !!options.objectMode;
- if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-
- // the point at which write() starts returning false
- // Note: 0 is a valid value, means that we always return false if
- // the entire buffer is not flushed immediately on write()
- this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);
-
- // if _final has been called
- this.finalCalled = false;
-
- // drain event flag.
- this.needDrain = false;
- // at the start of calling end()
- this.ending = false;
- // when end() has been called, and returned
- this.ended = false;
- // when 'finish' is emitted
- this.finished = false;
-
- // has it been destroyed
- this.destroyed = false;
-
- // should we decode strings into buffers before passing to _write?
- // this is here so that some node-core streams can optimize string
- // handling at a lower level.
- var noDecode = options.decodeStrings === false;
- this.decodeStrings = !noDecode;
-
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || 'utf8';
-
- // not an actual buffer we keep track of, but a measurement
- // of how much we're waiting to get pushed to some underlying
- // socket or file.
- this.length = 0;
-
- // a flag to see when we're in the middle of a write.
- this.writing = false;
-
- // when true all writes will be buffered until .uncork() call
- this.corked = 0;
-
- // a flag to be able to tell if the onwrite cb is called immediately,
- // or on a later tick. We set this to true at first, because any
- // actions that shouldn't happen until "later" should generally also
- // not happen before the first write call.
- this.sync = true;
-
- // a flag to know if we're processing previously buffered items, which
- // may call the _write() callback in the same tick, so that we don't
- // end up in an overlapped onwrite situation.
- this.bufferProcessing = false;
-
- // the callback that's passed to _write(chunk,cb)
- this.onwrite = function (er) {
- onwrite(stream, er);
- };
-
- // the callback that the user supplies to write(chunk,encoding,cb)
- this.writecb = null;
-
- // the amount that is being written when _write is called.
- this.writelen = 0;
- this.bufferedRequest = null;
- this.lastBufferedRequest = null;
-
- // number of pending user-supplied write callbacks
- // this must be 0 before 'finish' can be emitted
- this.pendingcb = 0;
-
- // emit prefinish if the only thing we're waiting for is _write cbs
- // This is relevant for synchronous Transform streams
- this.prefinished = false;
-
- // True if the error was already emitted and should not be thrown again
- this.errorEmitted = false;
-
- // Should close be emitted on destroy. Defaults to true.
- this.emitClose = options.emitClose !== false;
-
- // Should .destroy() be called after 'finish' (and potentially 'end')
- this.autoDestroy = !!options.autoDestroy;
-
- // count buffered requests
- this.bufferedRequestCount = 0;
-
- // allocate the first CorkedRequest, there is always
- // one allocated and free to use, and we maintain at most two
- this.corkedRequestsFree = new CorkedRequest(this);
-}
-WritableState.prototype.getBuffer = function getBuffer() {
- var current = this.bufferedRequest;
- var out = [];
- while (current) {
- out.push(current);
- current = current.next;
- }
- return out;
-};
-(function () {
- try {
- Object.defineProperty(WritableState.prototype, 'buffer', {
- get: internalUtil.deprecate(function writableStateBufferGetter() {
- return this.getBuffer();
- }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')
- });
- } catch (_) {}
-})();
-
-// Test _writableState for inheritance to account for Duplex streams,
-// whose prototype chain only points to Readable.
-var realHasInstance;
-if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {
- realHasInstance = Function.prototype[Symbol.hasInstance];
- Object.defineProperty(Writable, Symbol.hasInstance, {
- value: function value(object) {
- if (realHasInstance.call(this, object)) return true;
- if (this !== Writable) return false;
- return object && object._writableState instanceof WritableState;
- }
- });
-} else {
- realHasInstance = function realHasInstance(object) {
- return object instanceof this;
- };
-}
-function Writable(options) {
- Duplex = Duplex || require('./_stream_duplex');
-
- // Writable ctor is applied to Duplexes, too.
- // `realHasInstance` is necessary because using plain `instanceof`
- // would return false, as no `_writableState` property is attached.
-
- // Trying to use the custom `instanceof` for Writable here will also break the
- // Node.js LazyTransform implementation, which has a non-trivial getter for
- // `_writableState` that would lead to infinite recursion.
-
- // Checking for a Stream.Duplex instance is faster here instead of inside
- // the WritableState constructor, at least with V8 6.5
- var isDuplex = this instanceof Duplex;
- if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);
- this._writableState = new WritableState(options, this, isDuplex);
-
- // legacy.
- this.writable = true;
- if (options) {
- if (typeof options.write === 'function') this._write = options.write;
- if (typeof options.writev === 'function') this._writev = options.writev;
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
- if (typeof options.final === 'function') this._final = options.final;
- }
- Stream.call(this);
-}
-
-// Otherwise people can pipe Writable streams, which is just wrong.
-Writable.prototype.pipe = function () {
- errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
-};
-function writeAfterEnd(stream, cb) {
- var er = new ERR_STREAM_WRITE_AFTER_END();
- // TODO: defer error events consistently everywhere, not just the cb
- errorOrDestroy(stream, er);
- process.nextTick(cb, er);
-}
-
-// Checks that a user-supplied chunk is valid, especially for the particular
-// mode the stream is in. Currently this means that `null` is never accepted
-// and undefined/non-string values are only allowed in object mode.
-function validChunk(stream, state, chunk, cb) {
- var er;
- if (chunk === null) {
- er = new ERR_STREAM_NULL_VALUES();
- } else if (typeof chunk !== 'string' && !state.objectMode) {
- er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);
- }
- if (er) {
- errorOrDestroy(stream, er);
- process.nextTick(cb, er);
- return false;
- }
- return true;
-}
-Writable.prototype.write = function (chunk, encoding, cb) {
- var state = this._writableState;
- var ret = false;
- var isBuf = !state.objectMode && _isUint8Array(chunk);
- if (isBuf && !Buffer.isBuffer(chunk)) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
- if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
- if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;
- if (typeof cb !== 'function') cb = nop;
- if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {
- state.pendingcb++;
- ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
- }
- return ret;
-};
-Writable.prototype.cork = function () {
- this._writableState.corked++;
-};
-Writable.prototype.uncork = function () {
- var state = this._writableState;
- if (state.corked) {
- state.corked--;
- if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
- }
-};
-Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
- // node::ParseEncoding() requires lower case.
- if (typeof encoding === 'string') encoding = encoding.toLowerCase();
- if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);
- this._writableState.defaultEncoding = encoding;
- return this;
-};
-Object.defineProperty(Writable.prototype, 'writableBuffer', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState && this._writableState.getBuffer();
- }
-});
-function decodeChunk(state, chunk, encoding) {
- if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {
- chunk = Buffer.from(chunk, encoding);
- }
- return chunk;
-}
-Object.defineProperty(Writable.prototype, 'writableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.highWaterMark;
- }
-});
-
-// if we're already writing something, then just put this
-// in the queue, and wait our turn. Otherwise, call _write
-// If we return false, then we need a drain event, so set that flag.
-function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
- if (!isBuf) {
- var newChunk = decodeChunk(state, chunk, encoding);
- if (chunk !== newChunk) {
- isBuf = true;
- encoding = 'buffer';
- chunk = newChunk;
- }
- }
- var len = state.objectMode ? 1 : chunk.length;
- state.length += len;
- var ret = state.length < state.highWaterMark;
- // we must ensure that previous needDrain will not be reset to false.
- if (!ret) state.needDrain = true;
- if (state.writing || state.corked) {
- var last = state.lastBufferedRequest;
- state.lastBufferedRequest = {
- chunk: chunk,
- encoding: encoding,
- isBuf: isBuf,
- callback: cb,
- next: null
- };
- if (last) {
- last.next = state.lastBufferedRequest;
- } else {
- state.bufferedRequest = state.lastBufferedRequest;
- }
- state.bufferedRequestCount += 1;
- } else {
- doWrite(stream, state, false, len, chunk, encoding, cb);
- }
- return ret;
-}
-function doWrite(stream, state, writev, len, chunk, encoding, cb) {
- state.writelen = len;
- state.writecb = cb;
- state.writing = true;
- state.sync = true;
- if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);
- state.sync = false;
-}
-function onwriteError(stream, state, sync, er, cb) {
- --state.pendingcb;
- if (sync) {
- // defer the callback if we are being called synchronously
- // to avoid piling up things on the stack
- process.nextTick(cb, er);
- // this can emit finish, and it will always happen
- // after error
- process.nextTick(finishMaybe, stream, state);
- stream._writableState.errorEmitted = true;
- errorOrDestroy(stream, er);
- } else {
- // the caller expect this to happen before if
- // it is async
- cb(er);
- stream._writableState.errorEmitted = true;
- errorOrDestroy(stream, er);
- // this can emit finish, but finish must
- // always follow error
- finishMaybe(stream, state);
- }
-}
-function onwriteStateUpdate(state) {
- state.writing = false;
- state.writecb = null;
- state.length -= state.writelen;
- state.writelen = 0;
-}
-function onwrite(stream, er) {
- var state = stream._writableState;
- var sync = state.sync;
- var cb = state.writecb;
- if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();
- onwriteStateUpdate(state);
- if (er) onwriteError(stream, state, sync, er, cb);else {
- // Check if we're actually ready to finish, but don't emit yet
- var finished = needFinish(state) || stream.destroyed;
- if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
- clearBuffer(stream, state);
- }
- if (sync) {
- process.nextTick(afterWrite, stream, state, finished, cb);
- } else {
- afterWrite(stream, state, finished, cb);
- }
- }
-}
-function afterWrite(stream, state, finished, cb) {
- if (!finished) onwriteDrain(stream, state);
- state.pendingcb--;
- cb();
- finishMaybe(stream, state);
-}
-
-// Must force callback to be called on nextTick, so that we don't
-// emit 'drain' before the write() consumer gets the 'false' return
-// value, and has a chance to attach a 'drain' listener.
-function onwriteDrain(stream, state) {
- if (state.length === 0 && state.needDrain) {
- state.needDrain = false;
- stream.emit('drain');
- }
-}
-
-// if there's something in the buffer waiting, then process it
-function clearBuffer(stream, state) {
- state.bufferProcessing = true;
- var entry = state.bufferedRequest;
- if (stream._writev && entry && entry.next) {
- // Fast case, write everything using _writev()
- var l = state.bufferedRequestCount;
- var buffer = new Array(l);
- var holder = state.corkedRequestsFree;
- holder.entry = entry;
- var count = 0;
- var allBuffers = true;
- while (entry) {
- buffer[count] = entry;
- if (!entry.isBuf) allBuffers = false;
- entry = entry.next;
- count += 1;
- }
- buffer.allBuffers = allBuffers;
- doWrite(stream, state, true, state.length, buffer, '', holder.finish);
-
- // doWrite is almost always async, defer these to save a bit of time
- // as the hot path ends with doWrite
- state.pendingcb++;
- state.lastBufferedRequest = null;
- if (holder.next) {
- state.corkedRequestsFree = holder.next;
- holder.next = null;
- } else {
- state.corkedRequestsFree = new CorkedRequest(state);
- }
- state.bufferedRequestCount = 0;
- } else {
- // Slow case, write chunks one-by-one
- while (entry) {
- var chunk = entry.chunk;
- var encoding = entry.encoding;
- var cb = entry.callback;
- var len = state.objectMode ? 1 : chunk.length;
- doWrite(stream, state, false, len, chunk, encoding, cb);
- entry = entry.next;
- state.bufferedRequestCount--;
- // if we didn't call the onwrite immediately, then
- // it means that we need to wait until it does.
- // also, that means that the chunk and cb are currently
- // being processed, so move the buffer counter past them.
- if (state.writing) {
- break;
- }
- }
- if (entry === null) state.lastBufferedRequest = null;
- }
- state.bufferedRequest = entry;
- state.bufferProcessing = false;
-}
-Writable.prototype._write = function (chunk, encoding, cb) {
- cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));
-};
-Writable.prototype._writev = null;
-Writable.prototype.end = function (chunk, encoding, cb) {
- var state = this._writableState;
- if (typeof chunk === 'function') {
- cb = chunk;
- chunk = null;
- encoding = null;
- } else if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
- if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);
-
- // .end() fully uncorks
- if (state.corked) {
- state.corked = 1;
- this.uncork();
- }
-
- // ignore unnecessary end() calls.
- if (!state.ending) endWritable(this, state, cb);
- return this;
-};
-Object.defineProperty(Writable.prototype, 'writableLength', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- return this._writableState.length;
- }
-});
-function needFinish(state) {
- return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
-}
-function callFinal(stream, state) {
- stream._final(function (err) {
- state.pendingcb--;
- if (err) {
- errorOrDestroy(stream, err);
- }
- state.prefinished = true;
- stream.emit('prefinish');
- finishMaybe(stream, state);
- });
-}
-function prefinish(stream, state) {
- if (!state.prefinished && !state.finalCalled) {
- if (typeof stream._final === 'function' && !state.destroyed) {
- state.pendingcb++;
- state.finalCalled = true;
- process.nextTick(callFinal, stream, state);
- } else {
- state.prefinished = true;
- stream.emit('prefinish');
- }
- }
-}
-function finishMaybe(stream, state) {
- var need = needFinish(state);
- if (need) {
- prefinish(stream, state);
- if (state.pendingcb === 0) {
- state.finished = true;
- stream.emit('finish');
- if (state.autoDestroy) {
- // In case of duplex streams we need a way to detect
- // if the readable side is ready for autoDestroy as well
- var rState = stream._readableState;
- if (!rState || rState.autoDestroy && rState.endEmitted) {
- stream.destroy();
- }
- }
- }
- }
- return need;
-}
-function endWritable(stream, state, cb) {
- state.ending = true;
- finishMaybe(stream, state);
- if (cb) {
- if (state.finished) process.nextTick(cb);else stream.once('finish', cb);
- }
- state.ended = true;
- stream.writable = false;
-}
-function onCorkedFinish(corkReq, state, err) {
- var entry = corkReq.entry;
- corkReq.entry = null;
- while (entry) {
- var cb = entry.callback;
- state.pendingcb--;
- cb(err);
- entry = entry.next;
- }
-
- // reuse the free corkReq.
- state.corkedRequestsFree.next = corkReq;
-}
-Object.defineProperty(Writable.prototype, 'destroyed', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function get() {
- if (this._writableState === undefined) {
- return false;
- }
- return this._writableState.destroyed;
- },
- set: function set(value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._writableState) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._writableState.destroyed = value;
- }
-});
-Writable.prototype.destroy = destroyImpl.destroy;
-Writable.prototype._undestroy = destroyImpl.undestroy;
-Writable.prototype._destroy = function (err, cb) {
- cb(err);
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js
deleted file mode 100644
index 742c5a4..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js
+++ /dev/null
@@ -1,180 +0,0 @@
-'use strict';
-
-var _Object$setPrototypeO;
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-var finished = require('./end-of-stream');
-var kLastResolve = Symbol('lastResolve');
-var kLastReject = Symbol('lastReject');
-var kError = Symbol('error');
-var kEnded = Symbol('ended');
-var kLastPromise = Symbol('lastPromise');
-var kHandlePromise = Symbol('handlePromise');
-var kStream = Symbol('stream');
-function createIterResult(value, done) {
- return {
- value: value,
- done: done
- };
-}
-function readAndResolve(iter) {
- var resolve = iter[kLastResolve];
- if (resolve !== null) {
- var data = iter[kStream].read();
- // we defer if data is null
- // we can be expecting either 'end' or
- // 'error'
- if (data !== null) {
- iter[kLastPromise] = null;
- iter[kLastResolve] = null;
- iter[kLastReject] = null;
- resolve(createIterResult(data, false));
- }
- }
-}
-function onReadable(iter) {
- // we wait for the next tick, because it might
- // emit an error with process.nextTick
- process.nextTick(readAndResolve, iter);
-}
-function wrapForNext(lastPromise, iter) {
- return function (resolve, reject) {
- lastPromise.then(function () {
- if (iter[kEnded]) {
- resolve(createIterResult(undefined, true));
- return;
- }
- iter[kHandlePromise](resolve, reject);
- }, reject);
- };
-}
-var AsyncIteratorPrototype = Object.getPrototypeOf(function () {});
-var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {
- get stream() {
- return this[kStream];
- },
- next: function next() {
- var _this = this;
- // if we have detected an error in the meanwhile
- // reject straight away
- var error = this[kError];
- if (error !== null) {
- return Promise.reject(error);
- }
- if (this[kEnded]) {
- return Promise.resolve(createIterResult(undefined, true));
- }
- if (this[kStream].destroyed) {
- // We need to defer via nextTick because if .destroy(err) is
- // called, the error will be emitted via nextTick, and
- // we cannot guarantee that there is no error lingering around
- // waiting to be emitted.
- return new Promise(function (resolve, reject) {
- process.nextTick(function () {
- if (_this[kError]) {
- reject(_this[kError]);
- } else {
- resolve(createIterResult(undefined, true));
- }
- });
- });
- }
-
- // if we have multiple next() calls
- // we will wait for the previous Promise to finish
- // this logic is optimized to support for await loops,
- // where next() is only called once at a time
- var lastPromise = this[kLastPromise];
- var promise;
- if (lastPromise) {
- promise = new Promise(wrapForNext(lastPromise, this));
- } else {
- // fast path needed to support multiple this.push()
- // without triggering the next() queue
- var data = this[kStream].read();
- if (data !== null) {
- return Promise.resolve(createIterResult(data, false));
- }
- promise = new Promise(this[kHandlePromise]);
- }
- this[kLastPromise] = promise;
- return promise;
- }
-}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {
- return this;
-}), _defineProperty(_Object$setPrototypeO, "return", function _return() {
- var _this2 = this;
- // destroy(err, cb) is a private API
- // we can guarantee we have that here, because we control the
- // Readable class this is attached to
- return new Promise(function (resolve, reject) {
- _this2[kStream].destroy(null, function (err) {
- if (err) {
- reject(err);
- return;
- }
- resolve(createIterResult(undefined, true));
- });
- });
-}), _Object$setPrototypeO), AsyncIteratorPrototype);
-var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {
- var _Object$create;
- var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {
- value: stream,
- writable: true
- }), _defineProperty(_Object$create, kLastResolve, {
- value: null,
- writable: true
- }), _defineProperty(_Object$create, kLastReject, {
- value: null,
- writable: true
- }), _defineProperty(_Object$create, kError, {
- value: null,
- writable: true
- }), _defineProperty(_Object$create, kEnded, {
- value: stream._readableState.endEmitted,
- writable: true
- }), _defineProperty(_Object$create, kHandlePromise, {
- value: function value(resolve, reject) {
- var data = iterator[kStream].read();
- if (data) {
- iterator[kLastPromise] = null;
- iterator[kLastResolve] = null;
- iterator[kLastReject] = null;
- resolve(createIterResult(data, false));
- } else {
- iterator[kLastResolve] = resolve;
- iterator[kLastReject] = reject;
- }
- },
- writable: true
- }), _Object$create));
- iterator[kLastPromise] = null;
- finished(stream, function (err) {
- if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {
- var reject = iterator[kLastReject];
- // reject if we are waiting for data in the Promise
- // returned by next() and store the error
- if (reject !== null) {
- iterator[kLastPromise] = null;
- iterator[kLastResolve] = null;
- iterator[kLastReject] = null;
- reject(err);
- }
- iterator[kError] = err;
- return;
- }
- var resolve = iterator[kLastResolve];
- if (resolve !== null) {
- iterator[kLastPromise] = null;
- iterator[kLastResolve] = null;
- iterator[kLastReject] = null;
- resolve(createIterResult(undefined, true));
- }
- iterator[kEnded] = true;
- });
- stream.on('readable', onReadable.bind(null, iterator));
- return iterator;
-};
-module.exports = createReadableStreamAsyncIterator; \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js
deleted file mode 100644
index 69bda49..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js
+++ /dev/null
@@ -1,183 +0,0 @@
-'use strict';
-
-function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-var _require = require('buffer'),
- Buffer = _require.Buffer;
-var _require2 = require('util'),
- inspect = _require2.inspect;
-var custom = inspect && inspect.custom || 'inspect';
-function copyBuffer(src, target, offset) {
- Buffer.prototype.copy.call(src, target, offset);
-}
-module.exports = /*#__PURE__*/function () {
- function BufferList() {
- _classCallCheck(this, BufferList);
- this.head = null;
- this.tail = null;
- this.length = 0;
- }
- _createClass(BufferList, [{
- key: "push",
- value: function push(v) {
- var entry = {
- data: v,
- next: null
- };
- if (this.length > 0) this.tail.next = entry;else this.head = entry;
- this.tail = entry;
- ++this.length;
- }
- }, {
- key: "unshift",
- value: function unshift(v) {
- var entry = {
- data: v,
- next: this.head
- };
- if (this.length === 0) this.tail = entry;
- this.head = entry;
- ++this.length;
- }
- }, {
- key: "shift",
- value: function shift() {
- if (this.length === 0) return;
- var ret = this.head.data;
- if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;
- --this.length;
- return ret;
- }
- }, {
- key: "clear",
- value: function clear() {
- this.head = this.tail = null;
- this.length = 0;
- }
- }, {
- key: "join",
- value: function join(s) {
- if (this.length === 0) return '';
- var p = this.head;
- var ret = '' + p.data;
- while (p = p.next) ret += s + p.data;
- return ret;
- }
- }, {
- key: "concat",
- value: function concat(n) {
- if (this.length === 0) return Buffer.alloc(0);
- var ret = Buffer.allocUnsafe(n >>> 0);
- var p = this.head;
- var i = 0;
- while (p) {
- copyBuffer(p.data, ret, i);
- i += p.data.length;
- p = p.next;
- }
- return ret;
- }
-
- // Consumes a specified amount of bytes or characters from the buffered data.
- }, {
- key: "consume",
- value: function consume(n, hasStrings) {
- var ret;
- if (n < this.head.data.length) {
- // `slice` is the same for buffers and strings.
- ret = this.head.data.slice(0, n);
- this.head.data = this.head.data.slice(n);
- } else if (n === this.head.data.length) {
- // First chunk is a perfect match.
- ret = this.shift();
- } else {
- // Result spans more than one buffer.
- ret = hasStrings ? this._getString(n) : this._getBuffer(n);
- }
- return ret;
- }
- }, {
- key: "first",
- value: function first() {
- return this.head.data;
- }
-
- // Consumes a specified amount of characters from the buffered data.
- }, {
- key: "_getString",
- value: function _getString(n) {
- var p = this.head;
- var c = 1;
- var ret = p.data;
- n -= ret.length;
- while (p = p.next) {
- var str = p.data;
- var nb = n > str.length ? str.length : n;
- if (nb === str.length) ret += str;else ret += str.slice(0, n);
- n -= nb;
- if (n === 0) {
- if (nb === str.length) {
- ++c;
- if (p.next) this.head = p.next;else this.head = this.tail = null;
- } else {
- this.head = p;
- p.data = str.slice(nb);
- }
- break;
- }
- ++c;
- }
- this.length -= c;
- return ret;
- }
-
- // Consumes a specified amount of bytes from the buffered data.
- }, {
- key: "_getBuffer",
- value: function _getBuffer(n) {
- var ret = Buffer.allocUnsafe(n);
- var p = this.head;
- var c = 1;
- p.data.copy(ret);
- n -= p.data.length;
- while (p = p.next) {
- var buf = p.data;
- var nb = n > buf.length ? buf.length : n;
- buf.copy(ret, ret.length - n, 0, nb);
- n -= nb;
- if (n === 0) {
- if (nb === buf.length) {
- ++c;
- if (p.next) this.head = p.next;else this.head = this.tail = null;
- } else {
- this.head = p;
- p.data = buf.slice(nb);
- }
- break;
- }
- ++c;
- }
- this.length -= c;
- return ret;
- }
-
- // Make sure the linked list only shows the minimal necessary information.
- }, {
- key: custom,
- value: function value(_, options) {
- return inspect(this, _objectSpread(_objectSpread({}, options), {}, {
- // Only inspect one level.
- depth: 0,
- // It should not recurse.
- customInspect: false
- }));
- }
- }]);
- return BufferList;
-}(); \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js
deleted file mode 100644
index 31a17c4..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/destroy.js
+++ /dev/null
@@ -1,96 +0,0 @@
-'use strict';
-
-// undocumented cb() API, needed for core, not for public API
-function destroy(err, cb) {
- var _this = this;
- var readableDestroyed = this._readableState && this._readableState.destroyed;
- var writableDestroyed = this._writableState && this._writableState.destroyed;
- if (readableDestroyed || writableDestroyed) {
- if (cb) {
- cb(err);
- } else if (err) {
- if (!this._writableState) {
- process.nextTick(emitErrorNT, this, err);
- } else if (!this._writableState.errorEmitted) {
- this._writableState.errorEmitted = true;
- process.nextTick(emitErrorNT, this, err);
- }
- }
- return this;
- }
-
- // we set destroyed to true before firing error callbacks in order
- // to make it re-entrance safe in case destroy() is called within callbacks
-
- if (this._readableState) {
- this._readableState.destroyed = true;
- }
-
- // if this is a duplex stream mark the writable part as destroyed as well
- if (this._writableState) {
- this._writableState.destroyed = true;
- }
- this._destroy(err || null, function (err) {
- if (!cb && err) {
- if (!_this._writableState) {
- process.nextTick(emitErrorAndCloseNT, _this, err);
- } else if (!_this._writableState.errorEmitted) {
- _this._writableState.errorEmitted = true;
- process.nextTick(emitErrorAndCloseNT, _this, err);
- } else {
- process.nextTick(emitCloseNT, _this);
- }
- } else if (cb) {
- process.nextTick(emitCloseNT, _this);
- cb(err);
- } else {
- process.nextTick(emitCloseNT, _this);
- }
- });
- return this;
-}
-function emitErrorAndCloseNT(self, err) {
- emitErrorNT(self, err);
- emitCloseNT(self);
-}
-function emitCloseNT(self) {
- if (self._writableState && !self._writableState.emitClose) return;
- if (self._readableState && !self._readableState.emitClose) return;
- self.emit('close');
-}
-function undestroy() {
- if (this._readableState) {
- this._readableState.destroyed = false;
- this._readableState.reading = false;
- this._readableState.ended = false;
- this._readableState.endEmitted = false;
- }
- if (this._writableState) {
- this._writableState.destroyed = false;
- this._writableState.ended = false;
- this._writableState.ending = false;
- this._writableState.finalCalled = false;
- this._writableState.prefinished = false;
- this._writableState.finished = false;
- this._writableState.errorEmitted = false;
- }
-}
-function emitErrorNT(self, err) {
- self.emit('error', err);
-}
-function errorOrDestroy(stream, err) {
- // We have tests that rely on errors being emitted
- // in the same tick, so changing this is semver major.
- // For now when you opt-in to autoDestroy we allow
- // the error to be emitted nextTick. In a future
- // semver major update we should change the default to this.
-
- var rState = stream._readableState;
- var wState = stream._writableState;
- if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);
-}
-module.exports = {
- destroy: destroy,
- undestroy: undestroy,
- errorOrDestroy: errorOrDestroy
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
deleted file mode 100644
index 59c671b..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Ported from https://github.com/mafintosh/end-of-stream with
-// permission from the author, Mathias Buus (@mafintosh).
-
-'use strict';
-
-var ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;
-function once(callback) {
- var called = false;
- return function () {
- if (called) return;
- called = true;
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
- callback.apply(this, args);
- };
-}
-function noop() {}
-function isRequest(stream) {
- return stream.setHeader && typeof stream.abort === 'function';
-}
-function eos(stream, opts, callback) {
- if (typeof opts === 'function') return eos(stream, null, opts);
- if (!opts) opts = {};
- callback = once(callback || noop);
- var readable = opts.readable || opts.readable !== false && stream.readable;
- var writable = opts.writable || opts.writable !== false && stream.writable;
- var onlegacyfinish = function onlegacyfinish() {
- if (!stream.writable) onfinish();
- };
- var writableEnded = stream._writableState && stream._writableState.finished;
- var onfinish = function onfinish() {
- writable = false;
- writableEnded = true;
- if (!readable) callback.call(stream);
- };
- var readableEnded = stream._readableState && stream._readableState.endEmitted;
- var onend = function onend() {
- readable = false;
- readableEnded = true;
- if (!writable) callback.call(stream);
- };
- var onerror = function onerror(err) {
- callback.call(stream, err);
- };
- var onclose = function onclose() {
- var err;
- if (readable && !readableEnded) {
- if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
- return callback.call(stream, err);
- }
- if (writable && !writableEnded) {
- if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
- return callback.call(stream, err);
- }
- };
- var onrequest = function onrequest() {
- stream.req.on('finish', onfinish);
- };
- if (isRequest(stream)) {
- stream.on('complete', onfinish);
- stream.on('abort', onclose);
- if (stream.req) onrequest();else stream.on('request', onrequest);
- } else if (writable && !stream._writableState) {
- // legacy streams
- stream.on('end', onlegacyfinish);
- stream.on('close', onlegacyfinish);
- }
- stream.on('end', onend);
- stream.on('finish', onfinish);
- if (opts.error !== false) stream.on('error', onerror);
- stream.on('close', onclose);
- return function () {
- stream.removeListener('complete', onfinish);
- stream.removeListener('abort', onclose);
- stream.removeListener('request', onrequest);
- if (stream.req) stream.req.removeListener('finish', onfinish);
- stream.removeListener('end', onlegacyfinish);
- stream.removeListener('close', onlegacyfinish);
- stream.removeListener('finish', onfinish);
- stream.removeListener('end', onend);
- stream.removeListener('error', onerror);
- stream.removeListener('close', onclose);
- };
-}
-module.exports = eos; \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js
deleted file mode 100644
index a4ce56f..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from-browser.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = function () {
- throw new Error('Readable.from is not available in the browser')
-};
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js
deleted file mode 100644
index 0a34ee9..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/from.js
+++ /dev/null
@@ -1,52 +0,0 @@
-'use strict';
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
-function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
-function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
-function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-var ERR_INVALID_ARG_TYPE = require('../../../errors').codes.ERR_INVALID_ARG_TYPE;
-function from(Readable, iterable, opts) {
- var iterator;
- if (iterable && typeof iterable.next === 'function') {
- iterator = iterable;
- } else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE('iterable', ['Iterable'], iterable);
- var readable = new Readable(_objectSpread({
- objectMode: true
- }, opts));
- // Reading boolean to protect against _read
- // being called before last iteration completion.
- var reading = false;
- readable._read = function () {
- if (!reading) {
- reading = true;
- next();
- }
- };
- function next() {
- return _next2.apply(this, arguments);
- }
- function _next2() {
- _next2 = _asyncToGenerator(function* () {
- try {
- var _yield$iterator$next = yield iterator.next(),
- value = _yield$iterator$next.value,
- done = _yield$iterator$next.done;
- if (done) {
- readable.push(null);
- } else if (readable.push(yield value)) {
- next();
- } else {
- reading = false;
- }
- } catch (err) {
- readable.destroy(err);
- }
- });
- return _next2.apply(this, arguments);
- }
- return readable;
-}
-module.exports = from;
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js
deleted file mode 100644
index e6f3924..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Ported from https://github.com/mafintosh/pump with
-// permission from the author, Mathias Buus (@mafintosh).
-
-'use strict';
-
-var eos;
-function once(callback) {
- var called = false;
- return function () {
- if (called) return;
- called = true;
- callback.apply(void 0, arguments);
- };
-}
-var _require$codes = require('../../../errors').codes,
- ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,
- ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
-function noop(err) {
- // Rethrow the error if it exists to avoid swallowing it
- if (err) throw err;
-}
-function isRequest(stream) {
- return stream.setHeader && typeof stream.abort === 'function';
-}
-function destroyer(stream, reading, writing, callback) {
- callback = once(callback);
- var closed = false;
- stream.on('close', function () {
- closed = true;
- });
- if (eos === undefined) eos = require('./end-of-stream');
- eos(stream, {
- readable: reading,
- writable: writing
- }, function (err) {
- if (err) return callback(err);
- closed = true;
- callback();
- });
- var destroyed = false;
- return function (err) {
- if (closed) return;
- if (destroyed) return;
- destroyed = true;
-
- // request.destroy just do .end - .abort is what we want
- if (isRequest(stream)) return stream.abort();
- if (typeof stream.destroy === 'function') return stream.destroy();
- callback(err || new ERR_STREAM_DESTROYED('pipe'));
- };
-}
-function call(fn) {
- fn();
-}
-function pipe(from, to) {
- return from.pipe(to);
-}
-function popCallback(streams) {
- if (!streams.length) return noop;
- if (typeof streams[streams.length - 1] !== 'function') return noop;
- return streams.pop();
-}
-function pipeline() {
- for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {
- streams[_key] = arguments[_key];
- }
- var callback = popCallback(streams);
- if (Array.isArray(streams[0])) streams = streams[0];
- if (streams.length < 2) {
- throw new ERR_MISSING_ARGS('streams');
- }
- var error;
- var destroys = streams.map(function (stream, i) {
- var reading = i < streams.length - 1;
- var writing = i > 0;
- return destroyer(stream, reading, writing, function (err) {
- if (!error) error = err;
- if (err) destroys.forEach(call);
- if (reading) return;
- destroys.forEach(call);
- callback(error);
- });
- });
- return streams.reduce(pipe);
-}
-module.exports = pipeline; \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js
deleted file mode 100644
index 3fbf892..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/state.js
+++ /dev/null
@@ -1,22 +0,0 @@
-'use strict';
-
-var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;
-function highWaterMarkFrom(options, isDuplex, duplexKey) {
- return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
-}
-function getHighWaterMark(state, options, duplexKey, isDuplex) {
- var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
- if (hwm != null) {
- if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {
- var name = isDuplex ? duplexKey : 'highWaterMark';
- throw new ERR_INVALID_OPT_VALUE(name, hwm);
- }
- return Math.floor(hwm);
- }
-
- // Default value
- return state.objectMode ? 16 : 16 * 1024;
-}
-module.exports = {
- getHighWaterMark: getHighWaterMark
-}; \ No newline at end of file
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js
deleted file mode 100644
index 9332a3f..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream-browser.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('events').EventEmitter;
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js
deleted file mode 100644
index ce2ad5b..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/stream.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('stream');
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/package.json b/includes/search/node_modules/tar-stream/node_modules/readable-stream/package.json
deleted file mode 100644
index ade59e7..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/package.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "name": "readable-stream",
- "version": "3.6.2",
- "description": "Streams3, a user-land copy of the stream library from Node.js",
- "main": "readable.js",
- "engines": {
- "node": ">= 6"
- },
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "devDependencies": {
- "@babel/cli": "^7.2.0",
- "@babel/core": "^7.2.0",
- "@babel/polyfill": "^7.0.0",
- "@babel/preset-env": "^7.2.0",
- "airtap": "0.0.9",
- "assert": "^1.4.0",
- "bl": "^2.0.0",
- "deep-strict-equal": "^0.2.0",
- "events.once": "^2.0.2",
- "glob": "^7.1.2",
- "gunzip-maybe": "^1.4.1",
- "hyperquest": "^2.1.3",
- "lolex": "^2.6.0",
- "nyc": "^11.0.0",
- "pump": "^3.0.0",
- "rimraf": "^2.6.2",
- "tap": "^12.0.0",
- "tape": "^4.9.0",
- "tar-fs": "^1.16.2",
- "util-promisify": "^2.1.0"
- },
- "scripts": {
- "test": "tap -J --no-esm test/parallel/*.js test/ours/*.js",
- "ci": "TAP=1 tap --no-esm test/parallel/*.js test/ours/*.js | tee test.tap",
- "test-browsers": "airtap --sauce-connect --loopback airtap.local -- test/browser.js",
- "test-browser-local": "airtap --open --local -- test/browser.js",
- "cover": "nyc npm test",
- "report": "nyc report --reporter=lcov",
- "update-browser-errors": "babel -o errors-browser.js errors.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/nodejs/readable-stream"
- },
- "keywords": [
- "readable",
- "stream",
- "pipe"
- ],
- "browser": {
- "util": false,
- "worker_threads": false,
- "./errors": "./errors-browser.js",
- "./readable.js": "./readable-browser.js",
- "./lib/internal/streams/from.js": "./lib/internal/streams/from-browser.js",
- "./lib/internal/streams/stream.js": "./lib/internal/streams/stream-browser.js"
- },
- "nyc": {
- "include": [
- "lib/**.js"
- ]
- },
- "license": "MIT"
-}
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js
deleted file mode 100644
index adbf60d..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/readable-browser.js
+++ /dev/null
@@ -1,9 +0,0 @@
-exports = module.exports = require('./lib/_stream_readable.js');
-exports.Stream = exports;
-exports.Readable = exports;
-exports.Writable = require('./lib/_stream_writable.js');
-exports.Duplex = require('./lib/_stream_duplex.js');
-exports.Transform = require('./lib/_stream_transform.js');
-exports.PassThrough = require('./lib/_stream_passthrough.js');
-exports.finished = require('./lib/internal/streams/end-of-stream.js');
-exports.pipeline = require('./lib/internal/streams/pipeline.js');
diff --git a/includes/search/node_modules/tar-stream/node_modules/readable-stream/readable.js b/includes/search/node_modules/tar-stream/node_modules/readable-stream/readable.js
deleted file mode 100644
index 9e0ca12..0000000
--- a/includes/search/node_modules/tar-stream/node_modules/readable-stream/readable.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var Stream = require('stream');
-if (process.env.READABLE_STREAM === 'disable' && Stream) {
- module.exports = Stream.Readable;
- Object.assign(module.exports, Stream);
- module.exports.Stream = Stream;
-} else {
- exports = module.exports = require('./lib/_stream_readable.js');
- exports.Stream = Stream || exports;
- exports.Readable = exports;
- exports.Writable = require('./lib/_stream_writable.js');
- exports.Duplex = require('./lib/_stream_duplex.js');
- exports.Transform = require('./lib/_stream_transform.js');
- exports.PassThrough = require('./lib/_stream_passthrough.js');
- exports.finished = require('./lib/internal/streams/end-of-stream.js');
- exports.pipeline = require('./lib/internal/streams/pipeline.js');
-}
diff --git a/includes/search/node_modules/tar-stream/pack.js b/includes/search/node_modules/tar-stream/pack.js
deleted file mode 100644
index f1da3b7..0000000
--- a/includes/search/node_modules/tar-stream/pack.js
+++ /dev/null
@@ -1,255 +0,0 @@
-var constants = require('fs-constants')
-var eos = require('end-of-stream')
-var inherits = require('inherits')
-var alloc = Buffer.alloc
-
-var Readable = require('readable-stream').Readable
-var Writable = require('readable-stream').Writable
-var StringDecoder = require('string_decoder').StringDecoder
-
-var headers = require('./headers')
-
-var DMODE = parseInt('755', 8)
-var FMODE = parseInt('644', 8)
-
-var END_OF_TAR = alloc(1024)
-
-var noop = function () {}
-
-var overflow = function (self, size) {
- size &= 511
- if (size) self.push(END_OF_TAR.slice(0, 512 - size))
-}
-
-function modeToType (mode) {
- switch (mode & constants.S_IFMT) {
- case constants.S_IFBLK: return 'block-device'
- case constants.S_IFCHR: return 'character-device'
- case constants.S_IFDIR: return 'directory'
- case constants.S_IFIFO: return 'fifo'
- case constants.S_IFLNK: return 'symlink'
- }
-
- return 'file'
-}
-
-var Sink = function (to) {
- Writable.call(this)
- this.written = 0
- this._to = to
- this._destroyed = false
-}
-
-inherits(Sink, Writable)
-
-Sink.prototype._write = function (data, enc, cb) {
- this.written += data.length
- if (this._to.push(data)) return cb()
- this._to._drain = cb
-}
-
-Sink.prototype.destroy = function () {
- if (this._destroyed) return
- this._destroyed = true
- this.emit('close')
-}
-
-var LinkSink = function () {
- Writable.call(this)
- this.linkname = ''
- this._decoder = new StringDecoder('utf-8')
- this._destroyed = false
-}
-
-inherits(LinkSink, Writable)
-
-LinkSink.prototype._write = function (data, enc, cb) {
- this.linkname += this._decoder.write(data)
- cb()
-}
-
-LinkSink.prototype.destroy = function () {
- if (this._destroyed) return
- this._destroyed = true
- this.emit('close')
-}
-
-var Void = function () {
- Writable.call(this)
- this._destroyed = false
-}
-
-inherits(Void, Writable)
-
-Void.prototype._write = function (data, enc, cb) {
- cb(new Error('No body allowed for this entry'))
-}
-
-Void.prototype.destroy = function () {
- if (this._destroyed) return
- this._destroyed = true
- this.emit('close')
-}
-
-var Pack = function (opts) {
- if (!(this instanceof Pack)) return new Pack(opts)
- Readable.call(this, opts)
-
- this._drain = noop
- this._finalized = false
- this._finalizing = false
- this._destroyed = false
- this._stream = null
-}
-
-inherits(Pack, Readable)
-
-Pack.prototype.entry = function (header, buffer, callback) {
- if (this._stream) throw new Error('already piping an entry')
- if (this._finalized || this._destroyed) return
-
- if (typeof buffer === 'function') {
- callback = buffer
- buffer = null
- }
-
- if (!callback) callback = noop
-
- var self = this
-
- if (!header.size || header.type === 'symlink') header.size = 0
- if (!header.type) header.type = modeToType(header.mode)
- if (!header.mode) header.mode = header.type === 'directory' ? DMODE : FMODE
- if (!header.uid) header.uid = 0
- if (!header.gid) header.gid = 0
- if (!header.mtime) header.mtime = new Date()
-
- if (typeof buffer === 'string') buffer = Buffer.from(buffer)
- if (Buffer.isBuffer(buffer)) {
- header.size = buffer.length
- this._encode(header)
- var ok = this.push(buffer)
- overflow(self, header.size)
- if (ok) process.nextTick(callback)
- else this._drain = callback
- return new Void()
- }
-
- if (header.type === 'symlink' && !header.linkname) {
- var linkSink = new LinkSink()
- eos(linkSink, function (err) {
- if (err) { // stream was closed
- self.destroy()
- return callback(err)
- }
-
- header.linkname = linkSink.linkname
- self._encode(header)
- callback()
- })
-
- return linkSink
- }
-
- this._encode(header)
-
- if (header.type !== 'file' && header.type !== 'contiguous-file') {
- process.nextTick(callback)
- return new Void()
- }
-
- var sink = new Sink(this)
-
- this._stream = sink
-
- eos(sink, function (err) {
- self._stream = null
-
- if (err) { // stream was closed
- self.destroy()
- return callback(err)
- }
-
- if (sink.written !== header.size) { // corrupting tar
- self.destroy()
- return callback(new Error('size mismatch'))
- }
-
- overflow(self, header.size)
- if (self._finalizing) self.finalize()
- callback()
- })
-
- return sink
-}
-
-Pack.prototype.finalize = function () {
- if (this._stream) {
- this._finalizing = true
- return
- }
-
- if (this._finalized) return
- this._finalized = true
- this.push(END_OF_TAR)
- this.push(null)
-}
-
-Pack.prototype.destroy = function (err) {
- if (this._destroyed) return
- this._destroyed = true
-
- if (err) this.emit('error', err)
- this.emit('close')
- if (this._stream && this._stream.destroy) this._stream.destroy()
-}
-
-Pack.prototype._encode = function (header) {
- if (!header.pax) {
- var buf = headers.encode(header)
- if (buf) {
- this.push(buf)
- return
- }
- }
- this._encodePax(header)
-}
-
-Pack.prototype._encodePax = function (header) {
- var paxHeader = headers.encodePax({
- name: header.name,
- linkname: header.linkname,
- pax: header.pax
- })
-
- var newHeader = {
- name: 'PaxHeader',
- mode: header.mode,
- uid: header.uid,
- gid: header.gid,
- size: paxHeader.length,
- mtime: header.mtime,
- type: 'pax-header',
- linkname: header.linkname && 'PaxHeader',
- uname: header.uname,
- gname: header.gname,
- devmajor: header.devmajor,
- devminor: header.devminor
- }
-
- this.push(headers.encode(newHeader))
- this.push(paxHeader)
- overflow(this, paxHeader.length)
-
- newHeader.size = header.size
- newHeader.type = header.type
- this.push(headers.encode(newHeader))
-}
-
-Pack.prototype._read = function (n) {
- var drain = this._drain
- this._drain = noop
- drain()
-}
-
-module.exports = Pack
diff --git a/includes/search/node_modules/tar-stream/package.json b/includes/search/node_modules/tar-stream/package.json
deleted file mode 100644
index d717dfc..0000000
--- a/includes/search/node_modules/tar-stream/package.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "name": "tar-stream",
- "version": "2.2.0",
- "description": "tar-stream is a streaming tar parser and generator and nothing else. It is streams2 and operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.",
- "author": "Mathias Buus <mathiasbuus@gmail.com>",
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "devDependencies": {
- "concat-stream": "^2.0.0",
- "standard": "^12.0.1",
- "tape": "^4.9.2"
- },
- "scripts": {
- "test": "standard && tape test/extract.js test/pack.js",
- "test-all": "standard && tape test/*.js"
- },
- "keywords": [
- "tar",
- "tarball",
- "parse",
- "parser",
- "generate",
- "generator",
- "stream",
- "stream2",
- "streams",
- "streams2",
- "streaming",
- "pack",
- "extract",
- "modify"
- ],
- "bugs": {
- "url": "https://github.com/mafintosh/tar-stream/issues"
- },
- "homepage": "https://github.com/mafintosh/tar-stream",
- "main": "index.js",
- "files": [
- "*.js",
- "LICENSE"
- ],
- "directories": {
- "test": "test"
- },
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mafintosh/tar-stream.git"
- },
- "engines": {
- "node": ">=6"
- }
-}
diff --git a/includes/search/node_modules/tar-stream/sandbox.js b/includes/search/node_modules/tar-stream/sandbox.js
deleted file mode 100644
index 9b82d40..0000000
--- a/includes/search/node_modules/tar-stream/sandbox.js
+++ /dev/null
@@ -1,11 +0,0 @@
-const tar = require('tar-stream')
-const fs = require('fs')
-const path = require('path')
-const pipeline = require('pump') // eequire('stream').pipeline
-
-fs.createReadStream('test.tar')
- .pipe(tar.extract())
- .on('entry', function (header, stream, done) {
- console.log(header.name)
- pipeline(stream, fs.createWriteStream(path.join('/tmp', header.name)), done)
- })
diff --git a/includes/search/node_modules/to-fast-properties/index.js b/includes/search/node_modules/to-fast-properties/index.js
deleted file mode 100644
index 028c88a..0000000
--- a/includes/search/node_modules/to-fast-properties/index.js
+++ /dev/null
@@ -1,27 +0,0 @@
-'use strict';
-
-let fastProto = null;
-
-// Creates an object with permanently fast properties in V8. See Toon Verwaest's
-// post https://medium.com/@tverwaes/setting-up-prototypes-in-v8-ec9c9491dfe2#5f62
-// for more details. Use %HasFastProperties(object) and the Node.js flag
-// --allow-natives-syntax to check whether an object has fast properties.
-function FastObject(o) {
- // A prototype object will have "fast properties" enabled once it is checked
- // against the inline property cache of a function, e.g. fastProto.property:
- // https://github.com/v8/v8/blob/6.0.122/test/mjsunit/fast-prototype.js#L48-L63
- if (fastProto !== null && typeof fastProto.property) {
- const result = fastProto;
- fastProto = FastObject.prototype = null;
- return result;
- }
- fastProto = FastObject.prototype = o == null ? Object.create(null) : o;
- return new FastObject;
-}
-
-// Initialize the inline property cache of FastObject
-FastObject();
-
-module.exports = function toFastproperties(o) {
- return FastObject(o);
-};
diff --git a/includes/search/node_modules/to-fast-properties/license b/includes/search/node_modules/to-fast-properties/license
deleted file mode 100644
index cef79ef..0000000
--- a/includes/search/node_modules/to-fast-properties/license
+++ /dev/null
@@ -1,10 +0,0 @@
-MIT License
-
-Copyright (c) 2014 Petka Antonov
- 2015 Sindre Sorhus
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/to-fast-properties/package.json b/includes/search/node_modules/to-fast-properties/package.json
deleted file mode 100644
index 7a64b2c..0000000
--- a/includes/search/node_modules/to-fast-properties/package.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "to-fast-properties",
- "version": "2.0.0",
- "description": "Force V8 to use fast properties for an object",
- "license": "MIT",
- "repository": "sindresorhus/to-fast-properties",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=4"
- },
- "scripts": {
- "test": "node --allow-natives-syntax test.js"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "object",
- "obj",
- "properties",
- "props",
- "v8",
- "optimize",
- "fast",
- "convert",
- "mode"
- ],
- "devDependencies": {
- "ava": "0.0.4"
- }
-}
diff --git a/includes/search/node_modules/to-fast-properties/readme.md b/includes/search/node_modules/to-fast-properties/readme.md
deleted file mode 100644
index 692101d..0000000
--- a/includes/search/node_modules/to-fast-properties/readme.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# to-fast-properties [![Build Status](https://travis-ci.org/sindresorhus/to-fast-properties.svg?branch=master)](https://travis-ci.org/sindresorhus/to-fast-properties)
-
-> Force V8 to use fast properties for an object
-
-[Read more.](http://stackoverflow.com/questions/24987896/)
-
-Use `%HasFastProperties(object)` and `--allow-natives-syntax` to check whether an object already has fast properties.
-
-
-## Install
-
-```
-$ npm install --save to-fast-properties
-```
-
-
-## Usage
-
-```js
-const toFastProperties = require('to-fast-properties');
-
-const obj = {
- foo: true,
- bar: true
-};
-
-delete obj.foo;
-// `obj` now has slow properties
-
-toFastProperties(obj);
-// `obj` now has fast properties
-```
-
-
-## License
-
-MIT © Petka Antonov, John-David Dalton, Sindre Sorhus
diff --git a/includes/search/node_modules/to-regex-range/LICENSE b/includes/search/node_modules/to-regex-range/LICENSE
deleted file mode 100644
index 7cccaf9..0000000
--- a/includes/search/node_modules/to-regex-range/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015-present, Jon Schlinkert.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/to-regex-range/README.md b/includes/search/node_modules/to-regex-range/README.md
deleted file mode 100644
index 38887da..0000000
--- a/includes/search/node_modules/to-regex-range/README.md
+++ /dev/null
@@ -1,305 +0,0 @@
-# to-regex-range [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W8YFZ425KND68) [![NPM version](https://img.shields.io/npm/v/to-regex-range.svg?style=flat)](https://www.npmjs.com/package/to-regex-range) [![NPM monthly downloads](https://img.shields.io/npm/dm/to-regex-range.svg?style=flat)](https://npmjs.org/package/to-regex-range) [![NPM total downloads](https://img.shields.io/npm/dt/to-regex-range.svg?style=flat)](https://npmjs.org/package/to-regex-range) [![Linux Build Status](https://img.shields.io/travis/micromatch/to-regex-range.svg?style=flat&label=Travis)](https://travis-ci.org/micromatch/to-regex-range)
-
-> Pass two numbers, get a regex-compatible source string for matching ranges. Validated against more than 2.78 million test assertions.
-
-Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
-
-## Install
-
-Install with [npm](https://www.npmjs.com/):
-
-```sh
-$ npm install --save to-regex-range
-```
-
-<details>
-<summary><strong>What does this do?</strong></summary>
-
-<br>
-
-This libary generates the `source` string to be passed to `new RegExp()` for matching a range of numbers.
-
-**Example**
-
-```js
-const toRegexRange = require('to-regex-range');
-const regex = new RegExp(toRegexRange('15', '95'));
-```
-
-A string is returned so that you can do whatever you need with it before passing it to `new RegExp()` (like adding `^` or `$` boundaries, defining flags, or combining it another string).
-
-<br>
-
-</details>
-
-<details>
-<summary><strong>Why use this library?</strong></summary>
-
-<br>
-
-### Convenience
-
-Creating regular expressions for matching numbers gets deceptively complicated pretty fast.
-
-For example, let's say you need a validation regex for matching part of a user-id, postal code, social security number, tax id, etc:
-
-* regex for matching `1` => `/1/` (easy enough)
-* regex for matching `1` through `5` => `/[1-5]/` (not bad...)
-* regex for matching `1` or `5` => `/(1|5)/` (still easy...)
-* regex for matching `1` through `50` => `/([1-9]|[1-4][0-9]|50)/` (uh-oh...)
-* regex for matching `1` through `55` => `/([1-9]|[1-4][0-9]|5[0-5])/` (no prob, I can do this...)
-* regex for matching `1` through `555` => `/([1-9]|[1-9][0-9]|[1-4][0-9]{2}|5[0-4][0-9]|55[0-5])/` (maybe not...)
-* regex for matching `0001` through `5555` => `/(0{3}[1-9]|0{2}[1-9][0-9]|0[1-9][0-9]{2}|[1-4][0-9]{3}|5[0-4][0-9]{2}|55[0-4][0-9]|555[0-5])/` (okay, I get the point!)
-
-The numbers are contrived, but they're also really basic. In the real world you might need to generate a regex on-the-fly for validation.
-
-**Learn more**
-
-If you're interested in learning more about [character classes](http://www.regular-expressions.info/charclass.html) and other regex features, I personally have always found [regular-expressions.info](http://www.regular-expressions.info/charclass.html) to be pretty useful.
-
-### Heavily tested
-
-As of April 07, 2019, this library runs [>1m test assertions](./test/test.js) against generated regex-ranges to provide brute-force verification that results are correct.
-
-Tests run in ~280ms on my MacBook Pro, 2.5 GHz Intel Core i7.
-
-### Optimized
-
-Generated regular expressions are optimized:
-
-* duplicate sequences and character classes are reduced using quantifiers
-* smart enough to use `?` conditionals when number(s) or range(s) can be positive or negative
-* uses fragment caching to avoid processing the same exact string more than once
-
-<br>
-
-</details>
-
-## Usage
-
-Add this library to your javascript application with the following line of code
-
-```js
-const toRegexRange = require('to-regex-range');
-```
-
-The main export is a function that takes two integers: the `min` value and `max` value (formatted as strings or numbers).
-
-```js
-const source = toRegexRange('15', '95');
-//=> 1[5-9]|[2-8][0-9]|9[0-5]
-
-const regex = new RegExp(`^${source}$`);
-console.log(regex.test('14')); //=> false
-console.log(regex.test('50')); //=> true
-console.log(regex.test('94')); //=> true
-console.log(regex.test('96')); //=> false
-```
-
-## Options
-
-### options.capture
-
-**Type**: `boolean`
-
-**Deafault**: `undefined`
-
-Wrap the returned value in parentheses when there is more than one regex condition. Useful when you're dynamically generating ranges.
-
-```js
-console.log(toRegexRange('-10', '10'));
-//=> -[1-9]|-?10|[0-9]
-
-console.log(toRegexRange('-10', '10', { capture: true }));
-//=> (-[1-9]|-?10|[0-9])
-```
-
-### options.shorthand
-
-**Type**: `boolean`
-
-**Deafault**: `undefined`
-
-Use the regex shorthand for `[0-9]`:
-
-```js
-console.log(toRegexRange('0', '999999'));
-//=> [0-9]|[1-9][0-9]{1,5}
-
-console.log(toRegexRange('0', '999999', { shorthand: true }));
-//=> \d|[1-9]\d{1,5}
-```
-
-### options.relaxZeros
-
-**Type**: `boolean`
-
-**Default**: `true`
-
-This option relaxes matching for leading zeros when when ranges are zero-padded.
-
-```js
-const source = toRegexRange('-0010', '0010');
-const regex = new RegExp(`^${source}$`);
-console.log(regex.test('-10')); //=> true
-console.log(regex.test('-010')); //=> true
-console.log(regex.test('-0010')); //=> true
-console.log(regex.test('10')); //=> true
-console.log(regex.test('010')); //=> true
-console.log(regex.test('0010')); //=> true
-```
-
-When `relaxZeros` is false, matching is strict:
-
-```js
-const source = toRegexRange('-0010', '0010', { relaxZeros: false });
-const regex = new RegExp(`^${source}$`);
-console.log(regex.test('-10')); //=> false
-console.log(regex.test('-010')); //=> false
-console.log(regex.test('-0010')); //=> true
-console.log(regex.test('10')); //=> false
-console.log(regex.test('010')); //=> false
-console.log(regex.test('0010')); //=> true
-```
-
-## Examples
-
-| **Range** | **Result** | **Compile time** |
-| --- | --- | --- |
-| `toRegexRange(-10, 10)` | `-[1-9]\|-?10\|[0-9]` | _132μs_ |
-| `toRegexRange(-100, -10)` | `-1[0-9]\|-[2-9][0-9]\|-100` | _50μs_ |
-| `toRegexRange(-100, 100)` | `-[1-9]\|-?[1-9][0-9]\|-?100\|[0-9]` | _42μs_ |
-| `toRegexRange(001, 100)` | `0{0,2}[1-9]\|0?[1-9][0-9]\|100` | _109μs_ |
-| `toRegexRange(001, 555)` | `0{0,2}[1-9]\|0?[1-9][0-9]\|[1-4][0-9]{2}\|5[0-4][0-9]\|55[0-5]` | _51μs_ |
-| `toRegexRange(0010, 1000)` | `0{0,2}1[0-9]\|0{0,2}[2-9][0-9]\|0?[1-9][0-9]{2}\|1000` | _31μs_ |
-| `toRegexRange(1, 50)` | `[1-9]\|[1-4][0-9]\|50` | _24μs_ |
-| `toRegexRange(1, 55)` | `[1-9]\|[1-4][0-9]\|5[0-5]` | _23μs_ |
-| `toRegexRange(1, 555)` | `[1-9]\|[1-9][0-9]\|[1-4][0-9]{2}\|5[0-4][0-9]\|55[0-5]` | _30μs_ |
-| `toRegexRange(1, 5555)` | `[1-9]\|[1-9][0-9]{1,2}\|[1-4][0-9]{3}\|5[0-4][0-9]{2}\|55[0-4][0-9]\|555[0-5]` | _43μs_ |
-| `toRegexRange(111, 555)` | `11[1-9]\|1[2-9][0-9]\|[2-4][0-9]{2}\|5[0-4][0-9]\|55[0-5]` | _38μs_ |
-| `toRegexRange(29, 51)` | `29\|[34][0-9]\|5[01]` | _24μs_ |
-| `toRegexRange(31, 877)` | `3[1-9]\|[4-9][0-9]\|[1-7][0-9]{2}\|8[0-6][0-9]\|87[0-7]` | _32μs_ |
-| `toRegexRange(5, 5)` | `5` | _8μs_ |
-| `toRegexRange(5, 6)` | `5\|6` | _11μs_ |
-| `toRegexRange(1, 2)` | `1\|2` | _6μs_ |
-| `toRegexRange(1, 5)` | `[1-5]` | _15μs_ |
-| `toRegexRange(1, 10)` | `[1-9]\|10` | _22μs_ |
-| `toRegexRange(1, 100)` | `[1-9]\|[1-9][0-9]\|100` | _25μs_ |
-| `toRegexRange(1, 1000)` | `[1-9]\|[1-9][0-9]{1,2}\|1000` | _31μs_ |
-| `toRegexRange(1, 10000)` | `[1-9]\|[1-9][0-9]{1,3}\|10000` | _34μs_ |
-| `toRegexRange(1, 100000)` | `[1-9]\|[1-9][0-9]{1,4}\|100000` | _36μs_ |
-| `toRegexRange(1, 1000000)` | `[1-9]\|[1-9][0-9]{1,5}\|1000000` | _42μs_ |
-| `toRegexRange(1, 10000000)` | `[1-9]\|[1-9][0-9]{1,6}\|10000000` | _42μs_ |
-
-## Heads up!
-
-**Order of arguments**
-
-When the `min` is larger than the `max`, values will be flipped to create a valid range:
-
-```js
-toRegexRange('51', '29');
-```
-
-Is effectively flipped to:
-
-```js
-toRegexRange('29', '51');
-//=> 29|[3-4][0-9]|5[0-1]
-```
-
-**Steps / increments**
-
-This library does not support steps (increments). A pr to add support would be welcome.
-
-## History
-
-### v2.0.0 - 2017-04-21
-
-**New features**
-
-Adds support for zero-padding!
-
-### v1.0.0
-
-**Optimizations**
-
-Repeating ranges are now grouped using quantifiers. rocessing time is roughly the same, but the generated regex is much smaller, which should result in faster matching.
-
-## Attribution
-
-Inspired by the python library [range-regex](https://github.com/dimka665/range-regex).
-
-## About
-
-<details>
-<summary><strong>Contributing</strong></summary>
-
-Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
-
-</details>
-
-<details>
-<summary><strong>Running Tests</strong></summary>
-
-Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
-
-```sh
-$ npm install && npm test
-```
-
-</details>
-
-<details>
-<summary><strong>Building docs</strong></summary>
-
-_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
-
-To generate the readme, run the following command:
-
-```sh
-$ npm install -g verbose/verb#dev verb-generate-readme && verb
-```
-
-</details>
-
-### Related projects
-
-You might also be interested in these projects:
-
-* [expand-range](https://www.npmjs.com/package/expand-range): Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. Used… [more](https://github.com/jonschlinkert/expand-range) | [homepage](https://github.com/jonschlinkert/expand-range "Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. Used by micromatch.")
-* [fill-range](https://www.npmjs.com/package/fill-range): Fill in a range of numbers or letters, optionally passing an increment or `step` to… [more](https://github.com/jonschlinkert/fill-range) | [homepage](https://github.com/jonschlinkert/fill-range "Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`")
-* [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | [homepage](https://github.com/micromatch/micromatch "Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch.")
-* [repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element "Create an array by repeating the given value n times.")
-* [repeat-string](https://www.npmjs.com/package/repeat-string): Repeat the given string n times. Fastest implementation for repeating a string. | [homepage](https://github.com/jonschlinkert/repeat-string "Repeat the given string n times. Fastest implementation for repeating a string.")
-
-### Contributors
-
-| **Commits** | **Contributor** |
-| --- | --- |
-| 63 | [jonschlinkert](https://github.com/jonschlinkert) |
-| 3 | [doowb](https://github.com/doowb) |
-| 2 | [realityking](https://github.com/realityking) |
-
-### Author
-
-**Jon Schlinkert**
-
-* [GitHub Profile](https://github.com/jonschlinkert)
-* [Twitter Profile](https://twitter.com/jonschlinkert)
-* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
-
-Please consider supporting me on Patreon, or [start your own Patreon page](https://patreon.com/invite/bxpbvm)!
-
-<a href="https://www.patreon.com/jonschlinkert">
-<img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" height="50">
-</a>
-
-### License
-
-Copyright © 2019, [Jon Schlinkert](https://github.com/jonschlinkert).
-Released under the [MIT License](LICENSE).
-
-***
-
-_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on April 07, 2019._ \ No newline at end of file
diff --git a/includes/search/node_modules/to-regex-range/index.js b/includes/search/node_modules/to-regex-range/index.js
deleted file mode 100644
index 77fbace..0000000
--- a/includes/search/node_modules/to-regex-range/index.js
+++ /dev/null
@@ -1,288 +0,0 @@
-/*!
- * to-regex-range <https://github.com/micromatch/to-regex-range>
- *
- * Copyright (c) 2015-present, Jon Schlinkert.
- * Released under the MIT License.
- */
-
-'use strict';
-
-const isNumber = require('is-number');
-
-const toRegexRange = (min, max, options) => {
- if (isNumber(min) === false) {
- throw new TypeError('toRegexRange: expected the first argument to be a number');
- }
-
- if (max === void 0 || min === max) {
- return String(min);
- }
-
- if (isNumber(max) === false) {
- throw new TypeError('toRegexRange: expected the second argument to be a number.');
- }
-
- let opts = { relaxZeros: true, ...options };
- if (typeof opts.strictZeros === 'boolean') {
- opts.relaxZeros = opts.strictZeros === false;
- }
-
- let relax = String(opts.relaxZeros);
- let shorthand = String(opts.shorthand);
- let capture = String(opts.capture);
- let wrap = String(opts.wrap);
- let cacheKey = min + ':' + max + '=' + relax + shorthand + capture + wrap;
-
- if (toRegexRange.cache.hasOwnProperty(cacheKey)) {
- return toRegexRange.cache[cacheKey].result;
- }
-
- let a = Math.min(min, max);
- let b = Math.max(min, max);
-
- if (Math.abs(a - b) === 1) {
- let result = min + '|' + max;
- if (opts.capture) {
- return `(${result})`;
- }
- if (opts.wrap === false) {
- return result;
- }
- return `(?:${result})`;
- }
-
- let isPadded = hasPadding(min) || hasPadding(max);
- let state = { min, max, a, b };
- let positives = [];
- let negatives = [];
-
- if (isPadded) {
- state.isPadded = isPadded;
- state.maxLen = String(state.max).length;
- }
-
- if (a < 0) {
- let newMin = b < 0 ? Math.abs(b) : 1;
- negatives = splitToPatterns(newMin, Math.abs(a), state, opts);
- a = state.a = 0;
- }
-
- if (b >= 0) {
- positives = splitToPatterns(a, b, state, opts);
- }
-
- state.negatives = negatives;
- state.positives = positives;
- state.result = collatePatterns(negatives, positives, opts);
-
- if (opts.capture === true) {
- state.result = `(${state.result})`;
- } else if (opts.wrap !== false && (positives.length + negatives.length) > 1) {
- state.result = `(?:${state.result})`;
- }
-
- toRegexRange.cache[cacheKey] = state;
- return state.result;
-};
-
-function collatePatterns(neg, pos, options) {
- let onlyNegative = filterPatterns(neg, pos, '-', false, options) || [];
- let onlyPositive = filterPatterns(pos, neg, '', false, options) || [];
- let intersected = filterPatterns(neg, pos, '-?', true, options) || [];
- let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);
- return subpatterns.join('|');
-}
-
-function splitToRanges(min, max) {
- let nines = 1;
- let zeros = 1;
-
- let stop = countNines(min, nines);
- let stops = new Set([max]);
-
- while (min <= stop && stop <= max) {
- stops.add(stop);
- nines += 1;
- stop = countNines(min, nines);
- }
-
- stop = countZeros(max + 1, zeros) - 1;
-
- while (min < stop && stop <= max) {
- stops.add(stop);
- zeros += 1;
- stop = countZeros(max + 1, zeros) - 1;
- }
-
- stops = [...stops];
- stops.sort(compare);
- return stops;
-}
-
-/**
- * Convert a range to a regex pattern
- * @param {Number} `start`
- * @param {Number} `stop`
- * @return {String}
- */
-
-function rangeToPattern(start, stop, options) {
- if (start === stop) {
- return { pattern: start, count: [], digits: 0 };
- }
-
- let zipped = zip(start, stop);
- let digits = zipped.length;
- let pattern = '';
- let count = 0;
-
- for (let i = 0; i < digits; i++) {
- let [startDigit, stopDigit] = zipped[i];
-
- if (startDigit === stopDigit) {
- pattern += startDigit;
-
- } else if (startDigit !== '0' || stopDigit !== '9') {
- pattern += toCharacterClass(startDigit, stopDigit, options);
-
- } else {
- count++;
- }
- }
-
- if (count) {
- pattern += options.shorthand === true ? '\\d' : '[0-9]';
- }
-
- return { pattern, count: [count], digits };
-}
-
-function splitToPatterns(min, max, tok, options) {
- let ranges = splitToRanges(min, max);
- let tokens = [];
- let start = min;
- let prev;
-
- for (let i = 0; i < ranges.length; i++) {
- let max = ranges[i];
- let obj = rangeToPattern(String(start), String(max), options);
- let zeros = '';
-
- if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
- if (prev.count.length > 1) {
- prev.count.pop();
- }
-
- prev.count.push(obj.count[0]);
- prev.string = prev.pattern + toQuantifier(prev.count);
- start = max + 1;
- continue;
- }
-
- if (tok.isPadded) {
- zeros = padZeros(max, tok, options);
- }
-
- obj.string = zeros + obj.pattern + toQuantifier(obj.count);
- tokens.push(obj);
- start = max + 1;
- prev = obj;
- }
-
- return tokens;
-}
-
-function filterPatterns(arr, comparison, prefix, intersection, options) {
- let result = [];
-
- for (let ele of arr) {
- let { string } = ele;
-
- // only push if _both_ are negative...
- if (!intersection && !contains(comparison, 'string', string)) {
- result.push(prefix + string);
- }
-
- // or _both_ are positive
- if (intersection && contains(comparison, 'string', string)) {
- result.push(prefix + string);
- }
- }
- return result;
-}
-
-/**
- * Zip strings
- */
-
-function zip(a, b) {
- let arr = [];
- for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]);
- return arr;
-}
-
-function compare(a, b) {
- return a > b ? 1 : b > a ? -1 : 0;
-}
-
-function contains(arr, key, val) {
- return arr.some(ele => ele[key] === val);
-}
-
-function countNines(min, len) {
- return Number(String(min).slice(0, -len) + '9'.repeat(len));
-}
-
-function countZeros(integer, zeros) {
- return integer - (integer % Math.pow(10, zeros));
-}
-
-function toQuantifier(digits) {
- let [start = 0, stop = ''] = digits;
- if (stop || start > 1) {
- return `{${start + (stop ? ',' + stop : '')}}`;
- }
- return '';
-}
-
-function toCharacterClass(a, b, options) {
- return `[${a}${(b - a === 1) ? '' : '-'}${b}]`;
-}
-
-function hasPadding(str) {
- return /^-?(0+)\d/.test(str);
-}
-
-function padZeros(value, tok, options) {
- if (!tok.isPadded) {
- return value;
- }
-
- let diff = Math.abs(tok.maxLen - String(value).length);
- let relax = options.relaxZeros !== false;
-
- switch (diff) {
- case 0:
- return '';
- case 1:
- return relax ? '0?' : '0';
- case 2:
- return relax ? '0{0,2}' : '00';
- default: {
- return relax ? `0{0,${diff}}` : `0{${diff}}`;
- }
- }
-}
-
-/**
- * Cache
- */
-
-toRegexRange.cache = {};
-toRegexRange.clearCache = () => (toRegexRange.cache = {});
-
-/**
- * Expose `toRegexRange`
- */
-
-module.exports = toRegexRange;
diff --git a/includes/search/node_modules/to-regex-range/package.json b/includes/search/node_modules/to-regex-range/package.json
deleted file mode 100644
index 4ef194f..0000000
--- a/includes/search/node_modules/to-regex-range/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "name": "to-regex-range",
- "description": "Pass two numbers, get a regex-compatible source string for matching ranges. Validated against more than 2.78 million test assertions.",
- "version": "5.0.1",
- "homepage": "https://github.com/micromatch/to-regex-range",
- "author": "Jon Schlinkert (https://github.com/jonschlinkert)",
- "contributors": [
- "Jon Schlinkert (http://twitter.com/jonschlinkert)",
- "Rouven Weßling (www.rouvenwessling.de)"
- ],
- "repository": "micromatch/to-regex-range",
- "bugs": {
- "url": "https://github.com/micromatch/to-regex-range/issues"
- },
- "license": "MIT",
- "files": [
- "index.js"
- ],
- "main": "index.js",
- "engines": {
- "node": ">=8.0"
- },
- "scripts": {
- "test": "mocha"
- },
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "devDependencies": {
- "fill-range": "^6.0.0",
- "gulp-format-md": "^2.0.0",
- "mocha": "^6.0.2",
- "text-table": "^0.2.0",
- "time-diff": "^0.3.1"
- },
- "keywords": [
- "bash",
- "date",
- "expand",
- "expansion",
- "expression",
- "glob",
- "match",
- "match date",
- "match number",
- "match numbers",
- "match year",
- "matches",
- "matching",
- "number",
- "numbers",
- "numerical",
- "range",
- "ranges",
- "regex",
- "regexp",
- "regular",
- "regular expression",
- "sequence"
- ],
- "verb": {
- "layout": "default",
- "toc": false,
- "tasks": [
- "readme"
- ],
- "plugins": [
- "gulp-format-md"
- ],
- "lint": {
- "reflinks": true
- },
- "helpers": {
- "examples": {
- "displayName": "examples"
- }
- },
- "related": {
- "list": [
- "expand-range",
- "fill-range",
- "micromatch",
- "repeat-element",
- "repeat-string"
- ]
- }
- }
-}
diff --git a/includes/search/node_modules/tr46/.npmignore b/includes/search/node_modules/tr46/.npmignore
deleted file mode 100644
index 96e9161..0000000
--- a/includes/search/node_modules/tr46/.npmignore
+++ /dev/null
@@ -1,4 +0,0 @@
-scripts/
-test/
-
-!lib/mapping_table.json
diff --git a/includes/search/node_modules/tr46/index.js b/includes/search/node_modules/tr46/index.js
deleted file mode 100644
index 9ce12ca..0000000
--- a/includes/search/node_modules/tr46/index.js
+++ /dev/null
@@ -1,193 +0,0 @@
-"use strict";
-
-var punycode = require("punycode");
-var mappingTable = require("./lib/mappingTable.json");
-
-var PROCESSING_OPTIONS = {
- TRANSITIONAL: 0,
- NONTRANSITIONAL: 1
-};
-
-function normalize(str) { // fix bug in v8
- return str.split('\u0000').map(function (s) { return s.normalize('NFC'); }).join('\u0000');
-}
-
-function findStatus(val) {
- var start = 0;
- var end = mappingTable.length - 1;
-
- while (start <= end) {
- var mid = Math.floor((start + end) / 2);
-
- var target = mappingTable[mid];
- if (target[0][0] <= val && target[0][1] >= val) {
- return target;
- } else if (target[0][0] > val) {
- end = mid - 1;
- } else {
- start = mid + 1;
- }
- }
-
- return null;
-}
-
-var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
-
-function countSymbols(string) {
- return string
- // replace every surrogate pair with a BMP symbol
- .replace(regexAstralSymbols, '_')
- // then get the length
- .length;
-}
-
-function mapChars(domain_name, useSTD3, processing_option) {
- var hasError = false;
- var processed = "";
-
- var len = countSymbols(domain_name);
- for (var i = 0; i < len; ++i) {
- var codePoint = domain_name.codePointAt(i);
- var status = findStatus(codePoint);
-
- switch (status[1]) {
- case "disallowed":
- hasError = true;
- processed += String.fromCodePoint(codePoint);
- break;
- case "ignored":
- break;
- case "mapped":
- processed += String.fromCodePoint.apply(String, status[2]);
- break;
- case "deviation":
- if (processing_option === PROCESSING_OPTIONS.TRANSITIONAL) {
- processed += String.fromCodePoint.apply(String, status[2]);
- } else {
- processed += String.fromCodePoint(codePoint);
- }
- break;
- case "valid":
- processed += String.fromCodePoint(codePoint);
- break;
- case "disallowed_STD3_mapped":
- if (useSTD3) {
- hasError = true;
- processed += String.fromCodePoint(codePoint);
- } else {
- processed += String.fromCodePoint.apply(String, status[2]);
- }
- break;
- case "disallowed_STD3_valid":
- if (useSTD3) {
- hasError = true;
- }
-
- processed += String.fromCodePoint(codePoint);
- break;
- }
- }
-
- return {
- string: processed,
- error: hasError
- };
-}
-
-var combiningMarksRegex = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;
-
-function validateLabel(label, processing_option) {
- if (label.substr(0, 4) === "xn--") {
- label = punycode.toUnicode(label);
- processing_option = PROCESSING_OPTIONS.NONTRANSITIONAL;
- }
-
- var error = false;
-
- if (normalize(label) !== label ||
- (label[3] === "-" && label[4] === "-") ||
- label[0] === "-" || label[label.length - 1] === "-" ||
- label.indexOf(".") !== -1 ||
- label.search(combiningMarksRegex) === 0) {
- error = true;
- }
-
- var len = countSymbols(label);
- for (var i = 0; i < len; ++i) {
- var status = findStatus(label.codePointAt(i));
- if ((processing === PROCESSING_OPTIONS.TRANSITIONAL && status[1] !== "valid") ||
- (processing === PROCESSING_OPTIONS.NONTRANSITIONAL &&
- status[1] !== "valid" && status[1] !== "deviation")) {
- error = true;
- break;
- }
- }
-
- return {
- label: label,
- error: error
- };
-}
-
-function processing(domain_name, useSTD3, processing_option) {
- var result = mapChars(domain_name, useSTD3, processing_option);
- result.string = normalize(result.string);
-
- var labels = result.string.split(".");
- for (var i = 0; i < labels.length; ++i) {
- try {
- var validation = validateLabel(labels[i]);
- labels[i] = validation.label;
- result.error = result.error || validation.error;
- } catch(e) {
- result.error = true;
- }
- }
-
- return {
- string: labels.join("."),
- error: result.error
- };
-}
-
-module.exports.toASCII = function(domain_name, useSTD3, processing_option, verifyDnsLength) {
- var result = processing(domain_name, useSTD3, processing_option);
- var labels = result.string.split(".");
- labels = labels.map(function(l) {
- try {
- return punycode.toASCII(l);
- } catch(e) {
- result.error = true;
- return l;
- }
- });
-
- if (verifyDnsLength) {
- var total = labels.slice(0, labels.length - 1).join(".").length;
- if (total.length > 253 || total.length === 0) {
- result.error = true;
- }
-
- for (var i=0; i < labels.length; ++i) {
- if (labels.length > 63 || labels.length === 0) {
- result.error = true;
- break;
- }
- }
- }
-
- if (result.error) return null;
- return labels.join(".");
-};
-
-module.exports.toUnicode = function(domain_name, useSTD3) {
- var result = processing(domain_name, useSTD3, PROCESSING_OPTIONS.NONTRANSITIONAL);
-
- return {
- domain: result.string,
- error: result.error
- };
-};
-
-module.exports.PROCESSING_OPTIONS = PROCESSING_OPTIONS;
diff --git a/includes/search/node_modules/tr46/lib/.gitkeep b/includes/search/node_modules/tr46/lib/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/includes/search/node_modules/tr46/lib/.gitkeep
+++ /dev/null
diff --git a/includes/search/node_modules/tr46/lib/mappingTable.json b/includes/search/node_modules/tr46/lib/mappingTable.json
deleted file mode 100644
index 89cf19a..0000000
--- a/includes/search/node_modules/tr46/lib/mappingTable.json
+++ /dev/null
@@ -1 +0,0 @@
-[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]] \ No newline at end of file
diff --git a/includes/search/node_modules/tr46/package.json b/includes/search/node_modules/tr46/package.json
deleted file mode 100644
index b6826da..0000000
--- a/includes/search/node_modules/tr46/package.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "name": "tr46",
- "version": "0.0.3",
- "description": "An implementation of the Unicode TR46 spec",
- "main": "index.js",
- "scripts": {
- "test": "mocha",
- "pretest": "node scripts/getLatestUnicodeTests.js",
- "prepublish": "node scripts/generateMappingTable.js"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/Sebmaster/tr46.js.git"
- },
- "keywords": [
- "unicode",
- "tr46",
- "url",
- "whatwg"
- ],
- "author": "Sebastian Mayr <npm@smayr.name>",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/Sebmaster/tr46.js/issues"
- },
- "homepage": "https://github.com/Sebmaster/tr46.js#readme",
- "devDependencies": {
- "mocha": "^2.2.5",
- "request": "^2.57.0"
- }
-}
diff --git a/includes/search/node_modules/tunnel-agent/LICENSE b/includes/search/node_modules/tunnel-agent/LICENSE
deleted file mode 100644
index a4a9aee..0000000
--- a/includes/search/node_modules/tunnel-agent/LICENSE
+++ /dev/null
@@ -1,55 +0,0 @@
-Apache License
-
-Version 2.0, January 2004
-
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-
-You must give any other recipients of the Work or Derivative Works a copy of this License; and
-
-You must cause any modified files to carry prominent notices stating that You changed the files; and
-
-You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-
-If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS \ No newline at end of file
diff --git a/includes/search/node_modules/tunnel-agent/README.md b/includes/search/node_modules/tunnel-agent/README.md
deleted file mode 100644
index bb533d5..0000000
--- a/includes/search/node_modules/tunnel-agent/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-tunnel-agent
-============
-
-HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.
diff --git a/includes/search/node_modules/tunnel-agent/index.js b/includes/search/node_modules/tunnel-agent/index.js
deleted file mode 100644
index 3ee9abc..0000000
--- a/includes/search/node_modules/tunnel-agent/index.js
+++ /dev/null
@@ -1,244 +0,0 @@
-'use strict'
-
-var net = require('net')
- , tls = require('tls')
- , http = require('http')
- , https = require('https')
- , events = require('events')
- , assert = require('assert')
- , util = require('util')
- , Buffer = require('safe-buffer').Buffer
- ;
-
-exports.httpOverHttp = httpOverHttp
-exports.httpsOverHttp = httpsOverHttp
-exports.httpOverHttps = httpOverHttps
-exports.httpsOverHttps = httpsOverHttps
-
-
-function httpOverHttp(options) {
- var agent = new TunnelingAgent(options)
- agent.request = http.request
- return agent
-}
-
-function httpsOverHttp(options) {
- var agent = new TunnelingAgent(options)
- agent.request = http.request
- agent.createSocket = createSecureSocket
- agent.defaultPort = 443
- return agent
-}
-
-function httpOverHttps(options) {
- var agent = new TunnelingAgent(options)
- agent.request = https.request
- return agent
-}
-
-function httpsOverHttps(options) {
- var agent = new TunnelingAgent(options)
- agent.request = https.request
- agent.createSocket = createSecureSocket
- agent.defaultPort = 443
- return agent
-}
-
-
-function TunnelingAgent(options) {
- var self = this
- self.options = options || {}
- self.proxyOptions = self.options.proxy || {}
- self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets
- self.requests = []
- self.sockets = []
-
- self.on('free', function onFree(socket, host, port) {
- for (var i = 0, len = self.requests.length; i < len; ++i) {
- var pending = self.requests[i]
- if (pending.host === host && pending.port === port) {
- // Detect the request to connect same origin server,
- // reuse the connection.
- self.requests.splice(i, 1)
- pending.request.onSocket(socket)
- return
- }
- }
- socket.destroy()
- self.removeSocket(socket)
- })
-}
-util.inherits(TunnelingAgent, events.EventEmitter)
-
-TunnelingAgent.prototype.addRequest = function addRequest(req, options) {
- var self = this
-
- // Legacy API: addRequest(req, host, port, path)
- if (typeof options === 'string') {
- options = {
- host: options,
- port: arguments[2],
- path: arguments[3]
- };
- }
-
- if (self.sockets.length >= this.maxSockets) {
- // We are over limit so we'll add it to the queue.
- self.requests.push({host: options.host, port: options.port, request: req})
- return
- }
-
- // If we are under maxSockets create a new one.
- self.createConnection({host: options.host, port: options.port, request: req})
-}
-
-TunnelingAgent.prototype.createConnection = function createConnection(pending) {
- var self = this
-
- self.createSocket(pending, function(socket) {
- socket.on('free', onFree)
- socket.on('close', onCloseOrRemove)
- socket.on('agentRemove', onCloseOrRemove)
- pending.request.onSocket(socket)
-
- function onFree() {
- self.emit('free', socket, pending.host, pending.port)
- }
-
- function onCloseOrRemove(err) {
- self.removeSocket(socket)
- socket.removeListener('free', onFree)
- socket.removeListener('close', onCloseOrRemove)
- socket.removeListener('agentRemove', onCloseOrRemove)
- }
- })
-}
-
-TunnelingAgent.prototype.createSocket = function createSocket(options, cb) {
- var self = this
- var placeholder = {}
- self.sockets.push(placeholder)
-
- var connectOptions = mergeOptions({}, self.proxyOptions,
- { method: 'CONNECT'
- , path: options.host + ':' + options.port
- , agent: false
- }
- )
- if (connectOptions.proxyAuth) {
- connectOptions.headers = connectOptions.headers || {}
- connectOptions.headers['Proxy-Authorization'] = 'Basic ' +
- Buffer.from(connectOptions.proxyAuth).toString('base64')
- }
-
- debug('making CONNECT request')
- var connectReq = self.request(connectOptions)
- connectReq.useChunkedEncodingByDefault = false // for v0.6
- connectReq.once('response', onResponse) // for v0.6
- connectReq.once('upgrade', onUpgrade) // for v0.6
- connectReq.once('connect', onConnect) // for v0.7 or later
- connectReq.once('error', onError)
- connectReq.end()
-
- function onResponse(res) {
- // Very hacky. This is necessary to avoid http-parser leaks.
- res.upgrade = true
- }
-
- function onUpgrade(res, socket, head) {
- // Hacky.
- process.nextTick(function() {
- onConnect(res, socket, head)
- })
- }
-
- function onConnect(res, socket, head) {
- connectReq.removeAllListeners()
- socket.removeAllListeners()
-
- if (res.statusCode === 200) {
- assert.equal(head.length, 0)
- debug('tunneling connection has established')
- self.sockets[self.sockets.indexOf(placeholder)] = socket
- cb(socket)
- } else {
- debug('tunneling socket could not be established, statusCode=%d', res.statusCode)
- var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode)
- error.code = 'ECONNRESET'
- options.request.emit('error', error)
- self.removeSocket(placeholder)
- }
- }
-
- function onError(cause) {
- connectReq.removeAllListeners()
-
- debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack)
- var error = new Error('tunneling socket could not be established, ' + 'cause=' + cause.message)
- error.code = 'ECONNRESET'
- options.request.emit('error', error)
- self.removeSocket(placeholder)
- }
-}
-
-TunnelingAgent.prototype.removeSocket = function removeSocket(socket) {
- var pos = this.sockets.indexOf(socket)
- if (pos === -1) return
-
- this.sockets.splice(pos, 1)
-
- var pending = this.requests.shift()
- if (pending) {
- // If we have pending requests and a socket gets closed a new one
- // needs to be created to take over in the pool for the one that closed.
- this.createConnection(pending)
- }
-}
-
-function createSecureSocket(options, cb) {
- var self = this
- TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {
- // 0 is dummy port for v0.6
- var secureSocket = tls.connect(0, mergeOptions({}, self.options,
- { servername: options.host
- , socket: socket
- }
- ))
- self.sockets[self.sockets.indexOf(socket)] = secureSocket
- cb(secureSocket)
- })
-}
-
-
-function mergeOptions(target) {
- for (var i = 1, len = arguments.length; i < len; ++i) {
- var overrides = arguments[i]
- if (typeof overrides === 'object') {
- var keys = Object.keys(overrides)
- for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {
- var k = keys[j]
- if (overrides[k] !== undefined) {
- target[k] = overrides[k]
- }
- }
- }
- }
- return target
-}
-
-
-var debug
-if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) {
- debug = function() {
- var args = Array.prototype.slice.call(arguments)
- if (typeof args[0] === 'string') {
- args[0] = 'TUNNEL: ' + args[0]
- } else {
- args.unshift('TUNNEL:')
- }
- console.error.apply(console, args)
- }
-} else {
- debug = function() {}
-}
-exports.debug = debug // for test
diff --git a/includes/search/node_modules/tunnel-agent/package.json b/includes/search/node_modules/tunnel-agent/package.json
deleted file mode 100644
index a271fda..0000000
--- a/includes/search/node_modules/tunnel-agent/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "author": "Mikeal Rogers <mikeal.rogers@gmail.com> (http://www.futurealoof.com)",
- "name": "tunnel-agent",
- "license": "Apache-2.0",
- "description": "HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.",
- "version": "0.6.0",
- "repository": {
- "url": "https://github.com/mikeal/tunnel-agent"
- },
- "main": "index.js",
- "files": [
- "index.js"
- ],
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "devDependencies": {},
- "optionalDependencies": {},
- "engines": {
- "node": "*"
- }
-}
diff --git a/includes/search/node_modules/universalify/LICENSE b/includes/search/node_modules/universalify/LICENSE
deleted file mode 100644
index 514e84e..0000000
--- a/includes/search/node_modules/universalify/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2017, Ryan Zimmerman <opensrc@ryanzim.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the 'Software'), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/universalify/README.md b/includes/search/node_modules/universalify/README.md
deleted file mode 100644
index aa12474..0000000
--- a/includes/search/node_modules/universalify/README.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# universalify
-
-[![Travis branch](https://img.shields.io/travis/RyanZim/universalify/master.svg)](https://travis-ci.org/RyanZim/universalify)
-![Coveralls github branch](https://img.shields.io/coveralls/github/RyanZim/universalify/master.svg)
-![npm](https://img.shields.io/npm/dm/universalify.svg)
-![npm](https://img.shields.io/npm/l/universalify.svg)
-
-Make a callback- or promise-based function support both promises and callbacks.
-
-Uses the native promise implementation.
-
-## Installation
-
-```bash
-npm install universalify
-```
-
-## API
-
-### `universalify.fromCallback(fn)`
-
-Takes a callback-based function to universalify, and returns the universalified function.
-
-Function must take a callback as the last parameter that will be called with the signature `(error, result)`. `universalify` does not support calling the callback with three or more arguments, and does not ensure that the callback is only called once.
-
-```js
-function callbackFn (n, cb) {
- setTimeout(() => cb(null, n), 15)
-}
-
-const fn = universalify.fromCallback(callbackFn)
-
-// Works with Promises:
-fn('Hello World!')
-.then(result => console.log(result)) // -> Hello World!
-.catch(error => console.error(error))
-
-// Works with Callbacks:
-fn('Hi!', (error, result) => {
- if (error) return console.error(error)
- console.log(result)
- // -> Hi!
-})
-```
-
-### `universalify.fromPromise(fn)`
-
-Takes a promise-based function to universalify, and returns the universalified function.
-
-Function must return a valid JS promise. `universalify` does not ensure that a valid promise is returned.
-
-```js
-function promiseFn (n) {
- return new Promise(resolve => {
- setTimeout(() => resolve(n), 15)
- })
-}
-
-const fn = universalify.fromPromise(promiseFn)
-
-// Works with Promises:
-fn('Hello World!')
-.then(result => console.log(result)) // -> Hello World!
-.catch(error => console.error(error))
-
-// Works with Callbacks:
-fn('Hi!', (error, result) => {
- if (error) return console.error(error)
- console.log(result)
- // -> Hi!
-})
-```
-
-## License
-
-MIT
diff --git a/includes/search/node_modules/universalify/index.js b/includes/search/node_modules/universalify/index.js
deleted file mode 100644
index ba6c662..0000000
--- a/includes/search/node_modules/universalify/index.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict'
-
-exports.fromCallback = function (fn) {
- return Object.defineProperty(function (...args) {
- if (typeof args[args.length - 1] === 'function') fn.apply(this, args)
- else {
- return new Promise((resolve, reject) => {
- fn.call(
- this,
- ...args,
- (err, res) => (err != null) ? reject(err) : resolve(res)
- )
- })
- }
- }, 'name', { value: fn.name })
-}
-
-exports.fromPromise = function (fn) {
- return Object.defineProperty(function (...args) {
- const cb = args[args.length - 1]
- if (typeof cb !== 'function') return fn.apply(this, args)
- else fn.apply(this, args.slice(0, -1)).then(r => cb(null, r), cb)
- }, 'name', { value: fn.name })
-}
diff --git a/includes/search/node_modules/universalify/package.json b/includes/search/node_modules/universalify/package.json
deleted file mode 100644
index 006d4cc..0000000
--- a/includes/search/node_modules/universalify/package.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "name": "universalify",
- "version": "2.0.0",
- "description": "Make a callback- or promise-based function support both promises and callbacks.",
- "keywords": [
- "callback",
- "native",
- "promise"
- ],
- "homepage": "https://github.com/RyanZim/universalify#readme",
- "bugs": "https://github.com/RyanZim/universalify/issues",
- "license": "MIT",
- "author": "Ryan Zimmerman <opensrc@ryanzim.com>",
- "files": [
- "index.js"
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/RyanZim/universalify.git"
- },
- "scripts": {
- "test": "standard && nyc tape test/*.js | colortape"
- },
- "devDependencies": {
- "colortape": "^0.1.2",
- "coveralls": "^3.0.1",
- "nyc": "^15.0.0",
- "standard": "^14.3.1",
- "tape": "^5.0.1"
- },
- "engines": {
- "node": ">= 10.0.0"
- }
-}
diff --git a/includes/search/node_modules/util-deprecate/History.md b/includes/search/node_modules/util-deprecate/History.md
deleted file mode 100644
index acc8675..0000000
--- a/includes/search/node_modules/util-deprecate/History.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
-1.0.2 / 2015-10-07
-==================
-
- * use try/catch when checking `localStorage` (#3, @kumavis)
-
-1.0.1 / 2014-11-25
-==================
-
- * browser: use `console.warn()` for deprecation calls
- * browser: more jsdocs
-
-1.0.0 / 2014-04-30
-==================
-
- * initial commit
diff --git a/includes/search/node_modules/util-deprecate/LICENSE b/includes/search/node_modules/util-deprecate/LICENSE
deleted file mode 100644
index 6a60e8c..0000000
--- a/includes/search/node_modules/util-deprecate/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/util-deprecate/README.md b/includes/search/node_modules/util-deprecate/README.md
deleted file mode 100644
index 75622fa..0000000
--- a/includes/search/node_modules/util-deprecate/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-util-deprecate
-==============
-### The Node.js `util.deprecate()` function with browser support
-
-In Node.js, this module simply re-exports the `util.deprecate()` function.
-
-In the web browser (i.e. via browserify), a browser-specific implementation
-of the `util.deprecate()` function is used.
-
-
-## API
-
-A `deprecate()` function is the only thing exposed by this module.
-
-``` javascript
-// setup:
-exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead');
-
-
-// users see:
-foo();
-// foo() is deprecated, use bar() instead
-foo();
-foo();
-```
-
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/util-deprecate/browser.js b/includes/search/node_modules/util-deprecate/browser.js
deleted file mode 100644
index 549ae2f..0000000
--- a/includes/search/node_modules/util-deprecate/browser.js
+++ /dev/null
@@ -1,67 +0,0 @@
-
-/**
- * Module exports.
- */
-
-module.exports = deprecate;
-
-/**
- * Mark that a method should not be used.
- * Returns a modified function which warns once by default.
- *
- * If `localStorage.noDeprecation = true` is set, then it is a no-op.
- *
- * If `localStorage.throwDeprecation = true` is set, then deprecated functions
- * will throw an Error when invoked.
- *
- * If `localStorage.traceDeprecation = true` is set, then deprecated functions
- * will invoke `console.trace()` instead of `console.error()`.
- *
- * @param {Function} fn - the function to deprecate
- * @param {String} msg - the string to print to the console when `fn` is invoked
- * @returns {Function} a new "deprecated" version of `fn`
- * @api public
- */
-
-function deprecate (fn, msg) {
- if (config('noDeprecation')) {
- return fn;
- }
-
- var warned = false;
- function deprecated() {
- if (!warned) {
- if (config('throwDeprecation')) {
- throw new Error(msg);
- } else if (config('traceDeprecation')) {
- console.trace(msg);
- } else {
- console.warn(msg);
- }
- warned = true;
- }
- return fn.apply(this, arguments);
- }
-
- return deprecated;
-}
-
-/**
- * Checks `localStorage` for boolean values for the given `name`.
- *
- * @param {String} name
- * @returns {Boolean}
- * @api private
- */
-
-function config (name) {
- // accessing global.localStorage can trigger a DOMException in sandboxed iframes
- try {
- if (!global.localStorage) return false;
- } catch (_) {
- return false;
- }
- var val = global.localStorage[name];
- if (null == val) return false;
- return String(val).toLowerCase() === 'true';
-}
diff --git a/includes/search/node_modules/util-deprecate/node.js b/includes/search/node_modules/util-deprecate/node.js
deleted file mode 100644
index 5e6fcff..0000000
--- a/includes/search/node_modules/util-deprecate/node.js
+++ /dev/null
@@ -1,6 +0,0 @@
-
-/**
- * For Node.js, simply re-export the core `util.deprecate` function.
- */
-
-module.exports = require('util').deprecate;
diff --git a/includes/search/node_modules/util-deprecate/package.json b/includes/search/node_modules/util-deprecate/package.json
deleted file mode 100644
index 2e79f89..0000000
--- a/includes/search/node_modules/util-deprecate/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "util-deprecate",
- "version": "1.0.2",
- "description": "The Node.js `util.deprecate()` function with browser support",
- "main": "node.js",
- "browser": "browser.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/util-deprecate.git"
- },
- "keywords": [
- "util",
- "deprecate",
- "browserify",
- "browser",
- "node"
- ],
- "author": "Nathan Rajlich <nathan@tootallnate.net> (http://n8.io/)",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/TooTallNate/util-deprecate/issues"
- },
- "homepage": "https://github.com/TooTallNate/util-deprecate"
-}
diff --git a/includes/search/node_modules/webidl-conversions/LICENSE.md b/includes/search/node_modules/webidl-conversions/LICENSE.md
deleted file mode 100644
index d4a994f..0000000
--- a/includes/search/node_modules/webidl-conversions/LICENSE.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# The BSD 2-Clause License
-
-Copyright (c) 2014, Domenic Denicola
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/includes/search/node_modules/webidl-conversions/README.md b/includes/search/node_modules/webidl-conversions/README.md
deleted file mode 100644
index 3657890..0000000
--- a/includes/search/node_modules/webidl-conversions/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# WebIDL Type Conversions on JavaScript Values
-
-This package implements, in JavaScript, the algorithms to convert a given JavaScript value according to a given [WebIDL](http://heycam.github.io/webidl/) [type](http://heycam.github.io/webidl/#idl-types).
-
-The goal is that you should be able to write code like
-
-```js
-const conversions = require("webidl-conversions");
-
-function doStuff(x, y) {
- x = conversions["boolean"](x);
- y = conversions["unsigned long"](y);
- // actual algorithm code here
-}
-```
-
-and your function `doStuff` will behave the same as a WebIDL operation declared as
-
-```webidl
-void doStuff(boolean x, unsigned long y);
-```
-
-## API
-
-This package's main module's default export is an object with a variety of methods, each corresponding to a different WebIDL type. Each method, when invoked on a JavaScript value, will give back the new JavaScript value that results after passing through the WebIDL conversion rules. (See below for more details on what that means.) Alternately, the method could throw an error, if the WebIDL algorithm is specified to do so: for example `conversions["float"](NaN)` [will throw a `TypeError`](http://heycam.github.io/webidl/#es-float).
-
-## Status
-
-All of the numeric types are implemented (float being implemented as double) and some others are as well - check the source for all of them. This list will grow over time in service of the [HTML as Custom Elements](https://github.com/dglazkov/html-as-custom-elements) project, but in the meantime, pull requests welcome!
-
-I'm not sure yet what the strategy will be for modifiers, e.g. [`[Clamp]`](http://heycam.github.io/webidl/#Clamp). Maybe something like `conversions["unsigned long"](x, { clamp: true })`? We'll see.
-
-We might also want to extend the API to give better error messages, e.g. "Argument 1 of HTMLMediaElement.fastSeek is not a finite floating-point value" instead of "Argument is not a finite floating-point value." This would require passing in more information to the conversion functions than we currently do.
-
-## Background
-
-What's actually going on here, conceptually, is pretty weird. Let's try to explain.
-
-WebIDL, as part of its madness-inducing design, has its own type system. When people write algorithms in web platform specs, they usually operate on WebIDL values, i.e. instances of WebIDL types. For example, if they were specifying the algorithm for our `doStuff` operation above, they would treat `x` as a WebIDL value of [WebIDL type `boolean`](http://heycam.github.io/webidl/#idl-boolean). Crucially, they would _not_ treat `x` as a JavaScript variable whose value is either the JavaScript `true` or `false`. They're instead working in a different type system altogether, with its own rules.
-
-Separately from its type system, WebIDL defines a ["binding"](http://heycam.github.io/webidl/#ecmascript-binding) of the type system into JavaScript. This contains rules like: when you pass a JavaScript value to the JavaScript method that manifests a given WebIDL operation, how does that get converted into a WebIDL value? For example, a JavaScript `true` passed in the position of a WebIDL `boolean` argument becomes a WebIDL `true`. But, a JavaScript `true` passed in the position of a [WebIDL `unsigned long`](http://heycam.github.io/webidl/#idl-unsigned-long) becomes a WebIDL `1`. And so on.
-
-Finally, we have the actual implementation code. This is usually C++, although these days [some smart people are using Rust](https://github.com/servo/servo). The implementation, of course, has its own type system. So when they implement the WebIDL algorithms, they don't actually use WebIDL values, since those aren't "real" outside of specs. Instead, implementations apply the WebIDL binding rules in such a way as to convert incoming JavaScript values into C++ values. For example, if code in the browser called `doStuff(true, true)`, then the implementation code would eventually receive a C++ `bool` containing `true` and a C++ `uint32_t` containing `1`.
-
-The upside of all this is that implementations can abstract all the conversion logic away, letting WebIDL handle it, and focus on implementing the relevant methods in C++ with values of the correct type already provided. That is payoff of WebIDL, in a nutshell.
-
-And getting to that payoff is the goal of _this_ project—but for JavaScript implementations, instead of C++ ones. That is, this library is designed to make it easier for JavaScript developers to write functions that behave like a given WebIDL operation. So conceptually, the conversion pipeline, which in its general form is JavaScript values ↦ WebIDL values ↦ implementation-language values, in this case becomes JavaScript values ↦ WebIDL values ↦ JavaScript values. And that intermediate step is where all the logic is performed: a JavaScript `true` becomes a WebIDL `1` in an unsigned long context, which then becomes a JavaScript `1`.
-
-## Don't Use This
-
-Seriously, why would you ever use this? You really shouldn't. WebIDL is … not great, and you shouldn't be emulating its semantics. If you're looking for a generic argument-processing library, you should find one with better rules than those from WebIDL. In general, your JavaScript should not be trying to become more like WebIDL; if anything, we should fix WebIDL to make it more like JavaScript.
-
-The _only_ people who should use this are those trying to create faithful implementations (or polyfills) of web platform interfaces defined in WebIDL.
diff --git a/includes/search/node_modules/webidl-conversions/lib/index.js b/includes/search/node_modules/webidl-conversions/lib/index.js
deleted file mode 100644
index c5153a3..0000000
--- a/includes/search/node_modules/webidl-conversions/lib/index.js
+++ /dev/null
@@ -1,189 +0,0 @@
-"use strict";
-
-var conversions = {};
-module.exports = conversions;
-
-function sign(x) {
- return x < 0 ? -1 : 1;
-}
-
-function evenRound(x) {
- // Round x to the nearest integer, choosing the even integer if it lies halfway between two.
- if ((x % 1) === 0.5 && (x & 1) === 0) { // [even number].5; round down (i.e. floor)
- return Math.floor(x);
- } else {
- return Math.round(x);
- }
-}
-
-function createNumberConversion(bitLength, typeOpts) {
- if (!typeOpts.unsigned) {
- --bitLength;
- }
- const lowerBound = typeOpts.unsigned ? 0 : -Math.pow(2, bitLength);
- const upperBound = Math.pow(2, bitLength) - 1;
-
- const moduloVal = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength) : Math.pow(2, bitLength);
- const moduloBound = typeOpts.moduloBitLength ? Math.pow(2, typeOpts.moduloBitLength - 1) : Math.pow(2, bitLength - 1);
-
- return function(V, opts) {
- if (!opts) opts = {};
-
- let x = +V;
-
- if (opts.enforceRange) {
- if (!Number.isFinite(x)) {
- throw new TypeError("Argument is not a finite number");
- }
-
- x = sign(x) * Math.floor(Math.abs(x));
- if (x < lowerBound || x > upperBound) {
- throw new TypeError("Argument is not in byte range");
- }
-
- return x;
- }
-
- if (!isNaN(x) && opts.clamp) {
- x = evenRound(x);
-
- if (x < lowerBound) x = lowerBound;
- if (x > upperBound) x = upperBound;
- return x;
- }
-
- if (!Number.isFinite(x) || x === 0) {
- return 0;
- }
-
- x = sign(x) * Math.floor(Math.abs(x));
- x = x % moduloVal;
-
- if (!typeOpts.unsigned && x >= moduloBound) {
- return x - moduloVal;
- } else if (typeOpts.unsigned) {
- if (x < 0) {
- x += moduloVal;
- } else if (x === -0) { // don't return negative zero
- return 0;
- }
- }
-
- return x;
- }
-}
-
-conversions["void"] = function () {
- return undefined;
-};
-
-conversions["boolean"] = function (val) {
- return !!val;
-};
-
-conversions["byte"] = createNumberConversion(8, { unsigned: false });
-conversions["octet"] = createNumberConversion(8, { unsigned: true });
-
-conversions["short"] = createNumberConversion(16, { unsigned: false });
-conversions["unsigned short"] = createNumberConversion(16, { unsigned: true });
-
-conversions["long"] = createNumberConversion(32, { unsigned: false });
-conversions["unsigned long"] = createNumberConversion(32, { unsigned: true });
-
-conversions["long long"] = createNumberConversion(32, { unsigned: false, moduloBitLength: 64 });
-conversions["unsigned long long"] = createNumberConversion(32, { unsigned: true, moduloBitLength: 64 });
-
-conversions["double"] = function (V) {
- const x = +V;
-
- if (!Number.isFinite(x)) {
- throw new TypeError("Argument is not a finite floating-point value");
- }
-
- return x;
-};
-
-conversions["unrestricted double"] = function (V) {
- const x = +V;
-
- if (isNaN(x)) {
- throw new TypeError("Argument is NaN");
- }
-
- return x;
-};
-
-// not quite valid, but good enough for JS
-conversions["float"] = conversions["double"];
-conversions["unrestricted float"] = conversions["unrestricted double"];
-
-conversions["DOMString"] = function (V, opts) {
- if (!opts) opts = {};
-
- if (opts.treatNullAsEmptyString && V === null) {
- return "";
- }
-
- return String(V);
-};
-
-conversions["ByteString"] = function (V, opts) {
- const x = String(V);
- let c = undefined;
- for (let i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {
- if (c > 255) {
- throw new TypeError("Argument is not a valid bytestring");
- }
- }
-
- return x;
-};
-
-conversions["USVString"] = function (V) {
- const S = String(V);
- const n = S.length;
- const U = [];
- for (let i = 0; i < n; ++i) {
- const c = S.charCodeAt(i);
- if (c < 0xD800 || c > 0xDFFF) {
- U.push(String.fromCodePoint(c));
- } else if (0xDC00 <= c && c <= 0xDFFF) {
- U.push(String.fromCodePoint(0xFFFD));
- } else {
- if (i === n - 1) {
- U.push(String.fromCodePoint(0xFFFD));
- } else {
- const d = S.charCodeAt(i + 1);
- if (0xDC00 <= d && d <= 0xDFFF) {
- const a = c & 0x3FF;
- const b = d & 0x3FF;
- U.push(String.fromCodePoint((2 << 15) + (2 << 9) * a + b));
- ++i;
- } else {
- U.push(String.fromCodePoint(0xFFFD));
- }
- }
- }
- }
-
- return U.join('');
-};
-
-conversions["Date"] = function (V, opts) {
- if (!(V instanceof Date)) {
- throw new TypeError("Argument is not a Date object");
- }
- if (isNaN(V)) {
- return undefined;
- }
-
- return V;
-};
-
-conversions["RegExp"] = function (V, opts) {
- if (!(V instanceof RegExp)) {
- V = new RegExp(V);
- }
-
- return V;
-};
diff --git a/includes/search/node_modules/webidl-conversions/package.json b/includes/search/node_modules/webidl-conversions/package.json
deleted file mode 100644
index c31bc07..0000000
--- a/includes/search/node_modules/webidl-conversions/package.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "name": "webidl-conversions",
- "version": "3.0.1",
- "description": "Implements the WebIDL algorithms for converting to and from JavaScript values",
- "main": "lib/index.js",
- "scripts": {
- "test": "mocha test/*.js"
- },
- "repository": "jsdom/webidl-conversions",
- "keywords": [
- "webidl",
- "web",
- "types"
- ],
- "files": [
- "lib/"
- ],
- "author": "Domenic Denicola <d@domenic.me> (https://domenic.me/)",
- "license": "BSD-2-Clause",
- "devDependencies": {
- "mocha": "^1.21.4"
- }
-}
diff --git a/includes/search/node_modules/whatwg-url/LICENSE.txt b/includes/search/node_modules/whatwg-url/LICENSE.txt
deleted file mode 100644
index 54dfac3..0000000
--- a/includes/search/node_modules/whatwg-url/LICENSE.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015–2016 Sebastian Mayr
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/whatwg-url/README.md b/includes/search/node_modules/whatwg-url/README.md
deleted file mode 100644
index 4347a7f..0000000
--- a/includes/search/node_modules/whatwg-url/README.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# whatwg-url
-
-whatwg-url is a full implementation of the WHATWG [URL Standard](https://url.spec.whatwg.org/). It can be used standalone, but it also exposes a lot of the internal algorithms that are useful for integrating a URL parser into a project like [jsdom](https://github.com/tmpvar/jsdom).
-
-## Current Status
-
-whatwg-url is currently up to date with the URL spec up to commit [a62223](https://github.com/whatwg/url/commit/a622235308342c9adc7fc2fd1659ff059f7d5e2a).
-
-## API
-
-### The `URL` Constructor
-
-The main API is the [`URL`](https://url.spec.whatwg.org/#url) export, which follows the spec's behavior in all ways (including e.g. `USVString` conversion). Most consumers of this library will want to use this.
-
-### Low-level URL Standard API
-
-The following methods are exported for use by places like jsdom that need to implement things like [`HTMLHyperlinkElementUtils`](https://html.spec.whatwg.org/#htmlhyperlinkelementutils). They operate on or return an "internal URL" or ["URL record"](https://url.spec.whatwg.org/#concept-url) type.
-
-- [URL parser](https://url.spec.whatwg.org/#concept-url-parser): `parseURL(input, { baseURL, encodingOverride })`
-- [Basic URL parser](https://url.spec.whatwg.org/#concept-basic-url-parser): `basicURLParse(input, { baseURL, encodingOverride, url, stateOverride })`
-- [URL serializer](https://url.spec.whatwg.org/#concept-url-serializer): `serializeURL(urlRecord, excludeFragment)`
-- [Host serializer](https://url.spec.whatwg.org/#concept-host-serializer): `serializeHost(hostFromURLRecord)`
-- [Serialize an integer](https://url.spec.whatwg.org/#serialize-an-integer): `serializeInteger(number)`
-- [Origin](https://url.spec.whatwg.org/#concept-url-origin) [serializer](https://html.spec.whatwg.org/multipage/browsers.html#serialization-of-an-origin): `serializeURLOrigin(urlRecord)`
-- [Set the username](https://url.spec.whatwg.org/#set-the-username): `setTheUsername(urlRecord, usernameString)`
-- [Set the password](https://url.spec.whatwg.org/#set-the-password): `setThePassword(urlRecord, passwordString)`
-- [Cannot have a username/password/port](https://url.spec.whatwg.org/#cannot-have-a-username-password-port): `cannotHaveAUsernamePasswordPort(urlRecord)`
-
-The `stateOverride` parameter is one of the following strings:
-
-- [`"scheme start"`](https://url.spec.whatwg.org/#scheme-start-state)
-- [`"scheme"`](https://url.spec.whatwg.org/#scheme-state)
-- [`"no scheme"`](https://url.spec.whatwg.org/#no-scheme-state)
-- [`"special relative or authority"`](https://url.spec.whatwg.org/#special-relative-or-authority-state)
-- [`"path or authority"`](https://url.spec.whatwg.org/#path-or-authority-state)
-- [`"relative"`](https://url.spec.whatwg.org/#relative-state)
-- [`"relative slash"`](https://url.spec.whatwg.org/#relative-slash-state)
-- [`"special authority slashes"`](https://url.spec.whatwg.org/#special-authority-slashes-state)
-- [`"special authority ignore slashes"`](https://url.spec.whatwg.org/#special-authority-ignore-slashes-state)
-- [`"authority"`](https://url.spec.whatwg.org/#authority-state)
-- [`"host"`](https://url.spec.whatwg.org/#host-state)
-- [`"hostname"`](https://url.spec.whatwg.org/#hostname-state)
-- [`"port"`](https://url.spec.whatwg.org/#port-state)
-- [`"file"`](https://url.spec.whatwg.org/#file-state)
-- [`"file slash"`](https://url.spec.whatwg.org/#file-slash-state)
-- [`"file host"`](https://url.spec.whatwg.org/#file-host-state)
-- [`"path start"`](https://url.spec.whatwg.org/#path-start-state)
-- [`"path"`](https://url.spec.whatwg.org/#path-state)
-- [`"cannot-be-a-base-URL path"`](https://url.spec.whatwg.org/#cannot-be-a-base-url-path-state)
-- [`"query"`](https://url.spec.whatwg.org/#query-state)
-- [`"fragment"`](https://url.spec.whatwg.org/#fragment-state)
-
-The URL record type has the following API:
-
-- [`scheme`](https://url.spec.whatwg.org/#concept-url-scheme)
-- [`username`](https://url.spec.whatwg.org/#concept-url-username)
-- [`password`](https://url.spec.whatwg.org/#concept-url-password)
-- [`host`](https://url.spec.whatwg.org/#concept-url-host)
-- [`port`](https://url.spec.whatwg.org/#concept-url-port)
-- [`path`](https://url.spec.whatwg.org/#concept-url-path) (as an array)
-- [`query`](https://url.spec.whatwg.org/#concept-url-query)
-- [`fragment`](https://url.spec.whatwg.org/#concept-url-fragment)
-- [`cannotBeABaseURL`](https://url.spec.whatwg.org/#url-cannot-be-a-base-url-flag) (as a boolean)
-
-These properties should be treated with care, as in general changing them will cause the URL record to be in an inconsistent state until the appropriate invocation of `basicURLParse` is used to fix it up. You can see examples of this in the URL Standard, where there are many step sequences like "4. Set context object’s url’s fragment to the empty string. 5. Basic URL parse _input_ with context object’s url as _url_ and fragment state as _state override_." In between those two steps, a URL record is in an unusable state.
-
-The return value of "failure" in the spec is represented by the string `"failure"`. That is, functions like `parseURL` and `basicURLParse` can return _either_ a URL record _or_ the string `"failure"`.
diff --git a/includes/search/node_modules/whatwg-url/lib/URL-impl.js b/includes/search/node_modules/whatwg-url/lib/URL-impl.js
deleted file mode 100644
index dc7452c..0000000
--- a/includes/search/node_modules/whatwg-url/lib/URL-impl.js
+++ /dev/null
@@ -1,200 +0,0 @@
-"use strict";
-const usm = require("./url-state-machine");
-
-exports.implementation = class URLImpl {
- constructor(constructorArgs) {
- const url = constructorArgs[0];
- const base = constructorArgs[1];
-
- let parsedBase = null;
- if (base !== undefined) {
- parsedBase = usm.basicURLParse(base);
- if (parsedBase === "failure") {
- throw new TypeError("Invalid base URL");
- }
- }
-
- const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });
- if (parsedURL === "failure") {
- throw new TypeError("Invalid URL");
- }
-
- this._url = parsedURL;
-
- // TODO: query stuff
- }
-
- get href() {
- return usm.serializeURL(this._url);
- }
-
- set href(v) {
- const parsedURL = usm.basicURLParse(v);
- if (parsedURL === "failure") {
- throw new TypeError("Invalid URL");
- }
-
- this._url = parsedURL;
- }
-
- get origin() {
- return usm.serializeURLOrigin(this._url);
- }
-
- get protocol() {
- return this._url.scheme + ":";
- }
-
- set protocol(v) {
- usm.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" });
- }
-
- get username() {
- return this._url.username;
- }
-
- set username(v) {
- if (usm.cannotHaveAUsernamePasswordPort(this._url)) {
- return;
- }
-
- usm.setTheUsername(this._url, v);
- }
-
- get password() {
- return this._url.password;
- }
-
- set password(v) {
- if (usm.cannotHaveAUsernamePasswordPort(this._url)) {
- return;
- }
-
- usm.setThePassword(this._url, v);
- }
-
- get host() {
- const url = this._url;
-
- if (url.host === null) {
- return "";
- }
-
- if (url.port === null) {
- return usm.serializeHost(url.host);
- }
-
- return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port);
- }
-
- set host(v) {
- if (this._url.cannotBeABaseURL) {
- return;
- }
-
- usm.basicURLParse(v, { url: this._url, stateOverride: "host" });
- }
-
- get hostname() {
- if (this._url.host === null) {
- return "";
- }
-
- return usm.serializeHost(this._url.host);
- }
-
- set hostname(v) {
- if (this._url.cannotBeABaseURL) {
- return;
- }
-
- usm.basicURLParse(v, { url: this._url, stateOverride: "hostname" });
- }
-
- get port() {
- if (this._url.port === null) {
- return "";
- }
-
- return usm.serializeInteger(this._url.port);
- }
-
- set port(v) {
- if (usm.cannotHaveAUsernamePasswordPort(this._url)) {
- return;
- }
-
- if (v === "") {
- this._url.port = null;
- } else {
- usm.basicURLParse(v, { url: this._url, stateOverride: "port" });
- }
- }
-
- get pathname() {
- if (this._url.cannotBeABaseURL) {
- return this._url.path[0];
- }
-
- if (this._url.path.length === 0) {
- return "";
- }
-
- return "/" + this._url.path.join("/");
- }
-
- set pathname(v) {
- if (this._url.cannotBeABaseURL) {
- return;
- }
-
- this._url.path = [];
- usm.basicURLParse(v, { url: this._url, stateOverride: "path start" });
- }
-
- get search() {
- if (this._url.query === null || this._url.query === "") {
- return "";
- }
-
- return "?" + this._url.query;
- }
-
- set search(v) {
- // TODO: query stuff
-
- const url = this._url;
-
- if (v === "") {
- url.query = null;
- return;
- }
-
- const input = v[0] === "?" ? v.substring(1) : v;
- url.query = "";
- usm.basicURLParse(input, { url, stateOverride: "query" });
- }
-
- get hash() {
- if (this._url.fragment === null || this._url.fragment === "") {
- return "";
- }
-
- return "#" + this._url.fragment;
- }
-
- set hash(v) {
- if (v === "") {
- this._url.fragment = null;
- return;
- }
-
- const input = v[0] === "#" ? v.substring(1) : v;
- this._url.fragment = "";
- usm.basicURLParse(input, { url: this._url, stateOverride: "fragment" });
- }
-
- toJSON() {
- return this.href;
- }
-};
diff --git a/includes/search/node_modules/whatwg-url/lib/URL.js b/includes/search/node_modules/whatwg-url/lib/URL.js
deleted file mode 100644
index 78c7207..0000000
--- a/includes/search/node_modules/whatwg-url/lib/URL.js
+++ /dev/null
@@ -1,196 +0,0 @@
-"use strict";
-
-const conversions = require("webidl-conversions");
-const utils = require("./utils.js");
-const Impl = require(".//URL-impl.js");
-
-const impl = utils.implSymbol;
-
-function URL(url) {
- if (!this || this[impl] || !(this instanceof URL)) {
- throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");
- }
- if (arguments.length < 1) {
- throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present.");
- }
- const args = [];
- for (let i = 0; i < arguments.length && i < 2; ++i) {
- args[i] = arguments[i];
- }
- args[0] = conversions["USVString"](args[0]);
- if (args[1] !== undefined) {
- args[1] = conversions["USVString"](args[1]);
- }
-
- module.exports.setup(this, args);
-}
-
-URL.prototype.toJSON = function toJSON() {
- if (!this || !module.exports.is(this)) {
- throw new TypeError("Illegal invocation");
- }
- const args = [];
- for (let i = 0; i < arguments.length && i < 0; ++i) {
- args[i] = arguments[i];
- }
- return this[impl].toJSON.apply(this[impl], args);
-};
-Object.defineProperty(URL.prototype, "href", {
- get() {
- return this[impl].href;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].href = V;
- },
- enumerable: true,
- configurable: true
-});
-
-URL.prototype.toString = function () {
- if (!this || !module.exports.is(this)) {
- throw new TypeError("Illegal invocation");
- }
- return this.href;
-};
-
-Object.defineProperty(URL.prototype, "origin", {
- get() {
- return this[impl].origin;
- },
- enumerable: true,
- configurable: true
-});
-
-Object.defineProperty(URL.prototype, "protocol", {
- get() {
- return this[impl].protocol;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].protocol = V;
- },
- enumerable: true,
- configurable: true
-});
-
-Object.defineProperty(URL.prototype, "username", {
- get() {
- return this[impl].username;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].username = V;
- },
- enumerable: true,
- configurable: true
-});
-
-Object.defineProperty(URL.prototype, "password", {
- get() {
- return this[impl].password;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].password = V;
- },
- enumerable: true,
- configurable: true
-});
-
-Object.defineProperty(URL.prototype, "host", {
- get() {
- return this[impl].host;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].host = V;
- },
- enumerable: true,
- configurable: true
-});
-
-Object.defineProperty(URL.prototype, "hostname", {
- get() {
- return this[impl].hostname;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].hostname = V;
- },
- enumerable: true,
- configurable: true
-});
-
-Object.defineProperty(URL.prototype, "port", {
- get() {
- return this[impl].port;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].port = V;
- },
- enumerable: true,
- configurable: true
-});
-
-Object.defineProperty(URL.prototype, "pathname", {
- get() {
- return this[impl].pathname;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].pathname = V;
- },
- enumerable: true,
- configurable: true
-});
-
-Object.defineProperty(URL.prototype, "search", {
- get() {
- return this[impl].search;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].search = V;
- },
- enumerable: true,
- configurable: true
-});
-
-Object.defineProperty(URL.prototype, "hash", {
- get() {
- return this[impl].hash;
- },
- set(V) {
- V = conversions["USVString"](V);
- this[impl].hash = V;
- },
- enumerable: true,
- configurable: true
-});
-
-
-module.exports = {
- is(obj) {
- return !!obj && obj[impl] instanceof Impl.implementation;
- },
- create(constructorArgs, privateData) {
- let obj = Object.create(URL.prototype);
- this.setup(obj, constructorArgs, privateData);
- return obj;
- },
- setup(obj, constructorArgs, privateData) {
- if (!privateData) privateData = {};
- privateData.wrapper = obj;
-
- obj[impl] = new Impl.implementation(constructorArgs, privateData);
- obj[impl][utils.wrapperSymbol] = obj;
- },
- interface: URL,
- expose: {
- Window: { URL: URL },
- Worker: { URL: URL }
- }
-};
-
diff --git a/includes/search/node_modules/whatwg-url/lib/public-api.js b/includes/search/node_modules/whatwg-url/lib/public-api.js
deleted file mode 100644
index 932dcad..0000000
--- a/includes/search/node_modules/whatwg-url/lib/public-api.js
+++ /dev/null
@@ -1,11 +0,0 @@
-"use strict";
-
-exports.URL = require("./URL").interface;
-exports.serializeURL = require("./url-state-machine").serializeURL;
-exports.serializeURLOrigin = require("./url-state-machine").serializeURLOrigin;
-exports.basicURLParse = require("./url-state-machine").basicURLParse;
-exports.setTheUsername = require("./url-state-machine").setTheUsername;
-exports.setThePassword = require("./url-state-machine").setThePassword;
-exports.serializeHost = require("./url-state-machine").serializeHost;
-exports.serializeInteger = require("./url-state-machine").serializeInteger;
-exports.parseURL = require("./url-state-machine").parseURL;
diff --git a/includes/search/node_modules/whatwg-url/lib/url-state-machine.js b/includes/search/node_modules/whatwg-url/lib/url-state-machine.js
deleted file mode 100644
index c25dbc2..0000000
--- a/includes/search/node_modules/whatwg-url/lib/url-state-machine.js
+++ /dev/null
@@ -1,1297 +0,0 @@
-"use strict";
-const punycode = require("punycode");
-const tr46 = require("tr46");
-
-const specialSchemes = {
- ftp: 21,
- file: null,
- gopher: 70,
- http: 80,
- https: 443,
- ws: 80,
- wss: 443
-};
-
-const failure = Symbol("failure");
-
-function countSymbols(str) {
- return punycode.ucs2.decode(str).length;
-}
-
-function at(input, idx) {
- const c = input[idx];
- return isNaN(c) ? undefined : String.fromCodePoint(c);
-}
-
-function isASCIIDigit(c) {
- return c >= 0x30 && c <= 0x39;
-}
-
-function isASCIIAlpha(c) {
- return (c >= 0x41 && c <= 0x5A) || (c >= 0x61 && c <= 0x7A);
-}
-
-function isASCIIAlphanumeric(c) {
- return isASCIIAlpha(c) || isASCIIDigit(c);
-}
-
-function isASCIIHex(c) {
- return isASCIIDigit(c) || (c >= 0x41 && c <= 0x46) || (c >= 0x61 && c <= 0x66);
-}
-
-function isSingleDot(buffer) {
- return buffer === "." || buffer.toLowerCase() === "%2e";
-}
-
-function isDoubleDot(buffer) {
- buffer = buffer.toLowerCase();
- return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e";
-}
-
-function isWindowsDriveLetterCodePoints(cp1, cp2) {
- return isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);
-}
-
-function isWindowsDriveLetterString(string) {
- return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|");
-}
-
-function isNormalizedWindowsDriveLetterString(string) {
- return string.length === 2 && isASCIIAlpha(string.codePointAt(0)) && string[1] === ":";
-}
-
-function containsForbiddenHostCodePoint(string) {
- return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1;
-}
-
-function containsForbiddenHostCodePointExcludingPercent(string) {
- return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1;
-}
-
-function isSpecialScheme(scheme) {
- return specialSchemes[scheme] !== undefined;
-}
-
-function isSpecial(url) {
- return isSpecialScheme(url.scheme);
-}
-
-function defaultPort(scheme) {
- return specialSchemes[scheme];
-}
-
-function percentEncode(c) {
- let hex = c.toString(16).toUpperCase();
- if (hex.length === 1) {
- hex = "0" + hex;
- }
-
- return "%" + hex;
-}
-
-function utf8PercentEncode(c) {
- const buf = new Buffer(c);
-
- let str = "";
-
- for (let i = 0; i < buf.length; ++i) {
- str += percentEncode(buf[i]);
- }
-
- return str;
-}
-
-function utf8PercentDecode(str) {
- const input = new Buffer(str);
- const output = [];
- for (let i = 0; i < input.length; ++i) {
- if (input[i] !== 37) {
- output.push(input[i]);
- } else if (input[i] === 37 && isASCIIHex(input[i + 1]) && isASCIIHex(input[i + 2])) {
- output.push(parseInt(input.slice(i + 1, i + 3).toString(), 16));
- i += 2;
- } else {
- output.push(input[i]);
- }
- }
- return new Buffer(output).toString();
-}
-
-function isC0ControlPercentEncode(c) {
- return c <= 0x1F || c > 0x7E;
-}
-
-const extraPathPercentEncodeSet = new Set([32, 34, 35, 60, 62, 63, 96, 123, 125]);
-function isPathPercentEncode(c) {
- return isC0ControlPercentEncode(c) || extraPathPercentEncodeSet.has(c);
-}
-
-const extraUserinfoPercentEncodeSet =
- new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);
-function isUserinfoPercentEncode(c) {
- return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);
-}
-
-function percentEncodeChar(c, encodeSetPredicate) {
- const cStr = String.fromCodePoint(c);
-
- if (encodeSetPredicate(c)) {
- return utf8PercentEncode(cStr);
- }
-
- return cStr;
-}
-
-function parseIPv4Number(input) {
- let R = 10;
-
- if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") {
- input = input.substring(2);
- R = 16;
- } else if (input.length >= 2 && input.charAt(0) === "0") {
- input = input.substring(1);
- R = 8;
- }
-
- if (input === "") {
- return 0;
- }
-
- const regex = R === 10 ? /[^0-9]/ : (R === 16 ? /[^0-9A-Fa-f]/ : /[^0-7]/);
- if (regex.test(input)) {
- return failure;
- }
-
- return parseInt(input, R);
-}
-
-function parseIPv4(input) {
- const parts = input.split(".");
- if (parts[parts.length - 1] === "") {
- if (parts.length > 1) {
- parts.pop();
- }
- }
-
- if (parts.length > 4) {
- return input;
- }
-
- const numbers = [];
- for (const part of parts) {
- if (part === "") {
- return input;
- }
- const n = parseIPv4Number(part);
- if (n === failure) {
- return input;
- }
-
- numbers.push(n);
- }
-
- for (let i = 0; i < numbers.length - 1; ++i) {
- if (numbers[i] > 255) {
- return failure;
- }
- }
- if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {
- return failure;
- }
-
- let ipv4 = numbers.pop();
- let counter = 0;
-
- for (const n of numbers) {
- ipv4 += n * Math.pow(256, 3 - counter);
- ++counter;
- }
-
- return ipv4;
-}
-
-function serializeIPv4(address) {
- let output = "";
- let n = address;
-
- for (let i = 1; i <= 4; ++i) {
- output = String(n % 256) + output;
- if (i !== 4) {
- output = "." + output;
- }
- n = Math.floor(n / 256);
- }
-
- return output;
-}
-
-function parseIPv6(input) {
- const address = [0, 0, 0, 0, 0, 0, 0, 0];
- let pieceIndex = 0;
- let compress = null;
- let pointer = 0;
-
- input = punycode.ucs2.decode(input);
-
- if (input[pointer] === 58) {
- if (input[pointer + 1] !== 58) {
- return failure;
- }
-
- pointer += 2;
- ++pieceIndex;
- compress = pieceIndex;
- }
-
- while (pointer < input.length) {
- if (pieceIndex === 8) {
- return failure;
- }
-
- if (input[pointer] === 58) {
- if (compress !== null) {
- return failure;
- }
- ++pointer;
- ++pieceIndex;
- compress = pieceIndex;
- continue;
- }
-
- let value = 0;
- let length = 0;
-
- while (length < 4 && isASCIIHex(input[pointer])) {
- value = value * 0x10 + parseInt(at(input, pointer), 16);
- ++pointer;
- ++length;
- }
-
- if (input[pointer] === 46) {
- if (length === 0) {
- return failure;
- }
-
- pointer -= length;
-
- if (pieceIndex > 6) {
- return failure;
- }
-
- let numbersSeen = 0;
-
- while (input[pointer] !== undefined) {
- let ipv4Piece = null;
-
- if (numbersSeen > 0) {
- if (input[pointer] === 46 && numbersSeen < 4) {
- ++pointer;
- } else {
- return failure;
- }
- }
-
- if (!isASCIIDigit(input[pointer])) {
- return failure;
- }
-
- while (isASCIIDigit(input[pointer])) {
- const number = parseInt(at(input, pointer));
- if (ipv4Piece === null) {
- ipv4Piece = number;
- } else if (ipv4Piece === 0) {
- return failure;
- } else {
- ipv4Piece = ipv4Piece * 10 + number;
- }
- if (ipv4Piece > 255) {
- return failure;
- }
- ++pointer;
- }
-
- address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;
-
- ++numbersSeen;
-
- if (numbersSeen === 2 || numbersSeen === 4) {
- ++pieceIndex;
- }
- }
-
- if (numbersSeen !== 4) {
- return failure;
- }
-
- break;
- } else if (input[pointer] === 58) {
- ++pointer;
- if (input[pointer] === undefined) {
- return failure;
- }
- } else if (input[pointer] !== undefined) {
- return failure;
- }
-
- address[pieceIndex] = value;
- ++pieceIndex;
- }
-
- if (compress !== null) {
- let swaps = pieceIndex - compress;
- pieceIndex = 7;
- while (pieceIndex !== 0 && swaps > 0) {
- const temp = address[compress + swaps - 1];
- address[compress + swaps - 1] = address[pieceIndex];
- address[pieceIndex] = temp;
- --pieceIndex;
- --swaps;
- }
- } else if (compress === null && pieceIndex !== 8) {
- return failure;
- }
-
- return address;
-}
-
-function serializeIPv6(address) {
- let output = "";
- const seqResult = findLongestZeroSequence(address);
- const compress = seqResult.idx;
- let ignore0 = false;
-
- for (let pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {
- if (ignore0 && address[pieceIndex] === 0) {
- continue;
- } else if (ignore0) {
- ignore0 = false;
- }
-
- if (compress === pieceIndex) {
- const separator = pieceIndex === 0 ? "::" : ":";
- output += separator;
- ignore0 = true;
- continue;
- }
-
- output += address[pieceIndex].toString(16);
-
- if (pieceIndex !== 7) {
- output += ":";
- }
- }
-
- return output;
-}
-
-function parseHost(input, isSpecialArg) {
- if (input[0] === "[") {
- if (input[input.length - 1] !== "]") {
- return failure;
- }
-
- return parseIPv6(input.substring(1, input.length - 1));
- }
-
- if (!isSpecialArg) {
- return parseOpaqueHost(input);
- }
-
- const domain = utf8PercentDecode(input);
- const asciiDomain = tr46.toASCII(domain, false, tr46.PROCESSING_OPTIONS.NONTRANSITIONAL, false);
- if (asciiDomain === null) {
- return failure;
- }
-
- if (containsForbiddenHostCodePoint(asciiDomain)) {
- return failure;
- }
-
- const ipv4Host = parseIPv4(asciiDomain);
- if (typeof ipv4Host === "number" || ipv4Host === failure) {
- return ipv4Host;
- }
-
- return asciiDomain;
-}
-
-function parseOpaqueHost(input) {
- if (containsForbiddenHostCodePointExcludingPercent(input)) {
- return failure;
- }
-
- let output = "";
- const decoded = punycode.ucs2.decode(input);
- for (let i = 0; i < decoded.length; ++i) {
- output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);
- }
- return output;
-}
-
-function findLongestZeroSequence(arr) {
- let maxIdx = null;
- let maxLen = 1; // only find elements > 1
- let currStart = null;
- let currLen = 0;
-
- for (let i = 0; i < arr.length; ++i) {
- if (arr[i] !== 0) {
- if (currLen > maxLen) {
- maxIdx = currStart;
- maxLen = currLen;
- }
-
- currStart = null;
- currLen = 0;
- } else {
- if (currStart === null) {
- currStart = i;
- }
- ++currLen;
- }
- }
-
- // if trailing zeros
- if (currLen > maxLen) {
- maxIdx = currStart;
- maxLen = currLen;
- }
-
- return {
- idx: maxIdx,
- len: maxLen
- };
-}
-
-function serializeHost(host) {
- if (typeof host === "number") {
- return serializeIPv4(host);
- }
-
- // IPv6 serializer
- if (host instanceof Array) {
- return "[" + serializeIPv6(host) + "]";
- }
-
- return host;
-}
-
-function trimControlChars(url) {
- return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, "");
-}
-
-function trimTabAndNewline(url) {
- return url.replace(/\u0009|\u000A|\u000D/g, "");
-}
-
-function shortenPath(url) {
- const path = url.path;
- if (path.length === 0) {
- return;
- }
- if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {
- return;
- }
-
- path.pop();
-}
-
-function includesCredentials(url) {
- return url.username !== "" || url.password !== "";
-}
-
-function cannotHaveAUsernamePasswordPort(url) {
- return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file";
-}
-
-function isNormalizedWindowsDriveLetter(string) {
- return /^[A-Za-z]:$/.test(string);
-}
-
-function URLStateMachine(input, base, encodingOverride, url, stateOverride) {
- this.pointer = 0;
- this.input = input;
- this.base = base || null;
- this.encodingOverride = encodingOverride || "utf-8";
- this.stateOverride = stateOverride;
- this.url = url;
- this.failure = false;
- this.parseError = false;
-
- if (!this.url) {
- this.url = {
- scheme: "",
- username: "",
- password: "",
- host: null,
- port: null,
- path: [],
- query: null,
- fragment: null,
-
- cannotBeABaseURL: false
- };
-
- const res = trimControlChars(this.input);
- if (res !== this.input) {
- this.parseError = true;
- }
- this.input = res;
- }
-
- const res = trimTabAndNewline(this.input);
- if (res !== this.input) {
- this.parseError = true;
- }
- this.input = res;
-
- this.state = stateOverride || "scheme start";
-
- this.buffer = "";
- this.atFlag = false;
- this.arrFlag = false;
- this.passwordTokenSeenFlag = false;
-
- this.input = punycode.ucs2.decode(this.input);
-
- for (; this.pointer <= this.input.length; ++this.pointer) {
- const c = this.input[this.pointer];
- const cStr = isNaN(c) ? undefined : String.fromCodePoint(c);
-
- // exec state machine
- const ret = this["parse " + this.state](c, cStr);
- if (!ret) {
- break; // terminate algorithm
- } else if (ret === failure) {
- this.failure = true;
- break;
- }
- }
-}
-
-URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) {
- if (isASCIIAlpha(c)) {
- this.buffer += cStr.toLowerCase();
- this.state = "scheme";
- } else if (!this.stateOverride) {
- this.state = "no scheme";
- --this.pointer;
- } else {
- this.parseError = true;
- return failure;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) {
- if (isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {
- this.buffer += cStr.toLowerCase();
- } else if (c === 58) {
- if (this.stateOverride) {
- if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {
- return false;
- }
-
- if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {
- return false;
- }
-
- if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") {
- return false;
- }
-
- if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) {
- return false;
- }
- }
- this.url.scheme = this.buffer;
- this.buffer = "";
- if (this.stateOverride) {
- return false;
- }
- if (this.url.scheme === "file") {
- if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {
- this.parseError = true;
- }
- this.state = "file";
- } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {
- this.state = "special relative or authority";
- } else if (isSpecial(this.url)) {
- this.state = "special authority slashes";
- } else if (this.input[this.pointer + 1] === 47) {
- this.state = "path or authority";
- ++this.pointer;
- } else {
- this.url.cannotBeABaseURL = true;
- this.url.path.push("");
- this.state = "cannot-be-a-base-URL path";
- }
- } else if (!this.stateOverride) {
- this.buffer = "";
- this.state = "no scheme";
- this.pointer = -1;
- } else {
- this.parseError = true;
- return failure;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) {
- if (this.base === null || (this.base.cannotBeABaseURL && c !== 35)) {
- return failure;
- } else if (this.base.cannotBeABaseURL && c === 35) {
- this.url.scheme = this.base.scheme;
- this.url.path = this.base.path.slice();
- this.url.query = this.base.query;
- this.url.fragment = "";
- this.url.cannotBeABaseURL = true;
- this.state = "fragment";
- } else if (this.base.scheme === "file") {
- this.state = "file";
- --this.pointer;
- } else {
- this.state = "relative";
- --this.pointer;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) {
- if (c === 47 && this.input[this.pointer + 1] === 47) {
- this.state = "special authority ignore slashes";
- ++this.pointer;
- } else {
- this.parseError = true;
- this.state = "relative";
- --this.pointer;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) {
- if (c === 47) {
- this.state = "authority";
- } else {
- this.state = "path";
- --this.pointer;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse relative"] = function parseRelative(c) {
- this.url.scheme = this.base.scheme;
- if (isNaN(c)) {
- this.url.username = this.base.username;
- this.url.password = this.base.password;
- this.url.host = this.base.host;
- this.url.port = this.base.port;
- this.url.path = this.base.path.slice();
- this.url.query = this.base.query;
- } else if (c === 47) {
- this.state = "relative slash";
- } else if (c === 63) {
- this.url.username = this.base.username;
- this.url.password = this.base.password;
- this.url.host = this.base.host;
- this.url.port = this.base.port;
- this.url.path = this.base.path.slice();
- this.url.query = "";
- this.state = "query";
- } else if (c === 35) {
- this.url.username = this.base.username;
- this.url.password = this.base.password;
- this.url.host = this.base.host;
- this.url.port = this.base.port;
- this.url.path = this.base.path.slice();
- this.url.query = this.base.query;
- this.url.fragment = "";
- this.state = "fragment";
- } else if (isSpecial(this.url) && c === 92) {
- this.parseError = true;
- this.state = "relative slash";
- } else {
- this.url.username = this.base.username;
- this.url.password = this.base.password;
- this.url.host = this.base.host;
- this.url.port = this.base.port;
- this.url.path = this.base.path.slice(0, this.base.path.length - 1);
-
- this.state = "path";
- --this.pointer;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) {
- if (isSpecial(this.url) && (c === 47 || c === 92)) {
- if (c === 92) {
- this.parseError = true;
- }
- this.state = "special authority ignore slashes";
- } else if (c === 47) {
- this.state = "authority";
- } else {
- this.url.username = this.base.username;
- this.url.password = this.base.password;
- this.url.host = this.base.host;
- this.url.port = this.base.port;
- this.state = "path";
- --this.pointer;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) {
- if (c === 47 && this.input[this.pointer + 1] === 47) {
- this.state = "special authority ignore slashes";
- ++this.pointer;
- } else {
- this.parseError = true;
- this.state = "special authority ignore slashes";
- --this.pointer;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) {
- if (c !== 47 && c !== 92) {
- this.state = "authority";
- --this.pointer;
- } else {
- this.parseError = true;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) {
- if (c === 64) {
- this.parseError = true;
- if (this.atFlag) {
- this.buffer = "%40" + this.buffer;
- }
- this.atFlag = true;
-
- // careful, this is based on buffer and has its own pointer (this.pointer != pointer) and inner chars
- const len = countSymbols(this.buffer);
- for (let pointer = 0; pointer < len; ++pointer) {
- const codePoint = this.buffer.codePointAt(pointer);
-
- if (codePoint === 58 && !this.passwordTokenSeenFlag) {
- this.passwordTokenSeenFlag = true;
- continue;
- }
- const encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);
- if (this.passwordTokenSeenFlag) {
- this.url.password += encodedCodePoints;
- } else {
- this.url.username += encodedCodePoints;
- }
- }
- this.buffer = "";
- } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||
- (isSpecial(this.url) && c === 92)) {
- if (this.atFlag && this.buffer === "") {
- this.parseError = true;
- return failure;
- }
- this.pointer -= countSymbols(this.buffer) + 1;
- this.buffer = "";
- this.state = "host";
- } else {
- this.buffer += cStr;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse hostname"] =
-URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) {
- if (this.stateOverride && this.url.scheme === "file") {
- --this.pointer;
- this.state = "file host";
- } else if (c === 58 && !this.arrFlag) {
- if (this.buffer === "") {
- this.parseError = true;
- return failure;
- }
-
- const host = parseHost(this.buffer, isSpecial(this.url));
- if (host === failure) {
- return failure;
- }
-
- this.url.host = host;
- this.buffer = "";
- this.state = "port";
- if (this.stateOverride === "hostname") {
- return false;
- }
- } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||
- (isSpecial(this.url) && c === 92)) {
- --this.pointer;
- if (isSpecial(this.url) && this.buffer === "") {
- this.parseError = true;
- return failure;
- } else if (this.stateOverride && this.buffer === "" &&
- (includesCredentials(this.url) || this.url.port !== null)) {
- this.parseError = true;
- return false;
- }
-
- const host = parseHost(this.buffer, isSpecial(this.url));
- if (host === failure) {
- return failure;
- }
-
- this.url.host = host;
- this.buffer = "";
- this.state = "path start";
- if (this.stateOverride) {
- return false;
- }
- } else {
- if (c === 91) {
- this.arrFlag = true;
- } else if (c === 93) {
- this.arrFlag = false;
- }
- this.buffer += cStr;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) {
- if (isASCIIDigit(c)) {
- this.buffer += cStr;
- } else if (isNaN(c) || c === 47 || c === 63 || c === 35 ||
- (isSpecial(this.url) && c === 92) ||
- this.stateOverride) {
- if (this.buffer !== "") {
- const port = parseInt(this.buffer);
- if (port > Math.pow(2, 16) - 1) {
- this.parseError = true;
- return failure;
- }
- this.url.port = port === defaultPort(this.url.scheme) ? null : port;
- this.buffer = "";
- }
- if (this.stateOverride) {
- return false;
- }
- this.state = "path start";
- --this.pointer;
- } else {
- this.parseError = true;
- return failure;
- }
-
- return true;
-};
-
-const fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);
-
-URLStateMachine.prototype["parse file"] = function parseFile(c) {
- this.url.scheme = "file";
-
- if (c === 47 || c === 92) {
- if (c === 92) {
- this.parseError = true;
- }
- this.state = "file slash";
- } else if (this.base !== null && this.base.scheme === "file") {
- if (isNaN(c)) {
- this.url.host = this.base.host;
- this.url.path = this.base.path.slice();
- this.url.query = this.base.query;
- } else if (c === 63) {
- this.url.host = this.base.host;
- this.url.path = this.base.path.slice();
- this.url.query = "";
- this.state = "query";
- } else if (c === 35) {
- this.url.host = this.base.host;
- this.url.path = this.base.path.slice();
- this.url.query = this.base.query;
- this.url.fragment = "";
- this.state = "fragment";
- } else {
- if (this.input.length - this.pointer - 1 === 0 || // remaining consists of 0 code points
- !isWindowsDriveLetterCodePoints(c, this.input[this.pointer + 1]) ||
- (this.input.length - this.pointer - 1 >= 2 && // remaining has at least 2 code points
- !fileOtherwiseCodePoints.has(this.input[this.pointer + 2]))) {
- this.url.host = this.base.host;
- this.url.path = this.base.path.slice();
- shortenPath(this.url);
- } else {
- this.parseError = true;
- }
-
- this.state = "path";
- --this.pointer;
- }
- } else {
- this.state = "path";
- --this.pointer;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) {
- if (c === 47 || c === 92) {
- if (c === 92) {
- this.parseError = true;
- }
- this.state = "file host";
- } else {
- if (this.base !== null && this.base.scheme === "file") {
- if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {
- this.url.path.push(this.base.path[0]);
- } else {
- this.url.host = this.base.host;
- }
- }
- this.state = "path";
- --this.pointer;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) {
- if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {
- --this.pointer;
- if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {
- this.parseError = true;
- this.state = "path";
- } else if (this.buffer === "") {
- this.url.host = "";
- if (this.stateOverride) {
- return false;
- }
- this.state = "path start";
- } else {
- let host = parseHost(this.buffer, isSpecial(this.url));
- if (host === failure) {
- return failure;
- }
- if (host === "localhost") {
- host = "";
- }
- this.url.host = host;
-
- if (this.stateOverride) {
- return false;
- }
-
- this.buffer = "";
- this.state = "path start";
- }
- } else {
- this.buffer += cStr;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse path start"] = function parsePathStart(c) {
- if (isSpecial(this.url)) {
- if (c === 92) {
- this.parseError = true;
- }
- this.state = "path";
-
- if (c !== 47 && c !== 92) {
- --this.pointer;
- }
- } else if (!this.stateOverride && c === 63) {
- this.url.query = "";
- this.state = "query";
- } else if (!this.stateOverride && c === 35) {
- this.url.fragment = "";
- this.state = "fragment";
- } else if (c !== undefined) {
- this.state = "path";
- if (c !== 47) {
- --this.pointer;
- }
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse path"] = function parsePath(c) {
- if (isNaN(c) || c === 47 || (isSpecial(this.url) && c === 92) ||
- (!this.stateOverride && (c === 63 || c === 35))) {
- if (isSpecial(this.url) && c === 92) {
- this.parseError = true;
- }
-
- if (isDoubleDot(this.buffer)) {
- shortenPath(this.url);
- if (c !== 47 && !(isSpecial(this.url) && c === 92)) {
- this.url.path.push("");
- }
- } else if (isSingleDot(this.buffer) && c !== 47 &&
- !(isSpecial(this.url) && c === 92)) {
- this.url.path.push("");
- } else if (!isSingleDot(this.buffer)) {
- if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {
- if (this.url.host !== "" && this.url.host !== null) {
- this.parseError = true;
- this.url.host = "";
- }
- this.buffer = this.buffer[0] + ":";
- }
- this.url.path.push(this.buffer);
- }
- this.buffer = "";
- if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) {
- while (this.url.path.length > 1 && this.url.path[0] === "") {
- this.parseError = true;
- this.url.path.shift();
- }
- }
- if (c === 63) {
- this.url.query = "";
- this.state = "query";
- }
- if (c === 35) {
- this.url.fragment = "";
- this.state = "fragment";
- }
- } else {
- // TODO: If c is not a URL code point and not "%", parse error.
-
- if (c === 37 &&
- (!isASCIIHex(this.input[this.pointer + 1]) ||
- !isASCIIHex(this.input[this.pointer + 2]))) {
- this.parseError = true;
- }
-
- this.buffer += percentEncodeChar(c, isPathPercentEncode);
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) {
- if (c === 63) {
- this.url.query = "";
- this.state = "query";
- } else if (c === 35) {
- this.url.fragment = "";
- this.state = "fragment";
- } else {
- // TODO: Add: not a URL code point
- if (!isNaN(c) && c !== 37) {
- this.parseError = true;
- }
-
- if (c === 37 &&
- (!isASCIIHex(this.input[this.pointer + 1]) ||
- !isASCIIHex(this.input[this.pointer + 2]))) {
- this.parseError = true;
- }
-
- if (!isNaN(c)) {
- this.url.path[0] = this.url.path[0] + percentEncodeChar(c, isC0ControlPercentEncode);
- }
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) {
- if (isNaN(c) || (!this.stateOverride && c === 35)) {
- if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") {
- this.encodingOverride = "utf-8";
- }
-
- const buffer = new Buffer(this.buffer); // TODO: Use encoding override instead
- for (let i = 0; i < buffer.length; ++i) {
- if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 ||
- buffer[i] === 0x3C || buffer[i] === 0x3E) {
- this.url.query += percentEncode(buffer[i]);
- } else {
- this.url.query += String.fromCodePoint(buffer[i]);
- }
- }
-
- this.buffer = "";
- if (c === 35) {
- this.url.fragment = "";
- this.state = "fragment";
- }
- } else {
- // TODO: If c is not a URL code point and not "%", parse error.
- if (c === 37 &&
- (!isASCIIHex(this.input[this.pointer + 1]) ||
- !isASCIIHex(this.input[this.pointer + 2]))) {
- this.parseError = true;
- }
-
- this.buffer += cStr;
- }
-
- return true;
-};
-
-URLStateMachine.prototype["parse fragment"] = function parseFragment(c) {
- if (isNaN(c)) { // do nothing
- } else if (c === 0x0) {
- this.parseError = true;
- } else {
- // TODO: If c is not a URL code point and not "%", parse error.
- if (c === 37 &&
- (!isASCIIHex(this.input[this.pointer + 1]) ||
- !isASCIIHex(this.input[this.pointer + 2]))) {
- this.parseError = true;
- }
-
- this.url.fragment += percentEncodeChar(c, isC0ControlPercentEncode);
- }
-
- return true;
-};
-
-function serializeURL(url, excludeFragment) {
- let output = url.scheme + ":";
- if (url.host !== null) {
- output += "//";
-
- if (url.username !== "" || url.password !== "") {
- output += url.username;
- if (url.password !== "") {
- output += ":" + url.password;
- }
- output += "@";
- }
-
- output += serializeHost(url.host);
-
- if (url.port !== null) {
- output += ":" + url.port;
- }
- } else if (url.host === null && url.scheme === "file") {
- output += "//";
- }
-
- if (url.cannotBeABaseURL) {
- output += url.path[0];
- } else {
- for (const string of url.path) {
- output += "/" + string;
- }
- }
-
- if (url.query !== null) {
- output += "?" + url.query;
- }
-
- if (!excludeFragment && url.fragment !== null) {
- output += "#" + url.fragment;
- }
-
- return output;
-}
-
-function serializeOrigin(tuple) {
- let result = tuple.scheme + "://";
- result += serializeHost(tuple.host);
-
- if (tuple.port !== null) {
- result += ":" + tuple.port;
- }
-
- return result;
-}
-
-module.exports.serializeURL = serializeURL;
-
-module.exports.serializeURLOrigin = function (url) {
- // https://url.spec.whatwg.org/#concept-url-origin
- switch (url.scheme) {
- case "blob":
- try {
- return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));
- } catch (e) {
- // serializing an opaque origin returns "null"
- return "null";
- }
- case "ftp":
- case "gopher":
- case "http":
- case "https":
- case "ws":
- case "wss":
- return serializeOrigin({
- scheme: url.scheme,
- host: url.host,
- port: url.port
- });
- case "file":
- // spec says "exercise to the reader", chrome says "file://"
- return "file://";
- default:
- // serializing an opaque origin returns "null"
- return "null";
- }
-};
-
-module.exports.basicURLParse = function (input, options) {
- if (options === undefined) {
- options = {};
- }
-
- const usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);
- if (usm.failure) {
- return "failure";
- }
-
- return usm.url;
-};
-
-module.exports.setTheUsername = function (url, username) {
- url.username = "";
- const decoded = punycode.ucs2.decode(username);
- for (let i = 0; i < decoded.length; ++i) {
- url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);
- }
-};
-
-module.exports.setThePassword = function (url, password) {
- url.password = "";
- const decoded = punycode.ucs2.decode(password);
- for (let i = 0; i < decoded.length; ++i) {
- url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);
- }
-};
-
-module.exports.serializeHost = serializeHost;
-
-module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;
-
-module.exports.serializeInteger = function (integer) {
- return String(integer);
-};
-
-module.exports.parseURL = function (input, options) {
- if (options === undefined) {
- options = {};
- }
-
- // We don't handle blobs, so this just delegates:
- return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });
-};
diff --git a/includes/search/node_modules/whatwg-url/lib/utils.js b/includes/search/node_modules/whatwg-url/lib/utils.js
deleted file mode 100644
index a562009..0000000
--- a/includes/search/node_modules/whatwg-url/lib/utils.js
+++ /dev/null
@@ -1,20 +0,0 @@
-"use strict";
-
-module.exports.mixin = function mixin(target, source) {
- const keys = Object.getOwnPropertyNames(source);
- for (let i = 0; i < keys.length; ++i) {
- Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));
- }
-};
-
-module.exports.wrapperSymbol = Symbol("wrapper");
-module.exports.implSymbol = Symbol("impl");
-
-module.exports.wrapperForImpl = function (impl) {
- return impl[module.exports.wrapperSymbol];
-};
-
-module.exports.implForWrapper = function (wrapper) {
- return wrapper[module.exports.implSymbol];
-};
-
diff --git a/includes/search/node_modules/whatwg-url/package.json b/includes/search/node_modules/whatwg-url/package.json
deleted file mode 100644
index fce35ae..0000000
--- a/includes/search/node_modules/whatwg-url/package.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "whatwg-url",
- "version": "5.0.0",
- "description": "An implementation of the WHATWG URL Standard's URL API and parsing machinery",
- "main": "lib/public-api.js",
- "files": [
- "lib/"
- ],
- "author": "Sebastian Mayr <github@smayr.name>",
- "license": "MIT",
- "repository": "jsdom/whatwg-url",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- },
- "devDependencies": {
- "eslint": "^2.6.0",
- "istanbul": "~0.4.3",
- "mocha": "^2.2.4",
- "recast": "~0.10.29",
- "request": "^2.55.0",
- "webidl2js": "^3.0.2"
- },
- "scripts": {
- "build": "node scripts/transform.js && node scripts/convert-idl.js",
- "coverage": "istanbul cover node_modules/mocha/bin/_mocha",
- "lint": "eslint .",
- "prepublish": "npm run build",
- "pretest": "node scripts/get-latest-platform-tests.js && npm run build",
- "test": "mocha"
- }
-}
diff --git a/includes/search/node_modules/wrap-ansi/index.js b/includes/search/node_modules/wrap-ansi/index.js
deleted file mode 100755
index d502255..0000000
--- a/includes/search/node_modules/wrap-ansi/index.js
+++ /dev/null
@@ -1,216 +0,0 @@
-'use strict';
-const stringWidth = require('string-width');
-const stripAnsi = require('strip-ansi');
-const ansiStyles = require('ansi-styles');
-
-const ESCAPES = new Set([
- '\u001B',
- '\u009B'
-]);
-
-const END_CODE = 39;
-
-const ANSI_ESCAPE_BELL = '\u0007';
-const ANSI_CSI = '[';
-const ANSI_OSC = ']';
-const ANSI_SGR_TERMINATOR = 'm';
-const ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
-
-const wrapAnsi = code => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
-const wrapAnsiHyperlink = uri => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${uri}${ANSI_ESCAPE_BELL}`;
-
-// Calculate the length of words split on ' ', ignoring
-// the extra characters added by ansi escape codes
-const wordLengths = string => string.split(' ').map(character => stringWidth(character));
-
-// Wrap a long word across multiple rows
-// Ansi escape codes do not count towards length
-const wrapWord = (rows, word, columns) => {
- const characters = [...word];
-
- let isInsideEscape = false;
- let isInsideLinkEscape = false;
- let visible = stringWidth(stripAnsi(rows[rows.length - 1]));
-
- for (const [index, character] of characters.entries()) {
- const characterLength = stringWidth(character);
-
- if (visible + characterLength <= columns) {
- rows[rows.length - 1] += character;
- } else {
- rows.push(character);
- visible = 0;
- }
-
- if (ESCAPES.has(character)) {
- isInsideEscape = true;
- isInsideLinkEscape = characters.slice(index + 1).join('').startsWith(ANSI_ESCAPE_LINK);
- }
-
- if (isInsideEscape) {
- if (isInsideLinkEscape) {
- if (character === ANSI_ESCAPE_BELL) {
- isInsideEscape = false;
- isInsideLinkEscape = false;
- }
- } else if (character === ANSI_SGR_TERMINATOR) {
- isInsideEscape = false;
- }
-
- continue;
- }
-
- visible += characterLength;
-
- if (visible === columns && index < characters.length - 1) {
- rows.push('');
- visible = 0;
- }
- }
-
- // It's possible that the last row we copy over is only
- // ansi escape characters, handle this edge-case
- if (!visible && rows[rows.length - 1].length > 0 && rows.length > 1) {
- rows[rows.length - 2] += rows.pop();
- }
-};
-
-// Trims spaces from a string ignoring invisible sequences
-const stringVisibleTrimSpacesRight = string => {
- const words = string.split(' ');
- let last = words.length;
-
- while (last > 0) {
- if (stringWidth(words[last - 1]) > 0) {
- break;
- }
-
- last--;
- }
-
- if (last === words.length) {
- return string;
- }
-
- return words.slice(0, last).join(' ') + words.slice(last).join('');
-};
-
-// The wrap-ansi module can be invoked in either 'hard' or 'soft' wrap mode
-//
-// 'hard' will never allow a string to take up more than columns characters
-//
-// 'soft' allows long words to expand past the column length
-const exec = (string, columns, options = {}) => {
- if (options.trim !== false && string.trim() === '') {
- return '';
- }
-
- let returnValue = '';
- let escapeCode;
- let escapeUrl;
-
- const lengths = wordLengths(string);
- let rows = [''];
-
- for (const [index, word] of string.split(' ').entries()) {
- if (options.trim !== false) {
- rows[rows.length - 1] = rows[rows.length - 1].trimStart();
- }
-
- let rowLength = stringWidth(rows[rows.length - 1]);
-
- if (index !== 0) {
- if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
- // If we start with a new word but the current row length equals the length of the columns, add a new row
- rows.push('');
- rowLength = 0;
- }
-
- if (rowLength > 0 || options.trim === false) {
- rows[rows.length - 1] += ' ';
- rowLength++;
- }
- }
-
- // In 'hard' wrap mode, the length of a line is never allowed to extend past 'columns'
- if (options.hard && lengths[index] > columns) {
- const remainingColumns = (columns - rowLength);
- const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
- const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
- if (breaksStartingNextLine < breaksStartingThisLine) {
- rows.push('');
- }
-
- wrapWord(rows, word, columns);
- continue;
- }
-
- if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
- if (options.wordWrap === false && rowLength < columns) {
- wrapWord(rows, word, columns);
- continue;
- }
-
- rows.push('');
- }
-
- if (rowLength + lengths[index] > columns && options.wordWrap === false) {
- wrapWord(rows, word, columns);
- continue;
- }
-
- rows[rows.length - 1] += word;
- }
-
- if (options.trim !== false) {
- rows = rows.map(stringVisibleTrimSpacesRight);
- }
-
- const pre = [...rows.join('\n')];
-
- for (const [index, character] of pre.entries()) {
- returnValue += character;
-
- if (ESCAPES.has(character)) {
- const {groups} = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(pre.slice(index).join('')) || {groups: {}};
- if (groups.code !== undefined) {
- const code = Number.parseFloat(groups.code);
- escapeCode = code === END_CODE ? undefined : code;
- } else if (groups.uri !== undefined) {
- escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;
- }
- }
-
- const code = ansiStyles.codes.get(Number(escapeCode));
-
- if (pre[index + 1] === '\n') {
- if (escapeUrl) {
- returnValue += wrapAnsiHyperlink('');
- }
-
- if (escapeCode && code) {
- returnValue += wrapAnsi(code);
- }
- } else if (character === '\n') {
- if (escapeCode && code) {
- returnValue += wrapAnsi(escapeCode);
- }
-
- if (escapeUrl) {
- returnValue += wrapAnsiHyperlink(escapeUrl);
- }
- }
- }
-
- return returnValue;
-};
-
-// For each newline, invoke the method separately
-module.exports = (string, columns, options) => {
- return String(string)
- .normalize()
- .replace(/\r\n/g, '\n')
- .split('\n')
- .map(line => exec(line, columns, options))
- .join('\n');
-};
diff --git a/includes/search/node_modules/wrap-ansi/license b/includes/search/node_modules/wrap-ansi/license
deleted file mode 100644
index fa7ceba..0000000
--- a/includes/search/node_modules/wrap-ansi/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/includes/search/node_modules/wrap-ansi/package.json b/includes/search/node_modules/wrap-ansi/package.json
deleted file mode 100644
index dfb2f4f..0000000
--- a/includes/search/node_modules/wrap-ansi/package.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "name": "wrap-ansi",
- "version": "7.0.0",
- "description": "Wordwrap a string with ANSI escape codes",
- "license": "MIT",
- "repository": "chalk/wrap-ansi",
- "funding": "https://github.com/chalk/wrap-ansi?sponsor=1",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "https://sindresorhus.com"
- },
- "engines": {
- "node": ">=10"
- },
- "scripts": {
- "test": "xo && nyc ava"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "wrap",
- "break",
- "wordwrap",
- "wordbreak",
- "linewrap",
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "log",
- "logging",
- "command-line",
- "text"
- ],
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "devDependencies": {
- "ava": "^2.1.0",
- "chalk": "^4.0.0",
- "coveralls": "^3.0.3",
- "has-ansi": "^4.0.0",
- "nyc": "^15.0.1",
- "xo": "^0.29.1"
- }
-}
diff --git a/includes/search/node_modules/wrap-ansi/readme.md b/includes/search/node_modules/wrap-ansi/readme.md
deleted file mode 100644
index 68779ba..0000000
--- a/includes/search/node_modules/wrap-ansi/readme.md
+++ /dev/null
@@ -1,91 +0,0 @@
-# wrap-ansi [![Build Status](https://travis-ci.com/chalk/wrap-ansi.svg?branch=master)](https://travis-ci.com/chalk/wrap-ansi) [![Coverage Status](https://coveralls.io/repos/github/chalk/wrap-ansi/badge.svg?branch=master)](https://coveralls.io/github/chalk/wrap-ansi?branch=master)
-
-> Wordwrap a string with [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles)
-
-## Install
-
-```
-$ npm install wrap-ansi
-```
-
-## Usage
-
-```js
-const chalk = require('chalk');
-const wrapAnsi = require('wrap-ansi');
-
-const input = 'The quick brown ' + chalk.red('fox jumped over ') +
- 'the lazy ' + chalk.green('dog and then ran away with the unicorn.');
-
-console.log(wrapAnsi(input, 20));
-```
-
-<img width="331" src="screenshot.png">
-
-## API
-
-### wrapAnsi(string, columns, options?)
-
-Wrap words to the specified column width.
-
-#### string
-
-Type: `string`
-
-String with ANSI escape codes. Like one styled by [`chalk`](https://github.com/chalk/chalk). Newline characters will be normalized to `\n`.
-
-#### columns
-
-Type: `number`
-
-Number of columns to wrap the text to.
-
-#### options
-
-Type: `object`
-
-##### hard
-
-Type: `boolean`\
-Default: `false`
-
-By default the wrap is soft, meaning long words may extend past the column width. Setting this to `true` will make it hard wrap at the column width.
-
-##### wordWrap
-
-Type: `boolean`\
-Default: `true`
-
-By default, an attempt is made to split words at spaces, ensuring that they don't extend past the configured columns. If wordWrap is `false`, each column will instead be completely filled splitting words as necessary.
-
-##### trim
-
-Type: `boolean`\
-Default: `true`
-
-Whitespace on all lines is removed by default. Set this option to `false` if you don't want to trim.
-
-## Related
-
-- [slice-ansi](https://github.com/chalk/slice-ansi) - Slice a string with ANSI escape codes
-- [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal
-- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
-- [jsesc](https://github.com/mathiasbynens/jsesc) - Generate ASCII-only output from Unicode strings. Useful for creating test fixtures.
-
-## Maintainers
-
-- [Sindre Sorhus](https://github.com/sindresorhus)
-- [Josh Junon](https://github.com/qix-)
-- [Benjamin Coe](https://github.com/bcoe)
-
----
-
-<div align="center">
- <b>
- <a href="https://tidelift.com/subscription/pkg/npm-wrap_ansi?utm_source=npm-wrap-ansi&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
- </b>
- <br>
- <sub>
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
- </sub>
-</div>
diff --git a/includes/search/node_modules/wrappy/LICENSE b/includes/search/node_modules/wrappy/LICENSE
deleted file mode 100644
index 19129e3..0000000
--- a/includes/search/node_modules/wrappy/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/wrappy/README.md b/includes/search/node_modules/wrappy/README.md
deleted file mode 100644
index 98eab25..0000000
--- a/includes/search/node_modules/wrappy/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# wrappy
-
-Callback wrapping utility
-
-## USAGE
-
-```javascript
-var wrappy = require("wrappy")
-
-// var wrapper = wrappy(wrapperFunction)
-
-// make sure a cb is called only once
-// See also: http://npm.im/once for this specific use case
-var once = wrappy(function (cb) {
- var called = false
- return function () {
- if (called) return
- called = true
- return cb.apply(this, arguments)
- }
-})
-
-function printBoo () {
- console.log('boo')
-}
-// has some rando property
-printBoo.iAmBooPrinter = true
-
-var onlyPrintOnce = once(printBoo)
-
-onlyPrintOnce() // prints 'boo'
-onlyPrintOnce() // does nothing
-
-// random property is retained!
-assert.equal(onlyPrintOnce.iAmBooPrinter, true)
-```
diff --git a/includes/search/node_modules/wrappy/package.json b/includes/search/node_modules/wrappy/package.json
deleted file mode 100644
index 1307520..0000000
--- a/includes/search/node_modules/wrappy/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "wrappy",
- "version": "1.0.2",
- "description": "Callback wrapping utility",
- "main": "wrappy.js",
- "files": [
- "wrappy.js"
- ],
- "directories": {
- "test": "test"
- },
- "dependencies": {},
- "devDependencies": {
- "tap": "^2.3.1"
- },
- "scripts": {
- "test": "tap --coverage test/*.js"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/npm/wrappy"
- },
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/npm/wrappy/issues"
- },
- "homepage": "https://github.com/npm/wrappy"
-}
diff --git a/includes/search/node_modules/wrappy/wrappy.js b/includes/search/node_modules/wrappy/wrappy.js
deleted file mode 100644
index bb7e7d6..0000000
--- a/includes/search/node_modules/wrappy/wrappy.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Returns a wrapper function that returns a wrapped callback
-// The wrapper function should do some stuff, and return a
-// presumably different callback function.
-// This makes sure that own properties are retained, so that
-// decorations and such are not lost along the way.
-module.exports = wrappy
-function wrappy (fn, cb) {
- if (fn && cb) return wrappy(fn)(cb)
-
- if (typeof fn !== 'function')
- throw new TypeError('need wrapper function')
-
- Object.keys(fn).forEach(function (k) {
- wrapper[k] = fn[k]
- })
-
- return wrapper
-
- function wrapper() {
- var args = new Array(arguments.length)
- for (var i = 0; i < args.length; i++) {
- args[i] = arguments[i]
- }
- var ret = fn.apply(this, args)
- var cb = args[args.length-1]
- if (typeof ret === 'function' && ret !== cb) {
- Object.keys(cb).forEach(function (k) {
- ret[k] = cb[k]
- })
- }
- return ret
- }
-}
diff --git a/includes/search/node_modules/y18n/CHANGELOG.md b/includes/search/node_modules/y18n/CHANGELOG.md
deleted file mode 100644
index 244d838..0000000
--- a/includes/search/node_modules/y18n/CHANGELOG.md
+++ /dev/null
@@ -1,100 +0,0 @@
-# Change Log
-
-All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-
-### [5.0.8](https://www.github.com/yargs/y18n/compare/v5.0.7...v5.0.8) (2021-04-07)
-
-
-### Bug Fixes
-
-* **deno:** force modern release for Deno ([b1c215a](https://www.github.com/yargs/y18n/commit/b1c215aed714bee5830e76de3e335504dc2c4dab))
-
-### [5.0.7](https://www.github.com/yargs/y18n/compare/v5.0.6...v5.0.7) (2021-04-07)
-
-
-### Bug Fixes
-
-* **deno:** force release for deno ([#121](https://www.github.com/yargs/y18n/issues/121)) ([d3f2560](https://www.github.com/yargs/y18n/commit/d3f2560e6cedf2bfa2352e9eec044da53f9a06b2))
-
-### [5.0.6](https://www.github.com/yargs/y18n/compare/v5.0.5...v5.0.6) (2021-04-05)
-
-
-### Bug Fixes
-
-* **webpack:** skip readFileSync if not defined ([#117](https://www.github.com/yargs/y18n/issues/117)) ([6966fa9](https://www.github.com/yargs/y18n/commit/6966fa91d2881cc6a6c531e836099e01f4da1616))
-
-### [5.0.5](https://www.github.com/yargs/y18n/compare/v5.0.4...v5.0.5) (2020-10-25)
-
-
-### Bug Fixes
-
-* address prototype pollution issue ([#108](https://www.github.com/yargs/y18n/issues/108)) ([a9ac604](https://www.github.com/yargs/y18n/commit/a9ac604abf756dec9687be3843e2c93bfe581f25))
-
-### [5.0.4](https://www.github.com/yargs/y18n/compare/v5.0.3...v5.0.4) (2020-10-16)
-
-
-### Bug Fixes
-
-* **exports:** node 13.0 and 13.1 require the dotted object form _with_ a string fallback ([#105](https://www.github.com/yargs/y18n/issues/105)) ([4f85d80](https://www.github.com/yargs/y18n/commit/4f85d80dbaae6d2c7899ae394f7ad97805df4886))
-
-### [5.0.3](https://www.github.com/yargs/y18n/compare/v5.0.2...v5.0.3) (2020-10-16)
-
-
-### Bug Fixes
-
-* **exports:** node 13.0-13.6 require a string fallback ([#103](https://www.github.com/yargs/y18n/issues/103)) ([e39921e](https://www.github.com/yargs/y18n/commit/e39921e1017f88f5d8ea97ddea854ffe92d68e74))
-
-### [5.0.2](https://www.github.com/yargs/y18n/compare/v5.0.1...v5.0.2) (2020-10-01)
-
-
-### Bug Fixes
-
-* **deno:** update types for deno ^1.4.0 ([#100](https://www.github.com/yargs/y18n/issues/100)) ([3834d9a](https://www.github.com/yargs/y18n/commit/3834d9ab1332f2937c935ada5e76623290efae81))
-
-### [5.0.1](https://www.github.com/yargs/y18n/compare/v5.0.0...v5.0.1) (2020-09-05)
-
-
-### Bug Fixes
-
-* main had old index path ([#98](https://www.github.com/yargs/y18n/issues/98)) ([124f7b0](https://www.github.com/yargs/y18n/commit/124f7b047ba9596bdbdf64459988304e77f3de1b))
-
-## [5.0.0](https://www.github.com/yargs/y18n/compare/v4.0.0...v5.0.0) (2020-09-05)
-
-
-### ⚠ BREAKING CHANGES
-
-* exports maps are now used, which modifies import behavior.
-* drops Node 6 and 4. begin following Node.js LTS schedule (#89)
-
-### Features
-
-* add support for ESM and Deno [#95](https://www.github.com/yargs/y18n/issues/95)) ([4d7ae94](https://www.github.com/yargs/y18n/commit/4d7ae94bcb42e84164e2180366474b1cd321ed94))
-
-
-### Build System
-
-* drops Node 6 and 4. begin following Node.js LTS schedule ([#89](https://www.github.com/yargs/y18n/issues/89)) ([3cc0c28](https://www.github.com/yargs/y18n/commit/3cc0c287240727b84eaf1927f903612ec80f5e43))
-
-### 4.0.1 (2020-10-25)
-
-
-### Bug Fixes
-
-* address prototype pollution issue ([#108](https://www.github.com/yargs/y18n/issues/108)) ([a9ac604](https://www.github.com/yargs/y18n/commit/7de58ca0d315990cdb38234e97fc66254cdbcd71))
-
-## [4.0.0](https://github.com/yargs/y18n/compare/v3.2.1...v4.0.0) (2017-10-10)
-
-
-### Bug Fixes
-
-* allow support for falsy values like 0 in tagged literal ([#45](https://github.com/yargs/y18n/issues/45)) ([c926123](https://github.com/yargs/y18n/commit/c926123))
-
-
-### Features
-
-* **__:** added tagged template literal support ([#44](https://github.com/yargs/y18n/issues/44)) ([0598daf](https://github.com/yargs/y18n/commit/0598daf))
-
-
-### BREAKING CHANGES
-
-* **__:** dropping Node 0.10/Node 0.12 support
diff --git a/includes/search/node_modules/y18n/LICENSE b/includes/search/node_modules/y18n/LICENSE
deleted file mode 100644
index 3c157f0..0000000
--- a/includes/search/node_modules/y18n/LICENSE
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (c) 2015, Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any purpose
-with or without fee is hereby granted, provided that the above copyright notice
-and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
-OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-THIS SOFTWARE.
diff --git a/includes/search/node_modules/y18n/README.md b/includes/search/node_modules/y18n/README.md
deleted file mode 100644
index 5102bb1..0000000
--- a/includes/search/node_modules/y18n/README.md
+++ /dev/null
@@ -1,127 +0,0 @@
-# y18n
-
-[![NPM version][npm-image]][npm-url]
-[![js-standard-style][standard-image]][standard-url]
-[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
-
-The bare-bones internationalization library used by yargs.
-
-Inspired by [i18n](https://www.npmjs.com/package/i18n).
-
-## Examples
-
-_simple string translation:_
-
-```js
-const __ = require('y18n')().__;
-
-console.log(__('my awesome string %s', 'foo'));
-```
-
-output:
-
-`my awesome string foo`
-
-_using tagged template literals_
-
-```js
-const __ = require('y18n')().__;
-
-const str = 'foo';
-
-console.log(__`my awesome string ${str}`);
-```
-
-output:
-
-`my awesome string foo`
-
-_pluralization support:_
-
-```js
-const __n = require('y18n')().__n;
-
-console.log(__n('one fish %s', '%d fishes %s', 2, 'foo'));
-```
-
-output:
-
-`2 fishes foo`
-
-## Deno Example
-
-As of `v5` `y18n` supports [Deno](https://github.com/denoland/deno):
-
-```typescript
-import y18n from "https://deno.land/x/y18n/deno.ts";
-
-const __ = y18n({
- locale: 'pirate',
- directory: './test/locales'
-}).__
-
-console.info(__`Hi, ${'Ben'} ${'Coe'}!`)
-```
-
-You will need to run with `--allow-read` to load alternative locales.
-
-## JSON Language Files
-
-The JSON language files should be stored in a `./locales` folder.
-File names correspond to locales, e.g., `en.json`, `pirate.json`.
-
-When strings are observed for the first time they will be
-added to the JSON file corresponding to the current locale.
-
-## Methods
-
-### require('y18n')(config)
-
-Create an instance of y18n with the config provided, options include:
-
-* `directory`: the locale directory, default `./locales`.
-* `updateFiles`: should newly observed strings be updated in file, default `true`.
-* `locale`: what locale should be used.
-* `fallbackToLanguage`: should fallback to a language-only file (e.g. `en.json`)
- be allowed if a file matching the locale does not exist (e.g. `en_US.json`),
- default `true`.
-
-### y18n.\_\_(str, arg, arg, arg)
-
-Print a localized string, `%s` will be replaced with `arg`s.
-
-This function can also be used as a tag for a template literal. You can use it
-like this: <code>__&#96;hello ${'world'}&#96;</code>. This will be equivalent to
-`__('hello %s', 'world')`.
-
-### y18n.\_\_n(singularString, pluralString, count, arg, arg, arg)
-
-Print a localized string with appropriate pluralization. If `%d` is provided
-in the string, the `count` will replace this placeholder.
-
-### y18n.setLocale(str)
-
-Set the current locale being used.
-
-### y18n.getLocale()
-
-What locale is currently being used?
-
-### y18n.updateLocale(obj)
-
-Update the current locale with the key value pairs in `obj`.
-
-## Supported Node.js Versions
-
-Libraries in this ecosystem make a best effort to track
-[Node.js' release schedule](https://nodejs.org/en/about/releases/). Here's [a
-post on why we think this is important](https://medium.com/the-node-js-collection/maintainers-should-consider-following-node-js-release-schedule-ab08ed4de71a).
-
-## License
-
-ISC
-
-[npm-url]: https://npmjs.org/package/y18n
-[npm-image]: https://img.shields.io/npm/v/y18n.svg
-[standard-image]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg
-[standard-url]: https://github.com/feross/standard
diff --git a/includes/search/node_modules/y18n/build/index.cjs b/includes/search/node_modules/y18n/build/index.cjs
deleted file mode 100644
index b2731e1..0000000
--- a/includes/search/node_modules/y18n/build/index.cjs
+++ /dev/null
@@ -1,203 +0,0 @@
-'use strict';
-
-var fs = require('fs');
-var util = require('util');
-var path = require('path');
-
-let shim;
-class Y18N {
- constructor(opts) {
- // configurable options.
- opts = opts || {};
- this.directory = opts.directory || './locales';
- this.updateFiles = typeof opts.updateFiles === 'boolean' ? opts.updateFiles : true;
- this.locale = opts.locale || 'en';
- this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true;
- // internal stuff.
- this.cache = Object.create(null);
- this.writeQueue = [];
- }
- __(...args) {
- if (typeof arguments[0] !== 'string') {
- return this._taggedLiteral(arguments[0], ...arguments);
- }
- const str = args.shift();
- let cb = function () { }; // start with noop.
- if (typeof args[args.length - 1] === 'function')
- cb = args.pop();
- cb = cb || function () { }; // noop.
- if (!this.cache[this.locale])
- this._readLocaleFile();
- // we've observed a new string, update the language file.
- if (!this.cache[this.locale][str] && this.updateFiles) {
- this.cache[this.locale][str] = str;
- // include the current directory and locale,
- // since these values could change before the
- // write is performed.
- this._enqueueWrite({
- directory: this.directory,
- locale: this.locale,
- cb
- });
- }
- else {
- cb();
- }
- return shim.format.apply(shim.format, [this.cache[this.locale][str] || str].concat(args));
- }
- __n() {
- const args = Array.prototype.slice.call(arguments);
- const singular = args.shift();
- const plural = args.shift();
- const quantity = args.shift();
- let cb = function () { }; // start with noop.
- if (typeof args[args.length - 1] === 'function')
- cb = args.pop();
- if (!this.cache[this.locale])
- this._readLocaleFile();
- let str = quantity === 1 ? singular : plural;
- if (this.cache[this.locale][singular]) {
- const entry = this.cache[this.locale][singular];
- str = entry[quantity === 1 ? 'one' : 'other'];
- }
- // we've observed a new string, update the language file.
- if (!this.cache[this.locale][singular] && this.updateFiles) {
- this.cache[this.locale][singular] = {
- one: singular,
- other: plural
- };
- // include the current directory and locale,
- // since these values could change before the
- // write is performed.
- this._enqueueWrite({
- directory: this.directory,
- locale: this.locale,
- cb
- });
- }
- else {
- cb();
- }
- // if a %d placeholder is provided, add quantity
- // to the arguments expanded by util.format.
- const values = [str];
- if (~str.indexOf('%d'))
- values.push(quantity);
- return shim.format.apply(shim.format, values.concat(args));
- }
- setLocale(locale) {
- this.locale = locale;
- }
- getLocale() {
- return this.locale;
- }
- updateLocale(obj) {
- if (!this.cache[this.locale])
- this._readLocaleFile();
- for (const key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- this.cache[this.locale][key] = obj[key];
- }
- }
- }
- _taggedLiteral(parts, ...args) {
- let str = '';
- parts.forEach(function (part, i) {
- const arg = args[i + 1];
- str += part;
- if (typeof arg !== 'undefined') {
- str += '%s';
- }
- });
- return this.__.apply(this, [str].concat([].slice.call(args, 1)));
- }
- _enqueueWrite(work) {
- this.writeQueue.push(work);
- if (this.writeQueue.length === 1)
- this._processWriteQueue();
- }
- _processWriteQueue() {
- const _this = this;
- const work = this.writeQueue[0];
- // destructure the enqueued work.
- const directory = work.directory;
- const locale = work.locale;
- const cb = work.cb;
- const languageFile = this._resolveLocaleFile(directory, locale);
- const serializedLocale = JSON.stringify(this.cache[locale], null, 2);
- shim.fs.writeFile(languageFile, serializedLocale, 'utf-8', function (err) {
- _this.writeQueue.shift();
- if (_this.writeQueue.length > 0)
- _this._processWriteQueue();
- cb(err);
- });
- }
- _readLocaleFile() {
- let localeLookup = {};
- const languageFile = this._resolveLocaleFile(this.directory, this.locale);
- try {
- // When using a bundler such as webpack, readFileSync may not be defined:
- if (shim.fs.readFileSync) {
- localeLookup = JSON.parse(shim.fs.readFileSync(languageFile, 'utf-8'));
- }
- }
- catch (err) {
- if (err instanceof SyntaxError) {
- err.message = 'syntax error in ' + languageFile;
- }
- if (err.code === 'ENOENT')
- localeLookup = {};
- else
- throw err;
- }
- this.cache[this.locale] = localeLookup;
- }
- _resolveLocaleFile(directory, locale) {
- let file = shim.resolve(directory, './', locale + '.json');
- if (this.fallbackToLanguage && !this._fileExistsSync(file) && ~locale.lastIndexOf('_')) {
- // attempt fallback to language only
- const languageFile = shim.resolve(directory, './', locale.split('_')[0] + '.json');
- if (this._fileExistsSync(languageFile))
- file = languageFile;
- }
- return file;
- }
- _fileExistsSync(file) {
- return shim.exists(file);
- }
-}
-function y18n$1(opts, _shim) {
- shim = _shim;
- const y18n = new Y18N(opts);
- return {
- __: y18n.__.bind(y18n),
- __n: y18n.__n.bind(y18n),
- setLocale: y18n.setLocale.bind(y18n),
- getLocale: y18n.getLocale.bind(y18n),
- updateLocale: y18n.updateLocale.bind(y18n),
- locale: y18n.locale
- };
-}
-
-var nodePlatformShim = {
- fs: {
- readFileSync: fs.readFileSync,
- writeFile: fs.writeFile
- },
- format: util.format,
- resolve: path.resolve,
- exists: (file) => {
- try {
- return fs.statSync(file).isFile();
- }
- catch (err) {
- return false;
- }
- }
-};
-
-const y18n = (opts) => {
- return y18n$1(opts, nodePlatformShim);
-};
-
-module.exports = y18n;
diff --git a/includes/search/node_modules/y18n/build/lib/cjs.js b/includes/search/node_modules/y18n/build/lib/cjs.js
deleted file mode 100644
index ff58470..0000000
--- a/includes/search/node_modules/y18n/build/lib/cjs.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import { y18n as _y18n } from './index.js';
-import nodePlatformShim from './platform-shims/node.js';
-const y18n = (opts) => {
- return _y18n(opts, nodePlatformShim);
-};
-export default y18n;
diff --git a/includes/search/node_modules/y18n/build/lib/index.js b/includes/search/node_modules/y18n/build/lib/index.js
deleted file mode 100644
index e38f335..0000000
--- a/includes/search/node_modules/y18n/build/lib/index.js
+++ /dev/null
@@ -1,174 +0,0 @@
-let shim;
-class Y18N {
- constructor(opts) {
- // configurable options.
- opts = opts || {};
- this.directory = opts.directory || './locales';
- this.updateFiles = typeof opts.updateFiles === 'boolean' ? opts.updateFiles : true;
- this.locale = opts.locale || 'en';
- this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true;
- // internal stuff.
- this.cache = Object.create(null);
- this.writeQueue = [];
- }
- __(...args) {
- if (typeof arguments[0] !== 'string') {
- return this._taggedLiteral(arguments[0], ...arguments);
- }
- const str = args.shift();
- let cb = function () { }; // start with noop.
- if (typeof args[args.length - 1] === 'function')
- cb = args.pop();
- cb = cb || function () { }; // noop.
- if (!this.cache[this.locale])
- this._readLocaleFile();
- // we've observed a new string, update the language file.
- if (!this.cache[this.locale][str] && this.updateFiles) {
- this.cache[this.locale][str] = str;
- // include the current directory and locale,
- // since these values could change before the
- // write is performed.
- this._enqueueWrite({
- directory: this.directory,
- locale: this.locale,
- cb
- });
- }
- else {
- cb();
- }
- return shim.format.apply(shim.format, [this.cache[this.locale][str] || str].concat(args));
- }
- __n() {
- const args = Array.prototype.slice.call(arguments);
- const singular = args.shift();
- const plural = args.shift();
- const quantity = args.shift();
- let cb = function () { }; // start with noop.
- if (typeof args[args.length - 1] === 'function')
- cb = args.pop();
- if (!this.cache[this.locale])
- this._readLocaleFile();
- let str = quantity === 1 ? singular : plural;
- if (this.cache[this.locale][singular]) {
- const entry = this.cache[this.locale][singular];
- str = entry[quantity === 1 ? 'one' : 'other'];
- }
- // we've observed a new string, update the language file.
- if (!this.cache[this.locale][singular] && this.updateFiles) {
- this.cache[this.locale][singular] = {
- one: singular,
- other: plural
- };
- // include the current directory and locale,
- // since these values could change before the
- // write is performed.
- this._enqueueWrite({
- directory: this.directory,
- locale: this.locale,
- cb
- });
- }
- else {
- cb();
- }
- // if a %d placeholder is provided, add quantity
- // to the arguments expanded by util.format.
- const values = [str];
- if (~str.indexOf('%d'))
- values.push(quantity);
- return shim.format.apply(shim.format, values.concat(args));
- }
- setLocale(locale) {
- this.locale = locale;
- }
- getLocale() {
- return this.locale;
- }
- updateLocale(obj) {
- if (!this.cache[this.locale])
- this._readLocaleFile();
- for (const key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- this.cache[this.locale][key] = obj[key];
- }
- }
- }
- _taggedLiteral(parts, ...args) {
- let str = '';
- parts.forEach(function (part, i) {
- const arg = args[i + 1];
- str += part;
- if (typeof arg !== 'undefined') {
- str += '%s';
- }
- });
- return this.__.apply(this, [str].concat([].slice.call(args, 1)));
- }
- _enqueueWrite(work) {
- this.writeQueue.push(work);
- if (this.writeQueue.length === 1)
- this._processWriteQueue();
- }
- _processWriteQueue() {
- const _this = this;
- const work = this.writeQueue[0];
- // destructure the enqueued work.
- const directory = work.directory;
- const locale = work.locale;
- const cb = work.cb;
- const languageFile = this._resolveLocaleFile(directory, locale);
- const serializedLocale = JSON.stringify(this.cache[locale], null, 2);
- shim.fs.writeFile(languageFile, serializedLocale, 'utf-8', function (err) {
- _this.writeQueue.shift();
- if (_this.writeQueue.length > 0)
- _this._processWriteQueue();
- cb(err);
- });
- }
- _readLocaleFile() {
- let localeLookup = {};
- const languageFile = this._resolveLocaleFile(this.directory, this.locale);
- try {
- // When using a bundler such as webpack, readFileSync may not be defined:
- if (shim.fs.readFileSync) {
- localeLookup = JSON.parse(shim.fs.readFileSync(languageFile, 'utf-8'));
- }
- }
- catch (err) {
- if (err instanceof SyntaxError) {
- err.message = 'syntax error in ' + languageFile;
- }
- if (err.code === 'ENOENT')
- localeLookup = {};
- else
- throw err;
- }
- this.cache[this.locale] = localeLookup;
- }
- _resolveLocaleFile(directory, locale) {
- let file = shim.resolve(directory, './', locale + '.json');
- if (this.fallbackToLanguage && !this._fileExistsSync(file) && ~locale.lastIndexOf('_')) {
- // attempt fallback to language only
- const languageFile = shim.resolve(directory, './', locale.split('_')[0] + '.json');
- if (this._fileExistsSync(languageFile))
- file = languageFile;
- }
- return file;
- }
- _fileExistsSync(file) {
- return shim.exists(file);
- }
-}
-export function y18n(opts, _shim) {
- shim = _shim;
- const y18n = new Y18N(opts);
- return {
- __: y18n.__.bind(y18n),
- __n: y18n.__n.bind(y18n),
- setLocale: y18n.setLocale.bind(y18n),
- getLocale: y18n.getLocale.bind(y18n),
- updateLocale: y18n.updateLocale.bind(y18n),
- locale: y18n.locale
- };
-}
diff --git a/includes/search/node_modules/y18n/build/lib/platform-shims/node.js b/includes/search/node_modules/y18n/build/lib/platform-shims/node.js
deleted file mode 100644
index 181208b..0000000
--- a/includes/search/node_modules/y18n/build/lib/platform-shims/node.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { readFileSync, statSync, writeFile } from 'fs';
-import { format } from 'util';
-import { resolve } from 'path';
-export default {
- fs: {
- readFileSync,
- writeFile
- },
- format,
- resolve,
- exists: (file) => {
- try {
- return statSync(file).isFile();
- }
- catch (err) {
- return false;
- }
- }
-};
diff --git a/includes/search/node_modules/y18n/index.mjs b/includes/search/node_modules/y18n/index.mjs
deleted file mode 100644
index 46c8213..0000000
--- a/includes/search/node_modules/y18n/index.mjs
+++ /dev/null
@@ -1,8 +0,0 @@
-import shim from './build/lib/platform-shims/node.js'
-import { y18n as _y18n } from './build/lib/index.js'
-
-const y18n = (opts) => {
- return _y18n(opts, shim)
-}
-
-export default y18n
diff --git a/includes/search/node_modules/y18n/package.json b/includes/search/node_modules/y18n/package.json
deleted file mode 100644
index 4e5c1ca..0000000
--- a/includes/search/node_modules/y18n/package.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "name": "y18n",
- "version": "5.0.8",
- "description": "the bare-bones internationalization library used by yargs",
- "exports": {
- ".": [
- {
- "import": "./index.mjs",
- "require": "./build/index.cjs"
- },
- "./build/index.cjs"
- ]
- },
- "type": "module",
- "module": "./build/lib/index.js",
- "keywords": [
- "i18n",
- "internationalization",
- "yargs"
- ],
- "homepage": "https://github.com/yargs/y18n",
- "bugs": {
- "url": "https://github.com/yargs/y18n/issues"
- },
- "repository": "yargs/y18n",
- "license": "ISC",
- "author": "Ben Coe <bencoe@gmail.com>",
- "main": "./build/index.cjs",
- "scripts": {
- "check": "standardx **/*.ts **/*.cjs **/*.mjs",
- "fix": "standardx --fix **/*.ts **/*.cjs **/*.mjs",
- "pretest": "rimraf build && tsc -p tsconfig.test.json && cross-env NODE_ENV=test npm run build:cjs",
- "test": "c8 --reporter=text --reporter=html mocha test/*.cjs",
- "test:esm": "c8 --reporter=text --reporter=html mocha test/esm/*.mjs",
- "posttest": "npm run check",
- "coverage": "c8 report --check-coverage",
- "precompile": "rimraf build",
- "compile": "tsc",
- "postcompile": "npm run build:cjs",
- "build:cjs": "rollup -c",
- "prepare": "npm run compile"
- },
- "devDependencies": {
- "@types/node": "^14.6.4",
- "@wessberg/rollup-plugin-ts": "^1.3.1",
- "c8": "^7.3.0",
- "chai": "^4.0.1",
- "cross-env": "^7.0.2",
- "gts": "^3.0.0",
- "mocha": "^8.0.0",
- "rimraf": "^3.0.2",
- "rollup": "^2.26.10",
- "standardx": "^7.0.0",
- "ts-transform-default-export": "^1.0.2",
- "typescript": "^4.0.0"
- },
- "files": [
- "build",
- "index.mjs",
- "!*.d.ts"
- ],
- "engines": {
- "node": ">=10"
- },
- "standardx": {
- "ignore": [
- "build"
- ]
- }
-}
diff --git a/includes/search/node_modules/yallist/LICENSE b/includes/search/node_modules/yallist/LICENSE
deleted file mode 100644
index 19129e3..0000000
--- a/includes/search/node_modules/yallist/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/yallist/README.md b/includes/search/node_modules/yallist/README.md
deleted file mode 100644
index f586101..0000000
--- a/includes/search/node_modules/yallist/README.md
+++ /dev/null
@@ -1,204 +0,0 @@
-# yallist
-
-Yet Another Linked List
-
-There are many doubly-linked list implementations like it, but this
-one is mine.
-
-For when an array would be too big, and a Map can't be iterated in
-reverse order.
-
-
-[![Build Status](https://travis-ci.org/isaacs/yallist.svg?branch=master)](https://travis-ci.org/isaacs/yallist) [![Coverage Status](https://coveralls.io/repos/isaacs/yallist/badge.svg?service=github)](https://coveralls.io/github/isaacs/yallist)
-
-## basic usage
-
-```javascript
-var yallist = require('yallist')
-var myList = yallist.create([1, 2, 3])
-myList.push('foo')
-myList.unshift('bar')
-// of course pop() and shift() are there, too
-console.log(myList.toArray()) // ['bar', 1, 2, 3, 'foo']
-myList.forEach(function (k) {
- // walk the list head to tail
-})
-myList.forEachReverse(function (k, index, list) {
- // walk the list tail to head
-})
-var myDoubledList = myList.map(function (k) {
- return k + k
-})
-// now myDoubledList contains ['barbar', 2, 4, 6, 'foofoo']
-// mapReverse is also a thing
-var myDoubledListReverse = myList.mapReverse(function (k) {
- return k + k
-}) // ['foofoo', 6, 4, 2, 'barbar']
-
-var reduced = myList.reduce(function (set, entry) {
- set += entry
- return set
-}, 'start')
-console.log(reduced) // 'startfoo123bar'
-```
-
-## api
-
-The whole API is considered "public".
-
-Functions with the same name as an Array method work more or less the
-same way.
-
-There's reverse versions of most things because that's the point.
-
-### Yallist
-
-Default export, the class that holds and manages a list.
-
-Call it with either a forEach-able (like an array) or a set of
-arguments, to initialize the list.
-
-The Array-ish methods all act like you'd expect. No magic length,
-though, so if you change that it won't automatically prune or add
-empty spots.
-
-### Yallist.create(..)
-
-Alias for Yallist function. Some people like factories.
-
-#### yallist.head
-
-The first node in the list
-
-#### yallist.tail
-
-The last node in the list
-
-#### yallist.length
-
-The number of nodes in the list. (Change this at your peril. It is
-not magic like Array length.)
-
-#### yallist.toArray()
-
-Convert the list to an array.
-
-#### yallist.forEach(fn, [thisp])
-
-Call a function on each item in the list.
-
-#### yallist.forEachReverse(fn, [thisp])
-
-Call a function on each item in the list, in reverse order.
-
-#### yallist.get(n)
-
-Get the data at position `n` in the list. If you use this a lot,
-probably better off just using an Array.
-
-#### yallist.getReverse(n)
-
-Get the data at position `n`, counting from the tail.
-
-#### yallist.map(fn, thisp)
-
-Create a new Yallist with the result of calling the function on each
-item.
-
-#### yallist.mapReverse(fn, thisp)
-
-Same as `map`, but in reverse.
-
-#### yallist.pop()
-
-Get the data from the list tail, and remove the tail from the list.
-
-#### yallist.push(item, ...)
-
-Insert one or more items to the tail of the list.
-
-#### yallist.reduce(fn, initialValue)
-
-Like Array.reduce.
-
-#### yallist.reduceReverse
-
-Like Array.reduce, but in reverse.
-
-#### yallist.reverse
-
-Reverse the list in place.
-
-#### yallist.shift()
-
-Get the data from the list head, and remove the head from the list.
-
-#### yallist.slice([from], [to])
-
-Just like Array.slice, but returns a new Yallist.
-
-#### yallist.sliceReverse([from], [to])
-
-Just like yallist.slice, but the result is returned in reverse.
-
-#### yallist.toArray()
-
-Create an array representation of the list.
-
-#### yallist.toArrayReverse()
-
-Create a reversed array representation of the list.
-
-#### yallist.unshift(item, ...)
-
-Insert one or more items to the head of the list.
-
-#### yallist.unshiftNode(node)
-
-Move a Node object to the front of the list. (That is, pull it out of
-wherever it lives, and make it the new head.)
-
-If the node belongs to a different list, then that list will remove it
-first.
-
-#### yallist.pushNode(node)
-
-Move a Node object to the end of the list. (That is, pull it out of
-wherever it lives, and make it the new tail.)
-
-If the node belongs to a list already, then that list will remove it
-first.
-
-#### yallist.removeNode(node)
-
-Remove a node from the list, preserving referential integrity of head
-and tail and other nodes.
-
-Will throw an error if you try to have a list remove a node that
-doesn't belong to it.
-
-### Yallist.Node
-
-The class that holds the data and is actually the list.
-
-Call with `var n = new Node(value, previousNode, nextNode)`
-
-Note that if you do direct operations on Nodes themselves, it's very
-easy to get into weird states where the list is broken. Be careful :)
-
-#### node.next
-
-The next node in the list.
-
-#### node.prev
-
-The previous node in the list.
-
-#### node.value
-
-The data the node contains.
-
-#### node.list
-
-The list to which this node belongs. (Null if it does not belong to
-any list.)
diff --git a/includes/search/node_modules/yallist/iterator.js b/includes/search/node_modules/yallist/iterator.js
deleted file mode 100644
index d41c97a..0000000
--- a/includes/search/node_modules/yallist/iterator.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict'
-module.exports = function (Yallist) {
- Yallist.prototype[Symbol.iterator] = function* () {
- for (let walker = this.head; walker; walker = walker.next) {
- yield walker.value
- }
- }
-}
diff --git a/includes/search/node_modules/yallist/package.json b/includes/search/node_modules/yallist/package.json
deleted file mode 100644
index 8a08386..0000000
--- a/includes/search/node_modules/yallist/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "yallist",
- "version": "4.0.0",
- "description": "Yet Another Linked List",
- "main": "yallist.js",
- "directories": {
- "test": "test"
- },
- "files": [
- "yallist.js",
- "iterator.js"
- ],
- "dependencies": {},
- "devDependencies": {
- "tap": "^12.1.0"
- },
- "scripts": {
- "test": "tap test/*.js --100",
- "preversion": "npm test",
- "postversion": "npm publish",
- "postpublish": "git push origin --all; git push origin --tags"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/isaacs/yallist.git"
- },
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
- "license": "ISC"
-}
diff --git a/includes/search/node_modules/yallist/yallist.js b/includes/search/node_modules/yallist/yallist.js
deleted file mode 100644
index 4e83ab1..0000000
--- a/includes/search/node_modules/yallist/yallist.js
+++ /dev/null
@@ -1,426 +0,0 @@
-'use strict'
-module.exports = Yallist
-
-Yallist.Node = Node
-Yallist.create = Yallist
-
-function Yallist (list) {
- var self = this
- if (!(self instanceof Yallist)) {
- self = new Yallist()
- }
-
- self.tail = null
- self.head = null
- self.length = 0
-
- if (list && typeof list.forEach === 'function') {
- list.forEach(function (item) {
- self.push(item)
- })
- } else if (arguments.length > 0) {
- for (var i = 0, l = arguments.length; i < l; i++) {
- self.push(arguments[i])
- }
- }
-
- return self
-}
-
-Yallist.prototype.removeNode = function (node) {
- if (node.list !== this) {
- throw new Error('removing node which does not belong to this list')
- }
-
- var next = node.next
- var prev = node.prev
-
- if (next) {
- next.prev = prev
- }
-
- if (prev) {
- prev.next = next
- }
-
- if (node === this.head) {
- this.head = next
- }
- if (node === this.tail) {
- this.tail = prev
- }
-
- node.list.length--
- node.next = null
- node.prev = null
- node.list = null
-
- return next
-}
-
-Yallist.prototype.unshiftNode = function (node) {
- if (node === this.head) {
- return
- }
-
- if (node.list) {
- node.list.removeNode(node)
- }
-
- var head = this.head
- node.list = this
- node.next = head
- if (head) {
- head.prev = node
- }
-
- this.head = node
- if (!this.tail) {
- this.tail = node
- }
- this.length++
-}
-
-Yallist.prototype.pushNode = function (node) {
- if (node === this.tail) {
- return
- }
-
- if (node.list) {
- node.list.removeNode(node)
- }
-
- var tail = this.tail
- node.list = this
- node.prev = tail
- if (tail) {
- tail.next = node
- }
-
- this.tail = node
- if (!this.head) {
- this.head = node
- }
- this.length++
-}
-
-Yallist.prototype.push = function () {
- for (var i = 0, l = arguments.length; i < l; i++) {
- push(this, arguments[i])
- }
- return this.length
-}
-
-Yallist.prototype.unshift = function () {
- for (var i = 0, l = arguments.length; i < l; i++) {
- unshift(this, arguments[i])
- }
- return this.length
-}
-
-Yallist.prototype.pop = function () {
- if (!this.tail) {
- return undefined
- }
-
- var res = this.tail.value
- this.tail = this.tail.prev
- if (this.tail) {
- this.tail.next = null
- } else {
- this.head = null
- }
- this.length--
- return res
-}
-
-Yallist.prototype.shift = function () {
- if (!this.head) {
- return undefined
- }
-
- var res = this.head.value
- this.head = this.head.next
- if (this.head) {
- this.head.prev = null
- } else {
- this.tail = null
- }
- this.length--
- return res
-}
-
-Yallist.prototype.forEach = function (fn, thisp) {
- thisp = thisp || this
- for (var walker = this.head, i = 0; walker !== null; i++) {
- fn.call(thisp, walker.value, i, this)
- walker = walker.next
- }
-}
-
-Yallist.prototype.forEachReverse = function (fn, thisp) {
- thisp = thisp || this
- for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
- fn.call(thisp, walker.value, i, this)
- walker = walker.prev
- }
-}
-
-Yallist.prototype.get = function (n) {
- for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
- // abort out of the list early if we hit a cycle
- walker = walker.next
- }
- if (i === n && walker !== null) {
- return walker.value
- }
-}
-
-Yallist.prototype.getReverse = function (n) {
- for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
- // abort out of the list early if we hit a cycle
- walker = walker.prev
- }
- if (i === n && walker !== null) {
- return walker.value
- }
-}
-
-Yallist.prototype.map = function (fn, thisp) {
- thisp = thisp || this
- var res = new Yallist()
- for (var walker = this.head; walker !== null;) {
- res.push(fn.call(thisp, walker.value, this))
- walker = walker.next
- }
- return res
-}
-
-Yallist.prototype.mapReverse = function (fn, thisp) {
- thisp = thisp || this
- var res = new Yallist()
- for (var walker = this.tail; walker !== null;) {
- res.push(fn.call(thisp, walker.value, this))
- walker = walker.prev
- }
- return res
-}
-
-Yallist.prototype.reduce = function (fn, initial) {
- var acc
- var walker = this.head
- if (arguments.length > 1) {
- acc = initial
- } else if (this.head) {
- walker = this.head.next
- acc = this.head.value
- } else {
- throw new TypeError('Reduce of empty list with no initial value')
- }
-
- for (var i = 0; walker !== null; i++) {
- acc = fn(acc, walker.value, i)
- walker = walker.next
- }
-
- return acc
-}
-
-Yallist.prototype.reduceReverse = function (fn, initial) {
- var acc
- var walker = this.tail
- if (arguments.length > 1) {
- acc = initial
- } else if (this.tail) {
- walker = this.tail.prev
- acc = this.tail.value
- } else {
- throw new TypeError('Reduce of empty list with no initial value')
- }
-
- for (var i = this.length - 1; walker !== null; i--) {
- acc = fn(acc, walker.value, i)
- walker = walker.prev
- }
-
- return acc
-}
-
-Yallist.prototype.toArray = function () {
- var arr = new Array(this.length)
- for (var i = 0, walker = this.head; walker !== null; i++) {
- arr[i] = walker.value
- walker = walker.next
- }
- return arr
-}
-
-Yallist.prototype.toArrayReverse = function () {
- var arr = new Array(this.length)
- for (var i = 0, walker = this.tail; walker !== null; i++) {
- arr[i] = walker.value
- walker = walker.prev
- }
- return arr
-}
-
-Yallist.prototype.slice = function (from, to) {
- to = to || this.length
- if (to < 0) {
- to += this.length
- }
- from = from || 0
- if (from < 0) {
- from += this.length
- }
- var ret = new Yallist()
- if (to < from || to < 0) {
- return ret
- }
- if (from < 0) {
- from = 0
- }
- if (to > this.length) {
- to = this.length
- }
- for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
- walker = walker.next
- }
- for (; walker !== null && i < to; i++, walker = walker.next) {
- ret.push(walker.value)
- }
- return ret
-}
-
-Yallist.prototype.sliceReverse = function (from, to) {
- to = to || this.length
- if (to < 0) {
- to += this.length
- }
- from = from || 0
- if (from < 0) {
- from += this.length
- }
- var ret = new Yallist()
- if (to < from || to < 0) {
- return ret
- }
- if (from < 0) {
- from = 0
- }
- if (to > this.length) {
- to = this.length
- }
- for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
- walker = walker.prev
- }
- for (; walker !== null && i > from; i--, walker = walker.prev) {
- ret.push(walker.value)
- }
- return ret
-}
-
-Yallist.prototype.splice = function (start, deleteCount, ...nodes) {
- if (start > this.length) {
- start = this.length - 1
- }
- if (start < 0) {
- start = this.length + start;
- }
-
- for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
- walker = walker.next
- }
-
- var ret = []
- for (var i = 0; walker && i < deleteCount; i++) {
- ret.push(walker.value)
- walker = this.removeNode(walker)
- }
- if (walker === null) {
- walker = this.tail
- }
-
- if (walker !== this.head && walker !== this.tail) {
- walker = walker.prev
- }
-
- for (var i = 0; i < nodes.length; i++) {
- walker = insert(this, walker, nodes[i])
- }
- return ret;
-}
-
-Yallist.prototype.reverse = function () {
- var head = this.head
- var tail = this.tail
- for (var walker = head; walker !== null; walker = walker.prev) {
- var p = walker.prev
- walker.prev = walker.next
- walker.next = p
- }
- this.head = tail
- this.tail = head
- return this
-}
-
-function insert (self, node, value) {
- var inserted = node === self.head ?
- new Node(value, null, node, self) :
- new Node(value, node, node.next, self)
-
- if (inserted.next === null) {
- self.tail = inserted
- }
- if (inserted.prev === null) {
- self.head = inserted
- }
-
- self.length++
-
- return inserted
-}
-
-function push (self, item) {
- self.tail = new Node(item, self.tail, null, self)
- if (!self.head) {
- self.head = self.tail
- }
- self.length++
-}
-
-function unshift (self, item) {
- self.head = new Node(item, null, self.head, self)
- if (!self.tail) {
- self.tail = self.head
- }
- self.length++
-}
-
-function Node (value, prev, next, list) {
- if (!(this instanceof Node)) {
- return new Node(value, prev, next, list)
- }
-
- this.list = list
- this.value = value
-
- if (prev) {
- prev.next = this
- this.prev = prev
- } else {
- this.prev = null
- }
-
- if (next) {
- next.prev = this
- this.next = next
- } else {
- this.next = null
- }
-}
-
-try {
- // add if support for Symbol.iterator is present
- require('./iterator.js')(Yallist)
-} catch (er) {}
diff --git a/includes/search/node_modules/yargs-parser/CHANGELOG.md b/includes/search/node_modules/yargs-parser/CHANGELOG.md
deleted file mode 100644
index 2aad0ac..0000000
--- a/includes/search/node_modules/yargs-parser/CHANGELOG.md
+++ /dev/null
@@ -1,263 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-
-### [20.2.9](https://www.github.com/yargs/yargs-parser/compare/yargs-parser-v20.2.8...yargs-parser-v20.2.9) (2021-06-20)
-
-
-### Bug Fixes
-
-* **build:** fixed automated release pipeline ([1fe9135](https://www.github.com/yargs/yargs-parser/commit/1fe9135884790a083615419b2861683e2597dac3))
-
-### [20.2.8](https://www.github.com/yargs/yargs-parser/compare/yargs-parser-v20.2.7...yargs-parser-v20.2.8) (2021-06-20)
-
-
-### Bug Fixes
-
-* **locale:** Turkish camelize and decamelize issues with toLocaleLowerCase/toLocaleUpperCase ([2617303](https://www.github.com/yargs/yargs-parser/commit/261730383e02448562f737b94bbd1f164aed5143))
-* **perf:** address slow parse when using unknown-options-as-args ([#394](https://www.github.com/yargs/yargs-parser/issues/394)) ([441f059](https://www.github.com/yargs/yargs-parser/commit/441f059d585d446551068ad213db79ac91daf83a))
-* **string-utils:** detect [0,1] ranged values as numbers ([#388](https://www.github.com/yargs/yargs-parser/issues/388)) ([efcc32c](https://www.github.com/yargs/yargs-parser/commit/efcc32c2d6b09aba31abfa2db9bd947befe5586b))
-
-### [20.2.7](https://www.github.com/yargs/yargs-parser/compare/v20.2.6...v20.2.7) (2021-03-10)
-
-
-### Bug Fixes
-
-* **deno:** force release for Deno ([6687c97](https://www.github.com/yargs/yargs-parser/commit/6687c972d0f3ca7865a97908dde3080b05f8b026))
-
-### [20.2.6](https://www.github.com/yargs/yargs-parser/compare/v20.2.5...v20.2.6) (2021-02-22)
-
-
-### Bug Fixes
-
-* **populate--:** -- should always be array ([#354](https://www.github.com/yargs/yargs-parser/issues/354)) ([585ae8f](https://www.github.com/yargs/yargs-parser/commit/585ae8ffad74cc02974f92d788e750137fd65146))
-
-### [20.2.5](https://www.github.com/yargs/yargs-parser/compare/v20.2.4...v20.2.5) (2021-02-13)
-
-
-### Bug Fixes
-
-* do not lowercase camel cased string ([#348](https://www.github.com/yargs/yargs-parser/issues/348)) ([5f4da1f](https://www.github.com/yargs/yargs-parser/commit/5f4da1f17d9d50542d2aaa206c9806ce3e320335))
-
-### [20.2.4](https://www.github.com/yargs/yargs-parser/compare/v20.2.3...v20.2.4) (2020-11-09)
-
-
-### Bug Fixes
-
-* **deno:** address import issues in Deno ([#339](https://www.github.com/yargs/yargs-parser/issues/339)) ([3b54e5e](https://www.github.com/yargs/yargs-parser/commit/3b54e5eef6e9a7b7c6eec7c12bab3ba3b8ba8306))
-
-### [20.2.3](https://www.github.com/yargs/yargs-parser/compare/v20.2.2...v20.2.3) (2020-10-16)
-
-
-### Bug Fixes
-
-* **exports:** node 13.0 and 13.1 require the dotted object form _with_ a string fallback ([#336](https://www.github.com/yargs/yargs-parser/issues/336)) ([3ae7242](https://www.github.com/yargs/yargs-parser/commit/3ae7242040ff876d28dabded60ac226e00150c88))
-
-### [20.2.2](https://www.github.com/yargs/yargs-parser/compare/v20.2.1...v20.2.2) (2020-10-14)
-
-
-### Bug Fixes
-
-* **exports:** node 13.0-13.6 require a string fallback ([#333](https://www.github.com/yargs/yargs-parser/issues/333)) ([291aeda](https://www.github.com/yargs/yargs-parser/commit/291aeda06b685b7a015d83bdf2558e180b37388d))
-
-### [20.2.1](https://www.github.com/yargs/yargs-parser/compare/v20.2.0...v20.2.1) (2020-10-01)
-
-
-### Bug Fixes
-
-* **deno:** update types for deno ^1.4.0 ([#330](https://www.github.com/yargs/yargs-parser/issues/330)) ([0ab92e5](https://www.github.com/yargs/yargs-parser/commit/0ab92e50b090f11196334c048c9c92cecaddaf56))
-
-## [20.2.0](https://www.github.com/yargs/yargs-parser/compare/v20.1.0...v20.2.0) (2020-09-21)
-
-
-### Features
-
-* **string-utils:** export looksLikeNumber helper ([#324](https://www.github.com/yargs/yargs-parser/issues/324)) ([c8580a2](https://www.github.com/yargs/yargs-parser/commit/c8580a2327b55f6342acecb6e72b62963d506750))
-
-
-### Bug Fixes
-
-* **unknown-options-as-args:** convert positionals that look like numbers ([#326](https://www.github.com/yargs/yargs-parser/issues/326)) ([f85ebb4](https://www.github.com/yargs/yargs-parser/commit/f85ebb4face9d4b0f56147659404cbe0002f3dad))
-
-## [20.1.0](https://www.github.com/yargs/yargs-parser/compare/v20.0.0...v20.1.0) (2020-09-20)
-
-
-### Features
-
-* adds parse-positional-numbers configuration ([#321](https://www.github.com/yargs/yargs-parser/issues/321)) ([9cec00a](https://www.github.com/yargs/yargs-parser/commit/9cec00a622251292ffb7dce6f78f5353afaa0d4c))
-
-
-### Bug Fixes
-
-* **build:** update release-please; make labels kick off builds ([#323](https://www.github.com/yargs/yargs-parser/issues/323)) ([09f448b](https://www.github.com/yargs/yargs-parser/commit/09f448b4cd66e25d2872544718df46dab8af062a))
-
-## [20.0.0](https://www.github.com/yargs/yargs-parser/compare/v19.0.4...v20.0.0) (2020-09-09)
-
-
-### ⚠ BREAKING CHANGES
-
-* do not ship type definitions (#318)
-
-### Bug Fixes
-
-* only strip camel case if hyphenated ([#316](https://www.github.com/yargs/yargs-parser/issues/316)) ([95a9e78](https://www.github.com/yargs/yargs-parser/commit/95a9e785127b9bbf2d1db1f1f808ca1fb100e82a)), closes [#315](https://www.github.com/yargs/yargs-parser/issues/315)
-
-
-### Code Refactoring
-
-* do not ship type definitions ([#318](https://www.github.com/yargs/yargs-parser/issues/318)) ([8fbd56f](https://www.github.com/yargs/yargs-parser/commit/8fbd56f1d0b6c44c30fca62708812151ca0ce330))
-
-### [19.0.4](https://www.github.com/yargs/yargs-parser/compare/v19.0.3...v19.0.4) (2020-08-27)
-
-
-### Bug Fixes
-
-* **build:** fixing publication ([#310](https://www.github.com/yargs/yargs-parser/issues/310)) ([5d3c6c2](https://www.github.com/yargs/yargs-parser/commit/5d3c6c29a9126248ba601920d9cf87c78e161ff5))
-
-### [19.0.3](https://www.github.com/yargs/yargs-parser/compare/v19.0.2...v19.0.3) (2020-08-27)
-
-
-### Bug Fixes
-
-* **build:** switch to action for publish ([#308](https://www.github.com/yargs/yargs-parser/issues/308)) ([5c2f305](https://www.github.com/yargs/yargs-parser/commit/5c2f30585342bcd8aaf926407c863099d256d174))
-
-### [19.0.2](https://www.github.com/yargs/yargs-parser/compare/v19.0.1...v19.0.2) (2020-08-27)
-
-
-### Bug Fixes
-
-* **types:** envPrefix should be optional ([#305](https://www.github.com/yargs/yargs-parser/issues/305)) ([ae3f180](https://www.github.com/yargs/yargs-parser/commit/ae3f180e14df2de2fd962145f4518f9aa0e76523))
-
-### [19.0.1](https://www.github.com/yargs/yargs-parser/compare/v19.0.0...v19.0.1) (2020-08-09)
-
-
-### Bug Fixes
-
-* **build:** push tag created for deno ([2186a14](https://www.github.com/yargs/yargs-parser/commit/2186a14989749887d56189867602e39e6679f8b0))
-
-## [19.0.0](https://www.github.com/yargs/yargs-parser/compare/v18.1.3...v19.0.0) (2020-08-09)
-
-
-### ⚠ BREAKING CHANGES
-
-* adds support for ESM and Deno (#295)
-* **ts:** projects using `@types/yargs-parser` may see variations in type definitions.
-* drops Node 6. begin following Node.js LTS schedule (#278)
-
-### Features
-
-* adds support for ESM and Deno ([#295](https://www.github.com/yargs/yargs-parser/issues/295)) ([195bc4a](https://www.github.com/yargs/yargs-parser/commit/195bc4a7f20c2a8f8e33fbb6ba96ef6e9a0120a1))
-* expose camelCase and decamelize helpers ([#296](https://www.github.com/yargs/yargs-parser/issues/296)) ([39154ce](https://www.github.com/yargs/yargs-parser/commit/39154ceb5bdcf76b5f59a9219b34cedb79b67f26))
-* **deps:** update to latest camelcase/decamelize ([#281](https://www.github.com/yargs/yargs-parser/issues/281)) ([8931ab0](https://www.github.com/yargs/yargs-parser/commit/8931ab08f686cc55286f33a95a83537da2be5516))
-
-
-### Bug Fixes
-
-* boolean numeric short option ([#294](https://www.github.com/yargs/yargs-parser/issues/294)) ([f600082](https://www.github.com/yargs/yargs-parser/commit/f600082c959e092076caf420bbbc9d7a231e2418))
-* raise permission error for Deno if config load fails ([#298](https://www.github.com/yargs/yargs-parser/issues/298)) ([1174e2b](https://www.github.com/yargs/yargs-parser/commit/1174e2b3f0c845a1cd64e14ffc3703e730567a84))
-* **deps:** update dependency decamelize to v3 ([#274](https://www.github.com/yargs/yargs-parser/issues/274)) ([4d98698](https://www.github.com/yargs/yargs-parser/commit/4d98698bc6767e84ec54a0842908191739be73b7))
-* **types:** switch back to using Partial types ([#293](https://www.github.com/yargs/yargs-parser/issues/293)) ([bdc80ba](https://www.github.com/yargs/yargs-parser/commit/bdc80ba59fa13bc3025ce0a85e8bad9f9da24ea7))
-
-
-### Build System
-
-* drops Node 6. begin following Node.js LTS schedule ([#278](https://www.github.com/yargs/yargs-parser/issues/278)) ([9014ed7](https://www.github.com/yargs/yargs-parser/commit/9014ed722a32768b96b829e65a31705db5c1458a))
-
-
-### Code Refactoring
-
-* **ts:** move index.js to TypeScript ([#292](https://www.github.com/yargs/yargs-parser/issues/292)) ([f78d2b9](https://www.github.com/yargs/yargs-parser/commit/f78d2b97567ac4828624406e420b4047c710b789))
-
-### [18.1.3](https://www.github.com/yargs/yargs-parser/compare/v18.1.2...v18.1.3) (2020-04-16)
-
-
-### Bug Fixes
-
-* **setArg:** options using camel-case and dot-notation populated twice ([#268](https://www.github.com/yargs/yargs-parser/issues/268)) ([f7e15b9](https://www.github.com/yargs/yargs-parser/commit/f7e15b9800900b9856acac1a830a5f35847be73e))
-
-### [18.1.2](https://www.github.com/yargs/yargs-parser/compare/v18.1.1...v18.1.2) (2020-03-26)
-
-
-### Bug Fixes
-
-* **array, nargs:** support -o=--value and --option=--value format ([#262](https://www.github.com/yargs/yargs-parser/issues/262)) ([41d3f81](https://www.github.com/yargs/yargs-parser/commit/41d3f8139e116706b28de9b0de3433feb08d2f13))
-
-### [18.1.1](https://www.github.com/yargs/yargs-parser/compare/v18.1.0...v18.1.1) (2020-03-16)
-
-
-### Bug Fixes
-
-* \_\_proto\_\_ will now be replaced with \_\_\_proto\_\_\_ in parse ([#258](https://www.github.com/yargs/yargs-parser/issues/258)), patching a potential
-prototype pollution vulnerability. This was reported by the Snyk Security Research Team.([63810ca](https://www.github.com/yargs/yargs-parser/commit/63810ca1ae1a24b08293a4d971e70e058c7a41e2))
-
-## [18.1.0](https://www.github.com/yargs/yargs-parser/compare/v18.0.0...v18.1.0) (2020-03-07)
-
-
-### Features
-
-* introduce single-digit boolean aliases ([#255](https://www.github.com/yargs/yargs-parser/issues/255)) ([9c60265](https://www.github.com/yargs/yargs-parser/commit/9c60265fd7a03cb98e6df3e32c8c5e7508d9f56f))
-
-## [18.0.0](https://www.github.com/yargs/yargs-parser/compare/v17.1.0...v18.0.0) (2020-03-02)
-
-
-### ⚠ BREAKING CHANGES
-
-* the narg count is now enforced when parsing arrays.
-
-### Features
-
-* NaN can now be provided as a value for nargs, indicating "at least" one value is expected for array ([#251](https://www.github.com/yargs/yargs-parser/issues/251)) ([9db4be8](https://www.github.com/yargs/yargs-parser/commit/9db4be81417a2c7097128db34d86fe70ef4af70c))
-
-## [17.1.0](https://www.github.com/yargs/yargs-parser/compare/v17.0.1...v17.1.0) (2020-03-01)
-
-
-### Features
-
-* introduce greedy-arrays config, for specifying whether arrays consume multiple positionals ([#249](https://www.github.com/yargs/yargs-parser/issues/249)) ([60e880a](https://www.github.com/yargs/yargs-parser/commit/60e880a837046314d89fa4725f923837fd33a9eb))
-
-### [17.0.1](https://www.github.com/yargs/yargs-parser/compare/v17.0.0...v17.0.1) (2020-02-29)
-
-
-### Bug Fixes
-
-* normalized keys were not enumerable ([#247](https://www.github.com/yargs/yargs-parser/issues/247)) ([57119f9](https://www.github.com/yargs/yargs-parser/commit/57119f9f17cf27499bd95e61c2f72d18314f11ba))
-
-## [17.0.0](https://www.github.com/yargs/yargs-parser/compare/v16.1.0...v17.0.0) (2020-02-10)
-
-
-### ⚠ BREAKING CHANGES
-
-* this reverts parsing behavior of booleans to that of yargs@14
-* objects used during parsing are now created with a null
-prototype. There may be some scenarios where this change in behavior
-leaks externally.
-
-### Features
-
-* boolean arguments will not be collected into an implicit array ([#236](https://www.github.com/yargs/yargs-parser/issues/236)) ([34c4e19](https://www.github.com/yargs/yargs-parser/commit/34c4e19bae4e7af63e3cb6fa654a97ed476e5eb5))
-* introduce nargs-eats-options config option ([#246](https://www.github.com/yargs/yargs-parser/issues/246)) ([d50822a](https://www.github.com/yargs/yargs-parser/commit/d50822ac10e1b05f2e9643671ca131ac251b6732))
-
-
-### Bug Fixes
-
-* address bugs with "uknown-options-as-args" ([bc023e3](https://www.github.com/yargs/yargs-parser/commit/bc023e3b13e20a118353f9507d1c999bf388a346))
-* array should take precedence over nargs, but enforce nargs ([#243](https://www.github.com/yargs/yargs-parser/issues/243)) ([4cbc188](https://www.github.com/yargs/yargs-parser/commit/4cbc188b7abb2249529a19c090338debdad2fe6c))
-* support keys that collide with object prototypes ([#234](https://www.github.com/yargs/yargs-parser/issues/234)) ([1587b6d](https://www.github.com/yargs/yargs-parser/commit/1587b6d91db853a9109f1be6b209077993fee4de))
-* unknown options terminated with digits now handled by unknown-options-as-args ([#238](https://www.github.com/yargs/yargs-parser/issues/238)) ([d36cdfa](https://www.github.com/yargs/yargs-parser/commit/d36cdfa854254d7c7e0fe1d583818332ac46c2a5))
-
-## [16.1.0](https://www.github.com/yargs/yargs-parser/compare/v16.0.0...v16.1.0) (2019-11-01)
-
-
-### ⚠ BREAKING CHANGES
-
-* populate error if incompatible narg/count or array/count options are used (#191)
-
-### Features
-
-* options that have had their default value used are now tracked ([#211](https://www.github.com/yargs/yargs-parser/issues/211)) ([a525234](https://www.github.com/yargs/yargs-parser/commit/a525234558c847deedd73f8792e0a3b77b26e2c0))
-* populate error if incompatible narg/count or array/count options are used ([#191](https://www.github.com/yargs/yargs-parser/issues/191)) ([84a401f](https://www.github.com/yargs/yargs-parser/commit/84a401f0fa3095e0a19661670d1570d0c3b9d3c9))
-
-
-### Reverts
-
-* revert 16.0.0 CHANGELOG entry ([920320a](https://www.github.com/yargs/yargs-parser/commit/920320ad9861bbfd58eda39221ae211540fc1daf))
diff --git a/includes/search/node_modules/yargs-parser/LICENSE.txt b/includes/search/node_modules/yargs-parser/LICENSE.txt
deleted file mode 100644
index 836440b..0000000
--- a/includes/search/node_modules/yargs-parser/LICENSE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Copyright (c) 2016, Contributors
-
-Permission to use, copy, modify, and/or distribute this software
-for any purpose with or without fee is hereby granted, provided
-that the above copyright notice and this permission notice
-appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
-LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
-OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/includes/search/node_modules/yargs-parser/README.md b/includes/search/node_modules/yargs-parser/README.md
deleted file mode 100644
index 2614840..0000000
--- a/includes/search/node_modules/yargs-parser/README.md
+++ /dev/null
@@ -1,518 +0,0 @@
-# yargs-parser
-
-![ci](https://github.com/yargs/yargs-parser/workflows/ci/badge.svg)
-[![NPM version](https://img.shields.io/npm/v/yargs-parser.svg)](https://www.npmjs.com/package/yargs-parser)
-[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
-![nycrc config on GitHub](https://img.shields.io/nycrc/yargs/yargs-parser)
-
-The mighty option parser used by [yargs](https://github.com/yargs/yargs).
-
-visit the [yargs website](http://yargs.js.org/) for more examples, and thorough usage instructions.
-
-<img width="250" src="https://raw.githubusercontent.com/yargs/yargs-parser/main/yargs-logo.png">
-
-## Example
-
-```sh
-npm i yargs-parser --save
-```
-
-```js
-const argv = require('yargs-parser')(process.argv.slice(2))
-console.log(argv)
-```
-
-```console
-$ node example.js --foo=33 --bar hello
-{ _: [], foo: 33, bar: 'hello' }
-```
-
-_or parse a string!_
-
-```js
-const argv = require('yargs-parser')('--foo=99 --bar=33')
-console.log(argv)
-```
-
-```console
-{ _: [], foo: 99, bar: 33 }
-```
-
-Convert an array of mixed types before passing to `yargs-parser`:
-
-```js
-const parse = require('yargs-parser')
-parse(['-f', 11, '--zoom', 55].join(' ')) // <-- array to string
-parse(['-f', 11, '--zoom', 55].map(String)) // <-- array of strings
-```
-
-## Deno Example
-
-As of `v19` `yargs-parser` supports [Deno](https://github.com/denoland/deno):
-
-```typescript
-import parser from "https://deno.land/x/yargs_parser/deno.ts";
-
-const argv = parser('--foo=99 --bar=9987930', {
- string: ['bar']
-})
-console.log(argv)
-```
-
-## ESM Example
-
-As of `v19` `yargs-parser` supports ESM (_both in Node.js and in the browser_):
-
-**Node.js:**
-
-```js
-import parser from 'yargs-parser'
-
-const argv = parser('--foo=99 --bar=9987930', {
- string: ['bar']
-})
-console.log(argv)
-```
-
-**Browsers:**
-
-```html
-<!doctype html>
-<body>
- <script type="module">
- import parser from "https://unpkg.com/yargs-parser@19.0.0/browser.js";
-
- const argv = parser('--foo=99 --bar=9987930', {
- string: ['bar']
- })
- console.log(argv)
- </script>
-</body>
-```
-
-## API
-
-### parser(args, opts={})
-
-Parses command line arguments returning a simple mapping of keys and values.
-
-**expects:**
-
-* `args`: a string or array of strings representing the options to parse.
-* `opts`: provide a set of hints indicating how `args` should be parsed:
- * `opts.alias`: an object representing the set of aliases for a key: `{alias: {foo: ['f']}}`.
- * `opts.array`: indicate that keys should be parsed as an array: `{array: ['foo', 'bar']}`.<br>
- Indicate that keys should be parsed as an array and coerced to booleans / numbers:<br>
- `{array: [{ key: 'foo', boolean: true }, {key: 'bar', number: true}]}`.
- * `opts.boolean`: arguments should be parsed as booleans: `{boolean: ['x', 'y']}`.
- * `opts.coerce`: provide a custom synchronous function that returns a coerced value from the argument provided
- (or throws an error). For arrays the function is called only once for the entire array:<br>
- `{coerce: {foo: function (arg) {return modifiedArg}}}`.
- * `opts.config`: indicate a key that represents a path to a configuration file (this file will be loaded and parsed).
- * `opts.configObjects`: configuration objects to parse, their properties will be set as arguments:<br>
- `{configObjects: [{'x': 5, 'y': 33}, {'z': 44}]}`.
- * `opts.configuration`: provide configuration options to the yargs-parser (see: [configuration](#configuration)).
- * `opts.count`: indicate a key that should be used as a counter, e.g., `-vvv` = `{v: 3}`.
- * `opts.default`: provide default values for keys: `{default: {x: 33, y: 'hello world!'}}`.
- * `opts.envPrefix`: environment variables (`process.env`) with the prefix provided should be parsed.
- * `opts.narg`: specify that a key requires `n` arguments: `{narg: {x: 2}}`.
- * `opts.normalize`: `path.normalize()` will be applied to values set to this key.
- * `opts.number`: keys should be treated as numbers.
- * `opts.string`: keys should be treated as strings (even if they resemble a number `-x 33`).
-
-**returns:**
-
-* `obj`: an object representing the parsed value of `args`
- * `key/value`: key value pairs for each argument and their aliases.
- * `_`: an array representing the positional arguments.
- * [optional] `--`: an array with arguments after the end-of-options flag `--`.
-
-### require('yargs-parser').detailed(args, opts={})
-
-Parses a command line string, returning detailed information required by the
-yargs engine.
-
-**expects:**
-
-* `args`: a string or array of strings representing options to parse.
-* `opts`: provide a set of hints indicating how `args`, inputs are identical to `require('yargs-parser')(args, opts={})`.
-
-**returns:**
-
-* `argv`: an object representing the parsed value of `args`
- * `key/value`: key value pairs for each argument and their aliases.
- * `_`: an array representing the positional arguments.
- * [optional] `--`: an array with arguments after the end-of-options flag `--`.
-* `error`: populated with an error object if an exception occurred during parsing.
-* `aliases`: the inferred list of aliases built by combining lists in `opts.alias`.
-* `newAliases`: any new aliases added via camel-case expansion:
- * `boolean`: `{ fooBar: true }`
-* `defaulted`: any new argument created by `opts.default`, no aliases included.
- * `boolean`: `{ foo: true }`
-* `configuration`: given by default settings and `opts.configuration`.
-
-<a name="configuration"></a>
-
-### Configuration
-
-The yargs-parser applies several automated transformations on the keys provided
-in `args`. These features can be turned on and off using the `configuration` field
-of `opts`.
-
-```js
-var parsed = parser(['--no-dice'], {
- configuration: {
- 'boolean-negation': false
- }
-})
-```
-
-### short option groups
-
-* default: `true`.
-* key: `short-option-groups`.
-
-Should a group of short-options be treated as boolean flags?
-
-```console
-$ node example.js -abc
-{ _: [], a: true, b: true, c: true }
-```
-
-_if disabled:_
-
-```console
-$ node example.js -abc
-{ _: [], abc: true }
-```
-
-### camel-case expansion
-
-* default: `true`.
-* key: `camel-case-expansion`.
-
-Should hyphenated arguments be expanded into camel-case aliases?
-
-```console
-$ node example.js --foo-bar
-{ _: [], 'foo-bar': true, fooBar: true }
-```
-
-_if disabled:_
-
-```console
-$ node example.js --foo-bar
-{ _: [], 'foo-bar': true }
-```
-
-### dot-notation
-
-* default: `true`
-* key: `dot-notation`
-
-Should keys that contain `.` be treated as objects?
-
-```console
-$ node example.js --foo.bar
-{ _: [], foo: { bar: true } }
-```
-
-_if disabled:_
-
-```console
-$ node example.js --foo.bar
-{ _: [], "foo.bar": true }
-```
-
-### parse numbers
-
-* default: `true`
-* key: `parse-numbers`
-
-Should keys that look like numbers be treated as such?
-
-```console
-$ node example.js --foo=99.3
-{ _: [], foo: 99.3 }
-```
-
-_if disabled:_
-
-```console
-$ node example.js --foo=99.3
-{ _: [], foo: "99.3" }
-```
-
-### parse positional numbers
-
-* default: `true`
-* key: `parse-positional-numbers`
-
-Should positional keys that look like numbers be treated as such.
-
-```console
-$ node example.js 99.3
-{ _: [99.3] }
-```
-
-_if disabled:_
-
-```console
-$ node example.js 99.3
-{ _: ['99.3'] }
-```
-
-### boolean negation
-
-* default: `true`
-* key: `boolean-negation`
-
-Should variables prefixed with `--no` be treated as negations?
-
-```console
-$ node example.js --no-foo
-{ _: [], foo: false }
-```
-
-_if disabled:_
-
-```console
-$ node example.js --no-foo
-{ _: [], "no-foo": true }
-```
-
-### combine arrays
-
-* default: `false`
-* key: `combine-arrays`
-
-Should arrays be combined when provided by both command line arguments and
-a configuration file.
-
-### duplicate arguments array
-
-* default: `true`
-* key: `duplicate-arguments-array`
-
-Should arguments be coerced into an array when duplicated:
-
-```console
-$ node example.js -x 1 -x 2
-{ _: [], x: [1, 2] }
-```
-
-_if disabled:_
-
-```console
-$ node example.js -x 1 -x 2
-{ _: [], x: 2 }
-```
-
-### flatten duplicate arrays
-
-* default: `true`
-* key: `flatten-duplicate-arrays`
-
-Should array arguments be coerced into a single array when duplicated:
-
-```console
-$ node example.js -x 1 2 -x 3 4
-{ _: [], x: [1, 2, 3, 4] }
-```
-
-_if disabled:_
-
-```console
-$ node example.js -x 1 2 -x 3 4
-{ _: [], x: [[1, 2], [3, 4]] }
-```
-
-### greedy arrays
-
-* default: `true`
-* key: `greedy-arrays`
-
-Should arrays consume more than one positional argument following their flag.
-
-```console
-$ node example --arr 1 2
-{ _: [], arr: [1, 2] }
-```
-
-_if disabled:_
-
-```console
-$ node example --arr 1 2
-{ _: [2], arr: [1] }
-```
-
-**Note: in `v18.0.0` we are considering defaulting greedy arrays to `false`.**
-
-### nargs eats options
-
-* default: `false`
-* key: `nargs-eats-options`
-
-Should nargs consume dash options as well as positional arguments.
-
-### negation prefix
-
-* default: `no-`
-* key: `negation-prefix`
-
-The prefix to use for negated boolean variables.
-
-```console
-$ node example.js --no-foo
-{ _: [], foo: false }
-```
-
-_if set to `quux`:_
-
-```console
-$ node example.js --quuxfoo
-{ _: [], foo: false }
-```
-
-### populate --
-
-* default: `false`.
-* key: `populate--`
-
-Should unparsed flags be stored in `--` or `_`.
-
-_If disabled:_
-
-```console
-$ node example.js a -b -- x y
-{ _: [ 'a', 'x', 'y' ], b: true }
-```
-
-_If enabled:_
-
-```console
-$ node example.js a -b -- x y
-{ _: [ 'a' ], '--': [ 'x', 'y' ], b: true }
-```
-
-### set placeholder key
-
-* default: `false`.
-* key: `set-placeholder-key`.
-
-Should a placeholder be added for keys not set via the corresponding CLI argument?
-
-_If disabled:_
-
-```console
-$ node example.js -a 1 -c 2
-{ _: [], a: 1, c: 2 }
-```
-
-_If enabled:_
-
-```console
-$ node example.js -a 1 -c 2
-{ _: [], a: 1, b: undefined, c: 2 }
-```
-
-### halt at non-option
-
-* default: `false`.
-* key: `halt-at-non-option`.
-
-Should parsing stop at the first positional argument? This is similar to how e.g. `ssh` parses its command line.
-
-_If disabled:_
-
-```console
-$ node example.js -a run b -x y
-{ _: [ 'b' ], a: 'run', x: 'y' }
-```
-
-_If enabled:_
-
-```console
-$ node example.js -a run b -x y
-{ _: [ 'b', '-x', 'y' ], a: 'run' }
-```
-
-### strip aliased
-
-* default: `false`
-* key: `strip-aliased`
-
-Should aliases be removed before returning results?
-
-_If disabled:_
-
-```console
-$ node example.js --test-field 1
-{ _: [], 'test-field': 1, testField: 1, 'test-alias': 1, testAlias: 1 }
-```
-
-_If enabled:_
-
-```console
-$ node example.js --test-field 1
-{ _: [], 'test-field': 1, testField: 1 }
-```
-
-### strip dashed
-
-* default: `false`
-* key: `strip-dashed`
-
-Should dashed keys be removed before returning results? This option has no effect if
-`camel-case-expansion` is disabled.
-
-_If disabled:_
-
-```console
-$ node example.js --test-field 1
-{ _: [], 'test-field': 1, testField: 1 }
-```
-
-_If enabled:_
-
-```console
-$ node example.js --test-field 1
-{ _: [], testField: 1 }
-```
-
-### unknown options as args
-
-* default: `false`
-* key: `unknown-options-as-args`
-
-Should unknown options be treated like regular arguments? An unknown option is one that is not
-configured in `opts`.
-
-_If disabled_
-
-```console
-$ node example.js --unknown-option --known-option 2 --string-option --unknown-option2
-{ _: [], unknownOption: true, knownOption: 2, stringOption: '', unknownOption2: true }
-```
-
-_If enabled_
-
-```console
-$ node example.js --unknown-option --known-option 2 --string-option --unknown-option2
-{ _: ['--unknown-option'], knownOption: 2, stringOption: '--unknown-option2' }
-```
-
-## Supported Node.js Versions
-
-Libraries in this ecosystem make a best effort to track
-[Node.js' release schedule](https://nodejs.org/en/about/releases/). Here's [a
-post on why we think this is important](https://medium.com/the-node-js-collection/maintainers-should-consider-following-node-js-release-schedule-ab08ed4de71a).
-
-## Special Thanks
-
-The yargs project evolves from optimist and minimist. It owes its
-existence to a lot of James Halliday's hard work. Thanks [substack](https://github.com/substack) **beep** **boop** \o/
-
-## License
-
-ISC
diff --git a/includes/search/node_modules/yargs-parser/browser.js b/includes/search/node_modules/yargs-parser/browser.js
deleted file mode 100644
index 241202c..0000000
--- a/includes/search/node_modules/yargs-parser/browser.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// Main entrypoint for ESM web browser environments. Avoids using Node.js
-// specific libraries, such as "path".
-//
-// TODO: figure out reasonable web equivalents for "resolve", "normalize", etc.
-import { camelCase, decamelize, looksLikeNumber } from './build/lib/string-utils.js'
-import { YargsParser } from './build/lib/yargs-parser.js'
-const parser = new YargsParser({
- cwd: () => { return '' },
- format: (str, arg) => { return str.replace('%s', arg) },
- normalize: (str) => { return str },
- resolve: (str) => { return str },
- require: () => {
- throw Error('loading config from files not currently supported in browser')
- },
- env: () => {}
-})
-
-const yargsParser = function Parser (args, opts) {
- const result = parser.parse(args.slice(), opts)
- return result.argv
-}
-yargsParser.detailed = function (args, opts) {
- return parser.parse(args.slice(), opts)
-}
-yargsParser.camelCase = camelCase
-yargsParser.decamelize = decamelize
-yargsParser.looksLikeNumber = looksLikeNumber
-
-export default yargsParser
diff --git a/includes/search/node_modules/yargs-parser/build/index.cjs b/includes/search/node_modules/yargs-parser/build/index.cjs
deleted file mode 100644
index 33b5ebd..0000000
--- a/includes/search/node_modules/yargs-parser/build/index.cjs
+++ /dev/null
@@ -1,1042 +0,0 @@
-'use strict';
-
-var util = require('util');
-var fs = require('fs');
-var path = require('path');
-
-function camelCase(str) {
- const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase();
- if (!isCamelCase) {
- str = str.toLowerCase();
- }
- if (str.indexOf('-') === -1 && str.indexOf('_') === -1) {
- return str;
- }
- else {
- let camelcase = '';
- let nextChrUpper = false;
- const leadingHyphens = str.match(/^-+/);
- for (let i = leadingHyphens ? leadingHyphens[0].length : 0; i < str.length; i++) {
- let chr = str.charAt(i);
- if (nextChrUpper) {
- nextChrUpper = false;
- chr = chr.toUpperCase();
- }
- if (i !== 0 && (chr === '-' || chr === '_')) {
- nextChrUpper = true;
- }
- else if (chr !== '-' && chr !== '_') {
- camelcase += chr;
- }
- }
- return camelcase;
- }
-}
-function decamelize(str, joinString) {
- const lowercase = str.toLowerCase();
- joinString = joinString || '-';
- let notCamelcase = '';
- for (let i = 0; i < str.length; i++) {
- const chrLower = lowercase.charAt(i);
- const chrString = str.charAt(i);
- if (chrLower !== chrString && i > 0) {
- notCamelcase += `${joinString}${lowercase.charAt(i)}`;
- }
- else {
- notCamelcase += chrString;
- }
- }
- return notCamelcase;
-}
-function looksLikeNumber(x) {
- if (x === null || x === undefined)
- return false;
- if (typeof x === 'number')
- return true;
- if (/^0x[0-9a-f]+$/i.test(x))
- return true;
- if (/^0[^.]/.test(x))
- return false;
- return /^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
-}
-
-function tokenizeArgString(argString) {
- if (Array.isArray(argString)) {
- return argString.map(e => typeof e !== 'string' ? e + '' : e);
- }
- argString = argString.trim();
- let i = 0;
- let prevC = null;
- let c = null;
- let opening = null;
- const args = [];
- for (let ii = 0; ii < argString.length; ii++) {
- prevC = c;
- c = argString.charAt(ii);
- if (c === ' ' && !opening) {
- if (!(prevC === ' ')) {
- i++;
- }
- continue;
- }
- if (c === opening) {
- opening = null;
- }
- else if ((c === "'" || c === '"') && !opening) {
- opening = c;
- }
- if (!args[i])
- args[i] = '';
- args[i] += c;
- }
- return args;
-}
-
-var DefaultValuesForTypeKey;
-(function (DefaultValuesForTypeKey) {
- DefaultValuesForTypeKey["BOOLEAN"] = "boolean";
- DefaultValuesForTypeKey["STRING"] = "string";
- DefaultValuesForTypeKey["NUMBER"] = "number";
- DefaultValuesForTypeKey["ARRAY"] = "array";
-})(DefaultValuesForTypeKey || (DefaultValuesForTypeKey = {}));
-
-let mixin;
-class YargsParser {
- constructor(_mixin) {
- mixin = _mixin;
- }
- parse(argsInput, options) {
- const opts = Object.assign({
- alias: undefined,
- array: undefined,
- boolean: undefined,
- config: undefined,
- configObjects: undefined,
- configuration: undefined,
- coerce: undefined,
- count: undefined,
- default: undefined,
- envPrefix: undefined,
- narg: undefined,
- normalize: undefined,
- string: undefined,
- number: undefined,
- __: undefined,
- key: undefined
- }, options);
- const args = tokenizeArgString(argsInput);
- const aliases = combineAliases(Object.assign(Object.create(null), opts.alias));
- const configuration = Object.assign({
- 'boolean-negation': true,
- 'camel-case-expansion': true,
- 'combine-arrays': false,
- 'dot-notation': true,
- 'duplicate-arguments-array': true,
- 'flatten-duplicate-arrays': true,
- 'greedy-arrays': true,
- 'halt-at-non-option': false,
- 'nargs-eats-options': false,
- 'negation-prefix': 'no-',
- 'parse-numbers': true,
- 'parse-positional-numbers': true,
- 'populate--': false,
- 'set-placeholder-key': false,
- 'short-option-groups': true,
- 'strip-aliased': false,
- 'strip-dashed': false,
- 'unknown-options-as-args': false
- }, opts.configuration);
- const defaults = Object.assign(Object.create(null), opts.default);
- const configObjects = opts.configObjects || [];
- const envPrefix = opts.envPrefix;
- const notFlagsOption = configuration['populate--'];
- const notFlagsArgv = notFlagsOption ? '--' : '_';
- const newAliases = Object.create(null);
- const defaulted = Object.create(null);
- const __ = opts.__ || mixin.format;
- const flags = {
- aliases: Object.create(null),
- arrays: Object.create(null),
- bools: Object.create(null),
- strings: Object.create(null),
- numbers: Object.create(null),
- counts: Object.create(null),
- normalize: Object.create(null),
- configs: Object.create(null),
- nargs: Object.create(null),
- coercions: Object.create(null),
- keys: []
- };
- const negative = /^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/;
- const negatedBoolean = new RegExp('^--' + configuration['negation-prefix'] + '(.+)');
- [].concat(opts.array || []).filter(Boolean).forEach(function (opt) {
- const key = typeof opt === 'object' ? opt.key : opt;
- const assignment = Object.keys(opt).map(function (key) {
- const arrayFlagKeys = {
- boolean: 'bools',
- string: 'strings',
- number: 'numbers'
- };
- return arrayFlagKeys[key];
- }).filter(Boolean).pop();
- if (assignment) {
- flags[assignment][key] = true;
- }
- flags.arrays[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.boolean || []).filter(Boolean).forEach(function (key) {
- flags.bools[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.string || []).filter(Boolean).forEach(function (key) {
- flags.strings[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.number || []).filter(Boolean).forEach(function (key) {
- flags.numbers[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.count || []).filter(Boolean).forEach(function (key) {
- flags.counts[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.normalize || []).filter(Boolean).forEach(function (key) {
- flags.normalize[key] = true;
- flags.keys.push(key);
- });
- if (typeof opts.narg === 'object') {
- Object.entries(opts.narg).forEach(([key, value]) => {
- if (typeof value === 'number') {
- flags.nargs[key] = value;
- flags.keys.push(key);
- }
- });
- }
- if (typeof opts.coerce === 'object') {
- Object.entries(opts.coerce).forEach(([key, value]) => {
- if (typeof value === 'function') {
- flags.coercions[key] = value;
- flags.keys.push(key);
- }
- });
- }
- if (typeof opts.config !== 'undefined') {
- if (Array.isArray(opts.config) || typeof opts.config === 'string') {
- [].concat(opts.config).filter(Boolean).forEach(function (key) {
- flags.configs[key] = true;
- });
- }
- else if (typeof opts.config === 'object') {
- Object.entries(opts.config).forEach(([key, value]) => {
- if (typeof value === 'boolean' || typeof value === 'function') {
- flags.configs[key] = value;
- }
- });
- }
- }
- extendAliases(opts.key, aliases, opts.default, flags.arrays);
- Object.keys(defaults).forEach(function (key) {
- (flags.aliases[key] || []).forEach(function (alias) {
- defaults[alias] = defaults[key];
- });
- });
- let error = null;
- checkConfiguration();
- let notFlags = [];
- const argv = Object.assign(Object.create(null), { _: [] });
- const argvReturn = {};
- for (let i = 0; i < args.length; i++) {
- const arg = args[i];
- const truncatedArg = arg.replace(/^-{3,}/, '---');
- let broken;
- let key;
- let letters;
- let m;
- let next;
- let value;
- if (arg !== '--' && isUnknownOptionAsArg(arg)) {
- pushPositional(arg);
- }
- else if (truncatedArg.match(/---+(=|$)/)) {
- pushPositional(arg);
- continue;
- }
- else if (arg.match(/^--.+=/) || (!configuration['short-option-groups'] && arg.match(/^-.+=/))) {
- m = arg.match(/^--?([^=]+)=([\s\S]*)$/);
- if (m !== null && Array.isArray(m) && m.length >= 3) {
- if (checkAllAliases(m[1], flags.arrays)) {
- i = eatArray(i, m[1], args, m[2]);
- }
- else if (checkAllAliases(m[1], flags.nargs) !== false) {
- i = eatNargs(i, m[1], args, m[2]);
- }
- else {
- setArg(m[1], m[2]);
- }
- }
- }
- else if (arg.match(negatedBoolean) && configuration['boolean-negation']) {
- m = arg.match(negatedBoolean);
- if (m !== null && Array.isArray(m) && m.length >= 2) {
- key = m[1];
- setArg(key, checkAllAliases(key, flags.arrays) ? [false] : false);
- }
- }
- else if (arg.match(/^--.+/) || (!configuration['short-option-groups'] && arg.match(/^-[^-]+/))) {
- m = arg.match(/^--?(.+)/);
- if (m !== null && Array.isArray(m) && m.length >= 2) {
- key = m[1];
- if (checkAllAliases(key, flags.arrays)) {
- i = eatArray(i, key, args);
- }
- else if (checkAllAliases(key, flags.nargs) !== false) {
- i = eatNargs(i, key, args);
- }
- else {
- next = args[i + 1];
- if (next !== undefined && (!next.match(/^-/) ||
- next.match(negative)) &&
- !checkAllAliases(key, flags.bools) &&
- !checkAllAliases(key, flags.counts)) {
- setArg(key, next);
- i++;
- }
- else if (/^(true|false)$/.test(next)) {
- setArg(key, next);
- i++;
- }
- else {
- setArg(key, defaultValue(key));
- }
- }
- }
- }
- else if (arg.match(/^-.\..+=/)) {
- m = arg.match(/^-([^=]+)=([\s\S]*)$/);
- if (m !== null && Array.isArray(m) && m.length >= 3) {
- setArg(m[1], m[2]);
- }
- }
- else if (arg.match(/^-.\..+/) && !arg.match(negative)) {
- next = args[i + 1];
- m = arg.match(/^-(.\..+)/);
- if (m !== null && Array.isArray(m) && m.length >= 2) {
- key = m[1];
- if (next !== undefined && !next.match(/^-/) &&
- !checkAllAliases(key, flags.bools) &&
- !checkAllAliases(key, flags.counts)) {
- setArg(key, next);
- i++;
- }
- else {
- setArg(key, defaultValue(key));
- }
- }
- }
- else if (arg.match(/^-[^-]+/) && !arg.match(negative)) {
- letters = arg.slice(1, -1).split('');
- broken = false;
- for (let j = 0; j < letters.length; j++) {
- next = arg.slice(j + 2);
- if (letters[j + 1] && letters[j + 1] === '=') {
- value = arg.slice(j + 3);
- key = letters[j];
- if (checkAllAliases(key, flags.arrays)) {
- i = eatArray(i, key, args, value);
- }
- else if (checkAllAliases(key, flags.nargs) !== false) {
- i = eatNargs(i, key, args, value);
- }
- else {
- setArg(key, value);
- }
- broken = true;
- break;
- }
- if (next === '-') {
- setArg(letters[j], next);
- continue;
- }
- if (/[A-Za-z]/.test(letters[j]) &&
- /^-?\d+(\.\d*)?(e-?\d+)?$/.test(next) &&
- checkAllAliases(next, flags.bools) === false) {
- setArg(letters[j], next);
- broken = true;
- break;
- }
- if (letters[j + 1] && letters[j + 1].match(/\W/)) {
- setArg(letters[j], next);
- broken = true;
- break;
- }
- else {
- setArg(letters[j], defaultValue(letters[j]));
- }
- }
- key = arg.slice(-1)[0];
- if (!broken && key !== '-') {
- if (checkAllAliases(key, flags.arrays)) {
- i = eatArray(i, key, args);
- }
- else if (checkAllAliases(key, flags.nargs) !== false) {
- i = eatNargs(i, key, args);
- }
- else {
- next = args[i + 1];
- if (next !== undefined && (!/^(-|--)[^-]/.test(next) ||
- next.match(negative)) &&
- !checkAllAliases(key, flags.bools) &&
- !checkAllAliases(key, flags.counts)) {
- setArg(key, next);
- i++;
- }
- else if (/^(true|false)$/.test(next)) {
- setArg(key, next);
- i++;
- }
- else {
- setArg(key, defaultValue(key));
- }
- }
- }
- }
- else if (arg.match(/^-[0-9]$/) &&
- arg.match(negative) &&
- checkAllAliases(arg.slice(1), flags.bools)) {
- key = arg.slice(1);
- setArg(key, defaultValue(key));
- }
- else if (arg === '--') {
- notFlags = args.slice(i + 1);
- break;
- }
- else if (configuration['halt-at-non-option']) {
- notFlags = args.slice(i);
- break;
- }
- else {
- pushPositional(arg);
- }
- }
- applyEnvVars(argv, true);
- applyEnvVars(argv, false);
- setConfig(argv);
- setConfigObjects();
- applyDefaultsAndAliases(argv, flags.aliases, defaults, true);
- applyCoercions(argv);
- if (configuration['set-placeholder-key'])
- setPlaceholderKeys(argv);
- Object.keys(flags.counts).forEach(function (key) {
- if (!hasKey(argv, key.split('.')))
- setArg(key, 0);
- });
- if (notFlagsOption && notFlags.length)
- argv[notFlagsArgv] = [];
- notFlags.forEach(function (key) {
- argv[notFlagsArgv].push(key);
- });
- if (configuration['camel-case-expansion'] && configuration['strip-dashed']) {
- Object.keys(argv).filter(key => key !== '--' && key.includes('-')).forEach(key => {
- delete argv[key];
- });
- }
- if (configuration['strip-aliased']) {
- [].concat(...Object.keys(aliases).map(k => aliases[k])).forEach(alias => {
- if (configuration['camel-case-expansion'] && alias.includes('-')) {
- delete argv[alias.split('.').map(prop => camelCase(prop)).join('.')];
- }
- delete argv[alias];
- });
- }
- function pushPositional(arg) {
- const maybeCoercedNumber = maybeCoerceNumber('_', arg);
- if (typeof maybeCoercedNumber === 'string' || typeof maybeCoercedNumber === 'number') {
- argv._.push(maybeCoercedNumber);
- }
- }
- function eatNargs(i, key, args, argAfterEqualSign) {
- let ii;
- let toEat = checkAllAliases(key, flags.nargs);
- toEat = typeof toEat !== 'number' || isNaN(toEat) ? 1 : toEat;
- if (toEat === 0) {
- if (!isUndefined(argAfterEqualSign)) {
- error = Error(__('Argument unexpected for: %s', key));
- }
- setArg(key, defaultValue(key));
- return i;
- }
- let available = isUndefined(argAfterEqualSign) ? 0 : 1;
- if (configuration['nargs-eats-options']) {
- if (args.length - (i + 1) + available < toEat) {
- error = Error(__('Not enough arguments following: %s', key));
- }
- available = toEat;
- }
- else {
- for (ii = i + 1; ii < args.length; ii++) {
- if (!args[ii].match(/^-[^0-9]/) || args[ii].match(negative) || isUnknownOptionAsArg(args[ii]))
- available++;
- else
- break;
- }
- if (available < toEat)
- error = Error(__('Not enough arguments following: %s', key));
- }
- let consumed = Math.min(available, toEat);
- if (!isUndefined(argAfterEqualSign) && consumed > 0) {
- setArg(key, argAfterEqualSign);
- consumed--;
- }
- for (ii = i + 1; ii < (consumed + i + 1); ii++) {
- setArg(key, args[ii]);
- }
- return (i + consumed);
- }
- function eatArray(i, key, args, argAfterEqualSign) {
- let argsToSet = [];
- let next = argAfterEqualSign || args[i + 1];
- const nargsCount = checkAllAliases(key, flags.nargs);
- if (checkAllAliases(key, flags.bools) && !(/^(true|false)$/.test(next))) {
- argsToSet.push(true);
- }
- else if (isUndefined(next) ||
- (isUndefined(argAfterEqualSign) && /^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))) {
- if (defaults[key] !== undefined) {
- const defVal = defaults[key];
- argsToSet = Array.isArray(defVal) ? defVal : [defVal];
- }
- }
- else {
- if (!isUndefined(argAfterEqualSign)) {
- argsToSet.push(processValue(key, argAfterEqualSign));
- }
- for (let ii = i + 1; ii < args.length; ii++) {
- if ((!configuration['greedy-arrays'] && argsToSet.length > 0) ||
- (nargsCount && typeof nargsCount === 'number' && argsToSet.length >= nargsCount))
- break;
- next = args[ii];
- if (/^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))
- break;
- i = ii;
- argsToSet.push(processValue(key, next));
- }
- }
- if (typeof nargsCount === 'number' && ((nargsCount && argsToSet.length < nargsCount) ||
- (isNaN(nargsCount) && argsToSet.length === 0))) {
- error = Error(__('Not enough arguments following: %s', key));
- }
- setArg(key, argsToSet);
- return i;
- }
- function setArg(key, val) {
- if (/-/.test(key) && configuration['camel-case-expansion']) {
- const alias = key.split('.').map(function (prop) {
- return camelCase(prop);
- }).join('.');
- addNewAlias(key, alias);
- }
- const value = processValue(key, val);
- const splitKey = key.split('.');
- setKey(argv, splitKey, value);
- if (flags.aliases[key]) {
- flags.aliases[key].forEach(function (x) {
- const keyProperties = x.split('.');
- setKey(argv, keyProperties, value);
- });
- }
- if (splitKey.length > 1 && configuration['dot-notation']) {
- (flags.aliases[splitKey[0]] || []).forEach(function (x) {
- let keyProperties = x.split('.');
- const a = [].concat(splitKey);
- a.shift();
- keyProperties = keyProperties.concat(a);
- if (!(flags.aliases[key] || []).includes(keyProperties.join('.'))) {
- setKey(argv, keyProperties, value);
- }
- });
- }
- if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) {
- const keys = [key].concat(flags.aliases[key] || []);
- keys.forEach(function (key) {
- Object.defineProperty(argvReturn, key, {
- enumerable: true,
- get() {
- return val;
- },
- set(value) {
- val = typeof value === 'string' ? mixin.normalize(value) : value;
- }
- });
- });
- }
- }
- function addNewAlias(key, alias) {
- if (!(flags.aliases[key] && flags.aliases[key].length)) {
- flags.aliases[key] = [alias];
- newAliases[alias] = true;
- }
- if (!(flags.aliases[alias] && flags.aliases[alias].length)) {
- addNewAlias(alias, key);
- }
- }
- function processValue(key, val) {
- if (typeof val === 'string' &&
- (val[0] === "'" || val[0] === '"') &&
- val[val.length - 1] === val[0]) {
- val = val.substring(1, val.length - 1);
- }
- if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) {
- if (typeof val === 'string')
- val = val === 'true';
- }
- let value = Array.isArray(val)
- ? val.map(function (v) { return maybeCoerceNumber(key, v); })
- : maybeCoerceNumber(key, val);
- if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === 'boolean')) {
- value = increment();
- }
- if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {
- if (Array.isArray(val))
- value = val.map((val) => { return mixin.normalize(val); });
- else
- value = mixin.normalize(val);
- }
- return value;
- }
- function maybeCoerceNumber(key, value) {
- if (!configuration['parse-positional-numbers'] && key === '_')
- return value;
- if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.bools) && !Array.isArray(value)) {
- const shouldCoerceNumber = looksLikeNumber(value) && configuration['parse-numbers'] && (Number.isSafeInteger(Math.floor(parseFloat(`${value}`))));
- if (shouldCoerceNumber || (!isUndefined(value) && checkAllAliases(key, flags.numbers))) {
- value = Number(value);
- }
- }
- return value;
- }
- function setConfig(argv) {
- const configLookup = Object.create(null);
- applyDefaultsAndAliases(configLookup, flags.aliases, defaults);
- Object.keys(flags.configs).forEach(function (configKey) {
- const configPath = argv[configKey] || configLookup[configKey];
- if (configPath) {
- try {
- let config = null;
- const resolvedConfigPath = mixin.resolve(mixin.cwd(), configPath);
- const resolveConfig = flags.configs[configKey];
- if (typeof resolveConfig === 'function') {
- try {
- config = resolveConfig(resolvedConfigPath);
- }
- catch (e) {
- config = e;
- }
- if (config instanceof Error) {
- error = config;
- return;
- }
- }
- else {
- config = mixin.require(resolvedConfigPath);
- }
- setConfigObject(config);
- }
- catch (ex) {
- if (ex.name === 'PermissionDenied')
- error = ex;
- else if (argv[configKey])
- error = Error(__('Invalid JSON config file: %s', configPath));
- }
- }
- });
- }
- function setConfigObject(config, prev) {
- Object.keys(config).forEach(function (key) {
- const value = config[key];
- const fullKey = prev ? prev + '.' + key : key;
- if (typeof value === 'object' && value !== null && !Array.isArray(value) && configuration['dot-notation']) {
- setConfigObject(value, fullKey);
- }
- else {
- if (!hasKey(argv, fullKey.split('.')) || (checkAllAliases(fullKey, flags.arrays) && configuration['combine-arrays'])) {
- setArg(fullKey, value);
- }
- }
- });
- }
- function setConfigObjects() {
- if (typeof configObjects !== 'undefined') {
- configObjects.forEach(function (configObject) {
- setConfigObject(configObject);
- });
- }
- }
- function applyEnvVars(argv, configOnly) {
- if (typeof envPrefix === 'undefined')
- return;
- const prefix = typeof envPrefix === 'string' ? envPrefix : '';
- const env = mixin.env();
- Object.keys(env).forEach(function (envVar) {
- if (prefix === '' || envVar.lastIndexOf(prefix, 0) === 0) {
- const keys = envVar.split('__').map(function (key, i) {
- if (i === 0) {
- key = key.substring(prefix.length);
- }
- return camelCase(key);
- });
- if (((configOnly && flags.configs[keys.join('.')]) || !configOnly) && !hasKey(argv, keys)) {
- setArg(keys.join('.'), env[envVar]);
- }
- }
- });
- }
- function applyCoercions(argv) {
- let coerce;
- const applied = new Set();
- Object.keys(argv).forEach(function (key) {
- if (!applied.has(key)) {
- coerce = checkAllAliases(key, flags.coercions);
- if (typeof coerce === 'function') {
- try {
- const value = maybeCoerceNumber(key, coerce(argv[key]));
- ([].concat(flags.aliases[key] || [], key)).forEach(ali => {
- applied.add(ali);
- argv[ali] = value;
- });
- }
- catch (err) {
- error = err;
- }
- }
- }
- });
- }
- function setPlaceholderKeys(argv) {
- flags.keys.forEach((key) => {
- if (~key.indexOf('.'))
- return;
- if (typeof argv[key] === 'undefined')
- argv[key] = undefined;
- });
- return argv;
- }
- function applyDefaultsAndAliases(obj, aliases, defaults, canLog = false) {
- Object.keys(defaults).forEach(function (key) {
- if (!hasKey(obj, key.split('.'))) {
- setKey(obj, key.split('.'), defaults[key]);
- if (canLog)
- defaulted[key] = true;
- (aliases[key] || []).forEach(function (x) {
- if (hasKey(obj, x.split('.')))
- return;
- setKey(obj, x.split('.'), defaults[key]);
- });
- }
- });
- }
- function hasKey(obj, keys) {
- let o = obj;
- if (!configuration['dot-notation'])
- keys = [keys.join('.')];
- keys.slice(0, -1).forEach(function (key) {
- o = (o[key] || {});
- });
- const key = keys[keys.length - 1];
- if (typeof o !== 'object')
- return false;
- else
- return key in o;
- }
- function setKey(obj, keys, value) {
- let o = obj;
- if (!configuration['dot-notation'])
- keys = [keys.join('.')];
- keys.slice(0, -1).forEach(function (key) {
- key = sanitizeKey(key);
- if (typeof o === 'object' && o[key] === undefined) {
- o[key] = {};
- }
- if (typeof o[key] !== 'object' || Array.isArray(o[key])) {
- if (Array.isArray(o[key])) {
- o[key].push({});
- }
- else {
- o[key] = [o[key], {}];
- }
- o = o[key][o[key].length - 1];
- }
- else {
- o = o[key];
- }
- });
- const key = sanitizeKey(keys[keys.length - 1]);
- const isTypeArray = checkAllAliases(keys.join('.'), flags.arrays);
- const isValueArray = Array.isArray(value);
- let duplicate = configuration['duplicate-arguments-array'];
- if (!duplicate && checkAllAliases(key, flags.nargs)) {
- duplicate = true;
- if ((!isUndefined(o[key]) && flags.nargs[key] === 1) || (Array.isArray(o[key]) && o[key].length === flags.nargs[key])) {
- o[key] = undefined;
- }
- }
- if (value === increment()) {
- o[key] = increment(o[key]);
- }
- else if (Array.isArray(o[key])) {
- if (duplicate && isTypeArray && isValueArray) {
- o[key] = configuration['flatten-duplicate-arrays'] ? o[key].concat(value) : (Array.isArray(o[key][0]) ? o[key] : [o[key]]).concat([value]);
- }
- else if (!duplicate && Boolean(isTypeArray) === Boolean(isValueArray)) {
- o[key] = value;
- }
- else {
- o[key] = o[key].concat([value]);
- }
- }
- else if (o[key] === undefined && isTypeArray) {
- o[key] = isValueArray ? value : [value];
- }
- else if (duplicate && !(o[key] === undefined ||
- checkAllAliases(key, flags.counts) ||
- checkAllAliases(key, flags.bools))) {
- o[key] = [o[key], value];
- }
- else {
- o[key] = value;
- }
- }
- function extendAliases(...args) {
- args.forEach(function (obj) {
- Object.keys(obj || {}).forEach(function (key) {
- if (flags.aliases[key])
- return;
- flags.aliases[key] = [].concat(aliases[key] || []);
- flags.aliases[key].concat(key).forEach(function (x) {
- if (/-/.test(x) && configuration['camel-case-expansion']) {
- const c = camelCase(x);
- if (c !== key && flags.aliases[key].indexOf(c) === -1) {
- flags.aliases[key].push(c);
- newAliases[c] = true;
- }
- }
- });
- flags.aliases[key].concat(key).forEach(function (x) {
- if (x.length > 1 && /[A-Z]/.test(x) && configuration['camel-case-expansion']) {
- const c = decamelize(x, '-');
- if (c !== key && flags.aliases[key].indexOf(c) === -1) {
- flags.aliases[key].push(c);
- newAliases[c] = true;
- }
- }
- });
- flags.aliases[key].forEach(function (x) {
- flags.aliases[x] = [key].concat(flags.aliases[key].filter(function (y) {
- return x !== y;
- }));
- });
- });
- });
- }
- function checkAllAliases(key, flag) {
- const toCheck = [].concat(flags.aliases[key] || [], key);
- const keys = Object.keys(flag);
- const setAlias = toCheck.find(key => keys.includes(key));
- return setAlias ? flag[setAlias] : false;
- }
- function hasAnyFlag(key) {
- const flagsKeys = Object.keys(flags);
- const toCheck = [].concat(flagsKeys.map(k => flags[k]));
- return toCheck.some(function (flag) {
- return Array.isArray(flag) ? flag.includes(key) : flag[key];
- });
- }
- function hasFlagsMatching(arg, ...patterns) {
- const toCheck = [].concat(...patterns);
- return toCheck.some(function (pattern) {
- const match = arg.match(pattern);
- return match && hasAnyFlag(match[1]);
- });
- }
- function hasAllShortFlags(arg) {
- if (arg.match(negative) || !arg.match(/^-[^-]+/)) {
- return false;
- }
- let hasAllFlags = true;
- let next;
- const letters = arg.slice(1).split('');
- for (let j = 0; j < letters.length; j++) {
- next = arg.slice(j + 2);
- if (!hasAnyFlag(letters[j])) {
- hasAllFlags = false;
- break;
- }
- if ((letters[j + 1] && letters[j + 1] === '=') ||
- next === '-' ||
- (/[A-Za-z]/.test(letters[j]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) ||
- (letters[j + 1] && letters[j + 1].match(/\W/))) {
- break;
- }
- }
- return hasAllFlags;
- }
- function isUnknownOptionAsArg(arg) {
- return configuration['unknown-options-as-args'] && isUnknownOption(arg);
- }
- function isUnknownOption(arg) {
- arg = arg.replace(/^-{3,}/, '--');
- if (arg.match(negative)) {
- return false;
- }
- if (hasAllShortFlags(arg)) {
- return false;
- }
- const flagWithEquals = /^-+([^=]+?)=[\s\S]*$/;
- const normalFlag = /^-+([^=]+?)$/;
- const flagEndingInHyphen = /^-+([^=]+?)-$/;
- const flagEndingInDigits = /^-+([^=]+?\d+)$/;
- const flagEndingInNonWordCharacters = /^-+([^=]+?)\W+.*$/;
- return !hasFlagsMatching(arg, flagWithEquals, negatedBoolean, normalFlag, flagEndingInHyphen, flagEndingInDigits, flagEndingInNonWordCharacters);
- }
- function defaultValue(key) {
- if (!checkAllAliases(key, flags.bools) &&
- !checkAllAliases(key, flags.counts) &&
- `${key}` in defaults) {
- return defaults[key];
- }
- else {
- return defaultForType(guessType(key));
- }
- }
- function defaultForType(type) {
- const def = {
- [DefaultValuesForTypeKey.BOOLEAN]: true,
- [DefaultValuesForTypeKey.STRING]: '',
- [DefaultValuesForTypeKey.NUMBER]: undefined,
- [DefaultValuesForTypeKey.ARRAY]: []
- };
- return def[type];
- }
- function guessType(key) {
- let type = DefaultValuesForTypeKey.BOOLEAN;
- if (checkAllAliases(key, flags.strings))
- type = DefaultValuesForTypeKey.STRING;
- else if (checkAllAliases(key, flags.numbers))
- type = DefaultValuesForTypeKey.NUMBER;
- else if (checkAllAliases(key, flags.bools))
- type = DefaultValuesForTypeKey.BOOLEAN;
- else if (checkAllAliases(key, flags.arrays))
- type = DefaultValuesForTypeKey.ARRAY;
- return type;
- }
- function isUndefined(num) {
- return num === undefined;
- }
- function checkConfiguration() {
- Object.keys(flags.counts).find(key => {
- if (checkAllAliases(key, flags.arrays)) {
- error = Error(__('Invalid configuration: %s, opts.count excludes opts.array.', key));
- return true;
- }
- else if (checkAllAliases(key, flags.nargs)) {
- error = Error(__('Invalid configuration: %s, opts.count excludes opts.narg.', key));
- return true;
- }
- return false;
- });
- }
- return {
- aliases: Object.assign({}, flags.aliases),
- argv: Object.assign(argvReturn, argv),
- configuration: configuration,
- defaulted: Object.assign({}, defaulted),
- error: error,
- newAliases: Object.assign({}, newAliases)
- };
- }
-}
-function combineAliases(aliases) {
- const aliasArrays = [];
- const combined = Object.create(null);
- let change = true;
- Object.keys(aliases).forEach(function (key) {
- aliasArrays.push([].concat(aliases[key], key));
- });
- while (change) {
- change = false;
- for (let i = 0; i < aliasArrays.length; i++) {
- for (let ii = i + 1; ii < aliasArrays.length; ii++) {
- const intersect = aliasArrays[i].filter(function (v) {
- return aliasArrays[ii].indexOf(v) !== -1;
- });
- if (intersect.length) {
- aliasArrays[i] = aliasArrays[i].concat(aliasArrays[ii]);
- aliasArrays.splice(ii, 1);
- change = true;
- break;
- }
- }
- }
- }
- aliasArrays.forEach(function (aliasArray) {
- aliasArray = aliasArray.filter(function (v, i, self) {
- return self.indexOf(v) === i;
- });
- const lastAlias = aliasArray.pop();
- if (lastAlias !== undefined && typeof lastAlias === 'string') {
- combined[lastAlias] = aliasArray;
- }
- });
- return combined;
-}
-function increment(orig) {
- return orig !== undefined ? orig + 1 : 1;
-}
-function sanitizeKey(key) {
- if (key === '__proto__')
- return '___proto___';
- return key;
-}
-
-const minNodeVersion = (process && process.env && process.env.YARGS_MIN_NODE_VERSION)
- ? Number(process.env.YARGS_MIN_NODE_VERSION)
- : 10;
-if (process && process.version) {
- const major = Number(process.version.match(/v([^.]+)/)[1]);
- if (major < minNodeVersion) {
- throw Error(`yargs parser supports a minimum Node.js version of ${minNodeVersion}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);
- }
-}
-const env = process ? process.env : {};
-const parser = new YargsParser({
- cwd: process.cwd,
- env: () => {
- return env;
- },
- format: util.format,
- normalize: path.normalize,
- resolve: path.resolve,
- require: (path) => {
- if (typeof require !== 'undefined') {
- return require(path);
- }
- else if (path.match(/\.json$/)) {
- return fs.readFileSync(path, 'utf8');
- }
- else {
- throw Error('only .json config files are supported in ESM');
- }
- }
-});
-const yargsParser = function Parser(args, opts) {
- const result = parser.parse(args.slice(), opts);
- return result.argv;
-};
-yargsParser.detailed = function (args, opts) {
- return parser.parse(args.slice(), opts);
-};
-yargsParser.camelCase = camelCase;
-yargsParser.decamelize = decamelize;
-yargsParser.looksLikeNumber = looksLikeNumber;
-
-module.exports = yargsParser;
diff --git a/includes/search/node_modules/yargs-parser/build/lib/index.js b/includes/search/node_modules/yargs-parser/build/lib/index.js
deleted file mode 100644
index cc50788..0000000
--- a/includes/search/node_modules/yargs-parser/build/lib/index.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * @fileoverview Main entrypoint for libraries using yargs-parser in Node.js
- * CJS and ESM environments.
- *
- * @license
- * Copyright (c) 2016, Contributors
- * SPDX-License-Identifier: ISC
- */
-import { format } from 'util';
-import { readFileSync } from 'fs';
-import { normalize, resolve } from 'path';
-import { camelCase, decamelize, looksLikeNumber } from './string-utils.js';
-import { YargsParser } from './yargs-parser.js';
-// See https://github.com/yargs/yargs-parser#supported-nodejs-versions for our
-// version support policy. The YARGS_MIN_NODE_VERSION is used for testing only.
-const minNodeVersion = (process && process.env && process.env.YARGS_MIN_NODE_VERSION)
- ? Number(process.env.YARGS_MIN_NODE_VERSION)
- : 10;
-if (process && process.version) {
- const major = Number(process.version.match(/v([^.]+)/)[1]);
- if (major < minNodeVersion) {
- throw Error(`yargs parser supports a minimum Node.js version of ${minNodeVersion}. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions`);
- }
-}
-// Creates a yargs-parser instance using Node.js standard libraries:
-const env = process ? process.env : {};
-const parser = new YargsParser({
- cwd: process.cwd,
- env: () => {
- return env;
- },
- format,
- normalize,
- resolve,
- // TODO: figure out a way to combine ESM and CJS coverage, such that
- // we can exercise all the lines below:
- require: (path) => {
- if (typeof require !== 'undefined') {
- return require(path);
- }
- else if (path.match(/\.json$/)) {
- return readFileSync(path, 'utf8');
- }
- else {
- throw Error('only .json config files are supported in ESM');
- }
- }
-});
-const yargsParser = function Parser(args, opts) {
- const result = parser.parse(args.slice(), opts);
- return result.argv;
-};
-yargsParser.detailed = function (args, opts) {
- return parser.parse(args.slice(), opts);
-};
-yargsParser.camelCase = camelCase;
-yargsParser.decamelize = decamelize;
-yargsParser.looksLikeNumber = looksLikeNumber;
-export default yargsParser;
diff --git a/includes/search/node_modules/yargs-parser/build/lib/string-utils.js b/includes/search/node_modules/yargs-parser/build/lib/string-utils.js
deleted file mode 100644
index 4e8bd99..0000000
--- a/includes/search/node_modules/yargs-parser/build/lib/string-utils.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * @license
- * Copyright (c) 2016, Contributors
- * SPDX-License-Identifier: ISC
- */
-export function camelCase(str) {
- // Handle the case where an argument is provided as camel case, e.g., fooBar.
- // by ensuring that the string isn't already mixed case:
- const isCamelCase = str !== str.toLowerCase() && str !== str.toUpperCase();
- if (!isCamelCase) {
- str = str.toLowerCase();
- }
- if (str.indexOf('-') === -1 && str.indexOf('_') === -1) {
- return str;
- }
- else {
- let camelcase = '';
- let nextChrUpper = false;
- const leadingHyphens = str.match(/^-+/);
- for (let i = leadingHyphens ? leadingHyphens[0].length : 0; i < str.length; i++) {
- let chr = str.charAt(i);
- if (nextChrUpper) {
- nextChrUpper = false;
- chr = chr.toUpperCase();
- }
- if (i !== 0 && (chr === '-' || chr === '_')) {
- nextChrUpper = true;
- }
- else if (chr !== '-' && chr !== '_') {
- camelcase += chr;
- }
- }
- return camelcase;
- }
-}
-export function decamelize(str, joinString) {
- const lowercase = str.toLowerCase();
- joinString = joinString || '-';
- let notCamelcase = '';
- for (let i = 0; i < str.length; i++) {
- const chrLower = lowercase.charAt(i);
- const chrString = str.charAt(i);
- if (chrLower !== chrString && i > 0) {
- notCamelcase += `${joinString}${lowercase.charAt(i)}`;
- }
- else {
- notCamelcase += chrString;
- }
- }
- return notCamelcase;
-}
-export function looksLikeNumber(x) {
- if (x === null || x === undefined)
- return false;
- // if loaded from config, may already be a number.
- if (typeof x === 'number')
- return true;
- // hexadecimal.
- if (/^0x[0-9a-f]+$/i.test(x))
- return true;
- // don't treat 0123 as a number; as it drops the leading '0'.
- if (/^0[^.]/.test(x))
- return false;
- return /^[-]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
-}
diff --git a/includes/search/node_modules/yargs-parser/build/lib/tokenize-arg-string.js b/includes/search/node_modules/yargs-parser/build/lib/tokenize-arg-string.js
deleted file mode 100644
index 5e732ef..0000000
--- a/includes/search/node_modules/yargs-parser/build/lib/tokenize-arg-string.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * @license
- * Copyright (c) 2016, Contributors
- * SPDX-License-Identifier: ISC
- */
-// take an un-split argv string and tokenize it.
-export function tokenizeArgString(argString) {
- if (Array.isArray(argString)) {
- return argString.map(e => typeof e !== 'string' ? e + '' : e);
- }
- argString = argString.trim();
- let i = 0;
- let prevC = null;
- let c = null;
- let opening = null;
- const args = [];
- for (let ii = 0; ii < argString.length; ii++) {
- prevC = c;
- c = argString.charAt(ii);
- // split on spaces unless we're in quotes.
- if (c === ' ' && !opening) {
- if (!(prevC === ' ')) {
- i++;
- }
- continue;
- }
- // don't split the string if we're in matching
- // opening or closing single and double quotes.
- if (c === opening) {
- opening = null;
- }
- else if ((c === "'" || c === '"') && !opening) {
- opening = c;
- }
- if (!args[i])
- args[i] = '';
- args[i] += c;
- }
- return args;
-}
diff --git a/includes/search/node_modules/yargs-parser/build/lib/yargs-parser-types.js b/includes/search/node_modules/yargs-parser/build/lib/yargs-parser-types.js
deleted file mode 100644
index 63b7c31..0000000
--- a/includes/search/node_modules/yargs-parser/build/lib/yargs-parser-types.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * @license
- * Copyright (c) 2016, Contributors
- * SPDX-License-Identifier: ISC
- */
-export var DefaultValuesForTypeKey;
-(function (DefaultValuesForTypeKey) {
- DefaultValuesForTypeKey["BOOLEAN"] = "boolean";
- DefaultValuesForTypeKey["STRING"] = "string";
- DefaultValuesForTypeKey["NUMBER"] = "number";
- DefaultValuesForTypeKey["ARRAY"] = "array";
-})(DefaultValuesForTypeKey || (DefaultValuesForTypeKey = {}));
diff --git a/includes/search/node_modules/yargs-parser/build/lib/yargs-parser.js b/includes/search/node_modules/yargs-parser/build/lib/yargs-parser.js
deleted file mode 100644
index 828a440..0000000
--- a/includes/search/node_modules/yargs-parser/build/lib/yargs-parser.js
+++ /dev/null
@@ -1,1037 +0,0 @@
-/**
- * @license
- * Copyright (c) 2016, Contributors
- * SPDX-License-Identifier: ISC
- */
-import { tokenizeArgString } from './tokenize-arg-string.js';
-import { DefaultValuesForTypeKey } from './yargs-parser-types.js';
-import { camelCase, decamelize, looksLikeNumber } from './string-utils.js';
-let mixin;
-export class YargsParser {
- constructor(_mixin) {
- mixin = _mixin;
- }
- parse(argsInput, options) {
- const opts = Object.assign({
- alias: undefined,
- array: undefined,
- boolean: undefined,
- config: undefined,
- configObjects: undefined,
- configuration: undefined,
- coerce: undefined,
- count: undefined,
- default: undefined,
- envPrefix: undefined,
- narg: undefined,
- normalize: undefined,
- string: undefined,
- number: undefined,
- __: undefined,
- key: undefined
- }, options);
- // allow a string argument to be passed in rather
- // than an argv array.
- const args = tokenizeArgString(argsInput);
- // aliases might have transitive relationships, normalize this.
- const aliases = combineAliases(Object.assign(Object.create(null), opts.alias));
- const configuration = Object.assign({
- 'boolean-negation': true,
- 'camel-case-expansion': true,
- 'combine-arrays': false,
- 'dot-notation': true,
- 'duplicate-arguments-array': true,
- 'flatten-duplicate-arrays': true,
- 'greedy-arrays': true,
- 'halt-at-non-option': false,
- 'nargs-eats-options': false,
- 'negation-prefix': 'no-',
- 'parse-numbers': true,
- 'parse-positional-numbers': true,
- 'populate--': false,
- 'set-placeholder-key': false,
- 'short-option-groups': true,
- 'strip-aliased': false,
- 'strip-dashed': false,
- 'unknown-options-as-args': false
- }, opts.configuration);
- const defaults = Object.assign(Object.create(null), opts.default);
- const configObjects = opts.configObjects || [];
- const envPrefix = opts.envPrefix;
- const notFlagsOption = configuration['populate--'];
- const notFlagsArgv = notFlagsOption ? '--' : '_';
- const newAliases = Object.create(null);
- const defaulted = Object.create(null);
- // allow a i18n handler to be passed in, default to a fake one (util.format).
- const __ = opts.__ || mixin.format;
- const flags = {
- aliases: Object.create(null),
- arrays: Object.create(null),
- bools: Object.create(null),
- strings: Object.create(null),
- numbers: Object.create(null),
- counts: Object.create(null),
- normalize: Object.create(null),
- configs: Object.create(null),
- nargs: Object.create(null),
- coercions: Object.create(null),
- keys: []
- };
- const negative = /^-([0-9]+(\.[0-9]+)?|\.[0-9]+)$/;
- const negatedBoolean = new RegExp('^--' + configuration['negation-prefix'] + '(.+)');
- [].concat(opts.array || []).filter(Boolean).forEach(function (opt) {
- const key = typeof opt === 'object' ? opt.key : opt;
- // assign to flags[bools|strings|numbers]
- const assignment = Object.keys(opt).map(function (key) {
- const arrayFlagKeys = {
- boolean: 'bools',
- string: 'strings',
- number: 'numbers'
- };
- return arrayFlagKeys[key];
- }).filter(Boolean).pop();
- // assign key to be coerced
- if (assignment) {
- flags[assignment][key] = true;
- }
- flags.arrays[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.boolean || []).filter(Boolean).forEach(function (key) {
- flags.bools[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.string || []).filter(Boolean).forEach(function (key) {
- flags.strings[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.number || []).filter(Boolean).forEach(function (key) {
- flags.numbers[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.count || []).filter(Boolean).forEach(function (key) {
- flags.counts[key] = true;
- flags.keys.push(key);
- });
- [].concat(opts.normalize || []).filter(Boolean).forEach(function (key) {
- flags.normalize[key] = true;
- flags.keys.push(key);
- });
- if (typeof opts.narg === 'object') {
- Object.entries(opts.narg).forEach(([key, value]) => {
- if (typeof value === 'number') {
- flags.nargs[key] = value;
- flags.keys.push(key);
- }
- });
- }
- if (typeof opts.coerce === 'object') {
- Object.entries(opts.coerce).forEach(([key, value]) => {
- if (typeof value === 'function') {
- flags.coercions[key] = value;
- flags.keys.push(key);
- }
- });
- }
- if (typeof opts.config !== 'undefined') {
- if (Array.isArray(opts.config) || typeof opts.config === 'string') {
- ;
- [].concat(opts.config).filter(Boolean).forEach(function (key) {
- flags.configs[key] = true;
- });
- }
- else if (typeof opts.config === 'object') {
- Object.entries(opts.config).forEach(([key, value]) => {
- if (typeof value === 'boolean' || typeof value === 'function') {
- flags.configs[key] = value;
- }
- });
- }
- }
- // create a lookup table that takes into account all
- // combinations of aliases: {f: ['foo'], foo: ['f']}
- extendAliases(opts.key, aliases, opts.default, flags.arrays);
- // apply default values to all aliases.
- Object.keys(defaults).forEach(function (key) {
- (flags.aliases[key] || []).forEach(function (alias) {
- defaults[alias] = defaults[key];
- });
- });
- let error = null;
- checkConfiguration();
- let notFlags = [];
- const argv = Object.assign(Object.create(null), { _: [] });
- // TODO(bcoe): for the first pass at removing object prototype we didn't
- // remove all prototypes from objects returned by this API, we might want
- // to gradually move towards doing so.
- const argvReturn = {};
- for (let i = 0; i < args.length; i++) {
- const arg = args[i];
- const truncatedArg = arg.replace(/^-{3,}/, '---');
- let broken;
- let key;
- let letters;
- let m;
- let next;
- let value;
- // any unknown option (except for end-of-options, "--")
- if (arg !== '--' && isUnknownOptionAsArg(arg)) {
- pushPositional(arg);
- // ---, ---=, ----, etc,
- }
- else if (truncatedArg.match(/---+(=|$)/)) {
- // options without key name are invalid.
- pushPositional(arg);
- continue;
- // -- separated by =
- }
- else if (arg.match(/^--.+=/) || (!configuration['short-option-groups'] && arg.match(/^-.+=/))) {
- // Using [\s\S] instead of . because js doesn't support the
- // 'dotall' regex modifier. See:
- // http://stackoverflow.com/a/1068308/13216
- m = arg.match(/^--?([^=]+)=([\s\S]*)$/);
- // arrays format = '--f=a b c'
- if (m !== null && Array.isArray(m) && m.length >= 3) {
- if (checkAllAliases(m[1], flags.arrays)) {
- i = eatArray(i, m[1], args, m[2]);
- }
- else if (checkAllAliases(m[1], flags.nargs) !== false) {
- // nargs format = '--f=monkey washing cat'
- i = eatNargs(i, m[1], args, m[2]);
- }
- else {
- setArg(m[1], m[2]);
- }
- }
- }
- else if (arg.match(negatedBoolean) && configuration['boolean-negation']) {
- m = arg.match(negatedBoolean);
- if (m !== null && Array.isArray(m) && m.length >= 2) {
- key = m[1];
- setArg(key, checkAllAliases(key, flags.arrays) ? [false] : false);
- }
- // -- separated by space.
- }
- else if (arg.match(/^--.+/) || (!configuration['short-option-groups'] && arg.match(/^-[^-]+/))) {
- m = arg.match(/^--?(.+)/);
- if (m !== null && Array.isArray(m) && m.length >= 2) {
- key = m[1];
- if (checkAllAliases(key, flags.arrays)) {
- // array format = '--foo a b c'
- i = eatArray(i, key, args);
- }
- else if (checkAllAliases(key, flags.nargs) !== false) {
- // nargs format = '--foo a b c'
- // should be truthy even if: flags.nargs[key] === 0
- i = eatNargs(i, key, args);
- }
- else {
- next = args[i + 1];
- if (next !== undefined && (!next.match(/^-/) ||
- next.match(negative)) &&
- !checkAllAliases(key, flags.bools) &&
- !checkAllAliases(key, flags.counts)) {
- setArg(key, next);
- i++;
- }
- else if (/^(true|false)$/.test(next)) {
- setArg(key, next);
- i++;
- }
- else {
- setArg(key, defaultValue(key));
- }
- }
- }
- // dot-notation flag separated by '='.
- }
- else if (arg.match(/^-.\..+=/)) {
- m = arg.match(/^-([^=]+)=([\s\S]*)$/);
- if (m !== null && Array.isArray(m) && m.length >= 3) {
- setArg(m[1], m[2]);
- }
- // dot-notation flag separated by space.
- }
- else if (arg.match(/^-.\..+/) && !arg.match(negative)) {
- next = args[i + 1];
- m = arg.match(/^-(.\..+)/);
- if (m !== null && Array.isArray(m) && m.length >= 2) {
- key = m[1];
- if (next !== undefined && !next.match(/^-/) &&
- !checkAllAliases(key, flags.bools) &&
- !checkAllAliases(key, flags.counts)) {
- setArg(key, next);
- i++;
- }
- else {
- setArg(key, defaultValue(key));
- }
- }
- }
- else if (arg.match(/^-[^-]+/) && !arg.match(negative)) {
- letters = arg.slice(1, -1).split('');
- broken = false;
- for (let j = 0; j < letters.length; j++) {
- next = arg.slice(j + 2);
- if (letters[j + 1] && letters[j + 1] === '=') {
- value = arg.slice(j + 3);
- key = letters[j];
- if (checkAllAliases(key, flags.arrays)) {
- // array format = '-f=a b c'
- i = eatArray(i, key, args, value);
- }
- else if (checkAllAliases(key, flags.nargs) !== false) {
- // nargs format = '-f=monkey washing cat'
- i = eatNargs(i, key, args, value);
- }
- else {
- setArg(key, value);
- }
- broken = true;
- break;
- }
- if (next === '-') {
- setArg(letters[j], next);
- continue;
- }
- // current letter is an alphabetic character and next value is a number
- if (/[A-Za-z]/.test(letters[j]) &&
- /^-?\d+(\.\d*)?(e-?\d+)?$/.test(next) &&
- checkAllAliases(next, flags.bools) === false) {
- setArg(letters[j], next);
- broken = true;
- break;
- }
- if (letters[j + 1] && letters[j + 1].match(/\W/)) {
- setArg(letters[j], next);
- broken = true;
- break;
- }
- else {
- setArg(letters[j], defaultValue(letters[j]));
- }
- }
- key = arg.slice(-1)[0];
- if (!broken && key !== '-') {
- if (checkAllAliases(key, flags.arrays)) {
- // array format = '-f a b c'
- i = eatArray(i, key, args);
- }
- else if (checkAllAliases(key, flags.nargs) !== false) {
- // nargs format = '-f a b c'
- // should be truthy even if: flags.nargs[key] === 0
- i = eatNargs(i, key, args);
- }
- else {
- next = args[i + 1];
- if (next !== undefined && (!/^(-|--)[^-]/.test(next) ||
- next.match(negative)) &&
- !checkAllAliases(key, flags.bools) &&
- !checkAllAliases(key, flags.counts)) {
- setArg(key, next);
- i++;
- }
- else if (/^(true|false)$/.test(next)) {
- setArg(key, next);
- i++;
- }
- else {
- setArg(key, defaultValue(key));
- }
- }
- }
- }
- else if (arg.match(/^-[0-9]$/) &&
- arg.match(negative) &&
- checkAllAliases(arg.slice(1), flags.bools)) {
- // single-digit boolean alias, e.g: xargs -0
- key = arg.slice(1);
- setArg(key, defaultValue(key));
- }
- else if (arg === '--') {
- notFlags = args.slice(i + 1);
- break;
- }
- else if (configuration['halt-at-non-option']) {
- notFlags = args.slice(i);
- break;
- }
- else {
- pushPositional(arg);
- }
- }
- // order of precedence:
- // 1. command line arg
- // 2. value from env var
- // 3. value from config file
- // 4. value from config objects
- // 5. configured default value
- applyEnvVars(argv, true); // special case: check env vars that point to config file
- applyEnvVars(argv, false);
- setConfig(argv);
- setConfigObjects();
- applyDefaultsAndAliases(argv, flags.aliases, defaults, true);
- applyCoercions(argv);
- if (configuration['set-placeholder-key'])
- setPlaceholderKeys(argv);
- // for any counts either not in args or without an explicit default, set to 0
- Object.keys(flags.counts).forEach(function (key) {
- if (!hasKey(argv, key.split('.')))
- setArg(key, 0);
- });
- // '--' defaults to undefined.
- if (notFlagsOption && notFlags.length)
- argv[notFlagsArgv] = [];
- notFlags.forEach(function (key) {
- argv[notFlagsArgv].push(key);
- });
- if (configuration['camel-case-expansion'] && configuration['strip-dashed']) {
- Object.keys(argv).filter(key => key !== '--' && key.includes('-')).forEach(key => {
- delete argv[key];
- });
- }
- if (configuration['strip-aliased']) {
- ;
- [].concat(...Object.keys(aliases).map(k => aliases[k])).forEach(alias => {
- if (configuration['camel-case-expansion'] && alias.includes('-')) {
- delete argv[alias.split('.').map(prop => camelCase(prop)).join('.')];
- }
- delete argv[alias];
- });
- }
- // Push argument into positional array, applying numeric coercion:
- function pushPositional(arg) {
- const maybeCoercedNumber = maybeCoerceNumber('_', arg);
- if (typeof maybeCoercedNumber === 'string' || typeof maybeCoercedNumber === 'number') {
- argv._.push(maybeCoercedNumber);
- }
- }
- // how many arguments should we consume, based
- // on the nargs option?
- function eatNargs(i, key, args, argAfterEqualSign) {
- let ii;
- let toEat = checkAllAliases(key, flags.nargs);
- // NaN has a special meaning for the array type, indicating that one or
- // more values are expected.
- toEat = typeof toEat !== 'number' || isNaN(toEat) ? 1 : toEat;
- if (toEat === 0) {
- if (!isUndefined(argAfterEqualSign)) {
- error = Error(__('Argument unexpected for: %s', key));
- }
- setArg(key, defaultValue(key));
- return i;
- }
- let available = isUndefined(argAfterEqualSign) ? 0 : 1;
- if (configuration['nargs-eats-options']) {
- // classic behavior, yargs eats positional and dash arguments.
- if (args.length - (i + 1) + available < toEat) {
- error = Error(__('Not enough arguments following: %s', key));
- }
- available = toEat;
- }
- else {
- // nargs will not consume flag arguments, e.g., -abc, --foo,
- // and terminates when one is observed.
- for (ii = i + 1; ii < args.length; ii++) {
- if (!args[ii].match(/^-[^0-9]/) || args[ii].match(negative) || isUnknownOptionAsArg(args[ii]))
- available++;
- else
- break;
- }
- if (available < toEat)
- error = Error(__('Not enough arguments following: %s', key));
- }
- let consumed = Math.min(available, toEat);
- if (!isUndefined(argAfterEqualSign) && consumed > 0) {
- setArg(key, argAfterEqualSign);
- consumed--;
- }
- for (ii = i + 1; ii < (consumed + i + 1); ii++) {
- setArg(key, args[ii]);
- }
- return (i + consumed);
- }
- // if an option is an array, eat all non-hyphenated arguments
- // following it... YUM!
- // e.g., --foo apple banana cat becomes ["apple", "banana", "cat"]
- function eatArray(i, key, args, argAfterEqualSign) {
- let argsToSet = [];
- let next = argAfterEqualSign || args[i + 1];
- // If both array and nargs are configured, enforce the nargs count:
- const nargsCount = checkAllAliases(key, flags.nargs);
- if (checkAllAliases(key, flags.bools) && !(/^(true|false)$/.test(next))) {
- argsToSet.push(true);
- }
- else if (isUndefined(next) ||
- (isUndefined(argAfterEqualSign) && /^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))) {
- // for keys without value ==> argsToSet remains an empty []
- // set user default value, if available
- if (defaults[key] !== undefined) {
- const defVal = defaults[key];
- argsToSet = Array.isArray(defVal) ? defVal : [defVal];
- }
- }
- else {
- // value in --option=value is eaten as is
- if (!isUndefined(argAfterEqualSign)) {
- argsToSet.push(processValue(key, argAfterEqualSign));
- }
- for (let ii = i + 1; ii < args.length; ii++) {
- if ((!configuration['greedy-arrays'] && argsToSet.length > 0) ||
- (nargsCount && typeof nargsCount === 'number' && argsToSet.length >= nargsCount))
- break;
- next = args[ii];
- if (/^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))
- break;
- i = ii;
- argsToSet.push(processValue(key, next));
- }
- }
- // If both array and nargs are configured, create an error if less than
- // nargs positionals were found. NaN has special meaning, indicating
- // that at least one value is required (more are okay).
- if (typeof nargsCount === 'number' && ((nargsCount && argsToSet.length < nargsCount) ||
- (isNaN(nargsCount) && argsToSet.length === 0))) {
- error = Error(__('Not enough arguments following: %s', key));
- }
- setArg(key, argsToSet);
- return i;
- }
- function setArg(key, val) {
- if (/-/.test(key) && configuration['camel-case-expansion']) {
- const alias = key.split('.').map(function (prop) {
- return camelCase(prop);
- }).join('.');
- addNewAlias(key, alias);
- }
- const value = processValue(key, val);
- const splitKey = key.split('.');
- setKey(argv, splitKey, value);
- // handle populating aliases of the full key
- if (flags.aliases[key]) {
- flags.aliases[key].forEach(function (x) {
- const keyProperties = x.split('.');
- setKey(argv, keyProperties, value);
- });
- }
- // handle populating aliases of the first element of the dot-notation key
- if (splitKey.length > 1 && configuration['dot-notation']) {
- ;
- (flags.aliases[splitKey[0]] || []).forEach(function (x) {
- let keyProperties = x.split('.');
- // expand alias with nested objects in key
- const a = [].concat(splitKey);
- a.shift(); // nuke the old key.
- keyProperties = keyProperties.concat(a);
- // populate alias only if is not already an alias of the full key
- // (already populated above)
- if (!(flags.aliases[key] || []).includes(keyProperties.join('.'))) {
- setKey(argv, keyProperties, value);
- }
- });
- }
- // Set normalize getter and setter when key is in 'normalize' but isn't an array
- if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) {
- const keys = [key].concat(flags.aliases[key] || []);
- keys.forEach(function (key) {
- Object.defineProperty(argvReturn, key, {
- enumerable: true,
- get() {
- return val;
- },
- set(value) {
- val = typeof value === 'string' ? mixin.normalize(value) : value;
- }
- });
- });
- }
- }
- function addNewAlias(key, alias) {
- if (!(flags.aliases[key] && flags.aliases[key].length)) {
- flags.aliases[key] = [alias];
- newAliases[alias] = true;
- }
- if (!(flags.aliases[alias] && flags.aliases[alias].length)) {
- addNewAlias(alias, key);
- }
- }
- function processValue(key, val) {
- // strings may be quoted, clean this up as we assign values.
- if (typeof val === 'string' &&
- (val[0] === "'" || val[0] === '"') &&
- val[val.length - 1] === val[0]) {
- val = val.substring(1, val.length - 1);
- }
- // handle parsing boolean arguments --foo=true --bar false.
- if (checkAllAliases(key, flags.bools) || checkAllAliases(key, flags.counts)) {
- if (typeof val === 'string')
- val = val === 'true';
- }
- let value = Array.isArray(val)
- ? val.map(function (v) { return maybeCoerceNumber(key, v); })
- : maybeCoerceNumber(key, val);
- // increment a count given as arg (either no value or value parsed as boolean)
- if (checkAllAliases(key, flags.counts) && (isUndefined(value) || typeof value === 'boolean')) {
- value = increment();
- }
- // Set normalized value when key is in 'normalize' and in 'arrays'
- if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {
- if (Array.isArray(val))
- value = val.map((val) => { return mixin.normalize(val); });
- else
- value = mixin.normalize(val);
- }
- return value;
- }
- function maybeCoerceNumber(key, value) {
- if (!configuration['parse-positional-numbers'] && key === '_')
- return value;
- if (!checkAllAliases(key, flags.strings) && !checkAllAliases(key, flags.bools) && !Array.isArray(value)) {
- const shouldCoerceNumber = looksLikeNumber(value) && configuration['parse-numbers'] && (Number.isSafeInteger(Math.floor(parseFloat(`${value}`))));
- if (shouldCoerceNumber || (!isUndefined(value) && checkAllAliases(key, flags.numbers))) {
- value = Number(value);
- }
- }
- return value;
- }
- // set args from config.json file, this should be
- // applied last so that defaults can be applied.
- function setConfig(argv) {
- const configLookup = Object.create(null);
- // expand defaults/aliases, in-case any happen to reference
- // the config.json file.
- applyDefaultsAndAliases(configLookup, flags.aliases, defaults);
- Object.keys(flags.configs).forEach(function (configKey) {
- const configPath = argv[configKey] || configLookup[configKey];
- if (configPath) {
- try {
- let config = null;
- const resolvedConfigPath = mixin.resolve(mixin.cwd(), configPath);
- const resolveConfig = flags.configs[configKey];
- if (typeof resolveConfig === 'function') {
- try {
- config = resolveConfig(resolvedConfigPath);
- }
- catch (e) {
- config = e;
- }
- if (config instanceof Error) {
- error = config;
- return;
- }
- }
- else {
- config = mixin.require(resolvedConfigPath);
- }
- setConfigObject(config);
- }
- catch (ex) {
- // Deno will receive a PermissionDenied error if an attempt is
- // made to load config without the --allow-read flag:
- if (ex.name === 'PermissionDenied')
- error = ex;
- else if (argv[configKey])
- error = Error(__('Invalid JSON config file: %s', configPath));
- }
- }
- });
- }
- // set args from config object.
- // it recursively checks nested objects.
- function setConfigObject(config, prev) {
- Object.keys(config).forEach(function (key) {
- const value = config[key];
- const fullKey = prev ? prev + '.' + key : key;
- // if the value is an inner object and we have dot-notation
- // enabled, treat inner objects in config the same as
- // heavily nested dot notations (foo.bar.apple).
- if (typeof value === 'object' && value !== null && !Array.isArray(value) && configuration['dot-notation']) {
- // if the value is an object but not an array, check nested object
- setConfigObject(value, fullKey);
- }
- else {
- // setting arguments via CLI takes precedence over
- // values within the config file.
- if (!hasKey(argv, fullKey.split('.')) || (checkAllAliases(fullKey, flags.arrays) && configuration['combine-arrays'])) {
- setArg(fullKey, value);
- }
- }
- });
- }
- // set all config objects passed in opts
- function setConfigObjects() {
- if (typeof configObjects !== 'undefined') {
- configObjects.forEach(function (configObject) {
- setConfigObject(configObject);
- });
- }
- }
- function applyEnvVars(argv, configOnly) {
- if (typeof envPrefix === 'undefined')
- return;
- const prefix = typeof envPrefix === 'string' ? envPrefix : '';
- const env = mixin.env();
- Object.keys(env).forEach(function (envVar) {
- if (prefix === '' || envVar.lastIndexOf(prefix, 0) === 0) {
- // get array of nested keys and convert them to camel case
- const keys = envVar.split('__').map(function (key, i) {
- if (i === 0) {
- key = key.substring(prefix.length);
- }
- return camelCase(key);
- });
- if (((configOnly && flags.configs[keys.join('.')]) || !configOnly) && !hasKey(argv, keys)) {
- setArg(keys.join('.'), env[envVar]);
- }
- }
- });
- }
- function applyCoercions(argv) {
- let coerce;
- const applied = new Set();
- Object.keys(argv).forEach(function (key) {
- if (!applied.has(key)) { // If we haven't already coerced this option via one of its aliases
- coerce = checkAllAliases(key, flags.coercions);
- if (typeof coerce === 'function') {
- try {
- const value = maybeCoerceNumber(key, coerce(argv[key]));
- ([].concat(flags.aliases[key] || [], key)).forEach(ali => {
- applied.add(ali);
- argv[ali] = value;
- });
- }
- catch (err) {
- error = err;
- }
- }
- }
- });
- }
- function setPlaceholderKeys(argv) {
- flags.keys.forEach((key) => {
- // don't set placeholder keys for dot notation options 'foo.bar'.
- if (~key.indexOf('.'))
- return;
- if (typeof argv[key] === 'undefined')
- argv[key] = undefined;
- });
- return argv;
- }
- function applyDefaultsAndAliases(obj, aliases, defaults, canLog = false) {
- Object.keys(defaults).forEach(function (key) {
- if (!hasKey(obj, key.split('.'))) {
- setKey(obj, key.split('.'), defaults[key]);
- if (canLog)
- defaulted[key] = true;
- (aliases[key] || []).forEach(function (x) {
- if (hasKey(obj, x.split('.')))
- return;
- setKey(obj, x.split('.'), defaults[key]);
- });
- }
- });
- }
- function hasKey(obj, keys) {
- let o = obj;
- if (!configuration['dot-notation'])
- keys = [keys.join('.')];
- keys.slice(0, -1).forEach(function (key) {
- o = (o[key] || {});
- });
- const key = keys[keys.length - 1];
- if (typeof o !== 'object')
- return false;
- else
- return key in o;
- }
- function setKey(obj, keys, value) {
- let o = obj;
- if (!configuration['dot-notation'])
- keys = [keys.join('.')];
- keys.slice(0, -1).forEach(function (key) {
- // TODO(bcoe): in the next major version of yargs, switch to
- // Object.create(null) for dot notation:
- key = sanitizeKey(key);
- if (typeof o === 'object' && o[key] === undefined) {
- o[key] = {};
- }
- if (typeof o[key] !== 'object' || Array.isArray(o[key])) {
- // ensure that o[key] is an array, and that the last item is an empty object.
- if (Array.isArray(o[key])) {
- o[key].push({});
- }
- else {
- o[key] = [o[key], {}];
- }
- // we want to update the empty object at the end of the o[key] array, so set o to that object
- o = o[key][o[key].length - 1];
- }
- else {
- o = o[key];
- }
- });
- // TODO(bcoe): in the next major version of yargs, switch to
- // Object.create(null) for dot notation:
- const key = sanitizeKey(keys[keys.length - 1]);
- const isTypeArray = checkAllAliases(keys.join('.'), flags.arrays);
- const isValueArray = Array.isArray(value);
- let duplicate = configuration['duplicate-arguments-array'];
- // nargs has higher priority than duplicate
- if (!duplicate && checkAllAliases(key, flags.nargs)) {
- duplicate = true;
- if ((!isUndefined(o[key]) && flags.nargs[key] === 1) || (Array.isArray(o[key]) && o[key].length === flags.nargs[key])) {
- o[key] = undefined;
- }
- }
- if (value === increment()) {
- o[key] = increment(o[key]);
- }
- else if (Array.isArray(o[key])) {
- if (duplicate && isTypeArray && isValueArray) {
- o[key] = configuration['flatten-duplicate-arrays'] ? o[key].concat(value) : (Array.isArray(o[key][0]) ? o[key] : [o[key]]).concat([value]);
- }
- else if (!duplicate && Boolean(isTypeArray) === Boolean(isValueArray)) {
- o[key] = value;
- }
- else {
- o[key] = o[key].concat([value]);
- }
- }
- else if (o[key] === undefined && isTypeArray) {
- o[key] = isValueArray ? value : [value];
- }
- else if (duplicate && !(o[key] === undefined ||
- checkAllAliases(key, flags.counts) ||
- checkAllAliases(key, flags.bools))) {
- o[key] = [o[key], value];
- }
- else {
- o[key] = value;
- }
- }
- // extend the aliases list with inferred aliases.
- function extendAliases(...args) {
- args.forEach(function (obj) {
- Object.keys(obj || {}).forEach(function (key) {
- // short-circuit if we've already added a key
- // to the aliases array, for example it might
- // exist in both 'opts.default' and 'opts.key'.
- if (flags.aliases[key])
- return;
- flags.aliases[key] = [].concat(aliases[key] || []);
- // For "--option-name", also set argv.optionName
- flags.aliases[key].concat(key).forEach(function (x) {
- if (/-/.test(x) && configuration['camel-case-expansion']) {
- const c = camelCase(x);
- if (c !== key && flags.aliases[key].indexOf(c) === -1) {
- flags.aliases[key].push(c);
- newAliases[c] = true;
- }
- }
- });
- // For "--optionName", also set argv['option-name']
- flags.aliases[key].concat(key).forEach(function (x) {
- if (x.length > 1 && /[A-Z]/.test(x) && configuration['camel-case-expansion']) {
- const c = decamelize(x, '-');
- if (c !== key && flags.aliases[key].indexOf(c) === -1) {
- flags.aliases[key].push(c);
- newAliases[c] = true;
- }
- }
- });
- flags.aliases[key].forEach(function (x) {
- flags.aliases[x] = [key].concat(flags.aliases[key].filter(function (y) {
- return x !== y;
- }));
- });
- });
- });
- }
- function checkAllAliases(key, flag) {
- const toCheck = [].concat(flags.aliases[key] || [], key);
- const keys = Object.keys(flag);
- const setAlias = toCheck.find(key => keys.includes(key));
- return setAlias ? flag[setAlias] : false;
- }
- function hasAnyFlag(key) {
- const flagsKeys = Object.keys(flags);
- const toCheck = [].concat(flagsKeys.map(k => flags[k]));
- return toCheck.some(function (flag) {
- return Array.isArray(flag) ? flag.includes(key) : flag[key];
- });
- }
- function hasFlagsMatching(arg, ...patterns) {
- const toCheck = [].concat(...patterns);
- return toCheck.some(function (pattern) {
- const match = arg.match(pattern);
- return match && hasAnyFlag(match[1]);
- });
- }
- // based on a simplified version of the short flag group parsing logic
- function hasAllShortFlags(arg) {
- // if this is a negative number, or doesn't start with a single hyphen, it's not a short flag group
- if (arg.match(negative) || !arg.match(/^-[^-]+/)) {
- return false;
- }
- let hasAllFlags = true;
- let next;
- const letters = arg.slice(1).split('');
- for (let j = 0; j < letters.length; j++) {
- next = arg.slice(j + 2);
- if (!hasAnyFlag(letters[j])) {
- hasAllFlags = false;
- break;
- }
- if ((letters[j + 1] && letters[j + 1] === '=') ||
- next === '-' ||
- (/[A-Za-z]/.test(letters[j]) && /^-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) ||
- (letters[j + 1] && letters[j + 1].match(/\W/))) {
- break;
- }
- }
- return hasAllFlags;
- }
- function isUnknownOptionAsArg(arg) {
- return configuration['unknown-options-as-args'] && isUnknownOption(arg);
- }
- function isUnknownOption(arg) {
- arg = arg.replace(/^-{3,}/, '--');
- // ignore negative numbers
- if (arg.match(negative)) {
- return false;
- }
- // if this is a short option group and all of them are configured, it isn't unknown
- if (hasAllShortFlags(arg)) {
- return false;
- }
- // e.g. '--count=2'
- const flagWithEquals = /^-+([^=]+?)=[\s\S]*$/;
- // e.g. '-a' or '--arg'
- const normalFlag = /^-+([^=]+?)$/;
- // e.g. '-a-'
- const flagEndingInHyphen = /^-+([^=]+?)-$/;
- // e.g. '-abc123'
- const flagEndingInDigits = /^-+([^=]+?\d+)$/;
- // e.g. '-a/usr/local'
- const flagEndingInNonWordCharacters = /^-+([^=]+?)\W+.*$/;
- // check the different types of flag styles, including negatedBoolean, a pattern defined near the start of the parse method
- return !hasFlagsMatching(arg, flagWithEquals, negatedBoolean, normalFlag, flagEndingInHyphen, flagEndingInDigits, flagEndingInNonWordCharacters);
- }
- // make a best effort to pick a default value
- // for an option based on name and type.
- function defaultValue(key) {
- if (!checkAllAliases(key, flags.bools) &&
- !checkAllAliases(key, flags.counts) &&
- `${key}` in defaults) {
- return defaults[key];
- }
- else {
- return defaultForType(guessType(key));
- }
- }
- // return a default value, given the type of a flag.,
- function defaultForType(type) {
- const def = {
- [DefaultValuesForTypeKey.BOOLEAN]: true,
- [DefaultValuesForTypeKey.STRING]: '',
- [DefaultValuesForTypeKey.NUMBER]: undefined,
- [DefaultValuesForTypeKey.ARRAY]: []
- };
- return def[type];
- }
- // given a flag, enforce a default type.
- function guessType(key) {
- let type = DefaultValuesForTypeKey.BOOLEAN;
- if (checkAllAliases(key, flags.strings))
- type = DefaultValuesForTypeKey.STRING;
- else if (checkAllAliases(key, flags.numbers))
- type = DefaultValuesForTypeKey.NUMBER;
- else if (checkAllAliases(key, flags.bools))
- type = DefaultValuesForTypeKey.BOOLEAN;
- else if (checkAllAliases(key, flags.arrays))
- type = DefaultValuesForTypeKey.ARRAY;
- return type;
- }
- function isUndefined(num) {
- return num === undefined;
- }
- // check user configuration settings for inconsistencies
- function checkConfiguration() {
- // count keys should not be set as array/narg
- Object.keys(flags.counts).find(key => {
- if (checkAllAliases(key, flags.arrays)) {
- error = Error(__('Invalid configuration: %s, opts.count excludes opts.array.', key));
- return true;
- }
- else if (checkAllAliases(key, flags.nargs)) {
- error = Error(__('Invalid configuration: %s, opts.count excludes opts.narg.', key));
- return true;
- }
- return false;
- });
- }
- return {
- aliases: Object.assign({}, flags.aliases),
- argv: Object.assign(argvReturn, argv),
- configuration: configuration,
- defaulted: Object.assign({}, defaulted),
- error: error,
- newAliases: Object.assign({}, newAliases)
- };
- }
-}
-// if any aliases reference each other, we should
-// merge them together.
-function combineAliases(aliases) {
- const aliasArrays = [];
- const combined = Object.create(null);
- let change = true;
- // turn alias lookup hash {key: ['alias1', 'alias2']} into
- // a simple array ['key', 'alias1', 'alias2']
- Object.keys(aliases).forEach(function (key) {
- aliasArrays.push([].concat(aliases[key], key));
- });
- // combine arrays until zero changes are
- // made in an iteration.
- while (change) {
- change = false;
- for (let i = 0; i < aliasArrays.length; i++) {
- for (let ii = i + 1; ii < aliasArrays.length; ii++) {
- const intersect = aliasArrays[i].filter(function (v) {
- return aliasArrays[ii].indexOf(v) !== -1;
- });
- if (intersect.length) {
- aliasArrays[i] = aliasArrays[i].concat(aliasArrays[ii]);
- aliasArrays.splice(ii, 1);
- change = true;
- break;
- }
- }
- }
- }
- // map arrays back to the hash-lookup (de-dupe while
- // we're at it).
- aliasArrays.forEach(function (aliasArray) {
- aliasArray = aliasArray.filter(function (v, i, self) {
- return self.indexOf(v) === i;
- });
- const lastAlias = aliasArray.pop();
- if (lastAlias !== undefined && typeof lastAlias === 'string') {
- combined[lastAlias] = aliasArray;
- }
- });
- return combined;
-}
-// this function should only be called when a count is given as an arg
-// it is NOT called to set a default value
-// thus we can start the count at 1 instead of 0
-function increment(orig) {
- return orig !== undefined ? orig + 1 : 1;
-}
-// TODO(bcoe): in the next major version of yargs, switch to
-// Object.create(null) for dot notation:
-function sanitizeKey(key) {
- if (key === '__proto__')
- return '___proto___';
- return key;
-}
diff --git a/includes/search/node_modules/yargs-parser/package.json b/includes/search/node_modules/yargs-parser/package.json
deleted file mode 100644
index f97aa9e..0000000
--- a/includes/search/node_modules/yargs-parser/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "name": "yargs-parser",
- "version": "20.2.9",
- "description": "the mighty option parser used by yargs",
- "main": "build/index.cjs",
- "exports": {
- ".": [
- {
- "import": "./build/lib/index.js",
- "require": "./build/index.cjs"
- },
- "./build/index.cjs"
- ]
- },
- "type": "module",
- "module": "./build/lib/index.js",
- "scripts": {
- "check": "standardx '**/*.ts' && standardx '**/*.js' && standardx '**/*.cjs'",
- "fix": "standardx --fix '**/*.ts' && standardx --fix '**/*.js' && standardx --fix '**/*.cjs'",
- "pretest": "rimraf build && tsc -p tsconfig.test.json && cross-env NODE_ENV=test npm run build:cjs",
- "test": "c8 --reporter=text --reporter=html mocha test/*.cjs",
- "test:browser": "start-server-and-test 'serve ./ -p 8080' http://127.0.0.1:8080/package.json 'node ./test/browser/yargs-test.cjs'",
- "pretest:typescript": "npm run pretest",
- "test:typescript": "c8 mocha ./build/test/typescript/*.js",
- "coverage": "c8 report --check-coverage",
- "precompile": "rimraf build",
- "compile": "tsc",
- "postcompile": "npm run build:cjs",
- "build:cjs": "rollup -c",
- "prepare": "npm run compile"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/yargs/yargs-parser.git"
- },
- "keywords": [
- "argument",
- "parser",
- "yargs",
- "command",
- "cli",
- "parsing",
- "option",
- "args",
- "argument"
- ],
- "author": "Ben Coe <ben@npmjs.com>",
- "license": "ISC",
- "devDependencies": {
- "@types/chai": "^4.2.11",
- "@types/mocha": "^8.0.0",
- "@types/node": "^14.0.0",
- "@typescript-eslint/eslint-plugin": "^3.10.1",
- "@typescript-eslint/parser": "^3.10.1",
- "@wessberg/rollup-plugin-ts": "^1.2.28",
- "c8": "^7.3.0",
- "chai": "^4.2.0",
- "cross-env": "^7.0.2",
- "eslint": "^7.0.0",
- "eslint-plugin-import": "^2.20.1",
- "eslint-plugin-node": "^11.0.0",
- "gts": "^3.0.0",
- "mocha": "^9.0.0",
- "puppeteer": "^10.0.0",
- "rimraf": "^3.0.2",
- "rollup": "^2.22.1",
- "rollup-plugin-cleanup": "^3.1.1",
- "serve": "^12.0.0",
- "standardx": "^7.0.0",
- "start-server-and-test": "^1.11.2",
- "ts-transform-default-export": "^1.0.2",
- "typescript": "^4.0.0"
- },
- "files": [
- "browser.js",
- "build",
- "!*.d.ts"
- ],
- "engines": {
- "node": ">=10"
- },
- "standardx": {
- "ignore": [
- "build"
- ]
- }
-}
diff --git a/includes/search/node_modules/yargs/CHANGELOG.md b/includes/search/node_modules/yargs/CHANGELOG.md
deleted file mode 100644
index ebc3b22..0000000
--- a/includes/search/node_modules/yargs/CHANGELOG.md
+++ /dev/null
@@ -1,88 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
-
-## [16.2.0](https://www.github.com/yargs/yargs/compare/v16.1.1...v16.2.0) (2020-12-05)
-
-
-### Features
-
-* command() now accepts an array of modules ([f415388](https://www.github.com/yargs/yargs/commit/f415388cc454d02786c65c50dd6c7a0cf9d8b842))
-
-
-### Bug Fixes
-
-* add package.json to module exports ([#1818](https://www.github.com/yargs/yargs/issues/1818)) ([d783a49](https://www.github.com/yargs/yargs/commit/d783a49a7f21c9bbd4eec2990268f3244c4d5662)), closes [#1817](https://www.github.com/yargs/yargs/issues/1817)
-
-### [16.1.1](https://www.github.com/yargs/yargs/compare/v16.1.0...v16.1.1) (2020-11-15)
-
-
-### Bug Fixes
-
-* expose helpers for legacy versions of Node.js ([#1801](https://www.github.com/yargs/yargs/issues/1801)) ([107deaa](https://www.github.com/yargs/yargs/commit/107deaa4f68b7bc3f2386041e1f4fe0272b29c0a))
-* **deno:** get yargs working on deno@1.5.x ([#1799](https://www.github.com/yargs/yargs/issues/1799)) ([cb01c98](https://www.github.com/yargs/yargs/commit/cb01c98c44e30f55c2dc9434caef524ae433d9a4))
-
-## [16.1.0](https://www.github.com/yargs/yargs/compare/v16.0.3...v16.1.0) (2020-10-15)
-
-
-### Features
-
-* expose hideBin helper for CJS ([#1768](https://www.github.com/yargs/yargs/issues/1768)) ([63e1173](https://www.github.com/yargs/yargs/commit/63e1173bb47dc651c151973a16ef659082a9ae66))
-
-
-### Bug Fixes
-
-* **deno:** update types for deno ^1.4.0 ([#1772](https://www.github.com/yargs/yargs/issues/1772)) ([0801752](https://www.github.com/yargs/yargs/commit/080175207d281be63edf90adfe4f0568700b0bf5))
-* **exports:** node 13.0-13.6 require a string fallback ([#1776](https://www.github.com/yargs/yargs/issues/1776)) ([b45c43a](https://www.github.com/yargs/yargs/commit/b45c43a5f64b565c3794f9792150eaeec4e00b69))
-* **modules:** module path was incorrect ([#1759](https://www.github.com/yargs/yargs/issues/1759)) ([95a4a0a](https://www.github.com/yargs/yargs/commit/95a4a0ac573cfe158e6e4bc8c8682ebd1644a198))
-* **positional:** positional strings no longer drop decimals ([#1761](https://www.github.com/yargs/yargs/issues/1761)) ([e1a300f](https://www.github.com/yargs/yargs/commit/e1a300f1293ad821c900284616337f080b207980))
-* make positionals in -- count towards validation ([#1752](https://www.github.com/yargs/yargs/issues/1752)) ([eb2b29d](https://www.github.com/yargs/yargs/commit/eb2b29d34f1a41e0fd6c4e841960e5bfc329dc3c))
-
-### [16.0.3](https://www.github.com/yargs/yargs/compare/v16.0.2...v16.0.3) (2020-09-10)
-
-
-### Bug Fixes
-
-* move yargs.cjs to yargs to fix Node 10 imports ([#1747](https://www.github.com/yargs/yargs/issues/1747)) ([5bfb85b](https://www.github.com/yargs/yargs/commit/5bfb85b33b85db8a44b5f7a700a8e4dbaf022df0))
-
-### [16.0.2](https://www.github.com/yargs/yargs/compare/v16.0.1...v16.0.2) (2020-09-09)
-
-
-### Bug Fixes
-
-* **typescript:** yargs-parser was breaking @types/yargs ([#1745](https://www.github.com/yargs/yargs/issues/1745)) ([2253284](https://www.github.com/yargs/yargs/commit/2253284b233cceabd8db677b81c5bf1755eef230))
-
-### [16.0.1](https://www.github.com/yargs/yargs/compare/v16.0.0...v16.0.1) (2020-09-09)
-
-
-### Bug Fixes
-
-* code was not passed to process.exit ([#1742](https://www.github.com/yargs/yargs/issues/1742)) ([d1a9930](https://www.github.com/yargs/yargs/commit/d1a993035a2f76c138460052cf19425f9684b637))
-
-## [16.0.0](https://www.github.com/yargs/yargs/compare/v15.4.2...v16.0.0) (2020-09-09)
-
-
-### ⚠ BREAKING CHANGES
-
-* tweaks to ESM/Deno API surface: now exports yargs function by default; getProcessArgvWithoutBin becomes hideBin; types now exported for Deno.
-* find-up replaced with escalade; export map added (limits importable files in Node >= 12); yarser-parser@19.x.x (new decamelize/camelcase implementation).
-* **usage:** single character aliases are now shown first in help output
-* rebase helper is no longer provided on yargs instance.
-* drop support for EOL Node 8 (#1686)
-
-### Features
-
-* adds strictOptions() ([#1738](https://www.github.com/yargs/yargs/issues/1738)) ([b215fba](https://www.github.com/yargs/yargs/commit/b215fba0ed6e124e5aad6cf22c8d5875661c63a3))
-* **helpers:** rebase, Parser, applyExtends now blessed helpers ([#1733](https://www.github.com/yargs/yargs/issues/1733)) ([c7debe8](https://www.github.com/yargs/yargs/commit/c7debe8eb1e5bc6ea20b5ed68026c56e5ebec9e1))
-* adds support for ESM and Deno ([#1708](https://www.github.com/yargs/yargs/issues/1708)) ([ac6d5d1](https://www.github.com/yargs/yargs/commit/ac6d5d105a75711fe703f6a39dad5181b383d6c6))
-* drop support for EOL Node 8 ([#1686](https://www.github.com/yargs/yargs/issues/1686)) ([863937f](https://www.github.com/yargs/yargs/commit/863937f23c3102f804cdea78ee3097e28c7c289f))
-* i18n for ESM and Deno ([#1735](https://www.github.com/yargs/yargs/issues/1735)) ([c71783a](https://www.github.com/yargs/yargs/commit/c71783a5a898a0c0e92ac501c939a3ec411ac0c1))
-* tweaks to API surface based on user feedback ([#1726](https://www.github.com/yargs/yargs/issues/1726)) ([4151fee](https://www.github.com/yargs/yargs/commit/4151fee4c33a97d26bc40de7e623e5b0eb87e9bb))
-* **usage:** single char aliases first in help ([#1574](https://www.github.com/yargs/yargs/issues/1574)) ([a552990](https://www.github.com/yargs/yargs/commit/a552990c120646c2d85a5c9b628e1ce92a68e797))
-
-
-### Bug Fixes
-
-* **yargs:** add missing command(module) signature ([#1707](https://www.github.com/yargs/yargs/issues/1707)) ([0f81024](https://www.github.com/yargs/yargs/commit/0f810245494ccf13a35b7786d021b30fc95ecad5)), closes [#1704](https://www.github.com/yargs/yargs/issues/1704)
-
-[Older CHANGELOG Entries](https://github.com/yargs/yargs/blob/master/docs/CHANGELOG-historical.md)
diff --git a/includes/search/node_modules/yargs/LICENSE b/includes/search/node_modules/yargs/LICENSE
deleted file mode 100644
index b0145ca..0000000
--- a/includes/search/node_modules/yargs/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright 2010 James Halliday (mail@substack.net); Modified work Copyright 2014 Contributors (ben@npmjs.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/includes/search/node_modules/yargs/README.md b/includes/search/node_modules/yargs/README.md
deleted file mode 100644
index 25a888e..0000000
--- a/includes/search/node_modules/yargs/README.md
+++ /dev/null
@@ -1,202 +0,0 @@
-<p align="center">
- <img width="250" src="https://raw.githubusercontent.com/yargs/yargs/master/yargs-logo.png">
-</p>
-<h1 align="center"> Yargs </h1>
-<p align="center">
- <b >Yargs be a node.js library fer hearties tryin' ter parse optstrings</b>
-</p>
-
-<br>
-
-![ci](https://github.com/yargs/yargs/workflows/ci/badge.svg)
-[![NPM version][npm-image]][npm-url]
-[![js-standard-style][standard-image]][standard-url]
-[![Coverage][coverage-image]][coverage-url]
-[![Conventional Commits][conventional-commits-image]][conventional-commits-url]
-[![Slack][slack-image]][slack-url]
-
-## Description
-Yargs helps you build interactive command line tools, by parsing arguments and generating an elegant user interface.
-
-It gives you:
-
-* commands and (grouped) options (`my-program.js serve --port=5000`).
-* a dynamically generated help menu based on your arguments:
-
-```
-mocha [spec..]
-
-Run tests with Mocha
-
-Commands
- mocha inspect [spec..] Run tests with Mocha [default]
- mocha init <path> create a client-side Mocha setup at <path>
-
-Rules & Behavior
- --allow-uncaught Allow uncaught errors to propagate [boolean]
- --async-only, -A Require all tests to use a callback (async) or
- return a Promise [boolean]
-```
-
-* bash-completion shortcuts for commands and options.
-* and [tons more](/docs/api.md).
-
-## Installation
-
-Stable version:
-```bash
-npm i yargs
-```
-
-Bleeding edge version with the most recent features:
-```bash
-npm i yargs@next
-```
-
-## Usage
-
-### Simple Example
-
-```javascript
-#!/usr/bin/env node
-const yargs = require('yargs/yargs')
-const { hideBin } = require('yargs/helpers')
-const argv = yargs(hideBin(process.argv)).argv
-
-if (argv.ships > 3 && argv.distance < 53.5) {
- console.log('Plunder more riffiwobbles!')
-} else {
- console.log('Retreat from the xupptumblers!')
-}
-```
-
-```bash
-$ ./plunder.js --ships=4 --distance=22
-Plunder more riffiwobbles!
-
-$ ./plunder.js --ships 12 --distance 98.7
-Retreat from the xupptumblers!
-```
-
-### Complex Example
-
-```javascript
-#!/usr/bin/env node
-const yargs = require('yargs/yargs')
-const { hideBin } = require('yargs/helpers')
-
-yargs(hideBin(process.argv))
- .command('serve [port]', 'start the server', (yargs) => {
- yargs
- .positional('port', {
- describe: 'port to bind on',
- default: 5000
- })
- }, (argv) => {
- if (argv.verbose) console.info(`start server on :${argv.port}`)
- serve(argv.port)
- })
- .option('verbose', {
- alias: 'v',
- type: 'boolean',
- description: 'Run with verbose logging'
- })
- .argv
-```
-
-Run the example above with `--help` to see the help for the application.
-
-## Supported Platforms
-
-### TypeScript
-
-yargs has type definitions at [@types/yargs][type-definitions].
-
-```
-npm i @types/yargs --save-dev
-```
-
-See usage examples in [docs](/docs/typescript.md).
-
-### Deno
-
-As of `v16`, `yargs` supports [Deno](https://github.com/denoland/deno):
-
-```typescript
-import yargs from 'https://deno.land/x/yargs/deno.ts'
-import { Arguments } from 'https://deno.land/x/yargs/deno-types.ts'
-
-yargs(Deno.args)
- .command('download <files...>', 'download a list of files', (yargs: any) => {
- return yargs.positional('files', {
- describe: 'a list of files to do something with'
- })
- }, (argv: Arguments) => {
- console.info(argv)
- })
- .strictCommands()
- .demandCommand(1)
- .argv
-```
-
-### ESM
-
-As of `v16`,`yargs` supports ESM imports:
-
-```js
-import yargs from 'yargs'
-import { hideBin } from 'yargs/helpers'
-
-yargs(hideBin(process.argv))
- .command('curl <url>', 'fetch the contents of the URL', () => {}, (argv) => {
- console.info(argv)
- })
- .demandCommand(1)
- .argv
-```
-
-### Usage in Browser
-
-See examples of using yargs in the browser in [docs](/docs/browser.md).
-
-## Community
-
-Having problems? want to contribute? join our [community slack](http://devtoolscommunity.herokuapp.com).
-
-## Documentation
-
-### Table of Contents
-
-* [Yargs' API](/docs/api.md)
-* [Examples](/docs/examples.md)
-* [Parsing Tricks](/docs/tricks.md)
- * [Stop the Parser](/docs/tricks.md#stop)
- * [Negating Boolean Arguments](/docs/tricks.md#negate)
- * [Numbers](/docs/tricks.md#numbers)
- * [Arrays](/docs/tricks.md#arrays)
- * [Objects](/docs/tricks.md#objects)
- * [Quotes](/docs/tricks.md#quotes)
-* [Advanced Topics](/docs/advanced.md)
- * [Composing Your App Using Commands](/docs/advanced.md#commands)
- * [Building Configurable CLI Apps](/docs/advanced.md#configuration)
- * [Customizing Yargs' Parser](/docs/advanced.md#customizing)
- * [Bundling yargs](/docs/bundling.md)
-* [Contributing](/contributing.md)
-
-## Supported Node.js Versions
-
-Libraries in this ecosystem make a best effort to track
-[Node.js' release schedule](https://nodejs.org/en/about/releases/). Here's [a
-post on why we think this is important](https://medium.com/the-node-js-collection/maintainers-should-consider-following-node-js-release-schedule-ab08ed4de71a).
-
-[npm-url]: https://www.npmjs.com/package/yargs
-[npm-image]: https://img.shields.io/npm/v/yargs.svg
-[standard-image]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg
-[standard-url]: http://standardjs.com/
-[conventional-commits-image]: https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg
-[conventional-commits-url]: https://conventionalcommits.org/
-[slack-image]: http://devtoolscommunity.herokuapp.com/badge.svg
-[slack-url]: http://devtoolscommunity.herokuapp.com
-[type-definitions]: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/yargs
-[coverage-image]: https://img.shields.io/nycrc/yargs/yargs
-[coverage-url]: https://github.com/yargs/yargs/blob/master/.nycrc
diff --git a/includes/search/node_modules/yargs/browser.mjs b/includes/search/node_modules/yargs/browser.mjs
deleted file mode 100644
index d8a9f3d..0000000
--- a/includes/search/node_modules/yargs/browser.mjs
+++ /dev/null
@@ -1,7 +0,0 @@
-// Bootstrap yargs for browser:
-import browserPlatformShim from './lib/platform-shims/browser.mjs';
-import {YargsWithShim} from './build/lib/yargs-factory.js';
-
-const Yargs = YargsWithShim(browserPlatformShim);
-
-export default Yargs;
diff --git a/includes/search/node_modules/yargs/build/index.cjs b/includes/search/node_modules/yargs/build/index.cjs
deleted file mode 100644
index 34ad9a8..0000000
--- a/includes/search/node_modules/yargs/build/index.cjs
+++ /dev/null
@@ -1,2920 +0,0 @@
-'use strict';
-
-var assert = require('assert');
-
-class YError extends Error {
- constructor(msg) {
- super(msg || 'yargs error');
- this.name = 'YError';
- Error.captureStackTrace(this, YError);
- }
-}
-
-let previouslyVisitedConfigs = [];
-let shim;
-function applyExtends(config, cwd, mergeExtends, _shim) {
- shim = _shim;
- let defaultConfig = {};
- if (Object.prototype.hasOwnProperty.call(config, 'extends')) {
- if (typeof config.extends !== 'string')
- return defaultConfig;
- const isPath = /\.json|\..*rc$/.test(config.extends);
- let pathToDefault = null;
- if (!isPath) {
- try {
- pathToDefault = require.resolve(config.extends);
- }
- catch (_err) {
- return config;
- }
- }
- else {
- pathToDefault = getPathToDefaultConfig(cwd, config.extends);
- }
- checkForCircularExtends(pathToDefault);
- previouslyVisitedConfigs.push(pathToDefault);
- defaultConfig = isPath
- ? JSON.parse(shim.readFileSync(pathToDefault, 'utf8'))
- : require(config.extends);
- delete config.extends;
- defaultConfig = applyExtends(defaultConfig, shim.path.dirname(pathToDefault), mergeExtends, shim);
- }
- previouslyVisitedConfigs = [];
- return mergeExtends
- ? mergeDeep(defaultConfig, config)
- : Object.assign({}, defaultConfig, config);
-}
-function checkForCircularExtends(cfgPath) {
- if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) {
- throw new YError(`Circular extended configurations: '${cfgPath}'.`);
- }
-}
-function getPathToDefaultConfig(cwd, pathToExtend) {
- return shim.path.resolve(cwd, pathToExtend);
-}
-function mergeDeep(config1, config2) {
- const target = {};
- function isObject(obj) {
- return obj && typeof obj === 'object' && !Array.isArray(obj);
- }
- Object.assign(target, config1);
- for (const key of Object.keys(config2)) {
- if (isObject(config2[key]) && isObject(target[key])) {
- target[key] = mergeDeep(config1[key], config2[key]);
- }
- else {
- target[key] = config2[key];
- }
- }
- return target;
-}
-
-function parseCommand(cmd) {
- const extraSpacesStrippedCommand = cmd.replace(/\s{2,}/g, ' ');
- const splitCommand = extraSpacesStrippedCommand.split(/\s+(?![^[]*]|[^<]*>)/);
- const bregex = /\.*[\][<>]/g;
- const firstCommand = splitCommand.shift();
- if (!firstCommand)
- throw new Error(`No command found in: ${cmd}`);
- const parsedCommand = {
- cmd: firstCommand.replace(bregex, ''),
- demanded: [],
- optional: [],
- };
- splitCommand.forEach((cmd, i) => {
- let variadic = false;
- cmd = cmd.replace(/\s/g, '');
- if (/\.+[\]>]/.test(cmd) && i === splitCommand.length - 1)
- variadic = true;
- if (/^\[/.test(cmd)) {
- parsedCommand.optional.push({
- cmd: cmd.replace(bregex, '').split('|'),
- variadic,
- });
- }
- else {
- parsedCommand.demanded.push({
- cmd: cmd.replace(bregex, '').split('|'),
- variadic,
- });
- }
- });
- return parsedCommand;
-}
-
-const positionName = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth'];
-function argsert(arg1, arg2, arg3) {
- function parseArgs() {
- return typeof arg1 === 'object'
- ? [{ demanded: [], optional: [] }, arg1, arg2]
- : [
- parseCommand(`cmd ${arg1}`),
- arg2,
- arg3,
- ];
- }
- try {
- let position = 0;
- const [parsed, callerArguments, _length] = parseArgs();
- const args = [].slice.call(callerArguments);
- while (args.length && args[args.length - 1] === undefined)
- args.pop();
- const length = _length || args.length;
- if (length < parsed.demanded.length) {
- throw new YError(`Not enough arguments provided. Expected ${parsed.demanded.length} but received ${args.length}.`);
- }
- const totalCommands = parsed.demanded.length + parsed.optional.length;
- if (length > totalCommands) {
- throw new YError(`Too many arguments provided. Expected max ${totalCommands} but received ${length}.`);
- }
- parsed.demanded.forEach(demanded => {
- const arg = args.shift();
- const observedType = guessType(arg);
- const matchingTypes = demanded.cmd.filter(type => type === observedType || type === '*');
- if (matchingTypes.length === 0)
- argumentTypeError(observedType, demanded.cmd, position);
- position += 1;
- });
- parsed.optional.forEach(optional => {
- if (args.length === 0)
- return;
- const arg = args.shift();
- const observedType = guessType(arg);
- const matchingTypes = optional.cmd.filter(type => type === observedType || type === '*');
- if (matchingTypes.length === 0)
- argumentTypeError(observedType, optional.cmd, position);
- position += 1;
- });
- }
- catch (err) {
- console.warn(err.stack);
- }
-}
-function guessType(arg) {
- if (Array.isArray(arg)) {
- return 'array';
- }
- else if (arg === null) {
- return 'null';
- }
- return typeof arg;
-}
-function argumentTypeError(observedType, allowedTypes, position) {
- throw new YError(`Invalid ${positionName[position] || 'manyith'} argument. Expected ${allowedTypes.join(' or ')} but received ${observedType}.`);
-}
-
-function isPromise(maybePromise) {
- return (!!maybePromise &&
- !!maybePromise.then &&
- typeof maybePromise.then === 'function');
-}
-
-function assertNotStrictEqual(actual, expected, shim, message) {
- shim.assert.notStrictEqual(actual, expected, message);
-}
-function assertSingleKey(actual, shim) {
- shim.assert.strictEqual(typeof actual, 'string');
-}
-function objectKeys(object) {
- return Object.keys(object);
-}
-
-function objFilter(original = {}, filter = () => true) {
- const obj = {};
- objectKeys(original).forEach(key => {
- if (filter(key, original[key])) {
- obj[key] = original[key];
- }
- });
- return obj;
-}
-
-function globalMiddlewareFactory(globalMiddleware, context) {
- return function (callback, applyBeforeValidation = false) {
- argsert('<array|function> [boolean]', [callback, applyBeforeValidation], arguments.length);
- if (Array.isArray(callback)) {
- for (let i = 0; i < callback.length; i++) {
- if (typeof callback[i] !== 'function') {
- throw Error('middleware must be a function');
- }
- callback[i].applyBeforeValidation = applyBeforeValidation;
- }
- Array.prototype.push.apply(globalMiddleware, callback);
- }
- else if (typeof callback === 'function') {
- callback.applyBeforeValidation = applyBeforeValidation;
- globalMiddleware.push(callback);
- }
- return context;
- };
-}
-function commandMiddlewareFactory(commandMiddleware) {
- if (!commandMiddleware)
- return [];
- return commandMiddleware.map(middleware => {
- middleware.applyBeforeValidation = false;
- return middleware;
- });
-}
-function applyMiddleware(argv, yargs, middlewares, beforeValidation) {
- const beforeValidationError = new Error('middleware cannot return a promise when applyBeforeValidation is true');
- return middlewares.reduce((acc, middleware) => {
- if (middleware.applyBeforeValidation !== beforeValidation) {
- return acc;
- }
- if (isPromise(acc)) {
- return acc
- .then(initialObj => Promise.all([
- initialObj,
- middleware(initialObj, yargs),
- ]))
- .then(([initialObj, middlewareObj]) => Object.assign(initialObj, middlewareObj));
- }
- else {
- const result = middleware(acc, yargs);
- if (beforeValidation && isPromise(result))
- throw beforeValidationError;
- return isPromise(result)
- ? result.then(middlewareObj => Object.assign(acc, middlewareObj))
- : Object.assign(acc, result);
- }
- }, argv);
-}
-
-function getProcessArgvBinIndex() {
- if (isBundledElectronApp())
- return 0;
- return 1;
-}
-function isBundledElectronApp() {
- return isElectronApp() && !process.defaultApp;
-}
-function isElectronApp() {
- return !!process.versions.electron;
-}
-function hideBin(argv) {
- return argv.slice(getProcessArgvBinIndex() + 1);
-}
-function getProcessArgvBin() {
- return process.argv[getProcessArgvBinIndex()];
-}
-
-var processArgv = /*#__PURE__*/Object.freeze({
- __proto__: null,
- hideBin: hideBin,
- getProcessArgvBin: getProcessArgvBin
-});
-
-function whichModule(exported) {
- if (typeof require === 'undefined')
- return null;
- for (let i = 0, files = Object.keys(require.cache), mod; i < files.length; i++) {
- mod = require.cache[files[i]];
- if (mod.exports === exported)
- return mod;
- }
- return null;
-}
-
-const DEFAULT_MARKER = /(^\*)|(^\$0)/;
-function command(yargs, usage, validation, globalMiddleware = [], shim) {
- const self = {};
- let handlers = {};
- let aliasMap = {};
- let defaultCommand;
- self.addHandler = function addHandler(cmd, description, builder, handler, commandMiddleware, deprecated) {
- let aliases = [];
- const middlewares = commandMiddlewareFactory(commandMiddleware);
- handler = handler || (() => { });
- if (Array.isArray(cmd)) {
- if (isCommandAndAliases(cmd)) {
- [cmd, ...aliases] = cmd;
- }
- else {
- for (const command of cmd) {
- self.addHandler(command);
- }
- }
- }
- else if (isCommandHandlerDefinition(cmd)) {
- let command = Array.isArray(cmd.command) || typeof cmd.command === 'string'
- ? cmd.command
- : moduleName(cmd);
- if (cmd.aliases)
- command = [].concat(command).concat(cmd.aliases);
- self.addHandler(command, extractDesc(cmd), cmd.builder, cmd.handler, cmd.middlewares, cmd.deprecated);
- return;
- }
- else if (isCommandBuilderDefinition(builder)) {
- self.addHandler([cmd].concat(aliases), description, builder.builder, builder.handler, builder.middlewares, builder.deprecated);
- return;
- }
- if (typeof cmd === 'string') {
- const parsedCommand = parseCommand(cmd);
- aliases = aliases.map(alias => parseCommand(alias).cmd);
- let isDefault = false;
- const parsedAliases = [parsedCommand.cmd].concat(aliases).filter(c => {
- if (DEFAULT_MARKER.test(c)) {
- isDefault = true;
- return false;
- }
- return true;
- });
- if (parsedAliases.length === 0 && isDefault)
- parsedAliases.push('$0');
- if (isDefault) {
- parsedCommand.cmd = parsedAliases[0];
- aliases = parsedAliases.slice(1);
- cmd = cmd.replace(DEFAULT_MARKER, parsedCommand.cmd);
- }
- aliases.forEach(alias => {
- aliasMap[alias] = parsedCommand.cmd;
- });
- if (description !== false) {
- usage.command(cmd, description, isDefault, aliases, deprecated);
- }
- handlers[parsedCommand.cmd] = {
- original: cmd,
- description,
- handler,
- builder: builder || {},
- middlewares,
- deprecated,
- demanded: parsedCommand.demanded,
- optional: parsedCommand.optional,
- };
- if (isDefault)
- defaultCommand = handlers[parsedCommand.cmd];
- }
- };
- self.addDirectory = function addDirectory(dir, context, req, callerFile, opts) {
- opts = opts || {};
- if (typeof opts.recurse !== 'boolean')
- opts.recurse = false;
- if (!Array.isArray(opts.extensions))
- opts.extensions = ['js'];
- const parentVisit = typeof opts.visit === 'function' ? opts.visit : (o) => o;
- opts.visit = function visit(obj, joined, filename) {
- const visited = parentVisit(obj, joined, filename);
- if (visited) {
- if (~context.files.indexOf(joined))
- return visited;
- context.files.push(joined);
- self.addHandler(visited);
- }
- return visited;
- };
- shim.requireDirectory({ require: req, filename: callerFile }, dir, opts);
- };
- function moduleName(obj) {
- const mod = whichModule(obj);
- if (!mod)
- throw new Error(`No command name given for module: ${shim.inspect(obj)}`);
- return commandFromFilename(mod.filename);
- }
- function commandFromFilename(filename) {
- return shim.path.basename(filename, shim.path.extname(filename));
- }
- function extractDesc({ describe, description, desc, }) {
- for (const test of [describe, description, desc]) {
- if (typeof test === 'string' || test === false)
- return test;
- assertNotStrictEqual(test, true, shim);
- }
- return false;
- }
- self.getCommands = () => Object.keys(handlers).concat(Object.keys(aliasMap));
- self.getCommandHandlers = () => handlers;
- self.hasDefaultCommand = () => !!defaultCommand;
- self.runCommand = function runCommand(command, yargs, parsed, commandIndex) {
- let aliases = parsed.aliases;
- const commandHandler = handlers[command] || handlers[aliasMap[command]] || defaultCommand;
- const currentContext = yargs.getContext();
- let numFiles = currentContext.files.length;
- const parentCommands = currentContext.commands.slice();
- let innerArgv = parsed.argv;
- let positionalMap = {};
- if (command) {
- currentContext.commands.push(command);
- currentContext.fullCommands.push(commandHandler.original);
- }
- const builder = commandHandler.builder;
- if (isCommandBuilderCallback(builder)) {
- const builderOutput = builder(yargs.reset(parsed.aliases));
- const innerYargs = isYargsInstance(builderOutput) ? builderOutput : yargs;
- if (shouldUpdateUsage(innerYargs)) {
- innerYargs
- .getUsageInstance()
- .usage(usageFromParentCommandsCommandHandler(parentCommands, commandHandler), commandHandler.description);
- }
- innerArgv = innerYargs._parseArgs(null, null, true, commandIndex);
- aliases = innerYargs.parsed.aliases;
- }
- else if (isCommandBuilderOptionDefinitions(builder)) {
- const innerYargs = yargs.reset(parsed.aliases);
- if (shouldUpdateUsage(innerYargs)) {
- innerYargs
- .getUsageInstance()
- .usage(usageFromParentCommandsCommandHandler(parentCommands, commandHandler), commandHandler.description);
- }
- Object.keys(commandHandler.builder).forEach(key => {
- innerYargs.option(key, builder[key]);
- });
- innerArgv = innerYargs._parseArgs(null, null, true, commandIndex);
- aliases = innerYargs.parsed.aliases;
- }
- if (!yargs._hasOutput()) {
- positionalMap = populatePositionals(commandHandler, innerArgv, currentContext);
- }
- const middlewares = globalMiddleware
- .slice(0)
- .concat(commandHandler.middlewares);
- applyMiddleware(innerArgv, yargs, middlewares, true);
- if (!yargs._hasOutput()) {
- yargs._runValidation(innerArgv, aliases, positionalMap, yargs.parsed.error, !command);
- }
- if (commandHandler.handler && !yargs._hasOutput()) {
- yargs._setHasOutput();
- const populateDoubleDash = !!yargs.getOptions().configuration['populate--'];
- yargs._postProcess(innerArgv, populateDoubleDash);
- innerArgv = applyMiddleware(innerArgv, yargs, middlewares, false);
- let handlerResult;
- if (isPromise(innerArgv)) {
- handlerResult = innerArgv.then(argv => commandHandler.handler(argv));
- }
- else {
- handlerResult = commandHandler.handler(innerArgv);
- }
- const handlerFinishCommand = yargs.getHandlerFinishCommand();
- if (isPromise(handlerResult)) {
- yargs.getUsageInstance().cacheHelpMessage();
- handlerResult
- .then(value => {
- if (handlerFinishCommand) {
- handlerFinishCommand(value);
- }
- })
- .catch(error => {
- try {
- yargs.getUsageInstance().fail(null, error);
- }
- catch (err) {
- }
- })
- .then(() => {
- yargs.getUsageInstance().clearCachedHelpMessage();
- });
- }
- else {
- if (handlerFinishCommand) {
- handlerFinishCommand(handlerResult);
- }
- }
- }
- if (command) {
- currentContext.commands.pop();
- currentContext.fullCommands.pop();
- }
- numFiles = currentContext.files.length - numFiles;
- if (numFiles > 0)
- currentContext.files.splice(numFiles * -1, numFiles);
- return innerArgv;
- };
- function shouldUpdateUsage(yargs) {
- return (!yargs.getUsageInstance().getUsageDisabled() &&
- yargs.getUsageInstance().getUsage().length === 0);
- }
- function usageFromParentCommandsCommandHandler(parentCommands, commandHandler) {
- const c = DEFAULT_MARKER.test(commandHandler.original)
- ? commandHandler.original.replace(DEFAULT_MARKER, '').trim()
- : commandHandler.original;
- const pc = parentCommands.filter(c => {
- return !DEFAULT_MARKER.test(c);
- });
- pc.push(c);
- return `$0 ${pc.join(' ')}`;
- }
- self.runDefaultBuilderOn = function (yargs) {
- assertNotStrictEqual(defaultCommand, undefined, shim);
- if (shouldUpdateUsage(yargs)) {
- const commandString = DEFAULT_MARKER.test(defaultCommand.original)
- ? defaultCommand.original
- : defaultCommand.original.replace(/^[^[\]<>]*/, '$0 ');
- yargs.getUsageInstance().usage(commandString, defaultCommand.description);
- }
- const builder = defaultCommand.builder;
- if (isCommandBuilderCallback(builder)) {
- builder(yargs);
- }
- else if (!isCommandBuilderDefinition(builder)) {
- Object.keys(builder).forEach(key => {
- yargs.option(key, builder[key]);
- });
- }
- };
- function populatePositionals(commandHandler, argv, context) {
- argv._ = argv._.slice(context.commands.length);
- const demanded = commandHandler.demanded.slice(0);
- const optional = commandHandler.optional.slice(0);
- const positionalMap = {};
- validation.positionalCount(demanded.length, argv._.length);
- while (demanded.length) {
- const demand = demanded.shift();
- populatePositional(demand, argv, positionalMap);
- }
- while (optional.length) {
- const maybe = optional.shift();
- populatePositional(maybe, argv, positionalMap);
- }
- argv._ = context.commands.concat(argv._.map(a => '' + a));
- postProcessPositionals(argv, positionalMap, self.cmdToParseOptions(commandHandler.original));
- return positionalMap;
- }
- function populatePositional(positional, argv, positionalMap) {
- const cmd = positional.cmd[0];
- if (positional.variadic) {
- positionalMap[cmd] = argv._.splice(0).map(String);
- }
- else {
- if (argv._.length)
- positionalMap[cmd] = [String(argv._.shift())];
- }
- }
- function postProcessPositionals(argv, positionalMap, parseOptions) {
- const options = Object.assign({}, yargs.getOptions());
- options.default = Object.assign(parseOptions.default, options.default);
- for (const key of Object.keys(parseOptions.alias)) {
- options.alias[key] = (options.alias[key] || []).concat(parseOptions.alias[key]);
- }
- options.array = options.array.concat(parseOptions.array);
- options.config = {};
- const unparsed = [];
- Object.keys(positionalMap).forEach(key => {
- positionalMap[key].map(value => {
- if (options.configuration['unknown-options-as-args'])
- options.key[key] = true;
- unparsed.push(`--${key}`);
- unparsed.push(value);
- });
- });
- if (!unparsed.length)
- return;
- const config = Object.assign({}, options.configuration, {
- 'populate--': true,
- });
- const parsed = shim.Parser.detailed(unparsed, Object.assign({}, options, {
- configuration: config,
- }));
- if (parsed.error) {
- yargs.getUsageInstance().fail(parsed.error.message, parsed.error);
- }
- else {
- const positionalKeys = Object.keys(positionalMap);
- Object.keys(positionalMap).forEach(key => {
- positionalKeys.push(...parsed.aliases[key]);
- });
- Object.keys(parsed.argv).forEach(key => {
- if (positionalKeys.indexOf(key) !== -1) {
- if (!positionalMap[key])
- positionalMap[key] = parsed.argv[key];
- argv[key] = parsed.argv[key];
- }
- });
- }
- }
- self.cmdToParseOptions = function (cmdString) {
- const parseOptions = {
- array: [],
- default: {},
- alias: {},
- demand: {},
- };
- const parsed = parseCommand(cmdString);
- parsed.demanded.forEach(d => {
- const [cmd, ...aliases] = d.cmd;
- if (d.variadic) {
- parseOptions.array.push(cmd);
- parseOptions.default[cmd] = [];
- }
- parseOptions.alias[cmd] = aliases;
- parseOptions.demand[cmd] = true;
- });
- parsed.optional.forEach(o => {
- const [cmd, ...aliases] = o.cmd;
- if (o.variadic) {
- parseOptions.array.push(cmd);
- parseOptions.default[cmd] = [];
- }
- parseOptions.alias[cmd] = aliases;
- });
- return parseOptions;
- };
- self.reset = () => {
- handlers = {};
- aliasMap = {};
- defaultCommand = undefined;
- return self;
- };
- const frozens = [];
- self.freeze = () => {
- frozens.push({
- handlers,
- aliasMap,
- defaultCommand,
- });
- };
- self.unfreeze = () => {
- const frozen = frozens.pop();
- assertNotStrictEqual(frozen, undefined, shim);
- ({ handlers, aliasMap, defaultCommand } = frozen);
- };
- return self;
-}
-function isCommandBuilderDefinition(builder) {
- return (typeof builder === 'object' &&
- !!builder.builder &&
- typeof builder.handler === 'function');
-}
-function isCommandAndAliases(cmd) {
- if (cmd.every(c => typeof c === 'string')) {
- return true;
- }
- else {
- return false;
- }
-}
-function isCommandBuilderCallback(builder) {
- return typeof builder === 'function';
-}
-function isCommandBuilderOptionDefinitions(builder) {
- return typeof builder === 'object';
-}
-function isCommandHandlerDefinition(cmd) {
- return typeof cmd === 'object' && !Array.isArray(cmd);
-}
-
-function setBlocking(blocking) {
- if (typeof process === 'undefined')
- return;
- [process.stdout, process.stderr].forEach(_stream => {
- const stream = _stream;
- if (stream._handle &&
- stream.isTTY &&
- typeof stream._handle.setBlocking === 'function') {
- stream._handle.setBlocking(blocking);
- }
- });
-}
-
-function usage(yargs, y18n, shim) {
- const __ = y18n.__;
- const self = {};
- const fails = [];
- self.failFn = function failFn(f) {
- fails.push(f);
- };
- let failMessage = null;
- let showHelpOnFail = true;
- self.showHelpOnFail = function showHelpOnFailFn(arg1 = true, arg2) {
- function parseFunctionArgs() {
- return typeof arg1 === 'string' ? [true, arg1] : [arg1, arg2];
- }
- const [enabled, message] = parseFunctionArgs();
- failMessage = message;
- showHelpOnFail = enabled;
- return self;
- };
- let failureOutput = false;
- self.fail = function fail(msg, err) {
- const logger = yargs._getLoggerInstance();
- if (fails.length) {
- for (let i = fails.length - 1; i >= 0; --i) {
- fails[i](msg, err, self);
- }
- }
- else {
- if (yargs.getExitProcess())
- setBlocking(true);
- if (!failureOutput) {
- failureOutput = true;
- if (showHelpOnFail) {
- yargs.showHelp('error');
- logger.error();
- }
- if (msg || err)
- logger.error(msg || err);
- if (failMessage) {
- if (msg || err)
- logger.error('');
- logger.error(failMessage);
- }
- }
- err = err || new YError(msg);
- if (yargs.getExitProcess()) {
- return yargs.exit(1);
- }
- else if (yargs._hasParseCallback()) {
- return yargs.exit(1, err);
- }
- else {
- throw err;
- }
- }
- };
- let usages = [];
- let usageDisabled = false;
- self.usage = (msg, description) => {
- if (msg === null) {
- usageDisabled = true;
- usages = [];
- return self;
- }
- usageDisabled = false;
- usages.push([msg, description || '']);
- return self;
- };
- self.getUsage = () => {
- return usages;
- };
- self.getUsageDisabled = () => {
- return usageDisabled;
- };
- self.getPositionalGroupName = () => {
- return __('Positionals:');
- };
- let examples = [];
- self.example = (cmd, description) => {
- examples.push([cmd, description || '']);
- };
- let commands = [];
- self.command = function command(cmd, description, isDefault, aliases, deprecated = false) {
- if (isDefault) {
- commands = commands.map(cmdArray => {
- cmdArray[2] = false;
- return cmdArray;
- });
- }
- commands.push([cmd, description || '', isDefault, aliases, deprecated]);
- };
- self.getCommands = () => commands;
- let descriptions = {};
- self.describe = function describe(keyOrKeys, desc) {
- if (Array.isArray(keyOrKeys)) {
- keyOrKeys.forEach(k => {
- self.describe(k, desc);
- });
- }
- else if (typeof keyOrKeys === 'object') {
- Object.keys(keyOrKeys).forEach(k => {
- self.describe(k, keyOrKeys[k]);
- });
- }
- else {
- descriptions[keyOrKeys] = desc;
- }
- };
- self.getDescriptions = () => descriptions;
- let epilogs = [];
- self.epilog = msg => {
- epilogs.push(msg);
- };
- let wrapSet = false;
- let wrap;
- self.wrap = cols => {
- wrapSet = true;
- wrap = cols;
- };
- function getWrap() {
- if (!wrapSet) {
- wrap = windowWidth();
- wrapSet = true;
- }
- return wrap;
- }
- const deferY18nLookupPrefix = '__yargsString__:';
- self.deferY18nLookup = str => deferY18nLookupPrefix + str;
- self.help = function help() {
- if (cachedHelpMessage)
- return cachedHelpMessage;
- normalizeAliases();
- const base$0 = yargs.customScriptName
- ? yargs.$0
- : shim.path.basename(yargs.$0);
- const demandedOptions = yargs.getDemandedOptions();
- const demandedCommands = yargs.getDemandedCommands();
- const deprecatedOptions = yargs.getDeprecatedOptions();
- const groups = yargs.getGroups();
- const options = yargs.getOptions();
- let keys = [];
- keys = keys.concat(Object.keys(descriptions));
- keys = keys.concat(Object.keys(demandedOptions));
- keys = keys.concat(Object.keys(demandedCommands));
- keys = keys.concat(Object.keys(options.default));
- keys = keys.filter(filterHiddenOptions);
- keys = Object.keys(keys.reduce((acc, key) => {
- if (key !== '_')
- acc[key] = true;
- return acc;
- }, {}));
- const theWrap = getWrap();
- const ui = shim.cliui({
- width: theWrap,
- wrap: !!theWrap,
- });
- if (!usageDisabled) {
- if (usages.length) {
- usages.forEach(usage => {
- ui.div(`${usage[0].replace(/\$0/g, base$0)}`);
- if (usage[1]) {
- ui.div({ text: `${usage[1]}`, padding: [1, 0, 0, 0] });
- }
- });
- ui.div();
- }
- else if (commands.length) {
- let u = null;
- if (demandedCommands._) {
- u = `${base$0} <${__('command')}>\n`;
- }
- else {
- u = `${base$0} [${__('command')}]\n`;
- }
- ui.div(`${u}`);
- }
- }
- if (commands.length) {
- ui.div(__('Commands:'));
- const context = yargs.getContext();
- const parentCommands = context.commands.length
- ? `${context.commands.join(' ')} `
- : '';
- if (yargs.getParserConfiguration()['sort-commands'] === true) {
- commands = commands.sort((a, b) => a[0].localeCompare(b[0]));
- }
- commands.forEach(command => {
- const commandString = `${base$0} ${parentCommands}${command[0].replace(/^\$0 ?/, '')}`;
- ui.span({
- text: commandString,
- padding: [0, 2, 0, 2],
- width: maxWidth(commands, theWrap, `${base$0}${parentCommands}`) + 4,
- }, { text: command[1] });
- const hints = [];
- if (command[2])
- hints.push(`[${__('default')}]`);
- if (command[3] && command[3].length) {
- hints.push(`[${__('aliases:')} ${command[3].join(', ')}]`);
- }
- if (command[4]) {
- if (typeof command[4] === 'string') {
- hints.push(`[${__('deprecated: %s', command[4])}]`);
- }
- else {
- hints.push(`[${__('deprecated')}]`);
- }
- }
- if (hints.length) {
- ui.div({
- text: hints.join(' '),
- padding: [0, 0, 0, 2],
- align: 'right',
- });
- }
- else {
- ui.div();
- }
- });
- ui.div();
- }
- const aliasKeys = (Object.keys(options.alias) || []).concat(Object.keys(yargs.parsed.newAliases) || []);
- keys = keys.filter(key => !yargs.parsed.newAliases[key] &&
- aliasKeys.every(alias => (options.alias[alias] || []).indexOf(key) === -1));
- const defaultGroup = __('Options:');
- if (!groups[defaultGroup])
- groups[defaultGroup] = [];
- addUngroupedKeys(keys, options.alias, groups, defaultGroup);
- const isLongSwitch = (sw) => /^--/.test(getText(sw));
- const displayedGroups = Object.keys(groups)
- .filter(groupName => groups[groupName].length > 0)
- .map(groupName => {
- const normalizedKeys = groups[groupName]
- .filter(filterHiddenOptions)
- .map(key => {
- if (~aliasKeys.indexOf(key))
- return key;
- for (let i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== undefined; i++) {
- if (~(options.alias[aliasKey] || []).indexOf(key))
- return aliasKey;
- }
- return key;
- });
- return { groupName, normalizedKeys };
- })
- .filter(({ normalizedKeys }) => normalizedKeys.length > 0)
- .map(({ groupName, normalizedKeys }) => {
- const switches = normalizedKeys.reduce((acc, key) => {
- acc[key] = [key]
- .concat(options.alias[key] || [])
- .map(sw => {
- if (groupName === self.getPositionalGroupName())
- return sw;
- else {
- return ((/^[0-9]$/.test(sw)
- ? ~options.boolean.indexOf(key)
- ? '-'
- : '--'
- : sw.length > 1
- ? '--'
- : '-') + sw);
- }
- })
- .sort((sw1, sw2) => isLongSwitch(sw1) === isLongSwitch(sw2)
- ? 0
- : isLongSwitch(sw1)
- ? 1
- : -1)
- .join(', ');
- return acc;
- }, {});
- return { groupName, normalizedKeys, switches };
- });
- const shortSwitchesUsed = displayedGroups
- .filter(({ groupName }) => groupName !== self.getPositionalGroupName())
- .some(({ normalizedKeys, switches }) => !normalizedKeys.every(key => isLongSwitch(switches[key])));
- if (shortSwitchesUsed) {
- displayedGroups
- .filter(({ groupName }) => groupName !== self.getPositionalGroupName())
- .forEach(({ normalizedKeys, switches }) => {
- normalizedKeys.forEach(key => {
- if (isLongSwitch(switches[key])) {
- switches[key] = addIndentation(switches[key], '-x, '.length);
- }
- });
- });
- }
- displayedGroups.forEach(({ groupName, normalizedKeys, switches }) => {
- ui.div(groupName);
- normalizedKeys.forEach(key => {
- const kswitch = switches[key];
- let desc = descriptions[key] || '';
- let type = null;
- if (~desc.lastIndexOf(deferY18nLookupPrefix))
- desc = __(desc.substring(deferY18nLookupPrefix.length));
- if (~options.boolean.indexOf(key))
- type = `[${__('boolean')}]`;
- if (~options.count.indexOf(key))
- type = `[${__('count')}]`;
- if (~options.string.indexOf(key))
- type = `[${__('string')}]`;
- if (~options.normalize.indexOf(key))
- type = `[${__('string')}]`;
- if (~options.array.indexOf(key))
- type = `[${__('array')}]`;
- if (~options.number.indexOf(key))
- type = `[${__('number')}]`;
- const deprecatedExtra = (deprecated) => typeof deprecated === 'string'
- ? `[${__('deprecated: %s', deprecated)}]`
- : `[${__('deprecated')}]`;
- const extra = [
- key in deprecatedOptions
- ? deprecatedExtra(deprecatedOptions[key])
- : null,
- type,
- key in demandedOptions ? `[${__('required')}]` : null,
- options.choices && options.choices[key]
- ? `[${__('choices:')} ${self.stringifiedValues(options.choices[key])}]`
- : null,
- defaultString(options.default[key], options.defaultDescription[key]),
- ]
- .filter(Boolean)
- .join(' ');
- ui.span({
- text: getText(kswitch),
- padding: [0, 2, 0, 2 + getIndentation(kswitch)],
- width: maxWidth(switches, theWrap) + 4,
- }, desc);
- if (extra)
- ui.div({ text: extra, padding: [0, 0, 0, 2], align: 'right' });
- else
- ui.div();
- });
- ui.div();
- });
- if (examples.length) {
- ui.div(__('Examples:'));
- examples.forEach(example => {
- example[0] = example[0].replace(/\$0/g, base$0);
- });
- examples.forEach(example => {
- if (example[1] === '') {
- ui.div({
- text: example[0],
- padding: [0, 2, 0, 2],
- });
- }
- else {
- ui.div({
- text: example[0],
- padding: [0, 2, 0, 2],
- width: maxWidth(examples, theWrap) + 4,
- }, {
- text: example[1],
- });
- }
- });
- ui.div();
- }
- if (epilogs.length > 0) {
- const e = epilogs
- .map(epilog => epilog.replace(/\$0/g, base$0))
- .join('\n');
- ui.div(`${e}\n`);
- }
- return ui.toString().replace(/\s*$/, '');
- };
- function maxWidth(table, theWrap, modifier) {
- let width = 0;
- if (!Array.isArray(table)) {
- table = Object.values(table).map(v => [v]);
- }
- table.forEach(v => {
- width = Math.max(shim.stringWidth(modifier ? `${modifier} ${getText(v[0])}` : getText(v[0])) + getIndentation(v[0]), width);
- });
- if (theWrap)
- width = Math.min(width, parseInt((theWrap * 0.5).toString(), 10));
- return width;
- }
- function normalizeAliases() {
- const demandedOptions = yargs.getDemandedOptions();
- const options = yargs.getOptions();
- (Object.keys(options.alias) || []).forEach(key => {
- options.alias[key].forEach(alias => {
- if (descriptions[alias])
- self.describe(key, descriptions[alias]);
- if (alias in demandedOptions)
- yargs.demandOption(key, demandedOptions[alias]);
- if (~options.boolean.indexOf(alias))
- yargs.boolean(key);
- if (~options.count.indexOf(alias))
- yargs.count(key);
- if (~options.string.indexOf(alias))
- yargs.string(key);
- if (~options.normalize.indexOf(alias))
- yargs.normalize(key);
- if (~options.array.indexOf(alias))
- yargs.array(key);
- if (~options.number.indexOf(alias))
- yargs.number(key);
- });
- });
- }
- let cachedHelpMessage;
- self.cacheHelpMessage = function () {
- cachedHelpMessage = this.help();
- };
- self.clearCachedHelpMessage = function () {
- cachedHelpMessage = undefined;
- };
- function addUngroupedKeys(keys, aliases, groups, defaultGroup) {
- let groupedKeys = [];
- let toCheck = null;
- Object.keys(groups).forEach(group => {
- groupedKeys = groupedKeys.concat(groups[group]);
- });
- keys.forEach(key => {
- toCheck = [key].concat(aliases[key]);
- if (!toCheck.some(k => groupedKeys.indexOf(k) !== -1)) {
- groups[defaultGroup].push(key);
- }
- });
- return groupedKeys;
- }
- function filterHiddenOptions(key) {
- return (yargs.getOptions().hiddenOptions.indexOf(key) < 0 ||
- yargs.parsed.argv[yargs.getOptions().showHiddenOpt]);
- }
- self.showHelp = (level) => {
- const logger = yargs._getLoggerInstance();
- if (!level)
- level = 'error';
- const emit = typeof level === 'function' ? level : logger[level];
- emit(self.help());
- };
- self.functionDescription = fn => {
- const description = fn.name
- ? shim.Parser.decamelize(fn.name, '-')
- : __('generated-value');
- return ['(', description, ')'].join('');
- };
- self.stringifiedValues = function stringifiedValues(values, separator) {
- let string = '';
- const sep = separator || ', ';
- const array = [].concat(values);
- if (!values || !array.length)
- return string;
- array.forEach(value => {
- if (string.length)
- string += sep;
- string += JSON.stringify(value);
- });
- return string;
- };
- function defaultString(value, defaultDescription) {
- let string = `[${__('default:')} `;
- if (value === undefined && !defaultDescription)
- return null;
- if (defaultDescription) {
- string += defaultDescription;
- }
- else {
- switch (typeof value) {
- case 'string':
- string += `"${value}"`;
- break;
- case 'object':
- string += JSON.stringify(value);
- break;
- default:
- string += value;
- }
- }
- return `${string}]`;
- }
- function windowWidth() {
- const maxWidth = 80;
- if (shim.process.stdColumns) {
- return Math.min(maxWidth, shim.process.stdColumns);
- }
- else {
- return maxWidth;
- }
- }
- let version = null;
- self.version = ver => {
- version = ver;
- };
- self.showVersion = () => {
- const logger = yargs._getLoggerInstance();
- logger.log(version);
- };
- self.reset = function reset(localLookup) {
- failMessage = null;
- failureOutput = false;
- usages = [];
- usageDisabled = false;
- epilogs = [];
- examples = [];
- commands = [];
- descriptions = objFilter(descriptions, k => !localLookup[k]);
- return self;
- };
- const frozens = [];
- self.freeze = function freeze() {
- frozens.push({
- failMessage,
- failureOutput,
- usages,
- usageDisabled,
- epilogs,
- examples,
- commands,
- descriptions,
- });
- };
- self.unfreeze = function unfreeze() {
- const frozen = frozens.pop();
- assertNotStrictEqual(frozen, undefined, shim);
- ({
- failMessage,
- failureOutput,
- usages,
- usageDisabled,
- epilogs,
- examples,
- commands,
- descriptions,
- } = frozen);
- };
- return self;
-}
-function isIndentedText(text) {
- return typeof text === 'object';
-}
-function addIndentation(text, indent) {
- return isIndentedText(text)
- ? { text: text.text, indentation: text.indentation + indent }
- : { text, indentation: indent };
-}
-function getIndentation(text) {
- return isIndentedText(text) ? text.indentation : 0;
-}
-function getText(text) {
- return isIndentedText(text) ? text.text : text;
-}
-
-const completionShTemplate = `###-begin-{{app_name}}-completions-###
-#
-# yargs command completion script
-#
-# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc
-# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX.
-#
-_yargs_completions()
-{
- local cur_word args type_list
-
- cur_word="\${COMP_WORDS[COMP_CWORD]}"
- args=("\${COMP_WORDS[@]}")
-
- # ask yargs to generate completions.
- type_list=$({{app_path}} --get-yargs-completions "\${args[@]}")
-
- COMPREPLY=( $(compgen -W "\${type_list}" -- \${cur_word}) )
-
- # if no match was found, fall back to filename completion
- if [ \${#COMPREPLY[@]} -eq 0 ]; then
- COMPREPLY=()
- fi
-
- return 0
-}
-complete -o default -F _yargs_completions {{app_name}}
-###-end-{{app_name}}-completions-###
-`;
-const completionZshTemplate = `###-begin-{{app_name}}-completions-###
-#
-# yargs command completion script
-#
-# Installation: {{app_path}} {{completion_command}} >> ~/.zshrc
-# or {{app_path}} {{completion_command}} >> ~/.zsh_profile on OSX.
-#
-_{{app_name}}_yargs_completions()
-{
- local reply
- local si=$IFS
- IFS=$'\n' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" {{app_path}} --get-yargs-completions "\${words[@]}"))
- IFS=$si
- _describe 'values' reply
-}
-compdef _{{app_name}}_yargs_completions {{app_name}}
-###-end-{{app_name}}-completions-###
-`;
-
-function completion(yargs, usage, command, shim) {
- const self = {
- completionKey: 'get-yargs-completions',
- };
- let aliases;
- self.setParsed = function setParsed(parsed) {
- aliases = parsed.aliases;
- };
- const zshShell = (shim.getEnv('SHELL') && shim.getEnv('SHELL').indexOf('zsh') !== -1) ||
- (shim.getEnv('ZSH_NAME') && shim.getEnv('ZSH_NAME').indexOf('zsh') !== -1);
- self.getCompletion = function getCompletion(args, done) {
- const completions = [];
- const current = args.length ? args[args.length - 1] : '';
- const argv = yargs.parse(args, true);
- const parentCommands = yargs.getContext().commands;
- function runCompletionFunction(argv) {
- assertNotStrictEqual(completionFunction, null, shim);
- if (isSyncCompletionFunction(completionFunction)) {
- const result = completionFunction(current, argv);
- if (isPromise(result)) {
- return result
- .then(list => {
- shim.process.nextTick(() => {
- done(list);
- });
- })
- .catch(err => {
- shim.process.nextTick(() => {
- throw err;
- });
- });
- }
- return done(result);
- }
- else {
- return completionFunction(current, argv, completions => {
- done(completions);
- });
- }
- }
- if (completionFunction) {
- return isPromise(argv)
- ? argv.then(runCompletionFunction)
- : runCompletionFunction(argv);
- }
- const handlers = command.getCommandHandlers();
- for (let i = 0, ii = args.length; i < ii; ++i) {
- if (handlers[args[i]] && handlers[args[i]].builder) {
- const builder = handlers[args[i]].builder;
- if (isCommandBuilderCallback(builder)) {
- const y = yargs.reset();
- builder(y);
- return y.argv;
- }
- }
- }
- if (!current.match(/^-/) &&
- parentCommands[parentCommands.length - 1] !== current) {
- usage.getCommands().forEach(usageCommand => {
- const commandName = parseCommand(usageCommand[0]).cmd;
- if (args.indexOf(commandName) === -1) {
- if (!zshShell) {
- completions.push(commandName);
- }
- else {
- const desc = usageCommand[1] || '';
- completions.push(commandName.replace(/:/g, '\\:') + ':' + desc);
- }
- }
- });
- }
- if (current.match(/^-/) || (current === '' && completions.length === 0)) {
- const descs = usage.getDescriptions();
- const options = yargs.getOptions();
- Object.keys(options.key).forEach(key => {
- const negable = !!options.configuration['boolean-negation'] &&
- options.boolean.includes(key);
- let keyAndAliases = [key].concat(aliases[key] || []);
- if (negable)
- keyAndAliases = keyAndAliases.concat(keyAndAliases.map(key => `no-${key}`));
- function completeOptionKey(key) {
- const notInArgs = keyAndAliases.every(val => args.indexOf(`--${val}`) === -1);
- if (notInArgs) {
- const startsByTwoDashes = (s) => /^--/.test(s);
- const isShortOption = (s) => /^[^0-9]$/.test(s);
- const dashes = !startsByTwoDashes(current) && isShortOption(key) ? '-' : '--';
- if (!zshShell) {
- completions.push(dashes + key);
- }
- else {
- const desc = descs[key] || '';
- completions.push(dashes +
- `${key.replace(/:/g, '\\:')}:${desc.replace('__yargsString__:', '')}`);
- }
- }
- }
- completeOptionKey(key);
- if (negable && !!options.default[key])
- completeOptionKey(`no-${key}`);
- });
- }
- done(completions);
- };
- self.generateCompletionScript = function generateCompletionScript($0, cmd) {
- let script = zshShell
- ? completionZshTemplate
- : completionShTemplate;
- const name = shim.path.basename($0);
- if ($0.match(/\.js$/))
- $0 = `./${$0}`;
- script = script.replace(/{{app_name}}/g, name);
- script = script.replace(/{{completion_command}}/g, cmd);
- return script.replace(/{{app_path}}/g, $0);
- };
- let completionFunction = null;
- self.registerFunction = fn => {
- completionFunction = fn;
- };
- return self;
-}
-function isSyncCompletionFunction(completionFunction) {
- return completionFunction.length < 3;
-}
-
-function levenshtein(a, b) {
- if (a.length === 0)
- return b.length;
- if (b.length === 0)
- return a.length;
- const matrix = [];
- let i;
- for (i = 0; i <= b.length; i++) {
- matrix[i] = [i];
- }
- let j;
- for (j = 0; j <= a.length; j++) {
- matrix[0][j] = j;
- }
- for (i = 1; i <= b.length; i++) {
- for (j = 1; j <= a.length; j++) {
- if (b.charAt(i - 1) === a.charAt(j - 1)) {
- matrix[i][j] = matrix[i - 1][j - 1];
- }
- else {
- matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, Math.min(matrix[i][j - 1] + 1, matrix[i - 1][j] + 1));
- }
- }
- }
- return matrix[b.length][a.length];
-}
-
-const specialKeys = ['$0', '--', '_'];
-function validation(yargs, usage, y18n, shim) {
- const __ = y18n.__;
- const __n = y18n.__n;
- const self = {};
- self.nonOptionCount = function nonOptionCount(argv) {
- const demandedCommands = yargs.getDemandedCommands();
- const positionalCount = argv._.length + (argv['--'] ? argv['--'].length : 0);
- const _s = positionalCount - yargs.getContext().commands.length;
- if (demandedCommands._ &&
- (_s < demandedCommands._.min || _s > demandedCommands._.max)) {
- if (_s < demandedCommands._.min) {
- if (demandedCommands._.minMsg !== undefined) {
- usage.fail(demandedCommands._.minMsg
- ? demandedCommands._.minMsg
- .replace(/\$0/g, _s.toString())
- .replace(/\$1/, demandedCommands._.min.toString())
- : null);
- }
- else {
- usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', _s, _s.toString(), demandedCommands._.min.toString()));
- }
- }
- else if (_s > demandedCommands._.max) {
- if (demandedCommands._.maxMsg !== undefined) {
- usage.fail(demandedCommands._.maxMsg
- ? demandedCommands._.maxMsg
- .replace(/\$0/g, _s.toString())
- .replace(/\$1/, demandedCommands._.max.toString())
- : null);
- }
- else {
- usage.fail(__n('Too many non-option arguments: got %s, maximum of %s', 'Too many non-option arguments: got %s, maximum of %s', _s, _s.toString(), demandedCommands._.max.toString()));
- }
- }
- }
- };
- self.positionalCount = function positionalCount(required, observed) {
- if (observed < required) {
- usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', observed, observed + '', required + ''));
- }
- };
- self.requiredArguments = function requiredArguments(argv) {
- const demandedOptions = yargs.getDemandedOptions();
- let missing = null;
- for (const key of Object.keys(demandedOptions)) {
- if (!Object.prototype.hasOwnProperty.call(argv, key) ||
- typeof argv[key] === 'undefined') {
- missing = missing || {};
- missing[key] = demandedOptions[key];
- }
- }
- if (missing) {
- const customMsgs = [];
- for (const key of Object.keys(missing)) {
- const msg = missing[key];
- if (msg && customMsgs.indexOf(msg) < 0) {
- customMsgs.push(msg);
- }
- }
- const customMsg = customMsgs.length ? `\n${customMsgs.join('\n')}` : '';
- usage.fail(__n('Missing required argument: %s', 'Missing required arguments: %s', Object.keys(missing).length, Object.keys(missing).join(', ') + customMsg));
- }
- };
- self.unknownArguments = function unknownArguments(argv, aliases, positionalMap, isDefaultCommand, checkPositionals = true) {
- const commandKeys = yargs.getCommandInstance().getCommands();
- const unknown = [];
- const currentContext = yargs.getContext();
- Object.keys(argv).forEach(key => {
- if (specialKeys.indexOf(key) === -1 &&
- !Object.prototype.hasOwnProperty.call(positionalMap, key) &&
- !Object.prototype.hasOwnProperty.call(yargs._getParseContext(), key) &&
- !self.isValidAndSomeAliasIsNotNew(key, aliases)) {
- unknown.push(key);
- }
- });
- if (checkPositionals &&
- (currentContext.commands.length > 0 ||
- commandKeys.length > 0 ||
- isDefaultCommand)) {
- argv._.slice(currentContext.commands.length).forEach(key => {
- if (commandKeys.indexOf('' + key) === -1) {
- unknown.push('' + key);
- }
- });
- }
- if (unknown.length > 0) {
- usage.fail(__n('Unknown argument: %s', 'Unknown arguments: %s', unknown.length, unknown.join(', ')));
- }
- };
- self.unknownCommands = function unknownCommands(argv) {
- const commandKeys = yargs.getCommandInstance().getCommands();
- const unknown = [];
- const currentContext = yargs.getContext();
- if (currentContext.commands.length > 0 || commandKeys.length > 0) {
- argv._.slice(currentContext.commands.length).forEach(key => {
- if (commandKeys.indexOf('' + key) === -1) {
- unknown.push('' + key);
- }
- });
- }
- if (unknown.length > 0) {
- usage.fail(__n('Unknown command: %s', 'Unknown commands: %s', unknown.length, unknown.join(', ')));
- return true;
- }
- else {
- return false;
- }
- };
- self.isValidAndSomeAliasIsNotNew = function isValidAndSomeAliasIsNotNew(key, aliases) {
- if (!Object.prototype.hasOwnProperty.call(aliases, key)) {
- return false;
- }
- const newAliases = yargs.parsed.newAliases;
- for (const a of [key, ...aliases[key]]) {
- if (!Object.prototype.hasOwnProperty.call(newAliases, a) ||
- !newAliases[key]) {
- return true;
- }
- }
- return false;
- };
- self.limitedChoices = function limitedChoices(argv) {
- const options = yargs.getOptions();
- const invalid = {};
- if (!Object.keys(options.choices).length)
- return;
- Object.keys(argv).forEach(key => {
- if (specialKeys.indexOf(key) === -1 &&
- Object.prototype.hasOwnProperty.call(options.choices, key)) {
- [].concat(argv[key]).forEach(value => {
- if (options.choices[key].indexOf(value) === -1 &&
- value !== undefined) {
- invalid[key] = (invalid[key] || []).concat(value);
- }
- });
- }
- });
- const invalidKeys = Object.keys(invalid);
- if (!invalidKeys.length)
- return;
- let msg = __('Invalid values:');
- invalidKeys.forEach(key => {
- msg += `\n ${__('Argument: %s, Given: %s, Choices: %s', key, usage.stringifiedValues(invalid[key]), usage.stringifiedValues(options.choices[key]))}`;
- });
- usage.fail(msg);
- };
- let checks = [];
- self.check = function check(f, global) {
- checks.push({
- func: f,
- global,
- });
- };
- self.customChecks = function customChecks(argv, aliases) {
- for (let i = 0, f; (f = checks[i]) !== undefined; i++) {
- const func = f.func;
- let result = null;
- try {
- result = func(argv, aliases);
- }
- catch (err) {
- usage.fail(err.message ? err.message : err, err);
- continue;
- }
- if (!result) {
- usage.fail(__('Argument check failed: %s', func.toString()));
- }
- else if (typeof result === 'string' || result instanceof Error) {
- usage.fail(result.toString(), result);
- }
- }
- };
- let implied = {};
- self.implies = function implies(key, value) {
- argsert('<string|object> [array|number|string]', [key, value], arguments.length);
- if (typeof key === 'object') {
- Object.keys(key).forEach(k => {
- self.implies(k, key[k]);
- });
- }
- else {
- yargs.global(key);
- if (!implied[key]) {
- implied[key] = [];
- }
- if (Array.isArray(value)) {
- value.forEach(i => self.implies(key, i));
- }
- else {
- assertNotStrictEqual(value, undefined, shim);
- implied[key].push(value);
- }
- }
- };
- self.getImplied = function getImplied() {
- return implied;
- };
- function keyExists(argv, val) {
- const num = Number(val);
- val = isNaN(num) ? val : num;
- if (typeof val === 'number') {
- val = argv._.length >= val;
- }
- else if (val.match(/^--no-.+/)) {
- val = val.match(/^--no-(.+)/)[1];
- val = !argv[val];
- }
- else {
- val = argv[val];
- }
- return val;
- }
- self.implications = function implications(argv) {
- const implyFail = [];
- Object.keys(implied).forEach(key => {
- const origKey = key;
- (implied[key] || []).forEach(value => {
- let key = origKey;
- const origValue = value;
- key = keyExists(argv, key);
- value = keyExists(argv, value);
- if (key && !value) {
- implyFail.push(` ${origKey} -> ${origValue}`);
- }
- });
- });
- if (implyFail.length) {
- let msg = `${__('Implications failed:')}\n`;
- implyFail.forEach(value => {
- msg += value;
- });
- usage.fail(msg);
- }
- };
- let conflicting = {};
- self.conflicts = function conflicts(key, value) {
- argsert('<string|object> [array|string]', [key, value], arguments.length);
- if (typeof key === 'object') {
- Object.keys(key).forEach(k => {
- self.conflicts(k, key[k]);
- });
- }
- else {
- yargs.global(key);
- if (!conflicting[key]) {
- conflicting[key] = [];
- }
- if (Array.isArray(value)) {
- value.forEach(i => self.conflicts(key, i));
- }
- else {
- conflicting[key].push(value);
- }
- }
- };
- self.getConflicting = () => conflicting;
- self.conflicting = function conflictingFn(argv) {
- Object.keys(argv).forEach(key => {
- if (conflicting[key]) {
- conflicting[key].forEach(value => {
- if (value && argv[key] !== undefined && argv[value] !== undefined) {
- usage.fail(__('Arguments %s and %s are mutually exclusive', key, value));
- }
- });
- }
- });
- };
- self.recommendCommands = function recommendCommands(cmd, potentialCommands) {
- const threshold = 3;
- potentialCommands = potentialCommands.sort((a, b) => b.length - a.length);
- let recommended = null;
- let bestDistance = Infinity;
- for (let i = 0, candidate; (candidate = potentialCommands[i]) !== undefined; i++) {
- const d = levenshtein(cmd, candidate);
- if (d <= threshold && d < bestDistance) {
- bestDistance = d;
- recommended = candidate;
- }
- }
- if (recommended)
- usage.fail(__('Did you mean %s?', recommended));
- };
- self.reset = function reset(localLookup) {
- implied = objFilter(implied, k => !localLookup[k]);
- conflicting = objFilter(conflicting, k => !localLookup[k]);
- checks = checks.filter(c => c.global);
- return self;
- };
- const frozens = [];
- self.freeze = function freeze() {
- frozens.push({
- implied,
- checks,
- conflicting,
- });
- };
- self.unfreeze = function unfreeze() {
- const frozen = frozens.pop();
- assertNotStrictEqual(frozen, undefined, shim);
- ({ implied, checks, conflicting } = frozen);
- };
- return self;
-}
-
-let shim$1;
-function YargsWithShim(_shim) {
- shim$1 = _shim;
- return Yargs;
-}
-function Yargs(processArgs = [], cwd = shim$1.process.cwd(), parentRequire) {
- const self = {};
- let command$1;
- let completion$1 = null;
- let groups = {};
- const globalMiddleware = [];
- let output = '';
- const preservedGroups = {};
- let usage$1;
- let validation$1;
- let handlerFinishCommand = null;
- const y18n = shim$1.y18n;
- self.middleware = globalMiddlewareFactory(globalMiddleware, self);
- self.scriptName = function (scriptName) {
- self.customScriptName = true;
- self.$0 = scriptName;
- return self;
- };
- let default$0;
- if (/\b(node|iojs|electron)(\.exe)?$/.test(shim$1.process.argv()[0])) {
- default$0 = shim$1.process.argv().slice(1, 2);
- }
- else {
- default$0 = shim$1.process.argv().slice(0, 1);
- }
- self.$0 = default$0
- .map(x => {
- const b = rebase(cwd, x);
- return x.match(/^(\/|([a-zA-Z]:)?\\)/) && b.length < x.length ? b : x;
- })
- .join(' ')
- .trim();
- if (shim$1.getEnv('_') && shim$1.getProcessArgvBin() === shim$1.getEnv('_')) {
- self.$0 = shim$1
- .getEnv('_')
- .replace(`${shim$1.path.dirname(shim$1.process.execPath())}/`, '');
- }
- const context = { resets: -1, commands: [], fullCommands: [], files: [] };
- self.getContext = () => context;
- let hasOutput = false;
- let exitError = null;
- self.exit = (code, err) => {
- hasOutput = true;
- exitError = err;
- if (exitProcess)
- shim$1.process.exit(code);
- };
- let completionCommand = null;
- self.completion = function (cmd, desc, fn) {
- argsert('[string] [string|boolean|function] [function]', [cmd, desc, fn], arguments.length);
- if (typeof desc === 'function') {
- fn = desc;
- desc = undefined;
- }
- completionCommand = cmd || completionCommand || 'completion';
- if (!desc && desc !== false) {
- desc = 'generate completion script';
- }
- self.command(completionCommand, desc);
- if (fn)
- completion$1.registerFunction(fn);
- return self;
- };
- let options;
- self.resetOptions = self.reset = function resetOptions(aliases = {}) {
- context.resets++;
- options = options || {};
- const tmpOptions = {};
- tmpOptions.local = options.local ? options.local : [];
- tmpOptions.configObjects = options.configObjects
- ? options.configObjects
- : [];
- const localLookup = {};
- tmpOptions.local.forEach(l => {
- localLookup[l] = true;
- (aliases[l] || []).forEach(a => {
- localLookup[a] = true;
- });
- });
- Object.assign(preservedGroups, Object.keys(groups).reduce((acc, groupName) => {
- const keys = groups[groupName].filter(key => !(key in localLookup));
- if (keys.length > 0) {
- acc[groupName] = keys;
- }
- return acc;
- }, {}));
- groups = {};
- const arrayOptions = [
- 'array',
- 'boolean',
- 'string',
- 'skipValidation',
- 'count',
- 'normalize',
- 'number',
- 'hiddenOptions',
- ];
- const objectOptions = [
- 'narg',
- 'key',
- 'alias',
- 'default',
- 'defaultDescription',
- 'config',
- 'choices',
- 'demandedOptions',
- 'demandedCommands',
- 'coerce',
- 'deprecatedOptions',
- ];
- arrayOptions.forEach(k => {
- tmpOptions[k] = (options[k] || []).filter((k) => !localLookup[k]);
- });
- objectOptions.forEach((k) => {
- tmpOptions[k] = objFilter(options[k], k => !localLookup[k]);
- });
- tmpOptions.envPrefix = options.envPrefix;
- options = tmpOptions;
- usage$1 = usage$1 ? usage$1.reset(localLookup) : usage(self, y18n, shim$1);
- validation$1 = validation$1
- ? validation$1.reset(localLookup)
- : validation(self, usage$1, y18n, shim$1);
- command$1 = command$1
- ? command$1.reset()
- : command(self, usage$1, validation$1, globalMiddleware, shim$1);
- if (!completion$1)
- completion$1 = completion(self, usage$1, command$1, shim$1);
- completionCommand = null;
- output = '';
- exitError = null;
- hasOutput = false;
- self.parsed = false;
- return self;
- };
- self.resetOptions();
- const frozens = [];
- function freeze() {
- frozens.push({
- options,
- configObjects: options.configObjects.slice(0),
- exitProcess,
- groups,
- strict,
- strictCommands,
- strictOptions,
- completionCommand,
- output,
- exitError,
- hasOutput,
- parsed: self.parsed,
- parseFn,
- parseContext,
- handlerFinishCommand,
- });
- usage$1.freeze();
- validation$1.freeze();
- command$1.freeze();
- }
- function unfreeze() {
- const frozen = frozens.pop();
- assertNotStrictEqual(frozen, undefined, shim$1);
- let configObjects;
- ({
- options,
- configObjects,
- exitProcess,
- groups,
- output,
- exitError,
- hasOutput,
- parsed: self.parsed,
- strict,
- strictCommands,
- strictOptions,
- completionCommand,
- parseFn,
- parseContext,
- handlerFinishCommand,
- } = frozen);
- options.configObjects = configObjects;
- usage$1.unfreeze();
- validation$1.unfreeze();
- command$1.unfreeze();
- }
- self.boolean = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('boolean', keys);
- return self;
- };
- self.array = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('array', keys);
- return self;
- };
- self.number = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('number', keys);
- return self;
- };
- self.normalize = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('normalize', keys);
- return self;
- };
- self.count = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('count', keys);
- return self;
- };
- self.string = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('string', keys);
- return self;
- };
- self.requiresArg = function (keys) {
- argsert('<array|string|object> [number]', [keys], arguments.length);
- if (typeof keys === 'string' && options.narg[keys]) {
- return self;
- }
- else {
- populateParserHintSingleValueDictionary(self.requiresArg, 'narg', keys, NaN);
- }
- return self;
- };
- self.skipValidation = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('skipValidation', keys);
- return self;
- };
- function populateParserHintArray(type, keys) {
- keys = [].concat(keys);
- keys.forEach(key => {
- key = sanitizeKey(key);
- options[type].push(key);
- });
- }
- self.nargs = function (key, value) {
- argsert('<string|object|array> [number]', [key, value], arguments.length);
- populateParserHintSingleValueDictionary(self.nargs, 'narg', key, value);
- return self;
- };
- self.choices = function (key, value) {
- argsert('<object|string|array> [string|array]', [key, value], arguments.length);
- populateParserHintArrayDictionary(self.choices, 'choices', key, value);
- return self;
- };
- self.alias = function (key, value) {
- argsert('<object|string|array> [string|array]', [key, value], arguments.length);
- populateParserHintArrayDictionary(self.alias, 'alias', key, value);
- return self;
- };
- self.default = self.defaults = function (key, value, defaultDescription) {
- argsert('<object|string|array> [*] [string]', [key, value, defaultDescription], arguments.length);
- if (defaultDescription) {
- assertSingleKey(key, shim$1);
- options.defaultDescription[key] = defaultDescription;
- }
- if (typeof value === 'function') {
- assertSingleKey(key, shim$1);
- if (!options.defaultDescription[key])
- options.defaultDescription[key] = usage$1.functionDescription(value);
- value = value.call();
- }
- populateParserHintSingleValueDictionary(self.default, 'default', key, value);
- return self;
- };
- self.describe = function (key, desc) {
- argsert('<object|string|array> [string]', [key, desc], arguments.length);
- setKey(key, true);
- usage$1.describe(key, desc);
- return self;
- };
- function setKey(key, set) {
- populateParserHintSingleValueDictionary(setKey, 'key', key, set);
- return self;
- }
- function demandOption(keys, msg) {
- argsert('<object|string|array> [string]', [keys, msg], arguments.length);
- populateParserHintSingleValueDictionary(self.demandOption, 'demandedOptions', keys, msg);
- return self;
- }
- self.demandOption = demandOption;
- self.coerce = function (keys, value) {
- argsert('<object|string|array> [function]', [keys, value], arguments.length);
- populateParserHintSingleValueDictionary(self.coerce, 'coerce', keys, value);
- return self;
- };
- function populateParserHintSingleValueDictionary(builder, type, key, value) {
- populateParserHintDictionary(builder, type, key, value, (type, key, value) => {
- options[type][key] = value;
- });
- }
- function populateParserHintArrayDictionary(builder, type, key, value) {
- populateParserHintDictionary(builder, type, key, value, (type, key, value) => {
- options[type][key] = (options[type][key] || []).concat(value);
- });
- }
- function populateParserHintDictionary(builder, type, key, value, singleKeyHandler) {
- if (Array.isArray(key)) {
- key.forEach(k => {
- builder(k, value);
- });
- }
- else if (((key) => typeof key === 'object')(key)) {
- for (const k of objectKeys(key)) {
- builder(k, key[k]);
- }
- }
- else {
- singleKeyHandler(type, sanitizeKey(key), value);
- }
- }
- function sanitizeKey(key) {
- if (key === '__proto__')
- return '___proto___';
- return key;
- }
- function deleteFromParserHintObject(optionKey) {
- objectKeys(options).forEach((hintKey) => {
- if (((key) => key === 'configObjects')(hintKey))
- return;
- const hint = options[hintKey];
- if (Array.isArray(hint)) {
- if (~hint.indexOf(optionKey))
- hint.splice(hint.indexOf(optionKey), 1);
- }
- else if (typeof hint === 'object') {
- delete hint[optionKey];
- }
- });
- delete usage$1.getDescriptions()[optionKey];
- }
- self.config = function config(key = 'config', msg, parseFn) {
- argsert('[object|string] [string|function] [function]', [key, msg, parseFn], arguments.length);
- if (typeof key === 'object' && !Array.isArray(key)) {
- key = applyExtends(key, cwd, self.getParserConfiguration()['deep-merge-config'] || false, shim$1);
- options.configObjects = (options.configObjects || []).concat(key);
- return self;
- }
- if (typeof msg === 'function') {
- parseFn = msg;
- msg = undefined;
- }
- self.describe(key, msg || usage$1.deferY18nLookup('Path to JSON config file'));
- (Array.isArray(key) ? key : [key]).forEach(k => {
- options.config[k] = parseFn || true;
- });
- return self;
- };
- self.example = function (cmd, description) {
- argsert('<string|array> [string]', [cmd, description], arguments.length);
- if (Array.isArray(cmd)) {
- cmd.forEach(exampleParams => self.example(...exampleParams));
- }
- else {
- usage$1.example(cmd, description);
- }
- return self;
- };
- self.command = function (cmd, description, builder, handler, middlewares, deprecated) {
- argsert('<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]', [cmd, description, builder, handler, middlewares, deprecated], arguments.length);
- command$1.addHandler(cmd, description, builder, handler, middlewares, deprecated);
- return self;
- };
- self.commandDir = function (dir, opts) {
- argsert('<string> [object]', [dir, opts], arguments.length);
- const req = parentRequire || shim$1.require;
- command$1.addDirectory(dir, self.getContext(), req, shim$1.getCallerFile(), opts);
- return self;
- };
- self.demand = self.required = self.require = function demand(keys, max, msg) {
- if (Array.isArray(max)) {
- max.forEach(key => {
- assertNotStrictEqual(msg, true, shim$1);
- demandOption(key, msg);
- });
- max = Infinity;
- }
- else if (typeof max !== 'number') {
- msg = max;
- max = Infinity;
- }
- if (typeof keys === 'number') {
- assertNotStrictEqual(msg, true, shim$1);
- self.demandCommand(keys, max, msg, msg);
- }
- else if (Array.isArray(keys)) {
- keys.forEach(key => {
- assertNotStrictEqual(msg, true, shim$1);
- demandOption(key, msg);
- });
- }
- else {
- if (typeof msg === 'string') {
- demandOption(keys, msg);
- }
- else if (msg === true || typeof msg === 'undefined') {
- demandOption(keys);
- }
- }
- return self;
- };
- self.demandCommand = function demandCommand(min = 1, max, minMsg, maxMsg) {
- argsert('[number] [number|string] [string|null|undefined] [string|null|undefined]', [min, max, minMsg, maxMsg], arguments.length);
- if (typeof max !== 'number') {
- minMsg = max;
- max = Infinity;
- }
- self.global('_', false);
- options.demandedCommands._ = {
- min,
- max,
- minMsg,
- maxMsg,
- };
- return self;
- };
- self.getDemandedOptions = () => {
- argsert([], 0);
- return options.demandedOptions;
- };
- self.getDemandedCommands = () => {
- argsert([], 0);
- return options.demandedCommands;
- };
- self.deprecateOption = function deprecateOption(option, message) {
- argsert('<string> [string|boolean]', [option, message], arguments.length);
- options.deprecatedOptions[option] = message;
- return self;
- };
- self.getDeprecatedOptions = () => {
- argsert([], 0);
- return options.deprecatedOptions;
- };
- self.implies = function (key, value) {
- argsert('<string|object> [number|string|array]', [key, value], arguments.length);
- validation$1.implies(key, value);
- return self;
- };
- self.conflicts = function (key1, key2) {
- argsert('<string|object> [string|array]', [key1, key2], arguments.length);
- validation$1.conflicts(key1, key2);
- return self;
- };
- self.usage = function (msg, description, builder, handler) {
- argsert('<string|null|undefined> [string|boolean] [function|object] [function]', [msg, description, builder, handler], arguments.length);
- if (description !== undefined) {
- assertNotStrictEqual(msg, null, shim$1);
- if ((msg || '').match(/^\$0( |$)/)) {
- return self.command(msg, description, builder, handler);
- }
- else {
- throw new YError('.usage() description must start with $0 if being used as alias for .command()');
- }
- }
- else {
- usage$1.usage(msg);
- return self;
- }
- };
- self.epilogue = self.epilog = function (msg) {
- argsert('<string>', [msg], arguments.length);
- usage$1.epilog(msg);
- return self;
- };
- self.fail = function (f) {
- argsert('<function>', [f], arguments.length);
- usage$1.failFn(f);
- return self;
- };
- self.onFinishCommand = function (f) {
- argsert('<function>', [f], arguments.length);
- handlerFinishCommand = f;
- return self;
- };
- self.getHandlerFinishCommand = () => handlerFinishCommand;
- self.check = function (f, _global) {
- argsert('<function> [boolean]', [f, _global], arguments.length);
- validation$1.check(f, _global !== false);
- return self;
- };
- self.global = function global(globals, global) {
- argsert('<string|array> [boolean]', [globals, global], arguments.length);
- globals = [].concat(globals);
- if (global !== false) {
- options.local = options.local.filter(l => globals.indexOf(l) === -1);
- }
- else {
- globals.forEach(g => {
- if (options.local.indexOf(g) === -1)
- options.local.push(g);
- });
- }
- return self;
- };
- self.pkgConf = function pkgConf(key, rootPath) {
- argsert('<string> [string]', [key, rootPath], arguments.length);
- let conf = null;
- const obj = pkgUp(rootPath || cwd);
- if (obj[key] && typeof obj[key] === 'object') {
- conf = applyExtends(obj[key], rootPath || cwd, self.getParserConfiguration()['deep-merge-config'] || false, shim$1);
- options.configObjects = (options.configObjects || []).concat(conf);
- }
- return self;
- };
- const pkgs = {};
- function pkgUp(rootPath) {
- const npath = rootPath || '*';
- if (pkgs[npath])
- return pkgs[npath];
- let obj = {};
- try {
- let startDir = rootPath || shim$1.mainFilename;
- if (!rootPath && shim$1.path.extname(startDir)) {
- startDir = shim$1.path.dirname(startDir);
- }
- const pkgJsonPath = shim$1.findUp(startDir, (dir, names) => {
- if (names.includes('package.json')) {
- return 'package.json';
- }
- else {
- return undefined;
- }
- });
- assertNotStrictEqual(pkgJsonPath, undefined, shim$1);
- obj = JSON.parse(shim$1.readFileSync(pkgJsonPath, 'utf8'));
- }
- catch (_noop) { }
- pkgs[npath] = obj || {};
- return pkgs[npath];
- }
- let parseFn = null;
- let parseContext = null;
- self.parse = function parse(args, shortCircuit, _parseFn) {
- argsert('[string|array] [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length);
- freeze();
- if (typeof args === 'undefined') {
- const argv = self._parseArgs(processArgs);
- const tmpParsed = self.parsed;
- unfreeze();
- self.parsed = tmpParsed;
- return argv;
- }
- if (typeof shortCircuit === 'object') {
- parseContext = shortCircuit;
- shortCircuit = _parseFn;
- }
- if (typeof shortCircuit === 'function') {
- parseFn = shortCircuit;
- shortCircuit = false;
- }
- if (!shortCircuit)
- processArgs = args;
- if (parseFn)
- exitProcess = false;
- const parsed = self._parseArgs(args, !!shortCircuit);
- completion$1.setParsed(self.parsed);
- if (parseFn)
- parseFn(exitError, parsed, output);
- unfreeze();
- return parsed;
- };
- self._getParseContext = () => parseContext || {};
- self._hasParseCallback = () => !!parseFn;
- self.option = self.options = function option(key, opt) {
- argsert('<string|object> [object]', [key, opt], arguments.length);
- if (typeof key === 'object') {
- Object.keys(key).forEach(k => {
- self.options(k, key[k]);
- });
- }
- else {
- if (typeof opt !== 'object') {
- opt = {};
- }
- options.key[key] = true;
- if (opt.alias)
- self.alias(key, opt.alias);
- const deprecate = opt.deprecate || opt.deprecated;
- if (deprecate) {
- self.deprecateOption(key, deprecate);
- }
- const demand = opt.demand || opt.required || opt.require;
- if (demand) {
- self.demand(key, demand);
- }
- if (opt.demandOption) {
- self.demandOption(key, typeof opt.demandOption === 'string' ? opt.demandOption : undefined);
- }
- if (opt.conflicts) {
- self.conflicts(key, opt.conflicts);
- }
- if ('default' in opt) {
- self.default(key, opt.default);
- }
- if (opt.implies !== undefined) {
- self.implies(key, opt.implies);
- }
- if (opt.nargs !== undefined) {
- self.nargs(key, opt.nargs);
- }
- if (opt.config) {
- self.config(key, opt.configParser);
- }
- if (opt.normalize) {
- self.normalize(key);
- }
- if (opt.choices) {
- self.choices(key, opt.choices);
- }
- if (opt.coerce) {
- self.coerce(key, opt.coerce);
- }
- if (opt.group) {
- self.group(key, opt.group);
- }
- if (opt.boolean || opt.type === 'boolean') {
- self.boolean(key);
- if (opt.alias)
- self.boolean(opt.alias);
- }
- if (opt.array || opt.type === 'array') {
- self.array(key);
- if (opt.alias)
- self.array(opt.alias);
- }
- if (opt.number || opt.type === 'number') {
- self.number(key);
- if (opt.alias)
- self.number(opt.alias);
- }
- if (opt.string || opt.type === 'string') {
- self.string(key);
- if (opt.alias)
- self.string(opt.alias);
- }
- if (opt.count || opt.type === 'count') {
- self.count(key);
- }
- if (typeof opt.global === 'boolean') {
- self.global(key, opt.global);
- }
- if (opt.defaultDescription) {
- options.defaultDescription[key] = opt.defaultDescription;
- }
- if (opt.skipValidation) {
- self.skipValidation(key);
- }
- const desc = opt.describe || opt.description || opt.desc;
- self.describe(key, desc);
- if (opt.hidden) {
- self.hide(key);
- }
- if (opt.requiresArg) {
- self.requiresArg(key);
- }
- }
- return self;
- };
- self.getOptions = () => options;
- self.positional = function (key, opts) {
- argsert('<string> <object>', [key, opts], arguments.length);
- if (context.resets === 0) {
- throw new YError(".positional() can only be called in a command's builder function");
- }
- const supportedOpts = [
- 'default',
- 'defaultDescription',
- 'implies',
- 'normalize',
- 'choices',
- 'conflicts',
- 'coerce',
- 'type',
- 'describe',
- 'desc',
- 'description',
- 'alias',
- ];
- opts = objFilter(opts, (k, v) => {
- let accept = supportedOpts.indexOf(k) !== -1;
- if (k === 'type' && ['string', 'number', 'boolean'].indexOf(v) === -1)
- accept = false;
- return accept;
- });
- const fullCommand = context.fullCommands[context.fullCommands.length - 1];
- const parseOptions = fullCommand
- ? command$1.cmdToParseOptions(fullCommand)
- : {
- array: [],
- alias: {},
- default: {},
- demand: {},
- };
- objectKeys(parseOptions).forEach(pk => {
- const parseOption = parseOptions[pk];
- if (Array.isArray(parseOption)) {
- if (parseOption.indexOf(key) !== -1)
- opts[pk] = true;
- }
- else {
- if (parseOption[key] && !(pk in opts))
- opts[pk] = parseOption[key];
- }
- });
- self.group(key, usage$1.getPositionalGroupName());
- return self.option(key, opts);
- };
- self.group = function group(opts, groupName) {
- argsert('<string|array> <string>', [opts, groupName], arguments.length);
- const existing = preservedGroups[groupName] || groups[groupName];
- if (preservedGroups[groupName]) {
- delete preservedGroups[groupName];
- }
- const seen = {};
- groups[groupName] = (existing || []).concat(opts).filter(key => {
- if (seen[key])
- return false;
- return (seen[key] = true);
- });
- return self;
- };
- self.getGroups = () => Object.assign({}, groups, preservedGroups);
- self.env = function (prefix) {
- argsert('[string|boolean]', [prefix], arguments.length);
- if (prefix === false)
- delete options.envPrefix;
- else
- options.envPrefix = prefix || '';
- return self;
- };
- self.wrap = function (cols) {
- argsert('<number|null|undefined>', [cols], arguments.length);
- usage$1.wrap(cols);
- return self;
- };
- let strict = false;
- self.strict = function (enabled) {
- argsert('[boolean]', [enabled], arguments.length);
- strict = enabled !== false;
- return self;
- };
- self.getStrict = () => strict;
- let strictCommands = false;
- self.strictCommands = function (enabled) {
- argsert('[boolean]', [enabled], arguments.length);
- strictCommands = enabled !== false;
- return self;
- };
- self.getStrictCommands = () => strictCommands;
- let strictOptions = false;
- self.strictOptions = function (enabled) {
- argsert('[boolean]', [enabled], arguments.length);
- strictOptions = enabled !== false;
- return self;
- };
- self.getStrictOptions = () => strictOptions;
- let parserConfig = {};
- self.parserConfiguration = function parserConfiguration(config) {
- argsert('<object>', [config], arguments.length);
- parserConfig = config;
- return self;
- };
- self.getParserConfiguration = () => parserConfig;
- self.showHelp = function (level) {
- argsert('[string|function]', [level], arguments.length);
- if (!self.parsed)
- self._parseArgs(processArgs);
- if (command$1.hasDefaultCommand()) {
- context.resets++;
- command$1.runDefaultBuilderOn(self);
- }
- usage$1.showHelp(level);
- return self;
- };
- let versionOpt = null;
- self.version = function version(opt, msg, ver) {
- const defaultVersionOpt = 'version';
- argsert('[boolean|string] [string] [string]', [opt, msg, ver], arguments.length);
- if (versionOpt) {
- deleteFromParserHintObject(versionOpt);
- usage$1.version(undefined);
- versionOpt = null;
- }
- if (arguments.length === 0) {
- ver = guessVersion();
- opt = defaultVersionOpt;
- }
- else if (arguments.length === 1) {
- if (opt === false) {
- return self;
- }
- ver = opt;
- opt = defaultVersionOpt;
- }
- else if (arguments.length === 2) {
- ver = msg;
- msg = undefined;
- }
- versionOpt = typeof opt === 'string' ? opt : defaultVersionOpt;
- msg = msg || usage$1.deferY18nLookup('Show version number');
- usage$1.version(ver || undefined);
- self.boolean(versionOpt);
- self.describe(versionOpt, msg);
- return self;
- };
- function guessVersion() {
- const obj = pkgUp();
- return obj.version || 'unknown';
- }
- let helpOpt = null;
- self.addHelpOpt = self.help = function addHelpOpt(opt, msg) {
- const defaultHelpOpt = 'help';
- argsert('[string|boolean] [string]', [opt, msg], arguments.length);
- if (helpOpt) {
- deleteFromParserHintObject(helpOpt);
- helpOpt = null;
- }
- if (arguments.length === 1) {
- if (opt === false)
- return self;
- }
- helpOpt = typeof opt === 'string' ? opt : defaultHelpOpt;
- self.boolean(helpOpt);
- self.describe(helpOpt, msg || usage$1.deferY18nLookup('Show help'));
- return self;
- };
- const defaultShowHiddenOpt = 'show-hidden';
- options.showHiddenOpt = defaultShowHiddenOpt;
- self.addShowHiddenOpt = self.showHidden = function addShowHiddenOpt(opt, msg) {
- argsert('[string|boolean] [string]', [opt, msg], arguments.length);
- if (arguments.length === 1) {
- if (opt === false)
- return self;
- }
- const showHiddenOpt = typeof opt === 'string' ? opt : defaultShowHiddenOpt;
- self.boolean(showHiddenOpt);
- self.describe(showHiddenOpt, msg || usage$1.deferY18nLookup('Show hidden options'));
- options.showHiddenOpt = showHiddenOpt;
- return self;
- };
- self.hide = function hide(key) {
- argsert('<string>', [key], arguments.length);
- options.hiddenOptions.push(key);
- return self;
- };
- self.showHelpOnFail = function showHelpOnFail(enabled, message) {
- argsert('[boolean|string] [string]', [enabled, message], arguments.length);
- usage$1.showHelpOnFail(enabled, message);
- return self;
- };
- let exitProcess = true;
- self.exitProcess = function (enabled = true) {
- argsert('[boolean]', [enabled], arguments.length);
- exitProcess = enabled;
- return self;
- };
- self.getExitProcess = () => exitProcess;
- self.showCompletionScript = function ($0, cmd) {
- argsert('[string] [string]', [$0, cmd], arguments.length);
- $0 = $0 || self.$0;
- _logger.log(completion$1.generateCompletionScript($0, cmd || completionCommand || 'completion'));
- return self;
- };
- self.getCompletion = function (args, done) {
- argsert('<array> <function>', [args, done], arguments.length);
- completion$1.getCompletion(args, done);
- };
- self.locale = function (locale) {
- argsert('[string]', [locale], arguments.length);
- if (!locale) {
- guessLocale();
- return y18n.getLocale();
- }
- detectLocale = false;
- y18n.setLocale(locale);
- return self;
- };
- self.updateStrings = self.updateLocale = function (obj) {
- argsert('<object>', [obj], arguments.length);
- detectLocale = false;
- y18n.updateLocale(obj);
- return self;
- };
- let detectLocale = true;
- self.detectLocale = function (detect) {
- argsert('<boolean>', [detect], arguments.length);
- detectLocale = detect;
- return self;
- };
- self.getDetectLocale = () => detectLocale;
- const _logger = {
- log(...args) {
- if (!self._hasParseCallback())
- console.log(...args);
- hasOutput = true;
- if (output.length)
- output += '\n';
- output += args.join(' ');
- },
- error(...args) {
- if (!self._hasParseCallback())
- console.error(...args);
- hasOutput = true;
- if (output.length)
- output += '\n';
- output += args.join(' ');
- },
- };
- self._getLoggerInstance = () => _logger;
- self._hasOutput = () => hasOutput;
- self._setHasOutput = () => {
- hasOutput = true;
- };
- let recommendCommands;
- self.recommendCommands = function (recommend = true) {
- argsert('[boolean]', [recommend], arguments.length);
- recommendCommands = recommend;
- return self;
- };
- self.getUsageInstance = () => usage$1;
- self.getValidationInstance = () => validation$1;
- self.getCommandInstance = () => command$1;
- self.terminalWidth = () => {
- argsert([], 0);
- return shim$1.process.stdColumns;
- };
- Object.defineProperty(self, 'argv', {
- get: () => self._parseArgs(processArgs),
- enumerable: true,
- });
- self._parseArgs = function parseArgs(args, shortCircuit, _calledFromCommand, commandIndex) {
- let skipValidation = !!_calledFromCommand;
- args = args || processArgs;
- options.__ = y18n.__;
- options.configuration = self.getParserConfiguration();
- const populateDoubleDash = !!options.configuration['populate--'];
- const config = Object.assign({}, options.configuration, {
- 'populate--': true,
- });
- const parsed = shim$1.Parser.detailed(args, Object.assign({}, options, {
- configuration: Object.assign({ 'parse-positional-numbers': false }, config),
- }));
- let argv = parsed.argv;
- if (parseContext)
- argv = Object.assign({}, argv, parseContext);
- const aliases = parsed.aliases;
- argv.$0 = self.$0;
- self.parsed = parsed;
- try {
- guessLocale();
- if (shortCircuit) {
- return self._postProcess(argv, populateDoubleDash, _calledFromCommand);
- }
- if (helpOpt) {
- const helpCmds = [helpOpt]
- .concat(aliases[helpOpt] || [])
- .filter(k => k.length > 1);
- if (~helpCmds.indexOf('' + argv._[argv._.length - 1])) {
- argv._.pop();
- argv[helpOpt] = true;
- }
- }
- const handlerKeys = command$1.getCommands();
- const requestCompletions = completion$1.completionKey in argv;
- const skipRecommendation = argv[helpOpt] || requestCompletions;
- const skipDefaultCommand = skipRecommendation &&
- (handlerKeys.length > 1 || handlerKeys[0] !== '$0');
- if (argv._.length) {
- if (handlerKeys.length) {
- let firstUnknownCommand;
- for (let i = commandIndex || 0, cmd; argv._[i] !== undefined; i++) {
- cmd = String(argv._[i]);
- if (~handlerKeys.indexOf(cmd) && cmd !== completionCommand) {
- const innerArgv = command$1.runCommand(cmd, self, parsed, i + 1);
- return self._postProcess(innerArgv, populateDoubleDash);
- }
- else if (!firstUnknownCommand && cmd !== completionCommand) {
- firstUnknownCommand = cmd;
- break;
- }
- }
- if (command$1.hasDefaultCommand() && !skipDefaultCommand) {
- const innerArgv = command$1.runCommand(null, self, parsed);
- return self._postProcess(innerArgv, populateDoubleDash);
- }
- if (recommendCommands && firstUnknownCommand && !skipRecommendation) {
- validation$1.recommendCommands(firstUnknownCommand, handlerKeys);
- }
- }
- if (completionCommand &&
- ~argv._.indexOf(completionCommand) &&
- !requestCompletions) {
- if (exitProcess)
- setBlocking(true);
- self.showCompletionScript();
- self.exit(0);
- }
- }
- else if (command$1.hasDefaultCommand() && !skipDefaultCommand) {
- const innerArgv = command$1.runCommand(null, self, parsed);
- return self._postProcess(innerArgv, populateDoubleDash);
- }
- if (requestCompletions) {
- if (exitProcess)
- setBlocking(true);
- args = [].concat(args);
- const completionArgs = args.slice(args.indexOf(`--${completion$1.completionKey}`) + 1);
- completion$1.getCompletion(completionArgs, completions => {
- (completions || []).forEach(completion => {
- _logger.log(completion);
- });
- self.exit(0);
- });
- return self._postProcess(argv, !populateDoubleDash, _calledFromCommand);
- }
- if (!hasOutput) {
- Object.keys(argv).forEach(key => {
- if (key === helpOpt && argv[key]) {
- if (exitProcess)
- setBlocking(true);
- skipValidation = true;
- self.showHelp('log');
- self.exit(0);
- }
- else if (key === versionOpt && argv[key]) {
- if (exitProcess)
- setBlocking(true);
- skipValidation = true;
- usage$1.showVersion();
- self.exit(0);
- }
- });
- }
- if (!skipValidation && options.skipValidation.length > 0) {
- skipValidation = Object.keys(argv).some(key => options.skipValidation.indexOf(key) >= 0 && argv[key] === true);
- }
- if (!skipValidation) {
- if (parsed.error)
- throw new YError(parsed.error.message);
- if (!requestCompletions) {
- self._runValidation(argv, aliases, {}, parsed.error);
- }
- }
- }
- catch (err) {
- if (err instanceof YError)
- usage$1.fail(err.message, err);
- else
- throw err;
- }
- return self._postProcess(argv, populateDoubleDash, _calledFromCommand);
- };
- self._postProcess = function (argv, populateDoubleDash, calledFromCommand = false) {
- if (isPromise(argv))
- return argv;
- if (calledFromCommand)
- return argv;
- if (!populateDoubleDash) {
- argv = self._copyDoubleDash(argv);
- }
- const parsePositionalNumbers = self.getParserConfiguration()['parse-positional-numbers'] ||
- self.getParserConfiguration()['parse-positional-numbers'] === undefined;
- if (parsePositionalNumbers) {
- argv = self._parsePositionalNumbers(argv);
- }
- return argv;
- };
- self._copyDoubleDash = function (argv) {
- if (!argv._ || !argv['--'])
- return argv;
- argv._.push.apply(argv._, argv['--']);
- try {
- delete argv['--'];
- }
- catch (_err) { }
- return argv;
- };
- self._parsePositionalNumbers = function (argv) {
- const args = argv['--'] ? argv['--'] : argv._;
- for (let i = 0, arg; (arg = args[i]) !== undefined; i++) {
- if (shim$1.Parser.looksLikeNumber(arg) &&
- Number.isSafeInteger(Math.floor(parseFloat(`${arg}`)))) {
- args[i] = Number(arg);
- }
- }
- return argv;
- };
- self._runValidation = function runValidation(argv, aliases, positionalMap, parseErrors, isDefaultCommand = false) {
- if (parseErrors)
- throw new YError(parseErrors.message);
- validation$1.nonOptionCount(argv);
- validation$1.requiredArguments(argv);
- let failedStrictCommands = false;
- if (strictCommands) {
- failedStrictCommands = validation$1.unknownCommands(argv);
- }
- if (strict && !failedStrictCommands) {
- validation$1.unknownArguments(argv, aliases, positionalMap, isDefaultCommand);
- }
- else if (strictOptions) {
- validation$1.unknownArguments(argv, aliases, {}, false, false);
- }
- validation$1.customChecks(argv, aliases);
- validation$1.limitedChoices(argv);
- validation$1.implications(argv);
- validation$1.conflicting(argv);
- };
- function guessLocale() {
- if (!detectLocale)
- return;
- const locale = shim$1.getEnv('LC_ALL') ||
- shim$1.getEnv('LC_MESSAGES') ||
- shim$1.getEnv('LANG') ||
- shim$1.getEnv('LANGUAGE') ||
- 'en_US';
- self.locale(locale.replace(/[.:].*/, ''));
- }
- self.help();
- self.version();
- return self;
-}
-const rebase = (base, dir) => shim$1.path.relative(base, dir);
-function isYargsInstance(y) {
- return !!y && typeof y._parseArgs === 'function';
-}
-
-var _a, _b;
-const { readFileSync } = require('fs');
-const { inspect } = require('util');
-const { resolve } = require('path');
-const y18n = require('y18n');
-const Parser = require('yargs-parser');
-var cjsPlatformShim = {
- assert: {
- notStrictEqual: assert.notStrictEqual,
- strictEqual: assert.strictEqual,
- },
- cliui: require('cliui'),
- findUp: require('escalade/sync'),
- getEnv: (key) => {
- return process.env[key];
- },
- getCallerFile: require('get-caller-file'),
- getProcessArgvBin: getProcessArgvBin,
- inspect,
- mainFilename: (_b = (_a = require === null || require === void 0 ? void 0 : require.main) === null || _a === void 0 ? void 0 : _a.filename) !== null && _b !== void 0 ? _b : process.cwd(),
- Parser,
- path: require('path'),
- process: {
- argv: () => process.argv,
- cwd: process.cwd,
- execPath: () => process.execPath,
- exit: (code) => {
- process.exit(code);
- },
- nextTick: process.nextTick,
- stdColumns: typeof process.stdout.columns !== 'undefined'
- ? process.stdout.columns
- : null,
- },
- readFileSync,
- require: require,
- requireDirectory: require('require-directory'),
- stringWidth: require('string-width'),
- y18n: y18n({
- directory: resolve(__dirname, '../locales'),
- updateFiles: false,
- }),
-};
-
-const minNodeVersion = process && process.env && process.env.YARGS_MIN_NODE_VERSION
- ? Number(process.env.YARGS_MIN_NODE_VERSION)
- : 10;
-if (process && process.version) {
- const major = Number(process.version.match(/v([^.]+)/)[1]);
- if (major < minNodeVersion) {
- throw Error(`yargs supports a minimum Node.js version of ${minNodeVersion}. Read our version support policy: https://github.com/yargs/yargs#supported-nodejs-versions`);
- }
-}
-const Parser$1 = require('yargs-parser');
-const Yargs$1 = YargsWithShim(cjsPlatformShim);
-var cjs = {
- applyExtends,
- cjsPlatformShim,
- Yargs: Yargs$1,
- argsert,
- globalMiddlewareFactory,
- isPromise,
- objFilter,
- parseCommand,
- Parser: Parser$1,
- processArgv,
- rebase,
- YError,
-};
-
-module.exports = cjs;
diff --git a/includes/search/node_modules/yargs/build/lib/argsert.js b/includes/search/node_modules/yargs/build/lib/argsert.js
deleted file mode 100644
index be5b3aa..0000000
--- a/includes/search/node_modules/yargs/build/lib/argsert.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import { YError } from './yerror.js';
-import { parseCommand } from './parse-command.js';
-const positionName = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth'];
-export function argsert(arg1, arg2, arg3) {
- function parseArgs() {
- return typeof arg1 === 'object'
- ? [{ demanded: [], optional: [] }, arg1, arg2]
- : [
- parseCommand(`cmd ${arg1}`),
- arg2,
- arg3,
- ];
- }
- try {
- let position = 0;
- const [parsed, callerArguments, _length] = parseArgs();
- const args = [].slice.call(callerArguments);
- while (args.length && args[args.length - 1] === undefined)
- args.pop();
- const length = _length || args.length;
- if (length < parsed.demanded.length) {
- throw new YError(`Not enough arguments provided. Expected ${parsed.demanded.length} but received ${args.length}.`);
- }
- const totalCommands = parsed.demanded.length + parsed.optional.length;
- if (length > totalCommands) {
- throw new YError(`Too many arguments provided. Expected max ${totalCommands} but received ${length}.`);
- }
- parsed.demanded.forEach(demanded => {
- const arg = args.shift();
- const observedType = guessType(arg);
- const matchingTypes = demanded.cmd.filter(type => type === observedType || type === '*');
- if (matchingTypes.length === 0)
- argumentTypeError(observedType, demanded.cmd, position);
- position += 1;
- });
- parsed.optional.forEach(optional => {
- if (args.length === 0)
- return;
- const arg = args.shift();
- const observedType = guessType(arg);
- const matchingTypes = optional.cmd.filter(type => type === observedType || type === '*');
- if (matchingTypes.length === 0)
- argumentTypeError(observedType, optional.cmd, position);
- position += 1;
- });
- }
- catch (err) {
- console.warn(err.stack);
- }
-}
-function guessType(arg) {
- if (Array.isArray(arg)) {
- return 'array';
- }
- else if (arg === null) {
- return 'null';
- }
- return typeof arg;
-}
-function argumentTypeError(observedType, allowedTypes, position) {
- throw new YError(`Invalid ${positionName[position] || 'manyith'} argument. Expected ${allowedTypes.join(' or ')} but received ${observedType}.`);
-}
diff --git a/includes/search/node_modules/yargs/build/lib/command.js b/includes/search/node_modules/yargs/build/lib/command.js
deleted file mode 100644
index 9a55dae..0000000
--- a/includes/search/node_modules/yargs/build/lib/command.js
+++ /dev/null
@@ -1,382 +0,0 @@
-import { assertNotStrictEqual, } from './typings/common-types.js';
-import { isPromise } from './utils/is-promise.js';
-import { applyMiddleware, commandMiddlewareFactory, } from './middleware.js';
-import { parseCommand } from './parse-command.js';
-import { isYargsInstance, } from './yargs-factory.js';
-import whichModule from './utils/which-module.js';
-const DEFAULT_MARKER = /(^\*)|(^\$0)/;
-export function command(yargs, usage, validation, globalMiddleware = [], shim) {
- const self = {};
- let handlers = {};
- let aliasMap = {};
- let defaultCommand;
- self.addHandler = function addHandler(cmd, description, builder, handler, commandMiddleware, deprecated) {
- let aliases = [];
- const middlewares = commandMiddlewareFactory(commandMiddleware);
- handler = handler || (() => { });
- if (Array.isArray(cmd)) {
- if (isCommandAndAliases(cmd)) {
- [cmd, ...aliases] = cmd;
- }
- else {
- for (const command of cmd) {
- self.addHandler(command);
- }
- }
- }
- else if (isCommandHandlerDefinition(cmd)) {
- let command = Array.isArray(cmd.command) || typeof cmd.command === 'string'
- ? cmd.command
- : moduleName(cmd);
- if (cmd.aliases)
- command = [].concat(command).concat(cmd.aliases);
- self.addHandler(command, extractDesc(cmd), cmd.builder, cmd.handler, cmd.middlewares, cmd.deprecated);
- return;
- }
- else if (isCommandBuilderDefinition(builder)) {
- self.addHandler([cmd].concat(aliases), description, builder.builder, builder.handler, builder.middlewares, builder.deprecated);
- return;
- }
- if (typeof cmd === 'string') {
- const parsedCommand = parseCommand(cmd);
- aliases = aliases.map(alias => parseCommand(alias).cmd);
- let isDefault = false;
- const parsedAliases = [parsedCommand.cmd].concat(aliases).filter(c => {
- if (DEFAULT_MARKER.test(c)) {
- isDefault = true;
- return false;
- }
- return true;
- });
- if (parsedAliases.length === 0 && isDefault)
- parsedAliases.push('$0');
- if (isDefault) {
- parsedCommand.cmd = parsedAliases[0];
- aliases = parsedAliases.slice(1);
- cmd = cmd.replace(DEFAULT_MARKER, parsedCommand.cmd);
- }
- aliases.forEach(alias => {
- aliasMap[alias] = parsedCommand.cmd;
- });
- if (description !== false) {
- usage.command(cmd, description, isDefault, aliases, deprecated);
- }
- handlers[parsedCommand.cmd] = {
- original: cmd,
- description,
- handler,
- builder: builder || {},
- middlewares,
- deprecated,
- demanded: parsedCommand.demanded,
- optional: parsedCommand.optional,
- };
- if (isDefault)
- defaultCommand = handlers[parsedCommand.cmd];
- }
- };
- self.addDirectory = function addDirectory(dir, context, req, callerFile, opts) {
- opts = opts || {};
- if (typeof opts.recurse !== 'boolean')
- opts.recurse = false;
- if (!Array.isArray(opts.extensions))
- opts.extensions = ['js'];
- const parentVisit = typeof opts.visit === 'function' ? opts.visit : (o) => o;
- opts.visit = function visit(obj, joined, filename) {
- const visited = parentVisit(obj, joined, filename);
- if (visited) {
- if (~context.files.indexOf(joined))
- return visited;
- context.files.push(joined);
- self.addHandler(visited);
- }
- return visited;
- };
- shim.requireDirectory({ require: req, filename: callerFile }, dir, opts);
- };
- function moduleName(obj) {
- const mod = whichModule(obj);
- if (!mod)
- throw new Error(`No command name given for module: ${shim.inspect(obj)}`);
- return commandFromFilename(mod.filename);
- }
- function commandFromFilename(filename) {
- return shim.path.basename(filename, shim.path.extname(filename));
- }
- function extractDesc({ describe, description, desc, }) {
- for (const test of [describe, description, desc]) {
- if (typeof test === 'string' || test === false)
- return test;
- assertNotStrictEqual(test, true, shim);
- }
- return false;
- }
- self.getCommands = () => Object.keys(handlers).concat(Object.keys(aliasMap));
- self.getCommandHandlers = () => handlers;
- self.hasDefaultCommand = () => !!defaultCommand;
- self.runCommand = function runCommand(command, yargs, parsed, commandIndex) {
- let aliases = parsed.aliases;
- const commandHandler = handlers[command] || handlers[aliasMap[command]] || defaultCommand;
- const currentContext = yargs.getContext();
- let numFiles = currentContext.files.length;
- const parentCommands = currentContext.commands.slice();
- let innerArgv = parsed.argv;
- let positionalMap = {};
- if (command) {
- currentContext.commands.push(command);
- currentContext.fullCommands.push(commandHandler.original);
- }
- const builder = commandHandler.builder;
- if (isCommandBuilderCallback(builder)) {
- const builderOutput = builder(yargs.reset(parsed.aliases));
- const innerYargs = isYargsInstance(builderOutput) ? builderOutput : yargs;
- if (shouldUpdateUsage(innerYargs)) {
- innerYargs
- .getUsageInstance()
- .usage(usageFromParentCommandsCommandHandler(parentCommands, commandHandler), commandHandler.description);
- }
- innerArgv = innerYargs._parseArgs(null, null, true, commandIndex);
- aliases = innerYargs.parsed.aliases;
- }
- else if (isCommandBuilderOptionDefinitions(builder)) {
- const innerYargs = yargs.reset(parsed.aliases);
- if (shouldUpdateUsage(innerYargs)) {
- innerYargs
- .getUsageInstance()
- .usage(usageFromParentCommandsCommandHandler(parentCommands, commandHandler), commandHandler.description);
- }
- Object.keys(commandHandler.builder).forEach(key => {
- innerYargs.option(key, builder[key]);
- });
- innerArgv = innerYargs._parseArgs(null, null, true, commandIndex);
- aliases = innerYargs.parsed.aliases;
- }
- if (!yargs._hasOutput()) {
- positionalMap = populatePositionals(commandHandler, innerArgv, currentContext);
- }
- const middlewares = globalMiddleware
- .slice(0)
- .concat(commandHandler.middlewares);
- applyMiddleware(innerArgv, yargs, middlewares, true);
- if (!yargs._hasOutput()) {
- yargs._runValidation(innerArgv, aliases, positionalMap, yargs.parsed.error, !command);
- }
- if (commandHandler.handler && !yargs._hasOutput()) {
- yargs._setHasOutput();
- const populateDoubleDash = !!yargs.getOptions().configuration['populate--'];
- yargs._postProcess(innerArgv, populateDoubleDash);
- innerArgv = applyMiddleware(innerArgv, yargs, middlewares, false);
- let handlerResult;
- if (isPromise(innerArgv)) {
- handlerResult = innerArgv.then(argv => commandHandler.handler(argv));
- }
- else {
- handlerResult = commandHandler.handler(innerArgv);
- }
- const handlerFinishCommand = yargs.getHandlerFinishCommand();
- if (isPromise(handlerResult)) {
- yargs.getUsageInstance().cacheHelpMessage();
- handlerResult
- .then(value => {
- if (handlerFinishCommand) {
- handlerFinishCommand(value);
- }
- })
- .catch(error => {
- try {
- yargs.getUsageInstance().fail(null, error);
- }
- catch (err) {
- }
- })
- .then(() => {
- yargs.getUsageInstance().clearCachedHelpMessage();
- });
- }
- else {
- if (handlerFinishCommand) {
- handlerFinishCommand(handlerResult);
- }
- }
- }
- if (command) {
- currentContext.commands.pop();
- currentContext.fullCommands.pop();
- }
- numFiles = currentContext.files.length - numFiles;
- if (numFiles > 0)
- currentContext.files.splice(numFiles * -1, numFiles);
- return innerArgv;
- };
- function shouldUpdateUsage(yargs) {
- return (!yargs.getUsageInstance().getUsageDisabled() &&
- yargs.getUsageInstance().getUsage().length === 0);
- }
- function usageFromParentCommandsCommandHandler(parentCommands, commandHandler) {
- const c = DEFAULT_MARKER.test(commandHandler.original)
- ? commandHandler.original.replace(DEFAULT_MARKER, '').trim()
- : commandHandler.original;
- const pc = parentCommands.filter(c => {
- return !DEFAULT_MARKER.test(c);
- });
- pc.push(c);
- return `$0 ${pc.join(' ')}`;
- }
- self.runDefaultBuilderOn = function (yargs) {
- assertNotStrictEqual(defaultCommand, undefined, shim);
- if (shouldUpdateUsage(yargs)) {
- const commandString = DEFAULT_MARKER.test(defaultCommand.original)
- ? defaultCommand.original
- : defaultCommand.original.replace(/^[^[\]<>]*/, '$0 ');
- yargs.getUsageInstance().usage(commandString, defaultCommand.description);
- }
- const builder = defaultCommand.builder;
- if (isCommandBuilderCallback(builder)) {
- builder(yargs);
- }
- else if (!isCommandBuilderDefinition(builder)) {
- Object.keys(builder).forEach(key => {
- yargs.option(key, builder[key]);
- });
- }
- };
- function populatePositionals(commandHandler, argv, context) {
- argv._ = argv._.slice(context.commands.length);
- const demanded = commandHandler.demanded.slice(0);
- const optional = commandHandler.optional.slice(0);
- const positionalMap = {};
- validation.positionalCount(demanded.length, argv._.length);
- while (demanded.length) {
- const demand = demanded.shift();
- populatePositional(demand, argv, positionalMap);
- }
- while (optional.length) {
- const maybe = optional.shift();
- populatePositional(maybe, argv, positionalMap);
- }
- argv._ = context.commands.concat(argv._.map(a => '' + a));
- postProcessPositionals(argv, positionalMap, self.cmdToParseOptions(commandHandler.original));
- return positionalMap;
- }
- function populatePositional(positional, argv, positionalMap) {
- const cmd = positional.cmd[0];
- if (positional.variadic) {
- positionalMap[cmd] = argv._.splice(0).map(String);
- }
- else {
- if (argv._.length)
- positionalMap[cmd] = [String(argv._.shift())];
- }
- }
- function postProcessPositionals(argv, positionalMap, parseOptions) {
- const options = Object.assign({}, yargs.getOptions());
- options.default = Object.assign(parseOptions.default, options.default);
- for (const key of Object.keys(parseOptions.alias)) {
- options.alias[key] = (options.alias[key] || []).concat(parseOptions.alias[key]);
- }
- options.array = options.array.concat(parseOptions.array);
- options.config = {};
- const unparsed = [];
- Object.keys(positionalMap).forEach(key => {
- positionalMap[key].map(value => {
- if (options.configuration['unknown-options-as-args'])
- options.key[key] = true;
- unparsed.push(`--${key}`);
- unparsed.push(value);
- });
- });
- if (!unparsed.length)
- return;
- const config = Object.assign({}, options.configuration, {
- 'populate--': true,
- });
- const parsed = shim.Parser.detailed(unparsed, Object.assign({}, options, {
- configuration: config,
- }));
- if (parsed.error) {
- yargs.getUsageInstance().fail(parsed.error.message, parsed.error);
- }
- else {
- const positionalKeys = Object.keys(positionalMap);
- Object.keys(positionalMap).forEach(key => {
- positionalKeys.push(...parsed.aliases[key]);
- });
- Object.keys(parsed.argv).forEach(key => {
- if (positionalKeys.indexOf(key) !== -1) {
- if (!positionalMap[key])
- positionalMap[key] = parsed.argv[key];
- argv[key] = parsed.argv[key];
- }
- });
- }
- }
- self.cmdToParseOptions = function (cmdString) {
- const parseOptions = {
- array: [],
- default: {},
- alias: {},
- demand: {},
- };
- const parsed = parseCommand(cmdString);
- parsed.demanded.forEach(d => {
- const [cmd, ...aliases] = d.cmd;
- if (d.variadic) {
- parseOptions.array.push(cmd);
- parseOptions.default[cmd] = [];
- }
- parseOptions.alias[cmd] = aliases;
- parseOptions.demand[cmd] = true;
- });
- parsed.optional.forEach(o => {
- const [cmd, ...aliases] = o.cmd;
- if (o.variadic) {
- parseOptions.array.push(cmd);
- parseOptions.default[cmd] = [];
- }
- parseOptions.alias[cmd] = aliases;
- });
- return parseOptions;
- };
- self.reset = () => {
- handlers = {};
- aliasMap = {};
- defaultCommand = undefined;
- return self;
- };
- const frozens = [];
- self.freeze = () => {
- frozens.push({
- handlers,
- aliasMap,
- defaultCommand,
- });
- };
- self.unfreeze = () => {
- const frozen = frozens.pop();
- assertNotStrictEqual(frozen, undefined, shim);
- ({ handlers, aliasMap, defaultCommand } = frozen);
- };
- return self;
-}
-export function isCommandBuilderDefinition(builder) {
- return (typeof builder === 'object' &&
- !!builder.builder &&
- typeof builder.handler === 'function');
-}
-function isCommandAndAliases(cmd) {
- if (cmd.every(c => typeof c === 'string')) {
- return true;
- }
- else {
- return false;
- }
-}
-export function isCommandBuilderCallback(builder) {
- return typeof builder === 'function';
-}
-function isCommandBuilderOptionDefinitions(builder) {
- return typeof builder === 'object';
-}
-export function isCommandHandlerDefinition(cmd) {
- return typeof cmd === 'object' && !Array.isArray(cmd);
-}
diff --git a/includes/search/node_modules/yargs/build/lib/completion-templates.js b/includes/search/node_modules/yargs/build/lib/completion-templates.js
deleted file mode 100644
index 990d34d..0000000
--- a/includes/search/node_modules/yargs/build/lib/completion-templates.js
+++ /dev/null
@@ -1,47 +0,0 @@
-export const completionShTemplate = `###-begin-{{app_name}}-completions-###
-#
-# yargs command completion script
-#
-# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc
-# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX.
-#
-_yargs_completions()
-{
- local cur_word args type_list
-
- cur_word="\${COMP_WORDS[COMP_CWORD]}"
- args=("\${COMP_WORDS[@]}")
-
- # ask yargs to generate completions.
- type_list=$({{app_path}} --get-yargs-completions "\${args[@]}")
-
- COMPREPLY=( $(compgen -W "\${type_list}" -- \${cur_word}) )
-
- # if no match was found, fall back to filename completion
- if [ \${#COMPREPLY[@]} -eq 0 ]; then
- COMPREPLY=()
- fi
-
- return 0
-}
-complete -o default -F _yargs_completions {{app_name}}
-###-end-{{app_name}}-completions-###
-`;
-export const completionZshTemplate = `###-begin-{{app_name}}-completions-###
-#
-# yargs command completion script
-#
-# Installation: {{app_path}} {{completion_command}} >> ~/.zshrc
-# or {{app_path}} {{completion_command}} >> ~/.zsh_profile on OSX.
-#
-_{{app_name}}_yargs_completions()
-{
- local reply
- local si=$IFS
- IFS=$'\n' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" {{app_path}} --get-yargs-completions "\${words[@]}"))
- IFS=$si
- _describe 'values' reply
-}
-compdef _{{app_name}}_yargs_completions {{app_name}}
-###-end-{{app_name}}-completions-###
-`;
diff --git a/includes/search/node_modules/yargs/build/lib/completion.js b/includes/search/node_modules/yargs/build/lib/completion.js
deleted file mode 100644
index 1c2e924..0000000
--- a/includes/search/node_modules/yargs/build/lib/completion.js
+++ /dev/null
@@ -1,128 +0,0 @@
-import { isCommandBuilderCallback } from './command.js';
-import { assertNotStrictEqual } from './typings/common-types.js';
-import * as templates from './completion-templates.js';
-import { isPromise } from './utils/is-promise.js';
-import { parseCommand } from './parse-command.js';
-export function completion(yargs, usage, command, shim) {
- const self = {
- completionKey: 'get-yargs-completions',
- };
- let aliases;
- self.setParsed = function setParsed(parsed) {
- aliases = parsed.aliases;
- };
- const zshShell = (shim.getEnv('SHELL') && shim.getEnv('SHELL').indexOf('zsh') !== -1) ||
- (shim.getEnv('ZSH_NAME') && shim.getEnv('ZSH_NAME').indexOf('zsh') !== -1);
- self.getCompletion = function getCompletion(args, done) {
- const completions = [];
- const current = args.length ? args[args.length - 1] : '';
- const argv = yargs.parse(args, true);
- const parentCommands = yargs.getContext().commands;
- function runCompletionFunction(argv) {
- assertNotStrictEqual(completionFunction, null, shim);
- if (isSyncCompletionFunction(completionFunction)) {
- const result = completionFunction(current, argv);
- if (isPromise(result)) {
- return result
- .then(list => {
- shim.process.nextTick(() => {
- done(list);
- });
- })
- .catch(err => {
- shim.process.nextTick(() => {
- throw err;
- });
- });
- }
- return done(result);
- }
- else {
- return completionFunction(current, argv, completions => {
- done(completions);
- });
- }
- }
- if (completionFunction) {
- return isPromise(argv)
- ? argv.then(runCompletionFunction)
- : runCompletionFunction(argv);
- }
- const handlers = command.getCommandHandlers();
- for (let i = 0, ii = args.length; i < ii; ++i) {
- if (handlers[args[i]] && handlers[args[i]].builder) {
- const builder = handlers[args[i]].builder;
- if (isCommandBuilderCallback(builder)) {
- const y = yargs.reset();
- builder(y);
- return y.argv;
- }
- }
- }
- if (!current.match(/^-/) &&
- parentCommands[parentCommands.length - 1] !== current) {
- usage.getCommands().forEach(usageCommand => {
- const commandName = parseCommand(usageCommand[0]).cmd;
- if (args.indexOf(commandName) === -1) {
- if (!zshShell) {
- completions.push(commandName);
- }
- else {
- const desc = usageCommand[1] || '';
- completions.push(commandName.replace(/:/g, '\\:') + ':' + desc);
- }
- }
- });
- }
- if (current.match(/^-/) || (current === '' && completions.length === 0)) {
- const descs = usage.getDescriptions();
- const options = yargs.getOptions();
- Object.keys(options.key).forEach(key => {
- const negable = !!options.configuration['boolean-negation'] &&
- options.boolean.includes(key);
- let keyAndAliases = [key].concat(aliases[key] || []);
- if (negable)
- keyAndAliases = keyAndAliases.concat(keyAndAliases.map(key => `no-${key}`));
- function completeOptionKey(key) {
- const notInArgs = keyAndAliases.every(val => args.indexOf(`--${val}`) === -1);
- if (notInArgs) {
- const startsByTwoDashes = (s) => /^--/.test(s);
- const isShortOption = (s) => /^[^0-9]$/.test(s);
- const dashes = !startsByTwoDashes(current) && isShortOption(key) ? '-' : '--';
- if (!zshShell) {
- completions.push(dashes + key);
- }
- else {
- const desc = descs[key] || '';
- completions.push(dashes +
- `${key.replace(/:/g, '\\:')}:${desc.replace('__yargsString__:', '')}`);
- }
- }
- }
- completeOptionKey(key);
- if (negable && !!options.default[key])
- completeOptionKey(`no-${key}`);
- });
- }
- done(completions);
- };
- self.generateCompletionScript = function generateCompletionScript($0, cmd) {
- let script = zshShell
- ? templates.completionZshTemplate
- : templates.completionShTemplate;
- const name = shim.path.basename($0);
- if ($0.match(/\.js$/))
- $0 = `./${$0}`;
- script = script.replace(/{{app_name}}/g, name);
- script = script.replace(/{{completion_command}}/g, cmd);
- return script.replace(/{{app_path}}/g, $0);
- };
- let completionFunction = null;
- self.registerFunction = fn => {
- completionFunction = fn;
- };
- return self;
-}
-function isSyncCompletionFunction(completionFunction) {
- return completionFunction.length < 3;
-}
diff --git a/includes/search/node_modules/yargs/build/lib/middleware.js b/includes/search/node_modules/yargs/build/lib/middleware.js
deleted file mode 100644
index 680094c..0000000
--- a/includes/search/node_modules/yargs/build/lib/middleware.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import { argsert } from './argsert.js';
-import { isPromise } from './utils/is-promise.js';
-export function globalMiddlewareFactory(globalMiddleware, context) {
- return function (callback, applyBeforeValidation = false) {
- argsert('<array|function> [boolean]', [callback, applyBeforeValidation], arguments.length);
- if (Array.isArray(callback)) {
- for (let i = 0; i < callback.length; i++) {
- if (typeof callback[i] !== 'function') {
- throw Error('middleware must be a function');
- }
- callback[i].applyBeforeValidation = applyBeforeValidation;
- }
- Array.prototype.push.apply(globalMiddleware, callback);
- }
- else if (typeof callback === 'function') {
- callback.applyBeforeValidation = applyBeforeValidation;
- globalMiddleware.push(callback);
- }
- return context;
- };
-}
-export function commandMiddlewareFactory(commandMiddleware) {
- if (!commandMiddleware)
- return [];
- return commandMiddleware.map(middleware => {
- middleware.applyBeforeValidation = false;
- return middleware;
- });
-}
-export function applyMiddleware(argv, yargs, middlewares, beforeValidation) {
- const beforeValidationError = new Error('middleware cannot return a promise when applyBeforeValidation is true');
- return middlewares.reduce((acc, middleware) => {
- if (middleware.applyBeforeValidation !== beforeValidation) {
- return acc;
- }
- if (isPromise(acc)) {
- return acc
- .then(initialObj => Promise.all([
- initialObj,
- middleware(initialObj, yargs),
- ]))
- .then(([initialObj, middlewareObj]) => Object.assign(initialObj, middlewareObj));
- }
- else {
- const result = middleware(acc, yargs);
- if (beforeValidation && isPromise(result))
- throw beforeValidationError;
- return isPromise(result)
- ? result.then(middlewareObj => Object.assign(acc, middlewareObj))
- : Object.assign(acc, result);
- }
- }, argv);
-}
diff --git a/includes/search/node_modules/yargs/build/lib/parse-command.js b/includes/search/node_modules/yargs/build/lib/parse-command.js
deleted file mode 100644
index 4989f53..0000000
--- a/includes/search/node_modules/yargs/build/lib/parse-command.js
+++ /dev/null
@@ -1,32 +0,0 @@
-export function parseCommand(cmd) {
- const extraSpacesStrippedCommand = cmd.replace(/\s{2,}/g, ' ');
- const splitCommand = extraSpacesStrippedCommand.split(/\s+(?![^[]*]|[^<]*>)/);
- const bregex = /\.*[\][<>]/g;
- const firstCommand = splitCommand.shift();
- if (!firstCommand)
- throw new Error(`No command found in: ${cmd}`);
- const parsedCommand = {
- cmd: firstCommand.replace(bregex, ''),
- demanded: [],
- optional: [],
- };
- splitCommand.forEach((cmd, i) => {
- let variadic = false;
- cmd = cmd.replace(/\s/g, '');
- if (/\.+[\]>]/.test(cmd) && i === splitCommand.length - 1)
- variadic = true;
- if (/^\[/.test(cmd)) {
- parsedCommand.optional.push({
- cmd: cmd.replace(bregex, '').split('|'),
- variadic,
- });
- }
- else {
- parsedCommand.demanded.push({
- cmd: cmd.replace(bregex, '').split('|'),
- variadic,
- });
- }
- });
- return parsedCommand;
-}
diff --git a/includes/search/node_modules/yargs/build/lib/typings/common-types.js b/includes/search/node_modules/yargs/build/lib/typings/common-types.js
deleted file mode 100644
index 73e1773..0000000
--- a/includes/search/node_modules/yargs/build/lib/typings/common-types.js
+++ /dev/null
@@ -1,9 +0,0 @@
-export function assertNotStrictEqual(actual, expected, shim, message) {
- shim.assert.notStrictEqual(actual, expected, message);
-}
-export function assertSingleKey(actual, shim) {
- shim.assert.strictEqual(typeof actual, 'string');
-}
-export function objectKeys(object) {
- return Object.keys(object);
-}
diff --git a/includes/search/node_modules/yargs/build/lib/typings/yargs-parser-types.js b/includes/search/node_modules/yargs/build/lib/typings/yargs-parser-types.js
deleted file mode 100644
index cb0ff5c..0000000
--- a/includes/search/node_modules/yargs/build/lib/typings/yargs-parser-types.js
+++ /dev/null
@@ -1 +0,0 @@
-export {};
diff --git a/includes/search/node_modules/yargs/build/lib/usage.js b/includes/search/node_modules/yargs/build/lib/usage.js
deleted file mode 100644
index ecd1aac..0000000
--- a/includes/search/node_modules/yargs/build/lib/usage.js
+++ /dev/null
@@ -1,548 +0,0 @@
-import { assertNotStrictEqual, } from './typings/common-types.js';
-import { objFilter } from './utils/obj-filter.js';
-import { YError } from './yerror.js';
-import setBlocking from './utils/set-blocking.js';
-export function usage(yargs, y18n, shim) {
- const __ = y18n.__;
- const self = {};
- const fails = [];
- self.failFn = function failFn(f) {
- fails.push(f);
- };
- let failMessage = null;
- let showHelpOnFail = true;
- self.showHelpOnFail = function showHelpOnFailFn(arg1 = true, arg2) {
- function parseFunctionArgs() {
- return typeof arg1 === 'string' ? [true, arg1] : [arg1, arg2];
- }
- const [enabled, message] = parseFunctionArgs();
- failMessage = message;
- showHelpOnFail = enabled;
- return self;
- };
- let failureOutput = false;
- self.fail = function fail(msg, err) {
- const logger = yargs._getLoggerInstance();
- if (fails.length) {
- for (let i = fails.length - 1; i >= 0; --i) {
- fails[i](msg, err, self);
- }
- }
- else {
- if (yargs.getExitProcess())
- setBlocking(true);
- if (!failureOutput) {
- failureOutput = true;
- if (showHelpOnFail) {
- yargs.showHelp('error');
- logger.error();
- }
- if (msg || err)
- logger.error(msg || err);
- if (failMessage) {
- if (msg || err)
- logger.error('');
- logger.error(failMessage);
- }
- }
- err = err || new YError(msg);
- if (yargs.getExitProcess()) {
- return yargs.exit(1);
- }
- else if (yargs._hasParseCallback()) {
- return yargs.exit(1, err);
- }
- else {
- throw err;
- }
- }
- };
- let usages = [];
- let usageDisabled = false;
- self.usage = (msg, description) => {
- if (msg === null) {
- usageDisabled = true;
- usages = [];
- return self;
- }
- usageDisabled = false;
- usages.push([msg, description || '']);
- return self;
- };
- self.getUsage = () => {
- return usages;
- };
- self.getUsageDisabled = () => {
- return usageDisabled;
- };
- self.getPositionalGroupName = () => {
- return __('Positionals:');
- };
- let examples = [];
- self.example = (cmd, description) => {
- examples.push([cmd, description || '']);
- };
- let commands = [];
- self.command = function command(cmd, description, isDefault, aliases, deprecated = false) {
- if (isDefault) {
- commands = commands.map(cmdArray => {
- cmdArray[2] = false;
- return cmdArray;
- });
- }
- commands.push([cmd, description || '', isDefault, aliases, deprecated]);
- };
- self.getCommands = () => commands;
- let descriptions = {};
- self.describe = function describe(keyOrKeys, desc) {
- if (Array.isArray(keyOrKeys)) {
- keyOrKeys.forEach(k => {
- self.describe(k, desc);
- });
- }
- else if (typeof keyOrKeys === 'object') {
- Object.keys(keyOrKeys).forEach(k => {
- self.describe(k, keyOrKeys[k]);
- });
- }
- else {
- descriptions[keyOrKeys] = desc;
- }
- };
- self.getDescriptions = () => descriptions;
- let epilogs = [];
- self.epilog = msg => {
- epilogs.push(msg);
- };
- let wrapSet = false;
- let wrap;
- self.wrap = cols => {
- wrapSet = true;
- wrap = cols;
- };
- function getWrap() {
- if (!wrapSet) {
- wrap = windowWidth();
- wrapSet = true;
- }
- return wrap;
- }
- const deferY18nLookupPrefix = '__yargsString__:';
- self.deferY18nLookup = str => deferY18nLookupPrefix + str;
- self.help = function help() {
- if (cachedHelpMessage)
- return cachedHelpMessage;
- normalizeAliases();
- const base$0 = yargs.customScriptName
- ? yargs.$0
- : shim.path.basename(yargs.$0);
- const demandedOptions = yargs.getDemandedOptions();
- const demandedCommands = yargs.getDemandedCommands();
- const deprecatedOptions = yargs.getDeprecatedOptions();
- const groups = yargs.getGroups();
- const options = yargs.getOptions();
- let keys = [];
- keys = keys.concat(Object.keys(descriptions));
- keys = keys.concat(Object.keys(demandedOptions));
- keys = keys.concat(Object.keys(demandedCommands));
- keys = keys.concat(Object.keys(options.default));
- keys = keys.filter(filterHiddenOptions);
- keys = Object.keys(keys.reduce((acc, key) => {
- if (key !== '_')
- acc[key] = true;
- return acc;
- }, {}));
- const theWrap = getWrap();
- const ui = shim.cliui({
- width: theWrap,
- wrap: !!theWrap,
- });
- if (!usageDisabled) {
- if (usages.length) {
- usages.forEach(usage => {
- ui.div(`${usage[0].replace(/\$0/g, base$0)}`);
- if (usage[1]) {
- ui.div({ text: `${usage[1]}`, padding: [1, 0, 0, 0] });
- }
- });
- ui.div();
- }
- else if (commands.length) {
- let u = null;
- if (demandedCommands._) {
- u = `${base$0} <${__('command')}>\n`;
- }
- else {
- u = `${base$0} [${__('command')}]\n`;
- }
- ui.div(`${u}`);
- }
- }
- if (commands.length) {
- ui.div(__('Commands:'));
- const context = yargs.getContext();
- const parentCommands = context.commands.length
- ? `${context.commands.join(' ')} `
- : '';
- if (yargs.getParserConfiguration()['sort-commands'] === true) {
- commands = commands.sort((a, b) => a[0].localeCompare(b[0]));
- }
- commands.forEach(command => {
- const commandString = `${base$0} ${parentCommands}${command[0].replace(/^\$0 ?/, '')}`;
- ui.span({
- text: commandString,
- padding: [0, 2, 0, 2],
- width: maxWidth(commands, theWrap, `${base$0}${parentCommands}`) + 4,
- }, { text: command[1] });
- const hints = [];
- if (command[2])
- hints.push(`[${__('default')}]`);
- if (command[3] && command[3].length) {
- hints.push(`[${__('aliases:')} ${command[3].join(', ')}]`);
- }
- if (command[4]) {
- if (typeof command[4] === 'string') {
- hints.push(`[${__('deprecated: %s', command[4])}]`);
- }
- else {
- hints.push(`[${__('deprecated')}]`);
- }
- }
- if (hints.length) {
- ui.div({
- text: hints.join(' '),
- padding: [0, 0, 0, 2],
- align: 'right',
- });
- }
- else {
- ui.div();
- }
- });
- ui.div();
- }
- const aliasKeys = (Object.keys(options.alias) || []).concat(Object.keys(yargs.parsed.newAliases) || []);
- keys = keys.filter(key => !yargs.parsed.newAliases[key] &&
- aliasKeys.every(alias => (options.alias[alias] || []).indexOf(key) === -1));
- const defaultGroup = __('Options:');
- if (!groups[defaultGroup])
- groups[defaultGroup] = [];
- addUngroupedKeys(keys, options.alias, groups, defaultGroup);
- const isLongSwitch = (sw) => /^--/.test(getText(sw));
- const displayedGroups = Object.keys(groups)
- .filter(groupName => groups[groupName].length > 0)
- .map(groupName => {
- const normalizedKeys = groups[groupName]
- .filter(filterHiddenOptions)
- .map(key => {
- if (~aliasKeys.indexOf(key))
- return key;
- for (let i = 0, aliasKey; (aliasKey = aliasKeys[i]) !== undefined; i++) {
- if (~(options.alias[aliasKey] || []).indexOf(key))
- return aliasKey;
- }
- return key;
- });
- return { groupName, normalizedKeys };
- })
- .filter(({ normalizedKeys }) => normalizedKeys.length > 0)
- .map(({ groupName, normalizedKeys }) => {
- const switches = normalizedKeys.reduce((acc, key) => {
- acc[key] = [key]
- .concat(options.alias[key] || [])
- .map(sw => {
- if (groupName === self.getPositionalGroupName())
- return sw;
- else {
- return ((/^[0-9]$/.test(sw)
- ? ~options.boolean.indexOf(key)
- ? '-'
- : '--'
- : sw.length > 1
- ? '--'
- : '-') + sw);
- }
- })
- .sort((sw1, sw2) => isLongSwitch(sw1) === isLongSwitch(sw2)
- ? 0
- : isLongSwitch(sw1)
- ? 1
- : -1)
- .join(', ');
- return acc;
- }, {});
- return { groupName, normalizedKeys, switches };
- });
- const shortSwitchesUsed = displayedGroups
- .filter(({ groupName }) => groupName !== self.getPositionalGroupName())
- .some(({ normalizedKeys, switches }) => !normalizedKeys.every(key => isLongSwitch(switches[key])));
- if (shortSwitchesUsed) {
- displayedGroups
- .filter(({ groupName }) => groupName !== self.getPositionalGroupName())
- .forEach(({ normalizedKeys, switches }) => {
- normalizedKeys.forEach(key => {
- if (isLongSwitch(switches[key])) {
- switches[key] = addIndentation(switches[key], '-x, '.length);
- }
- });
- });
- }
- displayedGroups.forEach(({ groupName, normalizedKeys, switches }) => {
- ui.div(groupName);
- normalizedKeys.forEach(key => {
- const kswitch = switches[key];
- let desc = descriptions[key] || '';
- let type = null;
- if (~desc.lastIndexOf(deferY18nLookupPrefix))
- desc = __(desc.substring(deferY18nLookupPrefix.length));
- if (~options.boolean.indexOf(key))
- type = `[${__('boolean')}]`;
- if (~options.count.indexOf(key))
- type = `[${__('count')}]`;
- if (~options.string.indexOf(key))
- type = `[${__('string')}]`;
- if (~options.normalize.indexOf(key))
- type = `[${__('string')}]`;
- if (~options.array.indexOf(key))
- type = `[${__('array')}]`;
- if (~options.number.indexOf(key))
- type = `[${__('number')}]`;
- const deprecatedExtra = (deprecated) => typeof deprecated === 'string'
- ? `[${__('deprecated: %s', deprecated)}]`
- : `[${__('deprecated')}]`;
- const extra = [
- key in deprecatedOptions
- ? deprecatedExtra(deprecatedOptions[key])
- : null,
- type,
- key in demandedOptions ? `[${__('required')}]` : null,
- options.choices && options.choices[key]
- ? `[${__('choices:')} ${self.stringifiedValues(options.choices[key])}]`
- : null,
- defaultString(options.default[key], options.defaultDescription[key]),
- ]
- .filter(Boolean)
- .join(' ');
- ui.span({
- text: getText(kswitch),
- padding: [0, 2, 0, 2 + getIndentation(kswitch)],
- width: maxWidth(switches, theWrap) + 4,
- }, desc);
- if (extra)
- ui.div({ text: extra, padding: [0, 0, 0, 2], align: 'right' });
- else
- ui.div();
- });
- ui.div();
- });
- if (examples.length) {
- ui.div(__('Examples:'));
- examples.forEach(example => {
- example[0] = example[0].replace(/\$0/g, base$0);
- });
- examples.forEach(example => {
- if (example[1] === '') {
- ui.div({
- text: example[0],
- padding: [0, 2, 0, 2],
- });
- }
- else {
- ui.div({
- text: example[0],
- padding: [0, 2, 0, 2],
- width: maxWidth(examples, theWrap) + 4,
- }, {
- text: example[1],
- });
- }
- });
- ui.div();
- }
- if (epilogs.length > 0) {
- const e = epilogs
- .map(epilog => epilog.replace(/\$0/g, base$0))
- .join('\n');
- ui.div(`${e}\n`);
- }
- return ui.toString().replace(/\s*$/, '');
- };
- function maxWidth(table, theWrap, modifier) {
- let width = 0;
- if (!Array.isArray(table)) {
- table = Object.values(table).map(v => [v]);
- }
- table.forEach(v => {
- width = Math.max(shim.stringWidth(modifier ? `${modifier} ${getText(v[0])}` : getText(v[0])) + getIndentation(v[0]), width);
- });
- if (theWrap)
- width = Math.min(width, parseInt((theWrap * 0.5).toString(), 10));
- return width;
- }
- function normalizeAliases() {
- const demandedOptions = yargs.getDemandedOptions();
- const options = yargs.getOptions();
- (Object.keys(options.alias) || []).forEach(key => {
- options.alias[key].forEach(alias => {
- if (descriptions[alias])
- self.describe(key, descriptions[alias]);
- if (alias in demandedOptions)
- yargs.demandOption(key, demandedOptions[alias]);
- if (~options.boolean.indexOf(alias))
- yargs.boolean(key);
- if (~options.count.indexOf(alias))
- yargs.count(key);
- if (~options.string.indexOf(alias))
- yargs.string(key);
- if (~options.normalize.indexOf(alias))
- yargs.normalize(key);
- if (~options.array.indexOf(alias))
- yargs.array(key);
- if (~options.number.indexOf(alias))
- yargs.number(key);
- });
- });
- }
- let cachedHelpMessage;
- self.cacheHelpMessage = function () {
- cachedHelpMessage = this.help();
- };
- self.clearCachedHelpMessage = function () {
- cachedHelpMessage = undefined;
- };
- function addUngroupedKeys(keys, aliases, groups, defaultGroup) {
- let groupedKeys = [];
- let toCheck = null;
- Object.keys(groups).forEach(group => {
- groupedKeys = groupedKeys.concat(groups[group]);
- });
- keys.forEach(key => {
- toCheck = [key].concat(aliases[key]);
- if (!toCheck.some(k => groupedKeys.indexOf(k) !== -1)) {
- groups[defaultGroup].push(key);
- }
- });
- return groupedKeys;
- }
- function filterHiddenOptions(key) {
- return (yargs.getOptions().hiddenOptions.indexOf(key) < 0 ||
- yargs.parsed.argv[yargs.getOptions().showHiddenOpt]);
- }
- self.showHelp = (level) => {
- const logger = yargs._getLoggerInstance();
- if (!level)
- level = 'error';
- const emit = typeof level === 'function' ? level : logger[level];
- emit(self.help());
- };
- self.functionDescription = fn => {
- const description = fn.name
- ? shim.Parser.decamelize(fn.name, '-')
- : __('generated-value');
- return ['(', description, ')'].join('');
- };
- self.stringifiedValues = function stringifiedValues(values, separator) {
- let string = '';
- const sep = separator || ', ';
- const array = [].concat(values);
- if (!values || !array.length)
- return string;
- array.forEach(value => {
- if (string.length)
- string += sep;
- string += JSON.stringify(value);
- });
- return string;
- };
- function defaultString(value, defaultDescription) {
- let string = `[${__('default:')} `;
- if (value === undefined && !defaultDescription)
- return null;
- if (defaultDescription) {
- string += defaultDescription;
- }
- else {
- switch (typeof value) {
- case 'string':
- string += `"${value}"`;
- break;
- case 'object':
- string += JSON.stringify(value);
- break;
- default:
- string += value;
- }
- }
- return `${string}]`;
- }
- function windowWidth() {
- const maxWidth = 80;
- if (shim.process.stdColumns) {
- return Math.min(maxWidth, shim.process.stdColumns);
- }
- else {
- return maxWidth;
- }
- }
- let version = null;
- self.version = ver => {
- version = ver;
- };
- self.showVersion = () => {
- const logger = yargs._getLoggerInstance();
- logger.log(version);
- };
- self.reset = function reset(localLookup) {
- failMessage = null;
- failureOutput = false;
- usages = [];
- usageDisabled = false;
- epilogs = [];
- examples = [];
- commands = [];
- descriptions = objFilter(descriptions, k => !localLookup[k]);
- return self;
- };
- const frozens = [];
- self.freeze = function freeze() {
- frozens.push({
- failMessage,
- failureOutput,
- usages,
- usageDisabled,
- epilogs,
- examples,
- commands,
- descriptions,
- });
- };
- self.unfreeze = function unfreeze() {
- const frozen = frozens.pop();
- assertNotStrictEqual(frozen, undefined, shim);
- ({
- failMessage,
- failureOutput,
- usages,
- usageDisabled,
- epilogs,
- examples,
- commands,
- descriptions,
- } = frozen);
- };
- return self;
-}
-function isIndentedText(text) {
- return typeof text === 'object';
-}
-function addIndentation(text, indent) {
- return isIndentedText(text)
- ? { text: text.text, indentation: text.indentation + indent }
- : { text, indentation: indent };
-}
-function getIndentation(text) {
- return isIndentedText(text) ? text.indentation : 0;
-}
-function getText(text) {
- return isIndentedText(text) ? text.text : text;
-}
diff --git a/includes/search/node_modules/yargs/build/lib/utils/apply-extends.js b/includes/search/node_modules/yargs/build/lib/utils/apply-extends.js
deleted file mode 100644
index 0e593b4..0000000
--- a/includes/search/node_modules/yargs/build/lib/utils/apply-extends.js
+++ /dev/null
@@ -1,59 +0,0 @@
-import { YError } from '../yerror.js';
-let previouslyVisitedConfigs = [];
-let shim;
-export function applyExtends(config, cwd, mergeExtends, _shim) {
- shim = _shim;
- let defaultConfig = {};
- if (Object.prototype.hasOwnProperty.call(config, 'extends')) {
- if (typeof config.extends !== 'string')
- return defaultConfig;
- const isPath = /\.json|\..*rc$/.test(config.extends);
- let pathToDefault = null;
- if (!isPath) {
- try {
- pathToDefault = require.resolve(config.extends);
- }
- catch (_err) {
- return config;
- }
- }
- else {
- pathToDefault = getPathToDefaultConfig(cwd, config.extends);
- }
- checkForCircularExtends(pathToDefault);
- previouslyVisitedConfigs.push(pathToDefault);
- defaultConfig = isPath
- ? JSON.parse(shim.readFileSync(pathToDefault, 'utf8'))
- : require(config.extends);
- delete config.extends;
- defaultConfig = applyExtends(defaultConfig, shim.path.dirname(pathToDefault), mergeExtends, shim);
- }
- previouslyVisitedConfigs = [];
- return mergeExtends
- ? mergeDeep(defaultConfig, config)
- : Object.assign({}, defaultConfig, config);
-}
-function checkForCircularExtends(cfgPath) {
- if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) {
- throw new YError(`Circular extended configurations: '${cfgPath}'.`);
- }
-}
-function getPathToDefaultConfig(cwd, pathToExtend) {
- return shim.path.resolve(cwd, pathToExtend);
-}
-function mergeDeep(config1, config2) {
- const target = {};
- function isObject(obj) {
- return obj && typeof obj === 'object' && !Array.isArray(obj);
- }
- Object.assign(target, config1);
- for (const key of Object.keys(config2)) {
- if (isObject(config2[key]) && isObject(target[key])) {
- target[key] = mergeDeep(config1[key], config2[key]);
- }
- else {
- target[key] = config2[key];
- }
- }
- return target;
-}
diff --git a/includes/search/node_modules/yargs/build/lib/utils/is-promise.js b/includes/search/node_modules/yargs/build/lib/utils/is-promise.js
deleted file mode 100644
index d250c08..0000000
--- a/includes/search/node_modules/yargs/build/lib/utils/is-promise.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export function isPromise(maybePromise) {
- return (!!maybePromise &&
- !!maybePromise.then &&
- typeof maybePromise.then === 'function');
-}
diff --git a/includes/search/node_modules/yargs/build/lib/utils/levenshtein.js b/includes/search/node_modules/yargs/build/lib/utils/levenshtein.js
deleted file mode 100644
index 068168e..0000000
--- a/includes/search/node_modules/yargs/build/lib/utils/levenshtein.js
+++ /dev/null
@@ -1,26 +0,0 @@
-export function levenshtein(a, b) {
- if (a.length === 0)
- return b.length;
- if (b.length === 0)
- return a.length;
- const matrix = [];
- let i;
- for (i = 0; i <= b.length; i++) {
- matrix[i] = [i];
- }
- let j;
- for (j = 0; j <= a.length; j++) {
- matrix[0][j] = j;
- }
- for (i = 1; i <= b.length; i++) {
- for (j = 1; j <= a.length; j++) {
- if (b.charAt(i - 1) === a.charAt(j - 1)) {
- matrix[i][j] = matrix[i - 1][j - 1];
- }
- else {
- matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, Math.min(matrix[i][j - 1] + 1, matrix[i - 1][j] + 1));
- }
- }
- }
- return matrix[b.length][a.length];
-}
diff --git a/includes/search/node_modules/yargs/build/lib/utils/obj-filter.js b/includes/search/node_modules/yargs/build/lib/utils/obj-filter.js
deleted file mode 100644
index cd68ad2..0000000
--- a/includes/search/node_modules/yargs/build/lib/utils/obj-filter.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { objectKeys } from '../typings/common-types.js';
-export function objFilter(original = {}, filter = () => true) {
- const obj = {};
- objectKeys(original).forEach(key => {
- if (filter(key, original[key])) {
- obj[key] = original[key];
- }
- });
- return obj;
-}
diff --git a/includes/search/node_modules/yargs/build/lib/utils/process-argv.js b/includes/search/node_modules/yargs/build/lib/utils/process-argv.js
deleted file mode 100644
index 74dc9e4..0000000
--- a/includes/search/node_modules/yargs/build/lib/utils/process-argv.js
+++ /dev/null
@@ -1,17 +0,0 @@
-function getProcessArgvBinIndex() {
- if (isBundledElectronApp())
- return 0;
- return 1;
-}
-function isBundledElectronApp() {
- return isElectronApp() && !process.defaultApp;
-}
-function isElectronApp() {
- return !!process.versions.electron;
-}
-export function hideBin(argv) {
- return argv.slice(getProcessArgvBinIndex() + 1);
-}
-export function getProcessArgvBin() {
- return process.argv[getProcessArgvBinIndex()];
-}
diff --git a/includes/search/node_modules/yargs/build/lib/utils/set-blocking.js b/includes/search/node_modules/yargs/build/lib/utils/set-blocking.js
deleted file mode 100644
index 88fb806..0000000
--- a/includes/search/node_modules/yargs/build/lib/utils/set-blocking.js
+++ /dev/null
@@ -1,12 +0,0 @@
-export default function setBlocking(blocking) {
- if (typeof process === 'undefined')
- return;
- [process.stdout, process.stderr].forEach(_stream => {
- const stream = _stream;
- if (stream._handle &&
- stream.isTTY &&
- typeof stream._handle.setBlocking === 'function') {
- stream._handle.setBlocking(blocking);
- }
- });
-}
diff --git a/includes/search/node_modules/yargs/build/lib/utils/which-module.js b/includes/search/node_modules/yargs/build/lib/utils/which-module.js
deleted file mode 100644
index 5974e22..0000000
--- a/includes/search/node_modules/yargs/build/lib/utils/which-module.js
+++ /dev/null
@@ -1,10 +0,0 @@
-export default function whichModule(exported) {
- if (typeof require === 'undefined')
- return null;
- for (let i = 0, files = Object.keys(require.cache), mod; i < files.length; i++) {
- mod = require.cache[files[i]];
- if (mod.exports === exported)
- return mod;
- }
- return null;
-}
diff --git a/includes/search/node_modules/yargs/build/lib/validation.js b/includes/search/node_modules/yargs/build/lib/validation.js
deleted file mode 100644
index dd77e07..0000000
--- a/includes/search/node_modules/yargs/build/lib/validation.js
+++ /dev/null
@@ -1,308 +0,0 @@
-import { argsert } from './argsert.js';
-import { assertNotStrictEqual, } from './typings/common-types.js';
-import { levenshtein as distance } from './utils/levenshtein.js';
-import { objFilter } from './utils/obj-filter.js';
-const specialKeys = ['$0', '--', '_'];
-export function validation(yargs, usage, y18n, shim) {
- const __ = y18n.__;
- const __n = y18n.__n;
- const self = {};
- self.nonOptionCount = function nonOptionCount(argv) {
- const demandedCommands = yargs.getDemandedCommands();
- const positionalCount = argv._.length + (argv['--'] ? argv['--'].length : 0);
- const _s = positionalCount - yargs.getContext().commands.length;
- if (demandedCommands._ &&
- (_s < demandedCommands._.min || _s > demandedCommands._.max)) {
- if (_s < demandedCommands._.min) {
- if (demandedCommands._.minMsg !== undefined) {
- usage.fail(demandedCommands._.minMsg
- ? demandedCommands._.minMsg
- .replace(/\$0/g, _s.toString())
- .replace(/\$1/, demandedCommands._.min.toString())
- : null);
- }
- else {
- usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', _s, _s.toString(), demandedCommands._.min.toString()));
- }
- }
- else if (_s > demandedCommands._.max) {
- if (demandedCommands._.maxMsg !== undefined) {
- usage.fail(demandedCommands._.maxMsg
- ? demandedCommands._.maxMsg
- .replace(/\$0/g, _s.toString())
- .replace(/\$1/, demandedCommands._.max.toString())
- : null);
- }
- else {
- usage.fail(__n('Too many non-option arguments: got %s, maximum of %s', 'Too many non-option arguments: got %s, maximum of %s', _s, _s.toString(), demandedCommands._.max.toString()));
- }
- }
- }
- };
- self.positionalCount = function positionalCount(required, observed) {
- if (observed < required) {
- usage.fail(__n('Not enough non-option arguments: got %s, need at least %s', 'Not enough non-option arguments: got %s, need at least %s', observed, observed + '', required + ''));
- }
- };
- self.requiredArguments = function requiredArguments(argv) {
- const demandedOptions = yargs.getDemandedOptions();
- let missing = null;
- for (const key of Object.keys(demandedOptions)) {
- if (!Object.prototype.hasOwnProperty.call(argv, key) ||
- typeof argv[key] === 'undefined') {
- missing = missing || {};
- missing[key] = demandedOptions[key];
- }
- }
- if (missing) {
- const customMsgs = [];
- for (const key of Object.keys(missing)) {
- const msg = missing[key];
- if (msg && customMsgs.indexOf(msg) < 0) {
- customMsgs.push(msg);
- }
- }
- const customMsg = customMsgs.length ? `\n${customMsgs.join('\n')}` : '';
- usage.fail(__n('Missing required argument: %s', 'Missing required arguments: %s', Object.keys(missing).length, Object.keys(missing).join(', ') + customMsg));
- }
- };
- self.unknownArguments = function unknownArguments(argv, aliases, positionalMap, isDefaultCommand, checkPositionals = true) {
- const commandKeys = yargs.getCommandInstance().getCommands();
- const unknown = [];
- const currentContext = yargs.getContext();
- Object.keys(argv).forEach(key => {
- if (specialKeys.indexOf(key) === -1 &&
- !Object.prototype.hasOwnProperty.call(positionalMap, key) &&
- !Object.prototype.hasOwnProperty.call(yargs._getParseContext(), key) &&
- !self.isValidAndSomeAliasIsNotNew(key, aliases)) {
- unknown.push(key);
- }
- });
- if (checkPositionals &&
- (currentContext.commands.length > 0 ||
- commandKeys.length > 0 ||
- isDefaultCommand)) {
- argv._.slice(currentContext.commands.length).forEach(key => {
- if (commandKeys.indexOf('' + key) === -1) {
- unknown.push('' + key);
- }
- });
- }
- if (unknown.length > 0) {
- usage.fail(__n('Unknown argument: %s', 'Unknown arguments: %s', unknown.length, unknown.join(', ')));
- }
- };
- self.unknownCommands = function unknownCommands(argv) {
- const commandKeys = yargs.getCommandInstance().getCommands();
- const unknown = [];
- const currentContext = yargs.getContext();
- if (currentContext.commands.length > 0 || commandKeys.length > 0) {
- argv._.slice(currentContext.commands.length).forEach(key => {
- if (commandKeys.indexOf('' + key) === -1) {
- unknown.push('' + key);
- }
- });
- }
- if (unknown.length > 0) {
- usage.fail(__n('Unknown command: %s', 'Unknown commands: %s', unknown.length, unknown.join(', ')));
- return true;
- }
- else {
- return false;
- }
- };
- self.isValidAndSomeAliasIsNotNew = function isValidAndSomeAliasIsNotNew(key, aliases) {
- if (!Object.prototype.hasOwnProperty.call(aliases, key)) {
- return false;
- }
- const newAliases = yargs.parsed.newAliases;
- for (const a of [key, ...aliases[key]]) {
- if (!Object.prototype.hasOwnProperty.call(newAliases, a) ||
- !newAliases[key]) {
- return true;
- }
- }
- return false;
- };
- self.limitedChoices = function limitedChoices(argv) {
- const options = yargs.getOptions();
- const invalid = {};
- if (!Object.keys(options.choices).length)
- return;
- Object.keys(argv).forEach(key => {
- if (specialKeys.indexOf(key) === -1 &&
- Object.prototype.hasOwnProperty.call(options.choices, key)) {
- [].concat(argv[key]).forEach(value => {
- if (options.choices[key].indexOf(value) === -1 &&
- value !== undefined) {
- invalid[key] = (invalid[key] || []).concat(value);
- }
- });
- }
- });
- const invalidKeys = Object.keys(invalid);
- if (!invalidKeys.length)
- return;
- let msg = __('Invalid values:');
- invalidKeys.forEach(key => {
- msg += `\n ${__('Argument: %s, Given: %s, Choices: %s', key, usage.stringifiedValues(invalid[key]), usage.stringifiedValues(options.choices[key]))}`;
- });
- usage.fail(msg);
- };
- let checks = [];
- self.check = function check(f, global) {
- checks.push({
- func: f,
- global,
- });
- };
- self.customChecks = function customChecks(argv, aliases) {
- for (let i = 0, f; (f = checks[i]) !== undefined; i++) {
- const func = f.func;
- let result = null;
- try {
- result = func(argv, aliases);
- }
- catch (err) {
- usage.fail(err.message ? err.message : err, err);
- continue;
- }
- if (!result) {
- usage.fail(__('Argument check failed: %s', func.toString()));
- }
- else if (typeof result === 'string' || result instanceof Error) {
- usage.fail(result.toString(), result);
- }
- }
- };
- let implied = {};
- self.implies = function implies(key, value) {
- argsert('<string|object> [array|number|string]', [key, value], arguments.length);
- if (typeof key === 'object') {
- Object.keys(key).forEach(k => {
- self.implies(k, key[k]);
- });
- }
- else {
- yargs.global(key);
- if (!implied[key]) {
- implied[key] = [];
- }
- if (Array.isArray(value)) {
- value.forEach(i => self.implies(key, i));
- }
- else {
- assertNotStrictEqual(value, undefined, shim);
- implied[key].push(value);
- }
- }
- };
- self.getImplied = function getImplied() {
- return implied;
- };
- function keyExists(argv, val) {
- const num = Number(val);
- val = isNaN(num) ? val : num;
- if (typeof val === 'number') {
- val = argv._.length >= val;
- }
- else if (val.match(/^--no-.+/)) {
- val = val.match(/^--no-(.+)/)[1];
- val = !argv[val];
- }
- else {
- val = argv[val];
- }
- return val;
- }
- self.implications = function implications(argv) {
- const implyFail = [];
- Object.keys(implied).forEach(key => {
- const origKey = key;
- (implied[key] || []).forEach(value => {
- let key = origKey;
- const origValue = value;
- key = keyExists(argv, key);
- value = keyExists(argv, value);
- if (key && !value) {
- implyFail.push(` ${origKey} -> ${origValue}`);
- }
- });
- });
- if (implyFail.length) {
- let msg = `${__('Implications failed:')}\n`;
- implyFail.forEach(value => {
- msg += value;
- });
- usage.fail(msg);
- }
- };
- let conflicting = {};
- self.conflicts = function conflicts(key, value) {
- argsert('<string|object> [array|string]', [key, value], arguments.length);
- if (typeof key === 'object') {
- Object.keys(key).forEach(k => {
- self.conflicts(k, key[k]);
- });
- }
- else {
- yargs.global(key);
- if (!conflicting[key]) {
- conflicting[key] = [];
- }
- if (Array.isArray(value)) {
- value.forEach(i => self.conflicts(key, i));
- }
- else {
- conflicting[key].push(value);
- }
- }
- };
- self.getConflicting = () => conflicting;
- self.conflicting = function conflictingFn(argv) {
- Object.keys(argv).forEach(key => {
- if (conflicting[key]) {
- conflicting[key].forEach(value => {
- if (value && argv[key] !== undefined && argv[value] !== undefined) {
- usage.fail(__('Arguments %s and %s are mutually exclusive', key, value));
- }
- });
- }
- });
- };
- self.recommendCommands = function recommendCommands(cmd, potentialCommands) {
- const threshold = 3;
- potentialCommands = potentialCommands.sort((a, b) => b.length - a.length);
- let recommended = null;
- let bestDistance = Infinity;
- for (let i = 0, candidate; (candidate = potentialCommands[i]) !== undefined; i++) {
- const d = distance(cmd, candidate);
- if (d <= threshold && d < bestDistance) {
- bestDistance = d;
- recommended = candidate;
- }
- }
- if (recommended)
- usage.fail(__('Did you mean %s?', recommended));
- };
- self.reset = function reset(localLookup) {
- implied = objFilter(implied, k => !localLookup[k]);
- conflicting = objFilter(conflicting, k => !localLookup[k]);
- checks = checks.filter(c => c.global);
- return self;
- };
- const frozens = [];
- self.freeze = function freeze() {
- frozens.push({
- implied,
- checks,
- conflicting,
- });
- };
- self.unfreeze = function unfreeze() {
- const frozen = frozens.pop();
- assertNotStrictEqual(frozen, undefined, shim);
- ({ implied, checks, conflicting } = frozen);
- };
- return self;
-}
diff --git a/includes/search/node_modules/yargs/build/lib/yargs-factory.js b/includes/search/node_modules/yargs/build/lib/yargs-factory.js
deleted file mode 100644
index 741b329..0000000
--- a/includes/search/node_modules/yargs/build/lib/yargs-factory.js
+++ /dev/null
@@ -1,1143 +0,0 @@
-import { command as Command, } from './command.js';
-import { assertNotStrictEqual, assertSingleKey, objectKeys, } from './typings/common-types.js';
-import { YError } from './yerror.js';
-import { usage as Usage } from './usage.js';
-import { argsert } from './argsert.js';
-import { completion as Completion, } from './completion.js';
-import { validation as Validation, } from './validation.js';
-import { objFilter } from './utils/obj-filter.js';
-import { applyExtends } from './utils/apply-extends.js';
-import { globalMiddlewareFactory, } from './middleware.js';
-import { isPromise } from './utils/is-promise.js';
-import setBlocking from './utils/set-blocking.js';
-let shim;
-export function YargsWithShim(_shim) {
- shim = _shim;
- return Yargs;
-}
-function Yargs(processArgs = [], cwd = shim.process.cwd(), parentRequire) {
- const self = {};
- let command;
- let completion = null;
- let groups = {};
- const globalMiddleware = [];
- let output = '';
- const preservedGroups = {};
- let usage;
- let validation;
- let handlerFinishCommand = null;
- const y18n = shim.y18n;
- self.middleware = globalMiddlewareFactory(globalMiddleware, self);
- self.scriptName = function (scriptName) {
- self.customScriptName = true;
- self.$0 = scriptName;
- return self;
- };
- let default$0;
- if (/\b(node|iojs|electron)(\.exe)?$/.test(shim.process.argv()[0])) {
- default$0 = shim.process.argv().slice(1, 2);
- }
- else {
- default$0 = shim.process.argv().slice(0, 1);
- }
- self.$0 = default$0
- .map(x => {
- const b = rebase(cwd, x);
- return x.match(/^(\/|([a-zA-Z]:)?\\)/) && b.length < x.length ? b : x;
- })
- .join(' ')
- .trim();
- if (shim.getEnv('_') && shim.getProcessArgvBin() === shim.getEnv('_')) {
- self.$0 = shim
- .getEnv('_')
- .replace(`${shim.path.dirname(shim.process.execPath())}/`, '');
- }
- const context = { resets: -1, commands: [], fullCommands: [], files: [] };
- self.getContext = () => context;
- let hasOutput = false;
- let exitError = null;
- self.exit = (code, err) => {
- hasOutput = true;
- exitError = err;
- if (exitProcess)
- shim.process.exit(code);
- };
- let completionCommand = null;
- self.completion = function (cmd, desc, fn) {
- argsert('[string] [string|boolean|function] [function]', [cmd, desc, fn], arguments.length);
- if (typeof desc === 'function') {
- fn = desc;
- desc = undefined;
- }
- completionCommand = cmd || completionCommand || 'completion';
- if (!desc && desc !== false) {
- desc = 'generate completion script';
- }
- self.command(completionCommand, desc);
- if (fn)
- completion.registerFunction(fn);
- return self;
- };
- let options;
- self.resetOptions = self.reset = function resetOptions(aliases = {}) {
- context.resets++;
- options = options || {};
- const tmpOptions = {};
- tmpOptions.local = options.local ? options.local : [];
- tmpOptions.configObjects = options.configObjects
- ? options.configObjects
- : [];
- const localLookup = {};
- tmpOptions.local.forEach(l => {
- localLookup[l] = true;
- (aliases[l] || []).forEach(a => {
- localLookup[a] = true;
- });
- });
- Object.assign(preservedGroups, Object.keys(groups).reduce((acc, groupName) => {
- const keys = groups[groupName].filter(key => !(key in localLookup));
- if (keys.length > 0) {
- acc[groupName] = keys;
- }
- return acc;
- }, {}));
- groups = {};
- const arrayOptions = [
- 'array',
- 'boolean',
- 'string',
- 'skipValidation',
- 'count',
- 'normalize',
- 'number',
- 'hiddenOptions',
- ];
- const objectOptions = [
- 'narg',
- 'key',
- 'alias',
- 'default',
- 'defaultDescription',
- 'config',
- 'choices',
- 'demandedOptions',
- 'demandedCommands',
- 'coerce',
- 'deprecatedOptions',
- ];
- arrayOptions.forEach(k => {
- tmpOptions[k] = (options[k] || []).filter((k) => !localLookup[k]);
- });
- objectOptions.forEach((k) => {
- tmpOptions[k] = objFilter(options[k], k => !localLookup[k]);
- });
- tmpOptions.envPrefix = options.envPrefix;
- options = tmpOptions;
- usage = usage ? usage.reset(localLookup) : Usage(self, y18n, shim);
- validation = validation
- ? validation.reset(localLookup)
- : Validation(self, usage, y18n, shim);
- command = command
- ? command.reset()
- : Command(self, usage, validation, globalMiddleware, shim);
- if (!completion)
- completion = Completion(self, usage, command, shim);
- completionCommand = null;
- output = '';
- exitError = null;
- hasOutput = false;
- self.parsed = false;
- return self;
- };
- self.resetOptions();
- const frozens = [];
- function freeze() {
- frozens.push({
- options,
- configObjects: options.configObjects.slice(0),
- exitProcess,
- groups,
- strict,
- strictCommands,
- strictOptions,
- completionCommand,
- output,
- exitError,
- hasOutput,
- parsed: self.parsed,
- parseFn,
- parseContext,
- handlerFinishCommand,
- });
- usage.freeze();
- validation.freeze();
- command.freeze();
- }
- function unfreeze() {
- const frozen = frozens.pop();
- assertNotStrictEqual(frozen, undefined, shim);
- let configObjects;
- ({
- options,
- configObjects,
- exitProcess,
- groups,
- output,
- exitError,
- hasOutput,
- parsed: self.parsed,
- strict,
- strictCommands,
- strictOptions,
- completionCommand,
- parseFn,
- parseContext,
- handlerFinishCommand,
- } = frozen);
- options.configObjects = configObjects;
- usage.unfreeze();
- validation.unfreeze();
- command.unfreeze();
- }
- self.boolean = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('boolean', keys);
- return self;
- };
- self.array = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('array', keys);
- return self;
- };
- self.number = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('number', keys);
- return self;
- };
- self.normalize = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('normalize', keys);
- return self;
- };
- self.count = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('count', keys);
- return self;
- };
- self.string = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('string', keys);
- return self;
- };
- self.requiresArg = function (keys) {
- argsert('<array|string|object> [number]', [keys], arguments.length);
- if (typeof keys === 'string' && options.narg[keys]) {
- return self;
- }
- else {
- populateParserHintSingleValueDictionary(self.requiresArg, 'narg', keys, NaN);
- }
- return self;
- };
- self.skipValidation = function (keys) {
- argsert('<array|string>', [keys], arguments.length);
- populateParserHintArray('skipValidation', keys);
- return self;
- };
- function populateParserHintArray(type, keys) {
- keys = [].concat(keys);
- keys.forEach(key => {
- key = sanitizeKey(key);
- options[type].push(key);
- });
- }
- self.nargs = function (key, value) {
- argsert('<string|object|array> [number]', [key, value], arguments.length);
- populateParserHintSingleValueDictionary(self.nargs, 'narg', key, value);
- return self;
- };
- self.choices = function (key, value) {
- argsert('<object|string|array> [string|array]', [key, value], arguments.length);
- populateParserHintArrayDictionary(self.choices, 'choices', key, value);
- return self;
- };
- self.alias = function (key, value) {
- argsert('<object|string|array> [string|array]', [key, value], arguments.length);
- populateParserHintArrayDictionary(self.alias, 'alias', key, value);
- return self;
- };
- self.default = self.defaults = function (key, value, defaultDescription) {
- argsert('<object|string|array> [*] [string]', [key, value, defaultDescription], arguments.length);
- if (defaultDescription) {
- assertSingleKey(key, shim);
- options.defaultDescription[key] = defaultDescription;
- }
- if (typeof value === 'function') {
- assertSingleKey(key, shim);
- if (!options.defaultDescription[key])
- options.defaultDescription[key] = usage.functionDescription(value);
- value = value.call();
- }
- populateParserHintSingleValueDictionary(self.default, 'default', key, value);
- return self;
- };
- self.describe = function (key, desc) {
- argsert('<object|string|array> [string]', [key, desc], arguments.length);
- setKey(key, true);
- usage.describe(key, desc);
- return self;
- };
- function setKey(key, set) {
- populateParserHintSingleValueDictionary(setKey, 'key', key, set);
- return self;
- }
- function demandOption(keys, msg) {
- argsert('<object|string|array> [string]', [keys, msg], arguments.length);
- populateParserHintSingleValueDictionary(self.demandOption, 'demandedOptions', keys, msg);
- return self;
- }
- self.demandOption = demandOption;
- self.coerce = function (keys, value) {
- argsert('<object|string|array> [function]', [keys, value], arguments.length);
- populateParserHintSingleValueDictionary(self.coerce, 'coerce', keys, value);
- return self;
- };
- function populateParserHintSingleValueDictionary(builder, type, key, value) {
- populateParserHintDictionary(builder, type, key, value, (type, key, value) => {
- options[type][key] = value;
- });
- }
- function populateParserHintArrayDictionary(builder, type, key, value) {
- populateParserHintDictionary(builder, type, key, value, (type, key, value) => {
- options[type][key] = (options[type][key] || []).concat(value);
- });
- }
- function populateParserHintDictionary(builder, type, key, value, singleKeyHandler) {
- if (Array.isArray(key)) {
- key.forEach(k => {
- builder(k, value);
- });
- }
- else if (((key) => typeof key === 'object')(key)) {
- for (const k of objectKeys(key)) {
- builder(k, key[k]);
- }
- }
- else {
- singleKeyHandler(type, sanitizeKey(key), value);
- }
- }
- function sanitizeKey(key) {
- if (key === '__proto__')
- return '___proto___';
- return key;
- }
- function deleteFromParserHintObject(optionKey) {
- objectKeys(options).forEach((hintKey) => {
- if (((key) => key === 'configObjects')(hintKey))
- return;
- const hint = options[hintKey];
- if (Array.isArray(hint)) {
- if (~hint.indexOf(optionKey))
- hint.splice(hint.indexOf(optionKey), 1);
- }
- else if (typeof hint === 'object') {
- delete hint[optionKey];
- }
- });
- delete usage.getDescriptions()[optionKey];
- }
- self.config = function config(key = 'config', msg, parseFn) {
- argsert('[object|string] [string|function] [function]', [key, msg, parseFn], arguments.length);
- if (typeof key === 'object' && !Array.isArray(key)) {
- key = applyExtends(key, cwd, self.getParserConfiguration()['deep-merge-config'] || false, shim);
- options.configObjects = (options.configObjects || []).concat(key);
- return self;
- }
- if (typeof msg === 'function') {
- parseFn = msg;
- msg = undefined;
- }
- self.describe(key, msg || usage.deferY18nLookup('Path to JSON config file'));
- (Array.isArray(key) ? key : [key]).forEach(k => {
- options.config[k] = parseFn || true;
- });
- return self;
- };
- self.example = function (cmd, description) {
- argsert('<string|array> [string]', [cmd, description], arguments.length);
- if (Array.isArray(cmd)) {
- cmd.forEach(exampleParams => self.example(...exampleParams));
- }
- else {
- usage.example(cmd, description);
- }
- return self;
- };
- self.command = function (cmd, description, builder, handler, middlewares, deprecated) {
- argsert('<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]', [cmd, description, builder, handler, middlewares, deprecated], arguments.length);
- command.addHandler(cmd, description, builder, handler, middlewares, deprecated);
- return self;
- };
- self.commandDir = function (dir, opts) {
- argsert('<string> [object]', [dir, opts], arguments.length);
- const req = parentRequire || shim.require;
- command.addDirectory(dir, self.getContext(), req, shim.getCallerFile(), opts);
- return self;
- };
- self.demand = self.required = self.require = function demand(keys, max, msg) {
- if (Array.isArray(max)) {
- max.forEach(key => {
- assertNotStrictEqual(msg, true, shim);
- demandOption(key, msg);
- });
- max = Infinity;
- }
- else if (typeof max !== 'number') {
- msg = max;
- max = Infinity;
- }
- if (typeof keys === 'number') {
- assertNotStrictEqual(msg, true, shim);
- self.demandCommand(keys, max, msg, msg);
- }
- else if (Array.isArray(keys)) {
- keys.forEach(key => {
- assertNotStrictEqual(msg, true, shim);
- demandOption(key, msg);
- });
- }
- else {
- if (typeof msg === 'string') {
- demandOption(keys, msg);
- }
- else if (msg === true || typeof msg === 'undefined') {
- demandOption(keys);
- }
- }
- return self;
- };
- self.demandCommand = function demandCommand(min = 1, max, minMsg, maxMsg) {
- argsert('[number] [number|string] [string|null|undefined] [string|null|undefined]', [min, max, minMsg, maxMsg], arguments.length);
- if (typeof max !== 'number') {
- minMsg = max;
- max = Infinity;
- }
- self.global('_', false);
- options.demandedCommands._ = {
- min,
- max,
- minMsg,
- maxMsg,
- };
- return self;
- };
- self.getDemandedOptions = () => {
- argsert([], 0);
- return options.demandedOptions;
- };
- self.getDemandedCommands = () => {
- argsert([], 0);
- return options.demandedCommands;
- };
- self.deprecateOption = function deprecateOption(option, message) {
- argsert('<string> [string|boolean]', [option, message], arguments.length);
- options.deprecatedOptions[option] = message;
- return self;
- };
- self.getDeprecatedOptions = () => {
- argsert([], 0);
- return options.deprecatedOptions;
- };
- self.implies = function (key, value) {
- argsert('<string|object> [number|string|array]', [key, value], arguments.length);
- validation.implies(key, value);
- return self;
- };
- self.conflicts = function (key1, key2) {
- argsert('<string|object> [string|array]', [key1, key2], arguments.length);
- validation.conflicts(key1, key2);
- return self;
- };
- self.usage = function (msg, description, builder, handler) {
- argsert('<string|null|undefined> [string|boolean] [function|object] [function]', [msg, description, builder, handler], arguments.length);
- if (description !== undefined) {
- assertNotStrictEqual(msg, null, shim);
- if ((msg || '').match(/^\$0( |$)/)) {
- return self.command(msg, description, builder, handler);
- }
- else {
- throw new YError('.usage() description must start with $0 if being used as alias for .command()');
- }
- }
- else {
- usage.usage(msg);
- return self;
- }
- };
- self.epilogue = self.epilog = function (msg) {
- argsert('<string>', [msg], arguments.length);
- usage.epilog(msg);
- return self;
- };
- self.fail = function (f) {
- argsert('<function>', [f], arguments.length);
- usage.failFn(f);
- return self;
- };
- self.onFinishCommand = function (f) {
- argsert('<function>', [f], arguments.length);
- handlerFinishCommand = f;
- return self;
- };
- self.getHandlerFinishCommand = () => handlerFinishCommand;
- self.check = function (f, _global) {
- argsert('<function> [boolean]', [f, _global], arguments.length);
- validation.check(f, _global !== false);
- return self;
- };
- self.global = function global(globals, global) {
- argsert('<string|array> [boolean]', [globals, global], arguments.length);
- globals = [].concat(globals);
- if (global !== false) {
- options.local = options.local.filter(l => globals.indexOf(l) === -1);
- }
- else {
- globals.forEach(g => {
- if (options.local.indexOf(g) === -1)
- options.local.push(g);
- });
- }
- return self;
- };
- self.pkgConf = function pkgConf(key, rootPath) {
- argsert('<string> [string]', [key, rootPath], arguments.length);
- let conf = null;
- const obj = pkgUp(rootPath || cwd);
- if (obj[key] && typeof obj[key] === 'object') {
- conf = applyExtends(obj[key], rootPath || cwd, self.getParserConfiguration()['deep-merge-config'] || false, shim);
- options.configObjects = (options.configObjects || []).concat(conf);
- }
- return self;
- };
- const pkgs = {};
- function pkgUp(rootPath) {
- const npath = rootPath || '*';
- if (pkgs[npath])
- return pkgs[npath];
- let obj = {};
- try {
- let startDir = rootPath || shim.mainFilename;
- if (!rootPath && shim.path.extname(startDir)) {
- startDir = shim.path.dirname(startDir);
- }
- const pkgJsonPath = shim.findUp(startDir, (dir, names) => {
- if (names.includes('package.json')) {
- return 'package.json';
- }
- else {
- return undefined;
- }
- });
- assertNotStrictEqual(pkgJsonPath, undefined, shim);
- obj = JSON.parse(shim.readFileSync(pkgJsonPath, 'utf8'));
- }
- catch (_noop) { }
- pkgs[npath] = obj || {};
- return pkgs[npath];
- }
- let parseFn = null;
- let parseContext = null;
- self.parse = function parse(args, shortCircuit, _parseFn) {
- argsert('[string|array] [function|boolean|object] [function]', [args, shortCircuit, _parseFn], arguments.length);
- freeze();
- if (typeof args === 'undefined') {
- const argv = self._parseArgs(processArgs);
- const tmpParsed = self.parsed;
- unfreeze();
- self.parsed = tmpParsed;
- return argv;
- }
- if (typeof shortCircuit === 'object') {
- parseContext = shortCircuit;
- shortCircuit = _parseFn;
- }
- if (typeof shortCircuit === 'function') {
- parseFn = shortCircuit;
- shortCircuit = false;
- }
- if (!shortCircuit)
- processArgs = args;
- if (parseFn)
- exitProcess = false;
- const parsed = self._parseArgs(args, !!shortCircuit);
- completion.setParsed(self.parsed);
- if (parseFn)
- parseFn(exitError, parsed, output);
- unfreeze();
- return parsed;
- };
- self._getParseContext = () => parseContext || {};
- self._hasParseCallback = () => !!parseFn;
- self.option = self.options = function option(key, opt) {
- argsert('<string|object> [object]', [key, opt], arguments.length);
- if (typeof key === 'object') {
- Object.keys(key).forEach(k => {
- self.options(k, key[k]);
- });
- }
- else {
- if (typeof opt !== 'object') {
- opt = {};
- }
- options.key[key] = true;
- if (opt.alias)
- self.alias(key, opt.alias);
- const deprecate = opt.deprecate || opt.deprecated;
- if (deprecate) {
- self.deprecateOption(key, deprecate);
- }
- const demand = opt.demand || opt.required || opt.require;
- if (demand) {
- self.demand(key, demand);
- }
- if (opt.demandOption) {
- self.demandOption(key, typeof opt.demandOption === 'string' ? opt.demandOption : undefined);
- }
- if (opt.conflicts) {
- self.conflicts(key, opt.conflicts);
- }
- if ('default' in opt) {
- self.default(key, opt.default);
- }
- if (opt.implies !== undefined) {
- self.implies(key, opt.implies);
- }
- if (opt.nargs !== undefined) {
- self.nargs(key, opt.nargs);
- }
- if (opt.config) {
- self.config(key, opt.configParser);
- }
- if (opt.normalize) {
- self.normalize(key);
- }
- if (opt.choices) {
- self.choices(key, opt.choices);
- }
- if (opt.coerce) {
- self.coerce(key, opt.coerce);
- }
- if (opt.group) {
- self.group(key, opt.group);
- }
- if (opt.boolean || opt.type === 'boolean') {
- self.boolean(key);
- if (opt.alias)
- self.boolean(opt.alias);
- }
- if (opt.array || opt.type === 'array') {
- self.array(key);
- if (opt.alias)
- self.array(opt.alias);
- }
- if (opt.number || opt.type === 'number') {
- self.number(key);
- if (opt.alias)
- self.number(opt.alias);
- }
- if (opt.string || opt.type === 'string') {
- self.string(key);
- if (opt.alias)
- self.string(opt.alias);
- }
- if (opt.count || opt.type === 'count') {
- self.count(key);
- }
- if (typeof opt.global === 'boolean') {
- self.global(key, opt.global);
- }
- if (opt.defaultDescription) {
- options.defaultDescription[key] = opt.defaultDescription;
- }
- if (opt.skipValidation) {
- self.skipValidation(key);
- }
- const desc = opt.describe || opt.description || opt.desc;
- self.describe(key, desc);
- if (opt.hidden) {
- self.hide(key);
- }
- if (opt.requiresArg) {
- self.requiresArg(key);
- }
- }
- return self;
- };
- self.getOptions = () => options;
- self.positional = function (key, opts) {
- argsert('<string> <object>', [key, opts], arguments.length);
- if (context.resets === 0) {
- throw new YError(".positional() can only be called in a command's builder function");
- }
- const supportedOpts = [
- 'default',
- 'defaultDescription',
- 'implies',
- 'normalize',
- 'choices',
- 'conflicts',
- 'coerce',
- 'type',
- 'describe',
- 'desc',
- 'description',
- 'alias',
- ];
- opts = objFilter(opts, (k, v) => {
- let accept = supportedOpts.indexOf(k) !== -1;
- if (k === 'type' && ['string', 'number', 'boolean'].indexOf(v) === -1)
- accept = false;
- return accept;
- });
- const fullCommand = context.fullCommands[context.fullCommands.length - 1];
- const parseOptions = fullCommand
- ? command.cmdToParseOptions(fullCommand)
- : {
- array: [],
- alias: {},
- default: {},
- demand: {},
- };
- objectKeys(parseOptions).forEach(pk => {
- const parseOption = parseOptions[pk];
- if (Array.isArray(parseOption)) {
- if (parseOption.indexOf(key) !== -1)
- opts[pk] = true;
- }
- else {
- if (parseOption[key] && !(pk in opts))
- opts[pk] = parseOption[key];
- }
- });
- self.group(key, usage.getPositionalGroupName());
- return self.option(key, opts);
- };
- self.group = function group(opts, groupName) {
- argsert('<string|array> <string>', [opts, groupName], arguments.length);
- const existing = preservedGroups[groupName] || groups[groupName];
- if (preservedGroups[groupName]) {
- delete preservedGroups[groupName];
- }
- const seen = {};
- groups[groupName] = (existing || []).concat(opts).filter(key => {
- if (seen[key])
- return false;
- return (seen[key] = true);
- });
- return self;
- };
- self.getGroups = () => Object.assign({}, groups, preservedGroups);
- self.env = function (prefix) {
- argsert('[string|boolean]', [prefix], arguments.length);
- if (prefix === false)
- delete options.envPrefix;
- else
- options.envPrefix = prefix || '';
- return self;
- };
- self.wrap = function (cols) {
- argsert('<number|null|undefined>', [cols], arguments.length);
- usage.wrap(cols);
- return self;
- };
- let strict = false;
- self.strict = function (enabled) {
- argsert('[boolean]', [enabled], arguments.length);
- strict = enabled !== false;
- return self;
- };
- self.getStrict = () => strict;
- let strictCommands = false;
- self.strictCommands = function (enabled) {
- argsert('[boolean]', [enabled], arguments.length);
- strictCommands = enabled !== false;
- return self;
- };
- self.getStrictCommands = () => strictCommands;
- let strictOptions = false;
- self.strictOptions = function (enabled) {
- argsert('[boolean]', [enabled], arguments.length);
- strictOptions = enabled !== false;
- return self;
- };
- self.getStrictOptions = () => strictOptions;
- let parserConfig = {};
- self.parserConfiguration = function parserConfiguration(config) {
- argsert('<object>', [config], arguments.length);
- parserConfig = config;
- return self;
- };
- self.getParserConfiguration = () => parserConfig;
- self.showHelp = function (level) {
- argsert('[string|function]', [level], arguments.length);
- if (!self.parsed)
- self._parseArgs(processArgs);
- if (command.hasDefaultCommand()) {
- context.resets++;
- command.runDefaultBuilderOn(self);
- }
- usage.showHelp(level);
- return self;
- };
- let versionOpt = null;
- self.version = function version(opt, msg, ver) {
- const defaultVersionOpt = 'version';
- argsert('[boolean|string] [string] [string]', [opt, msg, ver], arguments.length);
- if (versionOpt) {
- deleteFromParserHintObject(versionOpt);
- usage.version(undefined);
- versionOpt = null;
- }
- if (arguments.length === 0) {
- ver = guessVersion();
- opt = defaultVersionOpt;
- }
- else if (arguments.length === 1) {
- if (opt === false) {
- return self;
- }
- ver = opt;
- opt = defaultVersionOpt;
- }
- else if (arguments.length === 2) {
- ver = msg;
- msg = undefined;
- }
- versionOpt = typeof opt === 'string' ? opt : defaultVersionOpt;
- msg = msg || usage.deferY18nLookup('Show version number');
- usage.version(ver || undefined);
- self.boolean(versionOpt);
- self.describe(versionOpt, msg);
- return self;
- };
- function guessVersion() {
- const obj = pkgUp();
- return obj.version || 'unknown';
- }
- let helpOpt = null;
- self.addHelpOpt = self.help = function addHelpOpt(opt, msg) {
- const defaultHelpOpt = 'help';
- argsert('[string|boolean] [string]', [opt, msg], arguments.length);
- if (helpOpt) {
- deleteFromParserHintObject(helpOpt);
- helpOpt = null;
- }
- if (arguments.length === 1) {
- if (opt === false)
- return self;
- }
- helpOpt = typeof opt === 'string' ? opt : defaultHelpOpt;
- self.boolean(helpOpt);
- self.describe(helpOpt, msg || usage.deferY18nLookup('Show help'));
- return self;
- };
- const defaultShowHiddenOpt = 'show-hidden';
- options.showHiddenOpt = defaultShowHiddenOpt;
- self.addShowHiddenOpt = self.showHidden = function addShowHiddenOpt(opt, msg) {
- argsert('[string|boolean] [string]', [opt, msg], arguments.length);
- if (arguments.length === 1) {
- if (opt === false)
- return self;
- }
- const showHiddenOpt = typeof opt === 'string' ? opt : defaultShowHiddenOpt;
- self.boolean(showHiddenOpt);
- self.describe(showHiddenOpt, msg || usage.deferY18nLookup('Show hidden options'));
- options.showHiddenOpt = showHiddenOpt;
- return self;
- };
- self.hide = function hide(key) {
- argsert('<string>', [key], arguments.length);
- options.hiddenOptions.push(key);
- return self;
- };
- self.showHelpOnFail = function showHelpOnFail(enabled, message) {
- argsert('[boolean|string] [string]', [enabled, message], arguments.length);
- usage.showHelpOnFail(enabled, message);
- return self;
- };
- let exitProcess = true;
- self.exitProcess = function (enabled = true) {
- argsert('[boolean]', [enabled], arguments.length);
- exitProcess = enabled;
- return self;
- };
- self.getExitProcess = () => exitProcess;
- self.showCompletionScript = function ($0, cmd) {
- argsert('[string] [string]', [$0, cmd], arguments.length);
- $0 = $0 || self.$0;
- _logger.log(completion.generateCompletionScript($0, cmd || completionCommand || 'completion'));
- return self;
- };
- self.getCompletion = function (args, done) {
- argsert('<array> <function>', [args, done], arguments.length);
- completion.getCompletion(args, done);
- };
- self.locale = function (locale) {
- argsert('[string]', [locale], arguments.length);
- if (!locale) {
- guessLocale();
- return y18n.getLocale();
- }
- detectLocale = false;
- y18n.setLocale(locale);
- return self;
- };
- self.updateStrings = self.updateLocale = function (obj) {
- argsert('<object>', [obj], arguments.length);
- detectLocale = false;
- y18n.updateLocale(obj);
- return self;
- };
- let detectLocale = true;
- self.detectLocale = function (detect) {
- argsert('<boolean>', [detect], arguments.length);
- detectLocale = detect;
- return self;
- };
- self.getDetectLocale = () => detectLocale;
- const _logger = {
- log(...args) {
- if (!self._hasParseCallback())
- console.log(...args);
- hasOutput = true;
- if (output.length)
- output += '\n';
- output += args.join(' ');
- },
- error(...args) {
- if (!self._hasParseCallback())
- console.error(...args);
- hasOutput = true;
- if (output.length)
- output += '\n';
- output += args.join(' ');
- },
- };
- self._getLoggerInstance = () => _logger;
- self._hasOutput = () => hasOutput;
- self._setHasOutput = () => {
- hasOutput = true;
- };
- let recommendCommands;
- self.recommendCommands = function (recommend = true) {
- argsert('[boolean]', [recommend], arguments.length);
- recommendCommands = recommend;
- return self;
- };
- self.getUsageInstance = () => usage;
- self.getValidationInstance = () => validation;
- self.getCommandInstance = () => command;
- self.terminalWidth = () => {
- argsert([], 0);
- return shim.process.stdColumns;
- };
- Object.defineProperty(self, 'argv', {
- get: () => self._parseArgs(processArgs),
- enumerable: true,
- });
- self._parseArgs = function parseArgs(args, shortCircuit, _calledFromCommand, commandIndex) {
- let skipValidation = !!_calledFromCommand;
- args = args || processArgs;
- options.__ = y18n.__;
- options.configuration = self.getParserConfiguration();
- const populateDoubleDash = !!options.configuration['populate--'];
- const config = Object.assign({}, options.configuration, {
- 'populate--': true,
- });
- const parsed = shim.Parser.detailed(args, Object.assign({}, options, {
- configuration: Object.assign({ 'parse-positional-numbers': false }, config),
- }));
- let argv = parsed.argv;
- if (parseContext)
- argv = Object.assign({}, argv, parseContext);
- const aliases = parsed.aliases;
- argv.$0 = self.$0;
- self.parsed = parsed;
- try {
- guessLocale();
- if (shortCircuit) {
- return self._postProcess(argv, populateDoubleDash, _calledFromCommand);
- }
- if (helpOpt) {
- const helpCmds = [helpOpt]
- .concat(aliases[helpOpt] || [])
- .filter(k => k.length > 1);
- if (~helpCmds.indexOf('' + argv._[argv._.length - 1])) {
- argv._.pop();
- argv[helpOpt] = true;
- }
- }
- const handlerKeys = command.getCommands();
- const requestCompletions = completion.completionKey in argv;
- const skipRecommendation = argv[helpOpt] || requestCompletions;
- const skipDefaultCommand = skipRecommendation &&
- (handlerKeys.length > 1 || handlerKeys[0] !== '$0');
- if (argv._.length) {
- if (handlerKeys.length) {
- let firstUnknownCommand;
- for (let i = commandIndex || 0, cmd; argv._[i] !== undefined; i++) {
- cmd = String(argv._[i]);
- if (~handlerKeys.indexOf(cmd) && cmd !== completionCommand) {
- const innerArgv = command.runCommand(cmd, self, parsed, i + 1);
- return self._postProcess(innerArgv, populateDoubleDash);
- }
- else if (!firstUnknownCommand && cmd !== completionCommand) {
- firstUnknownCommand = cmd;
- break;
- }
- }
- if (command.hasDefaultCommand() && !skipDefaultCommand) {
- const innerArgv = command.runCommand(null, self, parsed);
- return self._postProcess(innerArgv, populateDoubleDash);
- }
- if (recommendCommands && firstUnknownCommand && !skipRecommendation) {
- validation.recommendCommands(firstUnknownCommand, handlerKeys);
- }
- }
- if (completionCommand &&
- ~argv._.indexOf(completionCommand) &&
- !requestCompletions) {
- if (exitProcess)
- setBlocking(true);
- self.showCompletionScript();
- self.exit(0);
- }
- }
- else if (command.hasDefaultCommand() && !skipDefaultCommand) {
- const innerArgv = command.runCommand(null, self, parsed);
- return self._postProcess(innerArgv, populateDoubleDash);
- }
- if (requestCompletions) {
- if (exitProcess)
- setBlocking(true);
- args = [].concat(args);
- const completionArgs = args.slice(args.indexOf(`--${completion.completionKey}`) + 1);
- completion.getCompletion(completionArgs, completions => {
- (completions || []).forEach(completion => {
- _logger.log(completion);
- });
- self.exit(0);
- });
- return self._postProcess(argv, !populateDoubleDash, _calledFromCommand);
- }
- if (!hasOutput) {
- Object.keys(argv).forEach(key => {
- if (key === helpOpt && argv[key]) {
- if (exitProcess)
- setBlocking(true);
- skipValidation = true;
- self.showHelp('log');
- self.exit(0);
- }
- else if (key === versionOpt && argv[key]) {
- if (exitProcess)
- setBlocking(true);
- skipValidation = true;
- usage.showVersion();
- self.exit(0);
- }
- });
- }
- if (!skipValidation && options.skipValidation.length > 0) {
- skipValidation = Object.keys(argv).some(key => options.skipValidation.indexOf(key) >= 0 && argv[key] === true);
- }
- if (!skipValidation) {
- if (parsed.error)
- throw new YError(parsed.error.message);
- if (!requestCompletions) {
- self._runValidation(argv, aliases, {}, parsed.error);
- }
- }
- }
- catch (err) {
- if (err instanceof YError)
- usage.fail(err.message, err);
- else
- throw err;
- }
- return self._postProcess(argv, populateDoubleDash, _calledFromCommand);
- };
- self._postProcess = function (argv, populateDoubleDash, calledFromCommand = false) {
- if (isPromise(argv))
- return argv;
- if (calledFromCommand)
- return argv;
- if (!populateDoubleDash) {
- argv = self._copyDoubleDash(argv);
- }
- const parsePositionalNumbers = self.getParserConfiguration()['parse-positional-numbers'] ||
- self.getParserConfiguration()['parse-positional-numbers'] === undefined;
- if (parsePositionalNumbers) {
- argv = self._parsePositionalNumbers(argv);
- }
- return argv;
- };
- self._copyDoubleDash = function (argv) {
- if (!argv._ || !argv['--'])
- return argv;
- argv._.push.apply(argv._, argv['--']);
- try {
- delete argv['--'];
- }
- catch (_err) { }
- return argv;
- };
- self._parsePositionalNumbers = function (argv) {
- const args = argv['--'] ? argv['--'] : argv._;
- for (let i = 0, arg; (arg = args[i]) !== undefined; i++) {
- if (shim.Parser.looksLikeNumber(arg) &&
- Number.isSafeInteger(Math.floor(parseFloat(`${arg}`)))) {
- args[i] = Number(arg);
- }
- }
- return argv;
- };
- self._runValidation = function runValidation(argv, aliases, positionalMap, parseErrors, isDefaultCommand = false) {
- if (parseErrors)
- throw new YError(parseErrors.message);
- validation.nonOptionCount(argv);
- validation.requiredArguments(argv);
- let failedStrictCommands = false;
- if (strictCommands) {
- failedStrictCommands = validation.unknownCommands(argv);
- }
- if (strict && !failedStrictCommands) {
- validation.unknownArguments(argv, aliases, positionalMap, isDefaultCommand);
- }
- else if (strictOptions) {
- validation.unknownArguments(argv, aliases, {}, false, false);
- }
- validation.customChecks(argv, aliases);
- validation.limitedChoices(argv);
- validation.implications(argv);
- validation.conflicting(argv);
- };
- function guessLocale() {
- if (!detectLocale)
- return;
- const locale = shim.getEnv('LC_ALL') ||
- shim.getEnv('LC_MESSAGES') ||
- shim.getEnv('LANG') ||
- shim.getEnv('LANGUAGE') ||
- 'en_US';
- self.locale(locale.replace(/[.:].*/, ''));
- }
- self.help();
- self.version();
- return self;
-}
-export const rebase = (base, dir) => shim.path.relative(base, dir);
-export function isYargsInstance(y) {
- return !!y && typeof y._parseArgs === 'function';
-}
diff --git a/includes/search/node_modules/yargs/build/lib/yerror.js b/includes/search/node_modules/yargs/build/lib/yerror.js
deleted file mode 100644
index 4cfef75..0000000
--- a/includes/search/node_modules/yargs/build/lib/yerror.js
+++ /dev/null
@@ -1,7 +0,0 @@
-export class YError extends Error {
- constructor(msg) {
- super(msg || 'yargs error');
- this.name = 'YError';
- Error.captureStackTrace(this, YError);
- }
-}
diff --git a/includes/search/node_modules/yargs/helpers/helpers.mjs b/includes/search/node_modules/yargs/helpers/helpers.mjs
deleted file mode 100644
index 3f96b3d..0000000
--- a/includes/search/node_modules/yargs/helpers/helpers.mjs
+++ /dev/null
@@ -1,10 +0,0 @@
-import {applyExtends as _applyExtends} from '../build/lib/utils/apply-extends.js';
-import {hideBin} from '../build/lib/utils/process-argv.js';
-import Parser from 'yargs-parser';
-import shim from '../lib/platform-shims/esm.mjs';
-
-const applyExtends = (config, cwd, mergeExtends) => {
- return _applyExtends(config, cwd, mergeExtends, shim);
-};
-
-export {applyExtends, hideBin, Parser};
diff --git a/includes/search/node_modules/yargs/helpers/index.js b/includes/search/node_modules/yargs/helpers/index.js
deleted file mode 100644
index 8ab79a3..0000000
--- a/includes/search/node_modules/yargs/helpers/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const {
- applyExtends,
- cjsPlatformShim,
- Parser,
- processArgv,
-} = require('../build/index.cjs');
-
-module.exports = {
- applyExtends: (config, cwd, mergeExtends) => {
- return applyExtends(config, cwd, mergeExtends, cjsPlatformShim);
- },
- hideBin: processArgv.hideBin,
- Parser,
-};
diff --git a/includes/search/node_modules/yargs/helpers/package.json b/includes/search/node_modules/yargs/helpers/package.json
deleted file mode 100644
index 5bbefff..0000000
--- a/includes/search/node_modules/yargs/helpers/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "type": "commonjs"
-}
diff --git a/includes/search/node_modules/yargs/index.cjs b/includes/search/node_modules/yargs/index.cjs
deleted file mode 100644
index 7ac4d35..0000000
--- a/includes/search/node_modules/yargs/index.cjs
+++ /dev/null
@@ -1,39 +0,0 @@
-'use strict';
-// classic singleton yargs API, to use yargs
-// without running as a singleton do:
-// require('yargs/yargs')(process.argv.slice(2))
-const {Yargs, processArgv} = require('./build/index.cjs');
-
-Argv(processArgv.hideBin(process.argv));
-
-module.exports = Argv;
-
-function Argv(processArgs, cwd) {
- const argv = Yargs(processArgs, cwd, require);
- singletonify(argv);
- return argv;
-}
-
-/* Hack an instance of Argv with process.argv into Argv
- so people can do
- require('yargs')(['--beeble=1','-z','zizzle']).argv
- to parse a list of args and
- require('yargs').argv
- to get a parsed version of process.argv.
-*/
-function singletonify(inst) {
- Object.keys(inst).forEach(key => {
- if (key === 'argv') {
- Argv.__defineGetter__(key, inst.__lookupGetter__(key));
- } else if (typeof inst[key] === 'function') {
- Argv[key] = inst[key].bind(inst);
- } else {
- Argv.__defineGetter__('$0', () => {
- return inst.$0;
- });
- Argv.__defineGetter__('parsed', () => {
- return inst.parsed;
- });
- }
- });
-}
diff --git a/includes/search/node_modules/yargs/index.mjs b/includes/search/node_modules/yargs/index.mjs
deleted file mode 100644
index 23d9080..0000000
--- a/includes/search/node_modules/yargs/index.mjs
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-
-// Bootstraps yargs for ESM:
-import esmPlatformShim from './lib/platform-shims/esm.mjs';
-import {YargsWithShim} from './build/lib/yargs-factory.js';
-
-const Yargs = YargsWithShim(esmPlatformShim);
-export default Yargs;
diff --git a/includes/search/node_modules/yargs/lib/platform-shims/browser.mjs b/includes/search/node_modules/yargs/lib/platform-shims/browser.mjs
deleted file mode 100644
index 5740a0f..0000000
--- a/includes/search/node_modules/yargs/lib/platform-shims/browser.mjs
+++ /dev/null
@@ -1,92 +0,0 @@
-'use strict';
-
-import cliui from 'https://unpkg.com/cliui@7.0.1/index.mjs'; // eslint-disable-line
-import Parser from 'https://unpkg.com/yargs-parser@19.0.0/browser.js'; // eslint-disable-line
-import {getProcessArgvBin} from '../../build/lib/utils/process-argv.js';
-import {YError} from '../../build/lib/yerror.js';
-
-const REQUIRE_ERROR = 'require is not supported in browser';
-const REQUIRE_DIRECTORY_ERROR =
- 'loading a directory of commands is not supported in browser';
-
-export default {
- assert: {
- notStrictEqual: (a, b) => {
- // noop.
- },
- strictEqual: (a, b) => {
- // noop.
- },
- },
- cliui,
- findUp: () => undefined,
- getEnv: key => {
- // There is no environment in browser:
- return undefined;
- },
- inspect: console.log,
- getCallerFile: () => {
- throw new YError(REQUIRE_DIRECTORY_ERROR);
- },
- getProcessArgvBin,
- mainFilename: 'yargs',
- Parser,
- path: {
- basename: str => str,
- dirname: str => str,
- extname: str => str,
- relative: str => str,
- },
- process: {
- argv: () => [],
- cwd: () => '',
- execPath: () => '',
- // exit is noop browser:
- exit: () => {},
- nextTick: cb => {
- window.setTimeout(cb, 1);
- },
- stdColumns: 80,
- },
- readFileSync: () => {
- return '';
- },
- require: () => {
- throw new YError(REQUIRE_ERROR);
- },
- requireDirectory: () => {
- throw new YError(REQUIRE_DIRECTORY_ERROR);
- },
- stringWidth: str => {
- return [...str].length;
- },
- // TODO: replace this with y18n once it's ported to ESM:
- y18n: {
- __: (...str) => {
- if (str.length === 0) return '';
- const args = str.slice(1);
- return sprintf(str[0], ...args);
- },
- __n: (str1, str2, count, ...args) => {
- if (count === 1) {
- return sprintf(str1, ...args);
- } else {
- return sprintf(str2, ...args);
- }
- },
- getLocale: () => {
- return 'en_US';
- },
- setLocale: () => {},
- updateLocale: () => {},
- },
-};
-
-function sprintf(_str, ...args) {
- let str = '';
- const split = _str.split('%s');
- split.forEach((token, i) => {
- str += `${token}${split[i + 1] !== undefined && args[i] ? args[i] : ''}`;
- });
- return str;
-}
diff --git a/includes/search/node_modules/yargs/lib/platform-shims/esm.mjs b/includes/search/node_modules/yargs/lib/platform-shims/esm.mjs
deleted file mode 100644
index bc04791..0000000
--- a/includes/search/node_modules/yargs/lib/platform-shims/esm.mjs
+++ /dev/null
@@ -1,67 +0,0 @@
-'use strict'
-
-import { notStrictEqual, strictEqual } from 'assert'
-import cliui from 'cliui'
-import escalade from 'escalade/sync'
-import { format, inspect } from 'util'
-import { readFileSync } from 'fs'
-import { fileURLToPath } from 'url';
-import Parser from 'yargs-parser'
-import { basename, dirname, extname, relative, resolve } from 'path'
-import { getProcessArgvBin } from '../../build/lib/utils/process-argv.js'
-import { YError } from '../../build/lib/yerror.js'
-import y18n from 'y18n'
-
-const REQUIRE_ERROR = 'require is not supported by ESM'
-const REQUIRE_DIRECTORY_ERROR = 'loading a directory of commands is not supported yet for ESM'
-
-const mainFilename = fileURLToPath(import.meta.url).split('node_modules')[0]
-const __dirname = fileURLToPath(import.meta.url)
-
-export default {
- assert: {
- notStrictEqual,
- strictEqual
- },
- cliui,
- findUp: escalade,
- getEnv: (key) => {
- return process.env[key]
- },
- inspect,
- getCallerFile: () => {
- throw new YError(REQUIRE_DIRECTORY_ERROR)
- },
- getProcessArgvBin,
- mainFilename: mainFilename || process.cwd(),
- Parser,
- path: {
- basename,
- dirname,
- extname,
- relative,
- resolve
- },
- process: {
- argv: () => process.argv,
- cwd: process.cwd,
- execPath: () => process.execPath,
- exit: process.exit,
- nextTick: process.nextTick,
- stdColumns: typeof process.stdout.columns !== 'undefined' ? process.stdout.columns : null
- },
- readFileSync,
- require: () => {
- throw new YError(REQUIRE_ERROR)
- },
- requireDirectory: () => {
- throw new YError(REQUIRE_DIRECTORY_ERROR)
- },
- stringWidth: (str) => {
- return [...str].length
- },
- y18n: y18n({
- directory: resolve(__dirname, '../../../locales'),
- updateFiles: false
- })
-}
diff --git a/includes/search/node_modules/yargs/locales/be.json b/includes/search/node_modules/yargs/locales/be.json
deleted file mode 100644
index e28fa30..0000000
--- a/includes/search/node_modules/yargs/locales/be.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "Commands:": "Каманды:",
- "Options:": "Опцыі:",
- "Examples:": "Прыклады:",
- "boolean": "булевы тып",
- "count": "падлік",
- "string": "радковы тып",
- "number": "лік",
- "array": "масіў",
- "required": "неабходна",
- "default": "па змаўчанні",
- "default:": "па змаўчанні:",
- "choices:": "магчымасці:",
- "aliases:": "аліасы:",
- "generated-value": "згенераванае значэнне",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Недастаткова неапцыйных аргументаў: ёсць %s, трэба як мінімум %s",
- "other": "Недастаткова неапцыйных аргументаў: ёсць %s, трэба як мінімум %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Занадта шмат неапцыйных аргументаў: ёсць %s, максімум дапушчальна %s",
- "other": "Занадта шмат неапцыйных аргументаў: ёсць %s, максімум дапушчальна %s"
- },
- "Missing argument value: %s": {
- "one": "Не хапае значэння аргументу: %s",
- "other": "Не хапае значэнняў аргументаў: %s"
- },
- "Missing required argument: %s": {
- "one": "Не хапае неабходнага аргументу: %s",
- "other": "Не хапае неабходных аргументаў: %s"
- },
- "Unknown argument: %s": {
- "one": "Невядомы аргумент: %s",
- "other": "Невядомыя аргументы: %s"
- },
- "Invalid values:": "Несапраўдныя значэння:",
- "Argument: %s, Given: %s, Choices: %s": "Аргумент: %s, Дадзенае значэнне: %s, Магчымасці: %s",
- "Argument check failed: %s": "Праверка аргументаў не ўдалася: %s",
- "Implications failed:": "Дадзены аргумент патрабуе наступны дадатковы аргумент:",
- "Not enough arguments following: %s": "Недастаткова наступных аргументаў: %s",
- "Invalid JSON config file: %s": "Несапраўдны файл канфігурацыі JSON: %s",
- "Path to JSON config file": "Шлях да файла канфігурацыі JSON",
- "Show help": "Паказаць дапамогу",
- "Show version number": "Паказаць нумар версіі",
- "Did you mean %s?": "Вы мелі на ўвазе %s?"
-}
diff --git a/includes/search/node_modules/yargs/locales/de.json b/includes/search/node_modules/yargs/locales/de.json
deleted file mode 100644
index dc73ec3..0000000
--- a/includes/search/node_modules/yargs/locales/de.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "Commands:": "Kommandos:",
- "Options:": "Optionen:",
- "Examples:": "Beispiele:",
- "boolean": "boolean",
- "count": "Zähler",
- "string": "string",
- "number": "Zahl",
- "array": "array",
- "required": "erforderlich",
- "default": "Standard",
- "default:": "Standard:",
- "choices:": "Möglichkeiten:",
- "aliases:": "Aliase:",
- "generated-value": "Generierter-Wert",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Nicht genügend Argumente ohne Optionen: %s vorhanden, mindestens %s benötigt",
- "other": "Nicht genügend Argumente ohne Optionen: %s vorhanden, mindestens %s benötigt"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Zu viele Argumente ohne Optionen: %s vorhanden, maximal %s erlaubt",
- "other": "Zu viele Argumente ohne Optionen: %s vorhanden, maximal %s erlaubt"
- },
- "Missing argument value: %s": {
- "one": "Fehlender Argumentwert: %s",
- "other": "Fehlende Argumentwerte: %s"
- },
- "Missing required argument: %s": {
- "one": "Fehlendes Argument: %s",
- "other": "Fehlende Argumente: %s"
- },
- "Unknown argument: %s": {
- "one": "Unbekanntes Argument: %s",
- "other": "Unbekannte Argumente: %s"
- },
- "Invalid values:": "Unzulässige Werte:",
- "Argument: %s, Given: %s, Choices: %s": "Argument: %s, Gegeben: %s, Möglichkeiten: %s",
- "Argument check failed: %s": "Argumente-Check fehlgeschlagen: %s",
- "Implications failed:": "Fehlende abhängige Argumente:",
- "Not enough arguments following: %s": "Nicht genügend Argumente nach: %s",
- "Invalid JSON config file: %s": "Fehlerhafte JSON-Config Datei: %s",
- "Path to JSON config file": "Pfad zur JSON-Config Datei",
- "Show help": "Hilfe anzeigen",
- "Show version number": "Version anzeigen",
- "Did you mean %s?": "Meintest du %s?"
-}
diff --git a/includes/search/node_modules/yargs/locales/en.json b/includes/search/node_modules/yargs/locales/en.json
deleted file mode 100644
index d794947..0000000
--- a/includes/search/node_modules/yargs/locales/en.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "Commands:": "Commands:",
- "Options:": "Options:",
- "Examples:": "Examples:",
- "boolean": "boolean",
- "count": "count",
- "string": "string",
- "number": "number",
- "array": "array",
- "required": "required",
- "default": "default",
- "default:": "default:",
- "choices:": "choices:",
- "aliases:": "aliases:",
- "generated-value": "generated-value",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Not enough non-option arguments: got %s, need at least %s",
- "other": "Not enough non-option arguments: got %s, need at least %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Too many non-option arguments: got %s, maximum of %s",
- "other": "Too many non-option arguments: got %s, maximum of %s"
- },
- "Missing argument value: %s": {
- "one": "Missing argument value: %s",
- "other": "Missing argument values: %s"
- },
- "Missing required argument: %s": {
- "one": "Missing required argument: %s",
- "other": "Missing required arguments: %s"
- },
- "Unknown argument: %s": {
- "one": "Unknown argument: %s",
- "other": "Unknown arguments: %s"
- },
- "Invalid values:": "Invalid values:",
- "Argument: %s, Given: %s, Choices: %s": "Argument: %s, Given: %s, Choices: %s",
- "Argument check failed: %s": "Argument check failed: %s",
- "Implications failed:": "Missing dependent arguments:",
- "Not enough arguments following: %s": "Not enough arguments following: %s",
- "Invalid JSON config file: %s": "Invalid JSON config file: %s",
- "Path to JSON config file": "Path to JSON config file",
- "Show help": "Show help",
- "Show version number": "Show version number",
- "Did you mean %s?": "Did you mean %s?",
- "Arguments %s and %s are mutually exclusive" : "Arguments %s and %s are mutually exclusive",
- "Positionals:": "Positionals:",
- "command": "command",
- "deprecated": "deprecated",
- "deprecated: %s": "deprecated: %s"
-}
diff --git a/includes/search/node_modules/yargs/locales/es.json b/includes/search/node_modules/yargs/locales/es.json
deleted file mode 100644
index d77b461..0000000
--- a/includes/search/node_modules/yargs/locales/es.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "Commands:": "Comandos:",
- "Options:": "Opciones:",
- "Examples:": "Ejemplos:",
- "boolean": "booleano",
- "count": "cuenta",
- "string": "cadena de caracteres",
- "number": "número",
- "array": "tabla",
- "required": "requerido",
- "default": "defecto",
- "default:": "defecto:",
- "choices:": "selección:",
- "aliases:": "alias:",
- "generated-value": "valor-generado",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Hacen falta argumentos no-opcionales: Número recibido %s, necesita por lo menos %s",
- "other": "Hacen falta argumentos no-opcionales: Número recibido %s, necesita por lo menos %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Demasiados argumentos no-opcionales: Número recibido %s, máximo es %s",
- "other": "Demasiados argumentos no-opcionales: Número recibido %s, máximo es %s"
- },
- "Missing argument value: %s": {
- "one": "Falta argumento: %s",
- "other": "Faltan argumentos: %s"
- },
- "Missing required argument: %s": {
- "one": "Falta argumento requerido: %s",
- "other": "Faltan argumentos requeridos: %s"
- },
- "Unknown argument: %s": {
- "one": "Argumento desconocido: %s",
- "other": "Argumentos desconocidos: %s"
- },
- "Invalid values:": "Valores inválidos:",
- "Argument: %s, Given: %s, Choices: %s": "Argumento: %s, Recibido: %s, Seleccionados: %s",
- "Argument check failed: %s": "Verificación de argumento ha fallado: %s",
- "Implications failed:": "Implicaciones fallidas:",
- "Not enough arguments following: %s": "No hay suficientes argumentos después de: %s",
- "Invalid JSON config file: %s": "Archivo de configuración JSON inválido: %s",
- "Path to JSON config file": "Ruta al archivo de configuración JSON",
- "Show help": "Muestra ayuda",
- "Show version number": "Muestra número de versión",
- "Did you mean %s?": "Quisiste decir %s?"
-}
diff --git a/includes/search/node_modules/yargs/locales/fi.json b/includes/search/node_modules/yargs/locales/fi.json
deleted file mode 100644
index 0728c57..0000000
--- a/includes/search/node_modules/yargs/locales/fi.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "Commands:": "Komennot:",
- "Options:": "Valinnat:",
- "Examples:": "Esimerkkejä:",
- "boolean": "totuusarvo",
- "count": "lukumäärä",
- "string": "merkkijono",
- "number": "numero",
- "array": "taulukko",
- "required": "pakollinen",
- "default": "oletusarvo",
- "default:": "oletusarvo:",
- "choices:": "vaihtoehdot:",
- "aliases:": "aliakset:",
- "generated-value": "generoitu-arvo",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Liian vähän argumentteja, jotka eivät ole valintoja: annettu %s, vaaditaan vähintään %s",
- "other": "Liian vähän argumentteja, jotka eivät ole valintoja: annettu %s, vaaditaan vähintään %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Liikaa argumentteja, jotka eivät ole valintoja: annettu %s, sallitaan enintään %s",
- "other": "Liikaa argumentteja, jotka eivät ole valintoja: annettu %s, sallitaan enintään %s"
- },
- "Missing argument value: %s": {
- "one": "Argumentin arvo puuttuu: %s",
- "other": "Argumentin arvot puuttuvat: %s"
- },
- "Missing required argument: %s": {
- "one": "Pakollinen argumentti puuttuu: %s",
- "other": "Pakollisia argumentteja puuttuu: %s"
- },
- "Unknown argument: %s": {
- "one": "Tuntematon argumenttn: %s",
- "other": "Tuntemattomia argumentteja: %s"
- },
- "Invalid values:": "Virheelliset arvot:",
- "Argument: %s, Given: %s, Choices: %s": "Argumentti: %s, Annettu: %s, Vaihtoehdot: %s",
- "Argument check failed: %s": "Argumentin tarkistus epäonnistui: %s",
- "Implications failed:": "Riippuvia argumentteja puuttuu:",
- "Not enough arguments following: %s": "Argumentin perässä ei ole tarpeeksi argumentteja: %s",
- "Invalid JSON config file: %s": "Epävalidi JSON-asetustiedosto: %s",
- "Path to JSON config file": "JSON-asetustiedoston polku",
- "Show help": "Näytä ohje",
- "Show version number": "Näytä versionumero",
- "Did you mean %s?": "Tarkoititko %s?",
- "Arguments %s and %s are mutually exclusive" : "Argumentit %s ja %s eivät ole yhteensopivat",
- "Positionals:": "Sijaintiparametrit:",
- "command": "komento"
-}
diff --git a/includes/search/node_modules/yargs/locales/fr.json b/includes/search/node_modules/yargs/locales/fr.json
deleted file mode 100644
index edd743f..0000000
--- a/includes/search/node_modules/yargs/locales/fr.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "Commands:": "Commandes :",
- "Options:": "Options :",
- "Examples:": "Exemples :",
- "boolean": "booléen",
- "count": "compteur",
- "string": "chaîne de caractères",
- "number": "nombre",
- "array": "tableau",
- "required": "requis",
- "default": "défaut",
- "default:": "défaut :",
- "choices:": "choix :",
- "aliases:": "alias :",
- "generated-value": "valeur générée",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Pas assez d'arguments (hors options) : reçu %s, besoin d'au moins %s",
- "other": "Pas assez d'arguments (hors options) : reçus %s, besoin d'au moins %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Trop d'arguments (hors options) : reçu %s, maximum de %s",
- "other": "Trop d'arguments (hors options) : reçus %s, maximum de %s"
- },
- "Missing argument value: %s": {
- "one": "Argument manquant : %s",
- "other": "Arguments manquants : %s"
- },
- "Missing required argument: %s": {
- "one": "Argument requis manquant : %s",
- "other": "Arguments requis manquants : %s"
- },
- "Unknown argument: %s": {
- "one": "Argument inconnu : %s",
- "other": "Arguments inconnus : %s"
- },
- "Unknown command: %s": {
- "one": "Commande inconnue : %s",
- "other": "Commandes inconnues : %s"
- },
- "Invalid values:": "Valeurs invalides :",
- "Argument: %s, Given: %s, Choices: %s": "Argument : %s, donné : %s, choix : %s",
- "Argument check failed: %s": "Echec de la vérification de l'argument : %s",
- "Implications failed:": "Arguments dépendants manquants :",
- "Not enough arguments following: %s": "Pas assez d'arguments après : %s",
- "Invalid JSON config file: %s": "Fichier de configuration JSON invalide : %s",
- "Path to JSON config file": "Chemin du fichier de configuration JSON",
- "Show help": "Affiche l'aide",
- "Show version number": "Affiche le numéro de version",
- "Did you mean %s?": "Vouliez-vous dire %s ?",
- "Arguments %s and %s are mutually exclusive" : "Les arguments %s et %s sont mutuellement exclusifs",
- "Positionals:": "Arguments positionnels :",
- "command": "commande"
-}
diff --git a/includes/search/node_modules/yargs/locales/hi.json b/includes/search/node_modules/yargs/locales/hi.json
deleted file mode 100644
index a9de77c..0000000
--- a/includes/search/node_modules/yargs/locales/hi.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "Commands:": "आदेश:",
- "Options:": "विकल्प:",
- "Examples:": "उदाहरण:",
- "boolean": "सत्यता",
- "count": "संख्या",
- "string": "वर्णों का तार ",
- "number": "अंक",
- "array": "सरणी",
- "required": "आवश्यक",
- "default": "डिफॉल्ट",
- "default:": "डिफॉल्ट:",
- "choices:": "विकल्प:",
- "aliases:": "उपनाम:",
- "generated-value": "उत्पन्न-मूल्य",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "पर्याप्त गैर-विकल्प तर्क प्राप्त नहीं: %s प्राप्त, कम से कम %s की आवश्यकता है",
- "other": "पर्याप्त गैर-विकल्प तर्क प्राप्त नहीं: %s प्राप्त, कम से कम %s की आवश्यकता है"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "बहुत सारे गैर-विकल्प तर्क: %s प्राप्त, अधिकतम %s मान्य",
- "other": "बहुत सारे गैर-विकल्प तर्क: %s प्राप्त, अधिकतम %s मान्य"
- },
- "Missing argument value: %s": {
- "one": "कुछ तर्को के मूल्य गुम हैं: %s",
- "other": "कुछ तर्को के मूल्य गुम हैं: %s"
- },
- "Missing required argument: %s": {
- "one": "आवश्यक तर्क गुम हैं: %s",
- "other": "आवश्यक तर्क गुम हैं: %s"
- },
- "Unknown argument: %s": {
- "one": "अज्ञात तर्क प्राप्त: %s",
- "other": "अज्ञात तर्क प्राप्त: %s"
- },
- "Invalid values:": "अमान्य मूल्य:",
- "Argument: %s, Given: %s, Choices: %s": "तर्क: %s, प्राप्त: %s, विकल्प: %s",
- "Argument check failed: %s": "तर्क जांच विफल: %s",
- "Implications failed:": "दिए गए तर्क के लिए अतिरिक्त तर्क की अपेक्षा है:",
- "Not enough arguments following: %s": "निम्नलिखित के बाद पर्याप्त तर्क नहीं प्राप्त: %s",
- "Invalid JSON config file: %s": "अमान्य JSON config फाइल: %s",
- "Path to JSON config file": "JSON config फाइल का पथ",
- "Show help": "सहायता दिखाएँ",
- "Show version number": "Version संख्या दिखाएँ",
- "Did you mean %s?": "क्या आपका मतलब है %s?",
- "Arguments %s and %s are mutually exclusive" : "तर्क %s और %s परस्पर अनन्य हैं",
- "Positionals:": "स्थानीय:",
- "command": "आदेश"
-}
diff --git a/includes/search/node_modules/yargs/locales/hu.json b/includes/search/node_modules/yargs/locales/hu.json
deleted file mode 100644
index 21492d0..0000000
--- a/includes/search/node_modules/yargs/locales/hu.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "Commands:": "Parancsok:",
- "Options:": "Opciók:",
- "Examples:": "Példák:",
- "boolean": "boolean",
- "count": "számláló",
- "string": "szöveg",
- "number": "szám",
- "array": "tömb",
- "required": "kötelező",
- "default": "alapértelmezett",
- "default:": "alapértelmezett:",
- "choices:": "lehetőségek:",
- "aliases:": "aliaszok:",
- "generated-value": "generált-érték",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Nincs elég nem opcionális argumentum: %s van, legalább %s kell",
- "other": "Nincs elég nem opcionális argumentum: %s van, legalább %s kell"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Túl sok nem opciánlis argumentum van: %s van, maximum %s lehet",
- "other": "Túl sok nem opciánlis argumentum van: %s van, maximum %s lehet"
- },
- "Missing argument value: %s": {
- "one": "Hiányzó argumentum érték: %s",
- "other": "Hiányzó argumentum értékek: %s"
- },
- "Missing required argument: %s": {
- "one": "Hiányzó kötelező argumentum: %s",
- "other": "Hiányzó kötelező argumentumok: %s"
- },
- "Unknown argument: %s": {
- "one": "Ismeretlen argumentum: %s",
- "other": "Ismeretlen argumentumok: %s"
- },
- "Invalid values:": "Érvénytelen érték:",
- "Argument: %s, Given: %s, Choices: %s": "Argumentum: %s, Megadott: %s, Lehetőségek: %s",
- "Argument check failed: %s": "Argumentum ellenőrzés sikertelen: %s",
- "Implications failed:": "Implikációk sikertelenek:",
- "Not enough arguments following: %s": "Nem elég argumentum követi: %s",
- "Invalid JSON config file: %s": "Érvénytelen JSON konfigurációs file: %s",
- "Path to JSON config file": "JSON konfigurációs file helye",
- "Show help": "Súgo megjelenítése",
- "Show version number": "Verziószám megjelenítése",
- "Did you mean %s?": "Erre gondoltál %s?"
-}
diff --git a/includes/search/node_modules/yargs/locales/id.json b/includes/search/node_modules/yargs/locales/id.json
deleted file mode 100644
index 125867c..0000000
--- a/includes/search/node_modules/yargs/locales/id.json
+++ /dev/null
@@ -1,50 +0,0 @@
-
-{
- "Commands:": "Perintah:",
- "Options:": "Pilihan:",
- "Examples:": "Contoh:",
- "boolean": "boolean",
- "count": "jumlah",
- "number": "nomor",
- "string": "string",
- "array": "larik",
- "required": "diperlukan",
- "default": "bawaan",
- "default:": "bawaan:",
- "aliases:": "istilah lain:",
- "choices:": "pilihan:",
- "generated-value": "nilai-yang-dihasilkan",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Argumen wajib kurang: hanya %s, minimal %s",
- "other": "Argumen wajib kurang: hanya %s, minimal %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Terlalu banyak argumen wajib: ada %s, maksimal %s",
- "other": "Terlalu banyak argumen wajib: ada %s, maksimal %s"
- },
- "Missing argument value: %s": {
- "one": "Kurang argumen: %s",
- "other": "Kurang argumen: %s"
- },
- "Missing required argument: %s": {
- "one": "Kurang argumen wajib: %s",
- "other": "Kurang argumen wajib: %s"
- },
- "Unknown argument: %s": {
- "one": "Argumen tak diketahui: %s",
- "other": "Argumen tak diketahui: %s"
- },
- "Invalid values:": "Nilai-nilai tidak valid:",
- "Argument: %s, Given: %s, Choices: %s": "Argumen: %s, Diberikan: %s, Pilihan: %s",
- "Argument check failed: %s": "Pemeriksaan argument gagal: %s",
- "Implications failed:": "Implikasi gagal:",
- "Not enough arguments following: %s": "Kurang argumen untuk: %s",
- "Invalid JSON config file: %s": "Berkas konfigurasi JSON tidak valid: %s",
- "Path to JSON config file": "Alamat berkas konfigurasi JSON",
- "Show help": "Lihat bantuan",
- "Show version number": "Lihat nomor versi",
- "Did you mean %s?": "Maksud Anda: %s?",
- "Arguments %s and %s are mutually exclusive" : "Argumen %s dan %s saling eksklusif",
- "Positionals:": "Posisional-posisional:",
- "command": "perintah"
-}
diff --git a/includes/search/node_modules/yargs/locales/it.json b/includes/search/node_modules/yargs/locales/it.json
deleted file mode 100644
index fde5756..0000000
--- a/includes/search/node_modules/yargs/locales/it.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "Commands:": "Comandi:",
- "Options:": "Opzioni:",
- "Examples:": "Esempi:",
- "boolean": "booleano",
- "count": "contatore",
- "string": "stringa",
- "number": "numero",
- "array": "vettore",
- "required": "richiesto",
- "default": "predefinito",
- "default:": "predefinito:",
- "choices:": "scelte:",
- "aliases:": "alias:",
- "generated-value": "valore generato",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Numero insufficiente di argomenti non opzione: inseriti %s, richiesti almeno %s",
- "other": "Numero insufficiente di argomenti non opzione: inseriti %s, richiesti almeno %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Troppi argomenti non opzione: inseriti %s, massimo possibile %s",
- "other": "Troppi argomenti non opzione: inseriti %s, massimo possibile %s"
- },
- "Missing argument value: %s": {
- "one": "Argomento mancante: %s",
- "other": "Argomenti mancanti: %s"
- },
- "Missing required argument: %s": {
- "one": "Argomento richiesto mancante: %s",
- "other": "Argomenti richiesti mancanti: %s"
- },
- "Unknown argument: %s": {
- "one": "Argomento sconosciuto: %s",
- "other": "Argomenti sconosciuti: %s"
- },
- "Invalid values:": "Valori non validi:",
- "Argument: %s, Given: %s, Choices: %s": "Argomento: %s, Richiesto: %s, Scelte: %s",
- "Argument check failed: %s": "Controllo dell'argomento fallito: %s",
- "Implications failed:": "Argomenti dipendenti mancanti:",
- "Not enough arguments following: %s": "Argomenti insufficienti dopo: %s",
- "Invalid JSON config file: %s": "File di configurazione JSON non valido: %s",
- "Path to JSON config file": "Percorso del file di configurazione JSON",
- "Show help": "Mostra la schermata di aiuto",
- "Show version number": "Mostra il numero di versione",
- "Did you mean %s?": "Intendi forse %s?"
-}
diff --git a/includes/search/node_modules/yargs/locales/ja.json b/includes/search/node_modules/yargs/locales/ja.json
deleted file mode 100644
index 3954ae6..0000000
--- a/includes/search/node_modules/yargs/locales/ja.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "Commands:": "コマンド:",
- "Options:": "オプション:",
- "Examples:": "例:",
- "boolean": "真偽",
- "count": "カウント",
- "string": "文字列",
- "number": "数値",
- "array": "配列",
- "required": "必須",
- "default": "デフォルト",
- "default:": "デフォルト:",
- "choices:": "選択してください:",
- "aliases:": "エイリアス:",
- "generated-value": "生成された値",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "オプションではない引数が %s 個では不足しています。少なくとも %s 個の引数が必要です:",
- "other": "オプションではない引数が %s 個では不足しています。少なくとも %s 個の引数が必要です:"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "オプションではない引数が %s 個では多すぎます。最大で %s 個までです:",
- "other": "オプションではない引数が %s 個では多すぎます。最大で %s 個までです:"
- },
- "Missing argument value: %s": {
- "one": "引数の値が見つかりません: %s",
- "other": "引数の値が見つかりません: %s"
- },
- "Missing required argument: %s": {
- "one": "必須の引数が見つかりません: %s",
- "other": "必須の引数が見つかりません: %s"
- },
- "Unknown argument: %s": {
- "one": "未知の引数です: %s",
- "other": "未知の引数です: %s"
- },
- "Invalid values:": "不正な値です:",
- "Argument: %s, Given: %s, Choices: %s": "引数は %s です。与えられた値: %s, 選択してください: %s",
- "Argument check failed: %s": "引数のチェックに失敗しました: %s",
- "Implications failed:": "オプションの組み合わせで不正が生じました:",
- "Not enough arguments following: %s": "次の引数が不足しています。: %s",
- "Invalid JSON config file: %s": "JSONの設定ファイルが不正です: %s",
- "Path to JSON config file": "JSONの設定ファイルまでのpath",
- "Show help": "ヘルプを表示",
- "Show version number": "バージョンを表示",
- "Did you mean %s?": "もしかして %s?",
- "Arguments %s and %s are mutually exclusive" : "引数 %s と %s は同時に指定できません",
- "Positionals:": "位置:",
- "command": "コマンド",
- "deprecated": "非推奨",
- "deprecated: %s": "非推奨: %s"
-}
diff --git a/includes/search/node_modules/yargs/locales/ko.json b/includes/search/node_modules/yargs/locales/ko.json
deleted file mode 100644
index e3187ea..0000000
--- a/includes/search/node_modules/yargs/locales/ko.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "Commands:": "명령:",
- "Options:": "옵션:",
- "Examples:": "예시:",
- "boolean": "여부",
- "count": "개수",
- "string": "문자열",
- "number": "숫자",
- "array": "배열",
- "required": "필수",
- "default": "기본",
- "default:": "기본:",
- "choices:": "선택:",
- "aliases:": "별칭:",
- "generated-value": "생성된 값",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "옵션이 아닌 인자가 충분치 않습니다: %s개를 받았지만, 적어도 %s개는 필요합니다",
- "other": "옵션이 아닌 인자가 충분치 않습니다: %s개를 받았지만, 적어도 %s개는 필요합니다"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "옵션이 아닌 인자가 너무 많습니다: %s개를 받았지만, %s개 이하여야 합니다",
- "other": "옵션이 아닌 인자가 너무 많습니다: %s개를 받았지만, %s개 이하여야 합니다"
- },
- "Missing argument value: %s": {
- "one": "인자값을 받지 못했습니다: %s",
- "other": "인자값들을 받지 못했습니다: %s"
- },
- "Missing required argument: %s": {
- "one": "필수 인자를 받지 못했습니다: %s",
- "other": "필수 인자들을 받지 못했습니다: %s"
- },
- "Unknown argument: %s": {
- "one": "알 수 없는 인자입니다: %s",
- "other": "알 수 없는 인자들입니다: %s"
- },
- "Invalid values:": "잘못된 값입니다:",
- "Argument: %s, Given: %s, Choices: %s": "인자: %s, 입력받은 값: %s, 선택지: %s",
- "Argument check failed: %s": "유효하지 않은 인자입니다: %s",
- "Implications failed:": "옵션의 조합이 잘못되었습니다:",
- "Not enough arguments following: %s": "인자가 충분하게 주어지지 않았습니다: %s",
- "Invalid JSON config file: %s": "유효하지 않은 JSON 설정파일입니다: %s",
- "Path to JSON config file": "JSON 설정파일 경로",
- "Show help": "도움말을 보여줍니다",
- "Show version number": "버전 넘버를 보여줍니다",
- "Did you mean %s?": "찾고계신게 %s입니까?",
- "Arguments %s and %s are mutually exclusive" : "%s와 %s 인자는 같이 사용될 수 없습니다",
- "Positionals:": "위치:",
- "command": "명령"
-}
diff --git a/includes/search/node_modules/yargs/locales/nb.json b/includes/search/node_modules/yargs/locales/nb.json
deleted file mode 100644
index 6f410ed..0000000
--- a/includes/search/node_modules/yargs/locales/nb.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "Commands:": "Kommandoer:",
- "Options:": "Alternativer:",
- "Examples:": "Eksempler:",
- "boolean": "boolsk",
- "count": "antall",
- "string": "streng",
- "number": "nummer",
- "array": "matrise",
- "required": "obligatorisk",
- "default": "standard",
- "default:": "standard:",
- "choices:": "valg:",
- "generated-value": "generert-verdi",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Ikke nok ikke-alternativ argumenter: fikk %s, trenger minst %s",
- "other": "Ikke nok ikke-alternativ argumenter: fikk %s, trenger minst %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "For mange ikke-alternativ argumenter: fikk %s, maksimum %s",
- "other": "For mange ikke-alternativ argumenter: fikk %s, maksimum %s"
- },
- "Missing argument value: %s": {
- "one": "Mangler argument verdi: %s",
- "other": "Mangler argument verdier: %s"
- },
- "Missing required argument: %s": {
- "one": "Mangler obligatorisk argument: %s",
- "other": "Mangler obligatoriske argumenter: %s"
- },
- "Unknown argument: %s": {
- "one": "Ukjent argument: %s",
- "other": "Ukjente argumenter: %s"
- },
- "Invalid values:": "Ugyldige verdier:",
- "Argument: %s, Given: %s, Choices: %s": "Argument: %s, Gitt: %s, Valg: %s",
- "Argument check failed: %s": "Argumentsjekk mislyktes: %s",
- "Implications failed:": "Konsekvensene mislyktes:",
- "Not enough arguments following: %s": "Ikke nok følgende argumenter: %s",
- "Invalid JSON config file: %s": "Ugyldig JSON konfigurasjonsfil: %s",
- "Path to JSON config file": "Bane til JSON konfigurasjonsfil",
- "Show help": "Vis hjelp",
- "Show version number": "Vis versjonsnummer"
-}
diff --git a/includes/search/node_modules/yargs/locales/nl.json b/includes/search/node_modules/yargs/locales/nl.json
deleted file mode 100644
index 9ff95c5..0000000
--- a/includes/search/node_modules/yargs/locales/nl.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "Commands:": "Commando's:",
- "Options:": "Opties:",
- "Examples:": "Voorbeelden:",
- "boolean": "booleaans",
- "count": "aantal",
- "string": "string",
- "number": "getal",
- "array": "lijst",
- "required": "verplicht",
- "default": "standaard",
- "default:": "standaard:",
- "choices:": "keuzes:",
- "aliases:": "aliassen:",
- "generated-value": "gegenereerde waarde",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Niet genoeg niet-optie-argumenten: %s gekregen, minstens %s nodig",
- "other": "Niet genoeg niet-optie-argumenten: %s gekregen, minstens %s nodig"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Te veel niet-optie-argumenten: %s gekregen, maximum is %s",
- "other": "Te veel niet-optie-argumenten: %s gekregen, maximum is %s"
- },
- "Missing argument value: %s": {
- "one": "Missende argumentwaarde: %s",
- "other": "Missende argumentwaarden: %s"
- },
- "Missing required argument: %s": {
- "one": "Missend verplicht argument: %s",
- "other": "Missende verplichte argumenten: %s"
- },
- "Unknown argument: %s": {
- "one": "Onbekend argument: %s",
- "other": "Onbekende argumenten: %s"
- },
- "Invalid values:": "Ongeldige waarden:",
- "Argument: %s, Given: %s, Choices: %s": "Argument: %s, Gegeven: %s, Keuzes: %s",
- "Argument check failed: %s": "Argumentcontrole mislukt: %s",
- "Implications failed:": "Ontbrekende afhankelijke argumenten:",
- "Not enough arguments following: %s": "Niet genoeg argumenten na: %s",
- "Invalid JSON config file: %s": "Ongeldig JSON-config-bestand: %s",
- "Path to JSON config file": "Pad naar JSON-config-bestand",
- "Show help": "Toon help",
- "Show version number": "Toon versienummer",
- "Did you mean %s?": "Bedoelde u misschien %s?",
- "Arguments %s and %s are mutually exclusive": "Argumenten %s en %s kunnen niet tegelijk gebruikt worden",
- "Positionals:": "Positie-afhankelijke argumenten",
- "command": "commando"
-}
diff --git a/includes/search/node_modules/yargs/locales/nn.json b/includes/search/node_modules/yargs/locales/nn.json
deleted file mode 100644
index 24479ac..0000000
--- a/includes/search/node_modules/yargs/locales/nn.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "Commands:": "Kommandoar:",
- "Options:": "Alternativ:",
- "Examples:": "Døme:",
- "boolean": "boolsk",
- "count": "mengd",
- "string": "streng",
- "number": "nummer",
- "array": "matrise",
- "required": "obligatorisk",
- "default": "standard",
- "default:": "standard:",
- "choices:": "val:",
- "generated-value": "generert-verdi",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Ikkje nok ikkje-alternativ argument: fekk %s, treng minst %s",
- "other": "Ikkje nok ikkje-alternativ argument: fekk %s, treng minst %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "For mange ikkje-alternativ argument: fekk %s, maksimum %s",
- "other": "For mange ikkje-alternativ argument: fekk %s, maksimum %s"
- },
- "Missing argument value: %s": {
- "one": "Manglar argumentverdi: %s",
- "other": "Manglar argumentverdiar: %s"
- },
- "Missing required argument: %s": {
- "one": "Manglar obligatorisk argument: %s",
- "other": "Manglar obligatoriske argument: %s"
- },
- "Unknown argument: %s": {
- "one": "Ukjent argument: %s",
- "other": "Ukjende argument: %s"
- },
- "Invalid values:": "Ugyldige verdiar:",
- "Argument: %s, Given: %s, Choices: %s": "Argument: %s, Gjeve: %s, Val: %s",
- "Argument check failed: %s": "Argumentsjekk mislukkast: %s",
- "Implications failed:": "Konsekvensane mislukkast:",
- "Not enough arguments following: %s": "Ikkje nok fylgjande argument: %s",
- "Invalid JSON config file: %s": "Ugyldig JSON konfigurasjonsfil: %s",
- "Path to JSON config file": "Bane til JSON konfigurasjonsfil",
- "Show help": "Vis hjelp",
- "Show version number": "Vis versjonsnummer"
-}
diff --git a/includes/search/node_modules/yargs/locales/pirate.json b/includes/search/node_modules/yargs/locales/pirate.json
deleted file mode 100644
index dcb5cb7..0000000
--- a/includes/search/node_modules/yargs/locales/pirate.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Commands:": "Choose yer command:",
- "Options:": "Options for me hearties!",
- "Examples:": "Ex. marks the spot:",
- "required": "requi-yar-ed",
- "Missing required argument: %s": {
- "one": "Ye be havin' to set the followin' argument land lubber: %s",
- "other": "Ye be havin' to set the followin' arguments land lubber: %s"
- },
- "Show help": "Parlay this here code of conduct",
- "Show version number": "'Tis the version ye be askin' fer",
- "Arguments %s and %s are mutually exclusive" : "Yon scurvy dogs %s and %s be as bad as rum and a prudish wench"
-}
diff --git a/includes/search/node_modules/yargs/locales/pl.json b/includes/search/node_modules/yargs/locales/pl.json
deleted file mode 100644
index a41d4bd..0000000
--- a/includes/search/node_modules/yargs/locales/pl.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "Commands:": "Polecenia:",
- "Options:": "Opcje:",
- "Examples:": "Przykłady:",
- "boolean": "boolean",
- "count": "ilość",
- "string": "ciąg znaków",
- "number": "liczba",
- "array": "tablica",
- "required": "wymagany",
- "default": "domyślny",
- "default:": "domyślny:",
- "choices:": "dostępne:",
- "aliases:": "aliasy:",
- "generated-value": "wygenerowana-wartość",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Niewystarczająca ilość argumentów: otrzymano %s, wymagane co najmniej %s",
- "other": "Niewystarczająca ilość argumentów: otrzymano %s, wymagane co najmniej %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Zbyt duża ilość argumentów: otrzymano %s, wymagane co najwyżej %s",
- "other": "Zbyt duża ilość argumentów: otrzymano %s, wymagane co najwyżej %s"
- },
- "Missing argument value: %s": {
- "one": "Brak wartości dla argumentu: %s",
- "other": "Brak wartości dla argumentów: %s"
- },
- "Missing required argument: %s": {
- "one": "Brak wymaganego argumentu: %s",
- "other": "Brak wymaganych argumentów: %s"
- },
- "Unknown argument: %s": {
- "one": "Nieznany argument: %s",
- "other": "Nieznane argumenty: %s"
- },
- "Invalid values:": "Nieprawidłowe wartości:",
- "Argument: %s, Given: %s, Choices: %s": "Argument: %s, Otrzymano: %s, Dostępne: %s",
- "Argument check failed: %s": "Weryfikacja argumentów nie powiodła się: %s",
- "Implications failed:": "Założenia nie zostały spełnione:",
- "Not enough arguments following: %s": "Niewystarczająca ilość argumentów następujących po: %s",
- "Invalid JSON config file: %s": "Nieprawidłowy plik konfiguracyjny JSON: %s",
- "Path to JSON config file": "Ścieżka do pliku konfiguracyjnego JSON",
- "Show help": "Pokaż pomoc",
- "Show version number": "Pokaż numer wersji",
- "Did you mean %s?": "Czy chodziło Ci o %s?",
- "Arguments %s and %s are mutually exclusive": "Argumenty %s i %s wzajemnie się wykluczają",
- "Positionals:": "Pozycyjne:",
- "command": "polecenie"
-}
diff --git a/includes/search/node_modules/yargs/locales/pt.json b/includes/search/node_modules/yargs/locales/pt.json
deleted file mode 100644
index 0c8ac99..0000000
--- a/includes/search/node_modules/yargs/locales/pt.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "Commands:": "Comandos:",
- "Options:": "Opções:",
- "Examples:": "Exemplos:",
- "boolean": "boolean",
- "count": "contagem",
- "string": "cadeia de caracteres",
- "number": "número",
- "array": "arranjo",
- "required": "requerido",
- "default": "padrão",
- "default:": "padrão:",
- "choices:": "escolhas:",
- "generated-value": "valor-gerado",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Argumentos insuficientes não opcionais: Argumento %s, necessário pelo menos %s",
- "other": "Argumentos insuficientes não opcionais: Argumento %s, necessário pelo menos %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Excesso de argumentos não opcionais: recebido %s, máximo de %s",
- "other": "Excesso de argumentos não opcionais: recebido %s, máximo de %s"
- },
- "Missing argument value: %s": {
- "one": "Falta valor de argumento: %s",
- "other": "Falta valores de argumento: %s"
- },
- "Missing required argument: %s": {
- "one": "Falta argumento obrigatório: %s",
- "other": "Faltando argumentos obrigatórios: %s"
- },
- "Unknown argument: %s": {
- "one": "Argumento desconhecido: %s",
- "other": "Argumentos desconhecidos: %s"
- },
- "Invalid values:": "Valores inválidos:",
- "Argument: %s, Given: %s, Choices: %s": "Argumento: %s, Dado: %s, Escolhas: %s",
- "Argument check failed: %s": "Verificação de argumento falhou: %s",
- "Implications failed:": "Implicações falharam:",
- "Not enough arguments following: %s": "Insuficientes argumentos a seguir: %s",
- "Invalid JSON config file: %s": "Arquivo de configuração em JSON esta inválido: %s",
- "Path to JSON config file": "Caminho para o arquivo de configuração em JSON",
- "Show help": "Mostra ajuda",
- "Show version number": "Mostra número de versão",
- "Arguments %s and %s are mutually exclusive" : "Argumentos %s e %s são mutualmente exclusivos"
-}
diff --git a/includes/search/node_modules/yargs/locales/pt_BR.json b/includes/search/node_modules/yargs/locales/pt_BR.json
deleted file mode 100644
index eae1ec6..0000000
--- a/includes/search/node_modules/yargs/locales/pt_BR.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "Commands:": "Comandos:",
- "Options:": "Opções:",
- "Examples:": "Exemplos:",
- "boolean": "booleano",
- "count": "contagem",
- "string": "string",
- "number": "número",
- "array": "array",
- "required": "obrigatório",
- "default:": "padrão:",
- "choices:": "opções:",
- "aliases:": "sinônimos:",
- "generated-value": "valor-gerado",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Argumentos insuficientes: Argumento %s, necessário pelo menos %s",
- "other": "Argumentos insuficientes: Argumento %s, necessário pelo menos %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Excesso de argumentos: recebido %s, máximo de %s",
- "other": "Excesso de argumentos: recebido %s, máximo de %s"
- },
- "Missing argument value: %s": {
- "one": "Falta valor de argumento: %s",
- "other": "Falta valores de argumento: %s"
- },
- "Missing required argument: %s": {
- "one": "Falta argumento obrigatório: %s",
- "other": "Faltando argumentos obrigatórios: %s"
- },
- "Unknown argument: %s": {
- "one": "Argumento desconhecido: %s",
- "other": "Argumentos desconhecidos: %s"
- },
- "Invalid values:": "Valores inválidos:",
- "Argument: %s, Given: %s, Choices: %s": "Argumento: %s, Dado: %s, Opções: %s",
- "Argument check failed: %s": "Verificação de argumento falhou: %s",
- "Implications failed:": "Implicações falharam:",
- "Not enough arguments following: %s": "Argumentos insuficientes a seguir: %s",
- "Invalid JSON config file: %s": "Arquivo JSON de configuração inválido: %s",
- "Path to JSON config file": "Caminho para o arquivo JSON de configuração",
- "Show help": "Exibe ajuda",
- "Show version number": "Exibe a versão",
- "Did you mean %s?": "Você quis dizer %s?",
- "Arguments %s and %s are mutually exclusive" : "Argumentos %s e %s são mutualmente exclusivos",
- "Positionals:": "Posicionais:",
- "command": "comando"
-}
diff --git a/includes/search/node_modules/yargs/locales/ru.json b/includes/search/node_modules/yargs/locales/ru.json
deleted file mode 100644
index 5f7f768..0000000
--- a/includes/search/node_modules/yargs/locales/ru.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "Commands:": "Команды:",
- "Options:": "Опции:",
- "Examples:": "Примеры:",
- "boolean": "булевый тип",
- "count": "подсчет",
- "string": "строковой тип",
- "number": "число",
- "array": "массив",
- "required": "необходимо",
- "default": "по умолчанию",
- "default:": "по умолчанию:",
- "choices:": "возможности:",
- "aliases:": "алиасы:",
- "generated-value": "генерированное значение",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Недостаточно неопционных аргументов: есть %s, нужно как минимум %s",
- "other": "Недостаточно неопционных аргументов: есть %s, нужно как минимум %s"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Слишком много неопционных аргументов: есть %s, максимум допустимо %s",
- "other": "Слишком много неопционных аргументов: есть %s, максимум допустимо %s"
- },
- "Missing argument value: %s": {
- "one": "Не хватает значения аргумента: %s",
- "other": "Не хватает значений аргументов: %s"
- },
- "Missing required argument: %s": {
- "one": "Не хватает необходимого аргумента: %s",
- "other": "Не хватает необходимых аргументов: %s"
- },
- "Unknown argument: %s": {
- "one": "Неизвестный аргумент: %s",
- "other": "Неизвестные аргументы: %s"
- },
- "Invalid values:": "Недействительные значения:",
- "Argument: %s, Given: %s, Choices: %s": "Аргумент: %s, Данное значение: %s, Возможности: %s",
- "Argument check failed: %s": "Проверка аргументов не удалась: %s",
- "Implications failed:": "Данный аргумент требует следующий дополнительный аргумент:",
- "Not enough arguments following: %s": "Недостаточно следующих аргументов: %s",
- "Invalid JSON config file: %s": "Недействительный файл конфигурации JSON: %s",
- "Path to JSON config file": "Путь к файлу конфигурации JSON",
- "Show help": "Показать помощь",
- "Show version number": "Показать номер версии",
- "Did you mean %s?": "Вы имели в виду %s?"
-}
diff --git a/includes/search/node_modules/yargs/locales/th.json b/includes/search/node_modules/yargs/locales/th.json
deleted file mode 100644
index 33b048e..0000000
--- a/includes/search/node_modules/yargs/locales/th.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "Commands:": "คอมมาน",
- "Options:": "ออฟชั่น",
- "Examples:": "ตัวอย่าง",
- "boolean": "บูลีน",
- "count": "นับ",
- "string": "สตริง",
- "number": "ตัวเลข",
- "array": "อาเรย์",
- "required": "จำเป็น",
- "default": "ค่าเริ่มต้",
- "default:": "ค่าเริ่มต้น",
- "choices:": "ตัวเลือก",
- "aliases:": "เอเลียส",
- "generated-value": "ค่าที่ถูกสร้างขึ้น",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "ใส่อาร์กิวเมนต์ไม่ครบตามจำนวนที่กำหนด: ใส่ค่ามาจำนวน %s ค่า, แต่ต้องการอย่างน้อย %s ค่า",
- "other": "ใส่อาร์กิวเมนต์ไม่ครบตามจำนวนที่กำหนด: ใส่ค่ามาจำนวน %s ค่า, แต่ต้องการอย่างน้อย %s ค่า"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "ใส่อาร์กิวเมนต์เกินจำนวนที่กำหนด: ใส่ค่ามาจำนวน %s ค่า, แต่ต้องการมากที่สุด %s ค่า",
- "other": "ใส่อาร์กิวเมนต์เกินจำนวนที่กำหนด: ใส่ค่ามาจำนวน %s ค่า, แต่ต้องการมากที่สุด %s ค่า"
- },
- "Missing argument value: %s": {
- "one": "ค่าอาร์กิวเมนต์ที่ขาดไป: %s",
- "other": "ค่าอาร์กิวเมนต์ที่ขาดไป: %s"
- },
- "Missing required argument: %s": {
- "one": "อาร์กิวเมนต์จำเป็นที่ขาดไป: %s",
- "other": "อาร์กิวเมนต์จำเป็นที่ขาดไป: %s"
- },
- "Unknown argument: %s": {
- "one": "อาร์กิวเมนต์ที่ไม่รู้จัก: %s",
- "other": "อาร์กิวเมนต์ที่ไม่รู้จัก: %s"
- },
- "Invalid values:": "ค่าไม่ถูกต้อง:",
- "Argument: %s, Given: %s, Choices: %s": "อาร์กิวเมนต์: %s, ได้รับ: %s, ตัวเลือก: %s",
- "Argument check failed: %s": "ตรวจสอบพบอาร์กิวเมนต์ที่ไม่ถูกต้อง: %s",
- "Implications failed:": "Implications ไม่สำเร็จ:",
- "Not enough arguments following: %s": "ใส่อาร์กิวเมนต์ไม่ครบ: %s",
- "Invalid JSON config file: %s": "ไฟล์คอนฟิค JSON ไม่ถูกต้อง: %s",
- "Path to JSON config file": "พาทไฟล์คอนฟิค JSON",
- "Show help": "ขอความช่วยเหลือ",
- "Show version number": "แสดงตัวเลขเวอร์ชั่น",
- "Did you mean %s?": "คุณหมายถึง %s?"
-}
diff --git a/includes/search/node_modules/yargs/locales/tr.json b/includes/search/node_modules/yargs/locales/tr.json
deleted file mode 100644
index 0d0d2cc..0000000
--- a/includes/search/node_modules/yargs/locales/tr.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "Commands:": "Komutlar:",
- "Options:": "Seçenekler:",
- "Examples:": "Örnekler:",
- "boolean": "boolean",
- "count": "sayı",
- "string": "string",
- "number": "numara",
- "array": "array",
- "required": "zorunlu",
- "default": "varsayılan",
- "default:": "varsayılan:",
- "choices:": "seçimler:",
- "aliases:": "takma adlar:",
- "generated-value": "oluşturulan-değer",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "Seçenek dışı argümanlar yetersiz: %s bulundu, %s gerekli",
- "other": "Seçenek dışı argümanlar yetersiz: %s bulundu, %s gerekli"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "Seçenek dışı argümanlar gereğinden fazla: %s bulundu, azami %s",
- "other": "Seçenek dışı argümanlar gereğinden fazla: %s bulundu, azami %s"
- },
- "Missing argument value: %s": {
- "one": "Eksik argüman değeri: %s",
- "other": "Eksik argüman değerleri: %s"
- },
- "Missing required argument: %s": {
- "one": "Eksik zorunlu argüman: %s",
- "other": "Eksik zorunlu argümanlar: %s"
- },
- "Unknown argument: %s": {
- "one": "Bilinmeyen argüman: %s",
- "other": "Bilinmeyen argümanlar: %s"
- },
- "Invalid values:": "Geçersiz değerler:",
- "Argument: %s, Given: %s, Choices: %s": "Argüman: %s, Verilen: %s, Seçimler: %s",
- "Argument check failed: %s": "Argüman kontrolü başarısız oldu: %s",
- "Implications failed:": "Sonuçlar başarısız oldu:",
- "Not enough arguments following: %s": "%s için yeterli argüman bulunamadı",
- "Invalid JSON config file: %s": "Geçersiz JSON yapılandırma dosyası: %s",
- "Path to JSON config file": "JSON yapılandırma dosya konumu",
- "Show help": "Yardım detaylarını göster",
- "Show version number": "Versiyon detaylarını göster",
- "Did you mean %s?": "Bunu mu demek istediniz: %s?",
- "Positionals:": "Sıralılar:",
- "command": "komut"
-}
diff --git a/includes/search/node_modules/yargs/locales/zh_CN.json b/includes/search/node_modules/yargs/locales/zh_CN.json
deleted file mode 100644
index 257d26b..0000000
--- a/includes/search/node_modules/yargs/locales/zh_CN.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "Commands:": "命令:",
- "Options:": "选项:",
- "Examples:": "示例:",
- "boolean": "布尔",
- "count": "计数",
- "string": "字符串",
- "number": "数字",
- "array": "数组",
- "required": "必需",
- "default": "默认值",
- "default:": "默认值:",
- "choices:": "可选值:",
- "generated-value": "生成的值",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "缺少 non-option 参数:传入了 %s 个, 至少需要 %s 个",
- "other": "缺少 non-option 参数:传入了 %s 个, 至少需要 %s 个"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "non-option 参数过多:传入了 %s 个, 最大允许 %s 个",
- "other": "non-option 参数过多:传入了 %s 个, 最大允许 %s 个"
- },
- "Missing argument value: %s": {
- "one": "没有给此选项指定值:%s",
- "other": "没有给这些选项指定值:%s"
- },
- "Missing required argument: %s": {
- "one": "缺少必须的选项:%s",
- "other": "缺少这些必须的选项:%s"
- },
- "Unknown argument: %s": {
- "one": "无法识别的选项:%s",
- "other": "无法识别这些选项:%s"
- },
- "Invalid values:": "无效的选项值:",
- "Argument: %s, Given: %s, Choices: %s": "选项名称: %s, 传入的值: %s, 可选的值:%s",
- "Argument check failed: %s": "选项值验证失败:%s",
- "Implications failed:": "缺少依赖的选项:",
- "Not enough arguments following: %s": "没有提供足够的值给此选项:%s",
- "Invalid JSON config file: %s": "无效的 JSON 配置文件:%s",
- "Path to JSON config file": "JSON 配置文件的路径",
- "Show help": "显示帮助信息",
- "Show version number": "显示版本号",
- "Did you mean %s?": "是指 %s?",
- "Arguments %s and %s are mutually exclusive" : "选项 %s 和 %s 是互斥的",
- "Positionals:": "位置:",
- "command": "命令"
-}
diff --git a/includes/search/node_modules/yargs/locales/zh_TW.json b/includes/search/node_modules/yargs/locales/zh_TW.json
deleted file mode 100644
index e3c7bcf..0000000
--- a/includes/search/node_modules/yargs/locales/zh_TW.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "Commands:": "命令:",
- "Options:": "選項:",
- "Examples:": "例:",
- "boolean": "布林",
- "count": "次數",
- "string": "字串",
- "number": "數字",
- "array": "陣列",
- "required": "必須",
- "default": "預設值",
- "default:": "預設值:",
- "choices:": "可選值:",
- "aliases:": "別名:",
- "generated-value": "生成的值",
- "Not enough non-option arguments: got %s, need at least %s": {
- "one": "non-option 引數不足:只傳入了 %s 個, 至少要 %s 個",
- "other": "non-option 引數不足:只傳入了 %s 個, 至少要 %s 個"
- },
- "Too many non-option arguments: got %s, maximum of %s": {
- "one": "non-option 引數過多:傳入了 %s 個, 但最多 %s 個",
- "other": "non-option 引數過多:傳入了 %s 個, 但最多 %s 個"
- },
- "Missing argument value: %s": {
- "one": "此引數無指定值:%s",
- "other": "這些引數無指定值:%s"
- },
- "Missing required argument: %s": {
- "one": "缺少必須的引數:%s",
- "other": "缺少這些必須的引數:%s"
- },
- "Unknown argument: %s": {
- "one": "未知的引數:%s",
- "other": "未知的這些引數:%s"
- },
- "Invalid values:": "無效的選項值:",
- "Argument: %s, Given: %s, Choices: %s": "引數名稱: %s, 傳入的值: %s, 可選的值:%s",
- "Argument check failed: %s": "引數驗證失敗:%s",
- "Implications failed:": "缺少依賴的選項:",
- "Not enough arguments following: %s": "沒有提供足夠的值給此引數:%s",
- "Invalid JSON config file: %s": "無效的 JSON 設置文件:%s",
- "Path to JSON config file": "JSON 設置文件的路徑",
- "Show help": "顯示說明",
- "Show version number": "顯示版本",
- "Did you mean %s?": "是指 %s?",
- "Arguments %s and %s are mutually exclusive" : "引數 %s 和 %s 是互斥的"
-}
diff --git a/includes/search/node_modules/yargs/package.json b/includes/search/node_modules/yargs/package.json
deleted file mode 100644
index 428ead2..0000000
--- a/includes/search/node_modules/yargs/package.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "name": "yargs",
- "version": "16.2.0",
- "description": "yargs the modern, pirate-themed, successor to optimist.",
- "main": "./index.cjs",
- "exports": {
- "./package.json": "./package.json",
- ".": [
- {
- "import": "./index.mjs",
- "require": "./index.cjs"
- },
- "./index.cjs"
- ],
- "./helpers": {
- "import": "./helpers/helpers.mjs",
- "require": "./helpers/index.js"
- },
- "./yargs": [
- {
- "require": "./yargs"
- },
- "./yargs"
- ]
- },
- "type": "module",
- "module": "./index.mjs",
- "contributors": [
- {
- "name": "Yargs Contributors",
- "url": "https://github.com/yargs/yargs/graphs/contributors"
- }
- ],
- "files": [
- "browser.mjs",
- "index.cjs",
- "helpers/*.js",
- "helpers/*",
- "index.mjs",
- "yargs",
- "build",
- "locales",
- "LICENSE",
- "lib/platform-shims/*.mjs",
- "!*.d.ts"
- ],
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "devDependencies": {
- "@types/chai": "^4.2.11",
- "@types/mocha": "^8.0.0",
- "@types/node": "^14.11.2",
- "@wessberg/rollup-plugin-ts": "^1.3.2",
- "c8": "^7.0.0",
- "chai": "^4.2.0",
- "chalk": "^4.0.0",
- "coveralls": "^3.0.9",
- "cpr": "^3.0.1",
- "cross-env": "^7.0.2",
- "cross-spawn": "^7.0.0",
- "gts": "^3.0.0",
- "hashish": "0.0.4",
- "mocha": "^8.0.0",
- "rimraf": "^3.0.2",
- "rollup": "^2.23.0",
- "rollup-plugin-cleanup": "^3.1.1",
- "standardx": "^5.0.0",
- "typescript": "^4.0.2",
- "which": "^2.0.0",
- "yargs-test-extends": "^1.0.1"
- },
- "scripts": {
- "fix": "gts fix && npm run fix:js",
- "fix:js": "standardx --fix '**/*.mjs' && standardx --fix '**/*.cjs' && standardx --fix './*.mjs' && standardx --fix './*.cjs'",
- "posttest": "npm run check",
- "test": "c8 mocha ./test/*.cjs --require ./test/before.cjs --timeout=12000 --check-leaks",
- "test:esm": "c8 mocha ./test/esm/*.mjs --check-leaks",
- "coverage": "c8 report --check-coverage",
- "prepare": "npm run compile",
- "pretest": "npm run compile -- -p tsconfig.test.json && cross-env NODE_ENV=test npm run build:cjs",
- "compile": "rimraf build && tsc",
- "postcompile": "npm run build:cjs",
- "build:cjs": "rollup -c rollup.config.cjs",
- "postbuild:cjs": "rimraf ./build/index.cjs.d.ts",
- "check": "gts lint && npm run check:js",
- "check:js": "standardx '**/*.mjs' && standardx '**/*.cjs' && standardx './*.mjs' && standardx './*.cjs'",
- "clean": "gts clean"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/yargs/yargs.git"
- },
- "homepage": "https://yargs.js.org/",
- "standardx": {
- "ignore": [
- "build",
- "helpers",
- "**/example/**",
- "**/platform-shims/esm.mjs"
- ]
- },
- "keywords": [
- "argument",
- "args",
- "option",
- "parser",
- "parsing",
- "cli",
- "command"
- ],
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
-}
diff --git a/includes/search/node_modules/yargs/yargs b/includes/search/node_modules/yargs/yargs
deleted file mode 100644
index 8460d10..0000000
--- a/includes/search/node_modules/yargs/yargs
+++ /dev/null
@@ -1,9 +0,0 @@
-// TODO: consolidate on using a helpers file at some point in the future, which
-// is the approach currently used to export Parser and applyExtends for ESM:
-const {applyExtends, cjsPlatformShim, Parser, Yargs, processArgv} = require('./build/index.cjs')
-Yargs.applyExtends = (config, cwd, mergeExtends) => {
- return applyExtends(config, cwd, mergeExtends, cjsPlatformShim)
-}
-Yargs.hideBin = processArgv.hideBin
-Yargs.Parser = Parser
-module.exports = Yargs
diff --git a/includes/search/package-lock.json b/includes/search/package-lock.json
deleted file mode 100644
index 0d3c142..0000000
--- a/includes/search/package-lock.json
+++ /dev/null
@@ -1,2567 +0,0 @@
-{
- "name": "search",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "dependencies": {
- "fuse.js": "^6.6.2"
- },
- "devDependencies": {
- "pkg": "^5.8.1"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz",
- "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.18.2",
- "@jridgewell/gen-mapping": "^0.3.0",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.21.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz",
- "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.18.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz",
- "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz",
- "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-string-parser": "^7.18.10",
- "@babel/helper-validator-identifier": "^7.18.6",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.18",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
- "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
- "dev": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
- },
- "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "dev": true
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dev": true,
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
- "node_modules/bl/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "dev": true,
- "dependencies": {
- "mimic-response": "^3.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true,
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/detect-libc": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
- "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "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"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- }
- },
- "node_modules/fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true
- },
- "node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/fuse.js": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz",
- "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/github-from-package": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
- "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
- "dev": true
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "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"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
- "node_modules/into-stream": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz",
- "integrity": "sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==",
- "dev": true,
- "dependencies": {
- "from2": "^2.3.0",
- "p-is-promise": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
- "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
- "dev": true
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/multistream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/multistream/-/multistream-4.1.0.tgz",
- "integrity": "sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "once": "^1.4.0",
- "readable-stream": "^3.6.0"
- }
- },
- "node_modules/multistream/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
- "dev": true
- },
- "node_modules/node-abi": {
- "version": "3.40.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz",
- "integrity": "sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==",
- "dev": true,
- "dependencies": {
- "semver": "^7.3.5"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/node-fetch": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
- "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
- "dev": true,
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/p-is-promise": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz",
- "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pkg": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.8.1.tgz",
- "integrity": "sha512-CjBWtFStCfIiT4Bde9QpJy0KeH19jCfwZRJqHFDFXfhUklCx8JoFmMj3wgnEYIwGmZVNkhsStPHEOnrtrQhEXA==",
- "dev": true,
- "dependencies": {
- "@babel/generator": "7.18.2",
- "@babel/parser": "7.18.4",
- "@babel/types": "7.19.0",
- "chalk": "^4.1.2",
- "fs-extra": "^9.1.0",
- "globby": "^11.1.0",
- "into-stream": "^6.0.0",
- "is-core-module": "2.9.0",
- "minimist": "^1.2.6",
- "multistream": "^4.1.0",
- "pkg-fetch": "3.4.2",
- "prebuild-install": "7.1.1",
- "resolve": "^1.22.0",
- "stream-meter": "^1.0.4"
- },
- "bin": {
- "pkg": "lib-es5/bin.js"
- },
- "peerDependencies": {
- "node-notifier": ">=9.0.1"
- },
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
- }
- },
- "node_modules/pkg-fetch": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.4.2.tgz",
- "integrity": "sha512-0+uijmzYcnhC0hStDjm/cl2VYdrmVVBpe7Q8k9YBojxmR5tG8mvR9/nooQq3QSXiQqORDVOTY3XqMEqJVIzkHA==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.2",
- "fs-extra": "^9.1.0",
- "https-proxy-agent": "^5.0.0",
- "node-fetch": "^2.6.6",
- "progress": "^2.0.3",
- "semver": "^7.3.5",
- "tar-fs": "^2.1.1",
- "yargs": "^16.2.0"
- },
- "bin": {
- "pkg-fetch": "lib-es5/bin.js"
- }
- },
- "node_modules/prebuild-install": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
- "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
- "dev": true,
- "dependencies": {
- "detect-libc": "^2.0.0",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^3.3.0",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^4.0.0",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- },
- "bin": {
- "prebuild-install": "bin.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "node_modules/progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dev": true,
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "bin": {
- "rc": "cli.js"
- }
- },
- "node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
- "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"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.2",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
- "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.11.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve/node_modules/is-core-module": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
- "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/semver": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/simple-get": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
- "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "decompress-response": "^6.0.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/stream-meter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz",
- "integrity": "sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==",
- "dev": true,
- "dependencies": {
- "readable-stream": "^2.1.4"
- }
- },
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
- "dev": true,
- "dependencies": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dev": true,
- "dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tar-stream/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
- },
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true,
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
- },
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
- },
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- }
- },
- "dependencies": {
- "@babel/generator": {
- "version": "7.18.2",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz",
- "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.18.2",
- "@jridgewell/gen-mapping": "^0.3.0",
- "jsesc": "^2.5.1"
- }
- },
- "@babel/helper-string-parser": {
- "version": "7.21.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz",
- "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==",
- "dev": true
- },
- "@babel/helper-validator-identifier": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
- "dev": true
- },
- "@babel/parser": {
- "version": "7.18.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz",
- "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==",
- "dev": true
- },
- "@babel/types": {
- "version": "7.19.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz",
- "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==",
- "dev": true,
- "requires": {
- "@babel/helper-string-parser": "^7.18.10",
- "@babel/helper-validator-identifier": "^7.18.6",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dev": true,
- "requires": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "dev": true
- },
- "@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "dev": true
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.18",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
- "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
- "dev": true,
- "requires": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- },
- "dependencies": {
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "dev": true
- }
- }
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "requires": {
- "debug": "4"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
- },
- "at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true
- },
- "bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dev": true,
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "requires": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
- "dev": true
- },
- "cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "dev": true,
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "dev": true,
- "requires": {
- "mimic-response": "^3.1.0"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true
- },
- "detect-libc": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
- "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
- "dev": true
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
- "dev": true
- },
- "fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "requires": {
- "@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"
- }
- },
- "fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dev": true,
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- }
- },
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true
- },
- "fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "requires": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "fuse.js": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz",
- "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA=="
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "github-from-package": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
- "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
- "dev": true
- },
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "requires": {
- "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"
- }
- },
- "graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true
- },
- "ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
- "into-stream": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz",
- "integrity": "sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==",
- "dev": true,
- "requires": {
- "from2": "^2.3.0",
- "p-is-promise": "^3.0.0"
- }
- },
- "is-core-module": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
- "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
- "dev": true
- },
- "minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true
- },
- "mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "multistream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/multistream/-/multistream-4.1.0.tgz",
- "integrity": "sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==",
- "dev": true,
- "requires": {
- "once": "^1.4.0",
- "readable-stream": "^3.6.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
- "dev": true
- },
- "node-abi": {
- "version": "3.40.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.40.0.tgz",
- "integrity": "sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==",
- "dev": true,
- "requires": {
- "semver": "^7.3.5"
- }
- },
- "node-fetch": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
- "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
- "dev": true,
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "p-is-promise": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz",
- "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true
- },
- "pkg": {
- "version": "5.8.1",
- "resolved": "https://registry.npmjs.org/pkg/-/pkg-5.8.1.tgz",
- "integrity": "sha512-CjBWtFStCfIiT4Bde9QpJy0KeH19jCfwZRJqHFDFXfhUklCx8JoFmMj3wgnEYIwGmZVNkhsStPHEOnrtrQhEXA==",
- "dev": true,
- "requires": {
- "@babel/generator": "7.18.2",
- "@babel/parser": "7.18.4",
- "@babel/types": "7.19.0",
- "chalk": "^4.1.2",
- "fs-extra": "^9.1.0",
- "globby": "^11.1.0",
- "into-stream": "^6.0.0",
- "is-core-module": "2.9.0",
- "minimist": "^1.2.6",
- "multistream": "^4.1.0",
- "pkg-fetch": "3.4.2",
- "prebuild-install": "7.1.1",
- "resolve": "^1.22.0",
- "stream-meter": "^1.0.4"
- }
- },
- "pkg-fetch": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-3.4.2.tgz",
- "integrity": "sha512-0+uijmzYcnhC0hStDjm/cl2VYdrmVVBpe7Q8k9YBojxmR5tG8mvR9/nooQq3QSXiQqORDVOTY3XqMEqJVIzkHA==",
- "dev": true,
- "requires": {
- "chalk": "^4.1.2",
- "fs-extra": "^9.1.0",
- "https-proxy-agent": "^5.0.0",
- "node-fetch": "^2.6.6",
- "progress": "^2.0.3",
- "semver": "^7.3.5",
- "tar-fs": "^2.1.1",
- "yargs": "^16.2.0"
- }
- },
- "prebuild-install": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
- "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
- "dev": true,
- "requires": {
- "detect-libc": "^2.0.0",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^3.3.0",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^4.0.0",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- }
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true
- },
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dev": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- }
- },
- "readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
- "requires": {
- "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"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "dev": true
- },
- "resolve": {
- "version": "1.22.2",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
- "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.11.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "dependencies": {
- "is-core-module": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
- "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- }
- }
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "semver": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
- "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
- "dev": true
- },
- "simple-get": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
- "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
- "dev": true,
- "requires": {
- "decompress-response": "^6.0.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "stream-meter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz",
- "integrity": "sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ==",
- "dev": true,
- "requires": {
- "readable-stream": "^2.1.4"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true
- },
- "tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
- "dev": true,
- "requires": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- }
- },
- "tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "dev": true,
- "requires": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
- "yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "dev": true,
- "requires": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- }
- },
- "yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "dev": true
- }
- }
-}
diff --git a/includes/search/package.json b/includes/search/package.json
deleted file mode 100644
index 198ef6c..0000000
--- a/includes/search/package.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "scripts": {
- "build": "pkg --compress Brotli -t node16-linux-arm64 -o build/search-linux-arm64 index.js && pkg --compress Brotli -t node16-linux-x64 -o build/search-linux-x64 index.js && pkg --compress Brotli -t node16-mac-arm64 -o build/search-mac-arm64 index.js"
- },
- "dependencies": {
- "fuse.js": "^6.6.2"
- },
- "devDependencies": {
- "pkg": "^5.8.1"
- }
-}
diff --git a/index.php b/index.php
index b6f58c4..5c2bfe9 100644
--- a/index.php
+++ b/index.php
@@ -28,8 +28,8 @@ $version = file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/version");
<li style="opacity: .25;">28 avril : Activation de l'option d'impression des pages pour tous les utilisateurs de Delta. Le prix de l'abonnement Delta Plus sera abaissé à 2 pièces par mois (soit 0,50€ par mois).</li>
<li style="opacity: .25;">5 mai : Retrait de Delta Plus (et par conséquent du badge de profil et des relectures privilégiées). Les abonnements Delta Plus en cours de validité expireront.</li>
<li style="opacity: .25;">12 mai : Désactivation de l'option d'aide intégrée. À partir de ce jour, aucun support technique ne sera fourni aux utilisateurs de Delta.</li>
- <li style="font-weight: bold;">19 mai : Retrait du Pass Événements. Les intégrations dans des applications tierces utilisant le Pass Événements cesseront de fonctionner.</li>
- <li>26 mai : Retrait du système de recherche.</li>
+ <li style="opacity: .25;">19 mai : Retrait du Pass Événements. Les intégrations dans des applications tierces utilisant le Pass Événements cesseront de fonctionner.</li>
+ <li style="font-weight: bold;">26 mai : Retrait du système de recherche.</li>
<li>2 juin : Désactivation des albums de galerie. Étant donné qu'aucun album n'existe actuellement, la page est simplement retirée.</li>
<li>9 juin : Désactivation de toutes les fonctionnalités de modification de Delta. Pour modifier du contenu après cette date, contactez les administrateurs.</li>
<li>16 juin : Fermeture définitive de Delta</li>
diff --git a/login/index.php b/login/index.php
index 4a733a6..5039240 100644
--- a/login/index.php
+++ b/login/index.php
@@ -52,7 +52,7 @@ if (isset($_POST["p"]) && $_POST["p"] === "1") {
$_GET["method"] = "email";
$step = 1;
} else {
- if ($_SERVER["HTTP_HOST"] === "192.168.1.121:81") {
+ if ($_SERVER["SERVER_PORT"] === "81") {
$cont = false;
if (json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $users[$_POST["email"]] . ".json"), true)["admin"]) {
$cont = true;
diff --git a/search/index.php b/search/index.php
deleted file mode 100644
index 8c63f7a..0000000
--- a/search/index.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-if (isset($_GET['q']) && trim($_GET['q']) === "") {
- header("Location: /search");
- die();
-}
-
-$title = "lang_search_title";
-require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php";
-require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php";
-require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
-
-if (isset($_GET['q'])) {
- $_GET['q'] = trim(strtolower(preg_replace("/ +/m", " ", preg_replace("/[^a-zéèâêàùçA-Z0-9-_'\"+=]/m", " ", $_GET['q']))));
-
- $scored = search($_GET['q']);
-}
-
-?>
-
-<div class="container">
- <br><br>
- <form>
- <p>
- <input name="q" autocapitalize="none" autocomplete="off" spellcheck="false" <?= !isset($_GET['q']) ? "autofocus" : "" ?> class="form-control" placeholder="<?= l("lang_search_placeholder") ?>" value="<?= $_GET['q'] ?? "" ?>">
- </p>
- <button class="btn btn-outline-primary"><?= l("lang_search_submit") ?></button>
- </form>
-
- <?php if (isset($_GET['q'])): ?>
- <hr>
-
- <?php if (count($scored) > 0): ?>
- <div class="list-group">
- <?php foreach ($scored as $entry): ?>
- <a href="<?= $entry["value"]["url"] ?>" class="list-group-item-action list-group-item">
- <p style="margin-bottom:.5rem;">
- <img class="icon" src="/icons/<?= $entry["value"]["type"] ?>.svg" style="margin-right:5px;"><b style="vertical-align: middle;"><?= $entry["value"]["name"] ?></b><span class="search-debug" style="display: none;"> [<?= $entry["score"] ?>; <?= implode(", ", $entry["breakdown"]) ?>]</span>
- </p>
- <span><?= trim($entry["value"]["extract"]) !== "" ? substr(trim($entry["value"]["extract"]), 0, 150) . (strlen(trim($entry["value"]["extract"])) > 150 ? "…" : "") : $entry["value"]["name"] ?></span>
- </a>
- <?php endforeach; ?>
- </div>
- <?php else: ?>
- <span class="text-muted"><?= l("lang_search_none") ?></span>
- <?php endif; ?>
-
- <?php endif; ?>
- <br><br>
-</div>
-
-<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/footer.php"; ?> \ No newline at end of file
diff --git a/version b/version
index e0f92fb..c652d02 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-5.3.10
+5.3.11